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

Чому CORE розробники Bitcoin хочуть мати кілька версій

Процес розробки Bitcoin T є демократичним, каже його провідний розробник, але більше можливостей може принести користь Bitcoin CORE.

Нещодавні дебати про те, чи слід дозволити людям вносити власні зміни в протокол Bitcoin, висвітлили важливу думку: можливо, розробка Bitcoin CORE, еталонної версії коду, T єдиний спосіб для людей зробити внесок.

Нещодавня зміна коду Bitcoin потрапив у варіант Linux під назвою Gentoo викликав обурення деяких людей, перш ніж розробник вимкнув його за замовчуванням.

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

«Вони ніколи не будуть об’єднані в репозиторій Bitcoin на Github, але люди, які хочуть ними скористатися, можуть», — сказав провідний розробник Bitcoin Володимир Дж. Ван дер Лан.

Але що таке Github, чому ван дер Лаан має повноваження вибирати, що в нього входить, і як взагалі розвивається Bitcoin ?

Як розвивається Bitcoin

Еталонна реалізація протоколу Bitcoin називається Bitcoin CORE. Це код, який Сатоші спочатку передав CORE групі розробників перед зникненням.

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

Bitcoin CORE управляється за допомогою системи контролю версій програмного забезпечення під назвою Git. Це дозволяє людям KEEP , над якими версіями коду вони працюють і які зміни вони внесли.

Розробники Bitcoin , які запускають Git на своїх комп’ютерах, підключаються до центральної служби, щоб усі могли одночасно працювати над версіями одного проекту. Ця служба, наз Github, має багато різних проектів, які підтримують різні групи людей. Bitcoin є ONE із таких проектів, і він має свій власний Сторінка Github.

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

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

«Ідея полягає в тому, що інші розробники в спільноті переглянуть зміни», — пояснив ван дер Лан. «Потім субмітер вирішує проблеми, порушені іншими. Може також знадобитися Rally людей, щоб протестувати зміни, особливо якщо вони складні або якщо є суб’єктивний компонент (наприклад, для змін інтерфейсу користувача або RPC)».

Якщо зміни, внесені в Request на отримання, подобаються достатній кількості людей, він повертається в головне сховище. Але хто насправді може об’єднати тягу?

Виявляється, існує своєрідне священство Bitcoin , яке керує тим, що врешті-решт потрапляє в код Bitcoin CORE . Ван дер Лан, головний науковий співробітник і колишній провідний розробник Гевін Андресен, Джефф Гарзік, Грегорі Максвелл і Пітер Вуїлле — це команда, яка приймає остаточне рішення, і це T те, що вирішується шляхом голосування, як це можна зустріти в демократії.

«Єдині репозиторії Github не є демократичними», — пояснив ван дер Лан. «Його супроводжувачі співпрацюють у розробці та вирішують, що і коли об’єднувати, а що ні. Складні технічні проблеми не вирішуються народним голосуванням».

BIPS і тягові запити

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

За словами ван дер Лана, Bitcoin CORE підтримується навмисно консервативним способом, і більшість змін вносяться «не суперечливим і чистим». Вони мають справу з малими, поступовими змінами, а не з великими, революційними. Патч для Bitcoin може перемістити деякий код, щоб зробити його більш читабельним, або, можливо, оптимізувати використання пам’яті.

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

«Це потрібно уважно вивчити. Спершу їх потрібно обговорити в списку розсилки, і має бути BIP, а вилучення, як правило, є суперечливим і залишається відкритим протягом тривалого часу для обговорення», — сказав він.

A BIP – скорочення від Пропозиція щодо вдосконалення Bitcoin– це документ, який пропонує глобальні зміни деяких аспектів Bitcoin. Він може поширюватися на речі за межами Bitcoin CORE, включаючи мобільні гаманці або генерацію ключів в апаратних гаманцях. Він також може керувати процесами навколо Bitcoin, наприклад, змінювати процес прийняття рішень.

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

Зміни в цьому напрямку є зміною БІП 62, яка була зміною щодо недолік пластичності транзакції в Bitcoin.

