Двойная трата — что это значит?

Значение

Проблема двойной траты (двойного расходования) появилась гораздо раньше биткоина и блокчейна. Суть ее заключается вот в чем: если вы не производите здесь и сейчас обмен одной вещи на другую (включая деньги), а обещаете оплату в дальнейшем или предоставляете некий документ, то есть вероятность, что обещание вы нарушите. Дадите его одновременно двум, а то и большему количеству людей. Или документ с таким обещанием (расписку, чек, договор) выдадите двум контрагентам, хотя обещанный в оплату актив — один! Так возникает двойная трата. Как со всем этим боролись в «доблокчейновую» эпоху? Судились. По поводу необеспеченных чеков и купчих. Со временем поняли, что для особо ценных активов нужно составлять реестры и регистрировать в них смену собственника ценного актива. То есть создали многоранговые сети. Сети, где есть администратор, который может внести изменение в реестр и заверить его. Нельзя сказать, что это стало идеальным решением. Ведь остается возможность подкупить регистратора, а если это компьютерная сеть — взломать главный сервер и получить доступ к соответствующим правам. В блокчейне биткоина эта задача решается иначе. Мы помним, что блокчейн биткоина — сеть одноранговая. Вносить изменения имеют право все участники сети, выполняющие работу — майнеры. Они конкурируют между собой за это право. Конкуренция заключается в том, что каждый из них решает сложную математическую задачу. Кто решит первым — тот сформирует новый блок, наполнив его верифицированными транзакциями, и получит за это вознаграждение. После того, как транзакция попала в блок — любые другие ее копии блокчейн будет отвергать. Если в результате этой работы формируются конкурирующие блоки (потому что, поскольку сеть децентрализованная, совершенно необязательно транзакция, посланная ранее, будет включена в блок быстрее, чем такая же транзакция, отправленная на несколько секунд позже) и блокчейн ветвится, то «отмирают» те ветви, которые короче, то есть транзакции в которых подтвердило меньшее количество узлов. В этом случае блок «отмершей» ветви считается недействительным и все транзакции, входившие в него, снова должны встать в очередь, чтобы их включили в новый блок. И если среди таких транзакций окажется копия той, что уже была включена в уже созданный блок, узлы ее не примут, а следовательно, двойная трата не произойдет.

Похожие записи