Второй уровень (Layer 2, L2) - это любая офф-чейн сеть, система или технология, построенная поверх блокчейна (обычно известного как сеть первого уровня), которая помогает расширить возможности сети базового уровня. Сети второго уровня могут поддерживать любой блокчейн для внедрения таких улучшений, как например, более высокая пропускная способность транзакций.
Одним из основных требований к сети, системе или технологии второго уровня является то, что она наследует безопасность блокчейна, на базе которого она построена. Данные транзакций должны в той или иной форме проверяться и подтверждаться базовой сетью блокчейна, а не отдельным набором узлов. Например, сайдчейны часто не считаются вторым уровнем, поскольку они обычно используют собственные механизмы консенсуса и валидаторы, что приводит к иному набору гарантий безопасности, чем в сети базового уровня.
Для блокчейнов, которые жертвуют масштабируемостью для достижения более высокой децентрализации и безопасности, второй уровень обеспечивает большую пропускную способность транзакций, что может привести к снижению комиссий. Второй уровень можно рассматривать как одно из решений проблемы масштабируемости, обеспечивающее быстрое и масштабируемое исполнение без ущерба для децентрализации и безопасности.
Необходимость второго уровня
С момента появления технологии блокчейн в 2008 году тысячи исследователей и разработчиков работали над решением серьезных проблем масштабируемости блокчейна в соответствии с растущим применением. Эти ограничения исторически приводили к высоким комиссиям и медленному времени исполнения, снижая способность блокчейн работать в промышленных масштабах.
Придуманная соучредителем Ethereum Виталиком Бутериным трилемма масштабируемости блокчейна утверждает, что блокчейн не способен эффективно масштабироваться, сохраняя при этом безопасность и децентрализованность основной сети. Сегодняшние сети блокчейн могут выполнять два из трех условий, но не все три одновременно.
Технология L2 - это новая технология, основанная на предположении, что это ограничение масштабируемости существует потому, что на блокчейн возложено слишком много задач. Это происходит потому, что блокчейн сегодня выполняет три основные функции: исполнение, доступность данных и консенсус.
Исполнение - обработка транзакций и пропускная способность. Измеряется количеством вычислений (подмножеством которых являются транзакции) в секунду, которые может обрабатывать блокчейн. Доступность данных - требования к хранению транзакций, состояния и других данных на узлах и валидаторах сети. Измеряется в стандартных терминах хранения, таких как мегабайты, гигабайты и т.д. Консенсус - широкое согласие узлов и валидаторов относительно состояния сети и порядка транзакций. Измеряется в терминах децентрализации и времени до конечного результата, или времени, которое требуется всем узлам для достижения согласия по поводу изменения состояния. Примечание: В рамках данной статьи мы сосредоточимся исключительно на уровне исполнения.
Как работают решения второго уровня
Примечание: Реализация большинства решений второго уровня находится на ранних стадиях, и многие элементы дизайна протоколов второго уровня еще не проверены или не доказаны.
На базовом уровне решения второго уровня, как правило, состоят из двух частей: Сеть, которая обрабатывает транзакции, и смарт-контракт на базовом блокчейне, который разрешает любые споры и достигает консенсуса по состоянию сети второго уровня, прикрепляя ее к базовому блокчейну.
Сети второго уровня - это место, где происходит быстрое выполнение транзакций и вычислений. Они могут сильно различаться по способу достижения этой пропускной способности. Однако общим знаменателем между каждой средой второго уровня является то, что при желании урегулировать ситуацию на базовой цепи, второй уровень должен предоставить в блокчейн некое криптографическое и верифицируемое "доказательство" целостности предлагаемого изменения состояния, либо упреждающее, либо ретроактивное.
Аналогичным образом, базовая реализация смарт-контракта может варьироваться между уровнями 2, но основные функции смарт-контракта всегда заключаются в следующем:
удерживать и высвобождать средства, переведенные на L2
получение некоего доказательства, сгенерированного L2, его проверка, разрешение споров, а затем завершение транзакций.
Хороший способ концептуализировать эти две динамики - рассмотреть два примера существующих реализаций второго уровня - платежные каналы и роллапы.
Платежные каналы
Платежный канал позволяет осуществлять офф-чейн (вне блокчейн) перевод токенов на блокчейне между двумя или более пользователями путем предварительного финансирования ликвидности канала.
Алиса и Боб создают платежный канал путем блокировки коллективных средств в смарт-контракте и согласования (с помощью криптографических подписей) того, к какой сумме каждый из них имеет доступ. Например, если оба заблокировали средства по 50 долларов на общую сумму 100 долларов, они, скорее всего, согласятся, что каждый из них может использовать по 50 долларов в платежном канале.
После создания платежного канала Алиса и Боб могут совершать транзакции вне цепочки с помощью подписанных сообщений, не передавая транзакции в основной блокчейн. Алиса может платить Бобу, и наоборот, с нулевой стоимостью и молниеносными задержками. При общении по двустороннему платежному каналу транзакции Алисы и Боба не публикуются в основной блокчейн; только когда они принимают взаимное решение закрыть канал, конечные результаты передаются в блокчейн и фиксируются в нем.
Конечным результатом этой системы является то, что Бобу и Алисе нужно оплатить только две транзакции на цепочке, чтобы открыть и закрыть платежный канал. Пока платежный канал открыт, миллионы переводов могут осуществляться с нулевой стоимостью и субсекундной скоростью напрямую от одного пользователя к другому - классический пример масштабируемости.
Роллапы
Оптимистичный и роллап с нулевым разглашением обеспечивают более высокую пропускную способность и более низкие затраты за счет выполнения изменений состояния смарт-контракта вне блокчейн и их подтверждения на блокчейн. Масштабируемость с помощью роллапов достигается следующими тремя методами.
Роллапы выполняют транзакции вне блокчейн, требуя, чтобы базовый блокчейн выполнял только небольшие доказательства для проверки активности сети и хранения необработанных данных о транзакциях.
Роллапы собирают данные транзакций вместе, когда передают их в блокчейн, так что стоимость газа на блокчейн распределяется между несколькими транзакциями.
Для подтверждения достоверности транзакций в блокчейне базового уровня роллапам требуется как минимум один честный валидатор, что позволяет уменьшить набор валидаторов и повысить требования к аппаратному обеспечению без существенного снижения безопасности.
Офф-чейн исполнение
Ключевая особенность роллапов заключается в том, что они выполняют транзакции вне сети блокчейн. Это означает, что сети второго уровня обрабатывают транзакции, будь то транзакции с другим пользователем или смарт-контрактом, от имени базового блокчейна. В сочетании с меньшим набором валидаторов и более совершенным оборудованием это обеспечивает гораздо более высокую пропускную способность при проведении транзакций в сети второго уровня по сравнению с базовыми блокчейнами.
Базовому блокчейну нужно только выполнять доказательства, переданные роллап смарт-контракту, для проверки активности в сети второго уровня (в случае оптимистичного роллап - только в случае спора) и хранить необработанные, неисполненные данные транзакций как "calldata". Проще говоря, это означает, что блокчейн должен выполнять меньше работы и хранить меньше данных для транзакций, происходящих на уровне 2, что приводит к снижению общей стоимости каждой транзакции.
Пакетные транзакции
Еще один способ сокращения расходов - пакетные операции. Это можно представить как упаковку подарков. В блокчейне каждая транзакция - это отдельный подарок, который доставляется в отдельной коробке. Это делает доставку дорогостоящей, так как вам приходится платить за доставку каждый раз, когда вы хотите отправить подарок. При использовании роллапов вы упаковываете много подарков в большую коробку с меньшими интервалами и делите большую стоимость доставки на несколько подарков.
Более технически точное объяснение заключается в том, что в рулонах пакетно обрабатываются необработанные данные транзакций в виде "calldata". Транзакции в роллапах не нуждаются в проверке так же, как транзакции на блокчейне; скорее, пакетные данные транзакций - это просто способ сохранить данные на базовом блокчейне, чтобы в случае необходимости валидатор или участник роллапа мог в любой момент воссоздать состояние сети второго уровня. Однако основная логика остается прежней - одна пакетная транзакция на основной цепочке хранит данные о нескольких сворачиваемых транзакциях.
Это очевидный и простой способ снижения платы за транзакции, препятствующий масштабируемости блокчейна, и в сочетании со сжатием данных он обеспечивает значительное улучшение стоимости исполнения по сравнению с транзакциями на базовом блокчейне.
И zk-роллапы, и оптимистичные роллапы осуществляют пакетную обработку транзакций аналогичным образом.
Меньшее количество валидаторов
Как уже говорилось ранее, второму уровню присущи гарантии безопасности и децентрализация базового блокчейна. Подробнее об этом будет рассказано ниже, но основная идея заключается в том, что второй уровень должен предоставить базовому блокчейну форму доказательства того, что предлагаемые им изменения состояния действительны.
Это дает возможность роллапам иметь меньше валидаторов, обрабатывающих все транзакции в сети второго уровня. Валидаторы могут быть субъектами с правом доступа и часто имеют гораздо более сложное оборудование, позволяющее вычислять транзакции быстрее и с меньшими затратами. Это возможно потому, что валидаторы не обеспечивают консенсус - это происходит через смарт-контракт на базовой цепи, а смарт-контракт требует доказательств.
Безопасность второго уровня: Важность доказательств
Концепция "доказательства" является основополагающей для второго уровня, чтобы они могли унаследовать гарантии безопасности базового блокчейна. В физическом мире доказательства могут принимать различные формы. Отпечатки пальцев на оружии и записи с камер во время инцидента - оба примера доказательств.
Криптографическое доказательство работает аналогичным образом, но его содержание гораздо более объективно, чем то, что допустимо в физических судах. Доказательство чего-либо с помощью криптографии дает объективные, проверяемые и защищенные от взлома гарантии того, что определенная вещь является истинной. Если доказательство работает, оно гарантированно истинно. В случае с платежными каналами криптографические подписи на транзакциях обеспечивают окончательную истину, необходимую смарт-контракту для разрешения любых споров.
Каждый уровень 2 опирается на ту или иную форму криптографического доказательства для разрешения споров на базовом блокчейне. Наиболее известными доказательствами сегодня являются доказательства ошибок и доказательства достоверности (также известные как доказательства с нулевым разглашением), являющиеся основой современных оптимистичных роллапов и zk-роллапов.
Подписанные сообщения в платежном канале
Предположим, что при закрытии платежного канала Боб или Алиса действуют злонамеренно и пытаются взять чужие средства. Любой из них может сделать это, передав смарт-контракту устаревшую копию реестра платежного канала.
Ключевым элементом конструкции платежного канала является то, что транзакции всегда должны быть криптографически подписаны. Это становится формой доказательства, совместимой с базовым смарт-контрактом для разрешения споров. Например, если Алиса предлагает устаревшую копию реестра, по которой она получает больше средств, чем должна получить, Боб может оспорить расчетную транзакцию и предоставить более новую копию реестра. Затем правильные суммы могут быть определены смарт-контрактом. Алисе также придется заплатить штраф за свое нечестное поведение.
Процесс вынесения решений в рамках базового смарт-контракта - это именно то, что делает платежные каналы вторым уровнем. Простой способ понять это - посмотреть на это с точки зрения "доказательства". После открытия платежного канала Боб и Алиса должны криптографически подписать каждую транзакцию, которую они совершают, и сохранить копию подписи друг друга.
Это является доказательством деятельности в рамках платежного канала, но просто иметь доказательство недостаточно. Необходимо обеспечить соблюдение истины, подобно тому, как судья принимает решение после предоставления доказательств и вынесения вердикта присяжными. В данном случае смарт-контракт приводит решение в исполнение и производит расчеты, возвращая правильную сумму в кошелек каждого участника на базовом блокчейне.
Вот что значит унаследовать децентрализацию и гарантии безопасности базовой сети блокчейна. Платежный канал обрабатывает большую часть вычислений и выполнения вне блокчейн, но в случае, если для урегулирования канала необходим консенсус, надежный уровень консенсуса базового блокчейна принимает окончательное решение.
Оптимистическое доказательство неисправностей роллапа
Доказательства ошибок просты по своей природе. Уровень 2, использующий доказательства ошибок, по умолчанию предполагает, что все транзакции действительны. Однако существует период спора, когда любой участник сети может создать спор и предоставить смарт-контракту доказательство того, что данные транзакции и предлагаемое изменение состояния неверны. Когда публикуется доказательство ошибки, транзакция свертывания частично или полностью перевыполняется на цепочке, и полученное изменение состояния сравнивается с первоначальным утверждением. Если повторное выполнение приводит к другому результату, то исходное утверждение считается недействительным и отменяется.
Эта система используется сегодня в оптимистичных роллапах. Оптимизм" исходит из философской точки зрения защиты от сбоев: Смарт-контракт "оптимистично" предполагает, что все транзакции действительны, пока не доказано обратное (невиновен, пока не доказана вина). Если вернуться к примеру с недобросовестным валидатором, то любому участнику сети достаточно предложить смарт-контракту достоверное доказательство ошибки в течение периода спора, чтобы действия валидатора были аннулированы до завершения транзакций.
Доказательства достоверности zk-роллапов
Доказательства достоверности можно рассматривать как противоположную философскую точку зрения доказательству ошибок, в котором все вычисления и выполнение находятся под вопросом и должны быть доказаны заранее.
Проще говоря, доказательства достоверности доказывают, что что-то является правильным. В случае zk-роллапов это обязательно относится к транзакциям и вычислениям, которые имели место в сети второго уровня. Соответствующий внутриблокчейн смарт-контракт может, таким образом, проверить доказательство достоверности уровня 2, чтобы утвердить изменения состояния. В контексте валидаторов полнофункциональный zk-роллап фактически делает невозможным проведение ошибочных или злонамеренных транзакций на базовой сети, поскольку каждая серия должна иметь соответствующее доказательство достоверности.
Масштабирование блокчейн
Платежные каналы, роллапы и второй уровень в более широком смысле - все это методы подхода к проблеме масштабируемости блокчейна устойчивым и долгосрочным образом, поддерживающим как растущее принятие приложений Web3, так и улучшенный пользовательский опыт.
Будучи зарождающейся и постоянно развивающейся технологией, большинство инфраструктурных компонентов Web3, включая базовые блокчейны и второй уровень, еще не достигли той точки перегиба, когда будет окончательно известно, какой подход лучше всего соответствует потребностям рынка. Однако тысячи разработчиков и исследователей продолжают неустанно работать над поиском жизнеспособных решений в обширной экосистеме блокчейн-сетей, DAG-решений и второго уровня, которые существуют сегодня, чтобы вывести обещания Web3 на передний общественный план.
Телеграм канал про web3 разработку и смарт-контракты.
Комментарии (2)
Al7777
31.07.2022 18:04А вот тут интересная статья по поводу разбора уязвимостей optimistic rollups на примере протоколов Arbitrum и Optimism https://sinoglobalcapital.notion.site/Optimistic-Rollups-In-Practice-3f203064e2bf4754b3c2e17f40559d00
Основные претензии текущему состоянию сетей: ⁃ Fraud proof - этап проверки информации в блоках на предмет корректности - на обеих сетях не функционирует ⁃ На секвенсеры можно повлиять, обладая небольшими техническим навыками (копи-паст отрывков команд напрямую в etherscan) ⁃ Контакты Optimism и Arbitrum (a) централизованы через полный контроль командами проектов, и (б) могут изменяться без задержек публикации апгрейдов - атака и изменения могут произойти по всей сети моментально
Revertis
Было бы интересно почитать про консенсусы на втором уровне.
Кроме того, а что там со способом масштабирования, который был предложен в TON? Насколько я помню, там предлагалось много параллельных блокчейнов-шардов и передача транзакций между ними. Это не может быть более эффективным способом масштабирования?