Магия RGB: клиентские контракты по анализу данных Bitcoin PlatoBlockchain. Вертикальный поиск. Ай.

Магия RGB: контракты на стороне клиента в биткойнах

Это редакционная статья мнения Федерико Тенга, долгое время участвовавшего в проектах Биткойн с опытом работы в качестве основателя стартапа, консультанта и преподавателя.

Термин «смарт-контракты» появился еще до изобретения блокчейна и самого Биткойна. Первое его упоминание в Статья 1994 года Ника Сабо, который определил смарт-контракты как «компьютеризированный протокол транзакций, который выполняет условия контракта». В то время как по этому определению Биткойн, благодаря своему языку сценариев, поддерживал смарт-контракты с самого первого блока, этот термин был популяризирован только позже промоутерами Эфириума, которые исказили исходное определение как «код, который избыточно выполняется всеми узлами в глобальном консенсусе». сеть"

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

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

На самом деле в этом нет ничего нового, это действительно тот же механизм, который использовался для передачи собственности до того, как публичные реестры стали популярными. В Соединенном Королевстве, например, до 90-х годов не было обязательной регистрации собственности при переходе права собственности. Это означает, что до сих пор более 15% земель в Англии и Уэльсе не зарегистрированы. Если вы покупаете незарегистрированную собственность, вместо проверки в реестре, является ли продавец истинным владельцем, вам придется проверить непрерывную цепочку владения, насчитывающую не менее 15 лет (период считается достаточно длительным, чтобы предположить, что продавец достаточное право собственности). При этом вы должны убедиться, что любая передача права собственности была осуществлена ​​правильно и что любые ипотечные кредиты, использованные для предыдущих сделок, были полностью погашены. Преимущество этой модели в улучшенной конфиденциальности по сравнению с собственностью, и вам не нужно полагаться на ведущего государственного земельного реестра. С другой стороны, это значительно усложняет проверку права собственности продавца для покупателя.

Право собственности на незарегистрированное недвижимое имущество

Источник: Документ о праве собственности на незарегистрированное недвижимое имущество

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

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

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

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

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

передача права собственности на utxo

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

Эта модель, только что описанная для контрактов, проверяемых на стороне клиента, и передачи права собственности — это именно то, что было реализовано с протоколом RGB. С помощью RGB можно создать контракт, который определяет права, назначает их одному или нескольким существующим биткойн UTXO и указывает, как их право собственности может быть передано. Контракт может быть создан на основе шаблона, называемого «схемой», в котором создатель контракта только регулирует параметры и права собственности, как это делается с традиционными юридическими контрактами. В настоящее время в RGB существует два типа схем: одна для выпуска взаимозаменяемых токенов (РГБ20) и второй за выдачу коллекционных предметов (РГБ21), но в будущем кто угодно может разработать больше схем без разрешения, не требуя изменений на уровне протокола.

Чтобы использовать более практический пример, эмитент взаимозаменяемых активов (например, акций компании, стейблкоинов и т. д.) может использовать шаблон схемы RGB20 и создать контракт, определяющий, сколько токенов он будет выпускать, имя актива и некоторые дополнительные связанные метаданные. с этим. Затем он может определить, какой биткойн UTXO имеет право передать право собственности на созданные токены, и назначить другие права другим UTXO, например, право на вторичный выпуск или повторное номинирование актива. Каждый клиент, получающий токены, созданные по этому контракту, сможет проверить содержание контракта Genesis и подтвердить, что любая передача права собственности в истории полученного токена соответствовала изложенным в нем правилам.

Итак, что мы можем сделать с RGB на практике сегодня? Прежде всего, он позволяет выпускать и передавать токенизированные активы с лучшей масштабируемостью и конфиденциальностью по сравнению с любой существующей альтернативой. С точки зрения конфиденциальности, RGB выигрывает от того, что все данные, связанные с переводом, хранятся на стороне клиента, поэтому наблюдатель за блокчейном не может извлечь никакой информации о финансовой деятельности пользователя (даже невозможно отличить биткойн-транзакцию, содержащую обязательство RGB). от обычного), более того, получатель делится с отправителем только ослепленным UTXO (т.е. хешем конкатенации между UTXO, в котором он хочет получить активы, и случайным числом) вместо самого UTXO, так что это не возможность для плательщика следить за будущей деятельностью получателя. Чтобы еще больше повысить конфиденциальность пользователей, RGB также использует пуленепробиваемый криптографический механизм для сокрытия сумм в истории передачи активов, так что даже будущие владельцы активов имеют запутанное представление о финансовом поведении предыдущих владельцев.

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

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

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

Заключение

RGB — это новаторская инновация, которая открывает новые варианты использования с использованием совершенно новой парадигмы, но какие инструменты доступны для ее использования? Если вы хотите поэкспериментировать с ядром самой технологии, вам следует непосредственно опробовать RGB-узел. Если вы хотите создавать приложения поверх RGB, не углубляясь в сложность протокола, вы можете использовать библиотека rgb-lib, который предоставляет простой интерфейс для разработчиков. Если вы просто хотите попробовать выпускать и передавать активы, вы можете поиграть с Ирис Кошелек для Android, чей код также является открытым исходным кодом на GitHub. Если вы просто хотите узнать больше о RGB, вы можете проверить этот список ресурсов.

Это гостевой пост Федерико Тенга. Высказанные мнения являются полностью их собственными и не обязательно отражают точку зрения BTC Inc или Bitcoin Magazine.

Отметка времени:

Больше от Биткойн-журнал