Возможная ошибка в разделе «Расчеты по белой бумаге»?

В разделе 11 представлены расчеты вероятности двойных расходов, P (z, q), учитывая относительную хэш-скорость атакующего q и количество блоков z .

 Расчеты

P (z, q) можно понять только, зная точно, что представляет z. В разделе «Расчеты»:

  

Получатель ждет, пока транзакция не будет добавлена ​​в блок, а после него будут связаны блоки z. Он не знает точного количества прогресса, которое совершил злоумышленник, но при условии, что честный блоки приняли среднее ожидаемое время на блок, потенциальный прогресс атакующего будет распределением Пуассона с ожидаемым значением ... [мой акцент]

Очевидно, что транзакция имеет одно подтверждение. После этого транзакция «была добавлена ​​в блок» и после нее были связаны блоки zero . Другими словами, транзакция размещается на кончике активной цепочки.

Тем не менее вероятность того, что эта транзакция будет потрачена вдвое, составляет 100%, независимо от хэш-мощности атакующего. Фактически, вероятность равна 100% даже без активного атакующего.

Это противоречие подкрепляется уравнением Сатоши дает:

 введите описание изображения здесь>> </a> </p>

<p> Когда z = 0, P = 1.0. </p>

<p> Что мне не хватает? </p>

<p> Как минимум один ответ на этот вопрос утверждает, что z = 0 означает, что транзакция неподтверждена. Это противоречит цитируемому параграфом I. </p>

<p> Кажется, что ошибка в разделе «Расчеты» приводит к противоречию. Я ищу ответ, который указывает на ошибку или объясняет, что я неправильно интерпретирую. </p>

<p> <strong> ИЗМЕНИТЬ </STRONG> </p>

<p> Один ответ предлагает предположение, что Сатоши, возможно, говорил о нападении Финни. Другими словами, злоумышленник уже предварительно запрограммировал блок перед попыткой двойных расходов. Предполагая, что злоумышленник может распространять блоки быстрее, чем сеть, вероятность успеха будет равна 100%. В этом случае злоумышленник и сеть привязаны к z = 0, и при более быстром распространении блоков преимущество распространяется на злоумышленника. </p>

<p> Однако раздел «Вычисления» явно запрещает атаку Финни. В частности, злоумышленник не запустил блоки до атаки: </p>

<blockquote>
  <p> Получатель генерирует новую пару ключей и дает открытый ключ отправителю незадолго до подписания. Это препятствует тому, чтобы отправитель заранее подготовил цепочку блоков, работая над ним непрерывно, пока ему не повезет, чтобы пройти достаточно далеко вперед, а затем выполнить транзакцию в этот момент. После отправки транзакции нечестный отправитель начинает тайно работать в параллельной цепочке, содержащей альтернативную версию своей транзакции. </p>
</blockquote>

<p> Я считаю, что хотя бы часть проблемы является математической. В частности, Сатоши дает значение λ как: </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> Когда  z  = 0, λ = 0. </p>

<p> Возвращаясь к исходному выводу Сатоши о вероятности двойного расчёта P (z, q): </p>

<p> <a href= введите описание изображения здесь>> </a> </p>

<p> λ = 0 означает, что каждый член равен нулю, независимо от хэш-скорости. Другими словами, злоумышленник никогда не может удвоить расходы. </p>

<p> Это противоречит «перестроенной» форме уравнения, что дает вероятность 100%, как указано выше. </p>

<p> Я не специалист по математике, но из того, что я могу сказать, две формы P (z, q), которые дает Сатоши, эквивалентны  не  для  z  = 0. Фактически, они дают противоположный ответ: </p>

<ul>
<li> в одном случае злоумышленник всегда терпит неудачу, P (z, q) = 0 </li>
<li> в другом случае злоумышленник получает 100% -ную вероятность, P (z, q) = 1. </li>
</ul>
<p> В любом случае относительная хеш-скорость атакующего не влияет на анализ, когда  z  = 0. </p>

<p> Я понимаю, что появились другие методы лечения этой проблемы. На данный момент я просто заинтересован в устранении очевидной проблемы с анализом белой бумаги для  z  = 0. </p>

<p> Возможно ли это, и если да, то как я могу это сделать? </p></body></html>

5 голосов | спросил Rich Apodaca 28 Mayam18 2018, 02:22:32

2 ответа


3

Один из способов интерпретировать это - это ошибка.

Более благотворительная интерпретация заключается в том, что существуют два неустановленных предположения:

  1. Атакующий выполняет финни-подобную атаку - то есть, заработал блок перед попыткой транзакции. Таким образом, в то время как z = 0 означает, что у честной сети есть 1 блок, так же как и злоумышленник.

  2. Злоумышленник выигрывает гонки размножения. Поэтому, если есть блок злоумышленника листа с транзакцией с двумя расходами и честный блок листа с одинаковой высотой с исходной транзакцией, транзакция злоумышленника будет принята.

Вместе они дают 100% шанс успеха для злоумышленника, если есть только 1 подтверждение.

В моей собственной бумаге по этому вопросу я прямо заявил о предположении, что злоумышленник уже имеет один блок (при удалении другого упрощающего предположения).

ответил Meni Rosenfeld 31 Maypm18 2018, 19:56:18
2
  

Значит ли z = 0, что транзакция еще не подтверждена или что она подтверждена, но ее блок еще не расширен?

Z = 0 означает, что транзакция еще не подтверждена. Вероятность равна 1, потому что в соответствии с предположениями, сделанными для этих расчетов, неподтвержденные транзакции всегда могут считаться небезопасными и удваивать затраты злоумышленником независимо от их хэшета.

ответил Andrew Chow 28 Mayam18 2018, 08:16:38

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132