paint-brush
Масштабирование Ethereum: раздувание данных, доступность данных и безоблачное решениек@logos
5,353 чтения
5,353 чтения

Масштабирование Ethereum: раздувание данных, доступность данных и безоблачное решение

к Logos11m2024/06/12
Read on Terminal Reader

Слишком долго; Читать

Codex — это безоблачный, не требующий доверия протокол хранения данных p2p, призванный обеспечить надежные гарантии сохранности и долговечности данных для экосистемы Ethereum и за ее пределами. Из-за быстрого развития и внедрения новых протоколов цепочка блокчейнов Ethereum раздулась от данных. Такое раздувание данных также можно определить как «перегрузку сети», когда данные транзакций засоряют сеть и подрывают масштабируемость. Кодекс предлагает решение проблемы DA, за исключением сохранения данных.
featured image - Масштабирование Ethereum: раздувание данных, доступность данных и безоблачное решение
Logos HackerNoon profile picture

Codex — это безоблачный, не требующий доверия протокол однорангового хранения, призванный обеспечить надежные гарантии сохранности и долговечности данных для экосистемы Ethereum и за ее пределами. В настоящее время EIP-4844 предлагает лишь частичное решение проблемы раздувания данных. Комиссии остаются высокими, а в экосистеме мало вариантов долгосрочного хранения данных.


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


Вы когда-нибудь обменивали ETH на другой токен на Uniswap?


Я подключился через Metamask и попытался обменять 0,001 Eth (примерно 35 долларов США) на SNT. Комиссия за газ стоит столько же, сколько транзакция. Это слишком высокая комиссия для торговли криптовалютой. Большинство людей не хотят платить такую сумму.


Давайте разберемся, почему эти транзакции такие дорогие.



20.03.2024

Web3 и децентрализованные финансы значительно выросли за последние годы. Из-за быстрого развития и внедрения новых протоколов цепочка блокчейнов Ethereum раздулась от данных. Результат? Непомерно дорогая плата за газ и плохой пользовательский опыт. Такое раздувание данных также можно определить как «перегрузку сети», когда данные транзакций засоряют сеть и подрывают масштабируемость.


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


Потерпите меня; Я буду использовать жаргон и технический язык, но сделаю все возможное, чтобы изучить эту жизненно важную, недооцененную тему понятным языком. Все больше людей в экосистеме должны начать понимать, насколько надежна выборка доступности данных (DAS) для масштабирования блокчейнов. Прежде чем продолжить, читатель должен прочитать о механизмах консенсуса, доказательстве доли и о том, как технология работает на высоком уровне.


Давайте начнем с распаковки трилеммы блокчейна.

Проблемная трилемма

Все децентрализованные технологии, которые хотят развиваться, страдают от аналогичных ограничений.


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


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


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

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


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


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

Модульный против монолитного

Крайне важно еще раз заявить, что запуск полного узла в сети является обязательным условием ее успеха. Но что такое «полный узел» или «полностью проверяющий узел»?


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


Статья Юань Хань Ли под названием « WTF — это доступность данных » поясняет:

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


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


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


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


Решение проблемы «монолитного» блокчейна состоит в «модуляции» его функциональности и перегрузке функции доступности данных другим участникам сети. В этом сценарии базовый уровень блокчейна будет функционировать просто как уровень расчетов и консенсуса. Все требования к доступности данных будут переложены на других участников сети.

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

Проблема DA и накопительные пакеты

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

«Доступность данных» — это гарантия того, что данные нового предложенного блока, необходимые для проверки правильности блока, доступны другим участникам сети блокчейна».


Важное замечание: обратите внимание, что существует разница между «доступностью данных» и «хранением данных». Многие люди в космосе путают эти два понятия. Доступность данных определяет, доступны ли данные и может ли кто-либо получить к ним доступ, а хранение данных означает хранение данных в определенном месте в течение длительного времени. В этом смысле хранение данных подразумевает идею «постоянства данных». Ник Уайт, операционный директор Celestia, предоставил мощная аналогия :


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


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

Возникает вопрос: что такое «проблема доступности данных»?


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

В статье на сайтеledger.com объясняется, как работают легкие узлы:

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


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


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

Оптимистические и ZK Rollups

Чтобы глубже понять проблему DA, крайне важно понять, что такое свертки. Свертывания — это блокчейны второго уровня, в которых есть узлы, называемые секвенсорами; эти секвенсоры помогают пакетировать, сжимать и упорядочивать транзакции. Бенджамин Саймон описал взаимосвязь между накопительными пакетами и Ethereum:

«По сути, накопительный пакет представляет собой отдельный блокчейн, но с несколькими модификациями. Как и в случае с Ethereum, протокол объединения имеет «виртуальную машину», которая выполняет код смарт-контракта. Виртуальная машина накопительного пакета работает независимо от собственной виртуальной машины Ethereum (« ЭВМ »), но управляется смарт-контрактом Ethereum. Это соединение позволяет обмениваться данными между накопительными пакетами и Ethereum. Объединение выполняет транзакции и обрабатывает данные, а Ethereum получает и сохраняет результаты».


Проще говоря, накопительные пакеты — это решения для масштабирования вне цепочки. Однако объединение не приносит в жертву безопасность, как это обычно делают многие решения масштабирования «вне сети». В случае объединения только обработка данных и вычисления происходят вне цепочки (через секвенсоры). Транзакции в конечном итоге сохраняются в блокчейне уровня 1, обеспечивая безопасность. Эти данные в цепочке ранее назывались « данными вызова ».


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


