Что дает добавление патча CLTV в кошелек Bitcoin Core

1118
1118

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

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

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

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

Каналы платежей

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

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

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

Тут начинается тот самый фокус: Элис подписывает ещё одну транзакцию, на этот раз отправляя себе 99 999 998 сатоши, а Бобу — 2. Боб опять же может подписать транзакцию в любой момент и получить уже два сатоши, но он не может подписать обе, так как это уже будет двойным расходованием, так что ему придётся выбирать. И если Боб не любит нести убытки, он выберет транзакцию на большую сумму. В этом случае он действительно получит по одному сатоши за секунду видео, несмотря на то, что по факту он не получал новой транзакции на один сатоши в каждую секунду.

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

Зчем каналам платежей нужен CLTV?

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

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

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

Добавив патч, разработчики сделали платёжные каналы более гибкими и эффективными. Но, пожалуй, самое главное — это исключение возможности неполадок в платёжном канале из-за пластичности транзакций. Несмотря на то, что официально CLTV уже встроен в Bitcoin Core, пока патч не используется. Впервые он будет представлен в новой версии кошелька 0.12 в начале 2016 года. В качестве альтернативы патч может быть добавлен в текущую версию 0.11 в качестве обновления, и тогда он будет доступен на более раннем этапе. После этого биткоин-майнеры, на которых приходится 75% хэшевых мощностей сети, должны будут подтвердить готовность к использованию CLTV. Маловероятно, что это станет большой проблемой, так как противников у патча практически не существует.

Подписывайтесь на ForkLog в социальных сетях

Telegram (основной канал) Discord Instagram
Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER

Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!

*Ежедневная рассылка — краткая сводка наиболее важных новостей предыдущего дня. Чтение занимает не больше двух минут. Выходит в рабочие дни в 06:00 (UTC)
*Еженедельная рассылка — объясняем, кто и как изменил индустрию за неделю. Идеально подходит для тех, кто не успевает за новостным потоком в течение дня. Выходит в пятницу в 16:00 (UTC).

Мы используем файлы cookie для улучшения качества работы.

Пользуясь сайтом, вы соглашаетесь с Политикой приватности.

OK