Масштабирование с помощью сайдчейнов и цепочек состояний
Запись в блоге о масштабируемости подробно описывает решения, такие как плазменная цепь, каналы состояния и сеть Lightning, которые помогают масштабировать сети блокчейнов. Однако существует больше решений для масштабирования, которые также можно применить к Minima.
Представленная ранее плазменная цепочка уже является формой сайдчейна, но, поскольку она имеет другую настройку, чем традиционные сайдчейны, рассмотрим их более широко в этом посте.
Как правило, идея масштабирования решений на 2-м уровне заключается в том, чтобы убрать трафик с основной цепи. Это достигается за счет установки связи между 1-м слоем и вторым. Сайдчейны ничем не отличаются.
Сайдчейны
Из их названия можно сделать вывод, что сайдчейн — это целая цепочка блоков, работающая «на стороне» основной цепи. Сайдчейны сами по себе являются независимыми блокчейнами. Это означает, что они могут использовать свои алгоритмы консенсуса, узлы и параметры блоков для обработки транзакций.
Сайдчейны, как правило, дешевле, чем транзакции в основной цепочке, что делает их очень популярными среди пользователей. Примером ныне печально известного сайдчейна является сайдчейн Ronin.
Ронин (浪人) — японское слово, обозначающее самурая без хозяина.
Sky Mavis, игровая студия, разработавшая популярную игру Axie Infinity, предназначенную для заработка, осознала, что размещение игры на Ethereum требует от пользователей высокой платы за газ и длительного ожидания транзакций. Поэтому они решили перенести игру на свою сайдчейн. К сожалению, пользователи и сама команда на собственном горьком опыте узнали одну правду о сайдчейнах:
Сайдчейны не наследуют безопасность основной цепи
Это был дорогой урок, когда хакер ушел с активами в 600 миллионов долларов. Хотя компания, похоже, готова возместить пользователям расходы, это все же было примером того, как не следует запускать сайдчейн.
Вы можете задаться вопросом, почему боковые цепи не так безопасны, как основная цепь. Причина в том, что они являются независимыми блокчейнами. Это означает, что они не получают выгоды от узлов, на которых работает основная цепь. В качестве другого примера из реальной жизни возьмем Polygon.
Ethereum — это цепочка Proof-of-Work (до слияния в конце этого года). Polygon, решение для масштабирования Ethereum, полностью совместимо с основной цепочкой. Но это отдельный блокчейн со своим набором валидаторов, работающих на разных узлах и с другим алгоритмом консенсуса.
Это удобно для пользователей, потому что они могут легко переносить свои активы из Ethereum в Polygon и обратно, но безопасность не одинакова.
Сайдчейны связаны с основной цепью через двусторонние привязки. Это означает, что вы можете переводить активы туда и обратно. Смарт-контракты управляют этим процессом перемещения между цепями.
От биткойна к умному биткойну и обратно
Хотя Биткойн не так известен, у Биткойна уже много лет есть сайдчейны. RSK — это проект из Латинской Америки, целью которого является внедрение смарт-контрактов и DeFi в биткойнах. Хотя исходный протокол Биткойн не поддерживает сложную логику, RSK позволяет разработчикам запускать смарт-контракты в экосистеме Биткойн, создавая сайдчейн с двусторонней привязкой к Биткойну.
Одной из проблем, с которыми сталкиваются сайдчейны, является необходимость в своем наборе узлов для защиты своей цепи. В конце концов, это независимая сеть. RSK решает эту проблему с помощью объединенного майнинга .
Это позволяет майнерам защищать различные цепочки без увеличения вычислительной мощности. Любой, кто занимается добычей монет SHA-256 PoW, также может майнить на RSK и получать вознаграждение.
Тем не менее, как пользователи используют сайдчейн?
Им придется заблокировать средства в основной цепочке. Мы хотели использовать 1 BTC на RSK, потому что мы хотим получать проценты по нему в протоколе кредитования. Смарт-контракт, связывающий биткойн с RSK, возьмет наш 1 BTC и выдаст нам взамен один rBTC (умный биткойн). Теперь мы можем взять этот rBTC и использовать его на кредитной платформе. Как только мы закончим получать проценты и захотим обналичить их в основной цепочке, нам придется пройти через этот процесс, но в обратном порядке.
Сайдчейны хорошо подходят для использования в конкретных приложениях, помимо простого добавления масштабируемости к основной цепочке, и имеют потенциал для расширения за их пределы. В конечном итоге они могут сыграть роль в межсетевом взаимодействии. Как пользователь, важно помнить, что сайдчейны — это их собственный блокчейн, и их следует выбирать с такой же тщательностью, как и любой Layer-1.
Еще одно решение, предложенное в 2019 году для масштабирования Биткойна, — это Statechains.
Цепочка состояний
Рубен Сомсен, разработчик Биткойн придумал концепцию цепочек состояний, когда пытался масштабировать Биткойн, не жертвуя при этом децентрализацией.
Statechains — это протокол 2-го уровня, который обеспечивает передачу вне цепочки. Он полностью не связан с тюремным заключением, а это означает, что никакая третья сторона не получает контроль над вашими средствами. Итак, следующий вопрос: как работают цепочки состояний и чем они отличаются от сайдчейнов?
В отличие от сети Lightning, цепочки состояний не являются ненадежными. На практике это означает, что идея цепочек состояний основана на предположении о доверии. Давайте быстро вспомним, что на самом деле означает передача стоимости в цепочках UTXO.
Это не физические деньги, переходящие из рук в руки. Когда мы переводим Биткойн или Минимум, мы передаем UTXO получателю.
С помощью цепочек состояний мы блокируем деньги мультиподписью 2 из 2 (мультиподпись, что означает, что из 2 указанных наборов ключей 2 должны быть подписаны, чтобы транзакция была действительной). Вместо отправки фактического UTXO мы отправляем закрытый ключ 🔑.
Второй ключ, необходимый для разблокировки средств, не находится у лица, получающего средства. Его проводит нейтральная сторона, выступающая в роли посредника. И именно поэтому цепочки состояний не являются ненадежными. Вам по-прежнему нужно доверять этой нейтральной стороне для завершения транзакций.
Если вы никогда раньше не слышали о цепочках состояний, но знаете, как использовать Биткойн, ваш следующий вопрос, вероятно, будет таким:
Как на практике работает передача стоимости в цепочках состояний?
- Алиса создает цепочку состояний и делает Шанталь посредником (нейтральной стороной).
- Алиса создает временный ключ, Шанталь создает свой ключ -> оба ключа создают адрес с несколькими подписями.
- Алиса отправляет биткойн на мультиподписной адрес
- Вместо того, чтобы отправлять деньги напрямую по цепочке Бобу, она теперь отправляет временный ключ Бобу.
- С помощью ключа Боб может обратиться к Шанталь, чтобы переместить монеты. ПРИМЕЧАНИЕ. Последний в цепочке всегда тот, с кем Шанталь будет сотрудничать. Несмотря на то, что у Алисы все еще есть временный ключ, Шанталь считает, что Алиса больше не владеет монетами.
Теоретически Алиса, Боб и Шанталь могут продолжать бесконечно просто пересылать ключи, даже не подписывая транзакцию в основной цепочке. Конечно, есть еще одна «проблема» для тех, кто ищет решение без доверия.
Мы должны верить, что нейтральная сторона не исчезнет
Один из способов решить эту проблему — добавить резервную транзакцию, которая отправляет монеты с мультиподписью на новый адрес. Он может быть настроен Алисой с двумя условиями, которые вызовут его выполнение:
- два ключа подписывают мультиподпись - нормальный процесс
- определить определенный период времени, по истечении которого Алиса может потратить монеты, не нуждаясь во втором ключе.
На практике Алиса попросила бы Шанталь подписать резервную транзакцию для Боба, а затем передала бы ее ему. Когда Боб получает временный ключ, у него все еще есть подписанная резервная копия, поэтому, если Шанталь исчезнет, он сможет потребовать свои деньги.
Дополнительно можно добавить Eltoo. Это технология, которая при генерации нового состояния делает недействительным предыдущее. В примере с Алисой, Бобом и Шанталь это означает, что Боб может переопределить резервную транзакцию Алисы. Поэтому, если сейчас Алиса попытается обмануть систему, передав свою старую транзакцию, она будет автоматически помечена как недействительная. 🚩
Конечно, в худшем случае все еще существует риск того, что нейтральная сторона не нейтральна, а злонамеренна. Это не та проблема, которую можно полностью решить целиком. Но есть способы минимизировать риски.
- Различные мультиподписные настройки. Вместо использования мультиподписи 2 из 2 можно настроить требование требуемого количества подписей из общего количества, например 8 из 10.
- Другой подход — выделить любого злоумышленника, создав новую цепочку, в которой каждый, кто был частью предыдущей цепочки, подтверждает свои транзакции. Это значит, что все увидят, когда Шанталь поступает неправильно.
- Замените Шанталь известными и уважаемыми фасилитаторами. Это немного иронично, если ваша цель состояла в том, чтобы не полагаться на институты. Идея состоит в том, что такие компании, как Blockstream for Bitcoin, настолько вовлечены и известны в экосистеме, что на них можно положиться.
Общие цепочки состояний — интересный подход к масштабированию сетей UTXO. Они обеспечивают большую конфиденциальность и не требуют каких-либо изменений в базовом протоколе.
Тем не менее, все еще есть недостатки, а именно то, что они включают централизованную фигуру или ряд фигур для обеспечения цепочки состояний и помогают произвести окончательный подсчет.
Еще одна, еще более серьезная проблема для тех, кто хочет использовать их для платежей, заключается в том, что после ввода сумма в цепочке состояний фиксируется.
Так что, если Алиса создаст цепочку состояний для отправки 1 BTC, это будет единственная сумма, которую могут перевести другие. Боб может перевести только 1 BTC и так далее.
Сначала это может показаться недостатком. Но UTXO также можно рассматривать как…
Технология Lightning отлично подходит для небольших платежей. Для больших единовременных выплат отлично подходят цепочки состояний.
Тем не менее, что может дать им еще больший вариант использования, так это NFT. Вместо того, чтобы рассчитываться по каждой передаче права собственности NFT в цепочке, можно было бы передавать соответствующие ключи с длительным временем подтверждения и без затрат.
Minima — это сеть UTXO. Следовательно, он может поддерживать боковые цепи, а также цепочки состояний для повышения масштабируемости. Чтобы узнать больше об использовании Minima и технологиях, составляющих протокол, присоединяйтесь к дискорду.