Доступность данных не является дихотомией внутри сети и вне сети.
TL;DR
Доступность данных — это широкий спектр, а не дихотомия внутри/вне сети. Развертывание StarkEx будет охватывать весь этот спектр. Экземпляры StarkEx в настоящее время могут быть развернуты либо как Rollup (данные в сети), либо как Validium (данные вне сети). Самое первое развертывание StarkEx — это Validium.
Мы описываем новый дизайн: Volition, гибридное решение для данных в сети и вне сети, которое позволяет пользователям динамически выбирать, где они хотят хранить свои данные. StarkEx скоро будет поддерживать Volition.
Background
Недавно мы запустили первое развертывание StarkEx в основной сети Ethereum. Это развертывание обеспечивает DeversiFi DEX. Решение Data Availability (DA), выбранное DeversiFi, имеет данные, хранящиеся вне сети комитетом DA ( DAC ). DeversiFi выбрала это решение для версии 1.0 своей DEX, потому что их клиенты — профессиональные трейдеры — не могут записывать свою торговую историю в сети, поскольку это может раскрыть их стратегии конкурентам. Компания DeversiFi выбрала решение, которое отвечает важной потребности их клиентов, сводя при этом к минимуму их доверие к DAC. Стоит отметить: еще одна причина, по которой DeversiFi выбрала решение для передачи данных вне сети, — это масштабируемость: масштабируемость обеспечивает ликвидность, что является важным свойством для новой DEX.
За нашим запуском последовало обсуждение номенклатуры, чтобы правильно назвать различные решения масштабирования с учетом их подхода DA. Мы предложили следующее уточнение определений.
Согласно этим определениям, новый DEX от DeversiFi работает поверх Validium.
Мотивация
Мы считаем, что DA является важным свойством решения для масштабирования. Мы знаем, что разные приложения, разные пользователи, разные операторы — у всех есть свои особые потребности, которые влияют на их выбор DA. Компании, разрабатывающие решения для масштабирования, должны будут предложить ряд предложений, чтобы удовлетворить это разнообразие потребностей клиентов/пользователей.
За последний год мы приложили значительные усилия для изучения пространства проектирования DA. Это богатое многомерное пространство, и понимание экосистемы, несомненно, будет улучшаться по мере роста блокчейнов. Мы надеемся объяснить существующие компромиссы, которые мы видим, и исследовать способы их уменьшения. В частности, мы стремимся к реализации проектов DA, которые масштабируются сублинейно (т. е. масштабируются лучше, чем ZK-Rollups); по мере роста перегрузки Ethereum такие проекты будут становиться все более важными. Если Ethereum станет вездесущей общедоступной инфраструктурой, которой мы ожидаем, этого требования не избежать. Этот пост описывает несколько различных попыток решения этой проблемы.
Volition
Ценностное предложение, к которому мы стремимся, простое: дать пользователям свободу выбирать — по собственному желанию — свои предпочтения DA на уровне отдельной транзакции в любой момент времени, для любого типа актива, для любой суммы, которую они выберут. Представьте себе торговую фирму с ее профилем риска/вознаграждения, который диктует свои предпочтения в отношении безопасного хранения средств и получения выгоды от низких комиссий за транзакции. В такой фирме торговый день будет начинаться с перевода средств на счет Off-chain Data (OFFD) ее трейдеров, где они могут торговать часто и недорого в течение дня. В конце рабочего дня по соображениям безопасности все средства будут переведены обратно на счет On-chain Data (OND).
Концептуально каждая учетная запись в StarkEx будет определяться либо как OFFD, либо как OND. Пользователь может управлять несколькими счетами и переводить средства между ними по мере необходимости. StarkEx производит доказательство для каждой партии транзакций. Доказательство, включающее транзакции с использованием учетной записи OND, должно включать в качестве общедоступных входных данных (данные о звонках) баланс после пакетной обработки для этих учетных записей.
Поэтому приведенную выше диаграмму следует обновить:
Мы внедряем этот дизайн и скоро предоставим дополнительные сведения о его развертывании.
Конфиденциальность
Решения, доступные в настоящее время на рынке, имеют проблемы с конфиденциальностью. Как упоминалось выше, DeversiFi выбирала свою первую версию StarkEx из соображений конфиденциальности. Системы, сочетающие доказательство с нулевым разглашением (ZKP) с шифрованием, позволяют сделать данные конфиденциальными. Это можно применить как к OND (Rollup), так и к OFFD (Validium), чтобы предложить пользователям лучшую конфиденциальность.
OND: У нас есть дизайн для публикации зашифрованных данных в сети. Это позволит трейдерам воспользоваться преимуществами безопасности Rollup, не ставя под угрозу свою конфиденциальность и не раскрывая свои торговые стратегии.
OFFD: Конфиденциальность гарантирует, что члены DAC не смогут злоупотреблять своей ролью: они по-прежнему смогут подтвердить доступность данных, но не зная деталей сделок или балансов. Следовательно, членство в StarkEx DAC может быть увеличено в десять раз (по сравнению с нынешним размером в полдюжины членов). С большим DAC размер кворума для подписи пакетов также может быть увеличен. Кроме того, обязанности членов DAC будут сведены к строгому подписанию каждой партии, обрабатываемой StarkEx; данные могут быть обнародованы — членам DAC больше не будет поручено сохранять конфиденциальность данных.
В заключение, добавление конфиденциальности в StarkEx, независимо от выбранной конфигурации, может сделать его лучшим и более безопасным предложением.
Далее мы предоставим общие описания двух значимых улучшений DA, которые мы разработали. Наша цель состоит в том, чтобы поделиться нашими полезными проектами, а также еще больше подчеркнуть богатство пространства дизайна DA.
Минимально жизнеспособный откат (MVR)
При рассмотрении решений OFFD одной из проблем является атака, связанная с недоступностью данных: в случае компрометации оператора и DAC можно перевести систему в новое состояние без публикации необходимых данных (создание состояния недоступности данных).
MVR решает эту проблему, разрешая откат состояния отсутствия данных к другому состоянию, для которого данные доступны . Это происходит при сохранении платежеспособности в новом откатанном состоянии (state_new), что предотвращает двойное расходование. В системе MVR каждый вывод средств сопровождается отправкой по цепочке сведений обо всех транзакциях, поступающих в изымаемое хранилище (в последних k пакетах). State_new основан на более раннем недавнем состоянии (state_recent), данные которого доступны, но не являются просто его копией. Скорее, это состояние «растворителя», включающее все недавние входящие и исходящие потоки StarkEx (в последних k пакетах), которые завершились выводом средств. Это позволяет пользователям выйти из нового состояния.
Дизайн MVR предотвращает следующую атаку («двойная трата»): злоумышленник снимает средства после state_recent, затем переводит систему в состояние отсутствия данных; как только система вернется в состояние state_recent, злоумышленник получит обратно свои уже выведенные средства.
С MVR, если атака обнаружена в k пакетах, система может вернуться к state_new, поскольку доказательства, представленные в этих пакетах, содержат достаточно информации для построения растворимого состояния.
С точки зрения масштабируемости, некоторые данные, таким образом, отправляются по цепочке, но в общем случае меньше, чем в накопительном пакете (в худшем случае: столько же, сколько накопительный пакет). При правильном проектировании системы с использованием Fast Withdrawals не будет даже дополнительного общественного мнения по сравнению с Validium.
Несколько более подробное описание, в том числе то, как вычисляется state_new, читайте здесь .
Ненадежная доступность данных вне сети (TODA)
В TODA пользователи могут работать полностью без доверия, выбрав статус Power User (PU). Средства PU всегда находятся на их хранении: обычно PU предоставляет подпись для подтверждения, как и члены DAC. Своей подписью PU подтверждает, что у него есть доступ к своему собственному OFFD, что позволяет ему активировать аварийный люк в случае чрезвычайной ситуации, даже если члены DAC не соблюдают назначенную им роль по публикации всех данных. В отсутствие этой своевременной подписи средства PU автоматически выводятся обратно по цепочке в смарт-контракт приложения — это защитный вывод средств, который лежит в основе улучшенной недоверчивости TODA.
Пользователь, который предпочитает не быть PU, может вместо этого доверять объекту вне сети, хотя он больше не будет ограничен в доверии члену DAC — он может доверять любому PU, желающему служить сторожевой башней от его имени ( и должен был бы разрешить этому PU сделать это). Мы опубликуем полное описание этого протокола в ближайшее время.
Вывод
DA — важнейший компонент любой масштабируемой системы на основе блокчейна. Экосистема блокчейна и, в частности, StarkWare тратят значительные усилия на изучение этого пространства дизайна. В этом посте описаны некоторые из наиболее интересных проектов, которые мы имеем в виду, в том числе Volition, где пользователи могут свободно выбирать, будут ли их данные находиться в сети или вне сети, каждый раз, когда они совершают транзакцию.
~ Том Брэнд, Авиху Леви, Ури Колодный