- Вернуться к меню
- Вернуться к менюЦены
- Вернуться к менюИсследовать
- Вернуться к менюКонсенсус
- Вернуться к менюПартнерский материал
- Вернуться к меню
- Вернуться к меню
- Вернуться к менюВебинары и Мероприятия
Распутывание Bitcoin: почему Рассел Янофски разбирает старейший код криптовалюты
ONE разработчик втихую работает над разделением кодовой базы биткоина — эта попытка направлена на то, чтобы предоставить пользователям больше гибкости, а разработчикам — больше ясности.
Разработчики часто используют такие слова, как «монолитный», «капля» и «запутанный», чтобы описать код, лежащий в основе Bitcoin.
Эти слова рисуют картину того, насколько сложным может быть код для понимания и, в свою очередь, для работы с ним, и это не совсем утешительная мысль для сети, поддерживающей $61 млрд долларов инвесторов. Это не значит, что Bitcoin T работает — он работает — но состояние кодовой базы оставляет желать лучшего, как для пользователей, которые могут желать большей гибкости, так и для разработчиков, которые хотят ее улучшить.
Итак, хотя такие изменения, как оптимизация кода Segregated Witness (SegWit) и философия так называемых обновлений «хард-форка», привлекли наибольшее внимание в последнее время, несколько разработчиков Bitcoin работают в тени распутывать беспорядочная архитектура биткойна.
Рассел Янофски из Chaincode, ONE, пытается решить ONE проблемы с помощью так называемого «разделения процессов» в коде Bitcoin CORE , наиболее используемой программной опции.
Янофски рассказал CoinDesk:
«Bitcoin — это старая кодовая база. Она сильно изменилась со временем. Есть много ее частей, где, если бы мы писали все с нуля, мы, вероятно, сделали бы все по-другому. Но поскольку у нас есть это наследие кода, нам нужно найти способы его поддерживать».
Избавьтесь от монолита
Чтобы начать понимать метод разделения процессов Янофкси, вы должны сначала понять, что программное обеспечение Bitcoin CORE состоит из множества различных частей и двух так называемых «процессов», которые объединены вместе, как утверждают некоторые, случайным образом.
Первый процесс называется «bitcoind» и, по словам Янофски, состоит из нескольких частей: однорангового кода, который соединяет узлы в сети; кода проверки, который проверяет, являются ли транзакции и блоки, получаемые узлом, действительными; и кода кошелька, который хранит закрытые ключи пользователя.
Второй процесс, «bitcoin-qt», запускает все эти вещи с добавлением пользовательского интерфейса, так что пользователи с небольшим техническим опытом могут запустить полный узел без использования командной строки.
Янофски считает, что было бы лучше разделить некоторые из этих аспектов кода. Для этого он создает новый процесс, «bitcoin-walletd», который отделяет код кошелька от bitcoind. И он удаляет весь код из bitcon-qt, за исключением пользовательского интерфейса.
Его слайды с презентации BitDevs в Нью-Йорке на этой неделе демонстрируют разницу в структуре:


На высоком уровне может показаться, что различные процессы Bitcoin уже полностью разделены, но с точки зрения кодирования это T. Так что теперь Янофски по сути возводит барьеры между различными компонентами.
Таким образом, после завершения кода часть кошелька не сможет соприкоснуться с другими частями кода.
Смешивайте и сочетайте
Итак, что это будет означать для пользователей? Больше гибкости, в основном.
Пользователи могут перемещать вещи, как пазл, смешивая и сопоставляя части, которые Янофски разделяет. Например, если кошелек не привязан к узлу, пользователи могут взять кошелек и использовать его с любым узлом Bitcoin .
«Возможно, если вы используете старый кошелек, который T поддерживает новые функции, и T хотите от него избавляться или T хотите переводить свои деньги», возможность перенести кошелек на другой узел может оказаться полезной, сказал он.
Аналогичным образом пользователи могут захотеть использовать пользовательский интерфейс bitcoin-qt с различными узлами bitcoind.
«По сути, у вас может быть узел Bitcoin , работающий где-то на сервере. Возможно, вы просто захотите запустить графический интерфейс, чтобы проверить, как используется его полоса пропускания или каковы его одноранговые соединения», — сказал Янофски.
Создание большего количества опций для пользователей, что-то вроде того, что энтузиасты Bitcoin особенно внимательны к, вот почему Янофски вообще работает над этим проектом.
Хотя он признает, что его изменения могут немного замедлить работу или затруднить отладку кода для разработчиков, проект получил благословение GitHub от нескольких Авторы Bitcoin CORE , включая ведущего специалиста по поддержке Владимира Дж. ван дер Лаана и участника Дэниела Коузена.
И это отчасти потому, что преимущества видны T только пользователю, сказал Янофски, добавив:
«В результате появляются видимые пользователю функции, но также есть большой компонент по очистке архитектуры и кода».
Обзор узкого места
Хотя Янофски сказал, что он почти закончил написание кода для крупного обновления, необходимо еще многое сделать, прежде чем его можно будет официально добавить в Bitcoin CORE.
«Самая большая проблема с обзорами — это привлечение внимания людей», — сказал он.
Поскольку ряд разработчиков Bitcoin с открытым исходным кодом должны проверять каждое изменение кода перед его добавлением, а число разработчиков, обладающих опытом проверки изменений кода, ограничено, этот процесс может оказаться ONE.
Янофски также ожидает, что некоторые другие изменения, такие как дополнения к коду P2P от Кори Филдса и изменения кода кошелька от его коллеги из Chaincode Мэтта Коралло, также будут иметь приоритет над его изменением разделения процессов.
«Сейчас фокус определенно не на этой области», — сказал Янофски. «Наш главный приоритет сейчас — улучшение поддержки SegWit. Эта функция должна подождать своей очереди».
Но хотя это пока не входит в список приоритетов, работа все равно обещает стать важным изменением, как подчеркивается в комментарии технического директора Blockstream Грега МаксвеллаGithub Янофски:
«Я думаю, нам следовало сделать что-то подобное давным-давно».
Раскрытие информации:CoinDesk является дочерней компанией Digital Currency Group, которая владеет долей в Blockstream.
Легоизображение через Shutterstock
Alyssa Hertig
Алисса Хертиг, технический репортер CoinDesk, программист и журналист, специализирующийся на Bitcoin и Lightning Network. На протяжении многих лет ее работы также появлялись в VICE, Mic и Reason. В настоящее время она пишет книгу, в которой исследует все тонкости управления Bitcoin . Алисса владеет некоторым количеством BTC.
