Logo
Condividi questo articolo

Як врятувати мережу вузлів Bitcoin від централізації

Джеймсон Лопп з BitGo LOOKS , чому кількість Bitcoin вузлів зменшується в мережі, і обговорює, що може змінити цю тенденцію.

cost benefit

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

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

La storia continua sotto
Non perderti un'altra storia.Iscriviti alla Newsletter Crypto Long & Short oggi. Vedi Tutte le Newsletter

І все ж, незважаючи на їх важливість, кількість вузлів роками скорочується, ймовірно централізуючи мережу.

Слайд077
Слайд077

Я був пишучи про занепад у підрахунках вузлів протягом кількох років і спостерігав за моїми вузлами за допомогою Статоші програмне забезпечення, яке я випустив у 2014 році. Оскільки продуктивність вузлів і мережі Bitcoin загалом останнім часом стала HOT темою дебати щодо масштабованості, я сподіваюся пролити світло на кілька моментів, яким T приділено багато уваги.

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

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

Залежно від вашої точки зору, ви можете дійти кількох висновків:

  • ONE: оскільки Bitcoin не можна довіряти, єдиний вузол, який має значення, це вузол, який ви запускаєте.
  • Сотні: Або достатньо, щоб будь-яка окрема організація не могла вимкнути значну частину мережі через географічну та юрисдикційну різноманітність.
  • Тисячі: Або достатньо, щоб забезпечити високий попит клієнтів SPV на слоти підключення. Клієнти SPV – це не обов’язково лише гаманці, але також можуть бути однорангові програми, наприклад Маяк.

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

Коли кілька років тому я запитав Пітера Вуїла, розробника Bitcoin CORE , про важливість підрахунку вузлів, він сказав наступне:

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

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

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

Обговорення розміру блоку

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

Розробник Paul Sztorc представив концепцію CONOP (вартість опції вузла) у своїй чудовій публікації, Вимірювання децентралізації. Він стверджує, що нижчі витрати повинні призвести до того, що більше людей будуть здійснювати дії, які приносять їм користь. Для мене цей аргумент має сенс, якщо ви припустите, що в грі T більше змінних, ніж просто вартість експлуатації вузла.

Далі в цьому дописі ми обговоримо інші фактори, які ймовірно впливають на CONOP.

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

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

Пристрій на базі ARM, такий як Raspberry Pi або ODROID+, здається, є поточними мінімальними життєздатними специфікаціями для запуску вузла. Він може KEEP блоки розміром 1 МБ, хоча для виконання початкової синхронізації блокчейну (для блокування 390 000) потрібно два тижні через низьку потужність ЦП.

Ви можете купити a Bitseed за $170 або a Bitcoin Mini за 140 доларів. Якщо ви розбираєтесь у техніці, ви можете створити свій власний Вузол Raspberry Pi за 100 доларів або ви можете створити досить потужний вузол приблизно за 200 доларів який повинен добре працювати протягом кількох років.

Знімок екрана 2016-01-28 о 16.47.30
Знімок екрана 2016-01-28 о 16.47.30

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

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

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

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

Знімок екрана 2016-01-28 о 16.48.53
Знімок екрана 2016-01-28 о 16.48.53

Кого ми хочемо керувати повним вузлом? Наївною відповіддю було б «усі», але очевидно, що це неможливо, оскільки доступ до Інтернету ще не є повсюдним.

Я підозрюю, що надійний доступний широкосмуговий доступ до Інтернету є основною причиною поточного географічного розподілу вузлів.

Гевін Андресен якось сказав:

"Більшість звичайних людей НЕ повинні використовувати повний вузол. Нам потрібні повні вузли, які завжди ввімкнені, мають більше восьми з’єднань і мають високошвидкісне з’єднання з Інтернетом".

Дані зібрані за допомогою Statoshi

показує, що високопідключений вузол потребує в середньому 200 Кбіт/с у низхідній частині та 1,5 Мбіт/с у висхідній частині, хоча використання набагато різкіше, і можна легко побачити піки 2 Мбіт/с у низхідній частині та 40 Мбіт/с у висхідній.

