В статье Виталика Бутерина " Безопасная CEX: доказательство платежеспособности и не только " освещается проблема, с которой сталкиваются централизованные биржи при проверке активов пользователей и обеспечении достаточных резервов для погашения депозитов пользователей. Поэтому биржам необходим способ доказать, что у них достаточно резервных активов для полного погашения этих активов по требованию пользователей, т.е. они должны продемонстрировать, что стоимость их резервных активов превышает стоимость депозитов пользователей. Это доказательство известно как Proof of Reserves и называется 100% доказательством аудита резервов в Gate.io.
Самый простой способ доказать наличие депозитов - это опубликовать список пар (имя пользователя и баланс). Каждый пользователь может проверить, включен ли его баланс в список, и любой может проверить весь список, чтобы убедиться, что все балансы неотрицательны и сумма соответствует заявленной биржей. Однако это ставит под угрозу конфиденциальность. Для решения этой проблемы производится небольшая модификация: публикация списка пар (hash(username, salt), balance) и приватная отправка каждому пользователю его значения соли. Но даже это выявляет балансы и изменения баланса. Для защиты конфиденциальности вводится еще одно новшество: дерево Меркле.
(Рисунок 1Источник:https://vitalik.ca/general/2022/11/19/proof_of_solvency.html)
Техника дерева Меркла организует данные о балансе пользователя в дерево сумм Меркла. В этой древовидной структуре каждый узел состоит из пары (баланс, хэш). Листовые узлы внизу представляют индивидуальные балансы пользователей и соленый хэш их имен пользователей. В каждом узле более высокого уровня баланс представляет собой сумму двух балансов, расположенных ниже него, а хэш - хэш двух узлов, расположенных ниже него. Доказательство суммы Меркла, аналогичное доказательству Меркла, представляет собой "ветвь" дерева, состоящую из сиблинговых узлов от листа к корню. Биржа предоставляет каждому пользователю доказательство суммы Меркле своего баланса, позволяя ему убедиться в том, что его баланс правильно включен в общий баланс биржи.
Такая конструкция значительно повышает уровень конфиденциальности по сравнению с полностью открытым списком. Кроме того, утечка конфиденциальной информации может быть еще более минимизирована путем перетасовки "ветвей" всякий раз, когда публикуется "корень". Тем не менее, остаются некоторые нерешенные вопросы. Например, Чарли узнает, что у кого-то есть 164 ETH, а балансы двух пользователей составляют 70 ETH, среди прочей информации (см. Рисунок 1). Злоумышленник, контролирующий несколько учетных записей, все равно может получить конфиденциальную информацию о пользователях биржи.
Несмотря на то, что доказательство резервов на основе дерева Меркла оказалось эффективным в обеспечении безопасности пользовательских активов, все же существуют некоторые проблемы с этим подходом:
Доказательства с нулевым знанием привлекли широкое внимание в различных случаях использования благодаря своему потенциалу повышения безопасности, защиты конфиденциальности пользователей и поддержки масштабируемости в сетях второго уровня.
Доказательства с нулевым знанием позволяют одной стороне доказать другой стороне, что утверждение истинно, не раскрывая никакой дополнительной информации. Они способствуют повышению уровня конфиденциальности за счет уменьшения объема информации, передаваемой между участниками, и поддерживают масштабируемость, позволяя быстрее проверять доказательства без проверки всего набора данных.
zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) - это технология доказательства с нулевым знанием, предложенная в совместной статье Нира Битански, Рана Канетти, Алессандро Кьеза и Эрана Тромера в 2012 году. zk-SNARK позволяет одной стороне доказать другой стороне, что она знает секрет, не раскрывая самого секрета, таким образом, доказывая правильность логического выражения без раскрытия какой-либо информации. В традиционных доказательствах с нулевым знанием доказывающий должен многократно взаимодействовать с проверяющим, чтобы сгенерировать доказательство. Однако в zk-SNARK, как только параметры (особенно открытые параметры) и доказательство сгенерированы, верификатор может проверить правильность доказательства, не прибегая к многочисленным взаимодействиям с проверяющим.
Например, представьте, что у Вас есть карта сокровищ, которая ведет к точному местонахождению зарытого клада. Вы хотите доказать кому-то, что Вы знаете местонахождение сокровищ, не раскрывая при этом содержимого карты или реального местонахождения сокровищ. Используя технологию zk-SNARK, Вы создадите кусочек пазла карты сокровищ. Вы выбираете небольшой фрагмент головоломки (доказательство) и показываете его другому человеку, и этого достаточно, чтобы убедить его в том, что Вы знаете, как складывается вся головоломка, т.е. местонахождение сокровищ, без необходимости видеть всю головоломку. Однако для этого Вы должны получить на авторитетной полиграфической фабрике специальную маркировку для подтверждения подлинности Ваших деталей головоломки.
Реализация zk-SNARKs основана на криптографии эллиптических кривых и полиномиальной математике. Эта техника использует отображения для преобразования входных данных в полиномы и применяет такие математические понятия, как порядок эллиптических кривых и дискретный логарифм, для проверки того, что ограничения на полиномы соблюдены. Он использует специальные алгоритмы для сжатия данных, обеспечивая тем самым эффективное выполнение математических вычислений.
Поэтому использование zk-SNARKов может значительно упростить и повысить уровень конфиденциальности в протоколах доказательства резерва. Включив все депозиты пользователей в дерево Меркле и используя zk-SNARK для подтверждения того, что все балансы неотрицательны и в сумме составляют заявленное значение, можно утверждать, что биржа имеет возможность полностью покрыть свои обязательства, если публично раскрытые активы на блокчейне превышают это значение.
Интеграция zk-SNARK с деревьями Меркла облегчает одновременную проверку целостности и непротиворечивости данных при сохранении конфиденциальности транзакций. Доказатели могут использовать zk-SNARKы для демонстрации того, что они обладают доказательством Меркла, удовлетворяющим определенным условиям, не раскрывая деталей доказательства. Для бирж такой подход предлагает способ доказать, что они располагают достаточными средствами для выполнения всех обязательств, обеспечивая при этом конфиденциальность пользователей.
Подводя итог, можно сказать, что технология доказательства с нулевым знанием Gate.io решает две ключевые проблемы, связанные с доказательством резервов:
Gate.io модернизировала свое доказательство резервов с использованием zk-SNARK, сделав значительный шаг в качестве ведущей биржи по защите безопасности пользовательских активов. Благодаря этому обновлению пользователи смогут просматривать резервные доказательства в режиме реального времени, а первая партия поддерживаемых активов будет охватывать 100 крупнейших по рыночной капитализации. Будучи лидером отрасли, компания открыла код и будет продолжать стимулировать развитие отрасли и исследовать более безопасное будущее с шифрованием и повышением уровня конфиденциальности с помощью этого обновления с нулевым уровнем знаний.
Дальнейшее чтение:
В статье Виталика Бутерина " Безопасная CEX: доказательство платежеспособности и не только " освещается проблема, с которой сталкиваются централизованные биржи при проверке активов пользователей и обеспечении достаточных резервов для погашения депозитов пользователей. Поэтому биржам необходим способ доказать, что у них достаточно резервных активов для полного погашения этих активов по требованию пользователей, т.е. они должны продемонстрировать, что стоимость их резервных активов превышает стоимость депозитов пользователей. Это доказательство известно как Proof of Reserves и называется 100% доказательством аудита резервов в Gate.io.
Самый простой способ доказать наличие депозитов - это опубликовать список пар (имя пользователя и баланс). Каждый пользователь может проверить, включен ли его баланс в список, и любой может проверить весь список, чтобы убедиться, что все балансы неотрицательны и сумма соответствует заявленной биржей. Однако это ставит под угрозу конфиденциальность. Для решения этой проблемы производится небольшая модификация: публикация списка пар (hash(username, salt), balance) и приватная отправка каждому пользователю его значения соли. Но даже это выявляет балансы и изменения баланса. Для защиты конфиденциальности вводится еще одно новшество: дерево Меркле.
(Рисунок 1Источник:https://vitalik.ca/general/2022/11/19/proof_of_solvency.html)
Техника дерева Меркла организует данные о балансе пользователя в дерево сумм Меркла. В этой древовидной структуре каждый узел состоит из пары (баланс, хэш). Листовые узлы внизу представляют индивидуальные балансы пользователей и соленый хэш их имен пользователей. В каждом узле более высокого уровня баланс представляет собой сумму двух балансов, расположенных ниже него, а хэш - хэш двух узлов, расположенных ниже него. Доказательство суммы Меркла, аналогичное доказательству Меркла, представляет собой "ветвь" дерева, состоящую из сиблинговых узлов от листа к корню. Биржа предоставляет каждому пользователю доказательство суммы Меркле своего баланса, позволяя ему убедиться в том, что его баланс правильно включен в общий баланс биржи.
Такая конструкция значительно повышает уровень конфиденциальности по сравнению с полностью открытым списком. Кроме того, утечка конфиденциальной информации может быть еще более минимизирована путем перетасовки "ветвей" всякий раз, когда публикуется "корень". Тем не менее, остаются некоторые нерешенные вопросы. Например, Чарли узнает, что у кого-то есть 164 ETH, а балансы двух пользователей составляют 70 ETH, среди прочей информации (см. Рисунок 1). Злоумышленник, контролирующий несколько учетных записей, все равно может получить конфиденциальную информацию о пользователях биржи.
Несмотря на то, что доказательство резервов на основе дерева Меркла оказалось эффективным в обеспечении безопасности пользовательских активов, все же существуют некоторые проблемы с этим подходом:
Доказательства с нулевым знанием привлекли широкое внимание в различных случаях использования благодаря своему потенциалу повышения безопасности, защиты конфиденциальности пользователей и поддержки масштабируемости в сетях второго уровня.
Доказательства с нулевым знанием позволяют одной стороне доказать другой стороне, что утверждение истинно, не раскрывая никакой дополнительной информации. Они способствуют повышению уровня конфиденциальности за счет уменьшения объема информации, передаваемой между участниками, и поддерживают масштабируемость, позволяя быстрее проверять доказательства без проверки всего набора данных.
zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) - это технология доказательства с нулевым знанием, предложенная в совместной статье Нира Битански, Рана Канетти, Алессандро Кьеза и Эрана Тромера в 2012 году. zk-SNARK позволяет одной стороне доказать другой стороне, что она знает секрет, не раскрывая самого секрета, таким образом, доказывая правильность логического выражения без раскрытия какой-либо информации. В традиционных доказательствах с нулевым знанием доказывающий должен многократно взаимодействовать с проверяющим, чтобы сгенерировать доказательство. Однако в zk-SNARK, как только параметры (особенно открытые параметры) и доказательство сгенерированы, верификатор может проверить правильность доказательства, не прибегая к многочисленным взаимодействиям с проверяющим.
Например, представьте, что у Вас есть карта сокровищ, которая ведет к точному местонахождению зарытого клада. Вы хотите доказать кому-то, что Вы знаете местонахождение сокровищ, не раскрывая при этом содержимого карты или реального местонахождения сокровищ. Используя технологию zk-SNARK, Вы создадите кусочек пазла карты сокровищ. Вы выбираете небольшой фрагмент головоломки (доказательство) и показываете его другому человеку, и этого достаточно, чтобы убедить его в том, что Вы знаете, как складывается вся головоломка, т.е. местонахождение сокровищ, без необходимости видеть всю головоломку. Однако для этого Вы должны получить на авторитетной полиграфической фабрике специальную маркировку для подтверждения подлинности Ваших деталей головоломки.
Реализация zk-SNARKs основана на криптографии эллиптических кривых и полиномиальной математике. Эта техника использует отображения для преобразования входных данных в полиномы и применяет такие математические понятия, как порядок эллиптических кривых и дискретный логарифм, для проверки того, что ограничения на полиномы соблюдены. Он использует специальные алгоритмы для сжатия данных, обеспечивая тем самым эффективное выполнение математических вычислений.
Поэтому использование zk-SNARKов может значительно упростить и повысить уровень конфиденциальности в протоколах доказательства резерва. Включив все депозиты пользователей в дерево Меркле и используя zk-SNARK для подтверждения того, что все балансы неотрицательны и в сумме составляют заявленное значение, можно утверждать, что биржа имеет возможность полностью покрыть свои обязательства, если публично раскрытые активы на блокчейне превышают это значение.
Интеграция zk-SNARK с деревьями Меркла облегчает одновременную проверку целостности и непротиворечивости данных при сохранении конфиденциальности транзакций. Доказатели могут использовать zk-SNARKы для демонстрации того, что они обладают доказательством Меркла, удовлетворяющим определенным условиям, не раскрывая деталей доказательства. Для бирж такой подход предлагает способ доказать, что они располагают достаточными средствами для выполнения всех обязательств, обеспечивая при этом конфиденциальность пользователей.
Подводя итог, можно сказать, что технология доказательства с нулевым знанием Gate.io решает две ключевые проблемы, связанные с доказательством резервов:
Gate.io модернизировала свое доказательство резервов с использованием zk-SNARK, сделав значительный шаг в качестве ведущей биржи по защите безопасности пользовательских активов. Благодаря этому обновлению пользователи смогут просматривать резервные доказательства в режиме реального времени, а первая партия поддерживаемых активов будет охватывать 100 крупнейших по рыночной капитализации. Будучи лидером отрасли, компания открыла код и будет продолжать стимулировать развитие отрасли и исследовать более безопасное будущее с шифрованием и повышением уровня конфиденциальности с помощью этого обновления с нулевым уровнем знаний.
Дальнейшее чтение: