OP_CTV: летняя суета с софтфорками

Аннотация.В этой статье мырассматриваем и объясняем предлагаемое обновление софтфоркабиткоина,OP_CTV (Check Template Verify). Эта функция позволит пользователямфиксироватьобязательства по расходованию выходабиткоина тольковопределенныхусловиях. Главный сторонник этогософтфорка,Джереми Рубин, недавноанонсировалскорый выпускнового клиента с параметрами активации OP_CTV(смелый шаг!). Мы обсуждаем с Джереми предложенные механизмы активации софтфоркаи задаем вопросы осамыхспорныхаспектахего предложения.

c.jpg

Вкратце обOP_CTV

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

Этоотносительно простое обновление, которое можетрасширитьфункционал биткоинас минимальными рисками, поэтому уэтойидеи множествосторонников.Для работыOP_CTVнуженновыйОР-код (точнее,ужесточениеусловий, связанных с существующим неиспользуемымОР-кодом, который Сатошидобавилв 2010 году),поэтомуэтообновление считается софтфоркомпротоколабиткоина.ОР-код,окоторомидетречь, —OP_NOP4.

Пробноеиспользование и примеры

Тестовая сеть OP_CTVуже запущена.В приведенномниже примеретранзакции используетсяOP_CTV. Транзакцию, предшествующую этой, можно рассматривать как транзакцию обязательства. 15,00003992BTC(втестовой сети) были отправлены на адресtb1qmce….vs4627. Средства можнобыло получить,толькоуказав скриптOP_CTVв поле свидетеля. Он содержитОР-код«OP_NOP4»и следующий хэш обязательства:

a9a39b05196b80c94936432f6e59242e504a9c394e083da34adf6aaef5b29d2a

t.jpg

Источник: https://explorer.ctvsignet.com/tx/62292138c2f55713c3c161bd7ab36c7212362b648cf3f054315853a081f5808e

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

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

Данныетранзакции,зафиксированныехэшем

Данные транзакции, которые могут измениться

[Content][Content][Content][Content][Content][Content][Content]

[Content]

Контроль загруженности сети

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

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

  2. Расходует отправленныемонетыв транзакции с несколькими выходами.

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

Считается, что системасофтфоркаOP_CTVпревосходит альтернативыRBFиCPFPпо следующим причинам:

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

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

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

  1. Текущиеставки комиссиина рынке нестабильны.

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

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

  4. Биржи недостаточно озабочены этим вопросом, чтобыначать использоватьтакое сложное решение.

  5. У нас уже естьдва метода ускорения транзакций: Replace-By-Fee (RBF) и Child pays for parent (CPFP).

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

  7. Новый софтфорквводитновый класс входящих транзакций,и теперь у нас будеттри классатранзакций:i. Подтвержденные,ii. Находящиеся впуле памяти иiii.Зарезервированные с помощьюOP_CTV. Этот новый статус транзакцииповышаетсложностьпроцессадля пользователей, которые вряд ли смогут его понять.

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

Хранилища

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

Пожалуй,наиболее полно и интересно этотпотенциальный вариантиспользованияописан в статье Джеймса О'Бирна.

Суета с софтфорками

17 апреля 2022 годасамый значимыйсторонникOP_CTV,в прошлом получатель грантаBitMEX Джереми Рубин, всвоем блоге предложил параметры активации софтфорка ианонсировалпланы по выпуску клиента активации.Если веритьблогу,сборкапрограммного обеспечения дляклиентаактивациибудет выпущенав воскресенье,24 апреля 2022 года,или раньше. Этотнеоднозначный шаг Джереми вызвал ожесточенныеспорыиморекомментариев на форумах разработчиковсистемы биткоина.Поэтомумырешиливзятьу Джеремиинтервьюи задатьему нескольконепростыхвопросов об активацииOP_CTV.

Интервью Джереми Рубина в связи сактивациейсофтфорка

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

