Phala Network (PHA) - конфиденциальная сеть смарт-контрактов

Phala Network - это кросс-чейн конфиденциальная сеть смарт-контрактов для децентрализованных приложений и частного вычислительного облака для предприятий, традиционного Интернета и других программных сервисов.

Существует множество информации о гигантских монополиях на данные в Интернете, таких как Google или Facebook - воплощение так называемой эры Web 2.0 - и о том, как они извлекают пользу из данных своих пользователей. Даже регулирующие органы Европы и США догнали эту тенденцию, теперь обвиняя эти компании в извлечении огромной ценности из данных своих пользователей.

Тем не менее, широкая общественность в основном игнорирует тот факт, что, например, Google чрезмерно контролирует Интернет за пределы своих собственных приложений, поскольку они также предоставляют инструменты аналитики, встроенные в сторонние приложения. Google Analytics - это наиболее широко используемая панель аналитики веб-трафика. Согласно отчету Wappalyzer , 66% веб-сайтов используют Google Analytics в качестве инструмента анализа данных.

Другой технологический гигант, Apple, по умолчанию собирает высокоточные данные о пользователях своих устройств: от их привычек о здоровье до отпечатков пальцев. Кроме того, согласно отчету RightScale о состоянии облака за 2019 год, 91% предприятий сообщили об использовании общедоступных облачных сервисов, таких как Amazon AWS. Таким образом, эти службы хранят и собирают зеттабайты данных о пользователях Интернета: от телеметрии интернет-провайдера до личных данных. Хотя все эти компании делают обоснованные заявления о том, что никогда не злоупотребляют данными, которые они собирают и хранят, факт остается фактом: пользователи не имеют над ними контроля.

Не намного лучше и в мире Web3.0, где dApps и p2p-сети по-прежнему используют одну и ту же централизованную инфраструктуру - инструменты анализа данных или облачные сервисы.

Вышеупомянутая проблема также создает множество централизованных приманок, принадлежащих как бизнесу, так и правительству, которые время от времени «утекают», как, например, печально известная утечка данных через Equifax , когда публично доступны конфиденциальные финансовые данные почти 150 миллионов американцев. IBM ежегодно проводит опрос, чтобы учесть расходы глобальных компаний за утечку данных. В его отчете за 2020 год указывается, что в среднем на выявление и сдерживание утечки данных уходит 280 дней - это более 9 месяцев!

Размер и масштаб этих оценок говорят о том, что проблема утечки данных не только плохо сдерживается, но и выходит из-под контроля.

Кибербезопасность, утечки данных и доктрина экономических потерь в индустрии платежных карт.

Данные - это актив. И, как мы только что рассмотрели, есть слои различных данных, которые собираются, передаются и хранятся в Интернете, а также монетизируются веб-гигантами, а не их производителями - пользователями и «обычными» приложениями. Он должен быть авторизован, сдан в аренду и извлечен по запросу. Каналы обмена данными должны быть безопасными от начала до конца, а поставщик должен размещать свои собственные данные. И все это должно работать «под капотом» и по умолчанию, без необходимости ручного управления обычными пользователями.

W3A: черный ящик анализа данных

Web3 Analytics - это децентрализованная альтернатива Google Analytics, цель которой - предоставить пользователям: компаниям, частным лицам и даже правительствам полный контроль над своими данными. Он обеспечивает измерение веб-производительности, настраиваемую статистику и панель визуализации данных для веб-сайтов и приложений, при этом стоимость интеграции составляет всего 10 строк кода. На основе технологии TEEкоторый работает в публичном облаке конфиденциальности Phala, W3A - это инструмент, который запускает анализ данных на узлах TEE и передает только результаты авторизованным сторонам. В ближайшем будущем эти вычисления будут производиться параллельно сотнями и даже тысячами узлов. Для сравнения, только один TEE, подключенный к Phala, может обрабатывать на порядки больше данных и вычислений, чем весь Ethereum, за счет замены децентрализованного консенсуса аппаратным обеспечением с минимальным доверием. Все эти устройства работают изолированно, что обеспечивает широкую масштабируемость. Таким образом, веб-сайты, использующие его, никогда не раскрывают своих конечных пользователей.

В Web3 Analytics пользовательские данные зашифрованы между браузером пользователя и серверной частью (конфиденциальный смарт-контракт на надежном программном обеспечении Phala), и зашифрованные данные будут храниться в децентрализованной сети хранения, подключенной к Phala (например, Filecoin). Ключ шифрования доступен только его владельцу и самому смарт-контракту, который выполняется внутри доверенного анклава выполнения (т.е. недоступен для любой внешней стороны). Те пользователи, которые действительно хотят управлять своими данными проактивно, могут делать это, однако и когда захотят, благодаря панели инструментов W3A.

