Фальсифицируемость блокчейна
Каждый из хороших узлов в блокчейне, естественно, не будет пытаться отразить в своих блоках мошеннические транзакции.
Таким образом, существует два типа мошенничества, которые может совершить вредоносный узел
- Фальсификация истории транзакции с целью возврата уплаченной суммы
- Монополизировать новые монеты, которые будут выпущены в будущем.
Поскольку блокчейн считает самую длинную цепочку правильной, соревнование между правильной и неправильной цепочками можно представить как случайную прогулку.
Если длина правильной цепочки составляет один блок, то хорошие узлы находятся на шаг впереди, а если длина неправильной цепочки составляет один блок, то неправильные узлы находятся на шаг впереди.
Вероятность того, что длина неправильной цепи догонит и перегонит длину правильной цепи, похожа на проблему банкротства азартного игрока.
Проблема банкротства азартного игрока - это теория о том, что вероятность разорения увеличивается, когда азартные игроки продолжают ставить одну и ту же сумму денег.
Эта теория доказывает, что азартный игрок с небольшим количеством денег не может выиграть у организации с огромным количеством денег.
Биткойн-тезис доказывает, что вероятность того, что длина нелегальной цепочки может догнать длину правильной цепочки в любой момент времени, становится экспоненциально меньше по мере увеличения длины правильной цепочки (по мере увеличения количества блоков).
Если P > q (количество хороших узлов перевешивает количество плохих узлов), то qz становится экспоненциально меньше по мере увеличения количества блоков в правильной цепочке.
Поэтому узлы-изгои должны как можно быстрее ликвидировать разрыв с правильной цепочкой.
Check your achievement
Click the “Tick” button
if you understand the lesson so far.
Окончательность сделки
Теперь мы узнаем, сколько времени необходимо для снижения вероятности фальсификации транзакции почти до 0%.
Такое состояние, когда вероятность фальсификации транзакции составляет почти 0%, называется окончательностью.
Например, предположим, что отправителем транзакции является узел-изгой, а получателем - хороший узел.
Цель состоит в том, чтобы мошеннический узел отправил поддельную биткоин-транзакцию на хороший узел, а хороший узел заметил ее через определенное время, когда уже будет слишком поздно.
Узел-изгой начинает формировать блоки цепи-изгоя одновременно с отправкой фальшивой транзакции биткоина.
Правильный узел не имеет возможности узнать, насколько далеко неавторизованный узел расширил неавторизованную цепочку.
В этот момент, если правильная цепочка формирует блоки, как обычно, благодаря регулировке сложности, длина блока, который может расширить узел-изгой, будет соответствовать ожиданию следующего распределения Пуассона
Вероятность того, что мошенническая цепочка догонит правильную, равна вероятности того, что мошеннический узел завершил формирование k блоков в точке, где каждый узел начинает генерировать цепочку, умноженной на вероятность догона с разницей z-k (количество блоков, подключенных к правильной цепочке - количество блоков, подключенных к мошеннической цепочке). ) к вероятности догнать, а затем просуммировать результат по всем k.
Приведенное выше уравнение, переведенное в код на языке Си, выглядит следующим образом
Давайте попробуем применить некоторые числа к этому выражению.
Как вы можете видеть выше, вероятность того, что плохая цепочка догонит хорошую, уменьшается экспоненциально по мере увеличения z.
Так сколько же блоков на самом деле нужно, чтобы достичь окончательного результата?
Если мы предположим, что состояние финальности достигается, когда вероятность того, что неправильная цепочка догонит правильную, меньше 0,1%, то количество необходимых блоков будет следующим
Это означает, что вероятность того, что мошенническая цепочка догонит правильную цепочку, может быть снижена до менее чем 0,1%, если к правильной цепочке подключено не менее шести блоков.
Другими словами, если после формирования нового блока впоследствии образуется шесть блоков, то он считается завершенным.
В случае Bitcoin время формирования блока регулируется Сложностью и составляет примерно раз в 10 минут, что означает, что окончательный результат достигается через 10 минут x 6 блоков = 60 минут после формирования нового блока.
Check your achievement
Click the “Tick” button
if you understand the lesson so far.