Полное знание

Jan 16 2023
Джеймс Остген, Кушал Бабель, Виталик Бутерин, Фил Дайан, Ари Джуэлс и Махимна Келкар «В этой жизни мы не хотим ничего, кроме фактов, сэр; ничего, кроме фактов! — Чарльз Диккенс, Тяжелые времена В статье, которую мы опубликовали сегодня, мы вводим новое криптографическое понятие, которое мы называем доказательствами полных знаний (CK). Мы также сообщаем о прототипе, который предлагает способ сделать CK практичным для использования со смартфонами.

Джеймс Остген, Кушал Бабель, Виталик Бутерин, Фил Даян, Ари Джуэлс и Махимна Келкар

«В этой жизни нам нужны только факты, сэр; ничего, кроме фактов!

- Чарльз Диккенс, Тяжелые времена

В статье, которую мы опубликовали сегодня , мы вводим новое криптографическое понятие, которое мы называем доказательствами полных знаний (CK). Мы также сообщаем о прототипе, который предлагает способ сделать CK практичным для использования со смартфонами.

Доказательства знания, как следует из их названия, позволяют одной стороне, например, Алисе, убедить другую сторону, например, Боба, в том, что она знает конкретный секрет, например закрытый ключ SK . Цифровые подписи являются примером. Рассмотрим криптовалютную транзакцию T , созданную Алисой, которая тратит средства с ее адреса A. Чтобы быть действительным, T должен иметь цифровую подпись с действительным закрытым ключом SK для A . Цифровая подпись здесь доказывает, что Алиса, как создатель T , знает ключ SK . Именно это доказательство знания SK делает транзакцию действительной: в системе криптовалюты владелец адреса Aэто по определению тот, кто знает СК .

Доказательства знаний являются основой проектирования криптографических систем. Однако оказывается, что у существующих систем доказательства знания есть серьезное ограничение: Алиса может создать убедительное доказательство того, что она знает SK , но все же может не знать его на самом деле .

Вот аналогия. Предположим, Мэллори хочет выступить в роли участника Jeopardy . Она дает интервью ведущей шоу (Майим Бялик). Мэллори знает, что во время интервью ей будут задавать вопросы о столицах штатов США, которые она никогда не изучала в школе. (Она была занята переворачиванием NFT на уроках географии.) Поэтому она решает смошенничать. Подруга Мэллори Алиса знает все столицы штатов в восточной половине США, а ее друг Боб знает те, что на западе. Поэтому Мэллори прячет по устройству беспроводной связи в каждом ухе. Тот, что в ее левом ухе, общается с Алисой. Тот, что в ее правом ухе, общается с Бобом. Благодаря обману Мэллори, когда во время интервью она спрашивала о столицах разных штатов США, она всегда отвечала правильно.

Но знает ли Мэллори все столицы штатов США? Явно нет. Алиса или Боб? Ответ по-прежнему нет. Можно, пожалуй, сказать, что Алиса и Боб вместе знают все столицы штатов США. Но предположим, что Алиса странно суеверна и отказывается отвечать на вопросы о государственном капитале по пятницам. Можем ли мы по-прежнему утверждать, что Алиса и Боб вместе знают все столицы штатов США? Да и нет. Знания существуют в головах Алисы и Боба, но не всегда возможно извлечь их по желанию . Если Мэллори даст интервью Jeopardy в пятницу, у нее будут проблемы.

Полное знание заполняет пробел такого рода в том, что значит иметь знание. В нашей аналогии отказ Алисы отвечать на вопросы в пятницу является ограничением доступа к знаниям, которое мы называем обременением. Чтобы объяснить, в чем несостоятельны существующие доказательства знаний в криптографии, полезно начать с некоторых потенциально проблематичных примеров обременения, в частности, секретных ключей.

Проблема обременения

Существуют две разные технологии, которые могут загромождать секреты: доверенные среды выполнения (TEE) и безопасные многосторонние вычисления (MPC).