По замыслу необработанные личные данные считываются и обрабатываются только смарт-контрактом и не будут выводиться из TEE без разрешения его владельца. В то же время результаты анализа будут отображаться на приборной панели как пользовательского клиента, так и клиента разработчика, что позволяет «анализировать без утечки каких-либо необработанных данных». Это открывает множество вариантов использования, выходящих за рамки простого анализа веб-трафика.

Также существует возможность появления рынка, управляемого данными, с глобальным доступом 24/7 через сеть блокчейнов Phala. Мы открываем исходный код кода W3A, а также делаем продукт бесплатным - вам нужно будет только оплатить сетевые сборы. Так что разработчики могут взяться за это и создать на его основе настраиваемые рынки данных и инструменты анализа данных.

Web3 Analytics можно использовать для:

  • Автоматическое и настраиваемое измерение событий и статистика для веб- и мобильных приложений.
  • Визуализация данных на панели разработчика.
  • Децентрализованное управление данными: пользователи (как предприятия, так и частные лица) имеют 100% контроль над собранными данными и могут управлять разрешениями для них через консоль персональных данных.
  • Data Plaza: рынок данных.
  • Инструменты анализа данных «общего блага» (сродни инструментам семантического или визуального анализа Google, которые распространены повсеместно, но не используются для общей пользы).

Phala Network (PHA)

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

В плане CCC Community Outreach Plan SGX (Intel TEE) является важной технологией конфиденциальных вычислений на уровне оборудования. Управляемая узлами с поддержкой SGX, Phala защищает необработанные данные и программы от атак или взломов, запуская их в анклавах каждой области ЦП, что позволяет владельцам данных или организациям, которым важна конфиденциальность данных, 100% контролировать авторизацию и утилиты данных.

Confidential Computing защищает используемые данные, выполняя вычисления в аппаратной среде Trusted Execution Environment. Эти безопасные и изолированные среды предотвращают несанкционированный доступ или изменение приложений и данных во время их использования, тем самым повышая уровень безопасности организаций, управляющих конфиденциальными и регулируемыми данными. Конфиденциальные вычисления: аппаратное доверенное выполнение приложений и данных.

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

Phala применяет TEE (Trusted Environment Execution), который позволяет конфиденциальным данным работать в изолированной и частной среде и выводит результаты только с авторизацией.

Пример:

Google запрашивает данные DAU (Daily Active User) за последние 100 дней на Facebook. Facebook готов поделиться, но опасается утечки пользовательских данных. Вот как они могли бы идеально решить проблему с Phala Network:

  1. Разработчики Google записывают свои запросы в коды в сети Phala и отправляют их в Facebook;
  2. Разработчики Facebook получили запросы и начали запускать коды локально в узлах Facebook;
  3. В Google выводятся только результаты, а не вся информация о деятельности, содержащая конфиденциальные данные пользователя.

Конфиденциальность блокчейна на основе TEE

Phala Network предоставляет глобальное частное вычислительное облако. Его можно использовать как платформу для конфиденциальных смарт-контрактов. Они отличаются от «традиционных» контрактов в таких сетях, как Ethereum, тем, что смарт-контракты Phala выполняются в специальном аппаратном анклаве в ЦП, то есть в Trusted Execution Environment (TEE). Программа, работающая внутри TEE, сильно изолирована и использует ее RAM с аппаратным шифрованием. Злоумышленник не может ни прочитать данные в памяти без авторизации (т. е. Криптографический ключ, который хранится внутри того же TEE, видимый только самому устройству, а не внешнему оборудованию или программному обеспечению, с которым оно взаимодействует), ни манипулировать программой для создания каких-либо непреднамеренных поведение.

В сети Phala мы называем вспомогательную программу, работающую внутри TEE, «pRuntime». pRuntime - это среда выполнения, или, попросту говоря, «операционная система», которая поддерживает базовый протокол TEE Miner и Gatekeeper внутри TEE. Он обрабатывает удаленную аттестацию TEE, регистрацию в сети, управление ключами и конфиденциальное выполнение контрактов.

Но как убедить пользователя, что смарт-контракт, работающий внутри pRuntime, - это не просто эмулятор, не обеспечивающий никакой реальной защиты данных? Вот основная концепция: удаленная аттестация.

Удаленная аттестация

«Приложение, в котором размещен анклав, также может попросить анклав создать отчет, а затем передать этот отчет службе платформы для создания типа учетных данных, отражающих состояние анклава и платформы. Эти учетные данные известны как цитата. Эту цитату затем можно передать организациям за пределами платформы и проверить… »

Удаленная аттестация - ключ к обеспечению безопасности системы TEE. Цитируется от Intel , это доказывает, что определенный код (измеряемый хешем кода), необязательно с некоторыми настраиваемыми данными, сгенерированными кодом, работает внутри актуального подлинного анклава Intel SGX.

Секретное обеспечение

Удаленная аттестация - это основной строительный блок конфиденциальных смарт-контрактов. Но это не очень полезно, если мы не можем установить сквозной безопасный канал связи между пользователем и TEE. Intel SGX, единственный TEE, в настоящее время поддерживаемый Phala, также предоставляет протокол Secret Provisioning для элегантного решения проблемы.

