- Вернуться к меню
- Вернуться к менюЦены
- Вернуться к менюИсследовать
- Вернуться к менюКонсенсус
- Вернуться к менюПартнерский материал
- Вернуться к меню
- Вернуться к меню
- Вернуться к менюВебинары и Мероприятия
Как спасти сеть узлов Bitcoin от централизации
Джеймсон Лопп из BitGo LOOKS , почему количество узлов Bitcoin в сети сокращается, и обсуждает, что может переломить эту тенденцию.
Я бы сказал, что децентрализация — это самое важное свойство сети Bitcoin . Без нее многие другие свойства биткойнов, такие как способность проводить транзакции без третьей стороны или предоставлять не требующую разрешения платформу для инноваций, были бы скомпрометированы.
Существует множество аспектов, способствующих децентрализации биткойна, наиболее важным из которых является сеть узлов, которые составляют инфраструктуру биткойна, храня копии блокчейна и обмениваясь данными блоков и транзакций по всей сети.
И все же, несмотря на их важность, количествоузлы уже несколько лет сокращается, что, по-видимому, приводит к централизации сети.

Я былписать об упадкев количестве узлов в течение нескольких лет и отслеживал свои узлы с помощьюСтатоши программное обеспечение, которое я выпустил в 2014 году. Поскольку производительность узлов и сети Bitcoin в целом стала HOT темой в последнее время дебаты о масштабируемости, Я надеюсь пролить свет на несколько моментов, которым T уделялось должного внимания.
В ранние дни Bitcoin единственным способом участия в сети был запуск полного узла. С годами экосистема процветала, и теперь у пользователей есть много вариантов кошельков на выбор. Большинство кошельков сегодня представляют собой либо легкие клиенты, которые запрашивают полные узлы для получения данных, либо они размещаются третьими лицами и, таким образом, не требуют от пользователя запуска полного узла.
В результате большинство новых пользователей предпочитают не запускать полный узел, в то время как некоторые существующие операторы узлов решили закрыть свои. Сколько узлов на самом деле нужно Bitcoin ?
В зависимости от вашей точки зрения вы можете прийти к нескольким выводам:
- Во-ONE: поскольку Bitcoin не требует доверия, единственный узел, который имеет значение, — это узел, который вы запускаете.
- Сотни: Или достаточно, чтобы сделать невозможным для какой-либо отдельной организации отключение значительной части сети из-за географического и юрисдикционного разнообразия.
- Тысячи: Или достаточно, чтобы удовлетворить высокий спрос со стороны клиентов SPV на слоты подключения. Клиенты SPV — это не обязательно просто кошельки, но также могут быть одноранговыми приложениями, такими какМаяк.
С другой стороны, мы никогда не сможем иметь слишком много узлов или слишком сильно децентрализовать сеть. С учетом этого, как нам следует реагировать на тот факт, что менее 1% пользователей Bitcoin используют полный узел?
Когда несколько лет назад я спросил разработчика Bitcoin CORE Питера Вюйле о важности количества узлов, он сказал следующее:
«Полные узлы обеспечивают честность сети. И вопрос не столько в их количестве, сколько в том, насколько сложно ONE запустить».
Питер — ONE из самых плодовитых разработчиков Bitcoin с точки зрения кода и функций, добавленных в протокол; он знает, о чем говорит. Питер также является автором Отдельный свидетель, что, как мы надеемся, откроет нам путь к реализации различных решений по масштабированию для Bitcoin.
Поскольку Bitcoin стал настолько популярен, что мы приближаемся к жесткому пределу размера блока в 1 МБ, возникло много споров о том, как мы можем масштабировать сеть, чтобы поддерживать больше пользователей, не оказывая при этом негативного влияния на децентрализацию биткоина.
Дискуссия о размере блока
ONE из аргументов, который часто возникает во время дебатов о размере блока, основан на стоимости работы узла. Существует теория, что более высокие затраты (например, дополнительные требования к вычислительным ресурсам для проверки и ретрансляции более крупных блоков) приведут к меньшему количеству узлов и наоборот.
Разработчик Пол Шторц представил концепцию CONOP (стоимость опции узла) в своем превосходном посте,Измерение децентрализации. Он утверждает, что более низкие издержки должны привести к тому, что больше людей будут предпринимать действия, которые им выгодны. Этот аргумент кажется мне разумным, если предположить, что в игре T других переменных, кроме стоимости эксплуатации узла.
Далее в этой статье мы обсудим другие факторы, которые, вероятно, влияют на CONOP.
Наблюдая и участвуя в дебатах о масштабируемости в течение последнего года, я постоянно возвращаюсь к одной и той же проблеме:не существует определенных минимальных требований к ресурсам для работы узла.
В результате разработчикам Bitcoin не нужно учитывать цель при обсуждении возможности внесения изменений в протокол, которые приведут к увеличению требований к ресурсам для запуска полного узла. Если разрабатывать минимальную спецификацию, то она, вероятно, должна основываться на текущем оборудовании, которое используется для запуска полных узлов.
Устройство на базе ARM, такое как Raspberry Pi или ODROID+, по-видимому, является минимальной жизнеспособной спецификацией для запуска узла. Он может KEEP с блоками размером 1 МБ, хотя для выполнения первоначальной синхронизации блокчейна (для блока 390 000) требуется две недели из-за маломощного процессора.
Вы можете купитьБитсидза 170 долларов илиМини Bitcoinза $140. Если вы разбираетесь в технологиях, вы можете построить свой собственныйУзел Raspberry Piза 100 долларов или вы можете построить довольно мощный узелпримерно за 200 долларовкоторый должен хорошо работать в течение нескольких лет.

