Участник команды Bitcoin Core Джереми Рубин работает над новым языком смарт-контрактов для Биткоина, который увеличит контроль пользователей над своими BTC.

Джереми Рубин (Jeremy Rubin) продемонстрировал новый язык Sapio в субботу на презентационной встрече RecklessVR в виртуальной реальности, к которой многие члены аудитории присоединились в гарнитурах VR. Он планирует выпустить язык программирования в рамках своей новой исследовательской организации Judica.

Фиксирующие состояние смарт-контракты (stateful smart contracts) дают пользователям возможность сохранить деньги - их нельзя тратить, пока не будут выполнены определенные условия, в том числе многоступенчатые. Смарт-контракты чаще всего связывают с блокчейном Эфириума, который имеет гибкий язык программирования Solidity, что облегчает написание фиксирующих состояние смарт-контрактов.

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

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

Новые возможности

Уже сегодня Sapio может работать для смарт-контрактов Биткоина. Но большинство типов таких контрактов, по мнению Рубина, еще не доступны в сети. Он создавал Sapio специально для BIP CHECKTEMPLATEVERIFY (CTV). Это изменение, если оно будет принято, может привнести в сеть Биткоина больше функций смарт-контрактов, и пользователи смогут защищать свои BTC новыми способами.

В своем выступлении Рубин назвал CTV «простой системой соглашений для Биткоина». Идея соглашений, которая существует уже давно, состоит в том, чтобы добавить меры безопасности, например, предусмотреть дополнительные правила перемещения BTC, предотвращая отправку криптовалюты на все адреса, кроме нескольких разрешенных.

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

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

«Я думаю, что хранилища – одна из наиболее важных возможностей, которые представит CTV. Они предоставляют огромное количество инструментов финансового суверенитета для широкой аудитории», - сказал Рубин, добавив, что эта технология открывает пользователям возможность защитить BTC самостоятельно без стороннего поставщика услуг.

Сейчас прототип внутрисетевого хранилища BTC уже доступен и был предложен ранее, но создавать их с помощью CTV будет гораздо проще, считает Рубин.

CTV также открывает множество других возможностей, например, отслеживание перегрузок сети. CTV способен помочь пользователям BTC переждать высокие комиссии и отправить монеты в тот момент, когда это будет дешевле. Теперь, когда Рубин создал язык смарт-контрактов специально для CTV, эти сценарии использования станут проще для разработчиков при программировании и, следовательно, более доступны для обычных пользователей.

Блокчейн как арбитр

Недавно созданная Рубином исследовательская организация Judica сосредоточится на этом наборе технологий. Он планирует выпустить инструменты, которые, как он надеется, «значительно расширят экономику Биткоина». Слово «judica» в переводе с латыни означает «суждение»: Рубин рассматривает блокчейн Биткоина как «судью», и хочет подтолкнуть сеть к развитию в этом качестве.

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

При этом Рубин утверждает, что Биткоин пока очень ограничен по своим возможностям в этой области.

«Блокчейн Биткоина выполняет роль судьи, но в нем доступны лишь ограниченные типы контрактов, и трудно разрабатывать более сложные контракты», - добавил он.

В рамках Judica Рубин планирует выпустить Sapio «вместе с проектами для множества смарт-контрактов», реализованных на его языке. Поскольку Judica все еще находится на ранней стадии развития, Рубин сказал, что ищет финансирование и других разработчиков, готовых присоединиться к его инициативе.

Развертывание CTV и Sapio

Пока неясно, когда (и если) CTV будет развернуто, пояснил Рубин в своем выступлении. Это крупное изменение Биткоина, поэтому может потребоваться некоторое время, прежде чем операционный код станет пригодным для использования.

«Если вы спросите разных разработчиков, когда CTV будет развернуто, вы получите разные ответы», - сказал Рубин в своей лекции. «Достаточное количество людей считает, что это произойдет не ранее, чем через три года».

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

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