Брошенные блоки (Orphaned blocks) в блокчейне

    Брошенные блоки (Orphaned blocks) в блокчейне
    0

    Алгоритм консенсуса Proof-of-Work (PoW) работает благодаря майнингу. Владельцы железа (видеокарт и асиков) соревнуются в грубом переборе хешей, один за другим, пока не будет найден подходящий. И поскольку это делают участники по всему миру, иногда случается так, что два майнера находят новый блок почти в один момент.

    Но как известно, блокчейн — это непрерывная цепочка, с которой согласны все 100% узлов. И раздвоение, либо включение 2 блоков сразу в неё — невозможно.

    Так появляются на свет брошенные блоки (с англ. Orphaned blocks — «осиротевшие»).

    Что происходит с брошенным блоком

    Первое время часть узлов принимает одну версию блока, а часть — другую. Это зависит от физического расположения майнеров. Но рано или поздно какая-то версия блока начинает преобладать, и альтернативный становится брошенным.

    Его отмечают тем же номером, что и валидный, и записывают как «Orphaned».

    Майнер не получает награду с брошенного блока в основной цепочке. Считайте он произвёл бракованную единицу на ленте чеканки.
    Брошенный блок (Orphaned Block) Схема

    Как это отражается на пользователях

    Транзакция, что была подтверждена в откинутом блоке, первое время может значиться, как имеющая 1 подтверждение. Но позже вернётся на адрес, где она была на предыдущем блоке.

    Поскольку это открывает возможность атаки двойной траты, рекомендуется ждать 2-3, а для больших сумм — от 10 подтверждений, прежде чем считать перевод успешным.

    Вероятность получения бракованного блока

    Зависит от частоты чеканки и особенностей сети. Существует срез, полученный из статистики для популярных криптовалют.

    Криптовалюта Новых блоков (в сутки) В среднем брошенных (в сутки)
    Bitcoin 158 0,1
    Ethereum 1.0 6371 717
    Litecoin 578 0,2
    DASH 549 1

    Блоки-дяди (Uncle blocks) в Ethereum 1.0

    Сеть Ethereum на алгоритме PoW в среднем выпускала новый блок раз в 13 секунд (в 46 раз больше чем у Bitcoin). В итоге средняя вероятность брошенного блока составляла 5%. Это довольно много. Потому их начали включать в цепочку и именовать блоками «дядьками».

    Ethereum Uncle Rate — Вероятность блока-дяди в Эфириуме

    Майнер получает 85% в награду от дядечки в сравнении с нахождением полноценного, валидного блока. Формула, изложенная Виталиком Бутериным в 2014 году, позволяла достичь экономической целесообразности этой стратегии: «На пути к 12-секундному времени блока».

    Заплесневелые блоки (Stale blocks)

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

    Брошенный блок и Заплесневелый блок Схема

    Потеря актуальности явления

    В 2015 году вышел новый клиент для сети Bitcoin (0.10), где проблема с чеканкой орфан блоков была устранена. Сообщение между майнерами ускорилось благодаря новому протоколу пропагации FIBRE (Fast Internet Bitcoin Relay Engine). Узлы постепенно обновились на новую версию софта и уже много лет в сети Bitcoin нет брошенных блоков.

    Количество брошенных блоков Биткоина график

    Однако это не исключает вероятность атаки 51% и умышленной чеканки зловредных блоков. Но технически они уже будут называться как «заплесневелые» либо «вымершие».

    Термин «брошенных» блоков в сети Bitcoin полностью потерял актуальность, но всё ещё возможен в менее развитых сетях и форках, где консенсус достигается доказательством работы (Proof-of-Work).

    В 2022 году сеть Ethereum перешла на Proof-of-Stake (PoS). В этой системе валидаторы назначаются и немного заранее знают, кто выпускает следующий блок, потому вероятность появления блоков «дядечек» исключается. Но если и кто-то попытается параллельно выпустить ещё один блок, такие блоки будут называться «dunkles» (англ. «тёмные», игра слов в честь «uncles»). За выпуск данклов сеть штрафует узел на стейк ETH, делая это материально невыгодным.

    от Кошелёк