Предпосылки появления
RGB, протокол, созданный для повышения масштабируемости и конфиденциальности Биткоина
За производительностью Биткоина пристально следили с момента его появления в 2009 году. Поскольку он может обрабатывать только семь транзакций в секунду, сеть не позволяет масштабировать смарт-контракты. Обновление SegWit увеличило предельный размер блока Биткоина до 4 МБ (1 МБ для данных транзакции и 3 МБ для данных свидетелей); однако ограничение по-прежнему сохраняется. Между тем по мере роста влияния Биткоина вопрос масштабируемости становится все более актуальным и остается одной из основных проблем экосистемы Биткоина. Сегодня специалисты ищут различные подходы к ее решению, к которым в первую очередь относятся:
- Сайдчейны, включая Liquid, Stacks, Rootstock и т. д.;
- Каналы состояния, такие как Lightning Network, которые могут обрабатывать определенные высокочастотные транзакции вне цепочки;
- Необновляемые решения для масштабирования, такие как RGB и Bitcoin Script, которые не изменяют код Биткоина;
- Масштабируемые решения, основанные на обновлении, такие как Drivechain (BIP300/301), которые требуют сильной поддержки майнеров и достигают масштабируемости за счет хардфорков.
Из всего многообразия подходов некоторые ранние решения по масштабированию вновь набирают популярность. В частности, протокол Nostr, получивший известность в конце 2022 года, стимулировал широкое распространение сети Lightning Network. В то же время в начале 2023 года произошел бум протокола Ordinals. В апреле этого года компания RGB выпустила новую версию (v0.10) решения для смарт-контрактов на базе Биткоина и Lightning Network, обеспечивающую полноту по Тьюрингу, масштабируемость и надежную защиту конфиденциальности.
Эволюция RGB
Зарождение RGB можно отнести к 2016 году, когда Питер Тодд выдвинул идею одноразовой печати (Single-use-seal) и проверки на стороне клиента (client-side validation). На основе этих важнейших концепций в 2018 году был предложен проект RGB.
В 2019 году Максим Орловский, один из основных разработчиков RGB, возглавил разработку RGB и создал множество компонентов, которые в конечном итоге стали протоколом RGB. Кроме того, создание ассоциации LNP/BP в Швейцарии помогло обеспечить соответствующие стандарты.
В апреле 2023 года после длительной разработки RGB представил версию v0.10.
О структуре RGB
Ниже показана структура RGB, обеспечивающая масштабируемость и конфиденциальность:
Проверка на стороне клиента
Большинство существующих публичных блокчейнов работают в рамках модели глобального консенсуса, в которой все узлы проверяют все транзакции, обмениваются информацией о транзакциях друг с другом и поддерживают единое глобальное состояние.
Однако эта модель порождает ряд проблем, в том числе:
- Ограничения масштабируемости, которые удорожают проверку всех взаимодействий контрактов;
- Высокие затраты, приводящие к централизованному функционированию узлов;
- Отсутствие конфиденциальности из-за открытости информации о транзакциях.
Проверка на стороне клиента (CSV) предлагает альтернативный подход: он требует от уровня консенсуса только выполнения криптографических обязательств, связанных с событиями в реестре, а сама информация о событиях (реестр) хранится вне блокчейна. Этот подход берет свое начало в работе Питера Тодда, который он называет «проверкой на стороне клиента» (Client-Side Validation). CSV перемещает данные транзакций за пределы цепочки, где хранится и проверяется подробная информация, а в блокчейн передается только минимальная информация. Кроме того, данные транзакций передаются вне цепочки только между отправителем и получателем. Например, в реальной транзакции проверка требуется только тогда, когда кошелек и стороны запрашивают доступ к данным контракта.
Ключевые особенности CSV:
- Подробная информация о транзакции хранится вне цепочки и проверяется только на клиенте;
- В цепочке хранятся только обязательства по данным транзакций;
- Проверка применяется только к транзакциям, о которых должен знать пользователь.
Механизм проверки передачи активов в RGB значительно отличается от механизма проверки на Биткоине. В сети Биткоин узлы непрерывно загружают и проверяют блоки и транзакции в мемпуле, что позволяет им получать последнее состояние набора UTXO. При появлении новой транзакции Биткоин-валидаторы проверяют достоверность ее истории путем проверки существования всех входных данных в самом последнем наборе UTXO.
RGB, с другой стороны, не полагается на глобальную сетевую трансляцию всех транзакций для создания эквивалента набора UTXO Биткоина. Это означает, что при получении входящего платежа клиент RGB должен не только убедиться в достоверности последнего перехода состояния, но также должен выполнить проверку для всех предыдущих переходов состояния до исходного состояния в эмиссионном контракте. Эта восходящая проверка истории транзакций в RGB защищает от атак двойного расходования.
RGB улучшает масштабируемость за счет проверки только релевантных транзакций. Однако такой подход может привести к проблемам, связанным с недостаточной доступностью данных, что может потребовать совместного использования данных для оптимизации проверки платежей.
Одноразовые печати (Single-use-seal) на базе Биткоина
Физические одноразовые пломбы или печати — это пластиковые пломбы с уникальным номером, которые обычно используются для выявления несанкционированного доступа во время хранения и транспортировки. Например, они позволяют определить, была ли открыта дверь транспортного контейнера во время перевозки. Цифровые одноразовые печати закрывают сообщение цифровой печатью и гарантируют, что оно может быть использовано только один раз, что предотвращает многократную продажу одного и того же актива.
Вместо того чтобы использовать доверенное лицо для подтверждения открытия и закрытия цифровых печатей, в качестве печатей можно использовать неизрасходованные выходы транзакций Биткоина (Unspent Transaction Outputs, UTXO). UTXO можно рассматривать как печать, которая закрывается при создании и открывается при расходовании. В соответствии с правилами консенсуса Биткоина вывод может быть потрачен только один раз, следовательно, и печать может быть открыта только один раз. Таким образом, одноразовые печати используются для привязки UTXO Биткоина к состояниям контрактов вне цепочки, что позволяет осуществлять переход к следующему состоянию посредством транзакций RGB вне цепочки (закрытие печати). Подобно физическим одноразовым пломбам, используемым для защиты грузовых контейнеров, цифровая одноразовая печать представляет собой уникальный объект, который точно запечатывает часть информации для предотвращения двойной траты.
Приведем простую аналогию: мы можем представить себе UTXO как серию чеков, каждый из которых имеет свою сумму. Осуществляя платеж, вы, по сути, платите кому-то необналиченным чеком. Более того, любой остаток по чеку вернется к вам в виде нового чека. В этом случае одноразовые печати добавляют определенные записи о переводе в поле дополнительной информации чека. Поскольку чек можно обналичить только один раз, такой подход позволяет избежать двойного расходования.
Давайте посмотрим, как этот процесс работает для Алисы, Боба и Дейва:
1. Для начала Алиса выпустила актив RGB (например, USDT Tether или USDT) на общую сумму 100 миллионов и добавила информацию об обязательствах в действующий чек (чек A) в поле дополнительной информации. Чековому принтеру не нужно учитывать эту дополнительную информацию, а чек А может иметь любую номинальную стоимость, если он принадлежит Алисе и остается необналиченным.
2. Когда Алиса хочет перевести 10 млн USDT Бобу, ей необходимо обналичить чек А и указать в поле дополнительной информации, что 10 млн USDT пойдут на новый чек (чек В), принадлежащий Бобу, а 90 млн USDT пойдут на другой новый чек (чек С), принадлежащий Алисе, который содержит оставшиеся 90 млн USDT.
3. Если Боб хочет перевести 10 млн USDT Дейву, ему необходимо обналичить чек B и отметить в поле дополнительной информации, что 10 млн USDT поступят на новый чек (чек D), принадлежащий Дейву.
4. Аналогичный процесс повторяется для каждого последующего перевода. В частности, предыдущий держатель передает часть суммы новому получателю, а получатель затем проверяет всю историю передачи активов. Подобно чекам в обращении, при каждом переводе создается новый чек, и каждый чек может быть обналичен только один раз (UTXO). Между тем, старые чеки (UTXO) становятся недействительными, гарантируя, что состояние может двигаться только вперед, а не назад, что также предотвращает двойное расходование. Таким образом, записи на цепочке достоверно отражают изменения состояния криптоактива.
RGB использует описанную выше модель одноразовой печати на базе Биткоина, то есть при совершении RGB-транзакции отправитель создает переход состояния контракта, определяющего передаваемые права. Рассмотрим случай с токенами. Во-первых, эмитент контракта устанавливает исходное состояние, которое определяет детали контракта, такие как имя актива, общее предложение и UTXO с правом перемещения предложения. Затем, когда активы впервые передаются, владелец первого UTXO может создать переход состояния, который определяет, какой новый UTXO теперь будет владеть активом. RGB достигает переходов состояний, используя механизм, согласно которому UTXO можно потратить только один раз, что позволяет надежно определять и отслеживать передачу криптоактивов и изменения прав собственности.
RGB хранит всю информацию о транзакциях вне сети Биткоина, передавая ее исключительно между отправителями и получателями. При этом данные об обязательствах привязаны к UTXO Биткоина. После того как UTXO потрачен, он не может быть потрачен снова тем же способом, что указывает на произошедшее изменение контракта.
RGB использует блокчейн Биткоин для защиты от двойных расходов, что достигается за счет фиксации каждого перехода состояния RGB внутри Биткоин-транзакции, расходующей UTXO, которому принадлежат перемещаемые права. В одну Биткоин-транзакцию можно включить несколько переходов состояния, но каждый переход состояния может быть зафиксирован только один раз (в противном случае это приведет к двойному расходованию средств).
Чтобы включить несколько переходов состояний в одно обязательство, переходы состояний агрегируются несколько раз, а затем передаются в Биткоин-транзакцию через Taproot или OP_RETURN. Если в Биткоин-транзакции существует несколько обязательств, только первое из них будет иметь значение для правил проверки RGB, а остальные будут проигнорированы, что предотвратит любую попытку двойного расходования.
Основные характеристики RGB
Масштабируемость
- По сравнению с альтернативными протоколами, которые сохраняют всю логику в цепочке, CSV хранит данные вне цепочки, что снижает затраты и вычислительную нагрузку;
- RGB доступен непосредственно на Биткоине без необходимости модификации кода или сложных транзакций внутри сети;
- RGB поддерживает Lightning Network.
Конфиденциальность
- Третьи стороны не могут видеть транзакции RGB и связанные с ними одноразовые печати;
- В RGB используются «слепые» (blinded) UTXO. Слепой UTXO состоит из хэша после сращивания UTXO и случайного ослепляющего секрета (blinding secret). Таким образом, отправитель не знает, куда ушли активы, а новый получатель может проверить слепой UTXO только тогда, когда он потратит актив;
- RGB также использует механизм с нулевым разглашением, называемый Bulletproof. В соответствии с этим механизмом владельцы активов смогут видеть все UTXO, которым ранее принадлежал актив, но они не смогут видеть сумму актива, переданного при каждом переходе состояния.
Разнообразие функций и варианты использования RGB
Схемы
Эмитенты могут использовать схемы RGB, которые действуют как шаблоны контрактов, предназначенных для конкретных случаев использования.
Вот некоторые примеры:
- Выпуск взаимозаменяемых активов RGB20
- Выпуск невзаимозаменяемых активов RGB21
- Децентрализованные цифровые идентификаторы RGB22
- Верифицируемый уникальный журнал истории для проверяемых данных RGB23
- Децентрализованная глобальная система доменных имен RGB24
- Выпуск коллекционных активов RGB25
Любой желающий может разработать собственную схему для различных приложений, не спрашивая разрешения у разработчиков RGB. Однако предполагается, что большинство вариантов использования можно охватить несколькими основными шаблонами.
AluVM
RGB использует AluVM, специально разработанную виртуальную машину RISC на основе регистров. AluVM обладает полнотой по Тьюрингу и может управлять глобальным состоянием с теми же гарантиями доступности, что и существующие системы на основе блокчейна. Подобно EVM, AluVM имеет архитектуру, в которой узел RGB размещается поверх Lightning Network, а клиент RGB размещается на узлах RGB.
Как RGB сохраняет полную совместимость с Lightning Network
RGB может взаимодействовать с Lightning Network через расширение Bifrost для достижения почти мгновенного расчета, не дожидаясь добычи новых блоков Биткоина. Благодаря подключению платежных каналов конкретных токенов к Lightning Network активы RGB могут обеспечивать тот же пользовательский опыт и те же предпосылки безопасности, что и обычные платежи в Lightning Network. Это обеспечивает недорогие, быстрые и стабильные платежи и может принести пользу всей экосистеме, включая пользователей, разработчиков и операторов узлов Lightning.
Сравнение с другими программами
RGB VS TARO
TARO (теперь Taproot Assets), протокол Taro, поддерживаемый Taproot, был представлен Lightning Labs в апреле 2022 года после того, как он привлек $70 млн в рамках финансирования серии B.
И RGB, и TARO построены на CSV. Поскольку они имеют схожий дизайн, некоторые даже утверждают, что TARO черпал вдохновение в RGB. Однако они сосредоточены на разных аспектах: TARO фокусируется на токенах, а RGB нацелен на реализацию функций смарт-контрактов.
Сравнение с другими Биткоин-решениями
В отличие от Drivechain, который основан на BIP300 и BIP301 и требует хардфорков, RGB совместим с существующей технологией Биткоина и потенциальными будущими софтфорками без необходимости модификаций на базовом уровне Биткоина.
Протокол Ordinals фиксирует все данные в блокчейне, в то время как RGB сохраняет в цепочке только обязательства по этим данным. Учитывая безопасность, обеспечиваемую UTXO, RGB занимает минимальное пространство на цепочке, обеспечивая бесшовную интеграцию с Lightning Network.
RGB VS роллапы
Роллап (rollup) — это решение для масштабирования Эфириума, которое позволяет пользователям вносить средства в смарт-контракты Эфириума, а затем совершать транзакции с другими пользователями в том же роллапе. Эти транзакции регулярно агрегируются и передаются в блокчейн.
Кроме того, RGB не является независимым блокчейном.
Проблемы
- Экосистема RGB находится в стадии становления. Хотя инфраструктура уже существует, экосистема предлагает лишь несколько базовых приложений, и может потребоваться некоторое время, чтобы расширить инструментарий разработчиков и базу пользователей.
- Клиенты RGB хранят огромные объемы данных, и расходование средств станет невозможным, если данные для офчейн-проверки будут утеряны. Таким образом, хранить необходимо не только ключ. Кроме того, в отличие от Биткоина и других систем глобального консенсуса, клиентам RGB не нужно видеть и подтверждать все транзакции в глобальном масштабе. Вместо этого они должны подтверждать только те транзакции, которые связаны с их кошельками. Это значительно сокращает объем данных, которые должен проверять каждый клиент, что повышает масштабируемость системы в целом. Хотя проверка массивных данных при получении платежей может показаться проблематичной, поскольку медленная проверка означает медленные транзакции, это становится проблемой только при длинной истории транзакций. Когда это произойдет, потребуются новые уровни доступности данных, которые позволят клиентам добровольно делиться данными о переходе состояний конкретных контрактов, чтобы будущие получатели могли заранее начать проверять часть истории транзакций.
- Для популярных CSV-токенов широкое распространение может привести к повышению стоимости валидации.
- RGB разрабатывается сообществом и зависит от тщательных исследований команды, что означает медленный прогресс и ограниченное продвижение на рынке.
- Кривая обучения разработчиков: помимо знаний о Биткоине, разработчики также должны изучать переходы состояний и контракты RGB.
Проекты экосистемы
DIBA
Сайт: https://diba.io/
DIBA — это Биткоин-маркетплейс для NFT, использующий протокол смарт-контрактов RGB.
Cosminmart
Сайт: https://www.cosminmart.com/
Cosminmart — это экосистема, основанная на протоколе RGB и предлагающая такие функции, как кошелек, рынок, лаунчпад и браузер.
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://github.com/RGB-WG/blackpaper/blob/master/README.md
https://docs.lightning.engineering/the-lightning-network/taproot-assets
https://docsend.com/view/he8x9erkjmphphvn
Эта статья — спонсорский контент, который не отражает взгляды или мнения редакции BeInCrypto. Политика BeInCrypto, согласно правилам Trust Project, — предоставлять качественную и правдивую информацию, однако данный контент создан третьей стороной и предназначен для рекламных целей. BeInCrypto рекомендует читателям самостоятельно проверять информацию и консультироваться со специалистом, прежде чем принимать любые финансовые решения на основе этого спонсорского контента. Также обратите внимание, что наши «Условия и положения», «Политика конфиденциальности» и «Дисклеймеры» были обновлены.