Secret 2.0: Создание Следующего Поколения Конфиденциальности Web3

Новые решения в области шифрования, сопутствующие сети, усиление анклавов и многое другое. Ознакомьтесь с Secret 2.0, масштабной эволюцией нашей архитектуры, как центра конфиденциальности для Web3!

Приветствуем сообщество Secret!

Сегодня мы хотим рассказать о прошлом, настоящем и будущем Secret Network, а также поделиться некоторыми планами, которые до сих пор никогда не раскрывались.

Экосистема Secret всегда гордилась тем, что мы быстро выполняем итерации и находимся на передовой прагматичных технологий сохранения конфиденциальности, которые могут быть внедрены в работу. Семь лет назад мы были первой командой, которая заговорила о конфиденциальности в Web3, когда были опубликованы первые технические документы (в том числе “Децентрализация конфиденциальности”, которая сейчас имеет более 2 000 ссылок и является самой цитируемой статьей о конфиденциальности в блокчейне). Более двух лет назад Secret стал первым, со смарт-контрактами L1 с сохранением конфиденциальности, и так продолжается и по сей день.

Но по мере роста Secret Network, а также самого Web3, пришло время задуматься о нашем видении конфиденциальности и о том, как обеспечить, чтобы мы всегда были на пике исследований и разработок. Мы не хотим застрять в локальном максимуме; скорее, мы хотим всегда быть лидером на рынке решений Web3 для обеспечения конфиденциальности, которые активно используются в работе. Мы всегда стремимся к тому, чтобы наши решения были более безопасными, производительными, быстрыми и менее затратными — особенно по мере роста их внедрения.

Мы называем все разработки до этого момента “Secret 1.0”: действующий блокчейн первого уровня и относительно зрелая экосистема приложений для сохранения конфиденциальности в ходе их создания. Сегодня мы поговорим о “Secret 2.0”: куда дальше поведут экосистему новые исследования и разработки.

Для полного представления концепции Secret 2.0 потребовался бы подробный доклад, в котором было бы рассказано обо всем — от технических тонкостей до экономики. Сегодня речь идет не об этом. Но в этой заметке мы хотели бы поделиться парой важных фрагментов дорожной карты, позволяющей поднять решения Secret в области конфиденциальности на новый уровень:

  1. Создание сопутствующей сети — порогового Полностью Гомоморфного Шифрования (FHE) Layer-1, которая наряду с анклавами обеспечивает лучшее в своем классе решение для обеспечения конфиденциальности.
  2. Усиление SGX (и других поддерживаемых анклавов) с использованием как криптографических методов, так и практических инженерных техник

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

В конце этой статьи мы также разместим обращение к исследователям, разработчикам и партнерам, заинтересованным во взаимодействии с Secret 2.0. Если вы являетесь независимым исследователем, разработчиком или командой, заинтересованной в участии в этой работе, пожалуйста, свяжитесь с SCRT Labs по электронной почте: info@scrtlabs.com

Хотите узнать больше о том, где Secret находится в настоящее время? Переходите сюда.

Пороговое Полностью Гомоморфное Шифрование для secret-контрактов

Мы всегда заявляли, что миссия Secret заключается в том, чтобы внедрять наиболее прагматичные и практичные решения для обеспечения конфиденциальности в производственные системы. Конфиденциальность слишком важна, чтобы обсуждать ее только в академической среде — она нужна пользователям уже сегодня. Тем не менее, мы внимательно следим за всеми новыми академическими достижениями, чтобы понять, когда и как новые решения могут быть применены в производстве на благо разработчиков и пользователей. Безопасность — это постоянно развивающееся пространство!

В прошлом мы отмечали, что защищенные анклавы были (и на самом деле остаются) единственной технологией, готовой к использованию в обобщенной сети смарт-контрактов. Анклавы обеспечивают более высокую производительность при меньших затратах в большем количестве случаев использования. Именно поэтому мы сосредоточились на их использовании в Secret 1.0.

Однако мы всегда думали о том, как объединение нескольких технологий может привести к созданию более качественных готовых к производству решений. Благодаря недавним достижениям мы изучаем Полностью Гомоморфное Шифрование (FHE) как серьезный вариант для укрепления Secret как центра конфиденциальности.

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

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

В последние годы схемы FHE значительно повысили производительность, и эта тенденция, похоже, продолжается. Благодаря использованию GPU, FPGA и, в конечном итоге, ASIC, мы можем ожидать увеличения производительности в 1 000–10 000 раз в ближайшие несколько лет. Прогресс многообещающий, и теперь есть все основания полагать, что FHE может стать достаточно масштабируемым в достаточно короткий срок.

