Улучшение децентрализации и безопасности — как поменяет «добычу» Биткоина новая версия протокола Stratum

В ноябре текущего года Slush Pool, самый старый из майнинговых пулов, работающих с Биткоином, опубликовал первые подробности о Stratum V2. Это протокол, введение которого должно сделать совместную работу «добывающих» криптовалюты лиц лучше. Также он призван улучшить децентрализацию, что сделает всю сеть более безопасной.

Первая версия данного протокола была представлена криптосообществу в 2012 году основателем Slush Pool Мареком Палатинусом. Именно он первым придумал «добывать» криптовалюты посредством пулов, а также разработал аппаратный криптокошелек Trezor.

Зачем нужен Stratum V2

Сейчас первая версия протокола активно применяется «добытчиками» криптоактивов на механизме Proof-of-Work, при этом организация Braains, являющаяся оператором Slush Pool, понимает, что в протоколе есть недоработки, которые тем очевиднее, чем больше развивается сеть и чем больше в ней появляется новшеств.

Именно эти недоработки и призвана исправить новая версия протокола. В ее создании участвовали Питер Тодд и Мэтт Коралло, известные как разработчики Биткоина. Последний является сооснователем Blockstream — компании, разрабатывающей инструменты для блокчейна, а также с недавнего времени работает в Square — компании, поставляющей платежные решения и принадлежащей возглавляющему Twitter Джеку Дорси.

Предисловие

Ниже опубликован вольный перевод ответов на некоторые вопросы, заданные разработчикам протокола на Reddit. Во время общения с пользователями команда хотела объяснить:

  • почему важно заботиться о безопасности в протоколе;
  • как Stratum V2 борется с централизацией сети;
  • в течение какого срока Stratum V2, по прогнозам, начнет широко применяться и что будет финансово стимулировать майнеров на его использование.

Сейчас разработку протокола возглавляют Ян Чапек и Павел Моравец, вместе основавшие как Slush Pool, так и Braiins. Вторая организация открылась в 2010 году, а в 2013-м стала оператором первой.

Также на вопросы будут отвечать Мэтт Коралло, подробности о котором были приведены в статье чуть выше, и Питер Тодд, разрабатывавший Биткоин и сейчас занимающийся консультациями в сфере прикладной криптографии. Он является экспертом в сфере безопасности и помогает выяснить, в каких аспектах протокол недостаточно устойчив к атакам типа man-in-the-middle.

Ответы на вопросы

1. О централизации Bitcoin

Вопрос: Обновление протокола позволит майнерам «добывать» свои блоки вместо предлагаемых пулом. Что это меняет на практике?

Мэтт Коралло: Это очень важно в контексте существующей проблемы централизации «добычи» криптовалют. Теперь, вместо фокуса на централизации пулов, внимание будет уделяться конкретным «добывающим» валюту пользователям.

Ниже приведен график, наглядно показывающий, как теперь будет распределен хешрейт в сети первой криптовалюты после распространения Stratum V2.

Схема 1

Комментарий редакции: По приведенной Blockchain.com информации, в начале текущего месяца расположенные в Китае пулы (Poolin, Antpool, BTC.Top и другие) вместе контролировали около 2/3 от всей мощности сети Bitcoin. Поэтому проблема централизации действительно актуальна. К примеру, при нынешнем положении дел возможно зацензурировать транзакцию.

Чтобы исключить эту возможность, в Stratum V2 есть решение, названное «job negotiation». Оно позволяет отдельным участникам выбирать, какие переводы будут включаться в очередные «добытые» блоки.

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

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

Вопрос: Чтобы заниматься обработкой своих наборов переводов, майнеры должны иметь стимулирование с финансовой точки зрения. Как это будет реализовано?

Павел Моравец: Сейчас под контролем пулов находится значительная часть общего хешрейта. Следовательно, они могут не позволять конкретным переводам попадать в блокчейн (что и называется цензурированием) либо сильно влиять на процесс принятия предложений по изменению сети. Примером последнего является принятие SegWit в 2017 году.

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

Вопрос: Смогут ли пулы наложить право вето на валидный перевод?

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

2. Об улучшении безопасности

Вопрос: В чем основные достоинства применения шифрования в Stratum V2?

Питер Тодд: Важнейшее значение имеет аутентификация. Без надлежащей защиты злонамеренный участник сети может попробовать с помощью атаки man-in-the-middle украсть средства, направив хешрейт не в тот пул, в который он должен поступать. При этом аутентификация с помощью открытого ключа не является спасением от всех бед, поскольку она имеет низкую скорость и проверка подписи ко всем сообщениям малоэффективна.

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

Схема 2

В первой Stratum злонамеренный пользователь имел возможность поменять рабочую задачу еще до ее получения майнером, а затем перехватить результат его действий, когда майнер пробует предоставить его на проверку. И все это происходит таким образом, что пул и майнер об этом не в курсе. Такие действия называют «хайджекингом хешрейта» и в Stratum V2 станут невозможны.

Вопрос: Какие дополнительные траты возникнут из-за шифрования?

Питер Тодд: При взаимодействии по типу «пул – майнер» расходы составят около 5%, что допустимо. Если же речь идет о взаимодействии «майнер – пул», то тут будут добавляться 16 байтов (более 50%), однако нужно учитывать и контекст. С применением шифрования уведомления об отправке «шары» в Stratum V2 весят в 2 раза меньше. Кроме того, само количество исходящих сообщений становится меньше, поэтому в итоге число посылаемых данных увеличивается, но незначительно.

3. О принятии сообществом

Вопрос: За счет чего у майнеров будет появляться стимул для начала использования обновленного протокола?

Ян Чапек: Больше всего майнеры будут стимулированы именно повышением эффективности применения пропускной способности. Благодаря этому, даже с плохим интернетом, можно будет заниматься «добычей» криптовалют. Также пулы смогут выполнять предварительное распределение будущих шаблонов блоков среди пользователей (в отрыве от уведомления "SetNewPrevHash"), благодаря чему не будет происходить генерации пустых блоков. Также введение бинарного кода (который считывается компьютером) вместо базирующегося на JSON (позволяющего человеку прочитать код) уменьшает объем отправляемой информации.

Схема 3

Мэтт Коралло: Также не стоит забывать о криптографической аутентификации. Сейчас существует вероятность ситуации, в которой провайдер интернета, не оставляя никаких следов, похищает 1% хешрейта. Шифрование, вводимое второй версией протокола, исключает такую вероятность.

Вопрос: Какие прогнозируются сроки для имплементации, запуска и принятия новой версии протокола?

Ян Чапек: Мы предполагаем, что нужно 3-5 месяцев, чтобы устранить все проблемы, которые могут обнаружиться в дальнейшем. После этого протокол будет готов к масштабному запуску.

С имплементацией проблем возникнуть не должно. Фермы смогут получать возможность применять систему трансляции от первой версии ко второй без замедлений, а пулы смогут применять систему трансляции от второй версии к первой в качестве начального уровня принятия еще до момента, когда будет реализована поддержка.

Базовая реализация входит в созданный нами новый майнер bOSminer, разработанный для замены старого CGMiner.

Вывод

И хотя многие пользователи первой криптовалюты могут не совсем понять изменения, обсуждаемые в статье, новая версия протокола однозначно является важнейшим шагом в улучшении всей сети, где майнинг занимает одно из основных мест. Stratum V2 реализует несколько нововведений, которые будут полезны и пулам, и майнерам, и со стороны будет интересно наблюдать за тем, какие изменения будут происходить в индустрии из-за внедрения протокола и сколько времени уйдет на его принятие.