zkCloud: децентрализованные частные вычисления
Эта статья является второй в серии, посвященной примитивам с нулевым разглашением и решению Aleo для частных программируемых приложений. Прочтите введение в примитивы ZK.
Недавно мы представили примитивы ZK, основные компоненты программируемого приложения с нулевым разглашением. Мы определили эти примитивы как экранированные транзакции и экранированные удостоверения. В этом посте мы рассмотрим среду, в которой эти примитивы взаимодействуют в Aleo, которую мы называем zkCloud.
zkCloud — это автономная, ненадежная вычислительная среда, в которой программы выполняются конфиденциально, безопасно и дешево, а также с неограниченным временем выполнения.
Благодаря этим функциям zkCloud решает одну из самых сложных проблем, стоящих перед блокчейнами на сегодняшний день: дилемму конфиденциальности.
Решение «дилеммы конфиденциальности». Постоянной проблемой для протоколов блокчейна был компромисс между конфиденциальностью и программируемостью. Большинство проектов, вышедших на рынок к настоящему времени, распределяются по двум осям следующим образом:
Большинство блокчейнов либо отдают приоритет программируемости в ущерб конфиденциальности, либо наоборот. До сих пор ни один проект не мог предложить и то, и другое, поэтому правый верхний квадрант пуст. Aleo удовлетворяет эту потребность в программируемой конфиденциальности с помощью того, что мы называем zkCloud.
Как работает zkCloud.
В типичной общедоступной цепочке блоков выполнение программы происходит в глобальной «виртуальной машине» (ВМ), управляемой каждым сетевым узлом. Это означает, что каждый узел в сети должен пересчитывать (и коллективно согласовывать) каждый шаг данной программы. Это не только неэффективно, но и снижает скорость и увеличивает затраты для конечного пользователя. А поскольку эта виртуальная машина должна иметь доступ к соответствующей информации, возможности конфиденциальности ограничены.
С помощью zkCloud Aleo преодолевает эти ограничения, отделяя время выполнения приложения от состояния, поддерживаемого блокчейном. В сочетании с силой доказательств с нулевым разглашением это позволяет Aleo обеспечить полную программируемость и конфиденциальность, а также высокую пропускную способность транзакций по сравнению с моделью виртуальной машины в цепочке.
zkCloud — это независимая среда выполнения без доверия, в которой отдельные объекты или защищенные удостоверения взаимодействуют друг с другом посредством защищенных транзакций.
Эти транзакции, будь то простой P2P-перевод или сложное финансовое приложение, скрывают детали взаимодействия (например, участников, суммы, смарт-контракты и т. д.) с помощью рекурсивной серии доказательств с нулевым разглашением (описанных в Zexe). Внешнее доказательство — это конечный результат этого процесса и единственное «свидетельство» того, что транзакция (или серия транзакций, как в сложном приложении) когда-либо имела место в zkCloud.
Экранированные транзакции связывают zkCloud с блокчейном Aleo. Они потребляют и создают записи в цепочке для изменения/обновления состояния данного приложения или программы. Узлы (и другие пользователи) проверяют доказательства с нулевым разглашением в рамках экранированных транзакций и могут убедиться в их достоверности, не узнавая точных деталей.
Мы можем визуализировать взаимодействие между zkCloud и блокчейном Aleo в виде объектов, отбрасывающих «тени».
Когда вы видите тень, вы знаете, что что-то создало эту тень, но трудно разобрать детали или точно определить, что это такое. Точно так же, несмотря на то, что программы выполняются в zkCloud с разной степенью сложности, единственное, что когда-либо видно узлам в сети Aleo, — это «тени», отбрасываемые экранированными транзакциями, выполняемыми в zkCloud. Поскольку доказательства с нулевым разглашением ничего не раскрывают об их содержимом, когда эти узлы (или другие третьи лица) видят защищенную транзакцию, отправленную в цепочку, они могут сказать, что что-то происходит. Но они не могут определить ничего конкретного об этом взаимодействии, если не преднамеренно раскрываются некоторые данные.
Благодаря отделению вычислений от состояния zkCloud обеспечивает неограниченное время выполнения приложений.
Программы, работающие в zkCloud, могут выполняться секунду, минуту, день; это не имеет значения, пока экранированная транзакция отправляется в конце вычисления. Это открывает двери для гораздо большего разнообразия приложений, чем это возможно с моделью выполнения по цепочке, такой как Ethereum, в которой время выполнения программы ограничено «газом».
Кроме того, автономное выполнение в zkCloud означает значительно улучшенную конфиденциальность для пользователей, взаимодействующих с приложениями.
Поскольку в сети отправляются только доказательства, становится технически невозможным для кого-либо увидеть или использовать знание каких-либо деталей транзакции. Кроме того, пропускная способность транзакций может быть значительно выше, поскольку узлы Aleo только проверяют доказательства, а не запускают программы.
Даже с этими дополнительными преимуществами подход Aleo не ставит под угрозу безопасность, поскольку доказательства с нулевым разглашением, являющиеся частью защищенной транзакции, криптографически гарантируют правильное выполнение программы. Это контрастирует с другими блокчейнами и многими решениями уровня 2, которые предоставляют только криптоэкономические гарантии того, что переход состояния произошел правильно. Но в Aleo доказательство показывает, что программа либо работала правильно, либо не работала вообще, что устраняет необходимость в дополнительных предположениях о доверии со стороны пользователя или разработчика смарт-контракта.
ZkCloud разработан, чтобы помочь разработчикам создавать частные масштабируемые проекты.
Отделяя выполнение от состояния и отправляя в блокчейн только доказательства с помощью экранированных транзакций, zkCloud позволяет Aleo достичь цели частной, программируемой, производительной сети.
По мере того, как наша цифровая жизнь становится все более важной, мы должны требовать большего контроля над тем, что мы раскрываем через наши онлайн-взаимодействия. В этом свете криптография с нулевым разглашением представляет собой следующую цифровую революцию. И раскрывая примитивы экранированных транзакций и экранированных удостоверений в zkCloud, Aleo предоставляет строительные блоки, необходимые для создания этих приложений, и переворачивает то, как мы в настоящее время думаем о масштабируемости и конфиденциальности для блокчейнов.