Введение. Что такое доступность данных? **Возможно, первое впечатление у большинства людей такое: «исторические данные в определенный момент можно получить», но на самом деле это самое большое непонимание концепции DA. **Недавно L2BEAT Lianchuang, инициатор Danksharding и основатель Celestia, прояснили это недоразумение. Они отметили, что доступность данных на самом деле должна относиться к «выпуску данных», но большинство людей понимают DA как «исторические данные». могут быть извлечены», и последнее фактически связано с проблемами хранения данных.
Например, Данкрад недавно упомянул механизм принудительного вывода/выходного люка уровня 2. Он отметил, что для принудительного вывода Validium необходимо получить последнее состояние L2 для построения доказательства Меркла, но Plasma требуется только последнее состояние L2, полученное 7 дней назад (это отличается от двух. Это связано с методом определения легального Stateroot пользователя).
При этом Данкрад четко указал, что Validium требует DA для обеспечения безопасности средств пользователей, а Plasma этого не делает. Здесь вариант использования Dankrad указывает на разницу между DA и поиском исторических данных, а именно, что DA, как правило, включает только недавно выпущенные данные. **
В L2BEAT разница между DA доступности данных и DS хранилища данных еще больше усиливается. Бартек из L2BEAT неоднократно подчеркивал, что DA и хранилище данных/исторические данные — это две разные вещи, и пользователи могут получить необходимые им данные L2 только потому, что узлы, предоставляющие данные, «достаточно хороши для вас». Кроме того, L2BEAT также планирует использовать «есть ли узлы хранения данных с открытыми разрешениями» в качестве нового индикатора для оценки Rollup в дополнение к DA.
Приведенные выше замечания членов сообщества Ethereum/Ethereum Foundation указывают на то, что в будущем они стандартизируют концепции, связанные с уровнем 2, и предоставят более детальное определение самого уровня 2. Поскольку многие термины, связанные с Rollup и L2, на самом деле недостаточно объяснены, например, как давно данные считаются «историческими данными» - некоторые люди думают, что, поскольку смарт-контракты могут вызывать данные прошлых блоков только в пределах 256 блоков, следовательно, данные 256 блоков ( 50 минут) назад считаются «историческими данными».
Строго говоря, «накопительный пакет», упомянутый Селестией, и Ethereum Foundation — это две разные вещи. Цель этой статьи - прояснить разницу между концепцией DA и хранилищем данных.На основе источника DA, выборки доступности данных и реализации DA в Rollup мы объясним вам, что такое доступность данных - выпуск данных. **
Источник концепции DA
Что касается проблемы «доступности данных», **основатель Celestia Мустафа объяснил следующее: **DA заключается в том, что когда генератор блоков предлагает новый блок, как гарантировать, что все данные в блоке будут выпущены в сеть? Если генератор блоков не освобождает все данные в блоке, он не может определить, содержит ли блок неверные транзакции.
Мустафа также отметил, что Ethereum Rollup просто публикует данные блоков L2 в цепочке Ethereum и полагается на ETH для обеспечения доступности данных.
**На официальном сайте Ethereum есть следующая информация о DA: **Проблему доступности данных можно сформулировать как вопрос: «Как нам проверить, доступны ли данные нового блока?»... Для облегчения клиенты Как правило, проблема доступности данных относится к проверке доступности блока без загрузки всего блока.
**Официальный сайт Ethereum также четко различает разницу между доступностью и получением данных: **Доступность данных означает способность узла загружать данные блока, когда блок предлагается. Другими словами, доступность данных важна, когда блок еще не достиг консенсуса... Поиск данных относится к способности узла извлекать историческую информацию из блокчейна... хотя для архивирования может потребоваться блокчейн. Исторические данные, но узлы могут проверять блоки. и обрабатывать транзакции без использования исторических данных.
**По мнению участника Celestia China и партнёра W3Hitchhiker Жэнь Хунъи, **Layer2 заранее предполагает, что Ethereum достаточно безопасен и децентрализован, а секвенсор может безопасно и смело отправлять данные DA в Ethereum, и эти данные будут беспрепятственно распространяться. Для всех полных узлов Ethereum. Сам полный узел L2 должен запускать клиент Geth, который является подмножеством полного узла Ethereum, чтобы он мог получать данные DA уровня 2.
**По мнению доктора Ци Чжоу, основателя EthStorage, определение DA заключается в том, что никто не может сохранить данные транзакций, отправленные пользователями в сеть. Соответствующая модель доверия заключается в том, что нам нужно доверять только самому протоколу L1 и не нужно вводить другие предположения о доверии.
Ци Чжоу отметил, что текущий метод реализации DA в Ethereum на самом деле представляет собой P2P-трансляцию (протокол сплетен).Каждый полный узел будет загружать и распространять новые блоки и хранить данные Rollup. Конечно, полные узлы Ethereum не будут постоянно хранить исторические блоки и могут автоматически удалять данные за определенный период времени (похоже, 18 дней) после того, как 4844 выйдет в сеть. **В мире не так много архивных узлов, которые хранят все исторические данные.**EthStorage намерен заполнить этот пробел в системе Ethereum и помочь Уровню 2 настроить свой собственный эксклюзивный узел постоянного хранения данных.
Первые дискуссии Ethereum Foundation о доступности данных можно найти в твитах Виталика и документах GitHub в 2017 году. В то время он считал, что если мы хотим обеспечить масштабируемость/высокую эффективность блокчейна, нам необходимо улучшить аппаратную конфигурацию полного узла (полный узел — это узел, который загружает полный блок и проверяет его достоверность, а Валидатор, обеспечивающий консенсус, является подмножеством полного узла). Однако если аппаратная конфигурация полного узла будет улучшена, эксплуатационные расходы будут увеличены, что приведет к централизации блокчейна.
По этому поводу** Виталик сказал, что можно разработать решение, устраняющее риски безопасности, вызванные централизацией высокопроизводительных полных узлов. ** Он планирует внедрить стирающее кодирование и случайную выборку данных для разработки протокола, чтобы легкие узлы с низкопроизводительным оборудованием могли знать, что с блоком нет проблем, даже если они не знают весь блок.
Его первоначальная мысль на самом деле была связана с идеей, упомянутой в официальном документе Биткойна. Эта идея гласит, что легким узлам не нужно получать полный блок, и когда с блоком возникает проблема, честный полный узел выдаст «сигнал тревоги», чтобы уведомить легкий узел. Эту идею можно распространить на последующие доказательства мошенничества, но нет никакой гарантии, что честные полные узлы всегда смогут получить достаточно данных, и нельзя будет впоследствии судить, скрыл ли предлагающий блок определенные данные и не опубликовал их.
Например, некий узел A может выдать сертификат мошенничества, утверждая, что получил неполный блок от узла B. Но в настоящее время невозможно судить, был ли этот неполный блок подделан самим А или послан Б. Виталик отметил, что эту проблему можно решить с помощью выборки доступности данных DAS (очевидно, что доступность данных по существу связана с проблемами выпуска данных).
Виталик бегло обсуждает эти проблемы и их решения в «Заметках о доступности данных и стирающем кодировании». **Он отметил, что сертификат DA по сути является «завершением» сертификата о мошенничестве. **
Выборка доступности данных
Но очевидно, что концепцию DA не так-то просто объяснить, ведь документ Виталика на github исправлялся 18 раз. Записи показывают, что последнее исправление было внесено 25 сентября 2018 года. Накануне, 24 сентября 2018 года, основатели Celestia Мустафа и Виталик совместно опубликовали статью, которая в будущем станет знаменитой——Доказательства мошенничества и доступности данных: максимизация легкой безопасности клиентов и масштабирование блокчейнов с нечестным большинством
Интересно, что первым автором этой статьи является Мустафа, а не Виталик (второй автор сейчас является исследователем в Sui Public Chain). В статье упоминается концепция защиты от мошенничества, объясняется принцип выборки доступности данных DAS и примерно разработан протокол гибридного соединения DAS + двумерное стирающее кодирование + доказательство мошенничества. **В документе четко упоминается, что система доказательств DA по сути является необходимым дополнением к доказательству мошенничества. **
Если мы начнем с точки зрения Виталика, функцию этого протокола можно резюмировать следующим образом:
Предположим, что в публичной сети имеется N валидаторов консенсусных узлов с высокопроизводительным оборудованием, их пропускная способность велика, а эффективность очень высока. Хотя такой блокчейн имеет высокий TPS, количество узлов консенсуса N относительно невелико, он относительно централизован, а вероятность сговора узлов высока.
Однако по крайней мере один из N узлов консенсуса будет честным. **Пока хотя бы 1/N валидаторов честны, **проверяют, что блок недействителен, и готовы при необходимости передать доказательства мошенничества, легкие узлы или честные валидаторы могут знать, что в сети существует проблема безопасности. , и может использовать Slash вредоносные узлы и социальный консенсус для форков и других методов, используемых для восстановления сети в нормальном состоянии.
Однако, как упоминал ранее Виталик, если честный полный узел получает блок и обнаруживает, что ему не хватает определенных частей, и публикует сертификат мошенничества, трудно определить, не опубликовал ли предлагающий блок эту часть данных или был заблокирован. Другие узлы удержали его, или узел, выдавший сертификат мошенничества, действовал по собственной инициативе.
Кроме того, если большинство узлов вступят в сговор, честные валидаторы 1/N будут изолированы и не смогут получить новые блоки.Это считается сценарием атаки с удержанием данных. Следует отметить, что в настоящее время честный узел не знает, плохо ли состояние сети или другие люди сговорились скрыть данные.Он также не знает, изолированы ли другие узлы, и трудно судить, были ли большинство людей вступили в сговор с целью сокрытия данных.
Подводя итог, должен быть способ гарантировать, что честный Валидатор сможет с очень высокой вероятностью получить данные, необходимые для проверки блока; в то же время должна быть возможность определить, кто участвует в атаках по удержанию данных** - это тот, кто предложил блок, который не опубликовал. Если данных достаточно, они все равно считаются скрытыми другими узлами, или большинство узлов вступают в сговор. Очевидно, что эта модель безопасности имеет гораздо больше гарантий, чем «допущение честного большинства» обычных цепочек POS, а выборка доступности данных DAS является конкретным методом реализации.
Теперь мы предполагаем, что в сети много легких узлов, возможно, 10 N, и каждый легкий узел подключен к нескольким Валидаторам** (для удобства анализа предполагается, что каждый легкий узел подключен ко всем N Валидаторам). Эти легкие узлы будут запускать выборку данных для валидатора несколько раз, каждый раз случайным образом запрашивая небольшую часть данных (при условии, что она составляет только 1% блока). Впоследствии они будут передавать извлеченные фрагменты валидаторам, у которых нет этих данных. При наличии достаточного количества лёгких узлов и достаточной частоты выборки данных, даже если некоторые запросы могут быть отклонены, при условии, что на большинство из них дан ответ, можно гарантировать, что все валидаторы в конечном итоге получат достаточное количество данных. данные, необходимые для проверки блока. Это может компенсировать влияние сокрытия данных другими узлами, кроме предлагающего блок. **
(Источник изображения: W3 Hitchhiker)
И если большинство Валидаторов вступят в сговор и откажутся отвечать на запросы большинства легких узлов, люди легко поймут, что существует проблема с цепочкой (потому что даже если скорость сети у некоторых людей не очень хорошая, это не будет так плохо, как запросы большинства легких узлов) были отклонены). Таким образом, вышеупомянутая схема может с очень высокой вероятностью обнаружить большинство случаев сговора, хотя, конечно, сама по себе такая ситуация возникает редко.
На этом этапе мы можем разрешить неопределенности, исходящие извне инициатора блока. **Если инициатор блока прибегает к сокрытию данных, *например, он не публикует достаточные данные, необходимые для проверки блока в блоке (после введения двумерного стирающего кодирования блок содержит 2k*2k фрагментов, и для восстановления исходных данных блока требуется как минимум около k*k фрагментов, что составляет 1/4. Предлагающий хочет, чтобы другие не смогли восстановить исходные данные, и требуется как минимум k+1*k+1 фрагментов. будет скрыто), *В конечном итоге он будет обнаружен честным валидатором, который отправит доказательства мошенничества, чтобы предупредить других *****еров. **
По словам Виталика и Мустафы, они фактически объединили идеи, предложенные ранее, и внедрили на их основе определенные новшества. С точки зрения отправной точки и реализации всей концепции очевидно, что так называемая «доступность данных» относится к тому, были ли данные, необходимые для проверки последнего блока, выпущены разработчиком блока и могут ли быть проверены разработчиком блока. верификатор.Мы получаем. **Речь идет о том, «полностью ли опубликованы данные», а не «можно ли получить исторические данные».
Как реализовать DA накопительного пакета Ethereum
Сделав предыдущий вывод, давайте посмотрим на реализацию DA Ethereum Rollup. На самом деле все относительно ясно: ** Предлагающий блок в Rollup — это секвенсор, который время от времени будет выполнять проверки на Ethereum. Данные, необходимые для перехода состояния Layer2 . **Если точнее, то это инициация транзакции по указанному контракту, вставка данных, участвующих в DA, в пользовательские входные параметры и, наконец, запись в блоке Ethereum. Поскольку Ethereum достаточно децентрализован, вы можете быть уверены, что данные, отправленные секвенсором, будут успешно получены «валидатором». Но то, что играет роль «верификатора» в разных сетях Rollup, разное.
*(Секвенсор Arbitrum отправляет пакеты транзакций в контракт на Ethereum. Сам контракт не проверяет эти данные, а только генерирует событие для прослушивания полного узла L2, сообщая последнему, что секвенсор выпустил пакет транзакций. ) *
В частности, ZK Rollup использует контракт Verifier на Ethereum в качестве «верификатора». **ZKR необходимо опубликовать как минимум State Diff + Validity Proof, **то есть изменения состояния + подтверждение действительности. Контракт Verifier обнаружит подтверждение действительности, чтобы определить, может ли оно соответствовать State Diff. После прохождения проверки блок/пакет L2, выданный секвенсором, считается действительным.
(Источник: бывший официальный документ Polygon Hermez)
Самый оптимистичный Rollup выпустит больше данных на Ethereum, поскольку он может полагаться только на полные узлы L2 для загрузки данных и проверки действительности блока. **При этом должна быть раскрыта как минимум цифровая подпись каждой транзакции L2 (сейчас обычно используются агрегированные подписи), а при вызове контракта должны быть раскрыты входные параметры, а также адрес передачи транзакции и Значение nonce для предотвращения атак повторного воспроизведения должно быть раскрыто. Но по сравнению с полными данными о транзакциях все еще существует некоторая обрезка.
**По сравнению с ZK Rollup, стоимость DA оптимистического Rollup выше, **поскольку ZK Rollup необходимо раскрывать только окончательные изменения состояния после выполнения пакета транзакций, и он поставляется с сертификатом действительности, что позволяет воспользоваться преимуществами простоты ZK SNARK/STARK; Optimistic Rollup может использовать только самый громоздкий метод, позволяющий повторно выполнять все транзакции на других полных узлах L2.
W3hitchhiker ранее приблизительно подсчитал, что без учета будущих 4844 и больших двоичных объектов эффект расширения ZKR может в несколько раз превысить эффект OPR, а если учитывать связанные с 4337 интеллектуальные кошельки (замена подписей закрытых ключей данными отпечатков пальцев и радужной оболочки глаза), ZKR преимущества будут более очевидны, поскольку ему не нужно публиковать двоичные данные отпечатков пальцев и радужной оболочки глаз в Ethereum, в то время как Optimistic Rollup это делает).
Что касается Validium и Plasma/Optimium, они фактически используют уровень DA в цепочке Ethereum для реализации DA. Например, ImmutableX, который использует систему проверки достоверности, создал набор узлов DAC (Комитета по доступности данных) для публикации данных, связанных с DA; Metis публикует данные DA на Memlabs, а Rooch и Manta используют Celestia. В настоящее время кажется, что из-за существования DAS и системы защиты от мошенничества **Celestia является одним из наиболее заслуживающих доверия проектов уровня DA за пределами Ethereum. **
Рекомендации
5
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Недопонимание доступности данных: DA = выпуск данных ≠ получение исторических данных.
Введение. Что такое доступность данных? **Возможно, первое впечатление у большинства людей такое: «исторические данные в определенный момент можно получить», но на самом деле это самое большое непонимание концепции DA. **Недавно L2BEAT Lianchuang, инициатор Danksharding и основатель Celestia, прояснили это недоразумение. Они отметили, что доступность данных на самом деле должна относиться к «выпуску данных», но большинство людей понимают DA как «исторические данные». могут быть извлечены», и последнее фактически связано с проблемами хранения данных.
Например, Данкрад недавно упомянул механизм принудительного вывода/выходного люка уровня 2. Он отметил, что для принудительного вывода Validium необходимо получить последнее состояние L2 для построения доказательства Меркла, но Plasma требуется только последнее состояние L2, полученное 7 дней назад (это отличается от двух. Это связано с методом определения легального Stateroot пользователя).
При этом Данкрад четко указал, что Validium требует DA для обеспечения безопасности средств пользователей, а Plasma этого не делает. Здесь вариант использования Dankrad указывает на разницу между DA и поиском исторических данных, а именно, что DA, как правило, включает только недавно выпущенные данные. **
В L2BEAT разница между DA доступности данных и DS хранилища данных еще больше усиливается. Бартек из L2BEAT неоднократно подчеркивал, что DA и хранилище данных/исторические данные — это две разные вещи, и пользователи могут получить необходимые им данные L2 только потому, что узлы, предоставляющие данные, «достаточно хороши для вас». Кроме того, L2BEAT также планирует использовать «есть ли узлы хранения данных с открытыми разрешениями» в качестве нового индикатора для оценки Rollup в дополнение к DA.
Приведенные выше замечания членов сообщества Ethereum/Ethereum Foundation указывают на то, что в будущем они стандартизируют концепции, связанные с уровнем 2, и предоставят более детальное определение самого уровня 2. Поскольку многие термины, связанные с Rollup и L2, на самом деле недостаточно объяснены, например, как давно данные считаются «историческими данными» - некоторые люди думают, что, поскольку смарт-контракты могут вызывать данные прошлых блоков только в пределах 256 блоков, следовательно, данные 256 блоков ( 50 минут) назад считаются «историческими данными».
Строго говоря, «накопительный пакет», упомянутый Селестией, и Ethereum Foundation — это две разные вещи. Цель этой статьи - прояснить разницу между концепцией DA и хранилищем данных.На основе источника DA, выборки доступности данных и реализации DA в Rollup мы объясним вам, что такое доступность данных - выпуск данных. **
Источник концепции DA
Что касается проблемы «доступности данных», **основатель Celestia Мустафа объяснил следующее: **DA заключается в том, что когда генератор блоков предлагает новый блок, как гарантировать, что все данные в блоке будут выпущены в сеть? Если генератор блоков не освобождает все данные в блоке, он не может определить, содержит ли блок неверные транзакции.
Мустафа также отметил, что Ethereum Rollup просто публикует данные блоков L2 в цепочке Ethereum и полагается на ETH для обеспечения доступности данных.
**На официальном сайте Ethereum есть следующая информация о DA: **Проблему доступности данных можно сформулировать как вопрос: «Как нам проверить, доступны ли данные нового блока?»... Для облегчения клиенты Как правило, проблема доступности данных относится к проверке доступности блока без загрузки всего блока.
**Официальный сайт Ethereum также четко различает разницу между доступностью и получением данных: **Доступность данных означает способность узла загружать данные блока, когда блок предлагается. Другими словами, доступность данных важна, когда блок еще не достиг консенсуса... Поиск данных относится к способности узла извлекать историческую информацию из блокчейна... хотя для архивирования может потребоваться блокчейн. Исторические данные, но узлы могут проверять блоки. и обрабатывать транзакции без использования исторических данных.
**По мнению участника Celestia China и партнёра W3Hitchhiker Жэнь Хунъи, **Layer2 заранее предполагает, что Ethereum достаточно безопасен и децентрализован, а секвенсор может безопасно и смело отправлять данные DA в Ethereum, и эти данные будут беспрепятственно распространяться. Для всех полных узлов Ethereum. Сам полный узел L2 должен запускать клиент Geth, который является подмножеством полного узла Ethereum, чтобы он мог получать данные DA уровня 2.
**По мнению доктора Ци Чжоу, основателя EthStorage, определение DA заключается в том, что никто не может сохранить данные транзакций, отправленные пользователями в сеть. Соответствующая модель доверия заключается в том, что нам нужно доверять только самому протоколу L1 и не нужно вводить другие предположения о доверии.
Ци Чжоу отметил, что текущий метод реализации DA в Ethereum на самом деле представляет собой P2P-трансляцию (протокол сплетен).Каждый полный узел будет загружать и распространять новые блоки и хранить данные Rollup. Конечно, полные узлы Ethereum не будут постоянно хранить исторические блоки и могут автоматически удалять данные за определенный период времени (похоже, 18 дней) после того, как 4844 выйдет в сеть. **В мире не так много архивных узлов, которые хранят все исторические данные.**EthStorage намерен заполнить этот пробел в системе Ethereum и помочь Уровню 2 настроить свой собственный эксклюзивный узел постоянного хранения данных.
Первые дискуссии Ethereum Foundation о доступности данных можно найти в твитах Виталика и документах GitHub в 2017 году. В то время он считал, что если мы хотим обеспечить масштабируемость/высокую эффективность блокчейна, нам необходимо улучшить аппаратную конфигурацию полного узла (полный узел — это узел, который загружает полный блок и проверяет его достоверность, а Валидатор, обеспечивающий консенсус, является подмножеством полного узла). Однако если аппаратная конфигурация полного узла будет улучшена, эксплуатационные расходы будут увеличены, что приведет к централизации блокчейна.
По этому поводу** Виталик сказал, что можно разработать решение, устраняющее риски безопасности, вызванные централизацией высокопроизводительных полных узлов. ** Он планирует внедрить стирающее кодирование и случайную выборку данных для разработки протокола, чтобы легкие узлы с низкопроизводительным оборудованием могли знать, что с блоком нет проблем, даже если они не знают весь блок.
Его первоначальная мысль на самом деле была связана с идеей, упомянутой в официальном документе Биткойна. Эта идея гласит, что легким узлам не нужно получать полный блок, и когда с блоком возникает проблема, честный полный узел выдаст «сигнал тревоги», чтобы уведомить легкий узел. Эту идею можно распространить на последующие доказательства мошенничества, но нет никакой гарантии, что честные полные узлы всегда смогут получить достаточно данных, и нельзя будет впоследствии судить, скрыл ли предлагающий блок определенные данные и не опубликовал их.
Например, некий узел A может выдать сертификат мошенничества, утверждая, что получил неполный блок от узла B. Но в настоящее время невозможно судить, был ли этот неполный блок подделан самим А или послан Б. Виталик отметил, что эту проблему можно решить с помощью выборки доступности данных DAS (очевидно, что доступность данных по существу связана с проблемами выпуска данных).
Виталик бегло обсуждает эти проблемы и их решения в «Заметках о доступности данных и стирающем кодировании». **Он отметил, что сертификат DA по сути является «завершением» сертификата о мошенничестве. **
Выборка доступности данных
Но очевидно, что концепцию DA не так-то просто объяснить, ведь документ Виталика на github исправлялся 18 раз. Записи показывают, что последнее исправление было внесено 25 сентября 2018 года. Накануне, 24 сентября 2018 года, основатели Celestia Мустафа и Виталик совместно опубликовали статью, которая в будущем станет знаменитой——Доказательства мошенничества и доступности данных: максимизация легкой безопасности клиентов и масштабирование блокчейнов с нечестным большинством
Интересно, что первым автором этой статьи является Мустафа, а не Виталик (второй автор сейчас является исследователем в Sui Public Chain). В статье упоминается концепция защиты от мошенничества, объясняется принцип выборки доступности данных DAS и примерно разработан протокол гибридного соединения DAS + двумерное стирающее кодирование + доказательство мошенничества. **В документе четко упоминается, что система доказательств DA по сути является необходимым дополнением к доказательству мошенничества. **
Если мы начнем с точки зрения Виталика, функцию этого протокола можно резюмировать следующим образом:
Предположим, что в публичной сети имеется N валидаторов консенсусных узлов с высокопроизводительным оборудованием, их пропускная способность велика, а эффективность очень высока. Хотя такой блокчейн имеет высокий TPS, количество узлов консенсуса N относительно невелико, он относительно централизован, а вероятность сговора узлов высока.
Однако по крайней мере один из N узлов консенсуса будет честным. **Пока хотя бы 1/N валидаторов честны, **проверяют, что блок недействителен, и готовы при необходимости передать доказательства мошенничества, легкие узлы или честные валидаторы могут знать, что в сети существует проблема безопасности. , и может использовать Slash вредоносные узлы и социальный консенсус для форков и других методов, используемых для восстановления сети в нормальном состоянии.
Однако, как упоминал ранее Виталик, если честный полный узел получает блок и обнаруживает, что ему не хватает определенных частей, и публикует сертификат мошенничества, трудно определить, не опубликовал ли предлагающий блок эту часть данных или был заблокирован. Другие узлы удержали его, или узел, выдавший сертификат мошенничества, действовал по собственной инициативе.
Кроме того, если большинство узлов вступят в сговор, честные валидаторы 1/N будут изолированы и не смогут получить новые блоки.Это считается сценарием атаки с удержанием данных. Следует отметить, что в настоящее время честный узел не знает, плохо ли состояние сети или другие люди сговорились скрыть данные.Он также не знает, изолированы ли другие узлы, и трудно судить, были ли большинство людей вступили в сговор с целью сокрытия данных.
Подводя итог, должен быть способ гарантировать, что честный Валидатор сможет с очень высокой вероятностью получить данные, необходимые для проверки блока; в то же время должна быть возможность определить, кто участвует в атаках по удержанию данных** - это тот, кто предложил блок, который не опубликовал. Если данных достаточно, они все равно считаются скрытыми другими узлами, или большинство узлов вступают в сговор. Очевидно, что эта модель безопасности имеет гораздо больше гарантий, чем «допущение честного большинства» обычных цепочек POS, а выборка доступности данных DAS является конкретным методом реализации.
Теперь мы предполагаем, что в сети много легких узлов, возможно, 10 N, и каждый легкий узел подключен к нескольким Валидаторам** (для удобства анализа предполагается, что каждый легкий узел подключен ко всем N Валидаторам). Эти легкие узлы будут запускать выборку данных для валидатора несколько раз, каждый раз случайным образом запрашивая небольшую часть данных (при условии, что она составляет только 1% блока). Впоследствии они будут передавать извлеченные фрагменты валидаторам, у которых нет этих данных. При наличии достаточного количества лёгких узлов и достаточной частоты выборки данных, даже если некоторые запросы могут быть отклонены, при условии, что на большинство из них дан ответ, можно гарантировать, что все валидаторы в конечном итоге получат достаточное количество данных. данные, необходимые для проверки блока. Это может компенсировать влияние сокрытия данных другими узлами, кроме предлагающего блок. **
(Источник изображения: W3 Hitchhiker)
И если большинство Валидаторов вступят в сговор и откажутся отвечать на запросы большинства легких узлов, люди легко поймут, что существует проблема с цепочкой (потому что даже если скорость сети у некоторых людей не очень хорошая, это не будет так плохо, как запросы большинства легких узлов) были отклонены). Таким образом, вышеупомянутая схема может с очень высокой вероятностью обнаружить большинство случаев сговора, хотя, конечно, сама по себе такая ситуация возникает редко.
На этом этапе мы можем разрешить неопределенности, исходящие извне инициатора блока. **Если инициатор блока прибегает к сокрытию данных, *например, он не публикует достаточные данные, необходимые для проверки блока в блоке (после введения двумерного стирающего кодирования блок содержит 2k*2k фрагментов, и для восстановления исходных данных блока требуется как минимум около k*k фрагментов, что составляет 1/4. Предлагающий хочет, чтобы другие не смогли восстановить исходные данные, и требуется как минимум k+1*k+1 фрагментов. будет скрыто), *В конечном итоге он будет обнаружен честным валидатором, который отправит доказательства мошенничества, чтобы предупредить других *****еров. **
По словам Виталика и Мустафы, они фактически объединили идеи, предложенные ранее, и внедрили на их основе определенные новшества. С точки зрения отправной точки и реализации всей концепции очевидно, что так называемая «доступность данных» относится к тому, были ли данные, необходимые для проверки последнего блока, выпущены разработчиком блока и могут ли быть проверены разработчиком блока. верификатор.Мы получаем. **Речь идет о том, «полностью ли опубликованы данные», а не «можно ли получить исторические данные».
Как реализовать DA накопительного пакета Ethereum
Сделав предыдущий вывод, давайте посмотрим на реализацию DA Ethereum Rollup. На самом деле все относительно ясно: ** Предлагающий блок в Rollup — это секвенсор, который время от времени будет выполнять проверки на Ethereum. Данные, необходимые для перехода состояния Layer2 . **Если точнее, то это инициация транзакции по указанному контракту, вставка данных, участвующих в DA, в пользовательские входные параметры и, наконец, запись в блоке Ethereum. Поскольку Ethereum достаточно децентрализован, вы можете быть уверены, что данные, отправленные секвенсором, будут успешно получены «валидатором». Но то, что играет роль «верификатора» в разных сетях Rollup, разное.
*(Секвенсор Arbitrum отправляет пакеты транзакций в контракт на Ethereum. Сам контракт не проверяет эти данные, а только генерирует событие для прослушивания полного узла L2, сообщая последнему, что секвенсор выпустил пакет транзакций. ) *
В частности, ZK Rollup использует контракт Verifier на Ethereum в качестве «верификатора». **ZKR необходимо опубликовать как минимум State Diff + Validity Proof, **то есть изменения состояния + подтверждение действительности. Контракт Verifier обнаружит подтверждение действительности, чтобы определить, может ли оно соответствовать State Diff. После прохождения проверки блок/пакет L2, выданный секвенсором, считается действительным.
(Источник: бывший официальный документ Polygon Hermez)
Самый оптимистичный Rollup выпустит больше данных на Ethereum, поскольку он может полагаться только на полные узлы L2 для загрузки данных и проверки действительности блока. **При этом должна быть раскрыта как минимум цифровая подпись каждой транзакции L2 (сейчас обычно используются агрегированные подписи), а при вызове контракта должны быть раскрыты входные параметры, а также адрес передачи транзакции и Значение nonce для предотвращения атак повторного воспроизведения должно быть раскрыто. Но по сравнению с полными данными о транзакциях все еще существует некоторая обрезка.
**По сравнению с ZK Rollup, стоимость DA оптимистического Rollup выше, **поскольку ZK Rollup необходимо раскрывать только окончательные изменения состояния после выполнения пакета транзакций, и он поставляется с сертификатом действительности, что позволяет воспользоваться преимуществами простоты ZK SNARK/STARK; Optimistic Rollup может использовать только самый громоздкий метод, позволяющий повторно выполнять все транзакции на других полных узлах L2.
W3hitchhiker ранее приблизительно подсчитал, что без учета будущих 4844 и больших двоичных объектов эффект расширения ZKR может в несколько раз превысить эффект OPR, а если учитывать связанные с 4337 интеллектуальные кошельки (замена подписей закрытых ключей данными отпечатков пальцев и радужной оболочки глаза), ZKR преимущества будут более очевидны, поскольку ему не нужно публиковать двоичные данные отпечатков пальцев и радужной оболочки глаз в Ethereum, в то время как Optimistic Rollup это делает).
Что касается Validium и Plasma/Optimium, они фактически используют уровень DA в цепочке Ethereum для реализации DA. Например, ImmutableX, который использует систему проверки достоверности, создал набор узлов DAC (Комитета по доступности данных) для публикации данных, связанных с DA; Metis публикует данные DA на Memlabs, а Rooch и Manta используют Celestia. В настоящее время кажется, что из-за существования DAS и системы защиты от мошенничества **Celestia является одним из наиболее заслуживающих доверия проектов уровня DA за пределами Ethereum. **
Рекомендации
5