Мы используем файлы cookie, чтобы обеспечить удобство работы с сайтом
OK
#Smartcontracts
#FoilNetwork

Основы блокчейна на примере FOIL: часть 1. Консенсус

Январь 28, 2022

Привет, друзья!

В связи с тем, что у нас часто спрашивали, как вообще работает блокчейн, что за звери такие “форджинг” и “стейкинг”, я решил максимально понятно это всё объяснить. Примеры будут максимально простые и понятные. Поехали!

Для начала, определим самое понятие “блокчейн”.
Блокчейн — распределенная, децентрализованная база данных. Для упрощения понимания, представим эту самую базу данных, в виде таблицы Excel.
Excel’еподобное изображение блока в блокчейне
Основные отличия от таблицы Excel — именно в распределенности и децентрализации. По факту, вы можете представить блокчейн как некую таблицу, одинаковую на всех устройствах где она есть. В эту таблицу вносятся записи сколько средств есть на каждом счету у пользователей, сколько было отправлено и куда.

Если очень упрощенно, можете представить, как список, в котором записано сколько вы получили денег, сколько потратили на продукты и так далее.

“Что же мешает мне нарисовать в этой таблице себе 100500 миллионов?” — спросите вы.

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

Как же тогда это работает?
Очень просто. Сеть следует правилам, заданным при её создании. То есть корректная запись в таблице не может содержать транзакцию, превышающую баланс счёта, или изменение баланса счёта без валидной транзакции. Это будет противоречить условиям функционирования и сеть такое изменение просто “не примет”.
Кто же проверяет выполнение этих условий?
Пользователи. Точнее их кошельки, работающие в качестве полных узлов (нод) блокчейна.

В зависимости от block time (время сборки блока), в блок помещаются все транзакции за это время и вся дополнительная информация, которая может быть добавлена, после чего блок должен проверить (валидировать) один из кошельков.
То, каким образом выбирается этот кошелек, и называется механизмом консенсуса.

В сети Bitcoin, кошелек-валидатор выбирается посредством механизма POW (Proof Of Work). Это значит, что кошельку для подтверждения блока, нужно предварительно предъявить доказательство проделанной работы (в данном случае, вычислений).
Более подробно написано на wiki и хабре, немного процитирую.
В случае доказательства работы хеш сообщения, объединенного со специальным полем (nonce), должен быть меньше определенного значения (или начинаться с определенного числа нулевых битов). Nonce не несет смысла для самого сообщения — это поле перебирается автором доказательства, пока не будет найдено подходящее значение. Название «доказательство работы» отражает тот факт, что для нахождения nonce надо совершить вычислительную работу, ожидаемое количество которой измеримо. Например, если нужно, чтобы первые 16 бит хеша равнялись нулю, то в среднем нужно перебрать 65536 значений nonce.

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

Потому что каждый блокчейн вознаграждает валидаторов в зависимости от собственных условий. В сети BTC, например, валидатор получает фиксированную награду в BTC за собранный блок.

Это самый простой способ, но и самый уязвимый. Предположим, что у вас есть 51% и более вычислительной мощности всей сети. Это значит, что вы сможете валидировать целые цепочки блоков, в том числе с измененными вами данными. Внести транзакцию, которую пользователь никогда не делал? Пожалуйста. Ну и сама идея что тысячи устройств, тратящих мегаватты энергии, работают просто для возможности выбрать кошелек-валидатор…

Не слишком экологично звучит.
Поэтому в FOIL данный механизм не используется.

Первый механизм консенсуса, который используется в FOIL — POS (Proof of Stake). В отличии от механизма POW, пользователям в данном случае не требуется выполнять сложные вычисления. Достаточно просто иметь на балансе какое-то определенное количество внутренней валюты. Выбор кошелька-валидатора при этом происходит в несколько этапов.

Вначале выбираются кошельки, соответствующие минимальным требованиям (в сети FOIL это наличие 50000 токенов FOIL на счету).
Далее сортируем кошельки по количеству внутренней валюты на счетах. Потом по определенному алгоритму выбираем кошелек-победитель, при этом, кошельки с бОльшим количеством внутренней валюты имеют более высокие шансы им стать.

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

“Но ведь 50000 FOIL для стейкинга — это довольно много!” — скажете вы.

Да. И, чтобы повысить децентрализацию сети, а также дать возможность поучаствовать в процессе всем желающим, был придуман механизм LPOS (Leased Proof of Stake).

Работает он довольно просто. В сети FOIL есть транзакции вида “Выдать в долг” (Lease). Передаваемые средства при этом, получатель не может потратить, по факту, он может только держать их у себя на балансе, а отправитель может их вернуть в любой момент.

Но… Эти средства учитываются алгоритмом при вычислении кошелька-валидатора.
То есть у пользователя может быть примерно 1000 собственных токенов FOIL и 49000 выданных ему в долг и, при этом, он сможет валидировать блоки. Такой процесс называется форджингом (forging). Отличие от стейкинга в том, что это процесс командный, а не одиночный и имеет несколько особенностей.

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

Во-вторых, владелец форджинг-кошелька (далее — форджинг-пул) может назначить дополнительную комиссию.

Зачем это нужно? Очень просто. Форджинг-пулы, где их владельцы имеют достаточно большую долю собственных средств, будут приносить вкладчикам существенно меньше дохода, и наоборот, пулы в которых все средства — от вкладчиков, наиболее им выгодны. Но владелец самого пула при этом вынужден держать включенной полную ноду 24/7. Отсюда и возможность установить небольшую комиссию, компенсируя тем самым собственные затраты на эксплуатацию полной ноды.

Уф. На сегодня мы обсудили основные механизмы консенсуса в сети FOIL Network и, возможно, стали чуть лучше понимать, как это всё работает.
#dex
#defi
#nft
#nftstorage
#nftmarketplace
#foil
#foilnetwork
#crypto
#cryptocurrency
#doge
#dogecoin
Foil Network
Актуальные новости
Подпишись!
И следи за нашими новостями

FOIL.Network

Ресурсы
Присоединяйтесь
Скачивайте приложение
Политика конфиденциальности
© 2021 FOILnetwork™. Все права защищены.
Становитесь партнёрами!
Нажимая на кнопку, вы принимаете политику конфиденциальности
Социальные сети FOIL Network
FOIL создает экосистему, которая расширяет возможности и вознаграждает сообщество за их вклад. Присоединяйтесь к нам!
HDE