Как решения масштабирования Ethereum Layer 2 устраняют барьеры для предприятий, строящихся в основной сети

Тас Диенес, рабочая группа основной сети ЕЭЗ

декабрь 2020 г.

Если вы в последнее время следите за развитием экосистемы Ethereum, вы, вероятно, слышали о высоких комиссиях за транзакции и ограниченной вычислительной мощности Mainnet. Возможно, вы также слышали об уровне 2.  Уровень 2 – это набор технологий или систем, которые работают поверх Ethereum (уровень 1), наследуют свойства безопасности от уровня 1 и обеспечивают более высокую производительность обработки транзакций (пропускную способность), меньшую комиссию за транзакцию ( эксплуатационные расходы) и более быстрое подтверждение транзакций, чем на уровне 1. Решения по масштабированию на уровне 2 защищены на уровне 1, но они позволяют приложениям блокчейна обрабатывать гораздо больше пользователей, действий или данных, чем может вместить уровень 1.

Уровень 2 — это широкая область, в которой многие команды исследуют и создают различные решения для масштабирования, которые иногда конкурируют, а иногда дополняют друг друга. Основные категории решений L2:каналы состояния, боковые цепи 1 , плазма, оптимистичные роллапы, zk-роллапы и валидация. Есть также некоторые гибридные решения, которые имеют свойства нескольких категорий. Каждый из них имеет свой собственный набор сильных и слабых сторон и компромиссов. Подробное рассмотрение того, как работает каждый тип технологии L2 и нюансы его компромиссов, выходит за рамки этой статьи, но о них написано много других авторов 4,5,6,7 .

Большинство решений L2 сосредоточены вокруг сервера или кластера серверов, каждый из которых может называться узлом, валидатором, оператором, секвенсором, производителем блоков или подобным термином. В зависимости от реализации, эти узлы L2 могут управляться предприятиями или организациями, которые их используют, либо сторонним оператором, либо большой группой лиц (аналогично основной сети). Вообще говоря, транзакции отправляются на эти узлы L2 вместо того, чтобы отправляться непосредственно на L1; затем экземпляр L2 объединяет их в группы перед привязкой к L1, после чего они защищаются L1 и не могут быть изменены. Детали того, как это делается, значительно различаются в разных технологиях и реализациях L2.

Частный и публичный Ethereum

Многие компании создают приложения или экспериментируют с частными блокчейнами, включая частные реализации Ethereum, несмотря на тот факт, что открытая и децентрализованная природа Ethereum Mainnet обеспечивает определенные преимущества, такие как более высокая безопасность/неизменяемость, прозрачность, более низкие эксплуатационные расходы, 3 и возможность взаимодействовать со всеми другими приложениями, которые также находятся в основной сети (сетевые эффекты). Совместное использование общей системы отсчета позволяет избежать ненужного создания многочисленных изолированных хранилищ, которые не могут общаться, обмениваться или синхронизировать информацию друг с другом.

Эти преимущества также доступны на L2, если это необходимо (прозрачность необязательна). Транзакции на L2 оцениваются и защищаются L1, который по-прежнему выступает в качестве общей системы отсчета и обеспечивает глобально согласованное упорядочение транзакций и управление состоянием. Приложения могут легко взаимодействовать внутри экземпляра L2 и могут выполнять транзакции между L2 посредством обмена сообщениями между цепочками.

Существует множество причин, по которым корпоративные разработчики и архитекторы предпочли строить частные сети, а не общедоступные. В конце 2019 года Джон Уолперт из ConsenSys составил список проблем, связанных с идеей использования основной сети Ethereum в бизнесе 2 . Здесь мы рассмотрим расширенную версию этого списка проблем или возражений против создания основной сети и посмотрим, как решения масштабирования уровня 2 могут изменить игру для некоторых приложений.

Проблемы со сборкой в ​​основной сети Ethereum Влияние использования решения уровня 2 Проблема масштабирования:моему приложению требуются сотни или тысячи транзакций в секунду, с которыми не могут справиться общедоступные сети. Это именно та проблема, для решения которой предназначены решения L2. В зависимости от конкретной технологии и реализации L2 пропускная способность может быть в 50–1000 раз выше, чем у L1.

На верхнем уровне:государственные каналы, плазма, валидий, боковые цепи и некоторые гибридные решения. На нижнем уровне:zk-свертки и оптимистичные свертывания. Проблема скорости и задержки:нашим системам CRM и ERP не нужны такие скорости транзакций в секунду, как у Visa или Mastercard (и даже они получают эти показатели TPS за счет распараллеливания… могут не обманывай меня). Но длительное время ожидания для кругового пути + консенсус делает то, что я мог бы делать с основной сетью, неудобным для пользователя. Некоторые решения L2 могут обеспечивать «мгновенные» подтверждения транзакций с экономической гарантией того, что ваша транзакция будет включена в следующий блок L2.

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

