Drivechain и свежий виток дискуссии о масштабировании и изменениях в консенсусе Биткойна

0
ПОДЕЛИТЬСЯ

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


 

Навигация:

 


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

В ответ на статью О’Бирна, @fiatjaf в своём посте приводит доводы в пользу того, что “драйвчейны” (шестилетней давности BIP-300301) способны решить проблемы масштабирования, о которых пишут Таунс и О’Бирн. Мало того, @fiatjaf считает, что Биткойн может умереть, если не исправить это в самое ближайшее время, и это мнение я не разделяю. Что же касается драйвчейнов, то многие считают, что это только добавляет в сеть ещё одну ненужную проблему, не привнося особой пользы. Тем не менее, во второй части сегодняшней сводной статьи я приведу полностью аргументацию @fiatjaf, и оценку соответствующих “пропозалов” от BitMEX Research.

Наконец, третья, последняя часть — это ответ Alex B Джеймсу О’Бирну и @fiatjaf, в котором автор отстаивает более оптимистичный взгляд на будущее Биткойна. Он считает, что нечто вроде “полудоверенного банка” в виде пулов UTXO может решать проблему масштабирования. И действительно, в этом есть правильные нотки с точки зрения личной суверенности пользователей и отсутствия принуждения в отношении изменений сети.

Итак…

Как масштабировать Биткойн до миллиардов пользователей

Энтони Таунс

Фундаментальная проблема блокчейнов как технологии заключается в том, что каждая транзакция в них подтверждается каждым пользователем (полным валидирующим узлом), а с увеличением числа пользователей растёт и число транзакций, что приводит к тому, что каждому пользователю/узлу приходится выполнять больше работы, чтобы не отставать от остальных, что в конечном счёте приводит к вытеснению: в какой-то момент объём работы, которую приходится выполнять, чтобы поддерживать существующее использование, оказывается больше, чем готовы выполнять потенциальные новые пользователи, в результате чего “принятие” стагнирует. Есть три подхода к решению этой проблемы:

  1. Сделать суперэффективную технологию
  2. Оставить валидацию на откуп более или менее узкой группе узлов
  3. Вывести большинство пользовательских транзакций за пределы основного блокчейна

Пройдёмся по этим пунктам.

Суперэффективная технология

Технологии развиваются стремительно, так что есть и такая вероятность, что нам удастся “проскочить” эту проблему, если все необходимые программные/аппаратные усовершенствования будут происходить достаточно быстро, чтобы всеобщая валидация не становилась узким местом для принятия: какая разница, сколько работы нужно выполнять, если вся она выполняется автоматически в фоновом режиме незаметно для вас? Именно такие улучшения предлагают utreexo или zerosync.

Я думаю, что фундаментальное ограничение таких идей состоит в том, что в конечном счёте они подразумевают разве что потенциальное снижение затрат, связанных с валидацией изменений состояния, без возможности сжать объём самих изменений состояния. Даже притом, что zerosync сжимает исторические изменения состояния, если вы хотите запустить такие протоколы, как Lightning или silent payments, вам нужно иметь возможность своевременно отслеживать текущие изменения состояния, чтобы отследить попытки обмануть вас или просто заметить анонимное пожертвование. Миллиард человек, совершающих прямые транзакции друг с другом, — это уже что-то около 6 ГБ данных в месяц, даже если предположить быстрое техническое развитие, свести все подписи к нулю и ограничить всех пользователей одной coinjoin-транзакцией в год. (Математика: 32Б на входе, 32Б на выходе, 8Б нового значения; каждый, кто платит вам или кому платите вы, участвует в coinjoin; 1 млрд человек * (32+32+8) байт/транзакцию * 1/12 транзакций на человека/месяц = 6ГБ/месяц.)

Это, конечно, не то чтобы совсем невыполнимо, даже при использовании мобильной или спутниковой связи (для сравнения, на сегодня Биткойн может требовать 2 МБ/блок * 144 блока/день * 30 дней/месяц = 8 ГБ/месяц), но я думаю, что это достаточно дорого, чтобы многие решили, что участие в валидации требует больше усилий, чем оно того стоит, особенно если это даёт им в среднем всего одну транзакцию в год (а для кого-то существенно меньше).

Не валидировать

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

С другой стороны, это и самый простой вариант: предоставление ПО узла API, к которому могут подключаться другие пользователи, — вполне нормальный способ построения ПО, в конце концов.

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

Это может позволить увеличить объём или сложность (или и то и другое) блокчейна. Например:

  • Биткойн до segwit: 1 МБ в 10 минут
  • Биткойн после segwit: ~2 МБ в 10 минут
  • Ethereum: ~6,4 МБ в 10 минут (128 КБ/12 сек.)
  • Chia: ~10 МБ в 10 минут (917 КБ/ 52 сек.)
  • Liquid: ~20 МБ в 10 минут (~2 МБ/60 сек.)
  • BCH: 32 МБ в 10 минут
  • Algorand: 830 МБ в 10 минут (5 МБ/3,7 сек.)
  • Solana: 192 ГБ в 10 минут (128 МБ/400 мс.)

(Для сравнения: 32 МБ в 10 минут использовал и Thaddeus Dryja в 2015, рассматривая рост Lightning до 280 млн пользователей [PDF]).

Однако увеличение лимитов Биткойна более чем на порядок даже в умеренно децентрализованном режиме уже сопряжено со значительными техническими трудностями (взять, например, проблемы, с которыми столкнулись Algorand и Solana, хотя на практике ни один из них ещё не приблизился к установленным протоколом пределам).

Полное насыщение канала 100 Мбит/сек. даст объём 6 ГБ в 10 минут (без дублирования). Если помножить это на предполагаемые технические усовершенствования из предыдущего пункта, то миллиард человек смогут участвовать в 12 coinjoin-транзакциях в сутки.

Отличный результат! Если только вы не возражаете против создания этакой CBDC, где в роли “центробанкеров” будут те, кто сможет запускать валидаторы с выделенным каналом, а остальные будут просто обращаться к ним через API. И если этим “центробанкерам” не понравится то, как вы тратите или получаете деньги (или правительство их обяжет), они могут ввести KYC для доступа к API и заблокировать вас. И если они решат изменить правила сети и, например, увеличить предложение или присвоить ваши монеты, то вам придётся смириться с этим, ведь вы не внесёте даже самую скромную лепту в сохранение старой системы, если не можете содержать валидирующий узел, не говоря уже о майнинге.

Вывести c блокчейна

Остаётся последний вариант: вывести транзакции большинства пользователей с блокчейна Биткойна. В конце концов, блокчейн проще валидировать, если его (почти) никто не использует. Но тогда возникает вопрос, как сделать Биткойн пригодным для использования без использования его блокчейна?

Фаундеры Blockstream ещё в 2014 году предложили отличный ответ на этот вопрос: сайдчейны (PDF). Идея в том, что вы можете обмениваться транзакциями в биткойнах на другом блокчейне с криптографической гарантией того, что, при условии соблюдения правил этого другого блокчейна, владелец монет в любой момент сможет в одностороннем порядке — свободно и не нуждаясь ни в чьём разрешении — перенести их обратно в основной блокчейн Биткойна. Конечно, это был бы идеальный вариант, но, к сожалению, он до сих пор не реализован так, как хотелось бы. И пока этого не произойдёт, похоже, что при передаче контроля над активом из одного блокчейна в другой необходимость в доверенном хранении в той или иной форме будет оставаться.

