- PVSM.RU - https://www.pvsm.ru -

Брайан Армстронг: нужен срочный апгрейд Bitcoin на блоки 2 МБ

Автор — Брайан Армстронг, CEO Coinbase

В прошлом году я посетил конференцию Satoshi Roundtable вместе с Чарли Ли и около 70 других участниками сообщества Bitcoin.

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

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

Я думаю, организаторы конференции надеялись на какой-то консенсус (как в Гонконге), но к концу стало понятно, что разногласия слишком велики. Обсуждение изначально велось вокруг того, на какие компромиссы можно пойти, чтобы временно решить проблему масштабируемости. Но по мере обсуждения это краткосрочное решение заботило меня всё меньше и меньше, потому что я осознал более серьёзную проблему: систематический риск для Bitcoin, если Bitcoin Core будет единственной группой, работающей над протоколом.

В Bitcoin Core есть ряд людей с очень высоким IQ, но несколько вещей меня очень беспокоят после того, как я провёл с ними некоторое время в прошлые выходные.

  1. Некоторые из них демонстрируют очень низкие коммуникационные способности или недостаток зрелости — это вредит возможности привлечь к работе над протоколом Bitcoin новых разработчиков.
  2. Они предпочитают «идеальные» решения, а не «достаточно хорошие». И если не существует идеального решения, то они смиряются с бездействием, даже если это подвергает риску систему Bitcoin.
  3. Похоже, они убеждены в том, что Bitcoin не способен достаточно хорошо масштабироваться в долгосрочной перспективе, и любой размер блока в будущем будет мал, чего они не желают допустить.

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

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

Проблемы на горизонте

На конференции обсуждали интересный сценарий отказа сети, который вызывает беспокойство и показывает, насколько далеко мы зашли.

Следующее уменьшение вдвое вознаграждения майнеров произойдёт в июле. Предположим, они тратят на майнинг одной монеты, в среднем, $250 (это цифра навскидку). После уменьшения вознаграждения себестоимость 1 BTC для них вырастет до $500. Если цена биткоина останется в районе $425, то для многих майнинг станет убыточным.

В результате может уменьшиться вычислительная мощность сети в июле. Возможно, на 10-50% (у меня нет нормального способа оценить это, если у кого-то есть, сообщите).

В худшем случае, скажем, 50% мощности вычисления хэшей уходят из сети из-за убыточности. Это значит, что мы начинаем майнить блоки каждые 20 минут вместо 10 минут. Но сейчас блоки заполняются уже на 70%. Если среднее время подтверждения опускается до 20 минут, то блоки будут заполняться на 140%, то есть начинают накапливаться в очереди.

В Bitcoin есть механизм для регулирования сложности подтверждений (proof-of-work), когда меняется мощность сети. Это происходит каждые 2016 блоков, что занимает обычно около двух недель. Но мы майним блоки каждые 20 минут, так что потребуется четыре недели.

Всё становится хуже. Даже через четыре недели, пока не изменилась сложность подтверждений, потребуется ещё две недели на обработку скопившейся очереди, пока сеть не вернётся на «нормальные» показатели (70% заполнения и периодические заторы). Так что придётся столкнуться с полуторамесячным периодом, когда подтверждения идут две недели, а стоимость транзакций кардинально увеличена. Вдобавок, с таким большим количеством ожидающих транзакций мемпулы большинства узлов будут заполнены, вероятно, большинство биткоин-транзакций даже не будут передаваться, так что продавцы и кошельки не получат уведомления о транзакции в течение нескольких недель.

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

Пока неясно, какова вероятность вышеописанного сценария (то, что я описал как наихудший сценарий). Вполне возможно, что с уменьшением вознаграждения за майнинг стоимость биткоина пойдёт вверх. И сложно предсказать, какой процент хэшинговой мощности может уйти из сети после уменьшения вознаграждения. Он может быть гораздо меньше 50%. Но я также считаю, что нет причин рисковать и невероятно безответственно играть так близко к краю пропасти. Даже сейчас сеть с 70% заполнения блоков испытывает проблемы с заторами и очередью. Любое уменьшение мощности сети усугубит проблему.

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

К счастью, отдельные участники сообщества начали говорить об этом ещё два года назад и даже покинули команду Bitcoin Core, чтобы написать новый код для увеличения пропускной способности сети. Есть способ избежать проблемы.

Что делать

  1. Первым делом нужно немедленно перейти на блоки 2 МБ. Это самое реалистичное кратковременное решение, которое выиграет нам время. Я считаю, или мы сделаем апгрейд сейчас (когда у всех достаточно времени для подготовки), или потом нам придётся делать апгрейд в экстренном порядке. Есть код для решения этой задачи [1]. Код высокого качества, написан бывшими разработчиками ядра, и уже проверен в продакшне многими биткоин-компаниями (включая Coinbase). Апгрейд на Bitcoin Classic не означает, что мы должны оставаться на версии Classic вечно, просто это наилучший вариант устранить риски прямо сейчас. В будущем мы можем использовать код от любой группы разработчиков.
  2. Нужно наладить канал коммуникации с китайскими майнерами насчёт этого апгрейда. Их ввели в заблуждение, что только 4-5 человек в мире могут безопасно работать над протоколом биткоина, хотя на самом деле именно эта группа представляет наибольший риск для их бизнеса. Я попрошу @cnLedger [2] в твиттере помочь перевести этот пост на китайский и помочь распространить его (апдейт: он уже переведён [3]). Нам в сообществе нужно больше налаживать связи с китайскими майнерами.
  3. В долговременной перспективе, нужно сформировать новую группу разработки биткоин-протокола. Команду, которая будет дружественна к новым разработчикам, будет готова к разумным компромиссам и которая поможет продолжить масштабирование протокола. Об этом мы услышим в ближайшие месяц или два.

Стоит заметить, что со стороны команды Bitcoin Core поступило альтернативное решение проблемы масштабирования — так называемая система «сегрегированного свидетельства» (Segregated Witness, SegWit).

Брайан Армстронг: нужен срочный апгрейд Bitcoin на блоки 2 МБ - 1

Брайан Армстронг: нужен срочный апгрейд Bitcoin на блоки 2 МБ - 2

Хотя это хорошо сделанная технология, мне кажется рискованным использовать такой подход, учитывая описанную выше ситуацию. Одним из главных рисков использования новой системы является то, что она требует внедрить новый код не только на уровне ядра, но и у каждого провайдера кошельков, который генерирует транзакции. Маловероятно, что это будет сделано в короткие сроки и позволит избежать проблем с масштабированием, которые нам грозят. Количество строк кода, которые нужно написать всем участникам отрасли, на несколько порядков превышает количество строк кода для смены размера блока с 1 МБ до 2 МБ. Разработчикам ядра объяснили это на конференции, но они похоже не поменяли своё мнение относительно краткосрочного решения проблемы.

Заключение

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

Если вы хотите обеспечить успех Bitcoin, я призываю вас перейти на Bitcoin Classic [4] в краткосрочном периоде и потом сделать всё что можно для реализации трёх шагов, описанных выше. Это наилучший путь выхода из опасной ситуации, в которой мы оказались.

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

Автор: alizar

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/114229

Ссылки в тексте:

[1] код для решения этой задачи: https://github.com/bitcoinclassic/bitcoinclassic/releases/tag/v0.11.2.cl1

[2] @cnLedger: https://twitter.com/cnledger

[3] переведён: http://www.8btc.com/what-happened-satoshi-roundtable-brian

[4] Bitcoin Classic: https://bitcoinclassic.com/

[5] Источник: https://geektimes.ru/post/272190/