Как уберечь сеть Биткойн-узлов от централизации

Как сохранить узлы Биткойн-сети децентрализованными

Джеймсон Лопп (Jameson Lopp) – разработчик программного обеспечения компании BitGo, создатель statoshi.info и основатель bitcoinsig.com. Он создает веб-сервисы и увлечен решением проблем масштабирования.

В этом качестве Лопп исследует причины уменьшения количества Биткойн-узлов в сети и обсуждает необходимые меры по преодолению этой тенденции.

Децентрализация представляется мне важнейшим свойством сети Биткойн. Без нее многие другие свойства Биткойн, такие как способность проведения транзакций без участия третьих лиц или предоставления общедоступной платформы для инноваций, будут поставлены под угрозу.

Есть множество аспектов, способствующих децентрализации Биткойна, наиболее важным из которых является сеть, состоящая из узлов. Узлы составляют инфраструктуру Биткойна, именно они хранят копии блокчейна и распространяют по сети данные о блоках и транзакциях.

И все же, несмотря на их значимость, в течение многих лет количество узлов сокращается, что потенциально ведёт к увеличению централизации сети.

Количество узлов в сети Биткойн уменьшилось на 6%

Количество узлов в сети Биткойн уменьшилось на 6% с 6030 узлов, работавших по состоянию на конец 3 квартала.

В течение нескольких лет я писал о снижении количества узлов и отслеживал работу узлов с помощью созданного мной в 2014 году сервиса Statoshi.info. Поскольку производительность узлов и сеть Биткойн в целом стала актуальной темой недавних дебатов по вопросу масштабируемости, я надеюсь пролить свет на некоторые моменты, не получившие достаточного внимания.

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

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

В зависимости от вашей точки зрения, здесь может быть несколько вариантов:

  • Один. Поскольку Биткойн является сетью без необходимости в доверии, то единственный узел, который имеет какое-то значение, это ваш узел.
  • Сотни или какое-то количество, достаточное для того, чтобы отключение значительной части сети стало практически не реализуемым для кого-либо, ввиду географического или юрисдикционного распределения узлов.
  • Тысячи или достаточное количество, чтобы удовлетворять высокий спрос SPV-клиентов. SPV-клиентами не обязательно могут быть только кошельки, но также и пиринговые (P2P) приложения, такие как Lighthouse.

С другой стороны, здесь невозможно пересолить – не может быть слишком много узлов и нельзя чрезмерно децентрализовать сеть. При этом, как относиться к тому факту, что менее 1% пользователей Биткойна содержат полный узел?

Когда несколько лет назад я спросил разработчика Bitcoin Core Питера Вуйле (Pieter Wuille) о важности количества узлов, он ответил следующее:

“Задача полных узлов заключается в гарантировании честности сети. И это не столько вопрос их количества, но больше о том, насколько тяжело содержать узел”.

Питер – один из самых плодотворных разработчиков Биткойна в плане разработки кода и функций, добавляемых в протокол; он знает, о чем говорит. Питер также является автором концепции Отделённого Свидетеля, которая, надеюсь, откроет путь к реализации различных решений масштабируемости Биткойна.

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

Споры о размере блока

Одним из аргументов, часто поднимаемых в ходе дискуссии о размере блока, является стоимость содержания узла. Существует теория, утверждающая, что повышение затрат (например, требования к дополнительным вычислительным ресурсам для проверки и передачи более крупных блоков) приведет к уменьшению количества узлов, и наоборот.

В превосходной статье под названием “Измеряя децентрализацию“, разработчик Пол Шторц (Paul Sztorc) ввел понятие CONOP (стоимость “узла” как опции). Он утверждает, что снижение затрат должно привести к увеличению числа людей, совершающих выгодные для них действия. Этот аргумент имеет смысл, если предположить, что стоимость содержания узла – единственная переменная в этом уравнении.

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

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

В результате, у Биткойн-разработчиков нет цели принимать в расчёт такие требования к железу при обсуждении возможности внесения в протокол изменений, которые ужесточали бы требования к ресурсам компьютера необходимым для поддержания работы полного узла. Если будет необходимо разработать такие минимальные требования, то они должны основываться на спецификации оборудования, которое в настоящее время уже применяется для работы полных узлов.

ARM-устройства, такие как Raspberry Pi или ODROID+ могут выступить в качестве эталона минимальных конфигураций оборудования полного узла. Такое устройство может поддерживать работу с блоками 1Мб, хотя из-за маломощного процессора ему и потребуется две недели для первоначальной синхронизации блокчейна (до блока 390,000).

