В ноябре Slush Pool, старейший майнинговый пул в биткоин-индустрии, опубликовал первоначальные спецификации Stratum V2 – нового протокола, призванного сделать добычу биткоина более децентрализованной
В ноябре Slush Pool, старейший майнинговый пул в биткоин-индустрии, опубликовал первоначальные спецификации Stratum V2 – нового протокола, призванного улучшить совместную работу майнеров и пулов и сделать добычу биткоина более децентрализованной, обеспечив тем самым более высокий уровень безопасности сети.
The Stratum V2 spec is here ⛏
V2 is a feature-rich upgrade that makes Bitcoin mining more decentralized, secure, and efficient.
This is a team effort from us and @TheBlueMatt, with a security review from @peterktodd.
Learn more: https://t.co/7AtLVUpgAd pic.twitter.com/DFHUDTdRNf
— Slush Pool ⚡🔑 (@slush_pool) November 13, 2019
Оригинальный протокол Stratum представил сообществу в 2012 году основатель Slush Pool Марек Палатинус, автор концепции майнинга в пулах и создатель аппаратного кошелька Trezor. Сегодня Stratum широко используется майнерами криптовалют на алгоритме Proof-of-Work, однако оператор Slush Pool компания Braains признает, что протокол имеет свои изъяны, которые с ростом сети и развитием новых технологических решений становятся все более очевидными.
Ответом на имеющиеся недостатки оригинальной версии и должен стать Stratum V2, разработанный Slush Pool при участии известных разработчиков биткоина Питера Тодда и Мэтта Коралло. Напомним, последний является одним из основателей ведущего разработчика биткоин-решений Blockstream, а недавно вошел в команду криптовалютного подразделения поставщика платежных решений Square, компании, принадлежащей главе Twitter Джеку Дорси.
Далее мы публикуем материал, предоставленный Slush Pool редакции ForkLog, в которой вошли основные тезисы недавней сессии AMA (Спроси меня о чем угодно) на Reddit, а также комментарии содиректоров Braains Яна Чапека и Павла Моравеца, Питера Тодда и Мэтта Коралло.
Ключевые темы, которые хочет раскрыть Slush Pool:
Важность улучшений в области безопасности в Stratum V2;
Как Stratum V2 повышает децентрализацию в индустрии майнинга;
Финансовые стимулы и вероятные сроки широкого принятия нового протокола.
Предисловие
Проект Stratum V2 возглавляют Ян Чапек и Павел Моравец, сооснователи и содиректоры Braiins и Slush Pool. Компания Braiins была основана в 2010 году и является оператором Slush Pool с 2013 года.
Мэтт Коралло долгое время работал в качестве разработчика Bitcoin Core, а также внес вклад во многие другие проекты в экосистеме биткоина. В настоящий момент он работает в Square Crypto, которая проспонсировала его поездку в Прагу для работы над спецификациями Stratum V2.
Питер Тодд – другой не менее известный разработчик, внесший значительный вклад в протокол Bitcoin Core. Он является консультантом в области прикладной криптографии, или проще говоря – эксперт в области безопасности, обладающий ценной экспертизой, в том числе с точки зрения устойчивости Stratum V2 к атакам через посредника (man-in-the-middle attack).
Как Stratum V2 повышает децентрализацию биткоина
Вопрос: С технической точки зрения Stratum V2 дает майнерам возможность добывать собственные блоки вместо блоков, которые им предлагает пул. Какое это имеет практическое значение?
Мэтт Коралло: Это имеет огромное значение, когда мы говорим о проблеме централизации майнинга. Теперь, вместо того, чтобы фокусироваться на централизации пулов, мы переключаем внимание на конкретных майнеров или владельцев ферм.
На графике ниже, взятом из презентации Мэтта Коралло о централизации консенсуса, показано, как именно Stratum V2 меняет распределение хешрейта в сети биткоина.
Комментарий ForkLog
Согласно данным Blockchain.com, в начале декабря базирующиеся в Китае майнинговые пулы — Poolin, F2Pool, BTC.com, Antpool, ViaBTC и BTC.Top — контролировали две трети совокупной вычислительной мощности сети биткоина. Это, безусловно, создает проблему централизации, в частности, вырастает возможность цензурирования транзакций.
Для предотвращения такого сценария Stratum V2 использует решение «согласования работы» (job negotiation), которое дает отдельным майнерам возможность выбирать, какие транзакции будут включены в новые блоки.
«Я не говорю, что Stratum V2 станет ответом на все вопросы и моментально решит проблему централизации майнинга. Я допускаю, что некоторые пулы могут отказаться от принятия протокола и в перспективе цензурировать транзакции. Однако такой пул не позволит своим пользователям согласовывать свою работу, из-за чего они будут уходить», — сказал Ян Чапек.
Мэтт Коралло: Что касается функциональных характеристик, тут все немного сложно. При наличии хорошо оптимизированного клиента и хорошего интернета производительность может быть выше, чем если бы вы получали работу от пула. Однако для того, чтобы это стало возможным, пулам будет необходимо приложить немало усилий для правильной оптимизации своих настроек.
Вопрос: Какие у майнеров будут финансовые стимулы для того, чтобы обрабатывать собственные наборы транзакций?
Павел Моравец: В настоящее время пулы контролируют существенную часть совокупного хешрейта. Это означает, что они могут мешать (цензурировать) попаданию определенных транзакций в блокчейн или оказывать большое влияние на процесс активации предложений по улучшению биткоина (BIPs). Последнее мы видели на примере сигнализации готовности к принятию SegWit в 2017 году.
Майнеры, которые обрабатывают собственные блоки, предотвращают централизацию власти в пулах, точно таким же образом, если бы они занимались соло-майнингом. В то же время они смогут и дальше получать награду за майнинг в пуле, расхождения которой при этом окажутся значительно меньшими.
Вопрос: Будут ли пулы иметь право вето на валидные транзакции?
Павел Моравец: В Stratum V2 пулы могут отклонять целый блок, который им предлагает майнер, однако они не могут отклонить индивидуальные транзакции внутри блока. Таким образом пулы валидируют полные блоки, отклоняя те из них, которые содержат недействительные транзакции.
Как Stratum V2 повышает безопасность майнеров и пулов
Вопрос: Каковы главные преимущества использования шифрования в Stratum V2?
Питер Тодд: Очень важную роль играет аутентификация. Без ее должной защиты злоумышленник может попытаться предпринять атаку через посредника и похитить деньги, просто перенаправив хешрейт в другой пул. Аутентификация посредством публичного ключа не может считаться идеальной, так как она очень медленная и верификация подписи к каждому сообщению неэффективна.
Современные схемы аутентификации посредством шифрования дают именно то, что необходимо: канал аутентификации между двумя сторонами, где одна сравнительно дорогая операция подписи используется для создания совместной секретной фразы, задействованной затем в более быстрых схемах симметричной аутентификации. Современные имплементации [таких схем] очень быстрые, хорошо изучены, и маловероятно, что они столкнутся с каким-либо неожиданностями с точки зрения инженерии.
В оригинальной версии Stratum злоумышленник может изменить рабочую задачу еще до того, как она дойдет до майнера, а затем перехватить работу, когда тот пытается ее предоставить, и все это без ведома пула или майнера! Такая атака также известна как «хайджекинг хешрейта», и Stratum V2 ее предотвращает.
Вопрос: Какие дополнительные расходы ресурсов несет с собой шифрование?
Питер Тодд: В схеме пул-майнер речь идет примерно о 5%, что в целом незначительно. Для схемы майнер-пул мы говорим о дополнительных 16 байтах (более 50%), но здесь важно понять контекст. Даже с использованием шифрования сообщения об отправке «шары» в V2 весят на 50% меньше. Более того, общее число отправляемых сообщений оказывается меньше, и в конечном счете говорить о существенном увеличении данных не приходится.
Принятие Stratum V2
Вопрос: Какие стимулы у майнеров для перехода на Stratum V2?
Ян Чапек: Самой большой стимул для майнеров – это более эффективное использования пропускной способности. Это дает возможность вести майнинг даже при не самом лучшем интернет-соединении. Кроме того, у пулов появляется возможность заранее распределять будущие шаблоны блоков среди майнеров (отдельно от сообщения ‘SetNewPrevHash’), что устраняет нахождение пустых блоков. Наконец, отказ от кода на базе JSON (человекочитаемого) в пользу бинарного кода (считываемого машиной) существенно снижает размер передаваемой информации.
Мэтт Коралло: Еще один стимул, который не стоит упускать из вида, это криптографическая аутентификация. Сегодня вполне вероятна ситуация, когда интернет-провайдеры незаметно для майнеров крадут около 1% хешрейта. Используемое в Stratum V2 шифрование эту проблему полностью решает.
Вопрос: Какие вы очертили сроки по имплементации, развертыванию и принятию Stratum V2?
Ян Чапек: По нашим оценкам, потребуется от трех до пяти месяцев для устранения проблем, которые могут быть найдены, после чего Stratum V2 будет готов к масштабному развертыванию.
Касательно имплементации, тут все предельно просто. Фермы могут использовать механизм трансляции от V1 к V2 незамедлительно, в то время как пулы могут использовать механизм трансляции от V2 к V1 в качестве первого уровня принятия еще до того, как реализуют поддержку.
Базовая реализация является частью нашего нового майнера bOSminer, который заменит устаревший CGMiner.
Заключение
Несмотря на то что у многих среднестатистических пользователей биткоина могут быть сложности с пониманием тонкостей описанных выше процессов, Stratum V2 определенно можно назвать крайне важным этапом в развитии всей экосистемы, где майнинг играет одну из ключевых ролей. Новая версия протокола предлагает очевидные преимущества как для операторов пулов, так и для майнеров, и будет интересно увидеть, как быстро она будет принята и какое окажет влияние на дальнейшее развитие индустрии.