Размер блока: биткойн не масштабируется

bitcoin-size-750x500На прошлых выходных состоялся официальный релиз форка Bitcoin XT. По заявлениям его авторов, больший размер блока увеличит пропускную способность сети, позволит делать больше транзакций и будет способствовать более широкому распространению криптовалюты. Почему тогда это решение вызвало столько споров? Почему разработчики Bitcoin Core давно не внедрили его? Мы же все стремимся к популяризации биткойна, не так ли? Кажется, что разработчики Bitcoin XT не говорят всей правды и сознательно ставят биткойн под удар.

Децентрализация и отсутствие доверия: принципы биткойна

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

  1. сделать биткойн децентрализованным;
  2. дать сети возможность вырабатывать консенсус.

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

Без доверия: стойкость к цензуре

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

Преимущество децентрализованной природы сети биткойн — стойкость к цензуре. Как и в любой пиринговой сети, все узлы равны; любой узел не более важен и не стоит выше в иерархии, чем любой другой. Поэтому в сети нет единственной уязвимой точки. Сеть нельзя отключить, как Napster, когда представители ФБР получили ордер, вошли в серверную и выдернули провод.

Преимущества биткойна имеют свою цену:

  1. Дороговизна. Майнинг расточителен в отношении ресурсов: он потребляет электричество, внося вклад в выбросы углекислого газа, и требует дорогостоящего оборудования для генерации решений proof-of-work и включения валидных транзакций в блокчейн.
  2. Ненадёжность. Динамическая сложность и случайные факторы приводят непостоянной скорости генерации блоков. Иногда пользователи ждут включения транзакции в блок пять минут, иногда — до часа. В моменты, когда много транзакций претендуют на место в блоке, побеждают транзакции с высокими комиссиями; при этом заранее нельзя понять, достаточен ли размер комиссии и что произойдет с транзакцией.
  3. Низкая скорость. Транзакции должны распространиться по сети и быть включенными в блок, что занимает в среднем 10 минут. Блок, в свою очередь, должен тоже распространиться по сети и быть признан валидным другими узлами сети. Считается, что транзакция «подтверждена», когда блокчейн увеличился на шесть блоков, считая блок, содержащий транзакцию.

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

Сатоши Накамото пришлось пожертвовать скоростью и пропускной способностью ради достижения главных целей. Биткойн — не подходящий соперник для Visa или PayPal, так как он плохо масштабируется.

Проблемы больших блоков

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

Биткойн-транзакции может совершать любой. Пока пользователь порождает валидные транзакции, нельзя подвергнуть их цензуре. Если размер блока будет увеличен и, следовательно, количество транзакций с низкими комиссиями вырастет, что помешает корпорациям, банкам и правительствам использовать эту возможность для организации удобной сети для собственных нужд? Им не потребуется финансировать и разрабатывать собственную такую сеть (хотя Эквадор это сделал). Скорее всего, скорость и емкость сети биткойн обеспечивает достаточную надёжность для задач даже большого предприятия, если при этом требуется прозрачность отчетности.

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

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

Мировое господство

Существующее ограничение 1 мегабайт на размер блока теоретически допускает совершение 7 транзакций в секунду при размере транзакции 250 байт. Давайте мысленно масштабируем биткойн до размеров Visa – 22 тысячи транзакций в секунду. 10 тысяч биткойн-транзакций в секунду требуют блоков по 1,6 ГБ; блокчейн будет расти на 87 ТБ в год или на 1,5 ТБ в неделю. (Пример не учитывает техническую невозможность такого сценария из-за задержек при валидации блоков по причине медленного распространения по сети 1,6-гигабайтных блоков.)

Это повлечет полную централизацию майнинга — ключевого механизма обеспечения безопасности сети. Допуская, что протокол может обработать такие объемы трафика (на самом деле не может), зададимся вопросом: многие ли из сегодняшний майнеров могу позволить себе оборудование, необходимое для сети такого размера? Кто, кроме элитного меньшинства, позволит себе поддерживать полный узел и вносить склад в надежность и безопасность сети?

Поиск консенсуса — медленный процесс. Безопасность сети прямо зависит от степени децентрализации. Из это следует, что ни Bitcoin Core, ни Bitcoin XT никогда не смогут соперничать с Visa. Но это и не было целью биткойна. В свою очередь, Visa, несмотря на свои тысячи транзакций в секунду, не предоставляет пользователям неподцензурный протокол для программируемых платежей, не требующих доверия.

Хранители биткойна