Можно купить готовый узел Bitseed за $170 или Bitcoin Mini за $140. Если вы технически подкованы, то за $100 сможете собрать собственный узел на базе Raspberry Pi node или даже более мощный узел за 200 долларов, который будет неплохо работать в течение следующих нескольких лет.

готовые полные Биткойн-узлы Bitseed и Raspberry PI

Еще один упускаемый из виду аспект при обсуждении приемлемой стоимости содержания узла заключается в том, что нам необходимо определить целевую аудиторию пользователей-операторов полных узлов.

Демографические опросы, проведенные на протяжении многих лет, продолжают указывают на то, что большинство Биткойн-пользователей являются технически-ориентированными представителями белой европеоидной расы мужского пола младше 30 лет, но эта категория представляет собой наиболее ранних энтузиастов новых технологий.

Существует, кажется, общий настрой в обществе, согласно которому для долгосрочного успеха Биткойна необходимо найти способы его продвижения в массы.

Однако, как показывает диаграмма из презентации BitNodes, узлы в большой степени сконцентрированы в Северной Америке и Западной Европе.

Полные узлы Биткойна в большой степени сконцентрированы в Северной Америке и Западной Европе

Кого бы мы хотели видеть в качестве операторов полного узла? Наивный ответ был бы таким: “всех”, но ясно, что это практически нереально, поскольку Интернет еще не стал повсеместным.

Подозреваю, что надежный недорогой широкополосный доступ в Интернет является одной из основных причин сложившегося на сегодняшний день географического распределения узлов.

В прошлом ведущий Биткойн-разработчик Гэвин Андресен однажды сказал:

“Большинству обычных людей не следует управлять полными узлами. Ведь нам нужны такие полные узлы, которые имеют высокий коэффициент готовности, обслуживают более восьми соединений и обладают высокой пропускной способностью каналов доступа в Интернет ”.

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

Согласно отчету компании Akamai под названием Состояние Сети Интернет, средняя скорость передачи данных составляет 5 Мбит/с, но это справедливо лишь для четверти стран мира.

Оценки показывают, что по состоянию на 2014 год только 60% мирового населения пользуются Интернетом.

Минимальные требования к узлу сети

Хорошо продуманные минимальные требования должны установить целевые значения для характеристик производительности, необходимых для работы узла, требования к вычислительным ресурсам, обязательные для достижения этих целевых характеристик, а также, затраты на оборудование, которое отвечает этим целевым показателям.

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

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

  • Целевая стоимость оборудования: $200
  • Целевое время проверки блока (по худшему сценарию): 10 секунд
  • Минимальные требования к пропускной способности сети I/O: 2 Мбит/с
  • Минимальная скорость чтения/записи диска I/O: 2 MB/с
  • Минимальная производительность процессора: 5000 MIPS
  • Минимальная оперативная память (RAM): 1 GB

Жан-Поль Когельман (Jean-Paul Kogelman) показал отличный пример того, как принятая минимальная спецификация может помочь при выработке решений в процессе обсуждения масштабируемости путем изучения недавних изменений стоимости проверки подписи транзакции.

В версиях ядра Биткойн до 0.12 для проверки подписи используется протокол OpenSSL. В версии 0.12 подписи проверяются с помощью secp256k1, который примерно в пять раз быстрее, чем OpenSSL. В результате, проверка транзакции (а, следовательно, и блока) должна осуществляться почти в пять раз быстрее.

Поскольку это обстоятельство повлечет сокращение максимального (по худшему сценарию) времени на проверку блока почти на 80%, минимальная спецификация предоставляет нам простой двоичный выбор мер:

  1. Соответственно ослабить минимальные требования к вычислительным ресурсам;
  1. Соответственно усилить требования к другим параметрам, таким как количество подписей на каждую транзакцию и количество транзакций в блоке, что позволит нам оставаться в рамках (не ухудшать) минимальных целевых показателей.

Когда предлагаются изменения в протоколе, влияющие на производительность, в этом случае принятая минимальная спецификация даст нам возможность понять насколько эти изменения должны повлиять на требования к узлу. По мере развития технологий и снижения стоимости вычислительного ресурса, также должно быть понятно, в какой степени можно повысить требования к вычислительным ресурсам без увеличения стоимости содержания узла.

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