Еще одна упускаемая из виду проблема при обсуждении приемлемой стоимости эксплуатации узла заключается в том, что мы никогда не определяли целевую базу пользователей для эксплуатации полного узла.
Демографические опросы, проводимые на протяжении многих лет, по-прежнему указывают на то, что большинство пользователей Bitcoin — это технически ориентированные мужчины европеоидной расы в возрасте до 30 лет, однако это отражает и то, что большинство из них — первые последователи Технологии .
Похоже, в сообществе царит общее мнение, что для того, чтобы Bitcoin добился долгосрочного успеха, нам нужно найти способ сделать его доступным для широких масс.
Тем не менее, как показывает следующая диаграмма BitNodes, узлы в основном сосредоточены в Северной Америке и Западной Европе.

Кто нам нужен для запуска полного узла? Наивным ответом было бы «все», но очевидно, что это неосуществимо, поскольку доступ в Интернет пока не повсеместен.
Я подозреваю, что надежный и недорогой широкополосный доступ в Интернет является основной причиной нынешнего географического распределения узлов.
Гэвин Андресен однажды сказал:
«Большинство обычных людей НЕ должны запускать полный узел. Нам нужны полные узлы, которые всегда включены, имеют более восьми подключений и имеют высокоскоростное подключение к Интернету».
Данные, собранные с помощью Statoshi
показывает, что для узла с высокой степенью подключения требуется в среднем 200 Кбит/с входящего трафика и 1,5 Мбит/с исходящего трафика, хотя использование гораздо более интенсивное и может легко наблюдаться пики в 2 Мбит/с входящего трафика и 40 Мбит/с исходящего трафика.
По данным АкамаиСостояние Интернетаотчете, средняя доступная пропускная способность составляет 5 Мбит/с, но их список охватывает лишь четверть мира.
По оценкам, по состоянию на 2014 г.только 60%населения мира пользуется Интернетом.
Минимальная спецификация узла
Хорошо продуманная минимальная спецификация должна устанавливать целевые показатели производительности, требуемые для узла, ресурсы, необходимые для достижения этих целевых показателей производительности, и стоимость получения оборудования, соответствующего целевым показателям производительности.
Я бы рекомендовал включить в него логику, похожую на ту, что разработали Джонас Ник, Грег Сандерс и Марк Фриденбах длязатраты на проверку размера блока. Их подход хорошо продуман, хотя минимальная спецификация должна быть более сложной, поскольку в ней будут дополнительные измерения.
Например, минимальная спецификация может выглядеть примерно так:
- Целевая стоимость аппаратных ресурсов: 200 долл. США
- Целевое время проверки блока в худшем случае: 10 секунд
- Минимальная скорость сетевого ввода-вывода: 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 требовалось указывать конкретные денежные суммы.
Я по-прежнему считаю, что любая организация (особенно бизнес), которая осуществляет транзакции или хранит значительные объемы ценностей, более заинтересована в запуске узла.


