Краткий анализ RGB: масштабируемый конфиденциальный протокол смарт-контрактов, построенный на основе Bitcoin
Предыстория
Производительность биткоина пристально отслеживается с момента запуска криптовалюты в 2009 году. Поскольку сеть может обрабатывать только семь транзакций в секунду, она не позволяет создавать масштабируемые смарт-контракты. Обновление SegWit увеличило лимит размера блока биткоина до 4 МБ (1 МБ для данных транзакций и 3 МБ для данных свидетелей); однако ограничение все еще сохраняется. Между тем, по мере роста влияния биткоина проблема масштабируемости становится все более острой. Масштабируемость остается фундаментальной проблемой, стоящей перед экосистемой биткоина. Сегодня практики исследуют решения с различными подходами, которые в основном включают:
- Сайдчейны, включая Liquid, Stacks, Rootstock и др.;
- Каналы состояния, такие как Lightning Network, которые обрабатывают определенные часто повторяющиеся транзакции вне основной цепи;
- Немодифицируемые решения для масштабирования, такие как RGB и Bitcoin Script, которые не изменяют код биткоина;
- Решения для масштабирования на основе обновлений, включая Drivechain (BIP300/301), которые требуют сильной поддержки майнеров и достигают масштабируемости посредством хардфорков.
Среди различных подходов некоторые ранние решения для масштабирования вновь привлекают внимание. В частности, протокол Nostr, ставший вирусным в конце 2022 года, способствовал широкому распространению Lightning Network. В то же время в начале 2023 года наблюдался бум Ordinals. В качестве решения для смарт-контрактов на основе биткоина и Lightning Network, предлагающего полноту по Тьюрингу, масштабируемость и надежную защиту конфиденциальности, RGB выпустил новую версию (v0.10) в апреле этого года.
Эволюция RGB
Происхождение RGB можно проследить до 2016 года, когда Питер Тодд ввел понятие одноразовой печати и валидации на стороне клиента. На основе этих критических концепций в 2018 году был предложен RGB.
В 2019 году Орловский, ключевой разработчик RGB, возглавил разработку RGB и создал множество компонентов, которые в конечном итоге составили протокол RGB. Кроме того, создание ассоциации LNP/BP в Швейцарии помогло предоставить соответствующие стандарты.
После обширных усилий по разработке RGB представил свой релиз v0.10 в апреле 2023 года.
О дизайне RGB
Вот как RGB достигает масштабируемости и конфиденциальности:
Проверка на стороне клиента
Большинство существующих публичных блокчейнов работают по модели глобального консенсуса, где все узлы проверяют все транзакции, обмениваются информацией о транзакциях друг с другом и поддерживают единое глобальное состояние.
Однако эта модель создает несколько проблем, включая:
- Ограничения масштабируемости, которые делают дорогостоящей проверку всех взаимодействий с контрактами;
- Высокие затраты, приводящие к централизованной работе узлов;
- Отсутствие конфиденциальности из-за открытой информации о транзакциях.
Проверка на стороне клиента (CSV) предлагает альтернативный подход: она требует, чтобы уровень консенсуса выполнял только криптографические обязательства, связанные с событиями реестра, в то время как фактическая информация о событиях (реестр) хранится вне блокчейна. Этот подход, который берет начало в работе Питера Тодда, называется "Проверкой на стороне клиента". CSV перемещает данные транзакций за пределы цепочки, где подробная информация хранится и проверяется, а в блокчейн отправляется только минимальная информация. Более того, данные транзакций передаются вне цепочки только между отправителем и получателем. Например, в реальной транзакции проверка требуется только тогда, когда кошелек и стороны запрашивают доступ к данным контракта.
Ключевые особенности CSV:
- Подробная информация о транзакциях хранится вне цепочки и проверяется только на клиенте;
- В цепочке хранятся только обязательства по данным транзакций;
- Проверка применяется только к транзакциям, о которых пользователи должны знать.
В RGB механизм проверки передачи активов значительно отличается от Bitcoin. В сети Bitcoin узлы всегда загружают и проверяют блоки и транзакции в пуле памяти, что позволяет им получить последнее состояние набора UTXO. При обнаружении новой транзакции валидаторы Bitcoin проверяют действительность ее истории, проверяя, существуют ли все входы в самом актуальном наборе UTXO.
RGB, с другой стороны, не полагается на глобальную сеть для трансляции всех транзакций для создания эквивалента набора UTXO Bitcoin. Это означает, что при получении входящего платежа клиент RGB должен не только проверить, что последний переход состояния действителен, но также выполнить ту же проверку для всех предыдущих переходов состояния вплоть до начального состояния в контракте выпуска. Эта восходящая проверка истории транзакций в RGB также защищает от атак двойного расходования.
RGB улучшает масштабируемость, проверяя только релевантные транзакции. Однако такой подход может привести к проблемам, связанным с низкой доступностью данных, что может потребовать обмена данными для оптимизации проверки платежей.
Одноразовые пломбы на основе Bitcoin
Физические одноразовые пломбы - это уникально пронумерованные пластиковые стяжки, обычно используемые для обнаружения несанкционированного доступа во время хранения и транспортировки. Например, они позволяют узнать, была ли открыта дверь контейнера во время перевозки. Цифровые одноразовые пломбы закрывают цифровую печать над сообщением, чтобы гарантировать, что оно может быть использовано только один раз, что делает невозможным для продавцов продать одно и то же имущество дважды.
Вместо использования доверенного субъекта для сертификации открытия и закрытия цифровых пломб, можно использовать Неизрасходованные Выходы Трансакций (UTXO) Bitcoin в качестве пломб. UTXO можно рассматривать как пломбу, которая закрывается при создании и открывается при расходовании. В соответствии с правилами консенсуса Bitcoin, выход может быть потрачен только один раз; следовательно, пломба может быть открыта только один раз. Таким образом, одноразовые пломбы используются для связывания UTXO Bitcoin с состояниями внесетевых контрактов, позволяя выполнять следующий переход состояния через внесетевые Трансакции RGB (закрывая пломбу). Подобно физическим одноразовым пломбам, используемым для обеспечения безопасности транспортных контейнеров, цифровая одноразовая пломба представляет собой уникальный объект, который точно запечатывает информацию для предотвращения двойного расходования.
Вот простая аналогия: мы можем представить UTXO как серию чеков, каждый из которых имеет разную сумму. При совершении платежа вы, по сути, платите кому-то неоплаченным чеком. Более того, любой оставшийся баланс чека вернется к вам в виде нового чека. В этом сценарии одноразовые печати добавляют определенные записи о переводе в дополнительное информационное поле чека. Поскольку чек можно обналичить только один раз, этот подход предотвращает двойное расходование.
Давайте посмотрим, как этот процесс работает между Алисой, Бобом и Дейвом:
- Для начала Алиса выпустила RGB-актив (например, USDT Tether или USDT) с общим предложением в 100 миллионов и добавила информацию о обязательстве в дополнительное информационное поле действительного чека (Чек A). Печатнику чеков не нужно учитывать эту дополнительную информацию, и Чек A может иметь любую номинальную стоимость, если он принадлежит Алисе и остается неоплаченным.
- Когда Алиса хочет перевести 10 миллионов USDT Бобу, ей нужно обналичить Чек A и указать в дополнительном информационном поле, что 10 миллионов USDT перейдут на новый чек (Чек B), принадлежащий Бобу, а 90 миллионов USDT перейдут на другой новый чек (Чек C), принадлежащий Алисе, который содержит оставшиеся 90 миллионов USDT.
- Если Боб хочет перевести 10 миллионов USDT Дейву, ему нужно обналичить Чек B и отметить в дополнительном информационном поле, что 10 миллионов USDT перейдут на новый чек (Чек D), принадлежащий Дейву.
- Тот же процесс повторяется для каждого последующего перевода. Более конкретно, предыдущий владелец индоссирует часть суммы новому получателю, а получатель затем проверяет всю историю переводов активов. Подобно циркулирующим чекам, каждый перевод создает новый чек, и каждый чек можно обналичить только один раз (UTXO). Между тем, старые чеки (UTXO) становятся недействительными, гарантируя, что состояние может двигаться только вперед, а не назад, что также предотвращает двойное расходование. Таким образом, записи в блокчейне надежно отражают изменения состояния криптоактива.
RGB использует модель одноразовой печати на основе Bitcoin, описанную выше, что означает, что при совершении транзакции RGB отправитель создает переход состояния контракта, определяющего передаваемые права. Рассмотрим случай с токенами. Сначала эмитент контракта устанавливает исходное состояние, которое определяет детали контракта, такие как название актива, общее предложение и UTXO с правом перемещения предложения. Затем, когда активы впервые передаются, владелец первого UTXO может создать переход состояния, который определяет, какой новый UTXO теперь будет владеть активом. RGB осуществляет переходы состояния, используя механизм, согласно которому UTXO могут быть потрачены только один раз, что позволяет надежно определять и отслеживать передачу криптоактивов и изменения в правах собственности.
RGB хранит всю информацию о транзакциях вне сети Bitcoin, передавая ее исключительно между отправителями и получателями. Между тем, данные о обязательствах привязываются к UTXO Bitcoin. Как только UTXO потрачен, он не может быть потрачен таким же образом снова, что означает изменение в контракте.
RGB использует блокчейн Bitcoin для защиты от двойного расходования, и это достигается путем фиксации каждого перехода состояния RGB внутри транзакции Bitcoin, расходующей UTXO, который владеет передаваемыми правами. Несколько переходов состояния могут быть включены в одну транзакцию Bitcoin, но каждый переход состояния может быть отправлен только один раз (иначе было бы возможно двойное расходование). Чтобы обеспечить возможность наличия нескольких переходов состояния в одном обязательстве, переходы состояния агрегируются несколько раз, а затем отправляются в транзакцию Bitcoin через Taproot или OP_RETURN. Если в транзакции Bitcoin существует несколько обязательств, только первое из них будет релевантным для правил валидации RGB, а остальные будут проигнорированы, делая любую попытку двойного расходования бессмысленной. Ключевые особенности RGB
Масштабируемость
- По сравнению с альтернативными протоколами, которые сохраняют всю логику в цепочке, CSV хранит данные вне цепочки, снижая затраты и вычислительную нагрузку;
- RGB легко доступен в Bitcoin без необходимости модификации кода или сложных транзакций в цепочке;
- RGB поддерживает сеть Lightning.
Конфиденциальность
- Третьи стороны не могут наблюдать за транзакциями RGB или их одноразовыми печатями;
- RGB имеет функцию ослепленных UTXO. Ослепленный UTXO состоит из хэша конкатенации между UTXO и случайным ослепляющим секретом. Таким образом, отправитель не знает, куда ушли активы, а новый получатель может проверить ослепленный UTXO только при расходовании актива;
- RGB также использует механизм нулевого знания под названием Bulletproof. В рамках этого механизма владельцы активов смогут видеть все UTXO, которые ранее владели активом, но они не смогут увидеть количество активов, переданных при каждом изменении состояния.
Многофункциональность и варианты использования RGB
Схемы
Эмитенты могут использовать схемы RGB, которые действуют как шаблоны контрактов для конкретных случаев использования.
Вот несколько примеров:
- RGB20 выпуск взаимозаменяемых активов
- RGB21 выпуск невзаимозаменяемых активов
- RGB22 децентрализованные цифровые идентификаторы
- RGB23 журнал с проверяемой уникальной историей для аудитируемых данных
- RGB24 децентрализованная глобальная система доменных имен
- RGB25 выпуск коллекционных активов
Каждый может свободно разрабатывать свою собственную схему для различных приложений без необходимости запрашивать разрешение у разработчиков RGB. Однако ожидается, что большинство случаев использования будет охвачено несколькими основными схемами.
AluVM
RGB использует AluVM, специально разработанную регистровую RISC виртуальную машину. AluVM является полной по Тьюрингу и может управлять глобальным состоянием с теми же гарантиями доступности, что и существующие системы на основе блокчейна. Подобно EVM, AluVM имеет архитектуру, которая размещает узел RGB поверх сети Lightning, размещая клиент RGB на узлах RGB.
Полностью совместим с сетью Lightning
Связывая платежные каналы конкретных токенов с сетью Lightning, активы RGB могут обеспечить такой же пользовательский опыт и предположения безопасности, как и обычные платежи в сети Lightning. Это обеспечивает низкую стоимость, быстрые и стабильные платежи и может принести пользу всей экосистеме, включая пользователей, разработчиков и операторов узлов Lightning.
Сравнение с другими решениями
RGB против TARO
TARO (теперь Taproot Assets), протокол Taro, поддерживаемый Taproot, был представлен Lightning Labs в апреле 2022 года после того, как они привлекли 70 миллионов долларов в финансировании серии B.
И RGB, и TARO построены на CSV. Поскольку оба имеют схожий дизайн, некоторые даже утверждают, что TARO черпал вдохновение из RGB. Однако теперь кажется, что они фокусируются на разных аспектах: TARO концентрируется на токенах, в то время как RGB стремится реализовать функции смарт-контрактов.
Сравнение с другими решениями Bitcoin
В отличие от Drivechain, который основан на BIP300 и BIP301 и требует жестких форков, RGB совместим с существующей технологией Bitcoin и потенциальными будущими мягкими форками, без необходимости модификаций на базовом уровне Bitcoin.
Ordinals фиксирует все данные в блокчейне, в то время как RGB хранит только обязательства по данным в цепочке. Учитывая безопасность, обеспечиваемую UTXO, RGB потребляет минимальное пространство в цепочке, обеспечивая беспрепятственную интеграцию с сетью Lightning.
RGB против Rollup
Rollup - это решение для масштабирования Ethereum, которое позволяет пользователям депонировать средства в смарт-контракты Ethereum, а затем совершать транзакции с другими пользователями в том же Rollup. Эти транзакции периодически агрегируются и отправляются в блокчейн.
- Кроме того, RGB не является независимым блокчейном. Проблемы: Экосистема RGB находится на начальной стадии развития. Хотя инфраструктура уже создана, экосистема предлагает лишь небольшое количество базовых приложений, и может потребоваться некоторое время, прежде чем RGB расширит свои инструменты для разработчиков и пользовательскую базу.
- Клиенты RGB хранят огромные объемы данных, и трата будет невозможна, если внесетевые данные для валидации будут утеряны. Таким образом, необходимо хранить не только ключ. Более того, в отличие от Bitcoin и других систем глобального консенсуса, клиентам RGB не нужно видеть или проверять все транзакции глобально. Вместо этого им нужно проверять только транзакции, связанные с их кошельками. Это значительно сокращает объем данных, которые должен проверять каждый клиент, делая всю систему более масштабируемой. Хотя проверка огромных объемов данных при получении платежей может показаться проблематичной, поскольку медленная проверка означает медленные транзакции, это становится проблемой только при длительной истории транзакций. Когда это происходит, потребуются новые уровни доступности данных, которые позволят клиентам добровольно делиться данными о переходах состояний конкретных контрактов. Таким образом, будущие получатели смогут заранее начать проверку части истории транзакций.
- Для популярных CSV-токенов широкое распространение может повысить стоимость валидации.
- RGB разрабатывается сообществом и зависит от тщательных исследований команды, что означает медленный прогресс и ограниченное продвижение на рынке.
Кривая обучения разработчиков: Помимо знаний о Bitcoin, разработчикам также необходимо быть в курсе переходов состояний и контрактов RGB.
Проекты экосистемы
DIBA
Веб-сайт: https://diba.io/
DIBA - это торговая площадка NFT на Bitcoin, использующая протокол смарт-контрактов RGB.
Cosminmart
Веб-сайт: https://www.cosminmart.com/
Cosminmart - это экосистема, основанная на протоколе RGB, которая предлагает такие функции, как кошелек, рынок, Launchpad и браузер.
Mycitadel
Веб-сайт: https://mycitadel.io/
Mycitadel обладает широким спектром функций, включая мультиподпись, условия расходования с временной блокировкой, Taproot и т.д.
Bitmask
Веб-сайт: https://bitmask.app/
Bitmask - это расширение для кошелька.
О нас CoinEx
Основанная в 2017 году, CoinEx является глобальной криптовалютной биржей, стремящейся упростить торговлю криптовалютами. Платформа предоставляет ряд услуг, включая спотовую и маржинальную торговлю, фьючерсы, свопы, автоматический маркет-мейкер (AMM счет) и услуги по управлению финансами для более чем 5 миллионов пользователей из более чем 200 стран и регионов. Созданная с первоначальным намерением создать равноправную и уважительную криптовалютную среду, CoinEx стремится устранить барьеры традиционных финансов, предлагая простые в использовании продукты и услуги, чтобы сделать торговлю криптовалютами доступной для всех.
Ссылки
https://hackernoon.com/top-4-directions-of-bitcoin-ecosystem-scalability
https://docs.rgb.info/
https://github.com/RGB-WG/blackpaper/blob/master/README.md
https://docs.lightning.engineering/the-lightning-network/taproot-assets
https://docsend.com/view/he8x9erkjmphphvn