TEE — это вычислительные среды, напоминающие черные ящики: их внутреннее состояние непрозрачно и защищено от несанкционированного доступа. Используя аппаратное или программное обеспечение, они обеспечивают как целостность , так и конфиденциальность выполняемых приложений, обеспечивая защиту от несанкционированного доступа и наблюдения даже со стороны владельца той самой машины, на которой выполняется код. Примеры TEE включают анклавы (например, ARM Trustzone) на мобильных устройствах и расширения Intel Software Guard (SGX), которые доступны на некоторых облачных серверах.

С другой стороны, MPC — это алгоритмический подход к достижению почти тех же целей безопасности. Он разделяет секреты и вычисления между набором серверов, часто называемым комитетом. Безопасность MPC зависит от кворума серверов в комитете (например, от большинства), которые ведут себя корректно.

Поскольку сегодня TEE намного более практичны и широко распространены, чем MPC, мы сосредоточимся на TEE в следующих примерах, начиная с атаки на основе TEE на системы голосования на блокчейне. Вот пример атаки на схемы голосования.

Проблема сильного, скрытого взяточничества в этом примере затрагивает не только наивно разработанные схемы голосования на блокчейне, но даже те, которые специально разработаны для противодействия взяточничеству, такие как минимальная инфраструктура предотвращения сговоров (MACI) .

Хуже того, TEE может незаметно стимулировать и расширять сообщество пользователей, проводя объединенную атаку на протокол — концепция, которую мы ранее назвали Dark DAO . Такие атаки могут включать не только фальсификацию голосов, но и манипулирование ценами на активы и, возможно, атаки на офчейн-системы .

Что особенно пагубно, так это то, что если Алиса отправит подписанную транзакцию в смарт-контракт, используя обремененный ключ SK , контракт не сможет об этом сказать. Транзакция Алисы будет выглядеть идентично транзакции, созданной с помощью необремененного ключа. Таким образом, представляется, что предотвратить взяточничество, подобное тому, что показано в нашем примере, просто невозможно.

Но так ли это на самом деле?

Обеспечение полного знания

Оказывается, есть способ гарантировать, что ключ SK не обременен — в частности, что кто-то имеет прямой доступ к SK . Неформально это то, что мы подразумеваем под Полным Знанием. Эффект CK заключается в том, что схемы взяточничества, подобные этой в нашем примере, не будут работать, потому что у злоумышленника, такого как Мэллори, нет возможности помешать пользователю использовать свой ключ, как бы он ни выбрал.

Существует два основных подхода к обеспечению соблюдения CK. Оба позволяют генерировать то, что мы называем доказательствами полных знаний (PoCK), и в частности доказательства с нулевым разглашением , т. е. не раскрывающие SK:

  1. Подход « борьба с огнём»

Большинство пользователей имеют TEE на своих мобильных телефонах. В нашей статье мы показываем, как они могут использовать их в схеме CK для голосования или любого другого приложения.

Однако, как мы обсуждаем в нашей статье, у TEE есть некоторые технические ограничения, особенно в мобильных телефонах. Поэтому мы также рассматриваем второй подход.

2. Подход, основанный на доказательстве работы

Этот подход является несколько контринтуитивным. Он включает в себя использование ASIC для майнинга, т. е. оборудования для майнинга с доказательством работы, такого как тот, который используется для биткойнов. У ASIC есть два хороших свойства для целей CK. Они могут выполнять определенные вычисления, а именно хэширование , намного быстрее, чем обычные процессоры или графические процессоры — примерно в миллион раз быстрее, чем современные процессоры! И они не включают TEE.²

Опираясь и модифицируя методы из литературы по теории доказательств знаний, мы разработали протокол, который включает использование ASIC для майнинга таким образом, который включает SK (хотя и умело скрывает это). Этот протокол создает доказательство того, что SK был отправлен в ASIC, т. е. PoCK. Поскольку у ASIC нет TEE, это означает, что SK эффективно доступен пользователю ASIC. Это свойство по сути эквивалентно тому, что делает специальное приложение RBU TEE: выдает SK непосредственно пользователю. Поскольку ASIC намного быстрее, чем платформы, поддерживающие TEE, невозможно сгенерировать эквивалентный PoCK с использованием TEE.