Завершение транзакций L2 на L1, чтобы получить все преимущества безопасности L1, по-прежнему зависит от времени блока L1. Нужно ли вам ждать окончательности L1, подтверждения L1 или только подтверждения L2, зависит от специфики вашего приложения. Проблема окончательности:Эфириум — это машина «консистентности в конечном счете». Если это изменится с Eth2.0, я этого не понимаю… что-то о волшебной быстрой финализации. Я не знаю. Что я знаю точно, так это то, что во всех моих системах изменение данных становится окончательным в ту секунду, когда оно записано. L2 может сделать это немного сложнее, потому что транзакции могут быть завершены как на L2, так и на L1. Как минимум, это тот же уровень сложности, что и L1.

Однако Ethereum 2.0 вводит окончательность через свой новый алгоритм консенсуса Casper FFG. После миграции на Eth2 транзакции L1 и L2 можно считать завершенными через некоторое время. Проблема шумных соседей:другие пользователи и сетевая активность не должны мешать моей работе. Как предприятие, выполняющее критически важные операции, которые полагаются на предсказуемое время операций, я должен быть уверен, что событие «криптокитти» невозможно. Мне нужно знать, что, несмотря на то, что Mainnet является общедоступной утилитой, есть разумная уверенность в том, что операции чтения, записи и вычисления, необходимые мне для ведения бизнеса в Mainnet, не будут сведены к сканированию из-за действий других. Степень, в которой «шумные соседи» могут нарушить вашу работу, потребляя большую часть емкости L1, зависит от типа технологии L2 и от того, как она реализована. Некоторые технологии, такие как плазма и валидиум, записывают очень мало данных в L1. Из-за этого оператор L2 может платить более высокие цены на газ, если это необходимо, чтобы обеспечить своевременную обработку своих транзакций на L1. Эти решения очень устойчивы к «шумным соседям».

Боковые цепи также относительно невосприимчивы к этой проблеме, потому что они не зависят от цепи L1. Но передача токенов или данных в/из цепочки L1 по-прежнему зависит от пропускной способности L1.

Решения L2 в стиле агрегирования ограничены доступной емкостью L1 и могут больше страдать от перегрузки основной сети. Стоимость газа L1 для привязки этих транзакций L2 к L1 по-прежнему намного ниже, чем стоимость выполнения этих транзакций непосредственно на L1, поэтому оператор может иметь возможность платить более высокие комиссии за транзакции, чтобы обеспечить своевременную обработку. Эти решения менее устойчивы к шумным соседям, чем ранее упомянутые, но более устойчивы, чем приложения, работающие непосредственно на L1.

Если корпоративные приложения совместно используют экземпляр L2 с другими приложениями, в зависимости от реализации оператор L2 может предоставить некоторую гарантированную пропускную способность или соглашение об уровне обслуживания в отношении этого экземпляра L2. Приложение или компания также могут иметь свой собственный экземпляр L2 для себя. Проблема личных данных:80% наших данных считаются конфиденциальными, внутренними или персональными данными клиента, клиента или пользователя. Шифрования недостаточно. Любые данные могут быть деанонимизированы и расшифрованы с заданным временем. И любой, у кого есть полный узел, должен вечно хрустеть битами в леджере. Поэтому мне не нравится размещать даже зашифрованные данные в общедоступной цепочке. Некоторые технологии L2 (такие как валидация, боковые цепочки и Arbitrum SCSC) могут хранить все данные L2 в экземпляре L2 и вне L1.

Если несколько компаний записывают данные в один и тот же общий экземпляр L2, они смогут видеть данные друг друга (например, консорциум), но если у компании есть собственный экземпляр, данные могут оставаться конфиденциальными. Вопросы безопасности:зашифрованные данные еще данные. Хранение PII и клиентских данных, даже в зашифрованном виде, на одноранговых платформах противоречит нашей политике. В то время как накопительные пакеты записывают все данные транзакций в L1, другие решения этого не делают. Некоторые решения L2 позволяют компании запускать собственный частный экземпляр L2, который хранит все данные L2 при себе, на серверах, контролируемых этой компанией.