Затраты и выгоды

Замечательной целью нашей работы могла бы стать попытка сохранить низкий уровень расходов на содержание узла и сделать его доступным для среднестатистического пользователя.

С другой стороны, если мы сохраним требования к вычислительным ресурсам узлов настолько мягкими, что им сможет соответствовать достаточно свежая модель Raspberry Pi с типовым домашним подключением к Интернет, то непонятно насколько это поможет, если возросший в результате конкуренции за место в блоке спрос на включение транзакций в блок приведет к увеличению комиссионных платежей, которые в итоге могут отпугнуть большее количество пользователей Биткойна.

Иначе говоря, если стоимость пользования сетью повышается до точки исключения среднего пользователя из проведения транзакций на Биткойн-блокчейне, то пользователям, вероятно, уже будет не важно  насколько низкими являются их расходы на содержание узла. Имеет смысл рассматривать это с точки зрения баланса между стоимостью проверки транзакции и стоимостью самой транзакции.

Сети второго уровня (такие как, сеть Lightning и сеть микроплатежей 21 Inc) определенно могут сыграть роль в снижении бремени, но не стОит упускать из виду, что даже пользователи сетей второго уровня в конечном итоге должны будут выстраивать отношения с блокчейном Биткойна.

Существует много видов затрат, связанных с содержанием узла.

  1. Необходимость начального обучения (стоимость времени)
  2. Затраты на установку, настройку и первоначальную синхронизацию (время, трафик, процессор)
  3. Текущие операционные расходы (трафик, процессор, RAM, HDD)
  4. Расходы на техническое обслуживание (время на устранения неисправностей и модернизацию).

Начальное обучение для понимания ценности Биткойна может занять недели и месяцы. Для понимания работы узла может потребоваться несколько часов – я уверен, что большинство людей никогда не доберется даже до этапа изучения переадресации портов на домашнем роутере.

Начальная синхронизация может занять от нескольких часов до нескольких недель в зависимости от характеристик компьютера. На обслуживание я бы отвел один час в месяц в худшем варианте.

До сих пор мы рассматривали затраты на содержание узла с различных точек зрения. Разумно предположить, что более высокие затраты приведут к меньшему количеству узлов, а снижение затрат приведет к увеличению узлов. Но, что если цена – не единственный фактор?

Генеральный Директор BitPay Стивен Пэа (Stephen Pair) лаконично пояснил:

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

Я думаю, что Пэа и Шторц оба правы, и, следовательно, количества узлов является функцией спроса на самостоятельно проводимую оператором узла проверку транзакций с одной стороны и затрат на содержание узла, с другой. Я бы сказал, что количество узлов зависит также и от ценностей, хранимых и обмениваемых пользователями Биткойна.

Хотя некоторые утверждают, что содержание полного узла сегодня – в чистом виде альтруизм, для этого бизнеса есть стимулы:

  • Инвестиция: если вы серьезно вложились в биткойн, вас может заинтересовать поддержание функционирования сети для защиты своей инвестиции.
  • Производительность: запросить локальную копию блокчейна можно на порядки быстрее в отличие от запросов в адрес сервисов блокчейн-данных через Интернет.
  • Отсутствие необходимости получать разрешения и стойкость к цензуре: Принимая и отправляя транзакции посредством собственного узла, никто не сможет остановить или помешать вам.
  • Конфиденциальность: если вы запрашиваете другие узлы или сервисы о блокчейн-данных, они могут использовать ваши запросы для попытки раскрыть вашу анонимность.
  • Отсутствие необходимости полагаться на доверие третьим лицам или сервисам: Владение копией журнала транзакций, который вы сами же проверили, означает, что Вам не нужно доверять третьей стороне, чтобы быть уверенным в истинности журнала транзакций.

Моя позиция такова: вместо привлечения каждого человека к содержанию узла, цель в том, чтобы узел был у каждого, кто проинвестировал в биткойн. Те, у кого больше средств вложено в биткойн, имеют наибольший стимул защитить свои активы, управляя собственным узлом и проверяя блоки транзакций, полагаясь в этом на себя без необходимости доверять другим.

Мы видим, что BTCC в последнее время развернула 100 узлов, и мы знаем, что многие другие Биткойн-компании держат свои узлы. Я сам курирую работу нескольких mainnet и testnet узлов от имени компании BitGo, а также лично управляю работой нескольких узлов, потому что вложил серьезные ресурсы в биткойн и заинтересован в поддержании работы сети на должном уровне.