Згідно з Akamai Стан Інтернету середня доступна пропускна здатність становить 5 Мбіт/с, але їх список охоплює лише чверть світу.

За оцінками, станом на 2014 р тільки 60% населення світу користується Інтернетом.

Мінімальна специфікація вузла

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

Я б рекомендував використовувати логіку, подібну до тієї, яку розробили Джонас Нік, Грег Сандерс і Марк Фріденбах для витрати на перевірку розміру блоку. Їхній підхід добре продуманий, хоча мінімальна специфікація повинна бути складнішою, оскільки вона матиме додаткові розміри.

Наприклад, мінімальна специфікація може виглядати приблизно так:

  • Цільова вартість апаратного ресурсу: $200
  • Цільовий найгірший час для перевірки блоку: 10 секунд
  • Мінімальний мережевий I/O: 2 Мбіт/с
  • Мінімальна швидкість введення/виведення диска: 2 Мбіт/с
  • Мінімальний ЦП: 5000 MIPS
  • Мінімальний обсяг оперативної пам'яті: 1 Гб

Жан-Поль Когельман дав а чудовий приклад про те, як установлена ​​мінімальна специфікація допоможе прийняти рішення під час дебатів щодо масштабованості, вивчивши нещодавні зміни вартості перевірки підпису транзакції.

У версіях Bitcoin CORE до 0.12 OpenSSL використовується для перевірки підписів. Починаючи з версії 0.12, підписи перевіряються за допомогою secp256k1, який приблизно в п’ять разів швидший за OpenSSL. У результаті час перевірки транзакції (і, отже, блокування) має стати майже в п’ять разів швидшим.

Оскільки це має скоротити найгірший час для перевірки блоку майже на 80%, мінімальна специфікація дає нам простий двійковий вибір:

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

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

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

Витрати проти вигоди

Я вважаю чудовою метою намагатися KEEP низькі витрати на експлуатацію вузла та доступність для звичайного користувача.

З іншого боку, якщо ми KEEP вимоги до ресурсів вузлів на рівні будь-якої найновішої моделі Raspberry Pi на (середньосвітовому) підключенні до Інтернету в домашніх умовах, я не впевнений, наскільки це буде корисно, якщо попит на включення в блоки призведе до комісій за транзакції, які втратять більше користувачів.

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

Мережі другого рівня (такі як Lightning Network і мережа мікроплатежів 21), безперечно, можуть зіграти певну роль у полегшенні навантаження, але пам’ятайте, що навіть користувачі мереж другого рівня можуть врешті-решт потрібно розрахуватися проти блокчейну біткойна.

Існують численні витрати на роботу вузла, наприклад:

  • Крива початкового навчання (вартість часу)
  • Вартість встановлення, налаштування та початкової синхронізації (час, пропускна здатність, ЦП)
  • Поточні поточні витрати (пропускна здатність, процесор, оперативна пам’ять, диск)
  • Витрати на технічне обслуговування (час на усунення несправностей і оновлення).

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

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

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

BitPay

Генеральний директор Стівен Пар лаконічно викладено:

«У мережі Bitcoin стільки вузлів, скільки є попиту на виконання незалежної та надійної перевірки транзакцій».

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

Хоча деякі стверджують, що запуск вузла сьогодні є суто альтруїстичним, є стимули для цього:

  • Інвестиції:Якщо ви багато інвестуєте в Bitcoin, ви можете підтримати мережу, щоб захистити ці інвестиції.
  • Продуктивність: Запитувати локальну копію блокчейну на порядки швидше, ніж надсилати запити до служб даних блокчейну через Інтернет.
  • Бездозволеність і опір цензурі:Одержуючи та надсилаючи транзакції з вашого власного вузла, ONE не має права заборонити вам це робити.
  • Політика конфіденційності: Якщо ви надсилаєте запит іншим вузлам або службам щодо даних блокчейну, вони можуть використовувати ці запити, щоб спробувати деанонімізувати вас.
  • Недовірливість:Володіння копією книги, яку ви підтвердили самостійно, означає, що вам T потрібно довіряти третій стороні, щоб бути чесними щодо стану книги.

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