В нашей статье экспериментально показано, что даже используя дешевый (примерно 200 долларов США), устаревший (около 2017 года) ASIC, можно реализовать PoCK с высоким уровнем безопасности.

Применение CK Beyond Bribery-Resistance

Хотя изначально мы разрабатывали CK для устранения угрозы взяточничества в схемах голосования, существует множество других приложений. CK может помочь предотвратить обременение децентрализованных идентификационных данных, например подтверждением того, что пользователь прошел проверку по борьбе с отмыванием денег. Это важно для предотвращения многих видов вреда, возможных, если пользователи могут сдавать свои учетные данные в аренду, например, рынок учетных данных для обхода санкций.

У CK также есть интересные приложения на торговых площадках NFT. Например, это может помочь обеспечить соблюдение лицензионных платежей для артистов. Сегодня лицензионные платежи взимаются только вне сети, т. е. добровольно , торговыми площадками NFT. Вместо этого, в принципе, они могли бы применяться в цепочке в смарт-контракте, и в этом случае принудительное исполнение было бы обязательным. Одна из причин, по которой обязательные платежи роялти не считаются хорошей практикой, заключается в том, что было бы несправедливо, если бы пользователи, переводящие NFT между своими адресами, платили роялти. Проблема в том, что невозможно отличить адрес отправителя S и адрес получателя R , принадлежащие одному пользователю, и адреса S и R.принадлежащие разным пользователям. Таким образом, невозможно провести различие между однопользовательской передачей и сменой владельца NFT.

А вот с CK отличить можно . Контракт на рынке NFT может требовать для бесплатных переводов, чтобы PoCK применялся одновременно к R и S , доказывая, что один объект знает оба . Это свойство является довольно хорошим приближением к единоличному владению. По крайней мере, мы считаем, что такой подход, основанный на CK, может серьезно снизить стимулы к уклонению от уплаты роялти.³

Другое интересное применение CK к NFT — это понятие, которое мы называем атомарными NFT . Принято дробить дорогие NFT, то есть делить их собственность на мелкие части, как это произошло, например, с Doge NFT .

Однако ряд художников, с которыми мы говорили, предпочитают, чтобы их работы принадлежали и ценились одним человеком. Атомные NFT предлагают способ создания NFT, которые уважают это желание и гарантируют единоличное владение. Чтобы продемонстрировать эти возможности, мы создали собственную небольшую коллекцию Atomic NFT, показанную здесь.

Заключение

Доказательства знаний — это хорошо изученная концепция криптографии, которой уже несколько десятков лет. Но мощные новые технологии, такие как TEE и MPC, угрожают разрушить классический ландшафт доказательств знания из-за обременения секретами. CK предлагает способ предотвратить такое обременение и восстановить интуитивную идею о том, что знание приписывается одному объекту или человеку. В дополнение к средствам защиты от атак, основанных на обременениях, таких как взяточничество в схемах голосования, он также предлагает ряд новых приложений.

Мы считаем, что CK может быть практичным. Мы внедрили сквозную систему на основе ASIC со смарт-контрактом , который проверяет доказательства PoCK. Наш прототип системы включает в себя основанный на смарт-контрактах реестр адресов, совместимый с CK. Мы также внедрили прототип системы с использованием TEE на основе мобильных телефонов. Наши прототипы еще не готовы к использованию в прайм-тайм, но мы верим, что есть путь к практическому развертыванию в производственных условиях. Вы можете найти версию наших инструментов с открытым исходным кодом здесь . Мы приветствуем сотрудничество от проектов, заинтересованных в его реализации.

¹ К счастью, TEE не могут быть вложены друг в друга, поэтому у Мэллори нет умного способа обернуть приложение RBU TEE и, таким образом, по-прежнему загромождать ключи пользователей.

² Большинство ASIC имеют очень мало встроенной защиты. Они даже не поддерживают зашифрованную сеть, как мы обнаружили, когда наш ASIC, по-видимому, несколько раз был скомпрометирован удаленным хакером в ходе наших экспериментов.

³ Здесь есть оговорка. Как мы обсуждаем в нашей статье, если механизмы социального восстановления станут обычным явлением, CK-доказательства одновременного знания ключей больше не будут работать.