Если пользователь владеет биткойнами на сумму лишь $100, то для него не имеет большого смысла держать полный узел, конечно только если его затраты времени и стоимость ресурсов на содержание узла не составляют величины порядка нескольких минут и несколько центов соответственно.

Чтобы изучить мнения пользователей Биткойн по поводу их решения содержать или нет полный узел, я провел опрос и собрал более 500 ответов. Это конечно же не строго научное проведение опроса, но, надеюсь, это лучше, чем ничего.

Аналитика в общих чертах представлена здесь, а здесь исходные данные .

Приведу некоторые основные результаты этого опроса:

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

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

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

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

Выводы

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

Это может быть не совсем допустимым предположением, поскольку более высокий объем транзакций может быть результатом более активного принятия биткойна и появлением вследствие этого  большего количества лиц, желающих содержать полные узлы.

Да, стоимость будет выше и вполне может подняться выше пороговой суммы в $10 в месяц, которую средний пользователь готов (на данный момент) платить; но если пользование сетью Биткойн станет расти, и больше субъектов станут переводить крупные суммы, пользователи получат больший стимул нести пусть даже более высокие расходы на содержание узла и проведение проверок блоков, но при этом полагаться на себя без необходимости в доверии к другим.

С другой стороны, мы должны также иметь в виду, что от участия в децентрализованной системе будет мало пользы, если стоимость проверки транзакций низкая, а стоимость самой транзакции высока из-за конкуренции за пространство в блоке.

Если мы подходим к дискуссии о размере блока с точки зрения использования вычислительных ресурсов, мне кажется, что в любом случае кто-то выпадет из процесса. Не увеличение размера блока приведет к отвращению некоторых пользователей проводить транзакции, в то время как увеличение размера блока приведет к тому, что некоторые пользователи откажутся содержать собственные полные узлы.

В уравнении много переменных, и мы должны стараться сохранить их в балансе таким образом, чтобы можно было развивать и растить экосистему, при этом сохраняя ее децентрализованной.

В порядке убывания приоритета, я рекомендую Биткойн-разработчикам следующие меры:

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

Сконцентрироваться на увеличении объема транзакций сети Биткойн, тем самым повышая эффективность ее использования и число обслуживаемых ею пользователей (и вариантов использования). В результате должно появиться больше субъектов (лиц или организаций), осуществляющих хранение и переводы ценностей, которые, следовательно, будут мотивированы содержать свои собственные узлы.

Сосредоточиться на облегчении содержания узла с точки зрения необходимых для этого знаний. Эти изменения будут происходить естественно, по мере того, как Биткойн будет приобретать известность и репутацию.

Облегчить содержание узла с точки зрения необходимых вычислительных ресурсов. Неплохим первым шагом стало бы предоставление возможности работы узла в SPV-режиме (тонкий клиент) во время продолжительной первоначальной синхронизации блокчейна в фоновом режиме. Начальная загрузка узла c обязательств UTXO стала бы гигантским скачком вперед.

Исследовать возможности прямой экономической мотивации содержания узла, например, такой как предоставление данных блокчейна на платной основе.

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

Демография операторов узлов, вероятно, продолжит меняться, но я призываю  Биткойн-пользователей не противиться изменениям в экосистеме покуда её фундаментальное свойство – децентрализация – остаётся в сохранности.

Автор: Джеймсон Лопп (Jameson Lopp)

Источник: CoinDesk



Categories: Безопасность, Инвестиции, Инфраструктура, Новичкам, Сообщество, Теория, Технологии

Tags: , , ,

