Читать книгу Системы распределённого реестра. Блокчейн - - Страница 3
Системы распределенного реестра. Блокчейн
Майнинг. Консенсус
ОглавлениеНе важно, какой вид блокчейна рассматривается, в любом случае каждая транзакция должна быть подтверждена. Для подтверждения транзакций проводится проверка математической верности данных и выстраивание транзакций в блоки. Транзакция, получившая подтверждение, уже не может быть отменена или проведена вторично.
Основным механизмом записи новых транзакций в цепочку блоков в открытых блокчейнах является механизм майнинга (от англ. Mine – добывать полезные ископаемые). Это подход основан на организации конкуренции участников сети, которые выполняют математические операции для нахождения хеша нового блока и конкурируют по времени выполнения такого подбора. В случае, когда участники-«майнеры» увеличивают (или уменьшают) свои вычислительные мощности, сеть регулирует сложность алгоритма таким образом, чтобы поддерживать примерно одинаковое время формирования новых блоков в цепочке. При таком подходе «сгенерировать» блок, соответствующий условию подтверждения, достаточно сложно. Необходимо перебрать огромное количество «случайных» комбинаций, пока блок не получит статус подтвержденного.
За каждый подтвержденный блок в публичном блокчейне выдаётся вознаграждение в валюте конкретного блокчейна. Этот процесс получил название майнинга.
Майнинг – деятельность по созданию (генерации) новых блоков для обеспечения функционирования сети блокчейн, сводится к серии вычислений с перебором параметров для нахождения хеш-функции с заданными свойствами.
Майнеры – узлы, которые генерируют блоки и получают награду за каждый проверенный блок, прошедший подтверждение.
С помощью такого параметра, как сложность (Difficulty Target), в блокчейн обеспечивается определённая скорость (время) подтверждения транзакций. К примеру, сеть Биткоин регулирует сложность майнинга в проверке блоков каждые 2016 блоков. Сложность автоматически регулируется так, чтобы поддерживать время проверки (верификации) блоков на уровне 10 минут.
В процессе подтверждения транзакций майнеры (разумеется, не люди, а их вычислительные мощности) соревнуются в своеобразной «хеш-игре». Чтобы выиграть «игру», майнер должен угадать число, называемое «нонс» (nonce), которое в комбинации со всеми предыдущими данными блокчейна даёт определённый хеш.
Угадывание происходит простым перебором значений нонс, для обеспечения безопасности нужно «работать», то есть производить доказательства работы (Proof of work, PoW).
За подтверждение транзакций майнеры в криптовалютных блокчейнах могут получать вознаграждение в виде какой-то криптовалюты. Если же блокчейн используется для других целей (не связан с генерацией валюты) – вознаграждение майнера может не существовать или выражаться в какой-то другой форме.
Существуют и другие алгоритмы консенсуса, которые не требуют производить интенсивные расчеты, например:
•
Proof-of-Stake (PoS)