April 27, 2022

Вывод масштабируемости блокчейна на новый уровень

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

Он не масштабируется, потому что вы не можете поддерживать децентрализацию и масштабирование. Отказ от децентрализации ради масштабируемости — не вариант, потому что это уникальное ценностное предложение блокчейна.

К счастью, мы не ограничены тем, что полагаемся только на базовый слой. Неудивительно, что, когда Сальвадор объявил, что сделает биткойн законным платежным средством, большинство компаний, которые начали принимать его к оплате, сделали это через кошелек Lightning. Lightning = Layer-2 для биткойнов.

Конечно, с растущим спросом на трафик в Ethereum, подпитываемым NFT, мы также наблюдаем взлет 2-го уровня для Ethereum, таких как Polygon, Optimism и Arbitrum. Но давайте сделаем шаг назад.

Что такое Layer-2?

Второй уровень (L2) описывает решения масштабирования, которые переносят вес транзакций с основной цепи блокчейна. Он позволяют основной цепочке переложить большую часть своих требований на смежную архитектуру.

Поскольку мы называем основную цепочку первый уровнем, каждый Слой, построенный поверх него, является, следовательно - вторым уровнем.

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

Вместо того, чтобы сталкиваться с перегрузкой из-за того, что все пытаются совершать транзакции на первом уровне, после установления вторых уровней пользователи будут обращаться к первому уровню только для начала/завершения транзакционных отношений и для разрешения споров.

Какие существуют решения второго уровня?

Их существует большое разнообразие, в зависимости от того, на какую экосистему смотреть. В настоящее время наиболее актуальными решениями масштабирования L2 являются:

  • Плазменная цепь
  • Каналы состояния
  • Платежные каналы и сеть Lightning
  • Сайдчейны
  • Роллапы

Плазменная цепь

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

OmiseGo был одним из первых крупных проектов, реализован был для обеспечения масштабируемости. Поскольку сеть ориентирована в первую очередь на упрощение платежей, Plasma был логичным выбором.

Но что вообще делает плазменная цепь?

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

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

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

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

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

Однако есть и несколько компромиссов, в том числе то, что они поддерживают только простую логику, такую ​​как свопы. Следовательно, они не являются решением для более сложных приложений dApp. Самым большим недостатком с точки зрения пользователя, вероятно, является то, что вывод средств задерживается на несколько дней, чтобы другие могли оспорить действительность.

Тем не менее, Plasma уже используется в различных реализациях, таких как Plasma Cash (для хранения и передачи NFT) и Plasma debit, который работает аналогично концентратору молнии, где каждый токен сам по себе является платежным каналом между пользователем и оператором сети.

Каналы состояния

Еще одним решением для масштабирования являются каналы состояния. Важно отметить, что такие блокчейны, как Ethereum, являются блокчейнами с сохранением состояния, где каждый блок хранит информацию о состоянии цепочки.

Это отличается от того, как Биткойн и Минима работают с использованием модели UTXO.

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

Эти каналы являются автономными и частными. Только участники в них знают, что они существуют. Поскольку транзакции не должны транслироваться в основную цепочку, все расчеты происходят почти мгновенно и конфиденциально.

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

Каналы состояния на практике:

  • Алиса блокирует часть состояния, отправляя деньги на мультиподписной контракт.
  • Она подписывает свою транзакцию, когда покупает что-то у Боба. Она делает копию подписи для дальнейшего использования.
  • Теперь Боб что-то покупает у Алисы и отправляет ей транзакцию.
  • Каждая транзакция содержит одноразовый номер, который сообщает порядок транзакций смарт-контракту, содержащему деньги.
  • Это повторяется пару раз, пока оба не решат, что с них хватит.
  • Они закрывают канал, отправляя свой окончательный баланс в основную цепь.

Уменьшая объем информации, которую необходимо записать в основную цепочку, каналы состояния также помогают снизить вычислительную нагрузку на узлы.

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