Но есть одна проблема. Сам по себе FHE может работать только с одним ключом, так как же нам быть с многопользовательской средой, как это происходит в блокчейнах? По сути, нам нужно использовать вариант FHE с многосторонними вычислениями (MPC) под названием Threshold FHE — Пороговое Полностью Гомоморфное Шифрование. Как следует из названия, пороговый FHE позволяет каждому серверу выполнять любые вычисления над зашифрованными данными, но чтобы расшифровать результат, определенный порог нод должен работать вместе.

Как же это вписывается в нашу сопутствующую сеть? По сути, с помощью соответствующей пороговой схемы FHE мы можем заставить валидаторов обмениваться секретным ключом шифрования между собой. Этого можно довольно легко достичь с помощью простого протокола DKG — Distributed Key Generation, который отличается высокой эффективностью. Используя мобильный проактивный обмен секретами, мы можем, по сути, передать доли от валидаторов, которые уходят, к тем, кто присоединяется. Благодаря “проактивной” части, любой злоумышленник не сможет медленно разрушать валидаторов с течением времени, поскольку это требует от валидаторов обновлять свои доли ключа каждые определенные блоки.

При такой настройке отправка транзакции смарт-контракта в сеть является довольно тривиальной:

  1. Пользователь отправляет транзакцию, вызывающую функцию в определенном контракте, при этом шифруя все свои данные с помощью открытого ключа совместного сетевого ключа.
  2. Все валидаторы достигают консенсуса как обычно, вычисляя при этом зашифрованные данные. Это в принципе похоже на то, как Secret работает сегодня, за исключением того, что вычисления производятся непосредственно над зашифрованными данными без их расшифровки в анклаве.
  3. Используя эту схему, мы можем достичь конфиденциальности входящих данных, состояния и исходящих данных точно так же, как и в Secret сегодня. (Для обеспечения конфиденциальности исходящих данных все валидаторы должны запускать протокол переключения ключей, который выполняет пороговое повторное прокси-шифрование, чтобы переключить выходные данные на расшифровку с помощью ключа, который известен только пользователю).

Важно отметить, что каждый валидатор получит долю ключа расшифровки в соответствии со размером делегированного объёма. Потребуется 67% от всего количества стейка для расшифровки сети. Эта цифра соответствует количеству голосов для утверждения блока, так что это вполне логично.

Одна из проблем этой структуры заключается в том, что валидаторы могут сговориться, а сговор тривиален и необнаружим (написать несколько строк кода, которые позволяют валидаторам обмениваться долями секретных ключей вне сети). По этой причине мы считаем, что для данной работы нам необходимо объединить эти криптографические методы с SGX или аналогичным TEE (Trusted Execution Environment) (в идеале — с несколькими TEE, использующими различные архитектуры). Таким образом, мы увеличиваем барьер для атаки — теперь вам нужно заставить всех валидаторов сговориться, что становится крайне маловероятным при использовании TEE.

Однако важно также отметить, что запуск FHE внутри анклава, вероятно, плохая идея. Как уже говорилось, масштабирование FHE само по себе будет зависеть от поддержки GPU, FPGA или ASIC, что сегодня несовместимо с анклавами. К счастью, легко понять, что пороговый ключ для расшифровки нам действительно нужен только в случае смены ключа или пороговой расшифровки. Все фактические зашифрованные вычисления могут происходить вне анклава, что значительно повышает производительность. Кроме того, ограничение самих анклавов хранением общего ключа и запуском определенного протокола переключения ключей / порогового расшифрования означает, что защитить анклав от любых потенциальных атак будет гораздо проще.

Усиление SGX и других анклавов

Внедрение таких криптографических решений, как FHE, в наше созвездие конфиденциальности значительно улучшит возможности Secret как для разработчиков, так и для пользователей. Тем не менее, мы можем сделать еще многое, чтобы укрепить нашу существующую сеть, а также повысить ее гибкость в будущем. Большинство из этих идей также направлены на объединение более продвинутой криптографии с SGX, таким образом, чтобы использовать преимущества безопасных анклавов, но не полагаться только на них.

Пороговое значение для мастер-ключа

Совсем недавно было опубликовано сообщение на форуме, в котором описано, как мы можем модифицировать недавнюю статью Момени и др., где используется Identity-Based-Encryption (IBE — шифрование на основе идентификации) с разделением секрета для распространения мастер-ключа Secret, который является основным источником энтропии, используемой для генерации ключей шифрования для транзакций пользователей, шифрования состояния, внутрисетевой случайности и т. д.

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

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

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

