Ommer Block или дядя-блок
перевод данной статьи - ТЫК
Начнем!
Сеть может одновременно создавать два блока. Когда это произойдет, один блок будет исключен. Этот оставшийся блок называется блоком ommer. В прошлом их называли блоками дяди, ссылаясь на семейные отношения, используемые для описания позиций блоков в блокчейне. А сейчас мы попробуем более подробно разобраться в этих особенных блоках
- Блоки Ommer создаются в блокчейне Ethereum, когда два блока создаются и отправляются в реестр примерно в одно и то же время, но при этом только один может войти в реестр
- Блоки Ommer похожи на «сироты» биткойнов, но имеют комплексное использование, в отличие от своих биткойн-аналогов
- Майнеры или валидаторы Ethereum получают вознаграждение за создание блоков оммера в системе Ethereum за счет комиссий за транзакции для оплаты своей работы
А теперь попробуем более подробно разобраться с этими блоками!
В общедоступной цепочке блоков, такой как Ethereum и Bitcoin, важно использовать метод, который гарантирует, что данные в цепочке блоков проверяются и добавляются на основе консенсуса. Не менее важно не допустить изменения данных. Многие блокчейны используют для этого структуру данных, называемую деревом Меркла
Дерево Меркла устанавливает наследственные отношения для блоков данных. Информация из предыдущих блоков включается в новые блоки, подобно ДНК, передаваемой между поколениями. Это создает концепцию семейных отношений между блоками
Вот как это работает: первый блок в дереве можно назвать блоком А. Следующий блок, созданный из блока А, будет считаться дочерним блоком А и будет включать в себя информацию блока А, а также собственную информацию
Этот блок можно было бы назвать блоком B, но можно было бы представить его как Ba. B — это имя нового блока, а «a» относится к данным из родительского блока. Эти отношения родитель/потомок продолжаются по мере добавления новых блоков с информацией из каждого предыдущего блока. Это создает генеалогическое древо и блокчейн
Теперь рассмотрим случай, если ли два блока проверены и созданы одновременно из Ba. Это блоки Cab и Cab2, родственные блоки одного и того же родительского блока. В блокчейн можно добавить только один, поэтому сеть выбирает Cab. Cab2 — это форк оригинального блокчейна, но он не добавляется к нему и не проверяется. Наконец, в блокчейне добывается еще один блок, в котором хранится Cab. Это блок Dcab. Cab2 является братом родителя Dcab, поэтому Cab2 является оммерным блоком (или дядей)
Уточнения
Эти потерянные блоки были, по сути, ошибками в коде — непреднамеренными и случайными побочными продуктами процесса майнинга. Однако Ethereum стимулировал майнеров блоков ommer по нескольким причинам:
- Чтобы позволить создавать больше блоков оммер как побочный продукт более короткого времени блока и ускорить сеть
- Уменьшить централизацию стимулов для крупных майнинговых пулов. В этих пулах работают крупные майнинговые фермы, и они претендуют на большую часть вознаграждения за криптовалюту, оставляя немногое отдельным майнерам
- Повысить безопасность сети, дополнив работу над основной цепочкой блоков, позволив включить работу, выполненную над блоками оммер
Блоки Ommer целенаправленно включаются в блокчейн Ethereum с использованием протокола проверки механизма консенсуса Casper the Friendly GHOST (Greedy Heaviest Observed Subtree). Когда форк блокчейна происходит из одновременно созданных блоков, правило консенсуса двух третей от сетевых валидаторов выбирает, какой блок используется