July 10, 2022

Конфиденциальность вычислений и Web 3.0

В этом посте я объясню, что такое конфиденциальность вычислений и как это приведет к появлению совершенно новой волны приложений для Web 3.0.

Начнем с того, как все началось. Эрик Хьюз, один из основателей движения шифропанков и автор «Манифеста шифропанков», написал 9 марта 1993 года:

Конфиденциальность необходима для открытого общества в эпоху электронных технологий. Конфиденциальность — это не секретность. Личное дело — это то, о чем никто не хочет делиться со всем миром, а секретное дело — это то,что никто не хочет знать. Конфиденциальность — это способность выборочно раскрывать себя миру.

Если вы еще не прочли это полностью, то вам действительно следует это сделать. Это создает прекрасный фон для всего, что происходит в пространстве.

Все мы знаем, что за этим последовало. Сатоши публикует "Bitcoin white paper" 31 октября 2008 года, и здесь мы снова можем указать на гениальность Эрика Хьюза:

Конфиденциальность в открытом обществе требует систем анонимных транзакций

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

За этим последовали попытки улучшить анонимность Биткойна с помощью технологии, разработанной «Николасом Ван Саберхагеном» (еще одним полностью анонимным автором) с помощью Bytecoin в 2012 году. Затем последовали Monero (форк Bytecoin) и Z-Cash.

Все это были попытки обеспечить «конфиденциальность транзакций». То есть способность предоставлять людям возможность раскрывать свою личность или намерения только при желании; в этом суть конфиденциальности. С практической точки зрения это подразумевает конфиденциальность в отношении участников транзакции, того, что они совершают, а также результатов и последствий любой транзакции.

По сути, мы знаем, что транзакция состоялась, но все содержимое данной транзакции запутано.

Что, если бы мы захотели пойти дальше и не только запутать транзакции, но и полностью скрыть их вычисления на любом комьютере от кого бы то ни было?

Что, если нам нужна абсолютная уверенность в том, что код, который, как мы думаем, работает, действительно работает, но на самом деле мы не видим, как он работает?

И наконец, код должен где-то работать, и кто-то всегда будет иметь доступ к машине, на которой работает код?

Что, если я скажу, что вычислительная конфиденциальность обеспечивает все вышеперечисленное?

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

Приведенные выше сценарии демонстрируют:

  1. Нет конфиденциальности. Алиса отправляет 1 BTC. Он проходит проверку в блокчейне Биткойн и теперь отправлен Бобу. Все это видят.
  2. Транзакционная конфиденциальность. Неизвестный отправитель отправляет неизвестное количество BTC. Он проверяется, и балансы на неизвестную сумму обновляются. Все видят только это.
  3. Вычислительная конфиденциальность. Вообще ничего не может просочиться. Никто даже не знает, что была транзакция, не говоря уже о том, кто в ней участвовал и на какую сумму.

Давайте добавим еще немного контекста, просмотрев пример использования NFT.

APYMON: Genesis Egg #0. Материал: органический. Цвет: синий, золотой, белый

Apymon был проектом NFT, выпущенным еще в начале 2021 года. Идея была новой. NFT в форме яйца, и при этом симпатичный, вероятно,что-то, что само по себе могло бы действовать как NFT.

Чтобы добавить загадочности, у Apymon был секрет, секрет, заключенный в яйце. Это был маленький монстр. В дополнение к этому было обещано, что некоторые яйца будут содержать криптопанков и другие популярные NFT, а также эфир.

Но когда все было на виду, как это было возможно? Это невозможно.

Было невозможно построить решение, которое скрывало бы содержимое яиц честным и децентрализованным способом. Единственным решением была централизация. И это тут же было встречено претензиями со стороны сообщества о том, что разработчики намеренно распределили скрытые награды на яйца, хранящиеся у них и инсайдеров. Проект оказался провальным.

Как это будет отличаться от вычислительной конфиденциальности? Если мы вспомним, что дает нам вычислительная конфиденциальность:

  1. Код для проекта вместе с проверяемыми функциями случайной инициализации можно было бы развернуть в сети, обеспечивающей конфиденциальность вычислений, такой как Obscuro.
  2. При этом у нас была бы абсолютная уверенность в том, что за каждое заминтченное яйцо были распределенны скрытые награды совершенно случайным образом — конфиденциально даже от самих разработчиков.
  3. Никто (и я имею в виду вообще никто) никогда не узнает содержимое конкретного яйца, пока владелец этого яйца не «откроет» его.
  4. Этот акт открытия будет полностью частным — действие только между владельцем и «сетью».

Оказывается, есть только одно решение, которое может обеспечить такой тип вычислительной конфиденциальности. Это доверенные среды выполнения (TEE).

Доверенная среда выполнения — это защищенная область центрального процессора или CPU. Это гарантирует, что код и данные, загруженные внутрь, защищены в отношении конфиденциальности и целостности при их обработке.

TEE дает возможность:

  1. Держать в секрете материал криптографического ключа.
  2. Не позволять другим людям шпионить или наблюдать за транзакциями, включая владельца или оператора TEE.
  3. Поиск зашифрованных конфиденциальных данных.
  4. Подписывать криптографическими ключами..
  5. Выполнять код с полной конфиденциальностью.
  6. Подтвердить код, чтобы обеспечить гарантии того, что то, что, по вашему мнению, работает, действительно работает.

Решение всего вышеперечисленного является нерешенной задачей без использования TEE. Доказательства с нулевым разглашением не могут решить этот набор проблем, а гомоморфное шифрование все еще находится в зачаточном состоянии. ТEE обеспечивают практичное и элегантное решение

Сообщение в блоге Гэвина Томаса представляет собой отличную модель мышления.

Узнать больше

Если вы хотите узнать больше об Obscuro, ознакомьтесь с нашим Litepaper или погрузитесь в наш Whitepaper. Вы также можете общаться с коммьюнити в Discord и следить за нами в Twitter и Telegram.