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

Як це переглядати код Bitcoin

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

Are QR codes the answer for in-person bitcoin payments? Source: Hack A Day
Are QR codes the answer for in-person bitcoin payments? Source: Hack A Day

19 червня розробник Chaincode Джон Ньюбері зібрав групу розробників для вивчення запропонованої зміни коду біткойна.

Відбуваючись через Internet Relay Chat (IRC), тема полягала в тому, чи зміна, яка допоможе запобігти групі шахраїв прискорення швидкості виробництва блоків біткойнів, є позитивним <a href="https://bitcoin-core-review-club.github.io/15481.html one with">ONE з</a> обмеженими ризиками для безпеки або несприятливими наслідками.

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

Таким чином, мета Ньюбері — передати те, що він знає про перевірку такого коду.

img1

Чи була ця зупинка «атаки викривлення часу» серйозною зміною?

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

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

Ньюбері створив Клуб перегляду CORE Bitcoin <a href="https://bitcoin-core-review-club.github.io/">https://bitcoin-core-review-club.github.io/</a> , щоб дати кодерам поради щодо того, як з’ясувати, як переглянути зміни та визначити, чи є вони корисними для Криптовалюта. Стенограми засідань тепер публікуються на сайті щотижня.

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

Отже, ви також можете бути ONE із тих, хто робить внесок у код біткойна. На відміну від пропрієтарного коду, його код може бачити та використовувати будь-хто - так званий «відкритий код».

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

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

«Цей щотижневий клуб IRC призначений для людей, які хочуть допомогти переглянути запити на отримання Bitcoin CORE , але вважають цей процес страшним», — пояснює веб-сайт клубу, продовжуючи:

«Перегляд і тестування пул-запитів — найкращий спосіб почати робити внесок у Bitcoin CORE, але важко зрозуміти, з чого почати. ​​Є сотні відкритих пул-запитів, багато з них вимагають багато контекстних знань, а Автори та рецензенти часто використовують незнайому термінологію».

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

Ось як виглядає процес.

Це може зробити кожен

Для початку користувачі можуть перейти на GitHub, веб-сайт, на якому розміщені всілякі проекти з відкритим кодом. Є ONE спеціально для Bitcoin CORE, основного програмного забезпечення для Bitcoin , яке використовує більшість користувачів.

Ви помітите, що в GitHub багато чого, але перегляд коду в основному полягає в перегляді "запити на отримання," ряд змін, які розробники всієї екосистеми подали на розгляд.

img2-2

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

На даний момент розробники намагаються вирішити, чи слід затверджувати ці зміни. Проблема полягає в тому, що є обмежена кількість розробників, які мають достатньо досвіду перегляду змін коду, щоб визначити, чи варто їх офіційно додавати до кодової бази. Через це ONE учасник Bitcoin CORE одного разу описав список запитів на витягування як «кладовище крутих ідей."

Ось чому Newbery намагається допомогти в цьому процесі.

Отже, як насправді переглянути зміни? Як описує Ньюбері на веб-сайті клубу, є кілька ключових кроків, щоб почати, як-от переглянути «внесок у посібник з Bitcoin CORE» і працюючи з C++, мовою програмування Bitcoin CORE .

Далі просто виберіть зміну для перегляду. Маючи понад 300 активних запитів на підключення, з ONE почати? Найкращий вибір для тих, хто ще T знає кодової бази, — це зміни коду, які позначаються як «хороші перші проблеми».

Коли підготовчі роботи закінчені, розробнику потрібно «клонувати» репозиторій або використати git, щоб створити копію кодової бази на своєму комп’ютері, щоб він міг перевірити, чи зміна працює за планом.

Щоб скопіювати всю кодову базу на комп’ютер, потрібна лише проста команда.

img3

Звідти ви можете переглянути Request на отримання. Зазначені розробники повинні потім запустити всі «тести», щоб переконатися, що зміна коду випадково T спотворює іншу частину коду, а потім перейти до перегляду решти коду.

У голові рецензента

Про що мають думати рецензенти?

По-перше, є занепокоєння високого рівня. Визначення того, чи потрібно вносити зміни, особливо ONE, в основному ґрунтується на «приблизному консенсусі», тобто більшість активних Автори погоджуються, що зміни потрібно внести.

На іншій зустрічі клубу Ньюбері https://bitcoin-core-review-club.github.io/16060.html сказав:

"Мої думки щодо відкриття пул-запитів: ніхто не зобов’язаний переглядати. Кожен, хто переглядає ваш код, робить вам послугу. Якщо ви відкриваєте пул- Request, ви конкуруєте з іншими пул-запитами за час на перегляд."

«Якщо ви сумніваєтеся в тому, наскільки корисним, на думку інших людей, буде ваш Request на отримання, не соромтеся запитати в #bitcoin-core-dev або безпосередньо в інших Автори», — додав Ньюбері, посилаючись на іншу групу IRC, де розробники можуть ставити запитання, пов’язані з розробкою Bitcoin CORE .

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

Але навіть якщо ідея загалом ONE , є й проблеми нижчого рівня. Є баги? Чи супроводжується зміна коду тестами, які гарантують, що зміна коду працює за планом? На ці питання витрачається багато часу, відповідаючи на які вони розглядають.

Наприклад, на зустрічі 29 травня (повну стенограму якої ви можете знайти тут <a href="https://bitcoin-core-review-club.github.io/15741.html">https://bitcoin-core-review-club.github.io/15741.html</a> ) розробники розглянули покращення продуктивності для частини гаманця Bitcoin вузла.

Співавтор під псевдонімом «Ariard» провів зустріч, пройшовши процес перегляду, який вони розробили з часом. "Спочатку я спробував визначити, який це був PR: документ, стиль коду, виправлення помилок, нова функція чи додавання тесту. Тому що [на мою Погляди] знання цього факту керуватиме тим, як ви читаєте коміти вперше, скільки часу вам знадобиться для перегляду та які типи тестів потрібні", — сказав розробник.

Інший рецензент зазначив, що вони помітили покращення, просто перевіривши, скільки часу потрібно для виконання коду – до і після. «Мій імпорт 10 000 ключів скоротився з 8 хвилин до 3 секунд xD», — сказав інший користувач під ім’ям «jb55».

Стенограми зустрічей також усіяні різноманітними іншими порадами про те, як спростити цей процес і полегшити його перегляд, а в майбутньому буде заплановано більше зустрічей. Наступні кілька розділів очолюватиме технічний письменник і співавтор Bitcoin Девід Хардінг.

Зображення Адама Бека через архіви Консенсусу

Alyssa Hertig

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

Alyssa Hertig