- Больше децентрализации и безопасности — как изменит майнинг биткоина новая версия протокола Stratum
- Ключевые темы, которые хочет раскрыть Slush Pool:
- Предисловие
- Как Stratum V2 повышает децентрализацию биткоина
- Как Stratum V2 повышает безопасность майнеров и пулов
- Принятие Stratum V2
- Заключение
- Майнинг-пул 2Miners добавил поддержку Stratum-протоколов, совместимых с ASIC
- Что такое протокол сети криптовалюты
- Что такое Stratum (стратум)
- Эра NiceHash-Stratum
- Особенности Stratum для ASIC
Больше децентрализации и безопасности — как изменит майнинг биткоина новая версия протокола Stratum
В ноябре Slush Pool, старейший майнинговый пул в биткоин-индустрии, опубликовал первоначальные спецификации Stratum V2 – нового протокола, призванного улучшить совместную работу майнеров и пулов и сделать добычу биткоина более децентрализованной, обеспечив тем самым более высокий уровень безопасности сети.
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.
Оригинальный протокол 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 определенно можно назвать крайне важным этапом в развитии всей экосистемы, где майнинг играет одну из ключевых ролей. Новая версия протокола предлагает очевидные преимущества как для операторов пулов, так и для майнеров, и будет интересно увидеть, как быстро она будет принята и какое окажет влияние на дальнейшее развитие индустрии.
Подписывайтесь на новости ForkLog в Twitter!
Источник
Майнинг-пул 2Miners добавил поддержку Stratum-протоколов, совместимых с ASIC
Рынок криптовалют находится на этапе роста: на выходных Биткоин прыгнул выше 10 тысяч долларов, а Эфириум продолжает держаться выше отметки в 200 долларов. На фоне этого интерес к индустрии вырастет: причём не только в отношении закупки монет, но и майнинга. Чтобы удовлетворить потребности владельцев майнинг-оборудования, пул 2Miners добавил поддержку Stratum-протоколов и нативных NiceHash-протоколов. Благодаря этому добыча криптовалют будет более эффективной.
Что такое протокол сети криптовалюты
Как вы наверняка знаете из наших предыдущих материалов, пул — это специальное программное обеспечение, которое даёт своим майнерам особую “майнинг-задачку”, собирает её возможные решения и передаёт их ноде криптовалюты. Сложность конечной шары заметно ниже итогового решения блока: таким образом все майнеры могут делиться решениями с пулом и получать вознаграждения за проделанную работу в поисках нового правильного блока, который также называют валидным. Подробнее об этом читайте в отдельном материале о шарах в майнинге.
Опытный майнер. Источник: 2Биткоина
Определённый набор правил, в соответствии с которым работает программное обеспечение для майнеров, называет протоколом сети. Он описывает, какие команды могут быть отправлены от пула к майнеру и наоборот. При этом сюда также относятся ASIC-майнеры, ведь в контексте пула они работают так же, как и майнинг-фермы на видеокартах.
Что такое Stratum (стратум)
Изначально протокол взаимодействия с майнерами под названием Stratum существует со времён Биткоин-пулов. Поначалу после появления Эфириума и первого пула для добычи ETH используемый протокол был практически идентичен с RPC-протоколом ноды. Кстати, именно поэтому его называли EthProxy, ведь он напрямую передавал команды от майнеров к нодам. Однако со временем разработчики пулов решили адаптировать Stratum-протокол для майнинга Эфириума.
Майнер-профессионал. Источник: 2Биткоина
Но поскольку майнинг Эфириума отличается от добычи Биткоина, протокол нельзя использовать напролом. Из-за этого появились специальные версии программного обеспечения конкретно для майнинга ETH. Сначала они являлись чуть ли не полными клонами Stratum-протокола для Биткоина с крошечными изменениями, которые позволяли копать эфиры. Это именно та версия протокола, работающая на пуле 2Miners изначально.
Эра NiceHash-Stratum
С годами протокол стал более эффективным и оптимизированным для майнеров. Движущей силой в развитии Стратума стал NiceHash — платформа, которая позволяет покупать и продавать вычислительные мощности. Для нормальной работы протокола команда разработчиков создали его собственную модификацию и опубликовали его под названием EthereumStratum_NiceHash/1.0. Эта версия специализирована на добыче Эфириума и поэтому имеет более широкие возможности.
Процедура проверки пула
NiceHash по-прежнему поддерживает оригинальный протокол, однако для его запуска необходимы небольшие тонкости. Например, пароль майнера должен быть установлен как “#”: тогда платформа NiceHash поймёт, что пул использует старую версию протокола.
Особенности Stratum для ASIC
После релиза ASIC-майнеров для добычи Эфириума разработчики представили новую версию Stratum-протокола. Первыми ASIC с поддержкой алгоритма Ethash стали Bitmain Antminer E3 и Innosilicon A10, с которым мы уже знакомы. Поскольку ASIC-майнеры серьёзно зависят от своих прошивок, их платы поддерживали только правильные в их понимании имплементации протокола. Поэтому в отличие от того же NiceHash они не работали на майнинг-пулах без поддержки определённой версии Stratum-протокола.
Владельцы Innosilicon A10 связывались с представителями пула 2Miners и интересовались поддержкой данной модели. После нескольких подобных сообщений добавление поддержки ASIC-майнеров стало первоочередной задачей для пула. Решение было интересным, поскольку изначально 2Miners работал исключительно с видеокартами.
Innosilicon A10. Источник: Innosilicon
Разработчики пула 2Miners с помощью сотрудников Innosilicon создали две вариации EthereumStratum для майнеров пула.
После тщательного тестирования разработчики 2Miners с гордостью заявляют, что пул поддерживает каждую разновидность Stratum-протокола из трёх существующих. Это делает их совместимыми даже со старым программным обеспечением, хотя при этом обеспечивает дополнительную гибкость при выполнении ордеров NiceHash на пуле. Также нововведение гарантирует корректную работу ASIC-майнера Innosilicon A10 и других моделей. Если у вас есть ASIC, рекомендуем протестировать его на пуле 2Miners.
Источник