Logo
Поділитися цією статтею

Розплутування Bitcoin: чому Рассел Янофскі розбирає найстаріший код Crypto

ONE розробник тихенько працює над розділенням кодової бази біткойнів – спроба надати користувачам більше гнучкості, а розробникам – більше ясності.

Розробники часто використовують такі слова, як «монолітний», «блоб» і «заплутаний», щоб описати код, що лежить в основі Bitcoin.

Ці слова малюють картину того, наскільки складним може бути код для розуміння та, у свою чергу, роботи з ним, і це не зовсім втішна думка для мережі, яка підтримує 61 мільярд доларів доларів інвесторів. Це не означає, що Bitcoin T працює – він працює – але стан кодової бази залишає бажати кращого як для користувачів, які можуть бажати більшої гнучкості, так і для розробників, які хочуть її покращити.

Продовження Нижче
Не пропустіть жодної історії.Підпишіться на розсилку Crypto Long & Short вже сьогодні. Переглянути Всі Розсилки

Отже, хоча останнім часом найбільше уваги привернули такі зміни, як оптимізація коду Segregated Witness (SegWit) і філософія так званого «hard fork» оновлення, кілька розробників Bitcoin працюють поза радаром. розплутувати безладна архітектура біткойна.

Рассел Янофскі з Chaincode, ONE, намагається вирішити ONE частину проблеми за допомогою так званого «розділення процесів» у коді Bitcoin CORE , найбільш використовуваному варіанті програмного забезпечення.

Янофскі сказав CoinDesk:

«Bitcoin — це старіша кодова база. Вона сильно змінилася з часом. Є багато її частин, де, якби ми писали все з нуля, ми б, ймовірно, робили все по-іншому. Але оскільки у нас є цей спадок коду, ми повинні знайти способи його підтримувати».

Відмовтеся від моноліту

Щоб почати розуміти техніку поділу процесів Yanofksy, ви повинні спочатку зрозуміти, що програмне забезпечення Bitcoin CORE складається з багатьох різних частин і двох так званих «процесів», які згруповані разом, як дехто вважає, випадковим чином.

Перший процес називається «біткойн» і, за словами Янофскі, складається з кількох речей: однорангового коду, який з’єднує вузли в мережі; код перевірки, який перевіряє, чи дійсні транзакції та блоки, які отримує вузол; і код гаманця, в якому зберігаються особисті ключі користувача.

Другий процес, «bitcoin-qt», запускає всі ці речі з додаванням інтерфейсу користувача, щоб користувачі з невеликим технічним досвідом могли запускати повний вузол без використання командного рядка.

Янофскі вважає, що було б краще розділити деякі з цих аспектів коду. З цією метою він створює новий процес «bitcoin-walletd», який відокремлює код гаманця від bitcoin. І він видаляє весь код з bitcon-qt, крім інтерфейсу користувача.

Його слайди з презентації BitDevs у Нью-Йорку цього тижня демонструють різницю в структурі:

слайд1
слайд1
слайд2
слайд2

На високому рівні може здатися, що різні процеси Bitcoin вже повністю розділені, але з точки зору кодування це T так. Тож тепер Янофскі, по суті, будує бар’єри між різними компонентами.

Таким чином, після завершення коду частина гаманця не зможе торкатися інших частин коду.

Змішуйте та поєднуйте

Отже, що це означатиме для користувачів? Здебільшого більше гнучкості.

Користувачі можуть переміщувати предмети, як пазл, змішуючи та поєднуючи частини, які Янофскі розбиває. Наприклад, коли гаманець не прив’язаний до вузла, користувачі можуть взяти гаманець і використовувати його з будь-яким Bitcoin вузлом.

«Можливо, якщо ви використовуєте старий гаманець, який T підтримує нові функції, і ви T хочете його позбутися або T хочете переказувати свої гроші», варіант перенесення гаманця на інший вузол може бути корисним, сказав він.

Приблизно так само користувачі можуть захотіти використовувати інтерфейс користувача bitcoin-qt з різними вузлами bitcoin.

«По суті, у вас може бути Bitcoin вузол, який працює десь на сервері. Можливо, ви просто хочете запустити графічний інтерфейс, щоб просто перевірити, яке використання пропускної здатності чи його однорангові з’єднання», — сказав Янофскі.

Створення додаткових можливостей для користувачів, щось для ентузіастів Bitcoin особливо уважні до, чому Янофський взагалі працює над проектом.

Хоча він визнає, що його зміни можуть трохи уповільнити роботу або ускладнити налагодження коду для розробників, проект отримав благословення GitHub від кількох Автори Bitcoin CORE , у тому числі провідного супроводжувача Володимира Дж. ван дер Лана та учасника Деніела Коузена.

І це частково тому, що переваги стосуються T лише користувача, сказав Янофскі, додавши:

«Є видимі для користувача функції, які виходять із цього, але є також великий архітектурний компонент і компонент очищення коду».

Огляд вузького місця

Незважаючи на те, що Янофскі сказав, що він майже завершив написання коду для основного оновлення, ще потрібно зробити багато речей, перш ніж його можна буде офіційно додати до Bitcoin CORE.

«Найбільша проблема рецензування — привернути увагу людей», — сказав він.

Оскільки кілька розробників Bitcoin з відкритим кодом мають переглядати кожну зміну коду, перш ніж її можна буде додати, і існує обмежена кількість розробників, які мають досвід перевірки змін коду, процес може бути ONE.

Янофскі також очікує, що деякі інші зміни, такі як доповнення однорангового коду Корі Філдсом і зміни коду гаманця від його колеги по Chaincode Метта Коралло, також матимуть перевагу над зміною поділу процесів.

"Зараз увага точно не в цій сфері", - сказав Янофскі. «Нашим найбільшим пріоритетом зараз є покращення підтримки SegWit. Цій функції доведеться почекати своєї черги».

Але поки це не в списку пріоритетів, робота все одно обіцяє стати важливою зміною, як підкреслив коментар технічного директора Blockstream Грега Максвелла до Github Янофського:

«Я думаю, що ми повинні були зробити щось подібне давно».

Повідомлення:CoinDesk є дочірньою компанією Digital Currency Group, яка володіє часткою власності в Blockstream.

Лего зображення через Shutterstock

Alyssa Hertig

Алісса Хертіг, технічний кореспондент CoinDesk, програміст і журналіст, спеціалізується на Bitcoin та Lightning Network. Протягом багатьох років її роботи також з’являлися у VICE, Mic and Reason. Зараз вона пише книгу, в якій досліджує тонкощі управління Bitcoin . Алісса володіє деякими BTC.

Alyssa Hertig