Прямая секретность?

Приведенная выше схема, по сути, использует гомоморфное шифрование и многосторонние вычисления (MPC — Multi-party Computation) для предотвращения потенциальной утечки мастер-ключа даже в случае возникновения аварии SGX. Аналогично, она лучше защищает от сговора, к которому уязвимы все методы MPC, поскольку все ключевые доли хранятся в своем анклаве.

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

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

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

Двухсторонние вычисления

Secret 1.0 обладает очень интересным и своеобразным свойством — возможность сохранять и оперировать приватными данными, при этом, как и любой блокчейн, обеспечивая постоянное правильное выполнение кода контракта. Кроме того, как и любой другой блокчейн, он всегда находится в режиме онлайн.

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

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

Чтобы задействовать эту технологию, нам потребуется добавить поддержку и встроить в Secret несколько составных элементов, таких как аддитивно гомоморфное шифрование и протоколы порогового подписания. Нам нужно будет модернизировать их, чтобы они работали без компиляции в WASM из-за проблем с производительностью/газовыми затратами (аналогично тому, как это было сделано в Ethereum в прошлом с внутрисетевой проверкой некоторых доказательств с нулевым разглашением). Один из таких проектов в настоящее время планируется осуществить совместно с партнером по разработке.

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

Что дальше?

Здесь мы повторим то, что всегда было частью нашей миссии как Secret Network: вывести на рынок прагматичные решения для обеспечения конфиденциальности, чтобы их могли использовать в производстве миллионы пользователей по всему миру.

Экосистема Secret — от основных разработчиков, валидаторов, dApps до заинтересованных пользователей — доказала, что мы сделаем все необходимое, чтобы наше видение более безопасного будущего Web3 стало реальностью. Это означает создание и использование приложений, которые в течение последних лет находятся на передовом рубеже нашей индустрии. Теперь мы просим вас присоединиться к нам, чтобы укрепить нашу сеть от ее первой итерации до ее следующей более мощной формы: совокупности взаимосвязанных решений для обеспечения конфиденциальности, которые делают коллективную основу еще более прочной.

В этом посте мы могли бы затронуть множество других тем, включая вертикальное масштабирование с помощью роллапов, горизонтальное масштабирование с помощью IBC и многое другое. Это лишь первый взгляд на Secret 2.0, который будет очень сложным и потребует значительных усилий со стороны сообщества.

Сегодня у нас десятки действующих приложений dApp с приватностью по умолчанию, использующих Secret Network; через несколько лет мы планируем создать тысячи. Сегодня у нас 250 000 аккаунтов в Secret; мы планируем увеличить их число на миллионы. Сочетая эти технические усовершенствования с активным подходом к развитию разработчиков и пользователей, мы сможем обеспечить каждому пользователю Web3 доступ к надежным решениям для обеспечения конфиденциальности.

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

Связаться с нами

Многое из того, что описано выше, уже находится в активной области исследований и разработок, но мы постоянно ищем самых лучших партнеров, продолжая стремиться к достижению цели глобального внедрения. Если вы являетесь независимым исследователем, разработчиком или командой, заинтересованной в присоединении к этой работе или в создании совместного проекта, пожалуйста, свяжитесь с SCRT Labs по электронной почте: info@scrtlabs.com

Также Secret Network предоставляет гранты и другие ресурсы для разработчиков, которые хотят внести свой вклад в нашу миссию по защите конфиденциальности. Если вы заинтересованы в создании собственных Secret Apps, ознакомьтесь с нашими ресурсами для разработчиков и узнайте, как можно получить финансирование для поддержки ваших проектов!

Если вы заинтересованы в том, чтобы пользователи web3 имели защиту конфиденциальности данных, которая им необходима и которой они заслуживают, станьте Секретным Агентом! Наша миссия заключается в том, чтобы децентрализованный web, который мы строим, действительно расширял возможности — и был доступен для всех. Существует множество способов помочь расширению экосистемы Secret и увеличению глобальной доступности технологий конфиденциальности в Web3 — от Информирования и Образования до Международного Развития и Университетских отношений.

Ознакомьтесь с программой Секретных агентов и присоединяйтесь к одному из лучших и самых преданных сообществ во всем блокчейн-пространстве!

Вперед к новым вершинам!

Чтобы обсудить Secret Network и Secret Apps, посетите каналы нашего сообщества:

Website | Forum | Twitter |Twitter-RU| Discord | Telegram | Telegram-RU

--

--