Блок был. Потом его не стало. А деньги клиенту уже показали.

Бывает, что два майнера находят блок почти одновременно. Часть сети идёт за одним, часть за другим. Потом одна цепочка обгоняет — и вторую просто выкидывают. Это реорганизация, реорг.

Транзакции из выкинутого блока обычно не теряются: возвращаются в мемпул и попадают в следующий. Но если за это время кто-то успел потратить ту же монету другой транзакцией, в новой цепочке окажется она. Вот вам и двойная трата.

Поэтому одно подтверждение — это ставка, а не гарантия. Каждый новый блок сверху делает откат дороже и менее вероятным. Сколько ждать — зависит от сети и суммы. И это число должно быть в регламенте, а не в голове разработчика.

В сетях с финальностью есть момент, после которого откатить уже нельзя (про Ethereum я писал в сентябре).

А в пятницу — история, как цепочку Bitcoin однажды откатили по договорённости людей.

💬 Сколько подтверждений ждёте вы — и кто это число придумал?

#винтик

Блок был. Потом его не стало. А деньги клиенту уже показали.
Бывает, что два майнера находят блок почти одновременно. Часть сети идёт за одним, часть за другим | Сетка — социальная сеть от hh.ru