Lightning Network сама по себе даёт другой, ограниченный ответ на этот вопрос, позволяя осуществлять вне блокчейна платежи, но всё ещё предполагая, что пользователи используют блокчейн для расчёта — для ребалансирования каналов, извлечения прибыли или борьбы с попытками мошенничества. И хотя мы можем продолжать совершенствовать эту систему с помощью таких вещей, как “фабрики каналов” и офчейн-ребалансирование, я сомневаюсь, что одно это позволит сократить ончейн-расчёты даже до уровня 1 транзакции на пользователя в год, о котором говорилось выше и при котором технические усовершенствования потенциально могли бы покрыть остаток пути.

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

Drivechain и свежий виток дискуссии о масштабировании и изменениях в консенсусе Биткойна

@ajtowns: Выполнение транзакций на L1 подразумевает оповещение всех в мире о вашей сделке. Это не то, что должно быть “доступным” в том смысле, в каком большинство людей понимают это слово. Сравните это с покупкой дома и уплатой сопутствующих расходов — юридического сопровождения, налогов и т.п.

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

Это может принимать различные формы, как например:

  • хранение средств на кастодиальном кошельке;
  • хранение средств на бирже;
  • хранение средств в fedimint или подобном протоколе;
  • хранение средств в “обёрнутых” токенах на альткойнах (как wBTC на Ethereum, RBTC на Rootstock, L-BTC на Liquid, SoBTC на Solana и т.д.).

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

RBTC, например, в прошлом году столкнулся с почти катастрофическим операционным риском, заблокировав обеспечивающий RBTC резерв биткойнов в multisig-контракте, который не мог быть потрачен через стандартную транзакцию, что привело к трёхмесячному простою их сервиса отвязки и вывода (peg-out) средств. Или взять SoBTC бридж, “взломанный” через пару дней после краха его кастодиана Alameda. Одно из двух: либо это было катастрофической операционной ошибкой, либо катастрофическим раг-пуллом. Биржи и кошельки тоже имеют длинную и грязную историю взломов и раг-пуллов.

Разумность поведения кастодианов зависит прежде всего от того, насколько возможно снизить эти риски. Liquid и fedimint, например, полагаются на федерации в надежде на то, что это снижает возможности для заговора большинства их участников. Подтверждение обязательств и резервов (как в BitMEX, cashu или wBTC) — ещё один подход, по крайней мере позволяющий вам как держателю цифровых обязательств убедиться, что кастодиан пока ещё не использует частичное резервирование и не работает по схеме Понци (где количество непогашенных обязательств превышает количество BTC, доступных для погашения), даже если это и не может предотвратить возможное хищение. Это может иметь определённое значение, поскольку схему Понци легче оправдать: например, «Я просто немного ворую, чтобы свести концы с концами, и верну деньги, как только всё устаканится» или «У нас просто не очень хорошая бухгалтерия, поэтому мы могли допустить несколько ошибок, но во всех своих действиях мы исходили из лучших побуждений».

Если не сокращать эти риски, то значительные объёмы хранения BTC у сторонних посредников могут помешать Биткойну (сети) достичь многих целей:

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

Децентрализованные кастодианы?

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

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

Как мог бы выглядеть такой мир? Если предположить, что кастодианы производят 2000 обновлений состояния на блок и каждый из них в среднем производит по 6 обновлений состояния в день (подход coinjoin или channel factory позволяет в каждую транзакцию включать операции множества кастодианов, и даже при достаточно сложных скриптах и мультиподписях 2000 обновлений на блок должны быть возможны), это позволит поддерживать в общей сложности около 50 000 кастодианов. Если миллиард пользователей Биткойна будут пользоваться услугами трёх кастодианов каждый, то средний кастодиан будет обслуживать около 60 000 клиентов.

Чтобы пользователь мог полностью валидировать как общее предложение, так и то, что его собственные средства полностью обеспечены, ему потребуется валидировать как основной блокчейн Биткойна, что будет стоить примерно как сегодня, так и, если его кастодианы обеспечивают торговлю хранимыми активами на альткойнах — через L-BTC, RBTC или wBTC, — вероятно, пользователь захочет проверить и эти цепочки тоже либо иным образом подтвердить заявления кастодианов об обязательствах и резервах. Однако, скорее всего, кастодиану придётся совершать во много раз больше транзакций, чем конечному пользователю, так что затраты на проверку цепочки кастодиана, по которой в среднем проходит только треть от транзакций 60 000 пользователей, могут составить всего 1% от усилий, необходимых для валидации основного блокчейна. Таким образом, совокупные затраты на проверку трёх кастодиальных цепочек, вероятно, могут быть ненамного выше, чем на проверку основного блокчейна Биткойна. Например, такой блокчейн, как Liquid, имеющий в 10 раз большую пропускную способность (и стоимость валидации), чем Bitcoin, мог бы поддерживать 20 000 000 пользователей, совершающих в среднем только одну транзакцию в неделю.

Можно перевести эти цифры и в денежные единицы. Если предположить, что при таком сценарии эти 50 000 кастодианов в основном блокчейне являются единственными действующими непосредственно в нём субъектами, и разделить все 21 млн BTC между ними, это означает, что в среднем кастодианы будут держать на ответственном хранении от имени и в интересах своих пользователей по 420 BTC. Если предположить, что каждый из них тратит на комиссию 1% от общего объёма активов в год, это даст примерно 4 BTC/блок или 400 сат./vБайт. Если предположить, что они финансируют эти затраты за счёт сбора комиссий с пользователей их цифровых “расписок” на других блокчейнах, то каждому из этих блокчейнов потребуется собирать всего 8000 сатоши на блок, или около 8 мсат./vБайт, при пропускной способности аналогичной Биткойну (для сравнения, текущие комиссии в Liquid составляют 100 мсат./vБайт, при пропускной способности потенциально в десять раз выше, чем в Биткойне).

Другой способ взглянуть на эти цифры заключается в том, что если развитие будет происходить примерно по такому сценарию, то даже для кастодиана стоимость транзакций в основном блокчейне будет довольно высокой: даже если вы готовы тратить в год 1% от своего баланса на комиссии за транзакции и совершать всего одну транзакцию в месяц, нужно будет иметь баланс около 1 BTC, чтобы это сработало. Между тем альтернативные цепочки должны быть на четыре-пять порядков дешевле (так, при стоимости 1 BTC в $1 млн можно было бы хранить в альтернативной цепочке $100 или $1000 в BTC-эквиваленте и тратить на ончейн-транзакцию около 8 или 80 центов).

Как к этому прийти

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

  • Каждая 2 МБ транзакция раз в 10 минут поддерживает около 300 000 пользователей, совершающих около 1 транзакции в день.
  • Если расход данных на пользователя ниже, то количество поддерживаемых пользователей, соответственно, увеличивается — например, 9 000 000 пользователей при 1 транзакции в месяц).
  • Рост полезности (пользователи хотят совершать больше транзакций) и рост принятия (увеличение числа пользователей) оказывают давление на этот предел.
  • Если сложить мощности BTC, а также RBTC на Rootstock, wBTC на Ethereum и L-BTC на Liquid, то, по приведённым выше расчётам, через кастодиальные сервисы Биткойн может поддерживать до 5 000 000 пользователей, совершающих около 1 транзакции в день.
  • Для масштабирования до 1 млрд пользователей при 1 tx/нед. потребуется около 50 клонов Liquid, но это, вероятно, приведёт к значительным затратам на валидацию. Если ограничить пропускную способность каждого клона Liquid 2 МБ/10 минут (до объёмов Биткойна), то потребуется 500 таких цепочек; до 200 КБ/10 минут — 5000 цепочек; при сокращении же до 20 КБ/10 минут (1% от пропускной способности Биткойна), как предлагалось выше, получится до 50 000 клонов Liquid. (Для сравнения, в настоящее время средний объём блоков в Liquid составляет около 11 кБ/10 минут — если взять блоки с мая по конец июня 2023 года и вычесть 1,7 кБ/блок, занимаемых coinbase-транзакцией и подписью блока.)

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