Выводы
Вспомним часто цитируемую теорию о том, что более высокие затраты приведут к меньшему количеству узлов.
Это предположение может быть неверным, поскольку более высокий объем транзакций может быть результатом более широкого внедрения и, следовательно, большего числа субъектов, желающих запустить полные узлы.
Да, стоимость будет выше и вполне может превысить порог в 10 долларов в месяц, который среднестатистический пользователь (в настоящее время) готов платить, но если полезность сети Bitcoin продолжит расти и большее количество субъектов будут осуществлять транзакции на большие суммы, у них появится больше стимулов платить более высокие издержки за работу без доверия.
С другой стороны, мы также должны KEEP , что нет смысла участвовать в децентрализованной системе, когда стоимость проверки низкая, но стоимость транзакции чрезвычайно высока из-за конкуренции за пространство блока.
Если мы подходим к обсуждению размера блока с точки зрения использования ресурсов, мне кажется, что кто-то будет исключен в любом случае. Неувеличение размера блока исключит некоторых пользователей из отправки транзакций, в то время как увеличение размера блока исключит некоторых пользователей из запуска узлов.
В игру вступает множество переменных, и мы должны стремиться KEEP их баланс, чтобы иметь возможность развивать экосистему, сохраняя ее децентрализованной.
В порядке убывания приоритета я рекомендую разработчикам Bitcoin :
Определите минимальные требования к ресурсам для запуска полного узла с целевыми характеристиками производительности, такими как время проверки блока в худшем случае.
Сосредоточьтесь на увеличении объема транзакций, которые может поддерживать сеть Bitcoin , тем самым увеличивая ее полезность и количество пользователей (и вариантов использования), которые она может обслуживать. В результате должно быть больше субъектов, осуществляющих хранение и передачу ценных вещей, которые будут мотивированы запускать собственные узлы.
Сосредоточьтесь на том, чтобы сделать запуск узла более простым с точки зрения кривой обучения. Это также должно происходить естественным образом, поскольку Bitcoin создает более длительную историю и репутацию.
Упростить запуск узла с точки зрения вычислительных ресурсов. Включение возможности мгновенного запуска узла в режиме SPV при синхронизации блокчейна в фоновом режиме было бы хорошим первым шагом. Самозагрузка узла из обязательств UTXO была бы гигантским шагом вперед.
Исследовать возможность прямого финансового стимулирования работы узла, например,предоставление услуг передачи данныхв обмен на гонорары.
Если мы сможем KEEP стоимость эксплуатации узла от роста темпами, превышающими стоимость эксплуатации узла, мы сможем KEEP децентрализованной инфраструктуру сети даже при увеличении нагрузки на операторов узлов.
Демографические характеристики операторов узлов, скорее всего, продолжат меняться, но я призываю пользователей Bitcoin принять изменения в экосистеме, пока фундаментальное свойство децентрализации остается неизменным.
Социальные сети Джеймсоном на Твиттер.
Изображение соотношения затрат и выгодчерез Shutterstock
Jameson Lopp
Джеймсон Лопп — технический директор и соучредитель Casa, сервиса самообслуживания. Шифропанк, чья цель — создание Технологии , расширяющей возможности отдельных лиц, он занимается созданием Bitcoin кошельков с мультиподписью с 2015 года. До основания Casa он был ведущим инженером инфраструктуры в BitGo. Он является основателем группы специальных интересов Bitcoin Mensa, встречи Triangle Blockchain and Business и нескольких проектов Bitcoin с открытым исходным кодом. Все это время он работал над тем, чтобы обучать других тому, чему он научился на собственном горьком опыте, создавая надежное программное обеспечение, способное противостоять как противникам, так и неискушенным конечным пользователям.