50 replies

  1. Без уполовинивая, а значть без общего лимита монет, биткойн потреяет свою привлекательность

    • Меня бесит Roger Ver. То что он хочет сделать приведкт к тому, что содердать узел станет еще сложнее. Это прмведет к резкому отключению узлов. Неужкли не понимакт?в

  2. Страшно жить среди знакомых, у которых есть страх, что биткоин – это что-то плохое.

  3. Что-то не видно, не слышно адептов секты “Свидетели Малого блока”.
    Неужто заголовок статьи “Как уберечь от централизации ” ввел вас в заблуждение. Ведь выводы в конце статьи не то что камешек, булыжники кидают в ваш огород.
    Али пребываете денно и нощно в молитвах, чтобы явилось на свет такое чудо, как “Разделенный свидетель”. С появлением которого снизойдет на всех благодать – увеличение количества транзакций аж в 1.5 раза. 🙂

  4. Первая нормальная статья на bitnovosti на тему размера блока за последние несколько лет.

    Ну и в итоге, сейчас core не дает интерфейса в стиле blockchain info и мне нет стимула ставить полный узел, что бы самому проверять транзакции.

    И если у нас нет цели работать на raspberry pi, то современных компьютеров более чем достаточно для 16 мбайтных блоков, и таких компьютеров – миллион в интернете.

    • в точку. только тут уже вопрос МИКРОзаработка, который мало кому нужен. т.е. возникает вопрос с мотивацией посредством других инструментов. идейность? не то…

      цель какая? миллионы компьютеров (их мощности). как их привлечь ненасильственным способом?

      …на хакатоне, на коленке tibdit создал отличный инструмент по использованию мощности компьютера при потреблении владельцем разного рода контента – просто находясь на той или иной странице с открытым браузером неказистый скрипт потреблял процессорную мощь в своих интересах. при этом потребитель завал контент, владелец контента получал оплату, а сервис – свои плюшки собирал. но, как это часто бывает, толковый инструмент, конечно, забили/засудили и сейчас хлопцы балуются какой-то чушью… но прецедент классный!

      в нашем случае, модель потребует изменения в сторону построения торрент-сети: для использования того или иного ресурса пользователь или платит абонплату, или “оплачивает” контент через предоставление своего РС в пользование третьим лицам (которые уже закачивают блоки частями, обновляют их и т.д.). и тут опять всплывает НО… а платить кто будет? BTC-СЕТЬ!

      биткоин перестанет быть детсадовцем и пойдёт в школу (или даже в институт) только тогда, когда будет РЕАЛЬНАЯ децентрализация. она же возможна только в случае привлечения миллионов узлов (или их концентраторов), которым необходима ФИНАНСОВАЯ мотивация!!!! с каких херОв труд майнера оплачивается, а узел вынужден играть в альтруизм!? построили 100 узлов!? СПАСИБО! и?

      каждый труд внутри сети должен быть вознаграждаем. то, что есть люди, способные жить идеей и своей верой в светлое будущее – отлично. только таких людей десятки, возможно, сотни. но никак не миллионы. совершенно согласен, что по данному вопросу должны в первую очередь активно раздумывать те, кто больше вложился. звучит грубо, нагло, но это так. и тут вопрос не только в деньгах – в инициативе и её дальнейшей массивной поддержке в вопросе введения комиссии за суппОрт узлов. только так мы сделаем качественный шаг. а пока феодализм. китайский феодализм.

      • интересная идея на счет оплаты контента.

        • оплата контента через ПРОСТОЕ ПРИНЯТИЕ ПРАВИЛ ПОЛЬЗОВАНИЯ, которые включают запрос на доступ к мощности PC клиента (и запуск скрипта внутри браузера) – это революция, которую ПОКА прикрыли представители классической рекламной модели. время пришло? ) конъюнктура подходящая!

      • Труд майнеров конечно оплачивается, вот только ответ на вопрос, кем он оплачивается, мало кого радует.

  5. Если посмотреть на эту проблему с другого боку.

    У нас есть два разнонаправленных потока, влияющие на количество фулл-нод:
    1. “Домашние пользователи” мигрируют с нод на легкие клиенты.
    2. Бизнес, по мере развития Биткоина, добавляет новые фулл-ноды.

    Пока преобладает 1-й, поэтому количество сокращается. Но 1-й процесс не бесконечный.И когда-то количество фулл-нод достигнет минимума и дальше будет обратно увеличиваться в зависимости от развития экосистемы вокруг Биткоина.

    По самым пессимистическим прикидкам (моим) количество фулл-нод уже НИКОГДА не будет меньше 200-300. А скорее всего, и меньше 1000 не будет. Бизнес просто этого не допустит.

    Из этого следует неожиданный вывод.: Проблемы то НЕТ!
    Вся эта шумиха по поводу “уменьшения децентрализации”, которая длится уже год, не более чем “буря в стакане воды”. 🙂

    • Бизнес просто этого не допустит.

      На бизнес всегда могут надавить регуляторы, потребовав изменить алгоритм работы нод и например внедрить черные/белые списки адресов.

      По самым пессимистическим прикидкам (моим) количество фулл-нод уже НИКОГДА не будет меньше 200-300. А скорее всего, и меньше 1000 не будет.

      Банков тоже много, но все они пляшут под дудку ФРС и ФАТФ.

      • Вы преувеличиваете роль фулл-нод. Чтобы внедрить черные/белые списки адресов, достаточно поставить под контроль 20 пулов. (всего 20!). Никто с 1000 фулл-нод связываться не будет. И если бы чиновники знали, что могут это сделать, то давно бы уже сделали.

        И откуда у Вас эта установка, что на физ.лицо, которое выходит в интернет под белым ip-адресом, нельзя надавить. А на бизнес можно. Я уже который раз это слышу.
        Если правительство какой-либо страны захочет регулировать, физ.лица и бизнес будут в абсолютно одинаковых условиях.

        Если власти смогут закрыть 300 фулл-нод, разбросанных в разных странах, в разных юрисдикциях, то они смогут закрыть и 1000, и 5000.
        Для того, чтобы это сделать, надо поставить под контроль фулл-ноды во всех странах, где есть интернет. Задача нереальная, но самое интересное, сложность этой задачи НЕ ЗАВИСИТ от количества фулл-нод.

        • положить 6000 нод – вопрос достаточно скромного бюджета. это ПОКА никому не надо. хотя затея, наверняка, уже где-то как-то кем-то вынашивается. это будет шантаж всем шантажам шантаж. майнеров это не касается по вполне понятным причинам – там порог для сливания всех и вся (практически) не преодолимый. а тут.. можно ) пробовать. по крайней мере ПОКА.

          • Что значить “положить 6000 нод”. Можно в деталях, как это выглядит и что это даст “положившему”. Очень легко кидать такие идеи, но попробуйте реализовать хотя бы в виде правдоподобного плана.

            Думаю, что затея не вынашивается, потому как бессмысленна.

            • каждое устройство имеет канал доступа к себе/от себя. каждый канал имеет характеристику “ширина”. диверсия по отношению к данному каналу/устройству возможна?

            • Теперь понятно. Вы имеете в виду DDOS-атаку на все фулл-ноды.
              Теоретически возможно. Практически, непонятно, что это дает атакующему и окупает ли атаку.

              Соображения:
              1. Опять же, нет смысла атаковать 6000 фулл-нод. Достаточно задосить 20 пулов. 🙂

              2.DDos-атака на тысячи узлов довольно затратное мероприятие.
              Поэтому насчет скромного бюджета я сомневаюсь.

              3.Фулл-ноды, принадлежащие бизнесу, будут лучше защищены, чем фулл-ноды, принадлежащие физ.лицам. Скорее всего, они уже проводят мероприятия, предотвращающие такую атаку.

  6. Хорошая толковая статья.

    Есть один момент. Ноды в принципе можно разделить на два типа:
    1. Без внешнего ip-адреса
    2. С внешним ip-адресом и открытые для доступа извне.

    Что-то не нашел в статье акцента на это. А ведь цели, задачи у этих нод сильно отличаются. И роли, которую они играют в системе, разные.

    Соответственно, например, должны быть разные технические требования.

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

  7. Хотел сделать себе полный узел но для этого нужен белый ip. В этом основная проблема а не в дисковом пространстве, терабайтов у меня до хрена но нет ip

    • нет, Bitcoin Core не просит белого IP. Запускайте.

      • Это будет не полноценная полная нода. До этого узла не будет доступа из сети.

    • но для этого нужен белый ip.

      Не нужен, если сделать узел доступным как tor hidden service

    • Берёшь VPS-хостинг где-нибудь недалеко, в Европе, например. Делаешь туннель и проброс порта. Открываешь полную ноду. Всё удовольствие – десяток баксов в год. Плюсом получаешь чистый ip для обхода роспотребовских блокировок и прочей хрени.
      В России на белом ip просто опасно светить ноду.

  8. ЧТо такое “ПОЛНЫЙ УЗЕЛ”?

    • В биктойне не существует центрального сервера, который вёл бы учет всех транзакций. Но это не значит, что информация о транзакциях не хранится ни на каких серверах вовсе. Как раз наоборот. На самом деле, тысячи разных серверов фиксируют перемещения биткойнов. Каждый такой сервер в системе Биткойн называется полным узлом.

      Полный узел – это автоматический электронный бухгалтер, кто угодно может его установить и использовать. Каждый узел хранит полную копию открытого реестра – запись всех биткойн-транзакций, совершенных когда-либо, начиная с момента появления Биткойна.

      Подробнее можно почерпнуть из этой статьи: https://bitnovosti.com/2014/07/17/tak-chto-zhe-takoe-bitcoin/

  9. Людей (физических лиц), держащих полную ноду будет все меньше и меньше. В первую очередь, полный узел необходим майнерам, а точнее – майнинговым пулам. Сейчас сеть генерирует 144 блока в день, если исходить из того, что максимальным временем нахождения блока для майнера (точнее – пула) являются одни сутки, то всего майнеров (пулов) не может быть более 144 штук или около того. Увеличить децентрализацию и нарастить количество узлов можно только одним способом: хардфорк битка, при этом, нужно увеличить скорость создания блока, пропорционально снизив при этом награду. Иначе никак, без этого централизация будет только расти.

    • Бред, великолепный в своей бессмысленности. Иначе никак.

      • Может Гуру все же снизойдет и расскажет, где конкретно я написал бред?
        То что сеть генерирует в сутки примерно 144 блока? Это бред?
        Централизация сети происходит из-за того, что конечный пользователь не видит смысла в том, чтобы содержать полную ноду? Бред? Альтруистов мало и их со временем будет становиться все меньше и меньше. На заре становления битка полная нода была сама по себе майнером – именно это служило стимулом для запускающего ноду к тому, чтобы не отключать ее. И сейчас полные узлы необходимы, в первую очередь, майнерам. Но это не отдельные майнеры, а пулы.
        Может быть купив асик, типа Antminer R4, какой-то гипотетический Вася Пупкин повысит децентрализацию сети? Нет. Вася подключит асик к пулу, который будет находить ему блок хотя бы раз в сутки. В соло майнинге на свою собственную ноду (в режиме реальной децентрализации) Вася никогда свой асик не окупит. И если он не идиот, а субъект, материально заинтересованный в том, чтобы “отбить” вложения, то он никак, то слова “совсем”, не увеличит децентрализацию.
        Так где бред? Я предлагаю решение проблемы централизации, довольно непопулярное, но реальное решение, вместо того, чтобы агитировать людей запускать полные узлы уговорами, типа: “Каждый держатель битка должен помочь биткоину запуском своей собственной ноды” – вот это как раз бред.

        • Если отойти от категорий “бред/не бред” к категориям “вред/не вред”. Я считаю, что любые вмешательства в протокол – это вред. Поскольку будет подорван имидж биткойна, как стабильного и неизменяемого. Если его легко изменить сейчас, значит его легко будет изменить и потом. Кому-то придет в голову отказаться от уполовинивания вознаграждения, и что тогда? Поставят на голосование и хардфоркут? Нее, скажут люди, мы в эти игры не играем! Не будем вкладываться в биткойн, он не гарантирует лимит количества!
          Я тоже хочу людей призвать к альтруизму. Да, поставить общественные интересы (спасения этой планеты!) выше своих личных. Как бы пафосно это ни звучало.

          • Да, поставить общественные интересы (спасения этой планеты!) выше своих личных.

            Ерунда. Биткойн для тех, кто ставит свои интересы выше общественных и не желает, чтобы общество распоряжалось его деньгами, отслеживало доходы и собирало налоги, или забирало под каким-либо другим предлогом вроде штрафов и списаний различных задолженностей судебными приставами с банковского счета, как это происходит в фиатном банкинге.

        • Альтруистов не мало. Например те, кто ходит на выборы. Держать свой узел это аналогичный поступок. Если ты живешь в этом мире, то запусти свой узел, который будет голосовать.

          • Уже голосование сюда приплели… ))) Хорошо, пойдем от этой аналогии…
            Ну реальное “голосование” и нода без майнеров – это две большие разницы. Без майнеров нода нигде не “голосует”. Только подтверждает валидность транзакции. “Голосуют” все-таки майнеры, в том смысле, что только нода с работающими на нее майнерами (пул) – это тот узел, за счет которого сеть живет.
            Я бы вообще узлы отсортировал таким образом (по значимости относительно сети биткоин и безопасности работы):
            0. Легкий клиент, типа кошелька на Android. Самый примитивный, низкий уровень. Узел полагается только на данные, предоставляемые ему полными узлами. Самая низкая безопасность, самая низкая ценность для сети, точнее даже, нулевая ценность для сети.
            1. Полный узел, тот же Bitcoin Core с серым IP и вдобавок с обрезанной базой данных (prune mode). Не сильно лучше предыдущего варианта, также нулевая ценность для сети, но существенно более безопасно для пользователя, использующего его.
            2. Полный узел с серым IP и с полной базой данных. Этот узел проверяет транзакции, которые поступают от других клиентов сети биткоин, с которыми только он сам соединяется. Уже существенно лучше предыдущих вариантов, но такой узел хоть и имеет, но весьма незначительную ценность для сети, практически нулевую. Хотя в плане безопасности пользования битком это, наверное один из лучших вариантов.
            3. Полный узел с белым IP и с полной базой данных. К этому узлу можно подключиться извне. Еще более ценный узел для сети. Но все-таки это не тот узел, который “голосует”. Это типа наблюдателя на тех же выборах. )))
            4. Полный узел с белым IP, полной базой данных и майнерами, работающими на этот узел (пул). Именно этот узел является “голосующим”, он может не включать в блок выбранные транзакции, может вообще отказаться от включения в блок каких-либо транзакций и их комиссий и забирать себе только награду за блок. В зависимости от мощности майнеров, подключенных к нему, в его силах начать создавать свою версию блокчейна, с которым всем придется согласиться…

            Так вот узлов 4-го типа очень немного. И это плохо для сети… Хоть обзапускайтесь узлами типа 0-3, вы не сделаете сеть более безопасной, вы не “голосуете”, вы просто “активные наблюдатели” (в лучшем случае) на этих “выборах”.

        • Альтруистов мало и их со временем будет становиться все меньше и меньше.

          Хотите, чтобы количество нод сократилось? Продолжайте утверждать, что полная нода – удел альтруистов, а не тех, кто хочет полностью контролировать свои биткойны и приватность, а не зависеть от добросовестности держателей серверов для spv-клиентов. Второй важный аспект – поддержание работы сети биткойн в интересах владельца биткойнов – ведь если сеть будет скомпрометирована – его сбережения обесценятся.

    • С чего ты взял, вообще свое ограничение в сутки. Нет такого.

      • 6*24 ртфм

        • Где в мануалах написано, что каждый майнер должен получать один премиальный блок в сутки?

          • Нигде. Но, лично для меня, как майнера, оптимально минимальный срок нахождения блока пулом – сутки. Если мой пул начнет находить блок неделю, то я уже задумаюсь… Ну а если пул находит блок месяц, то мне такой пул нафиг не нужен.
            Так вот ответы на эти вопросы в мануалах не найти, нужно просто взять и начать майнить… И раз тут комментаторы такие суровые, что им пофиг, за сколько он найдёт блок, то предлагаю начать майнить соло одной видюхой кефир. Может тогда, наконец, дойдёт…

  10. Держу свой узел на арендованной виртуалке за 50 долларов в год. Тарифный план предусматривает выделение 100 Гб дискового пространства. Но сам узел уже занимает 93 Гб и продолжает расти. Через несколько месяцев он заполнит всё доступное пространство и будет остановлен. Подозреваю, что это не только моя проблема и одновременно остановятся все 100 гигабайтные полные узлы. Аренда большего пространства почему то везде непропорционально дороже.

    • Сколько стоит ближайший по цене тарифный план?

    • Включите режим удаления старых данных блокчейна.

      Польза от ноды останется.

      • это можно сделать в bitcon core?

      • А какая от нее польза? Скачать блоки с нее нельзя, потому что есть только связанные с транзакциями владельца, проверять чужие транзакции она не может.

  11. Привет из Германии. Полгода назад я запустил узел у себя дома. Для этого купил Б/у ноутбук за 150 евро (сейчас такие стоят 100 евро). Лично для меня пользы в этом нет никакой, я этим кошельком не пользуюсь.
    Самая большая проблема – это хороший интернет. У меня он, слава Богу, есть.
    Знаете, я бы даже поставил этот узел кому-нибудь из знакомых, а себе запустил бы еще. Но среди знакомых фанатов нет, и у знакомых есть страх, что это что-то плохое.

    • На чистом энтузиазме далеко не уедешь. Если бы Ваш узел приносил хоть какой нибудь доход окупая затраты на интернет и электричество, фанаты среди знакомых сразу бы нашлись.

      • Это разве возможно сделать сохряняя уполовинивание эмиссии каждые 210000 блоков?

Trackbacks

  1. Почему вы должны запустить полный узел Биткойна – Bit•Новости

Поделитесь своими мыслями

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s