Новое предложение по усовершенствованию Биткоина, созданное участником разработки Bitcoin Core Джонсоном Ло (Johnson Lau), обещает существенно расширить функционал блокчейна Биткоина. Новое BIP основано на BIP 114, автором которого также является Ло.
Основная идея недавно опубликованного предложения состоит в предоставлении нескольких новых (и повторном включении некоторых имеющихся) кодов операций в скриптовый язык Биткоина. По сути, коды операций представляют собой некие правила, которые устанавливают, как и когда можно потратить определенные биткоины. Как объясняет Ло, «по наиболее часто применяемому правилу (то есть, для адресов, начинающихся с 1) - для того, чтобы потратить биткоины, необходимо предоставить открытому ключу действующую подпись».
Многие коды операций были деактивированы Сатоши Накамото на раннем этапе развития Биткоина из соображений безопасности, однако Ло считает, что Сатоши заблокировал эти коды в аварийном режиме. Большую часть этих операционных кодов можно снова безопасно реализовать.
Ло хотел бы увеличить количество сложных транзакций. С введением новых операционных кодов становятся возможными новые функции, такие как увеличение конфиденциальности и бездоверительный беттинг.
Ло говорит, что идеи, послужившие основой для BIP 114, или - как ещё называют это предложение - MAST (Merkalized Abstract Syntax Tree), берут начало от работ Рассела О’Коннора (Russell O’Connor), а также членов команды Bitcoin Core Петера Вюлле (Pieter Wuille) и Питера Тодда (Peter Todd). Возобновление работы определённых кодов операций обсуждается участниками сообщества вот уже несколько лет.
Более эффективные и защищенные транзакции
BIP 114 – это изменение скриптовой системы Биткоина, при помощи которого увеличивается эффективность и конфиденциальность транзакций. В действующей сейчас скриптовой системе условия, при которых можно использовать выход Биткоина, являются публичными (открытыми). Ло объясняет, какую проблему это представляет:
«Для конфиденциальности это плохо. Чем больше условий вы открываете в блокчейне, тем больше ключей предоставляется аналитикам блокчейна для определения цели транзакции или лежащих в ее основе идентификаторов».
Ло считает, что MAST можно улучшить, только потребовав от пользователей сообщать одно из условий для траты биткоина. Поскольку публичность становится необходимой для меньшего количества данных, соответственно, и транзакциям потребуется намного меньше пространства в блоке. Ло добавляет: «Сегодня условные скрипты не очень популярны. Однако платежные каналы наподобие Lightning Network будут интенсивно использовать скрипты, и здесь MAST мог бы оказаться очень полезным».
Быстрый обмен между блокчейнами
Новые коды операций могут также обеспечить бездоверительный обмен токенами между разными блокчейнами. Несмотря на то, что разработчик CHECKPRIVATEKEYVERIFY Тир Нолан (Tier Nolan) предложил для этой цели новый код операции, Ло говорит, что «того же самого эффекта можно достичь, возобновив работу кода OP_CAT (или OP_SUBSTR)».
Бездоверительный характер такого обмена обеспечивается в BIP 65 Питера Тодда, известном как CHECKLOCKTIMEVERIFY. Суть процесса состоит в том, что пользователь Биткоина платит пользователю альтернативного блокчейна за закрытый ключ, связанный с адресом в другой цепочке. Помимо бездоверительного обмена альткойнами, данная функция может также обеспечить бездоверительный обмен между сайдчейнами Биткоина.
Бездоверительный беттинг
Доказуемо справедливый беттинг представляет собой модель, которая ассоциируется с криптовалютными казино с начала функционирования игры Satoshi Dice. Ло объясняет, как эта функция применяется на практике:
«Многие криптовалютные казино усовершенствуют традиционные онлайн казино, сообщая хеш случайного числа до того момента, когда клиент делает ставку. Если выигрывает казино, оно может продемонстрировать, что случайное число было создано до того, как сделали ставку, и не было изменено».
«Однако, - добавляет Ло, - теоретически, казино всё-таки может потратить деньги, если оно слишком много потеряет на одном пари. Поэтому, на самом деле, это всё-же не бездоверительно».
Ло описывает, каким образом повторное введение XOR и RSHIFT (или нескольких других кодов операций) может позволить двум анонимным участникам делать ставки друг против друга бездоверительным способом. Он объясняет:
«Мы могли бы дать двум людям возможность быть дилерами одновременно. Они оба по отдельности сгенерируют случайные числа, откроют их, объединят и используют результат, чтобы определить победителя».
Ло добавляет, что обоим игрокам понадобится предоставить обеспечение во избежание необходимости арбитража третьей стороны. Это похоже на модель, которая применяется на некоторых криптовалютных рынках, например, BitMarkets, для обеспечения низкодоверяемой онлайн торговли. Ло объясняет цель таких систем эскроу с мультиподписями следующим образом:
«Нежелание сотрудничать оборачивается дороже, чем проигрыш. Не стоит быть несговорчивым».
Ло считает, что неограниченное количество пари может также происходить через платежные каналы, тогда как в блокчейне будут размещаться только финальные балансы.
Что ещё возможно?
По поводу функций, которые предоставляет MAST, Ло называет увеличение конструкций с мультиподписями и принудительную передачу неконсенсусных данных. Обе эти функции присутствуют в BIP 114.
Несмотря на то, что существующая архитектура Биткоина поддерживает до 20 открытых ключей, создание адресов с мультиподписями неэффективно. MAST предоставляет схемы с мультиподписями, обеспечивающие до 2000 адресов, которые можно использовать с меньшими информационными потребностями, чем те, которые доступны сейчас с архитектурой мультиподписей с 20 адресами.
MAST также предоставляет более закрытые и эффективные «ключи сообщений», которые позволяют пользователям Биткоина подписывать сообщения ключом, связанным с адресом Биткоина. Такие ключи нельзя использовать для того, чтобы потратить имеющиеся на этом адресе биткоины.
Ло отмечает: «Люди могут хранить ключ для сообщений в горячем кошельке, а финансовый ключ – в холодном кошельке».
Пока не ясно, когда именно эти коды операций будут включены в Биткоин, однако Ло отмечает, что Segregated Witness и BIP 9 (Version Bits) могут значительно упростить данный процесс. Он также упоминает, что возобновленные коды операций, включенные в новое BIP, практически уже были представлены в проекте компании Blockstream под названием Elements Alpha. Он также рассматривает сайдчейны как «хороший способ для экспериментирования с новыми функциями».
Ло резюмирует:
«Самое трудное – не реализация. Самое трудное – убедиться в том, что коды операций действительно безопасны, а для этого необходим тщательный анализ и тестирование».