Учитывая, что транзакции в wBTC — далеко не основное назначение Ethereum, а Rootstock и Liquid имеют очень низкий уровень принятия, это, конечно, лишь потенциально достижимая пропускная способность, а не реальное внедрение. Даже у Биткойна, похоже, достаточно свободных мощностей для inscriptions, так что, возможно, текущее принятие можно оценить в 2 000 000 ончейн-пользователей, совершающих в среднем 1 транзакцию в месяц (т.е. без учёта транзакций, связанных с хранением данных, перемещением между собственными кошельками, изменением политики мультиподписи, консолидацией UTXO, повышением их взаимозаменяемости и т.д.). Это соответствует примерно 17 000 публичных lightning-узлов, что означает, что операторы публичных lightning-каналов составляют чуть менее 1% пользователей сети. Возможно, в 10 раз большие объёмы передаются по приватным каналам или через сторонние и кастодиальные сервисы, так что предположим, что их 150 000.

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

  1. Рост принятия Lightning для платежей: увеличение числа пользователей, возможно, со 150 000 до 1 500 000. Где-то после 10-кратного роста Lightning начнёт создавать давление на комиссии в основном блокчейне, а не только реагировать на них.
  2. Значительное удешевление Liquid (снижение комиссии со 100 до 10 мсат/vБайт, чтобы она была в 10 раз дешевле за счёт 10-кратно большей пропускной способности, и ещё в 10 раз дешевле, поскольку L-BTC — это цифровые расписки на актив). Упростить и удешевить вход в систему за счёт продажи небольших сумм L-BTC через Lightning; а равно удешевить выход из неё через Lightning. Возможно, поощрять функционеров Liquid устанавливать лимит на вес блока blockmaxweight=800000 (20% от текущего размера, для двукратной пропускной способности по сравнению с Биткойном вместо десятикратной), чтобы снижение комиссии не приводило к чрезмерному количеству спама.
  3. Поддержка lightning-каналов, рассчитываемым на Liquid, для L-BTC (т.е. добавить в ПО lightning-узлов поддержку незначительных различий в формате транзакций, а также изменить gossip-протокол, чтобы можно было рекламировать публичные каналы, не обеспеченные UTXO Биткойна). Добавить поддержку submarine свопов и т.п. для трансфера средств из L-BTC в Lightning и наоборот.
  4. Снижение давления комиссий в Liquid и увеличение давления комиссий в Биткойне, в сочетании с развитием софта, предположительно, приведёт к тому, что часть людей будет переводить свои каналы на расчёт в Liquid. Если комиссии Liquid будут в 100 или 200 раз меньше, чем в Биткойне, это, вероятно, означает, что будет иметь смысл попробовать Lightning на Liquid с небольшим балансом: например, lightning-канал стоимостью $200 в L-BTC на Liquid со случайным незнакомцем, в сравнении с каналом стоимостью $20 000 или более в BTC, возможно, с проверенным контрагентом.
  5. При более активном использовании Liquid могут проявиться неприемлемые проблемы с производительностью — возможно, медленная валидация или проблемы с синхронизацией и подписанием новых блоков, возможно, проблемы с ретрансляцией транзакций с достаточной скоростью для заполнения блоков и т.д. Необходимо будет устранять их по мере возникновения.
  6. Создавать другие крутые решения, как на Биткойне, Liquid, так и на других блокчейнах, — OP_VAULT хранилища, альтернативные платёжные каналы, маркетмейкеры с другими активами и т.д. Довольно скоро либо давление комиссий в Биткойне или Liquid возрастёт до некомфортного уровня, либо тот факт, что федеративная сеть Liquid выступает в качестве кастодиана для большого объёма биткойнов, станет раздражающим.
  7. В этот момент можно создавать клон Liquid с новой кастодиальной федерацией и конкретным целевым рынком пользователей, уже начавших использовать Liquid, но не удовлетворённых им на 100%. Можно скорректировать параметры клона, язык сценариев или политику участия в федерации максимально привлекательным для этого рынка образом и потенциально получить кучу трафика с этого рынка.
  8. Дальше всё то же самое по кругу. И важно сделать так, чтобы пользователям было легко следить за несколькими цепочками — в частности, проверять резервы в BTC и ончейн-обязательства, — а также добавлять новую цепочку или отказываться от старой, если у них больше нет на них баланса.

Liquid я здесь называю скорее условно — это может быть что угодно, поддерживающее кроссчейн-платежи, например, fedimint, или сайт банка, или клон Ethereum, или spacechain, или ещё что-то, достаточно интересное, чтобы привлечь самоподдерживающуюся базу пользователей, и достаточно надёжное, чтобы люди спокойно могли передавать на хранение свои BTC. Я выбрал в качестве примера Liquid, поскольку теоретически в нём легко получить подтверждение обязательств (вот, например,) и резервов (хотя для этой части я сейчас не могу найти ссылку или rpc), он имеет поддержку самоисполняющихся контрактов, использует модель UTXO и скриптовый язык Биткойна, что, по-видимому, должно облегчать совместимость с самим Биткойном.

Также стоит заметить, что я здесь, можно сказать, довольно смело обобщаю, называя вещи “кастодиальными” — OP_VAULT, APO и CTV, вероятно, будет достаточно для создания “эффективных локальных lightning-factory банков”. Я бы включил это в класс “кастодиальных” решений, поскольку оно эффективно работает только при наличии доверенного кастодиана. Однако ввиду наличия дорогостоящего способа гарантировать добросовестность кастодиана, кто-то другой может классифицировать их и иначе.

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

Итог

Обобщая, основные идеи, на мой взгляд, следующие:

  • На сегодня в Биткойне есть ещё большой запас для роста некастодиальной Lightning и ончейн-активности — для Lightning можно ожидать 10-кратного роста, для всего остального — вероятно, 2-кратного или более в случае внедрения новых технологий и повышения эффективности (PTLC, eltoo, фабрики каналов, OP_VAULT, silent платежи, payjoin и т.д. — всё это работает на повышение эффективности).
  • Но возможности в этом направлении не безграничны — можно ожидать, что это ограничения проявятся в виде давления комиссий, роста бэклога и снижению способности быстро разрешать “транзакционные штормы”. А это, в свою очередь, приведёт к тому, что пользователям с небольшим капиталом будет сложно и дорого продолжать хранить BTC самостоятельно в основном блокчейне. В этот момент привлечение новых высококапитализированных пользователей означает вытеснение существующих менее капитализированных.
  • Вытеснение менее капитализированных пользователей на более дешёвые цепочки, которые могут работать только с разного рода цифровыми “расписками” на BTC, конечно, выглядит далеко от идеала, но это лучше, чем другие доступные альтернативы: либо они будут использовать что-то ещё худшее, либо никто не сможет лично проверять, что крупные игроки всё ещё продолжают следовать правилам.

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

Джеймс О’Бирн: О масштабировании и изменении консенсуса

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

В своей ответной реплике Джеймс О’Бирн рассуждает о реалистичности такого подхода и о том, говорит ли это нам что-то о вероятных изменениях консенсуса Биткойна.

Офчейн-субъекты?