В конечном счете, следует поставить под сомнение необходимость размещения конфиденциальных данных в блокчейне, поскольку существуют шаблоны проектирования, которые избегают использования блокчейнов в качестве баз данных и сосредотачиваются на использовании их сильных сторон, сохраняя при этом конфиденциальные данные вне блокчейна. Проблема локальности данных:GDPR требует, чтобы я мог учет того, где хранятся данные PII, даже если они зашифрованы. И мне нужно иметь возможность удалить эти данные навсегда по запросу. Если данные постоянно хранятся на любом количестве узлов, которые я не контролирую повсюду… да. С некоторыми решениями L2, которые не записывают данные транзакций в L1, оператор L2 может предоставить услугу L2, соответствующую GDPR, которая хранит данные L2 в известном месте. с требуемым уровнем безопасности. Или компания может запустить свой собственный частный экземпляр L2 и иметь полный контроль над данными L2. Проблема ответственной стороны:Моя юридическая структура требует, чтобы была ответственная сторона, отвечающая за все аспекты моих данных и бизнес-логики. Если я помещу данные в основную сеть, я потеряю ключевую ответственную сторону. Некоторыми решениями L2 управляет оператор, который может предлагать и нести ответственность за SLA и безопасность традиционным способом. Проблема транзакционных издержек:цены на газ Ethereum растут. . Если мне нужно провести миллионы транзакций, это будет безумно дорого. Это еще одна проблема, для решения которой был специально разработан L2. Поскольку привязка транзакций L2 к L1 потребляет гораздо меньше газа, чем проведение транзакций непосредственно к L1, стоимость транзакции L2 намного ниже.

Точная экономия зависит от технологии L2. L2, такие как каналы состояния, плазменная валидация и боковые цепи, являются наиболее экономичными, в то время как L2, которые хранят данные о транзакциях в L1, например, накопительные пакеты, предлагают меньшую (но все же существенную) экономию. Проблема непредсказуемости затрат:цены на газ то растут, то падают. Цены на криптовалюту растут и падают. Слишком сложно предсказать, сколько будет стоить моя транзакция. В некоторых реализациях L2 есть оператор, который может взимать фиксированную/гарантированную цену за транзакцию.

Операторы сайдчейна могут предлагать фиксированную ставку для переменной продолжительности работы цепи (3 мес., 6 мес., 12 мес.). Транзакции в цепочке будут в значительной степени безгазовыми.

Даже при переменных рыночных ценах L2 значительно снижает стоимость транзакции. В зависимости от типа L2 транзакционные издержки L2 могут изменяться линейно по мере изменения цен на газ на L1 (объединения) или могут быть относительно несвязанными, поскольку на L1 хранится меньше данных (валидиум, плазма и т. д.). Учитывая более низкую общую стоимость, последствия изменчивости могут быть уменьшены. Проблема с платежами в криптовалюте:я должен хранить криптовалюту и оплачивать транзакции в криптовалюте. Привести казначейство моей компании к покупке, хранению и оплате в криптовалюте — это кошмар. Если экземпляр L2 управляется сторонним оператором, оператор может принимать оплату за транзакции L2 в любой форме валюты по своему выбору, включая традиционную фиатную валюту.

Эта проблема также может быть решена на L1 с помощью ретрансляторов транзакций (также известных как заправочные станции), которые могут принимать платежи в фиате или токенах и ретранслировать транзакции в сеть L1. стратегическая контрразведка или корп. шпионаж. В эпоху ИИ любая отслеживаемая активность, выполняемая в постоянном публичном реестре, может быть использована для выяснения того, кто что делает, даже если это всего лишь небольшие изменения в попытках Меркла. L2 основаны на определенных технологиях (таких как валидация, боковые цепи, Arbitrum SCSC) могут хранить детали транзакций L2 внутри L2 и вне L1. Затем L2 может ограничить доступ авторизованным объектам. Если компания запускает собственный частный экземпляр L2, детали их транзакций могут оставаться конфиденциальными (хотя могут быть ограниченные варианты использования L2, которые используются только одним объектом).

Также можно использовать такой подход, как базовый, при котором транзакции между объектами проводятся конфиденциально, и только подтверждения правильности ZK (собранные в пакетах) отправляются либо на L1, либо на L2.

Новая технология под названием zkzk-rollup (например, Aztec 2.0) позволяет выполнять конфиденциальные транзакции внутри L2, чтобы другие пользователи на том же экземпляре L2 не могли расшифровать ваши транзакции.