Для пользователей очень очевидным преимуществом является то, что вместо того, чтобы платить за 10 транзакций, они платят только за 2 при использовании каналов состояния, и они получают мгновенную транзакцию и больше не нужно ждать, пока транзакция будет считаться окончательной.

Однако каналы состояния требуют от участников 100% доступности. Вот почему они лучше всего работают с определенным набором участников.

Платежные каналы

Вы когда-нибудь пользовались кошельком Bitcoin Lightning?

Если ответ положительный, вы использовали платежные каналы, возможно, даже не подозревая об этом. А если нет, то, прочитав это, вы, по крайней мере, будете знать, что они из себя представляют и как они работают.

Платежные каналы работают аналогично указанным выше каналам состояния, но не ограничиваются цепочками с отслеживанием состояния. Сеть Lightning является самой известной и широко используемой реализацией платежных каналов для масштабируемости с более чем 86 000 открытых каналов. Поэтому мы будем использовать его для пояснений.

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

Теперь вы можете задаться вопросом, неужели не все хотят открыть свой канал?

И это правда. Это немного технический процесс, который требует, чтобы вы запустили узел молнии, а затем подключились к другому узлу, чтобы открыть канал. Любой, кто управляет каналом, также должен добавить в него биткойны, чтобы можно было тратить выходы.

Это требует некоторого размышления и еще не является вещью с одним щелчком мыши.

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

Общие сведения о хешированных контрактах с временной блокировкой (HTLC)

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

Тем не менее, сеть Lightning, как и многие другие протоколы в этой отрасли, все еще находится в стадии разработки. Существует целая толпа разработчиков, постоянно выпускающих обновления для наиболее широко используемой реализации (c-lightning). Это еще не идеально.

Одним из недостатков Lightning в его нынешнем состоянии является то, что он пока не может поддерживать большие транзакции. Это связано с тем, что каждый канал молнии должен быть дополнен своим оператором ликвидности (биткоин). Стоимость, заблокированная в каналах, увеличивается, но любому киту, вероятно, все еще будет трудно перевести свои средства из А в Б.

кит = инвестор со значительными активами.

Тем не менее, у Lightning на биткойнах есть еще больший недостаток.

А майнеры?

Майнеры защищают сеть биткойнов, предоставляя хешрейт. Чем выше хешрейт, тем больше хешрейта должен будет обеспечить любой объект, пытающийся атаковать сеть. До сих пор биткойн не видел ни одной атаки 51%, что рассматривается как доказательство их неэкономичности на данный момент.

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

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

Но что, если транзакций в основной цепочке больше не будет?

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

Но это не единственная проблема.

В настоящее время майнеры добывают вознаграждение за блок. Может быть несколько благотворительных майнеров, которые делают это для защиты сети, но в конечном итоге самая большая мотивация — заработать биткойны.

Это не будет длиться вечно.

В конце концов, награды за блок закончатся.

Что тогда защитит сеть?

Можете представить.

Награды за блок равны нулю.

Все совершают транзакции на Lightning.

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

Вот почему у Минимы есть Максима.

Они заменяют платную безопасность первого уровня на совместную сеть узлов. Все узлы вместе защищают сеть — каждый по отдельности, предоставляя лишь небольшое количество доказательств работы.

Вдобавок к этому находится Maxima, устойчивый к цензуре информационный слой, который позволяет пользователям передавать любые данные, которые им нравятся. Это создает коммуникационный уровень, который может использовать любой второй уровень.

И даже пользователи, не использующие второй уровень, которые просто хотят отправлять сообщения или файлы через Maxima, по-прежнему защищают базовую сеть, предоставляя небольшое доказательство работы.

Minima поддерживает решения масштабирования, такие как каналы состояния, молниеносная сеть, боковые цепи и цепочки состояний. Команда минима также создает собственный второй уровень под названием Omnia.

Это открывает потенциально неограниченное количество транзакций в секунду без ущерба для децентрализации.