Сильно огрубляя, можно назвать это попросту “биткойн-банками”. Например, это могут быть:

  1. Традиционный федеративный сайдчейн, такой как Liquid:
    • – Вы отправляете свои монеты под контроль третьей стороны, но взамен получаете возможности более выразительных скриптов или более конфиденциальные активы, или более быстрые блоки, или некую комбинацию этих свойств.
    • – Драйвчейны тоже представляют собой нечто подобное, только привязка и отвязка происходят при посредничестве биткойн-майнеров.
  2. Некий чаумовского толка ecash-банк, как fedimint или cashu:
    • – Отправляете свои монеты в федерацию (или даже отдельному оператору), получая некоторые преимущества в плане конфиденциальности.
  3. Какой-то не открытый ещё дизайн, не зависящий от доверия к третьей стороне в плане отвязки и возврата (peg-out) ваших монет, но полагающийся на смарт-контракт (т.е. биткойн-скрипт) и обладающий временной чувствительностью со стороны пользователей.
    • – Это как coinpool или нечто смутно напоминающее Ark (который и сам по себе пока представляет собой лишь очень смутное направление).
    • – Это можно представить как масштабирование lightning-канала с двух на n сторон. Это может потребовать интерактивности от всех участников для каждого платежа, хотя святым Граалем стал бы некий дизайн, позволяющий подмножествам участников генерировать офчейн-активность, не требуя подписи от каждого участника. Хотя сама возможность такого решения всё ещё остаётся областью постоянных исследований.
    • – Для целей данного поста это может быть даже что-то вроде ZKP rollup.
    • – Для краткости назовём эту штуку coinpool.

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

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

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

L1: дорого, но не невозможно

Вернёмся к нашему прогнозируемому сценарию масштабирования, где каждый пользователь хранит ценность в 3-4 таких полудоверенных и чувствительных ко времени офчейн-сервисах, более или менее напоминающих своего рода комьюнити-банки. Эти “банки”, вероятно, объединены в сеть платёжными каналами (или возможностью атомарных свопов), чтобы обрабатывать межбанковские операции с ликвидностью, например, осуществлять эквивалент электронных переводов. То есть я хочу вам заплатить, но мы находимся в разных биткойн-банках, поэтому сами структуры периодически выполняют некий пакетный взаиморасчёт через lightning-шлюз.

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

Обратите внимание также, что в значительной мере работоспособность этих офчейн-конструкций поддерживается именно за счёт угрозы того, что их вкладчики могут предпочесть каким-то образом напрямую взаимодействовать с 1 уровнем, L1. Даже в случае некоего “бездоверительного” coinpool(а) возможность апеллировать к первому уровню — это то, на чём держится вся эта конструкция. Так что если L1 для большинства пользователей слишком дорог, чтобы к нему апеллировать, то конструкция coinpool(ов) не работает. Может быть, среди наименее обеспеченных пользователей этот процесс апелляции к основному блокчейну может происходить в группах, чтобы несколько нивелировать размер комиссий.

Эти банкоподобные субъекты заинтересованы в том, чтобы продолжать работать (вместо того чтобы сбежать с деньгами), потому что (i) они зарабатывают на комиссиях и (ii?) могут подчиняться той или иной юрисдикции. Но одним из спасительных моментов здесь является то, что природа Биткойна позволяет каждому пользователю быть одновременно и аудитором.

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

Как может происходить масштабирование?

Так примерно, на мой взгляд, выглядит масштабирование Биткойна до миллиарда пользователей: 50 000 объединённых в сеть “банков” с (хотелось бы надеяться!) относительно равномерным распределением BTC между ними; на индивидуальном уровне — пользование услугами нескольких таких “банков”.

Альтернативы? Нельзя просто увеличить размер блока. Распределение эквивалента активности расчётных счетов по сети валидирующих узлов в мировом масштабе просто не позволит при этом сохранить децентрализацию сети.

Я не верю, что средний пользователь будет держать собственный lightning-узел (направленная ликвидность и необходимый аптайм сами по себе сильные сдерживающие факторы), а модель Phoenix с полудоверенными провайдерами ликвидности — по определению своего рода дружественная атака Сивиллы — по-прежнему подразумевает использование UTXO, что не работает в масштабах миллиарда пользователей. Если предположить, что средний вес UTXO составляет 41 байт, то 1 млрд таких штук будет весить примерно 380 ГБ только для вашего UTXO-сета. Это бы сильно затруднило своевременную проверку, хотя, возможно, здесь есть пространство для экспериментов. Utreexo несколько помогает в этом отношении и, вероятно, является предпосылкой к тому, чтобы хоть немного приблизиться к решению проблемы.

Является ли “банк” на 50 000 пользователей компромиссом, уводящим от непосредственного владения базовым активом в блокчейне первого уровня? Да, конечно. Но о прямом владении UTXO для всех людей в мире — если только не произойдёт какого-то непредвиденного чуда, которому я, конечно, был бы только рад, — не может быть и речи. По крайней мере, в технологическом контексте Биткойн даёт нам хорошие инструменты аудита и ответственного (кастодиального) хранения, чтобы гарантировать, что мошенничество легко обнаружить, а кража практически исключена.

Перерыв на депрессию

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

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

Но даже если в итоге реализуется именно такая картина, то, я думаю, это может казаться хуже сейчас, чем будет на самом деле. Выигрыш по сравнению с существующим финансовым режимом будет в том, что на базовом уровне мы по-прежнему получаем твёрдые деньги, которые невозможно “раздуть”. Отдельный банк может попытаться как-то злоупотребить своим положением, но программные инструменты на основе Биткойна, превращают доверие в более тонкий градиент и гарантируют, что подобное поведение будет гораздо более очевидным (Proof of Reserves?), а в некоторых случаях, по сравнению с нынешней системой, и вовсе невозможным (DLC, устраняющие брокеров? коллаборативное ответственное хранение? в целом прозрачность блокчейнов?).

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

Проектирование с сохранением возможности самостоятельного выхода для пользователей

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

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

Поскольку пространство блока на первом уровне ограничено, необходимо уместить все возможные выходы в некоторый временной интервал блоков. По-видимому, для этого придётся разделить действия “выхода” и “фактического получения” своих средств (т.е. создания новых UTXO), чтобы обеспечить своевременный выход как можно большему числу участников. Это напоминает контроль перегрузки сети, идею которого впервые предложил Джереми Рубин при разработке CTV.

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

Для такого случая, как этот, я не думаю, что возможно добиться более лаконичного решения, чем голый скрипт <32-byte hash> OP_CHECKTEMPLATEVERIFY.

Стоит заметить, что P2TR scriptPubKey имеет тот же размер (OP_1 <32 byte pubkey>), но тогда фактическая трата этой монеты сопровождается накладными расходами в 17vБайт (= 34vB (controlblock) + 33vB (CTV script)) / 4). Если вы пытаетесь заполнить блок CTV-“анроллами” 2-in-1-out, это может дать около 10% накладных расходов.

Конечно, тяжесть этих накладных расходов снижается по мере добавления входов и выходов, так что “пакетные” анроллы для множества пользователей не особенно выиграют от использования голых скриптовых CTV (по сравнению со скриптовыми путями P2TR). Но наиболее распространённым вариантом использования на сегодня является закрытие lightning-канала, происходящее по схеме 1-in-2-out.

Существуют конкурирующие предложения с более гибкими CTV, такие как OP_TX/OP_TXHASH и другие, однако в условиях корреляционного кризиса, когда необходимо обработать массовый выход из L2, гибкость не нужна, а нужно разумное использование L1. Поэтому, независимо от того, хороши ли OP_TX и др. для других целей (может быть, я чего-то не знаю о вариантах их использования?), я думаю, что CTV нужны просто потому, что это наиболее лаконичный способ сформулировать выход из контракта ончейн в периоды, когда место в блоках может стоить дороже обычного.

Базовый анализ показывает, что, используя сжатие расходования CTV (контроль переполнения), вы сможете вместить в блок на ~33% больше закрытий lightning-каналов в периоды кризиса:

src/verystable (init 18a5720) % python examples/txn_size.py
CTV txn: 128vB
non-CTV txn: 171vB
CTV txns per block: 31250
non-CTV txns per block: 23391
more per block with CTV: 33.6%

“Взрывобезопасные” паттерны ответственного хранения

Ещё одно приходящее на ум замечание: если есть ~50 000 субъектов, управляющих каждый большими суммами биткойнов и многие из которых, вероятно, управляются федеративными участниками, то должны существовать относительно простые схемы хранения, которые позволят нам быть уверенными в том, что о краже или потере средств не может быть и речи.

Неудивительно, что я считаю функциональность в OP_VAULT важным элементом, поскольку она обеспечивает “реактивную безопасность”. Как писал (здесь) Джеймсон Лопп,

«С правильными инструментами мы можем быть реактивными в восстановлении после компрометации ключей, не только проактивными.

Хранилища позволяют создать новый сетап из теории игр. Подобно тому как вы можете установить watchtowers (“смотровые вышки”), чтобы раньше распознать, когда контрагент по lightning-каналу пытается вас обмануть, вы можете устанавливать такие watchtowers и чтобы убедиться, что никто не скомпрометировал ваше биткойн-хранилище. При обнаружении компрометации вывести средства в безопасное место должно быть достаточно просто, и вы сможете даже автоматизировать эту процедуру!

Я убеждён, что каждый самостоятельно хранящий биткойны пользователь и любой разработчик кошелька должны слюной изойти от одной только перспективы создания настолько защищённого и удобного для пользователя хранилища. Возможность “вернуть” средства, потерянные из-за скомпрометированной безопасности кошелька, означает, что биткойнеры смогут спать намного спокойнее, зная, что они могут совершать ошибки и не терять средства просто по недосмотру».

Я думаю, что хранилища с ончейн-защитой — это, возможно, необходимая часть успешного масштабирования кастодиального хранения на большое количество совместно управляемых биткойн-пулов. И OP_VAULT представляется наиболее эффективным способом это реализовать с точки зрения пространства блока. Возможно, поведение OP_VAULT можно эмулировать, например, с помощью MATT. Но я думаю, что приведённый выше тезис о CTV и управлении перегрузкой говорит нам о том, что общие операции должны быть эффективными настолько, насколько это возможно.

Очевидно, что нам необходимо определить ещё многие параметры, например:

  • кто управляет watchtower и как много она должна знать?
  • как будет выглядеть восстановление: высоконадёжные и неудобные ключи, социальное восстановление или некое сочетание того и другого с привязкой ко времени?

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

Прочее

Конечно, я здесь многое оставляю без внимания — то, что не связано с ковенантами как таковыми, но очень важно для того, чтобы чувствительные ко времени L2-протоколы действительно работали, — как, например, хорошая политика управления мемпулами и вознаграждениями. Без этой работы Lightning просто “не полетит”. А также то, что просто позволяет Биткойну быть устойчивым к цензуре — например, BIP-324.

Кто-то также должен поработать над определением “минимально жизнеспособного койнпула” и выяснить, нужны ли нам примитивы помимо taproot и CTV. Это была бы ценная информация.

Заключение

Не хочу затягивать эту свою реплику дальше.

Я думаю, что если не произойдёт какого-то чуда, которого я не предвижу и на которое по умолчанию не рассчитываю, то действительно, Биткойн можно будет масштабировать по модели, описанной выше Энтони Таунсом, для работы с объёмами транзакций, примерно соответствующих нынешним расчётным счетам, создав что-то порядка 50 000 кастодиальных субъектов, которые будут управлять пулами капитала для облегчения потоков платежей. Эти субъекты будут объединены в сеть — возможно, через Lightning, — и будут предлагать градацию доверия. “Осмотическое” давление, оказываемое угрозой вывода средств от них на L1 или к конкурентам, будет дисциплинировать их поведение, почти наверняка с некоторыми проблемами и шероховатостями на пути построения и настройки этой системы.

Как сказал Хэл Финни в 2010:

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

Банки с обеспечением в биткойне решат эти проблемы. Они могут работать так же, как работали банки до национализации выпуска валюты. Разные банки могут проводить разную политику, одни — более агрессивную, другие — более консервативную. Некоторые из них будут иметь частичное резервирование, другие могут быть на 100% обеспечены биткойнами. Процентные ставки могут быть разными. Наличные одних банков могут торговаться с дисконтом по отношению к наличным других банков.

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

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

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

Наряду со многими другими вещами, о которых я здесь не упомянул, это подразумевает

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

Драйвчейны

@fiatjaf: Место драйвчейнов в будущем Биткойна

Энтони Таунс и Джеймс О’Бирн выше приводят ряд утверждений, которые, наверное, должны быть очевидны для любого, кто задумывался о будущем Биткойна, как это было очевидно для Хэла Финни ещё в 2009-2010.

В сущности, все они говорят, что блокчейн Биткойна сам по себе не масштабируется до состояния, когда им сможет пользоваться всё население планеты. Он не масштабируется даже настолько, чтобы “офчейн”-решения, такие как Lightning или Ark, могли обеспечить Биткойну глобальное распространение. В сущности, эти решения будут утрачивать свою полезность по мере пользовательского принятия и роста комиссий.

С учётом этого, у Биткойна есть только два пути (и это уже моё, @fiatjaf(а), мнение): либо он умрёт, либо ему придётся масштабироваться через кастодианов.

Может ли Биткойн умереть?

Да, Биткойн может умереть, и если он не получит массового распространения достаточно скоро, то именно это, на мой взгляд, и произойдёт. Правительства всего миру дали нам фору в 14 лет на то, чтобы попытаться сделать Биткойн средством обмена и/или сбережения, или, по крайней мере, инвестиционным инструментом или средством сохранения капитала, сверхценным и имеющим широкое распространение. Теперь же ситуация начинает меняться. О CBDC говорили давно, но теперь они действительно начинают появляться. Под контролем правительств выросли регулируемые и соответствующие этим их нормам фиатные сервисы, такие как Venmo, а где-то правительства сами запускают какие-то свои решения, больше напоминающие шпионское ПО с функцией трансфера фиатных денег, как, например, нелепый PIX в Бразилии, уже довольно широко используемый. И — наверное, к удивлению всех UX-дизайнеров, — люди таки приучились использовать QR-коды.

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

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

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

Масштабирование

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

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

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

Тут появляется Drivechain

Drivechain, по сути, привносит две вещи:

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

И второе, что привносит Drivechain: если он окажется успешным, это может привлечь в Биткойн гораздо больше людей. Hivemind и сам по себе может привлечь множество пользователей, давно уже сильно ограниченных в возможности делать ставки на прогнозы где бы то ни было в фиатном мире; сайдчейны Zcash или Monero могут легко привлечь криптоэнтузиастов, заботящихся о конфиденциальности и давно уже решивших, что Биткойн не для них; другие сайдчейны, например, Ethereum-подобные, тоже могут постепенно привлечь часть пользователей из соответствующих блокчейнов. Почему будет хорошо, если эти люди придут в Биткойн? Потому что они увеличат его сетевой эффект, повысят цену сатоши, и эти изменения будут способствовать тому, что больше людей обратят внимание на Биткойн, будут его использовать и т.д. и т.п. Больше пользователей, больше сетевого эффекта, выше цена — всё это будет способствовать тому, чтобы Биткойн не был легко уничтожен или до смерти зарегулирован правительствами.

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

BitMEX Research о drivechain(ах)