Приняв протокол Secret Provisioning, можно установить цепочку доверия от пользователя к pRuntime:

  1. Блокчейн имеет хеш канонического кода pRuntime.
  2. pRuntime запускает протокол удаленной аттестации, получает отчет с данными: хеш аттестованного кода (сам pRuntime); и открытый ключ из пары эфемерных ключей идентификации.
  3. Отчет RA передается в блокчейн и подтверждается в блокчейне.
  4. Блокчейн сравнивает хэш из отчета RA (подразумевается: участник является каноническим pRuntime в этом TEE).
  5. Открытый ключ идентификации регистрируется в блокчейне (подразумевается: только текущее время pRuntime имеет контроль над этим ключом идентификации)

В результате, пока сообщение подписано ключом идентификации, оно должно создаваться зарегистрированным pRuntime. Кроме того, пользователи могут установить соединение типа TLS с pRuntime с его зарегистрированным открытым ключом.

Для связи с TEE пользователь может получить открытый ключ определенного времени pRuntime из блокчейна (из регистрации TEE). Затем пользователь может использовать открытый ключ своей учетной записи-субстрата для запуска протокола Диффи-Хеллмана. Он получает секретный ключ для связи между пользователем и pRuntime.

Все шаги, упомянутые выше, автоматизированы и быстро выполняются Phala «под капотом».

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

Как насчет обновления?

Обновление по цепочке является критическим требованием, поскольку оно значительно снижает риски безопасности, связанные с обновлением хард-форка. Substrate изначально поддерживает обновление среды выполнения по цепочке. Это делается с помощью так называемого поддона управления на блокчейне. Что касается TEE, среда выполнения также может обновляться.

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

Оба типа операторов узлов на Phala, привратников и майнеров должны обновить pRuntime, как только новая версия будет принята в цепочке. Майнерам это проще, потому что они могут просто остановить добычу, выполнить обновление и возобновить добычу. Это возможно, потому что майнеры не обязаны всегда быть в сети. К привратникам предъявляются требования к высокой доступности. Таким образом, они либо запускают другой клиент TEE с более новой версией pRuntime и ждут естественного ротации набора привратников в следующий период выборов, либо делают аварийный дамп шифрования своего самого последнего состояния и восстанавливают его в новое время pRuntime.

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

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

Атака и защита

Наша модель угроз частично предполагает, что производителю TEE можно доверять. Это разумно. Во-первых, они не знают, как будет использоваться их оборудование, и поэтому не могут планировать атаку заранее, что значительно снижает риски. Во-вторых, если они подвергаются так называемым атакам нулевого дня , другие приложения, работающие на этом ЦП (за пределами TEE), обычно подвергаются риску.

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

Принято считать, что программные уязвимости можно исправить, а уязвимости оборудования - нет. Это не всегда так. ЦП можно исправить с помощью обновлений микрокода. Учитывая особый дизайн архитектуры Intel SGX TEE, большинство уязвимостей можно исправить. Недавно была атака под названием SGAxe , она была исправлена обновлением микрокода с последующей сменой группового ключа. После ротации ключей и отзыва все устаревшие устройства были отклонены удаленной аттестацией, что фактически считало уязвимые устройства сломанными. Важно отметить, что микропатч появился очень быстро, и мы не знаем о каких-либо реальных нарушениях, связанных с SGAxe.

Но вы можете спросить, а что, если кто-то все еще находит оборудование нулевого дня уязвимым? Предположим, что уязвимость требует физического доступа для ее использования, поскольку, как предполагают некоторые другие документы , майнеры могут украсть данные из конфиденциального контракта. Чтобы смягчить это, мы применяем случайность к Phala. Блокчейн случайным образом назначает майнерам конфиденциальные контракты в каждый период. После каждого такого периода майнеры перемешиваются. Пока злоумышленник не контролирует значительную часть майнеров, такая атака невозможна. Кроме того, стоимость запуска атаки будет чрезвычайно высокой, поскольку она требует сохранения контроля над сетью в течение относительно длительного времени.

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

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

Добавляя репликации к выполнению смарт-контрактов на основе TEE, которые в противном случае не требовали бы их для улучшения свойств доверия, мы поддерживаем модель резервной безопасности, аналогичную безопасности на основе валидатора Polkadot. Злоумышленник должен контролировать достаточное количество майнеров, чтобы нарушить корректность, даже если модель безопасности SGX полностью нарушена.

Наконец, мы планируем добавить поддержку другого оборудования TEE, такого как AMD SEV и Arm TrustZone . Если другие производители микросхем вступят в гонку за ликвидацию гегемонии Intel в этом зарождающемся аппаратном пространстве, мы быстро воспользуемся ими, чтобы обеспечить надежность Phala и устойчивость к любым уязвимостям.