Существует два популярных типа накопительных пакетов: оптимистические накопительные пакеты и ZK накопительные пакеты.

  • Оптимистические свертки — это наиболее широко обсуждаемый и используемый тип сводок. Как следует из названия, «оптимистические» объединения предполагают, что в экосистеме есть как минимум 1 xn хороших участников. Что это значит? Оптимистичные сводные данные предполагают, что все транзакции, опубликованные в сети, действительны. Чтобы компенсировать этот «оптимизм», накопительные пакеты предоставляют сети 7-дневное окно для подачи « защищенный от мошенничества », показывая, что транзакции, отправленные в сводном отчете, недействительны.


    Одна из ключевых вещей, которую следует знать об оптимистических накопительных пакетах, — это то, что они в основном совместимы с EVM, поэтому разработчики могут эффективно с ними работать. Таким образом, их можно рассматривать как более популярное решение для масштабирования Ethereum. Два примера оптимистичных сводных данных: Оптимизм и Арбитрум .

  • ZK-коллапы используют криптографию с нулевым разглашением, чтобы доказать, что транзакции, которые они сжимают и группируют, правильны и точны. Вместо того, чтобы предполагать, что все транзакции точны (как в случае оптимистических сводных данных), ZK-свертки генерируют «доказательство действительности», чтобы продемонстрировать, что транзакции действительны немедленно, устраняя любой период ожидания.


    Однако известно, что с ZK-коллапами разработчикам может быть сложнее работать, поскольку не все из них EVM-совместимы. ZK-свертывания также требуют больших вычислительных ресурсов, поскольку создание доказательств требует много ресурсов. Тем не менее, на рынке начинает появляться все больше и больше накопительных пакетов, совместимых с EVM. Прокрутить свернутый EVM решение — это всего лишь один пример.

Решение: Выборка доступности данных и Кодекс

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


Напомним, что частью решения является не полагаться на полную проверку узлов для сетевой безопасности. Если мы просто полагаемся на эти узлы, большинство пользователей не смогут запускать полные узлы из-за непомерно дорогих требований к оборудованию. (Обратите внимание, что увеличение размера блока является потенциальным решением, хотя и сомнительным, поскольку этот путь отрицательно влияет на децентрализацию. Тем не менее, этот конкретный аргумент стал недействительным, поскольку объединение действует как решение масштабирования уровня 2, которое поддерживает безопасность основной цепи).

Тем не менее, каков ответ на то, чтобы не все использовали полные узлы?

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

Доступность данных, стирающее кодирование и Кодекс

Первым шагом является создание уровня доступности данных с надежной сетью легких клиентов, чтобы определить, доступны ли данные. Но как легкие клиенты, которые обычно проверяют только данные заголовка и полагаются на полные узлы для получения информации, могут гарантировать достоверность и полноту своих данных? Ответ можно найти с помощью математического трюка под названием «выборка доступности данных (DAS)».


DAS — это метод выборки бита данных из фрагмента данных и использования его для вероятностного определения остальных существующих данных и их восстановления. Многие организации (в том числе Блокчейн Селестия и уровень DA) используют DAS посредством кодирования со стиранием и полиномиальных обязательств. Коды Рида-Соломона являются популярным выбором среди многих проектов. Эти типы полиномов выглядеть так :

Y = a[o] + a[1]x + a[2]x^2+...+a[k]x^k


Эти функции используются для определения недостающих данных и их полного восстановления. Это работает путем создания данных K из N, где K — исходные данные, а N — «данные четности». Если некоторые исходные данные пропадают, машина узла использует математическую функцию, называемую Интерполяция Лагранжа восстановить его. Используемая математика кажется непонятной большинству людей, но идея проста.

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


Конкретная схема, которую использует Codex (как и Celestia), называется схемой кодирования 2D Erasure. Следует отметить, что 2D-кодирование со стиранием, хотя и популярно в криптоэкосистеме, не является новой технологией. Однако то, как его используют для решения проблемы ДА, весьма интересно. Доктор Баутиста __ объяснил __, как команда Кодекса использует Erasure Coding:

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

Есть еще кое-что о путешествии данных в Кодексе, но оно выходит за рамки статьи. Прочтите книгу доктора Баутисты. кусок чтобы понять распределение данных, выборку и механизмы «ленивого восстановления», которые использует Кодекс.


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

Вывод: решение проблемы

Дебаты о том, как масштабировать блокчейны, заканчиваются. В экосистеме Биткойна бушуют споры о том, как масштабировать блокчейн: от увеличения ограничения размера блока до использования решений уровня 2. Реальность такова, что сочетание этих двух решений является наиболее разумным решением. Например, Кодекс может выступать в качестве безоблачного уровня доступности данных для Ethereum (а также для других блокчейнов), позволяя увеличивать размер блока, поскольку сеть будет содержать множество узлов для проведения проверок DA в сети.

Хорошей новостью является то, что это увеличит пропускную способность сети при сохранении безопасности базового уровня. И что из этого следует? Да, вы поняли: более низкие комиссии и более быстрые транзакции. Как пользователей блокчейнов, это действительно то, что нас волнует больше всего.

Однажды, возможно, скоро, я смогу обменять свои токены на пенни за доллар, а не на 35 долларов.


by Sterlin Lujan