В этой части авторы BitMEX Research анализируют предложения Пола Шторца о реализации Drivechain(ов): BIP-300 и BIP-301. Оцениваются система отвязки и вывода (peg-out) средств из сайдчейна и преимущества blind merged майнинга. Авторы обсуждают, в частности, некоторые аргументы с точки зрения экономики биткойн-майнинга и экономических стимулов в контексте сайдчейнов Биткойна. Объединённый (merged) майнинг потенциально более затратен, и утверждение о том, что эти затраты не подразумевают риска централизации, представляется исследователям странным. Однако они признают, что успешный сайдчейн со “слепым объединённым” (blind merged) майнингом и значительными возможностями для MEV может дать Биткойну преимущества, способные с лихвой компенсировать сопутствующие недостатки.

Обзор

Исследователь Пол Шторц предложил Drivechains — усовершенствованный механизм сайдчейна с объединённым майнингом для Биткойна — ещё в 2015 году. Объединённый майнинг — это когда Биткойн является родительской цепочкой, а хеш обязательства из другой цепочки находится где-то внутри блокчейна Биткойна. “Обычный” объединённый майнинг давно уже поддерживается подавляющим большинством майнеров Биткойна. Однако здесь речь идёт о более совершенном “слепом объединённом” (blind merge) майнинге, который был предложен Полом, но пока не снискал большого принятия.

Drivechains можно разбить на две взаимосвязанные составные части, каждая из которых требует обновления протокола Биткойна через софтфорк:

  1. BIP-300, включающее в себя peg-out механизм для сайдчейнов (способ “отвязки” и возвращения биткойнов обратно в основной блокчейн); и
  2. BIP-301 — система, делающая возможным слепой объединённый майнинг.

По состоянию на 2023 год Пол продолжает выступать за эти два предложения.

Blind-merge майнинг (BIP-301)

Ключевая особенность слепого объединённого майнинга состоит в отделении стимулирующих выплат на сайдчейне от биткойн-майнеров. При слепом объединённом майнинге третья сторона поддерживает работу сайдчейна, создаёт его блоки и получает за это комиссии на сайдчейне. Затем этот субъект создаёт биткойн-транзакцию, в которой передаёт эти комиссии майнерам Биткойна в виде комиссий за биткойн-транзакции. Ключевой момент здесь состоит в том, что биткойн-майнер получает эти комиссии независимо от того, что происходит с сайдчейном. Таким образом, биткойн-майнеру нет нужды поддерживать сайдчейн, и если в нём произойдёт реорганизация, то майнера это никак не затронет. Таким образом, этот механизм защищает Биткойн от рисков, связанных с сайдчейном. Предполагается, что комиссии будут передаваться майнерам Биткойна по принципу аукциона. Множество производителей блоков могут поставлять свои блоки-кандидаты для сайдчейна. Вместе с этими предложениями проводится биткойн-транзакция, включающая в себя комиссию. Рациональные биткойн-майнеры будут выбирать транзакцию с наибольшей комиссией.

Таким образом, BIP-301 требует нового типа биткойн-транзакции и, соответственно, обновления через софтфорк. Новая транзакция — sidechain commitment — должна обладать рядом новых свойств:

  • идентифицировать конкретный сайдчейн;
  • указывать высоту блока сайдчейна;
  • требуется также поле для корневого хеша блока-кандидата сайдчейна.

В дополнение к сказанному выше, правила протокола Биткойн должны обеспечивать также проверку того, что блокчейн может содержать только одну commitment-транзакцию (“транзакцию-обязательство”) для любого данного идентифицированного сайдчейна и заданной высоты блока. Предполагается также, что каждый блок Биткойна не должен содержать более одной commitment-транзакции для любого данного сайдчейна. Это может привнести некоторую дополнительную сложность в систему Биткойна, поскольку узлам придётся отслеживать не только UTXO-сет, но и дополнительную базу данных идентификаторов и commitment-транзакций сайдчейнов. Тем не менее, сайдчейны потенциально могут повысить полезность Биткойна, а слепой объединённый майнинг — стать шагом вперёд по сравнению с обычным объединённым, поэтому преимущества BIP-301 могут перевешивать риски, связанные с введением дополнительной сложности.

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

Peg-out система (BIP-300)

Ключевой вызов для сайдчейнов состоит в обеспечении свободного и бездоверительного вывода BTC обратно в основной блокчейн Биткойна. Эффективно реализовать эту задачу чрезвычайно сложно, и это является ключевым препятствием на пути к успеху сайдчейнов на основе Биткойна. Конечно, это не является проблемой, если вы и не собираетесь использовать биткойны на сайдчейне, но если собираетесь, то это создаёт сложности. Можно сказать даже, что механизм “отвязки” и вывода (peg-out) пользовательских BTC настолько важен, что имеет приоритет над правилами сайдчейна: сознательный пользователь скорее предпочтёт следовать сайдчейну с реализованным и работающим peg-out механизмом, нежели тому, который его сайдчейн-узел считает валидным при наибольшем количестве объединённого майнинга.

Решение, предложенное в BIP-300, по сути, полагается на майнеров Биткойна. Идея в том, что возможность peg-out, отвязки BTC, применяется раз в три месяца в процессе на сайдчейне. Затем сайдчейн создаёт хеш, который фиксирует в сайдчейне peg-out транзакции. Ожидается, что биткойн-майнер должен взять этот хеш и включить его в свою coinbase-транзакцию. Риск заключается в том, что майнер может схитрить и, например, вставить в coinbase другой хеш, который зафиксирует транзакцию, похищающую все средства. Для снижения этого риска предусмотрен шестимесячный процесс голосования биткойн-майнеров. Для того чтобы транзакция вывода средств из сайдчейна была действительной, более 50% майнеров должны проголосовать за этот вывод в своих coinbase-транзакциях в течение следующих шести месяцев. Учитываются все биткойн-блоки, независимо от того, содержат они голос или нет. Поэтому если участие майнеров в голосовании ниже 50%, то средства не могут быть выведены.

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

Эта система голосования майнеров по peg-out транзакциям из сайдчейна является довольно спорной и имеет множество существенных недостатков:

  • Майнеры могут украсть средства. Пользователи сайдчейна вынуждены доверять майнерам в том, что те не украдут их средства.
  • Неучастие майнеров. Майнеры могут не принимать достаточного участия в голосовании, и тогда средства могут “застрять”. Такая неопределённость будет останавливать людей от направления средств в новые или небольшие сайдчейны.
  • Длительный процесс вывода. Процесс вывода происходит очень медленно, занимая не менее трёх месяцев. Конечно, пользователи могут использовать атомарные свопы, чтобы вывести свои монеты из цепочки быстрее, но для того, чтобы это работало, необходима достаточная ликвидность. Длительная задержка может также приводить к разнице в оценке BTC в основном блокчейне и сайдчейне. Для сравнения, peg-out транзакция из Arbitrum в блокчейн Ethereum занимает около недели.
  • Невозможность инициировать вывод средств по требованию. Помимо того, что это очень медленный процесс, пользователи также не могут самостоятельно инициировать вывод средств по запросу и должны будут дождаться запланированной peg-out транзакции, которая производится раз в три месяца, так что время вывода будет меняться ещё и в зависимости от того, когда в реальности этот вывод потребуется.
  • UASF. Система безопасности в некоторой степени зависит от потенциальной возможности периодического выполнения UASF (User-Activated Soft-Fork) для предотвращения краж. Но здесь кто-то может резонно возразить, что нам следует минимизировать количество изменений в протоколе Биткойна, а не принимать систему, которая сулит более частое проведение софтфорков. С другой стороны, разработчик @fiatjaf — тоже сторонник BIP-300, как можно понять из его реплики, приведённой выше, — сформулировал список причин, по которым, как он считает, большинство майнеров не будут иметь мотивации для кражи из сайдчейна, так что и угрозу UASF кто-то даже считает излишней.
  • Усложнение правил сети. Для оценки валидности некоторых биткойн-транзакций, узлам придётся считать голоса в coinbase-транзакциях по истории блоков Биткойна.
  • Стимул для майнеров запускать свои сайдчейн-узлы. Майнеры могут захотеть запустить свои сайдчейн-узлы, чтобы создавать или голосовать по чужим запросам на peg-out транзакции из сайдчейна. Это сводит на нет преимущества слепого объединённого майнинга, поскольку так майнерам в любом случае придётся запускать узел для peg-out транзакций.

