13 марта в сети Биткоина произошло событие, которое можно по праву назвать историческим. Рано утром в сети был добыт блок из альтернативного клиента, написанного без применения оригинального кода Сатоси Накамото на языке C++.
Пул майнинга BTC.com добыл первый блок с помощью клиента, написанного в совершеннно другой кодовой базе. Альтернативная имплементация протокола под именем Bcoin была создана разработчиком Кристофером Джеффри (Christopher Jeffry), техническим директором Purse и бывшим сотрудником Bitpay.
Кодовая база Bcoin написана на языке javascript (node.js.) и заявлена в качестве реализации полного узла (который до сих пор, фактически, представлен только Bitcoin Core). Протокол был разработан Кристофером Джеффри два года назад.
Джеффри уже давно занимается программированием с открытым исходным кодом и участвует во множестве различных проектов. Проект Bcoin разрабатывался на протяжении почти двух лет, а в прошлую пятницу была запущена бета-версия 1.0.0. Альтернативная имплементация Bcoin была протестирована в тестовой сети Bitcoin, и в настоящее время используется в качестве серверного модуля в системе кошельков на purse.io. Тем не менее, как утверждают майнеры на Gitgub, добытый блок Bcoin был впервые проверен на практике в основной сети Биткоина:
Bcoin проходит проверку в основной сети
Протокол Bcoin предлагает полное подтверждение в блокчейне, функционирует по умолчанию в браузерах и приложениях, включает узел SPV, инфраструктуру кошельков, конфигурацию мемпула и майнера, и совместим с другими функциями Bitcoind. Кроме того, альтернативный клиент обеспечивает поддержку многих предложений, например, BIP70, BIP150, BIP151 и BIP152. Кроме того, альтернативный клиент позволяет разработчикам тестировать и экспериментировать со множеством приложений и методов масштабирования. Многие open source программисты считают, что различные имплементации могут помочь децентрализации и раскрыть ошибки в доминирующем клиенте.
«Множественные имплементации также хороши для стандартизации; в монокультуре стандартом становится доминирующее ПО, предоставляя своим разработчикам более высокую степень контроля над будущей разработкой протокола, чем планировалось изначально», - так ещё в 2013 году объяснял разработчик Эфириума Виталик Бутерин.
Кроме того, Bcoin поддерживает интеграцию других функций, например, MAST, Lightning Network, Segregated Witness и другие. Создатель Purse и Bcoin Кристофер Джеффри говорит, что они открывают исходный код протокола для того, чтобы «приблизить следующее поколение убойных приложений». После добычи первого блока на своем клиенте, разработчик Bcoin заявил:
До сих пор Bcoin в производственной среде отвечал за блокчейн, мемпул и код кошелька. Я очень рад, что код для майнинга, наконец, проходит тестирование.
Основатель Purse Эндрю Ли (Andrew Lee) говорит, что он очень доволен достижениями Кристофера Джеффри.
«Это очень важный момент на пути к разработке децентрализованного протокола. Я очень горжусь Кристофером и тем, что мы создали в Purse/Bcoin.
Это событие даёт мне надежду, что можно найти решение, которое не повлечет за собой раскола цепи».