Безопасность
Last updated
Last updated
явно определяет криптографические допущения и свойства безопасности протокола.
В двух словах, протокол утверждает, что при правильной реализации и обоснованности криптографических предположений средства, размещенные в zkSync, будут иметь те же гарантии безопасности, что и при хранении на счете Ethereum, без каких-либо дополнительных требований со стороны пользователя. В частности:
Пользователям не нужно следить за сетью.
Закрытые ключи могут храниться в холодном хранилище.
Валидаторы не могут красть средства или каким-либо образом нарушать состояние zkSync.
Пользователи могут выводить свои активы в сеть, независимо от сотрудничества с валидаторами zkSync.
Для выполнения этих гарантий используется несколько механизмов, о которых речь пойдет ниже.
В крайнем аварийном случае, когда все валидаторы отключены или не реагируют на запросы, механизм аварийного выхода гарантирует, что пользователи сохранят контроль над своими активами. Он работает следующим образом:
Если транзакции пользователя по какой-либо причине игнорируются валидаторами, запрос на выход может быть подан непосредственно в майннет в приоритетную очередь.
Валидаторы обязаны обработать запросы приоритетной очереди в течение короткого промежутка времени (~1 неделя).
Если валидаторы не успевают обработать запросы, система переходит в режим исхода, и каждый пользователь может немедленно выйти из всех своих активов, совершив прямую транзакцию в сети Ethereum.
Версия 1.0 протокола zkSync поставляется с механизмом обновления по контракту, чтобы способствовать более быстрым итерациям разработки. Однако у пользователей есть фундаментальное право отказаться от будущего обновления. О новом обновлении должно быть объявлено в контракте zkSync, и все пользователи получают 4-недельный срок для выхода, если изменения им не понравятся.
ПРИМЕЧАНИЕ: Как только технология станет зрелой и стабильной, мы перейдем к механизму строгого отказа от использования с неизменяемыми версиями, а также предоставим функцию массовой миграции.
Несмотря на то, что zkSync построен на основе самых передовых криптографических технологий (таких как PLONK и RedShift), мы были очень консервативны в отношении выбора безопасности, сделанного в протоколе. Каждый компонент опирается исключительно на устоявшиеся криптографические предположения, которые считаются верными в академических и профессиональных сообществах безопасности.
Доказательная система (v1)
1, 3
Доказательная система (v2)
1
Хэш-функция
1
Хэш-функция
1, 2
Схема подписи
1, 2, 3
Версия 1.0 протокола zkSync использует систему доказательств PLONK, которая требует "доверенной настройки" Common Reference String (CRS). В PLONK эта настройка может быть выполнена один раз и повторно использована любым количеством приложений (это называется универсальной CRS). Если хотя бы один участник удалит энтропию (случайность), использованную для обеспечения своего вклада, установка будет безопасной. Наличие универсальной, а не привязанной к конкретному приложению установки значительно снижает предположения о доверии, поскольку большее число известных и уважаемых членов сообщества имеют стимул участвовать в ней, и можно ожидать более тщательной проверки церемонии доверенной установки.
Еще одним большим преимуществом универсальной CRS является то, что обновления и исправления ошибок не требуют собственных церемонии доверенной настройки (что очень сложно с точки зрения логистики и безопасности).
Matter Labs участвовала в глобальной церемонии доверенной настройки Ignition для PLONK на эллиптической кривой BN256, координируемой протоколом AZTEC:
Participation address
0x04a23ba68e4469061cd461e8b847e820d4ced948
Transcript hash
0x1f6647d91a9e667173640b67b654cabc81ceee98d6100f259788afb34a3fc529
Signature
0x3f4ff7b9a6668c23c9ba45d73d1d9d0902b881191d97b307969b63f52296f2326d437ea04dd67a2ebe57a691025d7d31bb0dae88e8023a0d9b15ad599c3eb9351b
Несмотря на то, что zkSync полагается на универсальную доверенную установку, мы утверждаем, что его можно назвать полностью недоверительным протоколом. Причина этого заключается в том, что не существует систем, не имеющих в той или иной форме доверенной установки. Большинство пользователей лично не проверяют и не компилируют исходный код своих кошельков, полных узлов, программного обеспечения для майнинга, и уж точно не проверяют схемы аппаратного обеспечения, на котором все это работает. На наш взгляд, легкость скрытого сговора разработчиков и экспертов в таких системах гораздо выше, чем в доверенной установке с сотнями известных участников. В то же время, постоянная работа zkSync требует нулевого доверия от любой стороны, что является уникальным среди всех решений масштабирования L2.
zkSync построен на . Это означает, что каждая отдельная транзакция проверяется смарт-контрактом в сети Ethereum путем проверки доказательства достоверности блока. Таким образом, ни один валидатор никогда не сможет перевести систему в некорректное состояние или забрать средства пользователей.
Более подробный обзор преимуществ доказательств достоверности описан в этой .
Чтобы найти баланс между безопасностью и возможностью обновления, совет по безопасности, состоящий из сообщества Ethereum, может сократить 4-недельный срок. Когда Matter Labs инициирует обновление, 9/15 подписей членов совета безопасности могут сделать обновление мгновенным. На данном этапе развития zkSync мы считаем, что вероятность ошибки значительно выше, чем злонамеренный сговор между командой Matter Labs и 9/15 членами совета безопасности, которые все являются известными членами сообщества Ethereum. Подробнее о решении сократить период таймлока вы можете прочитать в нашей статье .
Церемония проходила с октября 2019 года по декабрь 2019 года, в ней приняли участие 176 участников из более чем 30 стран, которые сотрудничали в вычислении защищенной базы данных криптовалют, включая и других видных членов криптосообщества. Полная стенограмма церемонии со списком лиц и организаций, заявивших о своем вкладе, . Вы можете использовать для проверки вкладов перечисленных участников.
Тем не менее, мы призываем вас ознакомиться со списком участников церемонии Ignition и составить собственное мнение о том, есть ли среди них хотя бы один заслуживающий доверия человек или организация. В будущем мы стремимся полностью отказаться от предположений о доверии, внедрив прозрачную систему доказательств с нулевым знанием, такую как (разработанную Matter Labs).
проводится перед каждым крупным обновлением.
Помимо аудита безопасности, мы предлагаем программу "Вознаграждения за ошибки". Подробнее о ней вы можете прочитать .