Що підвищує ймовірність впровадження запропонованої зміни в протокол? Ван дер Лан додав, що автор BIP написав приклад коду для тестування та перегляду.

Перегляд і затвердження

Bitcoin -консультант і аудитор безпеки Серхіо Лернер хотів би більше формалізувати процес затвердження коду.

«Коли ви бачите об’єднаний Request на отримання, важко сказати, хто його схвалив [і як] ступінь перевірки патча», — сказав він. «Вам потрібно прочитати багато коментарів і деякі «+1», які можна інтерпретувати як «Я згоден об’єднати це», але ви також можете інтерпретувати це як «Мені це подобається, але я насправді T переглядав код».»

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

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

"Чи означає це рядковий перегляд вихідного коду? Чи означає це перевірку, чи достатньо документації про зміни?" — запитав Лернер. «Чи означає це аналіз змін щодо відомих векторів атак?»

Проблема в тому, що все це потребує часу та Human ресурсів, сказав Лернер:

«Очевидно, що реалізація всього цього потребує додаткових витрат, більшого бюджету та більших CORE ресурсів для розробників (яких наразі бракує). Але програмне забезпечення, яке підтримує промисловість у 6 мільярдів доларів, вимагає цього».

За межами Bitcoin CORE

У той час як Лернер окреслює деякі вимоги до перевірки коду, ван дер Лаан повторює програмну промову Гевіна Андресена на Конференція Bitcoin 2014, де він це сказав можна було б зробити більше для спрощення затвердження BIP.

"Процес BIP міг би трохи попрацювати. Я був би радий, якби розробники інших (повних) реалізацій вузлів були активнішими в коментуванні пропозицій (або висуненні пропозицій)", - сказав він.

Андресен також пропонує перенести обговорення BIP та інші питання перехресного впровадження із загального списку розсилки щодо розробки біткойнів до окремого списку розсилки BIP.

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

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

Але T Bitcoin Foundation, головна торгова організація біткойнів, не повинна піклуватися про такі речі? Ні, стверджує він. Натомість речі у світі Bitcoin виходять за межі цього, і команда розробників вітає різні реалізації Bitcoin.

Ван дер Лаан сказав:

«Доповідь Гевіна на Bitcoin 2014дав зрозуміти що він зосереджений на диверсифікації. Він говорив про іншу реалізацію повного вузла, навіть сказав, що «більше — краще». Незважаючи на те, що підтримка Bitcoin CORE є моєю роботою, я схильний з цим погоджуватися».

Ван дер Лаан вважає, що розробка Bitcoin CORE більше не повинна лягати на відповідальність.

«У перші роки Bitcoin CORE був, можливо, надто важливим, і його розробникам доводилося KEEP світло в інфраструктурі вузлів (і не спати вночі, щоб виправити помилки, щойно вони з’являться). Але, рухаючись вперед, щоб Bitcoin був тією глобальною розподіленою системою, якою він мав бути, ми повинні рухатися далі».

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

Принаймні деякі з CORE розробників активно заохочують інших розширювати мережу за допомогою власних реалізацій, припускаючи, що більшість із них дотримуватиметься правил консенсусу. Ті, хто T зробить, розсинхронізуються, роблячи очевидним, хто в меншості, і змушуючи їх виправляти це.

Розвиток Bitcoin в цьому напрямку може створити простір для таких різновидів Політика деякі люди просили, зберігаючи при цьому правила консенсусу: ті частини, які справді роблять Bitcoin таким, яким він є. Це також зменшить тиск на переобтяжену групу людей, які намагаються підтримувати Технології, що лежать в основі швидко зростаючого бізнесу. І якщо це зробити правильно, це може запровадити деякі нові процеси, про які просять такі учасники, як Лернер.

Постає питання: як Bitcoin розвине таку різноманітність альтернативних реалізацій чисто, ефективно та без будь-якої пов’язаної з цим драми?

Урізноманітнити образ через Shutterstock

Danny Bradbury

Денні Бредбері є професійним письменником із 1989 року, а з 1994 року працює позаштатно. Він розповідає про Технології для таких видань, як Guardian.

Picture of CoinDesk author Danny Bradbury