BTC $ 3643.3780754 (4.5 %)
XRP $ 0.315609169 (2.61 %)
ETH $ 95.960421959 (3.68 %)
XLM $ 0.1248444646 (4.81 %)
BCH $ 110.319544612 (6.54 %)
EOS $ 2.0747433268 (12.85 %)
USDT $ 1.0098979766 (-0.54 %)
BSV $ 99.7269609003 (1.99 %)
LTC $ 26.0236615966 (4.06 %)
TRX $ 0.0137415846 (2.06 %)

Обработка естественных форков в криптовалютах

21:17 04/10/2018

Есть ли повод для беспокойства?

 

Чтобы ответить на этот вопрос, необходимо представить себе последствия форка, кратко описанные в предыдущей статье. Предположим, мы хотим передать деньги нашим друзьям. Мы создаем транзакцию и отсылаем ее майнеру. Он майнит блок, и наша транзакция подтверждается.

 

Через некоторое время становится известно, что в это же самое время был создан другой правильный блок, и он стал популярнее, чем наш. Ещё чуть позже выясняется, что наша транзакция более не считается правильной, поскольку сеть от нее отказалась. Всё это происходит естественным путем, без каких-либо злых намерений.

 

Как бороться с такими форками?

 

У данной проблемы нет идеального решения, учитывая применяемый алгоритм Proof-of-Work. Каждая нода здесь сама по себе, а обмен информацией между нодами и их сотрудничество по умолчанию отсутствует. Более того, в протоколе Биткоина предусмотрена процедура настройки, которая изменяет сложность задачи, как только среднее время нахождения блока начинает составлять менее 10 минут. Такой механизм делает любое сотрудничество бессмысленным, поскольку любое объединение усилий ведет к ускоренному майнингу, который выльется впоследствии в очередную перенастройку.

 

Такой же подход используется в сети Эфириум. Разница лишь в среднем времени нахождения блоков — здесь оно равно 15 секундам, что в несколько десятков раз превышает скорость закрытия блока в сети Биткоин. При столь маленьком значении у естественных форков намного больше шансов появиться.

 

Одна проблема, разные решения

 

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

 

В Эфириуме, наоборот, много блоков находятся параллельно. Чтобы справиться с ними, блокчейн использует специальную систему «uncles». В этой системе параллельные блоки присоединяются к главной цепи после ее определения, и у этого поведения есть несколько важных последствий. Во-первых, почти каждый uncle-блок считается правильным, а их авторы получают часть от награды за блок (также за вычетом комиссий за транзакции, поскольку в uncle-блоках они не считаются правильными). Во-вторых, меньше поощряется желание поддерживать свою часть раздвоения блокчейна. Это снижает уровень ненужного соперничества. В конце-концов, этот подход частично поддерживает систему CPU-устойчивого майнинга в среде Эфириума.

 

Естественные форки в DAG-решениях

 

Кроме блокчейна, существуют и другие DLT-решения, основанные на направленных ациклических графах (directed acyclic graphs, DAG). Их основное отличие состоит в том, что форки представляют естественную и удобную часть этих решений. Это по большей части обусловлено использованием транзакций как ключевых единиц информации вместо блоков. Одинаковые транзакции или даже одинаковые выходы транзакций не могут содержаться в разных блоках одновременно. Это значит, что опоздавшие блоки будут сбрасываться, как только появится дубликат.

 

С другой стороны, подход, основанный на транзакциях, не требует отмены всего блока. Всё, что ему нужно — это отказать конкретной транзакции в выполнении. Наиболее известные представители такого подхода — Hedera с хэшграфом и IoTA с концепцией клубка. В обоих случаях, если вся сеть будет разделена на несколько сегментов, они в конечном счете сольются, как только связь будет восстановлена. Естественно, мы не говорим о случаях преднамеренного вредоносного поведения ноды, цель которой — совершить двойное расходование. Эта угроза существенна для любого представителя DLT-технологии.

 

Пример DAG

 

Чего ещё можно ожидать?

 

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

 
Нашли ошибку? Выделите её и нажмите Ctrl + Enter чтобы сообщить администратору.

Самые актуальные новости о криптовалютах и блокчейне. Прочтите первым!

Зачем мне это?

Загрузка...