Консервативная фракция в споре о размере блока приводит свои технические доводы. Децентрализация биткойна не обеспечивается сама по себе. В протоколе не реализован «алгоритм децентрализации». Степень децентрализации лежит в области ответственности пользователей. Поскольку важно, чтобы как можно больше пользователей поддерживали полные узлы, распределение мощностей майнинга следует поощрять: много мелких пулов лучше, чем несколько крупных. Следует помнить об опасности атаки 51% одним пулом или несколькими сговорившимися пулами.

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

Если проблема настолько тривиальна и биткойн не масштабируется, почему же разработчики XT не принимают это во внимание? Им не единожды задавали вопрос: «Зачем вы подвергаете биткойн риску централизации, увеличивая размер блока?» Вместо ответ на этот вопрос, они заученно твердят что-то вроед: «но когда сеть достигнет предельной пропускной способности, случится что-то ужасное!» Ужасное в данном случае состоит в том, что рынок будет определять стоимость транзакций. И это все? Да, все остальное – это беспочвенные страхи и спекуляции: технически обусловленной опасности нет.

Вопрос в том, почему Гэвин Андрисен и Майк Хирн подвергают биткойн (и чужие деньги) риску централизации, пытаясь масштабировать его до масштабов, для которых он просто не предназначен был с самого начала?

Уровень 2: бесконечное количество транзакций

Разработчики Bitcoin Core предпочитают двухуровневую архитектуру сети: непосредственно биткойн играет роль первого уровня (core settlement layer); второй уровень — уровень микротранзакций — реализуется поверх первого. Разработка сети Lightning подразумевает парадигму, при которой в принципе неограниченное количество мгновенных биткойн-транзакций возможно при очень умеренном размере блока.

В завершение приведем цитату Эрика Воскуила (Eric Voskuil), разработчика Bitcoin и мейнтейнер libbitcoin:

«Вы, похоже, не понимаете, почему биткойн — лучшие деньги. Вы задумывались, почему биткойн-транзакции относительно недороги, хотя система крайне неэффективна? Эти две вещи связаны. Низкая стоимость передачи биткойнов — прямое следствие того, что никакое доверие не требуется. Любой компромисс [в области децентрализации] сведет на нет это преимущество.

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

Но лишь до тех пор, пока Биткойн полностью децентрализован.

Источник: cryptocoinsnews.com

Tip



Categories: Безопасность, Важное, Майнинг, Общество, Технологии, Экономика

