Первоначальный автор: ОРФЕО
Проект L2 снова в центре внимания.
Как представитель маршрута расширения Rollup в L2, после раздачи Arbitrum будет запущена эра zkSync. Что стоит за бесконечными новыми дизайнами и дорожными картами, в чем основная линия Rollup и в чем эволюционное мышление? Давайте посмотрим сегодня.
Основные пункты этой статьи:
В отношении Биткойна и Эфириума с момента их рождения есть два самых больших критических замечания со стороны обычных пользователей:
Эти два критических замечания связаны с двумя факторами в конструкции блокчейна:
Если блокчейн действительно может быть подобен подъездной дорожке, то фундаментальное решение, естественно, состоит в том, чтобы расширить подъездную дорожку и в то же время сотрудничать с ценовыми средствами, чтобы направлять время выхода, и не выходить, если вы не находитесь в пути. торопиться.
Однако, несмотря на то, что расширение полос и увеличение емкости блока является привлекательным решением для повышения эффективности трафика, это последнее средство в дизайне блокчейна. Потому что чем больше размер блока, тем выше требования к оборудованию для майнеров и тем меньше майнеров, которые могут удовлетворить эти требования; согласно этой идее, если вы хотите обрабатывать тысячи транзакций в секунду, как Visa, вы только в конечном итоге сделаете еще один централизованная Visa противоречит основной цели недоверия к блокчейну.
Есть ли другое решение? Да, в дополнение к управлению временем мы также можем оптимизировать пространство, включая, помимо прочего:
** Как автобус на блокчейне, Rollup на самом деле экономит место и экономит бензин (Газ, каламбур): **
Таким образом, Rollup решает два слота «медленно» и «дорого».
Вернемся к блокчейну и посмотрим конкретный план Rollup.
Вместо того, чтобы смотреть на стандартный ответ (не говоря уже о том, что нет), лучше немного подождать и представить, что вы будете делать, когда вам поручат разработать Rollup для Ethereum.
С таким же успехом мы могли бы начать с двух точек зрения: снижения вычислительных затрат (экономия бензина) и снижения затрат на хранение (экономия места) и сначала предложить более радикальное решение под названием Rollup 1.0.
Роллап 1.0 состоит из 3 основных пунктов:
Проще говоря, это регулярный и количественный сбор всех запросов на транзакцию, а после вычислений вне сети в цепочке закрепляются только результаты вычислений.
Это решение прекрасно решает две основные болевые точки «медленно» и «дорого», но, похоже, порождает новые проблемы:
Для этих трех новых проблем мы можем повторить версию плана.
Лучше всего решается проблема мотивации, а проблемы, которые можно решить с помощью денег, не являются проблемами. Поставщик услуг может поровну разделить стоимость «совместного использования автомобилей» и взимать немного дополнительных «чаевых».
Проблема обзора немного сложнее, но решение очень распространено в области блокчейна, и это децентрализация. Группа людей является поставщиками услуг, что лучше, чем только один поставщик услуг; каждый может быть поставщиком услуг, что лучше, чем фиксированная группа людей. В последнем способе игры, если все поставщики услуг не являются хорошими, вы также можете сами быть поставщиком услуг или напрямую перейти к L1, чтобы инициировать арбитраж.
С мошенничеством немного сложнее. Его можно разбить на два вопроса: один — как выявить мошенничество, а другой — как его предотвратить.
Во-первых, для выявления мошенничества нам необходимо знать данные каждой транзакции (транзакции), состояние перед транзакцией (состояние), чтобы рассчитать новое состояние (состояние) после транзакции и использовать его для хранения это в цепочке поставщика услуг По сравнению с новым состоянием, если оно такое же, это означает, что поставщик услуг честен, в противном случае это означает, что он солгал. Однако мы не знаем данные транзакции, потому что они не в цепочке. В результате мы можем только скептически относиться и не можем судить о том, честен поставщик услуг или нет.
Далее, чтобы предотвратить мошенничество, лучший способ сделать мошенничество невозможным, что более сложно, если только расчет поставщика услуг не проверяется каждый раз в цепочке, но таким образом, нет никакого преимущества " совместное использование автомобилей» вверх. Таким образом, мы можем только сделать шаг назад, позволить цене мошенничества быть очень высокой и заставить поставщиков услуг иметь шкуру в игре, например, уплату депозита (ставки), которая будет конфискована в случае обнаружения мошенничества. (Этот метод называется социальным консенсусом, который относится к безопасности на основе игр и также упоминался в «Еженедельнике № 3».)
Роллап 2.0 неплох, но проблема выявления мошенничества не решена.
Согласно предыдущему выводу, для выявления мошенничества мы должны знать данные транзакции, поэтому эта часть данных должна находиться в той же цепочке, что и данные состояния.
Кто обнаружит, что они мошенники? Очевидно, что это вряд ли будет рядовой пользователь, потому что следить за каждым шагом поставщика услуг 7х24 часа невозможно, поэтому это может быть только профессиональный «охотник за головами» (Валидатор). Если «охотник за головами» сообщит о мошенничестве в течение 7 дней после того, как поставщик услуг «отправит заказ» и подтвердит, что это правда, транзакция будет отменена, а поставщик услуг будет наказан. Конечно, точно так же и «охотникам за головами» нужны поощрения, например, после обнаружения мошенничества часть депозита поставщика услуг будет отдана «охотнику за головами» (только часть, чтобы избежать сговора между поставщик услуг и охотник за головами).
На этапе Rollup 3.0 все решение могло работать без сбоев, но были введены новые затраты. Затраты пока включают:
Давайте посмотрим, какие затраты можно оптимизировать.
данные транзакции
Определенным образом несколько транзакций объединяются вместе, и занимаемое пространство может быть меньше, чем сумма пространства, занимаемого каждой транзакцией.
Взяв в качестве примера простейшую транзакцию перевода ETH, мы разобрали состав содержимого каждой транзакции и увидели, что наибольшую долю составляет пространство для подписи. Мы можем объединить подписи всех транзакций в одну (агрегация ключей), что значительно экономит ресурсы хранения (аналогично Шнорру в биткойнах). Кроме того, мы также можем оптимизировать другие части, такие как избавление от одноразового номера и выбор «толстого и тонкого» в максимально возможной степени при «совместном использовании автомобилей» и «человека совместного использования», который идеально подходит для максимального использования «автомобиля». " космос.
источник:
Буквально в три или два раза размер каждой транзакции перевода ETH был уменьшен со 112 байт до 12 байт, что близко к одной десятой от предыдущей; конечно, есть и другие средства для дальнейшего сжатия данных транзакции.
В реальной работе мы можем вставить такой метод в контракт, развернутый в цепочке:
function storeTxData(bytes calldata data) external {// Ничего не делать}
Затем каждый раз, когда “совместное использование автомобилей” оказывается успешным, объединенные и сжатые данные транзакции передаются в этот метод как данные вызова. Данные о звонках не нужно хранить постоянно, а после Периода оспаривания общественного согласия (Challenge Period) не имеет значения, будет ли он обрезан (Prune); сама цена очень низкая, а с реализацией будет дешевле EIP, такие как Danksharding и Data Blob, эта форма применения L1 к распределению хранилища данных (доступность данных) также будет более формальной.
статусные данные
Теперь, когда данные о транзакциях загружены в цепочку, любой может вычислить обновленное состояние с помощью данных о транзакциях, а данные о состоянии не так уж и нужны. Мы можем сохранить только Merkel Root данных о состоянии, который используется для того, чтобы обычные пользователи («автомобилисты») могли подавать заявки на снятие средств непосредственно в L1, когда поставщик услуг не сотрудничает, и полагаться на Merkel Proof, чтобы доказать, что у них есть деньги. в их учетных записях.
АРБИТРАЖНЫЕ ИЗДЕРЖКИ МОШЕННИЧЕСТВА
Когда «охотник за головами» сообщает о мошенничестве поставщику услуг, расчет контракта в сети (Replay) выполняется один раз и сравниваются результаты статуса, что теоретически возможно. Тем не менее, стоимость этого не является низкой (хотя это уже хорошо), а во-вторых, сумма газа транзакций, включенных в «список совместного использования автомобилей» Rollup, может превышать лимит газа Ethereum, что делает невозможным проверять.
Следовательно, арбитраж должен уменьшить нагрузку, а способ уменьшить нагрузку, естественно, состоит в том, чтобы вынести ненужные вычислительные операции за пределы цепочки. Одно из решений называется Interactive Proving, Общий процесс выглядит следующим образом:
(Во время всего процесса, если одна сторона не отвечает в течение тайм-аута, сторона терпит неудачу.)
Таким образом, стоимость арбитража по всей цепочке очень и очень низкая.
Сказав это, мы полностью создали решение Rollup. Поскольку эта схема предполагает, что поставщик услуг по умолчанию честен, если нет отчета «охотника за головами», эта фракция называется объединением оптимистов, так называемым Оптимистическим объединением.
Итак, является ли наш Rollup 4.0 лучшим решением?
После наших многочисленных итераций Rollup 4.0 все еще имеет некоторые недостатки:
Есть ли решение, которое может сделать мошенничество вообще невозможным, сделать финализацию (Finality) быстрее, сделать меньше данных, которые нужно загружать в цепочку, и сделать расширение на порядок больше? Я не хочу слишком многого, но есть некое решение, способное удовлетворить почти все фантазии — Zero Knowledge Rollup (сокращенно ZK-Rollup).
ZK-Rollup — это идея Rollup, использующая доказательство с нулевым разглашением (ZKP). Так называемый ZKP относится к технологии, которая убеждает другую сторону в том, что вы знаете эту информацию, не раскрывая никакой конфиденциальной информации. Чтобы объяснить ZKP, есть два моих любимых примера:
*Представьте себе средневековый европейский город, и у меня есть карта сокровищ с отмеченным на ней сокровищем. Чтобы доказать вам, что у меня есть карта сокровищ, но не сообщив вам точное местонахождение клада, я завязываю вам глаза, тащу вас в карету и полчаса везу вас по городу, чтобы убедиться, вы теряете чувство направления, наконец, прибываете в пункт назначения, выходите из машины и показываете вам сокровище, а затем отвозите вас обратно. Это наивная форма ЗКП.
Говоря менее строго, основная идея ЗКП состоит в том, что доказывающий (Prover) сначала скрывает секретное знание, «коммитит» (Commit), а затем проверяющий (Verifier) инициирует случайный вызов (Challenge). если он сможет успешно пройти испытание, то есть большая вероятность, что он обладает соответствующим тайным знанием.
ЗКП должен соответствовать 3 требованиям:
Чтобы удовлетворить этим трем требованиям, ZKP использует множество задач NP, включая простейшее разложение простых чисел, дискретные логарифмы (такие как Шнорр) и так далее.
ZKP не является технологией, созданной для блокчейна, но ее можно использовать для расширения L2, главным образом потому, что хороший ZKP обладает следующими полезными характеристиками:
Используя эти функции, наше решение Rollup может:
Конечно, у любого механизма безопасности будут потенциальные предпосылки, и ZKP не является панацеей для блокчейна. ZKP все еще имеет много ограничений в настоящее время, которые необходимо преодолевать шаг за шагом, таких как:
источник:
Вот почему в ZK-Rollup, ориентированном на будущее поле расширения, каждый прогресс достоин похвалы и удовольствия.
источник:
Что касается расширения емкости в будущем, автор считает, что по сравнению с собственным расширением емкости L1 многоуровневая структура, включающая Rollup, является более надежной идеей. Модуляризация, каждый слой решает заботы каждого слоя, что менее рискованно, чем непрерывное стекирование на уже «монолитном» L1, кроме того, децентрализация нижележащего L1 за счет расширения емкости теоретически маловероятна. это вверх. Более того, эта идея многоуровневого дизайна, по-видимому, успешно применяется в других областях, помимо блокчейна. Точка зрения не обязательно правильная, но это актуальное познание автора.
В этой статье делается попытка разобраться в причинах мышления и дизайна решения для расширения Rollup в тоне, не зависящем от проекта. Из-за ограниченного уровня некоторые места все же немного туповаты, что может не только не объяснять на месте, но и увеличивать сложность понимания, как вертикальное поле, меняющееся с каждым днем, автор может не знать и принять во внимание много новых событий во времени. Искренне приветствуем друзей, чтобы исправить и общаться.