Что такое потерянный (брошенный) блок?
20 декабря, 2017Брошенными (потерянными) блоками называют действительные блоки, не вошедшие в основную цепочку. Причинами возникновения брошенных частей могут быть:
- не значительная разница во времени произведения блоков двумя различными майнерами;
- попытка хакеров, обладающих достаточной мощностью хэширования, насильственно обратить транзакции.
Потерянные блоки в сети Bitcoin
Протоколом биткоина предусмотрено принятие за абсолют наиболее длинной цепочки. Блок, не являющийся частью наиболее длинной цепи, признается потерянным (другое название – орфан). Блоки-орфаны играют важную роль в механизме самоконтроля Bitcoin.
Наиболее часто подобная ситуация возникает при естественном математическом вычислении, находящем настоящий блок, с незначительной разницей во времени подтверждения другого блока, в результате чего информация не успевает распространиться по системе и блок остается не вошедшим в наиболее длинную цепь. Такие блоки характеризуются аналогичными порядковыми номерами, но различными кошельками для зачисления вознаграждения, обуславливающими их различия. Поскольку блокчейн Bitcoin не допускает существования частей с равнозначными порядковыми номерами, при определении блока, который будет принят в цепочку, система выберет тот, хэш которого быстрее интегрируется в следующий. Майнер, нашедший потерянный блок, не получает вознаграждение за него.
В том случае, если практически в одно и то же время получены два новых блока с аналогичными значениями номеров и разными хэшами предшествующего блока, майнеры продолжают поиск следующего. В результате происходит постоянное удлинение параллельных соединений, при этом сокращается сама возможность таких раздвоенных цепей. Протокол Bitcoin предусматривает вознаграждение за встроенный в цепь блок только после присоединения 120 следующих. Таким образом, наибольшая длина временно разделенной дублируемой цепи составит 120 блоков. Однако в реальности длина таких временно разделенных цепей в редких случаях ограничивается 3-мя блоками, поэтому вероятность достижения максимального значения стремится к нулю. Кроме того, пока временное дублируемое разделение присутствует, транзакции параллельных соединений дублируются. Более короткие цепи отсекаются системой.
Возникновение потерянных блоков в блокчейне Bitcoin обусловлено достаточно длинным интервалом между их созданием. Порядка 70% всех подтверждений транзакций в сети биткоина осуществляется в течение 10 минут.
Многочисленные аналитические исследования технологии блокчейна подтверждают возможность повышения скорости создания блоков, однако такой процесс, обусловленный ускорением формирования потерянных блоков нецелесообразен с точки зрения цены и результативности.
Как решает проблему потерянных блоков Ethereum
Ethereum использует потерянные блоки для повышения уровня защиты основной цепочки. Таким образом придается ценность орфанам, которые в сети Ethereum носят название uncle. Блокчейн сети учитывает корректность брошенных блоков и тот факт, что для их создания были затрачены ресурсы майнеров. Размер uncle отличается от размера востребованных блоков, и. согласно протоколу, они не включаются в состав самой длинной цепи.
Используемый Ehtereum протокол GHOST предусматривает оплату майнерам за uncle-блоки, в результате чего последние заинтересованы во включении их в основной блок путем размещения ссылок на uncle в заголовке каждого блока. Таким образом, происходит увеличение веса цепочки.
Придавая ценность брошенным блокам, протокол GHOST стимулирует деятельность майнеров, оплачивая произведение потерянных блоков, а формирование тяжелой цепочки с доказанной эффективностью повышает уровень ее безопасности.
Если в Bitcoin приоритет рассчитан на наиболее длинную цепь, то Ethereum отдает предпочтение самой тяжелой.
Риски майнинга потерянных блоков
Процесс майнинга брошенных блоков сформировал новый уровень блокчейна и положил начало для дальнейших экспериментальных исследований технологии, улучшающих ее производительность. Майнинг uncle-блоков обнаружил несколько уязвимых мест в системе.
Так, установлено, что наибольшую прибыль приносит майнинг с использованием мощностей в диапазоне от 12,5% до 37%. Однако такая добыча чревата возможным
конфликтами, примером которых стали атаки типа 25% на сеть Bitcoin.
Оценка достоинств и безопасности майнинга uncle-блоков требует больших временных затрат, течение которых позволит исключить возможность негативных последствий включения потерянных блоков в основную цепь с использованием протокола GHOST.
Возвращение в работу брошенных блоков является одной из характерных особенностей сети Ehtereum, отличающейся экспериментальным подходом к развитию блокчейн-технологии.