29 replies

  1. А что, нам нужно, чтобы биткойн превратился в аналог VISA, с десятками тысяч транзакций в секунду? Подумаем, какие размеры блоков для этого нужны (хинт: терабайтный диск будет забиваться под завязку меньше, чем за сутки, а каждому узлу необходим будет магистральный оптический кабель), и сразу поймем, что это – дурацкая идея. А если принять как должное, что Биткойн не масштабируется через раздувание блоков, то другого варианта кроме как оставить базовый протокол в покое и надстраивать над ним дополнительные уровни типа Lightning – просто нет. И очень правильно и своевременно, что Blockstream над этим работает.

    Да, нам нужно чтобы биткойн через 20 лет выдерживал десятки тысяч транзакций. И это реально, просто потому, что 20 лет назад, в 1995 году, предел для биткойна был бы не 7 транзакций в секунду, как сейчас, а 30 транзакций в час. Винты были 500 мбайт, модемы 2400 бит в секунду (500 байт в секунду). А максимальный размер блока 1 кбайт, то есть 5 транзакций по 200 байт максимум. И через 20 лет, все будет промасштабируемо опять на 3 порядка – в 1000 раз.

    И мы не будем принимать как должное, что биткойн не масштабируется. Биткойн прекрасно масштабируется, о чем сказано в оригинальной статье Сатоши. И именно поэтому многие ставят биткойн, зная что биткойн масштабируется. В том числе через рост максимального размера блока. И майнеры (btcchina, bw,antpool,bitfury), которые контролируют биткойн, прекрасно об этом масштабировании знают. И будут увеличивать размер блока. Сначала до 2 или до 4 или 8 мбайт. Проблема в том, что bitcoin core вот уже год два тормозит этот процесс, видимо имея свой интерес в развитии Lightning. Встречая такую блокировку и централизацию разработки на стороне bitcoin core, сторонники масштабирования вынуждены создавать BitcoinXT, а возможно еще 3-4 форка, дабы убрать централизацию программного обеспечения Bitcoin.

    Как минимум сейчас будет проведена вынужденная акция по замусориванию блокчейна, после которой станет очевидно, что комиссии bitcoin core дорогие, а сами ребята bitcoin core – не очень хорошие ребята, и не делают ничего, 2 года тормозят идеи BIP101 и за два года не сделали BIP100.
    После этого появятся много софтин похожих на BitcoinXT, которые решат эту проблему, а также задавят никому не нужную пыль и мусор в блокчейне.
    Вот тогда будет настоящая децентрализация.

    В целом, статья “биткойн не масштабируется” не оперирует цифрами, нет возможности её критиковать конкретно, поэтому эта статья ненаучна, неинтересна. Статья построена на вере, на религии, без доказательств. Одно слово – чистый популизм. Единственная нормальная статья на bitnovosti против BIP101 и BitcoinXT – это исследование BitFury, но и там вывод такой, что мол, ок давайте сначала BIP100 – но, предсказываю, BIP100 будут тормозить внедрять еще год, так что у форков от майнеров аля BitcoinXT есть неплохие шансы.

    • Если бы архитекторы TCP/IP рассуждали так же, как вы, то они не мудрствуя лукаво все уровни коммуникационных протоколов запихали бы в один слой. Действительно, чего париться. Зачем следовать общепринятой практике, и разделять протоколы на слои по функциональности? Зачем отделять базовый уровень взаиморасчетов (settlment layer) от розничного платежного механизма (payment layer)? Лепи все в одну кучу, наплевав на здравый смысл.

      Всегда можно подобрать подходящую цитату Сатоши, чтобы оправдать любой идиотизм (как, собственно, Майк Хирн и делает). И неважно, что потом Сатоши утверждал что-то совершенно другое – вали на него, как на мертвого. А если сам Сатоши вдруг высунулся и сказал, что твой форк – опасная гадость, сделай вид, что ничего такого не было, и “не все так однозначно”.

      Пока что, все, что принес Bitcoin XT в биткойн сообщество – это раскол, разброд, шатание, недоверие, вражду и даже открытую войну. Если бы кто-то специально долго думал, как бы наиболее эффективно навредить Биткойну, трудно было бы выдумать что-то более вредное, чем то, что сделали Майк и Гэвин.

      • Сатоши сказал, что форк – опасная гадость, потому что требует консенсуса 60-70 процентов майнеров, а не потому что большие блоки якобы уменьшают децентрализацию. И с этим мнением можно согласится. Но запрещать делать альтернативные клиенты вида BitcoinXT попахивает монополией. И уж поверьте, тормоза и высокие комиссии – это такая же вредная вещь, как и консенсус 60-70 процентов.

        Короче, майнеры разберутся, кто прав, кто виноват.

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

    Скромность некоторых украшает)

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

      • Почему не поместятся? Поместятся.

        Samsung выпустила 16 терабайтный SSD винт.

        • ну да, а провайдеры у нас наверное начали уже давать терабитные каналы в Интернет, с безлимитными flat-fee тарифами причем.

          • А зачем нам терабитные каналы?

            Винт 16 терабайт заполнятся за месяц на безлимите 50 мбит ( что после накладных расходов около 5 мбайт в сек)

            А 5 мбайт в сек – это блок в 3 гбайта в 10 мин, 20 тыс транзакций в секунду, что в 3000 раз больше чем сейчас.

      • Не от лукавого, а от жажды денег. Лукавого уже давно нет, с тех пор как Ницше провозгласил смерть Бога, а так то и намного раньше, если не вдаваться в бессмысленные теологические споры))

    • Биткоин и Виза НЕ конкуренты. Все просто “забывают” (не учитывают), что ВИЗА (или мастеркард или дургая платежка типа ПейПал) не самостоятельные системы, а лишь 2й уровень надстройки над обычный банковской системой и довольно медленными громоздники межбанковскими платежами (типа SWIFT)

      Так вот: Биткоин – это замена 1го банковского уровня. И он с этой задачей справляется.
      А 2й уровень который будет уже напрямую конкурировать с Виза и прочими платежными системами еще только предстоит создать.
      И в нем можно будет добиться и обработки тысяч транзакций в секунды и почти мгновенного подтверждения платежей, что в самом биткоине в принципе невозможно.

      Локальные реализации подобных систем уже есть. Например Webmoney WMX успешно работает уже около 2х лет. Но это частное решение с серьезными недостатками.
      Сейчас идет работа над глобальными системами подобного рода.

  3. Ненадёжность…?

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

    • Потому что доги это для школоты как и лайт, да и они уже умерли вроде

  5. “Вопрос в том, почему Гэвин Андрисен и Майк Хирн подвергают биткойн (и чужие деньги) риску централизации”
    Вот тема для голосования держателей биткоина за увеличение размера блока: https://bitcointalk.org/index.php?topic=1161451.0

  6. Остаётся общее ощущение, что Биткоину нужен переход на следующий технологический уровень, но никто не хочет (или не может) с этим заморачиваться.
    Ну типа мы лучше дополнительных 20 лошадей в телегу запряжем и должны вроде как побыстрее поехать. Вместо того, чтобы изобретать паровую тягу…

    Надеюсь, в Биткоин сообществе остались еще реальные технологические энтузиасты (а не только те, кто за курсом смотрит) и им удастся как-то развивать это проект качественно, а не только количественно.

    • Большинсвто Core разработчиков как раз и работает аккуратно и не торопясь над “паравозом” (2х уровневой системой, где биткоин станет первым базовым уровнем/фундаментом, а 2й будет отвечать за скоростную обработку больших потоков мелких и средних транзакций).
      А вокруг носятся 2 паникера (гевин и майк) с криками “мы все скоро умрем, если срочно не достанем еще 20 лошадей и не запряжем их в повозку” и мешают им работать, попутно еще и распугивая “пассажиров”, которых к слову еще не так и много (и с которыми и 1 лошадь справляется).

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

    • Или наоборот, все будут продавать в цепи Core.
      Но сначала будет замешательство, т.к. не понятно какие продавать, а какие оставить. Будет паника и не разбириха.
      А обычные люди услышав о таких фокусах покрутят у виска и к битку близко не подойдут.

  8. Биткойн уже сильно не децентрализован
    1000 узлов на миллион пользователей

    8 Мбайт на блок никак число узлов не уменьшит
    А 128кбайт на блок никак число узлов не увеличит

    • Ну увеличится число пользователей в 8 раз – что дальше? Тогда придется снова увеличивать размер блока. К чему это приведет в статье написано.

      • сейчас уже 1000 нод. Уже нет никакой массовой децентрализации.
        То, что написано в статье, уже должно случится сейчас, так как 1000 нод – очень мало.

        А раз не происходит, никто ноды не банит по приказам правительства, значит это не сильно зависит от размера блока. Будет надо – забанят и 10 тыс нод. А если не надо – то и 100 нод, с 20 мегабайтными блоками банить не будут.

        Есть же torrent сервера. Никто пока не банит их. А где надо – там банят.

        • хт-1000 нод
          обычный ~6000 нод

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

  9. Автору за статью спасибо, но простите вы все-же Кретины… С Большой буквы. Хотели улучшить сеть – просто блок раз в минуту и награда 2,5 вместо 25. Сразу решается масса проблем. Никто его не хотел улучшать (не будьте даунами и не верьте в “улучшение”) – преследуется только одна цель – получить максимально много лярдов баксов и все. Читаете каждый день о падении фондовых рынков и убытков в сотни миллиардов баксов, и никто не несет бабло в биткоин – вывод – да нахуй он нужен, только дрочилки по 500 рублей его надежда. П.с. начинаю думать что автор ребенок 15 лет, никаких выводов, никакой пользы для держателей битка, никаких своих мыслей… Автор ты слаб.

    • И что же изменилось бы? Это все равно, что увеличить размер блока до 10 мб. Проблему бы это никак не решило.

      • Не все равно. Точнее с точки зрения роста размера блокчейна одинаково, но полезней в плане сдерживания централизации – чем больше блоков, тем больше может существовать мелких независимых пулов (или индивидуальных майнеров). При текущей огромной сложности даже при приличных мощностях и десятках-сотнях майнеров 1 блок можно искать днями или даже неделями – из-за этого мелкие пулы умирают, а соло-майнеры вынуждены идти на пулы. И то и другое ведет к централизации.

        Ну и клиентам более быстрые подтверждения полезны. Кол-во подтверждений нужно будет увеличить, но меньше чем вырастет кол-во блоков. Например 10 одноминутных блоков вместо 3 10 минутных, которые сейчас чаще всего используются (т.к. канонических 6 ждать слишком долго по мнению большинства)

        Кстати один из ключевых разработчиков такой вариант предлагает. Правда намного скромнее – блоки каждые 5 минут с прежним размеров в 1 Мб.

        Я считаю что оптимум где-то в районе 2-3 минут на блок. При 1 минутных (а тем более меньше 1 минуты) начинает сильно расти количеств орфан-блоков.

    • так это перевод на скорую руку одного критина другим. вы тоже хороши. по вашей логике можно блоки каждые 12 сек. выпекать с наградой в 0.5 или воще раз в 0.12сек. по 0.05, а хуле? решам проаблемы однако

Trackbacks

  1. Хард форк: грядёт ли Bitcoin XT? | Bit•Новости
  2. Станет ли Биткойн «молниеносным»? | Bit•Новости

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