Конфиденциальность вычислений и Web 3.0
В этом посте я объясню, что такое конфиденциальность вычислений и как это приведет к появлению совершенно новой волны приложений для Web 3.0.
Начнем с того, как все началось. Эрик Хьюз, один из основателей движения шифропанков и автор «Манифеста шифропанков», написал 9 марта 1993 года:
Конфиденциальность необходима для открытого общества в эпоху электронных технологий. Конфиденциальность — это не секретность. Личное дело — это то, о чем никто не хочет делиться со всем миром, а секретное дело — это то,что никто не хочет знать. Конфиденциальность — это способность выборочно раскрывать себя миру.
Если вы еще не прочли это полностью, то вам действительно следует это сделать. Это создает прекрасный фон для всего, что происходит в пространстве.
Все мы знаем, что за этим последовало. Сатоши публикует "Bitcoin white paper" 31 октября 2008 года, и здесь мы снова можем указать на гениальность Эрика Хьюза:
Конфиденциальность в открытом обществе требует систем анонимных транзакций
И долгое время именно это обеспечивал Биткойн. Однако со временем это становилось все менее и менее таковым, так как выяснилось, что при сложных методах разбора и анализа графа Биткойн и, в частности, использование людьми On-ramps, анонимность, которую обеспечивал Биткойн, начала разрушаться.
За этим последовали попытки улучшить анонимность Биткойна с помощью технологии, разработанной «Николасом Ван Саберхагеном» (еще одним полностью анонимным автором) с помощью Bytecoin в 2012 году. Затем последовали Monero (форк Bytecoin) и Z-Cash.
Все это были попытки обеспечить «конфиденциальность транзакций». То есть способность предоставлять людям возможность раскрывать свою личность или намерения только при желании; в этом суть конфиденциальности. С практической точки зрения это подразумевает конфиденциальность в отношении участников транзакции, того, что они совершают, а также результатов и последствий любой транзакции.
По сути, мы знаем, что транзакция состоялась, но все содержимое данной транзакции запутано.
Что, если бы мы захотели пойти дальше и не только запутать транзакции, но и полностью скрыть их вычисления на любом комьютере от кого бы то ни было?
Что, если нам нужна абсолютная уверенность в том, что код, который, как мы думаем, работает, действительно работает, но на самом деле мы не видим, как он работает?
И наконец, код должен где-то работать, и кто-то всегда будет иметь доступ к машине, на которой работает код?
Что, если я скажу, что вычислительная конфиденциальность обеспечивает все вышеперечисленное?
- Полная конфиденциальность в течение всей обработки любых данных
- Абсолютная уверенность в том, что код, который мы загружаем, действительно запущен.
- Никто, даже владелец машины, не может получить доступ к запущенному коду.
Приведенные выше сценарии демонстрируют:
- Нет конфиденциальности. Алиса отправляет 1 BTC. Он проходит проверку в блокчейне Биткойн и теперь отправлен Бобу. Все это видят.
- Транзакционная конфиденциальность. Неизвестный отправитель отправляет неизвестное количество BTC. Он проверяется, и балансы на неизвестную сумму обновляются. Все видят только это.
- Вычислительная конфиденциальность. Вообще ничего не может просочиться. Никто даже не знает, что была транзакция, не говоря уже о том, кто в ней участвовал и на какую сумму.
Давайте добавим еще немного контекста, просмотрев пример использования NFT.
Apymon был проектом NFT, выпущенным еще в начале 2021 года. Идея была новой. NFT в форме яйца, и при этом симпатичный, вероятно,что-то, что само по себе могло бы действовать как NFT.
Чтобы добавить загадочности, у Apymon был секрет, секрет, заключенный в яйце. Это был маленький монстр. В дополнение к этому было обещано, что некоторые яйца будут содержать криптопанков и другие популярные NFT, а также эфир.
Но когда все было на виду, как это было возможно? Это невозможно.
Было невозможно построить решение, которое скрывало бы содержимое яиц честным и децентрализованным способом. Единственным решением была централизация. И это тут же было встречено претензиями со стороны сообщества о том, что разработчики намеренно распределили скрытые награды на яйца, хранящиеся у них и инсайдеров. Проект оказался провальным.
Как это будет отличаться от вычислительной конфиденциальности? Если мы вспомним, что дает нам вычислительная конфиденциальность:
- Код для проекта вместе с проверяемыми функциями случайной инициализации можно было бы развернуть в сети, обеспечивающей конфиденциальность вычислений, такой как Obscuro.
- При этом у нас была бы абсолютная уверенность в том, что за каждое заминтченное яйцо были распределенны скрытые награды совершенно случайным образом — конфиденциально даже от самих разработчиков.
- Никто (и я имею в виду вообще никто) никогда не узнает содержимое конкретного яйца, пока владелец этого яйца не «откроет» его.
- Этот акт открытия будет полностью частным — действие только между владельцем и «сетью».
Оказывается, есть только одно решение, которое может обеспечить такой тип вычислительной конфиденциальности. Это доверенные среды выполнения (TEE).
Доверенная среда выполнения — это защищенная область центрального процессора или CPU. Это гарантирует, что код и данные, загруженные внутрь, защищены в отношении конфиденциальности и целостности при их обработке.
- Держать в секрете материал криптографического ключа.
- Не позволять другим людям шпионить или наблюдать за транзакциями, включая владельца или оператора TEE.
- Поиск зашифрованных конфиденциальных данных.
- Подписывать криптографическими ключами..
- Выполнять код с полной конфиденциальностью.
- Подтвердить код, чтобы обеспечить гарантии того, что то, что, по вашему мнению, работает, действительно работает.
Решение всего вышеперечисленного является нерешенной задачей без использования TEE. Доказательства с нулевым разглашением не могут решить этот набор проблем, а гомоморфное шифрование все еще находится в зачаточном состоянии. ТEE обеспечивают практичное и элегантное решение
Сообщение в блоге Гэвина Томаса представляет собой отличную модель мышления.
Узнать больше
Если вы хотите узнать больше об Obscuro, ознакомьтесь с нашим Litepaper или погрузитесь в наш Whitepaper. Вы также можете общаться с коммьюнити в Discord и следить за нами в Twitter и Telegram.