Также в стадии разработки находятся протоколы конфиденциальности и хранения данных, которые основаны на управлении правами доступа, распределенной генерации ключей и доверенных средах выполнения, чтобы сохранить конфиденциальность данных, за исключением случаев, когда они находятся внутри TEE на уровне 2. Конфиденциальный код Проблема:вы не можете просто скрыть данные чем-то вроде ZK-SNARKS и думать, что с корпоративной точки зрения все в порядке. Многие деловые соглашения воплощены в коде… бизнес-логике. Если машина может выполнить смарт-контракт, она может декомпилировать и просмотреть логику, что может привести к утечке конфиденциальной информации. Некоторые L2 не поддерживают смарт-контракты и выполнение кода.

Если для ваших транзакций требуется выполнение кода, можно использовать такой подход, как Baseline, при котором транзакции между объектами выполняются конфиденциально, а на L1 или L2 отправляются только подтверждения правильности ZK.

Новая технология под названием zkzk-rollup (например, Aztec 2.0) позволяет проводить конфиденциальные транзакции в пределах L2, чтобы другие пользователи на том же экземпляре L2 не могли расшифровать ваши транзакции. . Я не хочу, чтобы меня ассоциировали с этим, и я боюсь того, что может произойти, если правительства примут жесткие меры в отношении общедоступных блокчейнов. По мере роста общественного использования Ethereum любому правительству становится все труднее подвергать цензуре или блокировать сеть. Хотя могут быть предприняты глобальные усилия по прекращению или сокращению использования преступниками, вряд ли это предотвратит рост децентрализованных вычислений и общедоступных сетей. Преимущества общих протоколов, цифровой валюты/токенов, бездоверительного и автоматизированного исполнения контрактов, а также другие преимущества Web3 слишком сильны, чтобы их можно было остановить.

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

Заключение

Решения для масштабирования уровня 2 для Ethereum Mainnet разрабатывались в течение последних нескольких лет и теперь готовы к работе с реальными приложениями. Построение вашего приложения на уровне 2 поможет вам достичь гораздо более высокой пропускной способности, чем запуск всех ваших операций непосредственно на уровне 1. И это сведет к минимуму транзакционные издержки. Уровень 2 также может помочь решить проблемы, связанные с конфиденциальностью, конфиденциальностью транзакций и хранением данных. И это может помочь компаниям избежать необходимости иметь дело с токенами криптовалюты и волатильностью цен при оплате транзакций.

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

Примеры решений L2, которые уже готовы к производству или скоро будут запущены, включают:

  • Оптимистичные сводки (данные о цепочке, доказательства мошенничества)
    • Оптимизм
    • Сводный пакет арбитражных решений Offchain Labs
    • Топливная сеть
  • Сводные данные ZK (данные о цепочке, подтверждения достоверности ZK)
    • Цикл
    • Старкваре
    • ZkSync от Matter Labs
    • Ацтек 2.0
  • Валидиум (данные вне цепочки, подтверждение достоверности ZK)
    • Старкваре
    • ZkPorter компании Matter Labs
  • Plasma (данные вне сети, доказательства мошенничества)
    • Сеть OMG
    • Газель
    • Матик Сеть
    • ПрыжокDAO
  • Государственные каналы
    • Подключить
    • Райден
    • Перун
  • Боковые цепи 1
    • Масштаб
    • Сеть АПО
  • Гибридные решения
    • Offchain Labs Arbitrum SCSC — обладает свойствами как сайдчейнов, так и каналов состояния, но возвращается к оптимистичному объединению, если валидаторы плохо себя ведут.
    • Celer — имеет настраиваемые свойства сайдчейнов и каналов состояний, а также оптимистичные сводки.

Примечания и ссылки

  1. Некоторые говорят, что боковые цепи технически не относятся к уровню 2, поскольку они не защищены уровнем 1:https://ethresear.ch/t/understanding-sidechains/8045
  2. https://drive.google.com/file/d/1-_lHgLeIyYH2ggtKigvNhzHz7OnXFJz6/view
  3. https://github.com/EYBlockchain/fundamental-cost-of-ownership/blob/master/EY%20Total%20Cost%20of%20Ownership%20for%20Blockchain%20Solutions.pdf
  4. https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two
  5. https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955
  6. https://medium.com/celer-network/adding-hybrid-pos-rollup-sidechain-to-celers-coherent-layer-2-platform-d1d3067fe593
  7. https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf

Спасибо Джону Уолперту, Кену Фромму и Джеку Лихи за их вклад в эту статью.


Ethereum
  1. Блокчейн
  2.   
  3. Биткойн
  4.   
  5. Ethereum
  6.   
  7. Обмен цифровой валюты
  8.   
  9. Добыча полезных ископаемых