Ми нещодавно бачили розгортання BTCC 100 вузлів і ми знаємо, що багато інших Bitcoin бізнесів мають власні ноди. Я сам наглядаю за роботою кількох вузлів основної та тестової мережі від імені BitGo а також керувати кількома вузлами особисто, оскільки я маю багато ресурсів, інвестованих у Bitcoin , і бажання підтримувати мережу.

Якщо користувач володіє Bitcoin лише на суму 100 доларів США, то для нього T сенсу запускати повний вузол, якщо тільки час і витрати на запуск вузла не становлять кілька хвилин і кілька копійок.

Щоб дізнатися точку зору користувачів Bitcoin щодо їхнього рішення запускати або не запускати повний вузол, я провів опитування та зібрав понад 500 відповідей. Очевидно, що це не суворе наукове опитування, але, сподіваюся, це краще, ніж нічого.

Ви можете переглянути аналітику високого рівня тут і необроблені дані доступні тут.

Деякі ключові висновки з цього опитування:

  • 24% опитаних використовували повний вузол, але більше цього не T
  • 42% тих, хто не є операторами , T бачать жодного стимулу для запуску вузла
  • 44% або більше операторів вузлів використовують свій вузол для власної прямої вигоди
  • 57% користувачів готові виділяти вузлу понад 100 КБ/с пропускної здатності висхідного каналу
  • 58% користувачів не бажають платити більше 10 доларів на місяць за запуск ноди
  • 81% операторів нод керують нодами вдома.

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

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

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

Знімок екрана 2016-01-30 о 12.37.23
Знімок екрана 2016-01-30 о 12.37.23
Знімок екрана 2016-01-30 о 12.38.56
Знімок екрана 2016-01-30 о 12.38.56

Висновки

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

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

Так, вартість буде вищою та цілком може перевищити поріг у 10 доларів США на місяць, який (наразі) готовий платити середній користувач, але якщо корисність мережі Bitcoin продовжуватиме зростати та більше організацій будуть здійснювати великі суми транзакцій, у них буде більше стимулів платити вищі витрати, щоб працювати без довіри.

З іншого боку, ми також повинні KEEP , що немає користі від участі в децентралізованій системі, коли вартість перевірки низька, але вартість транзакції надзвичайно висока через боротьбу за блоковий простір.

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

У грі багато змінних, і ми повинні прагнути KEEP їх баланс, щоб розвивати екосистему, зберігаючи її децентралізованою.

У порядку зменшення пріоритету я рекомендую розробникам Bitcoin :

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

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

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

Полегшіть запуск вузла з точки зору обчислювальних ресурсів. Увімкнення вузла для миттєвого запуску в режимі SPV під час синхронізації блокчейну у фоновому режимі було б хорошим першим кроком. Запуск вузла з зобов’язань UTXO був би гігантським кроком вперед.

Дослідіть пряме фінансове стимулювання роботи вузла, наприклад by надання послуг передачі даних в обмін на гонорари.

Якщо ми зможемо KEEP вартість експлуатації вузла від зростання швидше, ніж вартість експлуатації вузла, ми зможемо KEEP мережеву інфраструктуру децентралізованою, навіть збільшуючи навантаження на операторів вузла.

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

Соціальні мережі за Джеймсоном Twitter.

Витрати-вигода зображення через Shutterstock

Jameson Lopp

Джеймсон Лопп є технічним директором і співзасновником Casa, служби самоопіки. Шифрпанк, метою якого є розробка Технології , яка надає людям можливості, він створює багатопідписні Bitcoin гаманці з 2015 року. До заснування Casa він був провідним інженером інфраструктури BitGo. Він є засновником Bitcoin Special Interest Group Mensa, зустрічі Triangle Blockchain and Business і кількох проектів Bitcoin з відкритим кодом. Весь цей час він працював над тим, щоб розповісти іншим про те, чого він навчився на важкому шляху під час написання надійного програмного забезпечення, яке може протистояти як ворогам, так і недосвідченим кінцевим користувачам.

Jameson Lopp