Найти в Дзене
Menaskop

Uncle rewards - что и зачем это?

Наверняка многие видели вот такой график - https://etherscan.io/stat/supply? Но что он означает? Точнее: чем отличаются Block rewards, uncle rewards & genesis? Кратко попробую ответить на эти вопросы: *** Теперь приведу перевод из одной важной статьи по теме.
"... согласно протоколу Ghost Ethereum: цепь, которая сначала генерирует "ещё один новый блок", будет считаться главной цепью (прим. - как с большей PoW), в то время как блок, не распознанный как главный, станет дедей-блоком (прим. - см. ниже). "майнеры получают награду за Uncle-block. Однако обычный блок может хранить только UB первых двух поколений - до первых семи поколений, что означает, что блоки, не включённые после шести блоков, отбрасываются, так что "майнеры", производящие эти блоки, не получат награды. Функции дяди-блока (следующие)... Во-первых, UB повышает безопасность сети Ethereum, потому что Ethereum принимает "тяжелую" цепь в качестве основной цепи, которая относится к той, что остаётся с наибольшим количество

Наверняка многие видели вот такой график - https://etherscan.io/stat/supply? Но что он означает? Точнее: чем отличаются Block rewards, uncle rewards & genesis?

Orpan или Stale?
Orpan или Stale?

Кратко попробую ответить на эти вопросы:

  1. В блокчейне Биткоина есть понятие "orphaned block", то есть блок сиротский: он образуется, когда речь заходит о выигрыше через более длимую цепочку (точнее - цепочку с большей PoW). Эту же историю иногда описывают через Stale blocks (без привязки к конкретному блокчейну), но всё же феномены - разные: Stale blocks создаются из-за ошибок/атак, а вот Orphaned blocks - необходимое следствие самой архитектуры блокчейна; другой подход (куда более правильный): Stale blocks - старые блоки "без должного родителя", а Orphaned blocks конкурирующих в моменте цепочек. Буквально так: Orphan - сироткой блок, "у которого нет предшественника / родителя. Майнеры не получают вознаграждение за такие блоки" (в сети Биткоин). Stale - забытый/устаревший блок, "который не включается в цепочку Биткоин, потому что ему предшествует блок сиротский. Другими словами, цепочка начинается с бесхозного блока. Майнеры не получают вознаграждение за устаревшие блоки".
  2. В блокчейне Ethereum есть протокол Ghost. Полное описание можно найти на английском языке: "Uncles are stale blocks, ie with parent that are ancestors (max 6 blocks back) of the including block. Valid uncles are rewarded in order to neutralise the effect of network lag on the dispersion of mining rewards, thereby increasing security. Uncles included in a block formed by the successful PoW miner receive 7/8 of the static block reward = 4.375 ether A maximum of 2 uncles allowed per block". То есть средств на атаку в Ethereum за счёт этого эффекта требуется больше, чем в Bitcoin (при прочих равных)!
  3. То есть Ethereum предоставляет нисходящие награды (от 7/8 до 2/8 награды за блок) для майнинга Uncle Block и 1/32 от награды за отсылку на 2 последних Uncle Blocks.

***

Теперь приведу перевод из одной важной статьи по теме.

"... согласно протоколу Ghost Ethereum: цепь, которая сначала генерирует "ещё один новый блок", будет считаться главной цепью (прим. - как с большей PoW), в то время как блок, не распознанный как главный, станет дедей-блоком (прим. - см. ниже).

Как образуется uncle-block?
Как образуется uncle-block?

"майнеры получают награду за Uncle-block. Однако обычный блок может хранить только UB первых двух поколений - до первых семи поколений, что означает, что блоки, не включённые после шести блоков, отбрасываются, так что "майнеры", производящие эти блоки, не получат награды.

Функции дяди-блока (следующие)... Во-первых, UB повышает безопасность сети Ethereum, потому что Ethereum принимает "тяжелую" цепь в качестве основной цепи, которая относится к той, что остаётся с наибольшим количеством блоков: UB являются законными блоками, поэтому блоки, включённые UB являются "тяжелее", чем те, без таковых".

Вот такие дела :) Полностью различия всех тонкостей - в следующий раз: до!