Серия «Самостоятельное хранение», часть IV
Мотивация
StarkEx — это механизм масштабируемости с самостоятельным хранением. Это четвертый и последний пост в нашей серии статей о самоизоляции, в которой описаны различные аспекты системы самоизоляции. В этом посте описывается решение StarkEx для обеспечения доступности данных (DA): его первое развертывание и дальнейший путь во все более ненадежное будущее.
Напоминаем, что в StarkEx транзакции группируются, затем проверяются вне сети, и генерируется соответствующее доказательство STARK. Мы называем этот процесс действительным переходом состояния. Доказательство вместе с подтверждением нового состояния системы затем отправляется в блокчейн, где доказательство проверяется, а обязательство сохраняется. Данные, относящиеся к пакетным транзакциям, могут храниться как в цепочке, так и вне ее. С ончейн DA транзакции записываются как данные вызова. В автономном DA транзакции записываются вне сети. Off-chain DA более масштабируем: он потребляет практически фиксированное количество ресурсов блокчейна, независимо от объема активности на StarkEx.
Первое развертывание StarkEx — поддержка децентрализованной биржи DeversiFi— будет иметь внечейн DA. DeversiFi сделал этот выбор не только из-за преимущества масштабируемости, но и потому, что он предлагает своим пользователям лучшую конфиденциальность в отношении их торговых стратегий. Следовательно, пользователи, желающие получить доступ к своему балансу, могут получить его у операторов StarkEx: оператора приложения и оператора доказательства (в этом первом развертывании: DeversiFi и StarkWare соответственно). Пользователи могут проверить баланс своей учетной записи в заданном состоянии с помощью пути Merkle от своей учетной записи в дереве Merkle до ее корня. Обратите внимание на особенности их доверия к Операторам: пользователям не нужно доверять Операторам в том, что состояние системы является действительным, поскольку доказательства STARK обеспечивают достоверность состояния. Пользователи просто должны доверять Операторам, чтобы сделать данные доступными.
Комитет по доступности данных (DAC)
Чтобы позволить пользователям полностью отказаться от доверия к операторам StarkEx, мы сформировали Комитет по доступности данных (DAC). Членам DAC поручено хранить копии данных вне сети и возвращать их в открытый доступ в случае чрезвычайной ситуации. Чрезвычайная ситуация определяется как сценарий, при котором операторы StarkEx не обслуживают запросы пользователей на вывод средств. В случае чрезвычайной ситуации смарт-контракт приложения (ASC) больше не будет принимать новые обновления состояния, а вместо этого позволит только прямой вывод средств пользователями, способными предоставить доказательство Merkle для последнего состояния.
Обязанности члена DAC
При обычном ходе дел
- Получите каждый переход состояния, вычислите новое состояние и подпишите обязательство для нового состояния.
- Сохраняйте конфиденциальную и безопасную копию этих данных вне сети.
ASC примет доказательство STARK только в том случае, если кворум членов DAC подписал соответствующее государственное обязательство.
В случае чрезвычайной ситуации
сделайте свою копию данных общедоступной. Теперь пользователи могут получить доступ к своим учетным записям по пути Merkle и использовать этот путь для получения своих средств непосредственно из ASC, без необходимости каким-либо образом доверять операторам.
Дорога впереди
Мы считаем важным свести к минимуму доверие к DAC.
Во-первых, мы намерены зашифровать данные, хранящиеся в ЦАП. Это гарантирует, что члены DAC больше не будут иметь доступ к каким-либо данным, относящимся к пользователям StarkEx. Такое шифрование гарантирует, что члены комитета не получат доступ к конфиденциальной информации, что снижает их ответственность и подразумеваемое доверие пользователей к членам DAC. Следовательно, шифрование позволит StarkWare значительно расширить число членов комитета и еще больше снизить зависимость от каждого отдельного члена в выполнении своей роли в случае чрезвычайной ситуации.
Позже мы реализуем полностью ненадежное решение, в котором заинтересованная сторона может вообще исключить доверие к DAC. Вместо этого ему пришлось бы инвестировать очень ограниченные ресурсы: либо в размещение собственных данных в сети, либо в мониторинг хода данных вне сети (хотя ресурсов гораздо меньше, чем у Оператора). Мы опубликуем эти идеи более подробно в ближайшее время.