January 3

Как подтверждается транзакция в блокчейне

Для подтверждения транзакций в блокчейне существует несколько механизмов консенсуса. Самый популярный — Proof of Work (PoW), именно он реализован в Bitcoin, Litecoin и большинстве других блокчейнов. Механизм консенсуса необходим для того, чтобы у всех узлов сети была одна версия блокчейна.

Важнейшее для работы блокчейна понятие — хеш-функция. Это математическая функция, которая превращает любой объем данных в число (хеш). Из хеша восстановить исходные данные невозможно. При этом если изменить в исходных данных хотя бы один бит, хеш тоже изменится до неузнаваемости.

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

Когда вы отправляете транзакцию в блокчейн, она рассылается по всем узлам-майнерам (или валидаторам) и попадает к ним в мемпулы (очереди транзакций). Каждый майнер собирает в черновой блок для блокчейна несколько тысяч транзакций и пытается его «намайнить»:

  1. Все транзакции в блоке суммируются, затем к этой сумме добавляется хеш предыдущего (конечного) блока в блокчейне и из всего этого вычисляется новый хеш.
  2. Узел сравнивает полученный хеш с текущей сложностью. Сложность — это такой параметр, число, с которым сравнивается каждый вычисленный хеш. Если хеш оказался меньше сложности, значит, майнеру повезло — он намайнил блок. Если хеш больше сложности, майнер добавляет к исходным данным блока единицу и снова вычисляет хеш. И так миллионы раз в секунду.
  3. Как только один из узлов намайнил новый блок, он рассылает его по всем другим узлам. Все другие майнеры тут же прекращают попытки намайнить свои блоки, включают новый блок в свои версии блокчейна и начинают формировать следующий черновой блок. После того как новый блок появится в блокчейнах нескольких узлов, все транзакции в нем будут считаться подтвержденными.
Простыми словами: при создании списка новых транзакций валидирующий сервер должен решить методом перебора сложную математическую задачу. При удачном нахождении решения эти транзакции попадают в общую сеть, при этом другие серверы прерывают свой процесс перебора, включают новые транзакции в свою копию блокчейна и начинают новый процесс перебора.

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

Для разрешения такого конфликта и придуманы механизмы консенсуса. Работает это просто: любой узел сети, обнаружив ветвление блокчейна, отбросит ту ветвь, которая короче, то есть в которой меньше блоков. Получается, что для того, чтобы легитимной стала сфальсифицированная ветка, злоумышленник должен майнить свои блоки быстрее всей остальной сети. Механизм майнинга делает это очень и очень затратным по вычислительной мощности.

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

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

Tangem Холодный Криптокошелек - У хакеров нет доступа к кошельку, к нему не возможно подключиться удаленно!

Купить Tangem Wallet со скидкой 10 %

https://tangem.com/pricing/?promocode=7M6NXN

Tangem Холодный Криптокошелек - У хакеров нет доступа к кошельку, к нему не возможно подключиться удаленно!

Купить Tangem Wallet со скидкой 10 %

https://tangem.com/pricing/?promocode=7M6NXN