Допустим, майнер Мо добывает блок, который принимается сетью. За это Мо предположительно получает биткойны на свой кошелек. Итак, скажем, Мо «тратит» этот биткойн, покупая у Керли очки для защиты от взлома, даже несмотря на то, что его недавно добытый блок находится на вершине цепочки и не имеет блоков на вершине. Керли отправляет очки Мо через FedEx. Затем другой майнер, Ларри, добывает более длинный блок, который заменяет первоначальный блок, добытый Мо. Итак, теперь у Ларри есть биткойны. Значит, транзакция между Мо и Керли исчезает, а Керли остается без пары очков и биткойнов?
Да, транзакции Мо (как создание монеты, так и платежная транзакция) становятся недействительными, если Ларри добывает конфликтующий блокчейн, в котором больше работы (почти такой же, как у самого длинного, но не совсем), чем в блокчейне Мо. Таким образом, Керли остался бы без оплаты, а Мо получил бы бесплатную пару очков.
Теперь, если бы Мо и Ларри были одним и тем же человеком, это была бы атака Финни, когда Мо / Ларри намеренно обманывают Керли.
Конечно, есть встроенные средства защиты от этого. Во-первых, Мо не может тратить только что добытые биткойны, пока не будет добыто 100 блоков поверх его блока. Но даже если он подождет 100 блоков перед транзакцией, Керли все равно может быть обманут.
Решение этой проблемы состоит в том, чтобы Curly дождался платежной транзакции, чтобы получить несколько подтверждений. При ожидании подтверждений количество хешрейта, которое потребуется Ларри, чтобы изменить блокчейн, чтобы он не включал транзакцию Мо, значительно увеличивается. После нескольких блоков это практически невозможно, и поэтому можно сказать, что транзакция постоянна и не может исчезнуть.
Джестин
Дэйв
Эндрю Чоу
Дэйв
Эндрю Чоу
Дэйв
Эндрю Чоу