- Orphan, Stale & Uncle Blocks in Bitcoin and Ethereum
- Blockchain
- Types of Blocks in Bitcoin Blockchain
- Types of Blocks in Ethereum Blockchain
- Uncle Block Reward in Ethereum Network
- Orphan, Stale и Uncle-блоки в майнинге Биткоина и Эфириума. Что такое, чем отличаются и сколько приносят
- Блокчейн — цепочка блоков
- Какие бывают виды блоков в блокчейне Биткоина
- Какие бывают виды блоков в блокчейне Эфириума
- Вознаграждение за Uncle-блоки в сети Ethereum
- Что такое брошенные блоки в Биткоине и анкл-блоки в сети Эфириум
- Биткоин
- Uncle block Ethereum
Orphan, Stale & Uncle Blocks in Bitcoin and Ethereum
Sometimes the reward for the found block can be lower than usual or there may be no reward at all. Are you interested in finding out why that happens? Then keep on reading, but make sure to read this article first.
Blockchain
To many, there is no need to explain what the blockchain is, but let’s take a closer look at the chain itself. In the Bitcoin network, a new block is created every 10 minutes, whereas in the Ethereum network it’s every 14 seconds. Every new block contains information about the previous block. This is how the blockchain is organized – it’s an index, just like a numbered list or an Excel table. No gaps are allowed. Number 1 is always followed by number 2 which is followed by 3 and then 4, and so on.
Every node/computer in the cryptocurrency network is connected with other nodes and constantly exchanges data with them. Let’s say for example, that the last block in a cryptocurrency network is #100. This means that at that moment all miners worldwide are trying to solve the same block – #101. Once it is solved, a miner (or a mining pool) sends the solution to the network through it’s node. In the course of a few seconds or even milliseconds, all nodes in the network get information about block #101. The block goes through the verification process to make sure there is no fraud, and then the nodes wait for the next block – #102.
But what happens if two miners solve block 101 at the same time? Let’s say, for example, there are 100 nodes in the network. Miner A solved the block a bit earlier and sent the information about the block to 60 nodes. Miner B finished later and sent the information to only 40 nodes. Does it mean that miner A wins against miner B? Not necessarily. Let’s take BTC and ETH as an example.
IMPORTANT. You can’t steal a block solution that is not yours. Cryptocurrency networks are protected against this type of fraud. The block solution from miner A doesn’t work for miner B, so the latter can’t take credit for it.
Types of Blocks in Bitcoin Blockchain
Ten minutes is an average block find time for Bitcoin. In reality, it can vary from a few seconds to even a few hours. For example, it may depend on how fast blocks are being processed or how fast nodes exchange data with one another.
Miner A and miner B solved block 101 at the same time. 60% of nodes got the new block from miner A, while 40% got it from miner B. At this point both blocks are completely legitimate and valid. After that, miners that followed miner A found 2 more blocks, while miners that followed miner B found 3 more blocks.
So which chain is the valid one? The solution is simple. Miner B’s followers have a longer chain, so it’s valid. Sadly, miner A’s followers worked for nothing and don’t get any reward for found blocks.
Do you remember that the blockchain is organized in the form of an index? Block 101 found by miner B is added to the list, as well as the next 3 blocks found by its followers – 102, 103 and 104. The block found by miner A didn’t make it to the index. This block gets cut off and remains without a parent, so it is called an orphan block. Good news is that it has 2 children – the two blocks that were found afterwards. Bad news is that these blocks are useless, so they are known as stale blocks.
In reality, nodes are unlikely to wait for so long. Once block 102 comes out following the disputable block 101, all the cryptocurrency network will switch to this chain and abandon the other.
People often confuse orphan and stale blocks. It’s because both types of blocks are useless to Bitcoin miners, as they don’t bring any profit. These blocks are also known as reject/rejected.
To sum up, there are three types of blocks in Bitcoin blockchain:
- Normal (valid) block is a block that gets included into Bitcoin blockchain. A miner that finds it gets rewarded.
- Orphan block is a block that doesn’t have a predecessor/parent. Miners don’t get rewarded for orphan blocks.
- Stale block (orphan’s offspring) is a block that doesn’t get included into Bitcoin blockchain, because it is preceded by an orphan block. In other words, the chain starts with an orphan block. Miners don’t get rewarded for stale blocks.
Types of Blocks in Ethereum Blockchain
Average block find time in Ethereum is much less than in Bitcoin – just 14 seconds. Orphan and stale blocks are expected to be encountered more often than in Bitcoin so miners should waste more time on them. Luckily, it is different thanks to GHOST protocol (Greedy Heaviest Observed Subtree) implemented by Ethereum developers.
The concept of GHOST is simple. Miners that find orphan and stale blocks get rewarded, but the reward is lower than for standard blocks. In Ethereum and other Dagger-Hashimoto cryptocurrency networks, such blocks are called uncle blocks.
Uncle blocks also resolve the problem of network centralization. Without them ,the network would be messed up. Considering the little block time, a major pool would work much more effectively and squeeze smaller competitors that would receive information about new blocks too slowly and would be creating an infinite amount of useless orphan and stale blocks.
So there are two types of blocks in Ethereum blockchain:
- Normal (valid) block is a block that gets included into Ethereum blockchain. A miner that finds it gets rewarded.
- Uncle block is a block that corresponds to orphan and stale blocks in Bitcoin network. It doesn’t get included into the main blockchain. A miner gets a lower reward for an uncle block than for a standard one.
Uncle Block Reward in Ethereum Network
Ethereum allows 7 nested levels of uncle blocks which would correspond to 1 orphan block and 6 stale blocks after it in Bitcoin. In Ethereum, the uncle block reward is calculated according to the following formula:
([Uncle block number] + 8 – [Block number]) * [Ethereum reward] / 8
In other words, if the standard block reward is 3 ETH, the uncle reward would be 1/8th less.
The reward for the very first uncle block is 2.625 ETH, for the second one – 2.25 ETH, then 1.87 ETH and so on until 0.375 ETH. However, an uncle chain is unlikely to go on for so long. After one or two uncle blocks a miner node abandons the wrong chain and switches to the main mining chain.
If you are interested to see Ethereum mining in action, check out Ethviewer. It is an awesome real-time infographic that shows the main chain and uncle chains. Really fascinating.
Источник
Orphan, Stale и Uncle-блоки в майнинге Биткоина и Эфириума. Что такое, чем отличаются и сколько приносят
Случается так, что ваше вознаграждение за найденный криптовалютный блок либо меньше обычного, либо же отсутствует совсем. Интересно разобраться в майнинге и понять, почему так происходит? Отлично, данная статья именно об этом, только сначала обязательно прочитайте эту публикацию.
PS: а если вы просто хотите настроить свою ферму и получать доход без лишних подробностей, идите на майнинг-пул 2Miners. Там всё понятно и просто.
Блокчейн — цепочка блоков
Кто-то скажет “это всем ясно” и будет прав, однако давайте подробнее посмотрим на суть цепочки. В среднем каждые 10 минут в сети Биткоина появляется новый блок, а у Эфириума на это уходит 14 секунд. В каждом блоке есть информация о том, какой блок был перед ним. Благодаря этому и выстраивается цепочка блоков — индекс. Можно сравнить его с нумерованным списком или Excel-таблицей. Пропусков не бывает. За номером 1 всегда идёт номер 2, а за 3 будет 4.
Каждая нода=узел=компьютер в сети криптовалюты связан с другими и постоянно обменивается с ними информацией. Подробнее про работу криптовалютных нод и возможные проблемы читайте здесь. Допустим, последний блок в сети криптовалюты имеет номер 100. Все майнеры мира решают одну и ту же задачу и ищут решение блока 101. Как только его найдут, майнер (или майнинг-пул) отправляет через свою ноду решение в сеть. В течение нескольких секунд, а обычно даже миллисекунд, все узлы сети получают информацию о новом блоке 101. Проверяют, что блок честный, в нём нет никакого обмана, после чего дальше ждут блока 102.
Вопрос следующий: что произойдёт, если 2 майнера нашли решение блока 101 в одно и то же время? Например, в сети 100 узлов. Майнер А нашел решение блока чуть раньше и успел передать информацию о блоке на 60 узлов. Майнер Б сделал работу позже и успел сказать о найденном решении блока только на 40 узлов. Значит ли это, что А — молодец, а Б — нет? Не факт. Рассмотрим эти тонкости подробнее на примере монет BTC и ETH.
Важный момент. Взять и присвоить себе чужое решение блока не получится. Сети криптовалют защищены от такого рода воровства. Решение блока от майнера А не подойдёт майнеру Б, он не сможет выдать его за своё.
Какие бывают виды блоков в блокчейне Биткоина
Если что, 10 минут на блок — это среднее время, по факту может быть как несколько секунд, так даже и несколько часов. Допустим, блоки идут быстро, или же ноды общаются между собой не очень быстро.
Майнеры А и Б нашли решение блока 101 примерно в одно и то же время. 60 процентов нод получили новый блок от майнера А, 40 процентов — от майнера Б. На данный момент оба этих блока абсолютно честные, легальные, валидные, как угодно. Сразу после этого майнеры, которые послушали А, нашли еще 2 блока, а майнеры, которые послушали Б, нашли ещё 3 блока.
Как же решить, чья цепь окажется правильной? Решение простое. У последователей майнера Б цепочка длиннее, поэтому она верная. Последователи майнера А, к сожалению, работали напрасно. За свои блоки они ничего не получат.
Помните, что у нас есть индекс, нумерованный список? Так вот, в итоге в него попадает блок 101, который нашёл майнер Б, а дальше — следующие 3 блока, найденные его последователями под номерами 102, 103 и 104. Блок, который нашел майнер А, в индекс не попал. Он остался без отца, его “отрезали”, поэтому такой блок называют сиротой — Orphan. Хорошая новость: у него осталось 2 ребенка, блоки которые были найдены за ним. Плохая новость: смысла в этих блоках нет, они называются Stale, в переводе на русский “протухшие”. Такие вот дочки-матери.
По факту, конечно, вряд ли ноды будут ждать так долго. Уже при наличии следующего блока 102 после спорного блока 101 вся криптовалютная сеть переключится на эту ветку и отбросит другую.
Orphan и Stale-блоки часто путают. С точки зрения майнера Биткоина смысла нет ни в том, ни в другом, за них майнер ничего не получает. Ещё эти блоки называют отклонёнными или Reject/Rejected.
Подытожим, у Биткоина бывают следующие блоки:
- нормальный (валидный) — блок, который включён в цепочку блоков Биткоина. Нашедший его майнер получает вознаграждение.
- Orphan (сирота) — блок, у которого в цепочке блоков Биткоина нет предшественника (родителя). За Orphan-блок майнер ничего не получает.
- Stale (потомок сироты) — блок, который не включён в цепочку блоков Биткоина, потому что предшественником является Orphan-блок. Иными словами, цепочка начинается с блока сироты. За Stale-блок майнер ничего не получает.
Какие бывают виды блоков в блокчейне Эфириума
Среднее время блока в сети Ethereum намного меньше, чем у Bitcoin: 14 секунд против 10 минут. Очевидно, что проблема Orphan и Stale-блоков должна встречаться намного чаще, а значит холостая работа майнеров в теории должна быть велика. К счастью, на практике всё иначе. Разработчики этой криптовалюты внедрили так называемый GHOST-протокол (Greedy Heaviest Observed Subtree).
Смысл GHOST простой — майнеры, которые находят Orphan и Stale-блоки тоже получают вознаграждение, хотя их размер и меньше суммы за нормальные блоки. Такие блоки в сети Ethereum и всех других Dagger-Hashimoto криптовалютах стали называть Uncle. По-русски это звучит как “дядя”.
Uncle-блоки также решают проблему централизации сети. Если бы их не было, ситуация была бы странной. При таком маленьком времени блока крупный пул работал бы намного эффективнее и просто убивал маленьких конкурентов, до которых бы долго доходила информация о новых блоках. В свою очередь, они бы штамповали бесполезные Orphan/Stale-блоки без конца.
У Эфириума бывают следующие блоки:
- нормальный (валидный) — блок, который включён в цепочку блоков Биткоина. Нашедший его майнер получает вознаграждение.
- Uncle — блок, который бы в сети Биткона назывался Orphan или Stale. Данный блок не включается в основную ветку. При этом майнер получает за него более скромное вознаграждение в сравнении с обычным блоком.
Вознаграждение за Uncle-блоки в сети Ethereum
Всего у Эфира может быть 7 “вложенностей” анклов, если так можно сказать. В Биткоине это был бы 1 Orphan и 6 Stale блоков за ним. В Эфириуме вознаграждение за Uncle рассчитывается по следующей формуле:
([Номер Uncle блока] + 8 — [Номер нормального блока]) * [Вознаграждение в сети эфира] / 8
Простыми словами, если вознаграждение за обычный блок — 3 ETH, Uncle будет получать на 1/8 меньше.
Самый первый Uncle получит 2,625 ETH, следующий 2,25 ETH, затем 1,87 ETH и так далее до 0,375 ETH. Однако как правило, Uncle-ветка редко идёт далеко. Уже к первому-второму Uncle блоку нода майнера понимает, что ушла не туда, и переключается на майнинг основной цепочки.
Увидеть мельчайшие детали майнинга Эфириума поможет шикарная инфографика в реальном времени под названием Ethviewer. Она показывает основную цепь и цепочки анклов. Завораживает.
Источник
Что такое брошенные блоки в Биткоине и анкл-блоки в сети Эфириум
Биткоин
Блок-сирота, orphan — это блок, который не имеет известного предка в самой длинной цепочке блоков.
Это блоки, созданные на другом блоке, который больше не является активным концом самой длинной цепи. Некоторые ноды, возможно, считали, что это лучший блок в определенный момент, но они переключились на другую цепь, которая больше не содержит соответствующий блок. Они действительны, проверены, и их происхождение до блока генезиса полностью известно, они просто не активны в настоящее время. Название Сирота исходит из того, что выплаты для таких блоков обозначены как «осиротевшие» (orphaned).
Брошенный блок, abandoned block, stale — это блок, который полностью вычислен, но не стал частью самого длинного блокчейна в сети. Вознаграждение устаревшему блоку не полагается, майнер не получает комиссии. Такая ситуация происходит, когда два майнера получают блок почти одновременно, но один из них быстрее встраивает новый блок в цепь.
Брошенные блоки изначально принимаются большинством, но позже отклоняются, когда получено доказательство более длинной цепи, которая не включает этот конкретный блок.
Это означает, что пользователь мог видеть транзакцию как имеющую одно подтверждение, а затем вернуться к 0 подтверждениям.
Но в целом, существует несколько определений с перекрывающимися значениями. Осиротевшими блоками могут называть и брошенные.
Uncle block Ethereum
Анклы, или Дядюшки, не имеют ничего общего с семейными узами в традиционном смысле этого слова. В сети Эфириум дядей называется блок, который зовется сиротой в биткоине, хотя между ними есть большая разница.
Майнеры в сети Ethereum поощряются за включение в основной блок нескольких анклов во время майнинга. А тот, кто добыл анкл-блок, тоже вознаграждается (хотя и по урезанной ставке), протокол GHOST от Ethereum дает этим сиротам («дядя») экономическую ценность в сети. Два анкл-блока включаются в блок. В Эфириуме действительная цепь — более тяжелая (у Биткоина — более длинная).
Почему сеть создана таким образом, чтобы стимулировать майнеров включать оставленные блоки? Есть две основные причины:
- это снижает децентрализацию майнинга, так как этот шаг способствует майнингу небольшими пулами или в одиночку;
- увеличении общей безопасности цепи Ethereum.
Имейте в виду, что анклы также раздувают блокчейн, что становится частью недавней проблемы с Ethereum. Серьезная проблема состоит в том, что награда за блок стимулирует намеренно майнить пустые блоки. Коррекция проводилась в улучшении EIP 100 .
Источник