На наш взгляд, перечисленные проблемы заметно ослабляют peg-out систему BIP-300. Однако, похоже, что лучшей peg-out системы для сайдчейнов Биткойна до сих пор не существует. Может быть, пора вспомнить об оригинальных идеях доказательства мошенничества (fraud proof) в сайдчейнах (PDF), представленным Blockstream в 2014 году? С другой стороны, 51% майнеров могут подвергнуть цензуре и fraud proof транзакцию, следовательно, в сценарии кражи майнерами мы имеем примерно те же риски, что и с BIP-300: 51% майнеров могут украсть средства из сайдчейна.

В каком-то смысле предложение Пола отражает реальность того, что при любой известной peg-out системе — например, fraud proof, actual proof или с центральным администратором, подписывающим транзакции, — биткойн-майнеры могут цензурировать данные, подделывать их, либо вступить в сговор с администратором сайдчейна. Поэтому, вместо того чтобы создавать одну из этих потенциально ненужных систем безопасности, BIP-300 просто предоставляет право на вывод средств непосредственно биткойн-майнерам. С другой стороны, добавление простого доказательства с использованием корней деревьев хешей и хеш-функций может иметь некоторые преимущества, поскольку усложнит для майнеров потенциальную возможность кражи средств. Недостаток же состоит в том, что это может создавать у пользователей ложное чувство безопасности.

Экономика и стимулы майнинга

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

Вертикальная интеграция

Во-первых, существует утверждение, что слепой объединённый майнинг снимает большинство или даже все вышеперечисленные проблемы со стимулами для майнинга. При слепом объединённом майнинге майнеры получают своё вознаграждение в основном блокчейне Биткойна, поэтому с точки зрения стимулов это выглядит просто как “обычная” комиссия за транзакцию. Если комиссия будет очень высокой — например, как в Ethereum, — это может приводить к проблемам, но теоретически ситуация должна быть не хуже, чем если бы комиссии Биткойна органично выросли до этого уровня без сайдчейна. Майнерам не нужно подтверждать состояние сайдчейна или беспокоиться о его реорганизации. Валидация сайдчейна и биткойн-майнинг разделяются процессом аукциона.

Биткойнер Alex B (его реплика завершает этот сборный пост) утверждает, что вышесказанное не соответствует действительности и что слепой объединённый майнинг может не только не решать всех этих проблем, но и усугублять ситуацию, поскольку это создаёт возможность для майнеров вертикально интегрировать свои бизнес-модели и запускать собственные сайдчейны. Например, в некоторых небольших сайдчейнах создание блоков может быть недостаточно конкурентоспособным. Поэтому производители блоков сайдчейна могут передавать майнерам только 80% своих доходов от комиссий, 20% прибыли оставляя себе. В этом случае для биткойн-майнеров может быть разумно вовсе отказаться от услуг посредников и увеличить свою прибыль, самостоятельно валидируя сайдчейны. Производителям блоков сайдчейна также может потребоваться значительный капитал для выплаты комиссий биткойн-майнерам, прежде чем они смогут продать собственное вознаграждение от сайдчейна. Это может быть весьма обременительно, поэтому вертикальная интеграция может быть очень осмысленной, снимая потребность в дополнительном запасе капитала. Но если биткойн-майнеры будут управлять сайдчейнами, то многие преимущества слепого объединённого майнинга, по-видимому, окажутся утрачены.

Ethereum MEV

В качестве доказательства этого утверждения о вероятной вертикальной интеграции, Алекс сравнивает blind merged майнинг с ситуацией в Ethereum. В Ethereum есть попытка в некотором роде аналогичного разделения между производителями блоков и стейкерами, с аукционом, разделяющим их, подобно предлагаемому аукциону с комиссиями сайдчейна при слепом объединённом майнинге. В Ethereum это называется “разделением proposerbuilder“. Производители блоков при этом передают в своих блоках-кандидатах большую часть комиссий за ethereum-транзакции стейкерам, а те получают стимул выбирать блоки-кандидаты с наибольшим объёмом комиссий. В протоколе Ethereum такая система пока не реализована, однако она реализована во Flashbots с их MEV-Boost. MEV-Boost имеет 92%+ принятия среди стейкеров Ethereum. Таким образом, для всех практических целей система разделения proposerbuilder в Ethereum уже существует.

Согласно недавнему анализу от EigenPhi, вертикальная интеграция между стейкерами и производителями блоков в рамках MEV-Boost за последние несколько месяцев значительно возросла и достигла 45% ценности (по сравнению с 12,2% на начало 2023 года). Забавно, что EigenPhi упомянули также, что «только что повстречали на Ethereum Community Conference (EthCC) крупного валидатора, занимающегося построением блоков». Этот вопрос сегодня очень актуален для Ethereum, поэтому, возможно, биткойнерам стоит подождать и посмотреть, как будет происходить разделение proposerbuilder в Ethereum, прежде чем принимать решение по BIP-301.

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

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

Споры о централизации майнинга: экономические аргументы

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

Пол утверждает, что затраты на объединённый майнинг по сути не отличаются от любых других затрат на майнинг. Майнинг и должен иметь издержки и быть конкурентной отраслью. Если слабые майнеры не могут справиться с более высокими затратами на объединённый майнинг и вынуждены отключаться, то это нормально. Это то же самое, как если бы майнер не смог справиться с повышением сложности. Мы хотим, чтобы сильные майнеры преуспевали, а слабые выходили из игры, — такова природа конкуренции. Поэтому, говорит Пол, более высокая затратность объединённого майнинга (и даже затраты на извлечение MEV) не является весомым аргументом против объединённого майнинга. Если доступность поддержки полного узла важна для децентрализации сети, то другие затраты на майнинг следует рассматривать иначе. И не так важно, насколько высоки эти другие затраты. Пол уверен, что противники объединённого майнинга исходят из ошибочного представления, являющегося своего рода пережитком войны за размер блоков. Люди могут ошибочно выступать против любого увеличения стоимости майнинга, в то время как значение имеет только стоимость запуска полного узла. Возможно, это часть аутоиммунного расстройства Биткойна.

Примеры возможных затрат на биткойн-майнинг:

  • Закупка футболок для “побочного бизнеса” по продаже мерча. (Да, эти затраты действительно рассматривались в таком контексте)
  • Закупка и обслуживание плавательных бассейнов, если вырабатываемое при майнинге тепло используется для обогрева таких бассейнов
  • Дополнительные затраты на майнинг из-за повышения сложности, результата системы регулировки сложности в Биткойне
  • Затраты на исследование рынка природного газа, если он используется в качестве источника энергии
  • Издержки риска орфанного блока, связанные с распространением блока
  • Запуск и поддержание узлов объединённого майнинга для сайдчейнов
  • Затраты на извлечение MEV из сайдчейнов
  • Наём бухгалтеров для составления финансовых отчётов для майнеров
  • Покупка земли
  • Строительство майнингового предприятия
  • Закупка ASIC
  • Расходы на обслуживание ASIC
  • Покупка электроэнергии у энергетической компании
  • Наём лоббистов для продвижения в правительстве более благоприятного законодательства в области майнинга
  • Наём юристов для патентования процессов майнинга
  • Приобретение лицензий на майнинг у правительства, если это необходимо

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

  • низкие барьеры для входа на рынок;
  • низкий уровень экономии от масштаба;
  • высокая конкурентность.

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

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

