Количество предложений по решению проблемы масштабирования сети Биткоина продолжает расти. Очередная идея появилась в псевдонимной рассылке от одного из пользователей.
Segregated Witness (SegWit) - обновление протокола Биткоина, предложенное командой разработчиков Bitcoin Core, увеличит примерно в два раза емкость блока Биткоина, одновременно закладывая основу для дальнейших решений проблемы масштабирования. Но это предложение, требующее для активации поддержки 95% мощностей майнеров, пока так и получило шансов на утверждение. И нет признаков того, что это изменится в ближайшее время, так как противники SegWit имеют более чем достаточную долю для блокировки, но не для утверждения собственных предложений.
Теперь был представлен альтернативный путь активации SegWit.
"Методология консенсуса неправильно истолкована, подразумевая голосование мощностей хэширования по предложению, и представляется затруднительным исправить это недоразумение в более обширном сообществе, которое имеется сейчас", - так неизвестный под псевдонимом "shaolinfry" отметил текущую ситуацию в сети Биткоина в рассылке на форуме BitcoinTalk.
Кроме того, он пишет: "Возможная альтернатива представляется как "выставление флага активации", где не майнеры, а ноды начинают действовать в заранее определенное время".
Эта альтернатива была названа автором как "активация софтфорка пользователями" (User Activated Soft Fork, или UASF). Иными словами, он предлагает переложить активацию изменений в сети с майнеров на непосредственно узлы сети.
Мощности для активации софтфорка
Софтфорк необходим для изменения протокола биткоина, чтобы ужесточить правила. Транзакции или блоки, действительные в соответствии со старыми правилами, становятся недействительными в соответствии с новыми.
Главное отличительное свойство софтфорков состоит в том, что часть пользователей может перейти к новому набору правил, в то время как другие не сделают этого, по крайней мере, в течение некоторого периода времени. Все они останутся частью сети, используя один и тот же блокчейн и совершая операции в одной и той же валюте. При хардфорке же пользователи, не принявшие новой версии, оказываются "за бортом".
"Софтфорки совместимы и безопасны", - утверждал shaolinfry в последующем электронном письме. "Если они написаны качественно и не имеют багов, пользователи должны, в худшем случае, быть агностиками по отношению к ним, потому что у них есть выбор - безопасно использовать новую функцию или нет, не препятствуя осуществлению других функций".
За последние пару лет, софтфорки были в основном реализованы путем активации майнерами. Это доказывает тот факт, что майнеры сами решают, какие транзакции в будут включены в блоки. Большинство майнеров может отказаться от определенных видов транзакций и блоков, если они нарушают правила новых софтфорков, но в большинстве случаев транзакции с узлов старых версий будут по-прежнему считаться действительными.
Первая версия Segregated Witness, предложенная командой разработчиков Bitcoin Core, является софтфорком. Но в этом случае активация майнерами выглядит как нечто похожее на непрямые выборы, где майнеры выступают в качестве "представителей" определенной части сообщества, но сами пользователи лишены возможности голосования иначе, чем через собственные майнинговые мощности.
Поэтому в качестве альтернативы, shaolinfry предлагает ввести UASF как метод активации.
Подробнее об UASF
UASF на самом деле намного проще, чем активация софтфорка мощностями майнеров. Не майнеры, а экономика Биткоина - индивидуальные пользователи, торговцы, биржи, поставщики услуг кошелька и другие экономические субъекты, будут активировать софтфорк для работы. В определенный момент времени, пользователи Биткоина ужесточают правила системы, активировав софтфорк. С этого момента транзакции и блоки, которые нарушают новые правила, просто будут отвергнуты.
В реальности, майнерам тогда придется следовать новым правилам, или, по крайней мере, принять определенные меры предосторожности, чтобы избежать принятия недействительных блоков и транзакций. Если они этого не сделают, то рискуют производить блоки, которые сеть будет считать недействительными, отвергая их. Следовательно, чтобы заработать награду за блок, майнерам придется делать то, чего хочет от них экономика.
shaolinfry утверждал: "Роль майнеров заключается в выборе действительных сделок. Полные узлы гарантируют, что блоки являются действительными. В этой модели узлы определяют действительность блоков в соответствии с протоколом, а майнеры решают, действительна ли транзакция для включения в блокчейн".
Недостатки предложения
В то время как концепция UASF проста, это не обязательно означает, что ее легко осуществить. По сравнению с активацией софтфорка майнерами, UASF несет два повышенных риска. И подобно хардфорку, если дела пойдут плохо, Биткоин может разделиться на две несовместимые сети.
Первый риск заключается в том, что координация может быть затруднена. Поддержку со стороны централизованных сервисов - бирж, операторов веб-кошельков, платежных систем, возможно измерить, но анонимные узлы могут быть тривиально сфальсифицированы. И если только меньшинство следит за соблюдением новых правил, а большинство применяет прежние правила, Биткоин будет разделен на две части.
Во-вторых, даже если значительная часть экономики активирует софтфорк, большинство майнеров еще смогут сорвать обновление. Если эти майнеры готовы и способны тратить энергию на майнинг в "старой" цепи, любой не обновившийся пользователь будет следовать "цепочке майнеров", а не новой "экономической цепочке". Этот пользователь будет подвержен опасности двойной траты до тех пор, пока майнеры готовы и способны тратить ресурсы на поддержку старой цепи. Иными словами, все опять сводится к зависимости от майнеров, но добавляется и опасность оперирования ботнетами обычных узлов, что с точки зрения затрат организовать значительно проще. Именно поэтому, голосование количеством узлов в Биткоине не использовалось до сих пор. И это противоречие устранить будет крайне сложно.