На самом делеситуация обстоит не совсем так. Я анонсировал аналогичный график в декабре 2021 года.Онобсуждалсяи на встречеCTV 11 января, гдея получилнекоторуюподдержку активации весной. На последующей встрече, 13 января, было высказаножеланиенепроводитьслияниесCore, а всемейнтейнерынегласноотказалисьотвечать на вопросы о том, что делать.

Одна изглавныхпроблем спереносом активациина несколько месяцев в том, чтоэто мое мнениеу биткоина есть«реалистичныеокна релизов»софтфорков, которые показывают, чтодля активации подходят только весна/осеньмынехотим, чтобы сигнальный периодили активация пришлись наДеньблагодарения, Рождество, Новый год, китайский Новый год, Деньсвятого Валентина (шучу,если вы читаете этот пост, вы задрот, обреченный на вечное одиночество)и налоговые дни(вСШАэто15 апреля,в Китае— 31 марта...), потому что в это время не все могут посвятить всевнимание процессу сигнализации или активации.Получается,активациюследует проводить в период с мая по начало ноября, и если мы хотимпо-быстрому опробовать обновление в реальных условиях,то сигнализация должнапроводитьсяраньше, а активацияпозже. Поэтому, если в этом году сетьбиткоинапредпочтет форматSpeedy TrialиCTV, то выбранныепараметры, вероятно, совпадут с моими;не думаю, чтокому-товажны фактические числа длянумерологии.Ноеслимызахотелибыотказаться от Speedy Trial (и, возможно,это не проблема?), мы могли бы оставитьдостижениеминимальногоактивного уровня(высоты)в ноябре и начать сигнализировать, например, 1 августа. Думаю, все равновсе прошлобы нормально, простоиначе, чем сTaproot.

Кстати, еслипамять мне не изменяет,параметры релизаTaprootбылиопределеныдовыходасамогорелиза.

Процесс начался24 апреля 2021 года,а версия 0.21.1 вышла29 апреля.Сами параметры активации были предложены (какPRк коду иBIP) 13-14 апреля,то естьвсего за 10 дней доначала сигнализации.

Может быть,стоилобы сначала попытаться ввести кодOP_CTVвBitcoinCoreбез активации, аужепосле работать над методологией активации (либовCore, либо в других клиентах)?Разве не такпроводилась активацияTaprootиSegWit? Почему в этот раз все по-другому?

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

Как высчитаете,некоторые люди выступаютпротив активацииOP_CTVиз-за того,что вы,егоавтор и главный сторонник, —относительномолодойразработчик, еслисравниватьсавторамипредыдущегопоколениясофтфорков(сейчасони в основном неактивны)?Возможно, это символизирует«уходстарой гвардии», что трудно пережить некоторым биткоинерам?

На днях мне кто-то сказал, что пытался объяснить механизмCTVодному из старожилов, кому-то «важному», кто не хотел разбираться в этом вопросе только из-за неприязни ко мне.

Кроме того, меня нельзяназвать«новичком»в биткоине — я изучаюегос 2011 года и начал заниматься разработкойпродуктов для BitcoinCoreгоду в2015-м.Так что вопрос в том,по сравнению с кемя «молодой»? Ктоте суперактивные участникисообщества, которые тратят время на подобные сравнения?

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

И разве«старая гвардия» не несет ответственность за состояние сети, если уходит на покой или большенеактивна? Развеонанедолжна«передатьэстафету»?

Чтонасждет,еслитехнологибудут разбираться втехнологиинедостаточно хорошо, чтобыеевоспроизвести?

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

Заключение

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

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

  • те, ктосчитает, чтов будущемможет появиться или должно быть принято альтернативноерешение-ковенант.

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

Например, разработчиксети биткоина Мэтт Коралло объяснил свое решительное несогласие с позицией Джереми в рассылке для разработчиков биткоинаот21 апреля 2022 года:

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

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

АВТОР

BitMEX Research

ТЕГИ

bitcoinbitmextradingnewstechnical-analysis