Заключение

Peg-out механизм в BIP-300, как представляется, имеет много слабых мест и привносит существенную новую сложность в протокол Биткойна. Поэтому, на наш взгляд, ему может быть сложно достичь уровня консенсуса, необходимого для активации предложения. С другой стороны, до сих пор никто не создал такого дизайна peg-out механизма, который бы строго превосходил BIP-300.

Слепой объединённый (blind merged) майнинг, безусловно, является потенциальным улучшением по сравнению с сегодняшним “обычным объединённым”, и потому, возможно, стоит приложить дополнительные усилия для его внедрения в Биткойн. При этом утверждение, что слепой объединённый майнинг явным образом разрешает все существующие риски, на наш взгляд, не выглядит убедительным. Однако успешный сайдчейн со слепым объединённым майнингом и значительными возможностями для MEV может обеспечить для Биткойна значительные преимущества, и потому этот риск может быть оправдан.

Alex B: Твёрдая финансовая система Биткойна

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

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

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

Несколько унылый вывод, в котором, похоже, сходятся все участники этой спонтанной дискуссии, состоит в том, что пользователям, по-видимому, придётся иметь дело с рядом организаций, крупных субъектов сети, каждый из которых занимает свою позицию в спектре децентрализации. Централизованные кастодианы, чаумианские минты, федеративные сайдчейны, койнпулы и т.д. Сам Таунс размышляет о сценарии, при котором пользовательская база будет распределена между достаточно большим числом подобных субъектов, чтобы массовый спрос на транзакции с использованием Биткойна мог быть удовлетворён без возникновения системных рисков. Много размышлений вызывает перспектива реализации этих дополнительных протоколов с минимальными потерей валидируемости и затратами на проверку и максимальной прозрачностью, чтобы сохранить контролируемость и честность всех участников.

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

Другой разработчик, @fiatjaf, во второй части этого поста отвергает предложенную парадигму, полагая, что время на то, чтобы достичь массового принятия для Биткойна очень ограничено. Он утверждает — возможно, в несколько фаталистической манере, — что если мы хотим рискнуть системным присутствием в системе Биткойна кастодиальных посредников, то лучше отдать “ключи от королевства” дьяволу, которого мы знаем, чем тому, которого не знаем. В этом и состоит суть Drivechain, идея которого подразумевает, что на динамическое множество proof-of-work валидаторов, обеспечивающих безопасность Биткойна, следует положиться и в кастодиальном хранении/управлении для достижения двусторонней привязки с минимальным уровнем доверия. В основе этого лежит предположение о том, что комиссии, генерируемые этими сайдчейнами, должны быть достаточным стимулом для майнеров воздержаться от обмана пользователей.

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

Экономическое большинство

Интересным образом, это подводит нас к сути проблемы: как разработать системы, основанные на стимулах, которые обеспечивают безопасность Биткойна?

Как отмечает в своей реплике О’Бирн, «возможность апеллировать к первому уровню — это то, на чём держится вся эта конструкция». Возможность использовать блокчейн в качестве такого судебного органа обсуждается уже большую часть того времени, что Биткойн существует. Очевидным образом, Lightning был первым протоколом, использовавшим эту идею. И все, кто изучал подобные конструкции, быстро заметили, что они подразумевают серьёзную оговорку.

Действительно, обращение к первому уровню может оказаться дорогостоящим, настолько, что для части пользователей это может стать экономически неоправданным. Я полагаю, что именно это имеет в виду @fiatjaf (выше), говоря, что “офчейн”-решения, такие как Lightning и Ark, не масштабируются и, «по сути, будут утрачивать свою полезность по мере распространения и роста комиссий». Пользователи, которые не могут позволить себе всё более дорогое “правосудие” основного блокчейна, обнаружат себя в квазикастодиальном сценарии. Аргумент, который обычно за этим следует, заключается в том, что если средний пользователь должен поступиться суверенитетом, чтобы использовать Биткойн, значит, проект провален.

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

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

Многосторонние протоколы

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

Подобно Lightning, эти контракты позволяют пользователям в одностороннем порядке выходить из пулов за определённую плату. Последняя ситуация может значительно усугубляться по мере роста пула. Координация, как правило, требует существенных затрат. В Lightning Network косвенные проблемы привели к появлению сервис-провайдеров (LSP). Новая интересная идея предлагает внедрить координационные сервисы в койнпулы, что позволит очень эффективно управлять вложенным капиталом пользователей. Группа пользователей может подключиться через такого сервис-провайдера, который будет обменивать их UTXO на виртуальные. Сервис-провайдер отвечает за поддержание состояния пула, регулярно размещая ончейн-транзакции, обновляющие коллективный UTXO. В промежутках между “раундами” провайдер обрабатывает платёжные запросы между пользователями пула, инициируя атомарные переводы между отправителем и получателем. Все эти платежи в произвольном количестве происходят офчейн. Процесс завершается только когда эти переводы пакетным образом подтверждаются в блоке Биткойна, что устраняет необходимость доверия к сервис-провайдеру.

Такая схема очень капиталоёмка для сервис-провайдеров, которые, будучи контрагентом в каждом обмене, должны финансировать каждую транзакцию пула. Чтобы справиться с потребностью в ликвидности, виртуальные UTXO (VTXO) являются эфемерными. Контракты, лежащие в их основе, содержат условие об истечении срока действия, в соответствии с которым соответствующие пользовательские UTXO возвращаются поставщику услуг. Поэтому для сохранения права расходования средств пользователи должны следить за тем, чтобы их контракты не были “просрочены”. Обновление контракта достигается просто путём “обновления” виртуального UTXO через транзакцию пула. Для более удобного управления этим процессом, виртуальные UTXO имеют различный срок жизни, и пользователи могут выбирать наиболее подходящий для них вариант.

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

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

Копейки перед паровым катком

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

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

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

Учитывая, что виртуальные UTXO по-прежнему требуют подтверждения блока, они могут выступать в качестве своеобразного расчётного счёта и поддерживать различные способы оплаты. Чтобы обеспечить ещё большую пропускную способность и скорость, биткойн-банк может также использовать вспомогательные протоколы, облегчающие эти операции. Чаумианские e-cash минты, statechain(ы) и ещё более “выразительные” сайдчейны. Очень важно, что изначально предполагаемое доверие к этим сервисам остаётся глубоко укоренённым в работе койнпула. Та же теория игр применима на всех уровнях. Залезая в карманы пользователей электронных денег, банк рискует полной потерей своего бизнеса — копейки перед паровым катком.

Я вижу в этом зачатки твёрдой и устойчивой финансовой системы Биткойна. Такой, что сохраняет права собственности своих участников благодаря продуманным экономическим стимулам. Несмотря на самые лучшие достижения в области zero-knowledge технологий и прочих экзотических примитивов, я по-прежнему скептически смотрю на возможность появления идеально эгалитарного протокола, гарантирующего полную свободу от потребности в доверии в глобальном масштабе. Суверенитет стоит дорого и не является неотъемлемо присущим Биткойну или его технологии. Это лишь результат системы коллективных и индивидуальных стимулов.


 

На основе источников:

 

Подписывайтесь на BitNovosti в Telegram!
Делитесь вашим мнением об этой статье в комментариях ниже.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here