Что такое «Uncle Block», «Orphaned Block» и «Stale Block» в блокчейне?
Что такое «Uncle Block», «Orphaned Block» и «Stale Block»: быстрый ответ
Uncle-Block (или Ommer, Дядя-Блок) - создаются, когда два или более майнеров создают блоки почти одновременно. Только один блок может быть добыт и принят в качестве канонического в блокчейне. Остальные — это Uncle-Block, которые не включены в блокчейн, но тем не менее дают вознаграждение своим майнерам за проделанную работу.
Блоки Uncle похожи на блоки-сироты (Orphaned Block) в Bitcoin, но имеют тонкие отличия, связанные с протоколом Ethereum. Uncle-блоки это действительные блоки, которые были отклонены сетью. Майнерам платят за создание Uncle-Block, в отличие от блока-сироты (в Bitcoin), где майнеры не получают вознаграждения.
Ethereum больше не майнится на видеокартах, так как он ушел с PoW на PoS, но это касается других монет, работающих на алгоритме Ethash!
Orphaned Block (Сиротский блок) — это блок, родительский блок которого неизвестен или не существует в блокчейне. Эти типы блоков формировались в более старых версиях программного обеспечения Bitcoin Core (кошелек Bitcoin), где сетевые узлы могли получать блоки, несмотря на отсутствие данных об их происхождении. С момента выпуска Bitcoin Core v.0.10 в 2015 году создание блоков-сирот в Bitcoin (в буквальном смысле) больше невозможно.
Тем не менее, термин «Orphaned Block» (Сиротский блок) по-прежнему широко используется в криптовалютном пространстве, когда речь идет о добытых блоках (намайненых), которые были не допущены в блокчейне (отброшены).
Технически эти блоки следует называть "Stale Blocks" («устаревшими блоками» или «вымершими блоками»), но поскольку клиент обозначает вознаграждения за блоки как «Сиротские» (Orphaned), большинство людей называют их «Orphaned Block».
Таким образом, несмотря на наличие известного родительского блока, большинство людей называют эти блоки блоками-сиротами (Orphaned Block), а не устаревшими блоками (Stale Blocks).
Stale Blocks ("Устаревшие блоки") — это правильно сформированные блоки в блокчейне, но которые больше не являются частью самого длинного (с точки зрения сложности) и наиболее правильно сформированного блокчейна.
Если, например, кто-то сделал форк блокчейна и продемонстрировал доказательство того, что проделал большую часть работы (это означает, что майнить эту цепочку будет труднее всего), вы создадите новую основную цепочку. Майнеры, которые не смогли переключиться на вашу сеть, будут работать с устаревшими блоками. Из-за этого они не будут иметь права на получение вознаграждения за майнинг.
- Stale Blocks (Устаревшие блоки) — это блоки, являющиеся частью альтернативной цепочки, которая была исключена из текущего лучшего блокчейна.
- Устаревшие блоки создаются, когда в сети конкурируют несколько версий правды (несколько версий одного блока).
Введение
Пул, на котором Вы майнили, создал Orphaned блок, и Вы не получили за него вознаграждение. Интересно, что это?
Если Вы новичок в добыче криптовалюты, то, скорее всего, впервые услышите такие термины, как «Uncle Block», «Orphaned Block» и «Stale Block». Это некоторые типы блоков в блокчейне, и эти технические термины распространены среди майнеров.
Все эти три блока, такие как Uncle, Orphaned и Stale, в основном заброшены или не приняты в основной цепочке блоков, и каждая сеть блокчейнов описывает их по-разному.
Например, в Ethereum это называется Uncle блок, в Monero это Orphaned блоки, или другая разновидность - Stale блоки. Но они не все одинаковы: между ними есть большая разница.
В этом посте мы объясним, что такое Uncle, Orphaned и Stale блок и что с ними происходит.
Как работает блокчейн и формируются блоки?
Все блокчейны, такие как Bitcoin, Ethereum, Litecoin, Dash, Monero, распространяются и поддерживаются майнерами во всем мире. Чтобы понять, откуда берутся Uncle Block, Orphaned Block и Stale Block, мы должны сначала понять, как работают блокчейны и как изначально создаются блоки.
Blockchain - это формирование растущей цепочки блоков, которая регистрирует различные транзакции, происходящие в блочной цепочке. Итак, как все эти блоки созданы и становятся частью блочной цепи?
Вот как это работает: сначала вся неподтвержденная транзакция поступает в Mempool. Затем майнеры выбирают все эти транзакции, добавляют их к следующему блоку, пытаются их разгадать и тем самым конкурируют с остальными участниками блокчейна.
Победивший майнер, то есть тот, кто быстрее всех разгадает блок (произведет решение «Доказательством работы» - POW), получит вознаграждение за блок, добавленный к цепочке.
А что происходит, если два или более майнера решают головоломку одновременно или почти одновременно? То есть существует несколько разных блоков, которые полностью решены и подтверждены – они готовы стать следующими в блокчейне.
Так какой из них будет присоединен к цепочке, а какой не будет принят? Какой блок станет успешным, а какой превратится в stale, uncle, или orphaned block? Все зависит от того, кто разгадает следующий блок и будет ли он уникальным.
Здесь стоит учесть, что самая длинная цепь всегда выигрывает в такой ситуации. Что же заставляет цепочку разбивать или дублировать блоки, которые должны быть созданы?
Причиной stale, uncle, или orphaned блока в основном является сетевая конфигурация или сетевое отставание или латентность. Так же, как мы сказали, между ними существует большая разница, и мы это постепенно увидим.
Orphaned блок
Как следует из названия, сиротой является ребенок без родителя. В сети Биткойн orphaned блок (сиротский блок) - это блок, который не принят или не является частью самой длинной цепочки.
Обычно это происходит, когда два или более майнера решают блок в одно и то же время. Как и любые другие блоки, orphaned блоки являются законными, проверенными, действительными и первоначально были приняты сетью в определенный момент времени.
Однако, поскольку они более неактивны, и известного предка (предыдущего блока) нет, они фактически отвергаются из блокчейна. Такой блок можно также назвать отдельным блоком, поскольку он отделен от основной сети.
Итак, как сеть определяет, какой блок является действительным, а какой станет orphaned блоком? Блок, который имеет большее доказательство работы, будет принят, а тот, у кого более низкая доля PoW, будет отброшен.
В результате майнер, который создавал блок, признанный orphaned блоком, теряет свою награду.
В сети блокчейна Bitcoin каждый день появляется мало блоков, которые останутся сиротами.
Так же обратим внимание, что блок-сеть с большим количеством orphaned блоков может потенциально привести к опасностям, таким как атака 51% или двойная трата средств.
Stale block
Большинство майнеров считают, что Stale block и Orphan block одинаковы. Но это не так. Orphan block - это блок, состоящий из более короткой цепочки, и, поскольку его родитель неизвестен, он не может быть проверен.
Stale block полностью действителен, и это успешно разгаданный блок, но он неактивен и не включен в текущий блокчейн.
Чтобы понять это, Вы должны знать основной принцип:
если в сети Bitcoin представлены две разные версии блока, то самая длинная цепочка является предпочтительной версией, а самая маленькая цепочка будет отклонена.
Так же и в любой сети: самая длинная цепочка является действительной. Именно там будет работать большинство майнеров.
В любое время Вы или ваш пул можете разветвить сеть, и с более высокой мощностью хэша основная цепочка обгонит боковую цепочку. Теперь майнеры, которые продолжают работать над этим блоком, называются майнерами на Stale (устаревшем) блоке.
Stale блоки - это не что иное, как старые блоки, которые уже обнаружены или разгаданы. Поэтому любой, кто работает над устаревшим блоком, не имеет права на получение вознаграждения.
Uncle Block
Uncle Block похож на Orphaned блок в сети Биткойн, но у них есть некоторые отличия. Чтобы понять концепцию Uncle блока, рассмотрите блокчейн как семейное древо: Вы, ваш папа и его папа, похожи на «правильные» блоки, которые образуют цепочку. Дяди тесно связаны с семьей, и они имеют свой вес, поскольку они являются «правильными» следующими блоками в блокчейне. Однако они не включены в самую длинную цепь.
В сети Ethereum, а также в других монетах Etash, Uncle называется блоком. Итак, что такое Uncle Block или Uncle в добыче Ethereum, и что в нем такого важного?
Протокол Ethereum разработан таким образом, что он поощряет майнеров, которые находят Uncle блоки (Orphaned блоки). Почему это? В Биткойне, как мы говорили, самая длинная цепь - это главная и основная цепь. Однако в Эфириуме самая тяжелая цепь является главной цепью, и эти Uncle блоки делают ее более тяжелой.
Из-за более быстрого разгадывания блоков в Ethereum было бы много сиротских блоков, и это сделает сеть неэффективной. Вместо того, чтобы отклонять их, ссылки блока uncle хранятся в новом поле в заголовке каждого блока.
С этой целью решение протокола Ghost от Ethereum стимулирует майнеров для поиска Uncle Block. Эти блоки способствуют безопасности цепочки и дополнительно уменьшают вероятность возможных 51% атак.
Подводя итог, еще раз повторим: Uncle, Orphaned и Stale Block – разные, но их объединяет то, что они в той или иной степени исключены из основной цепочки блокчейна.
CTRL + D - подпишитесь только на важные и интересные публикации!