В КУРСЕ ЛИ ТЫ О ПРАВИЛАХ БЕЗОПАСНОСТИ ХВОСТА БЛОКЧЕЙНА?
⚡️Представим ситуацию, в которой два майнера начинают рассылать два абсолютно верных блока по сети. Эти блоки гарантировано отличаются, ведь даже если они чудом выбрали одинаковые транзакции из пула, составили абсолютно идентичные деревья и угадали одинаковое рандомное число (nonce), их хеши всё равно будут разными, так как каждый пропишет в блок свой номер кошелька для вознаграждения.
⚡️Теперь у нас есть два валидных блока и снова возникает проблема кого считать первым. Как поведет себя сеть в таком случае?
⚡️В алгоритме блокчейна прописано, что участники сети просто принимают первый правильный ответ, который до них дошел. Дальше они живут исходя из собственной картины мира.
⚡️Оба майнера получат своё вознаграждение, а все остальные начинают майнить, опираясь на последний ими лично полученный блок, отбрасывая все остальные повторно-верные. В сети появляется две версии правильного блокчейна. Такой вот парадокс.
⚡️Это штатная ситуация, в которой помогает теория вероятностей. Сеть функционирует в таком вот раздвоенном состоянии, пока кто-то из майнеров не находит следующий блок к одной из этих цепочек.
⚡️Как только такой блок находится и вставляется в цепочку, она становится длиннее и включается одно из соглашений сети блокчейн: при любых условиях, самая длинная цепочка блоков принимается как единственно верная для всей сети.
⚡️Короткая цепочка, несмотря на всю свою правильность, отвергается всеми участникам сети. Транзакции из неё возвращаются в пул (если они не были подтверждены в другой), а их обработка начинается заново. У майнера пропадает его вознаграждение, потому что его блока больше не существует.
⚡️С ростом сети такие совпадения из «очень маловероятных» переходят в разряд «ну иногда бывает». Старожилы рассказывают, что бывали случаи, когда отбрасывалась цепочка сразу из четырех блоков.
⚡️Из-за этого были придуманы три правила безопасности хвоста блокчейна (end of chain insecurity):
⚡️1. Вознаграждениями за майнинг, можно пользоваться только спустя еще 20 подтвержденных блоков после получения. Для биткоина это около трёх часов.
⚡️2. Если вам переслали биткоины, использовать их в качестве инпутов в новых транзакциях можно только спустя 1-5 блоков.
⚡️3. Правила 1 и 2 всего лишь прописаны в настройках каждого клиента. Никто не следит за их соблюдением. Но закон о самой длинной цепочке всё равно уничтожит все ваши транзакции, если вы попытаетесь обмануть систему, не соблюдая их.
#Блокчейн
⚡️Представим ситуацию, в которой два майнера начинают рассылать два абсолютно верных блока по сети. Эти блоки гарантировано отличаются, ведь даже если они чудом выбрали одинаковые транзакции из пула, составили абсолютно идентичные деревья и угадали одинаковое рандомное число (nonce), их хеши всё равно будут разными, так как каждый пропишет в блок свой номер кошелька для вознаграждения.
⚡️Теперь у нас есть два валидных блока и снова возникает проблема кого считать первым. Как поведет себя сеть в таком случае?
⚡️В алгоритме блокчейна прописано, что участники сети просто принимают первый правильный ответ, который до них дошел. Дальше они живут исходя из собственной картины мира.
⚡️Оба майнера получат своё вознаграждение, а все остальные начинают майнить, опираясь на последний ими лично полученный блок, отбрасывая все остальные повторно-верные. В сети появляется две версии правильного блокчейна. Такой вот парадокс.
⚡️Это штатная ситуация, в которой помогает теория вероятностей. Сеть функционирует в таком вот раздвоенном состоянии, пока кто-то из майнеров не находит следующий блок к одной из этих цепочек.
⚡️Как только такой блок находится и вставляется в цепочку, она становится длиннее и включается одно из соглашений сети блокчейн: при любых условиях, самая длинная цепочка блоков принимается как единственно верная для всей сети.
⚡️Короткая цепочка, несмотря на всю свою правильность, отвергается всеми участникам сети. Транзакции из неё возвращаются в пул (если они не были подтверждены в другой), а их обработка начинается заново. У майнера пропадает его вознаграждение, потому что его блока больше не существует.
⚡️С ростом сети такие совпадения из «очень маловероятных» переходят в разряд «ну иногда бывает». Старожилы рассказывают, что бывали случаи, когда отбрасывалась цепочка сразу из четырех блоков.
⚡️Из-за этого были придуманы три правила безопасности хвоста блокчейна (end of chain insecurity):
⚡️1. Вознаграждениями за майнинг, можно пользоваться только спустя еще 20 подтвержденных блоков после получения. Для биткоина это около трёх часов.
⚡️2. Если вам переслали биткоины, использовать их в качестве инпутов в новых транзакциях можно только спустя 1-5 блоков.
⚡️3. Правила 1 и 2 всего лишь прописаны в настройках каждого клиента. Никто не следит за их соблюдением. Но закон о самой длинной цепочке всё равно уничтожит все ваши транзакции, если вы попытаетесь обмануть систему, не соблюдая их.
#Блокчейн