Logo
Condividi questo articolo

Тенденция к Политика конфиденциальности блокчейна: доказательства с нулевым разглашением

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

Locks and keys

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

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

La storia continua sotto
Non perderti un'altra storia.Iscriviti alla Newsletter Crypto for Advisors oggi. Vedi Tutte le Newsletter

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

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

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

Другие системы, разрабатываемые для аналогичных целей, которые былинаписано в этом блоге, имеют ONE назначенный генератор блоков, который собирает и проверяет предлагаемые транзакции, периодически объединяя их в предложение нового блока. Консенсус обеспечивается Генератором, который применяет правила (проверяет), согласованные узлами (ядрами цепочки) к блоку и назначенным подписчикам блоков.

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

Сильная, долговечная криптографическая идентификация

Что такое криптография и шифрование?

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

В недавнем сообщении в блоге под названием «Небольшое напоминание о шифровании"Кэтлин Брейтман из R3CEV кратко дает прекрасное рабочее определение:

«Шифрование относится к операции маскировки открытого текста, информации, которая должна быть скрыта. Набор правил для шифрования текста называется алгоритмом шифрования. Работа алгоритма зависит от ключа шифрования или ввода в алгоритм сообщения. Чтобы пользователь мог получить сообщение из вывода алгоритма, должен быть алгоритм дешифрования, который при использовании с ключом дешифрования воспроизводит открытый текст».

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

Гомоморфное шифрование означает, что decrypt(encrypt(A) + encrypt(B)) == A + B. Это известно как гомоморфное по сложению.

Таким образом, вычисление, выполненное над зашифрованными данными при их расшифровке, равно вычислению, выполненному над зашифрованными данными.

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

В конце концов, блокчейны хотят делиться (изменением) состояния, а не информацией. В блокчейне некоторый бизнес-процесс находится в состоянии X и теперь переходит в состояние Y, это необходимо зафиксировать и доказать, сохраняя при этом Политика конфиденциальности и не передавая много информации. Более того, это изменение состояния должно происходить законно, в противном случае происходит нарушение Политика конфиденциальности .

Криптографические методы, такие как доказательства с нулевым разглашением (ZKP), которые используют различные типы гомоморфного шифрования, разделяют:

1) прийти к заключению о состоянии дел

2) информация, необходимая для достижения этого состояния дел

3) показать, что это состояние действительно.

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

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

За пределами блокчейна существуют примеры гомоморфного шифрования на практике. CryptDB — это пример системы, которая использует гомоморфное шифрование и другие методы шифрования с сохранением атрибутов для безопасного запроса баз данных. Он используется в производстве в Google и Microsoft, среди прочих мест.

Однако у него есть ограничения: вам нужно заранее определить типы запросов, которые вы хотите, и легко допустить утечку данных. CryptDB обеспечивает конфиденциальность содержимого данных и имен столбцов и таблиц; однако CryptDB не скрывает общую структуру таблицы, количество строк, типы столбцов илипримерный размер данных в байтах. ONE из методов, который CryptDB использует для шифрования каждого элемента данных, — это onioning. Это позволяет размещать каждый элемент данных в слоях все более сильного шифрования.

Конфиденциальные подписи

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

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

Доказательства с нулевым разглашением (ZKP)

Доказательства с нулевым разглашением (ZKP) не являются чем-то новым. Впервые они были концептуализированы в 1985 году в статье «Сложность знаний интерактивных систем доказательств»https://groups.csail.mit.edu/cis/pubs/shafi/1985-stoc.pdf. ZKP — это криптографический метод, который позволяет двум сторонам (доказывающему и проверяющему) доказать истинность предложения, не раскрывая никакой информации об этом, кроме того, что оно истинно. В случае криптовалют и блокчейнов это, как правило, данные о транзакционной информации.

Доказательство с нулевым разглашением должно удовлетворять трем свойствам:

  • Полнота: если утверждение истинно, то честный проверяющий (то есть ONE , кто правильно следует протоколу) убедится в этом факте с помощью честного доказывающего.
  • Надежность:если утверждение ложно, то ни один доказывающий-недобросовестник не сможет убедить честного проверяющего в его истинности, за исключением случаев с небольшой вероятностью.
  • Нулевое разглашение: если утверждение истинно, ни один проверяющий-обманщик не узнает ничего, кроме этого факта. Это формализуется путем демонстрации того, что у каждого проверяющего-обманщика есть некий симулятор, который, имея только утверждение, которое нужно доказать (и не имея доступа к доказывающему), может создать транскрипт, который «LOOKS как» взаимодействие между честным доказывающим и проверяющим-обманщиком.

Первые два из них являются свойствами более общего характера.интерактивные системы доказательств. Третье — это то, что делает доказательство нулевым разглашением».

zk-SNARK

Zk-SNARK (Zero-knowledge Succinct Non-Interactive Arguments of Knowledge) — это доказательство с нулевым знанием, которое является способом доказать некоторый вычислительный факт о данных без раскрытия данных. Zk-SNARK — это базовый криптографический инструмент, используемый в Zcash и Hawk, которые оба строят блокчейны с ZKP, и оба будут объяснены позже. В случае Zcash эти SNARK используются для проверки транзакций, а в случае Hawk они используются для проверки смарт-контрактов. Это делается с сохранением Политика конфиденциальности пользователей.

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

Поскольку zk-SNARK можно быстро проверить, а доказательства небольшие, они могут защитить целостность вычислений, не обременяя неучастников. Следует отметить, что эта Технологии только начинает развиваться, но все еще имеет ограничения. Они очень сильно загружают процессор для генерации доказательств, и на генерацию новых доказательств уходит до 1 минуты, поэтому масштабирование все еще является проблемой, которую необходимо решить.

Самыми первыми точками данных для zk-SNARK станет Zcash , представляющий собой комбинацию распределенного состояния и доказательства того, что вы владеете активами.

Zcash

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

Zcash использует SNARKs (ZKPs) для шифрования всех данных и предоставляет ключи дешифрования только авторизованным сторонам для просмотра этих данных. До сих пор это было невозможно сделать в публичном блокчейне, потому что если бы вы шифровали все в прошлом, это не позволило бы майнерам проверять, являются ли транзакции действительными. ZKPs сделали это возможным, позволив создателю транзакции сделать доказательство того, что транзакция верна, не раскрывая адрес отправителя, адрес получателя и сумму транзакции.

Zooko описывает это так: у Bitcoin есть 3 столбца, которые являются тремя упомянутыми выше (адрес отправителя, адрес получателя, сумма транзакции), а у Zcash их 4. Доказательство 4-го столбца T знает адрес отправителя, адрес получателя и переведенную сумму, но оно знает, что никто не мог создать доказательство, которое идет с зашифрованными значениями, если у него нет Secret ключа, имеющего достаточную ценность для покрытия суммы транзакции. Это доказательство того, что данные внутри шифрования правильно удовлетворяют конструкциям валидности. Это позволяет предотвратить двойные траты и транзакции меньше нуля.

Zcash в основном такой же, как Bitcoin. Майнеры и полные узлы являются валидаторами транзакций. Zcash использует POW, в котором майнеры проверяют ZKP, прикрепленные к каждой транзакции, и получают вознаграждение за проверку этих транзакций. Полные узлы такие же, за исключением того, что если у вас есть закрытые ключи, вы можете определить, есть ли в некоторых транзакциях деньги, которые там Для вас. SNARKs делает это так, что майнеры могут отклонить транзакцию от кого-то, если их закрытый ключ T имеет достаточно денег для этой транзакции.

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

Некоторые отличия отZcash технический документ включать:

«Ценность в Zcash передается посредством банкнот, в которых указывается сумма и ключ оплаты. Ключ оплаты является частью адреса оплаты, который является пунктом назначения, на который могут быть отправлены банкноты. Как и в Bitcoin, он связан с закрытым ключом, который можно использовать для траты банкнот, отправленных на адрес; в Zcash это называется ключом траты.

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

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

Zcash — это то, что известно как децентрализованные анонимные платежные схемы (схемы DAP). Схема DAP позволяет пользователям напрямую платить друг другу конфиденциально: соответствующая транзакция скрывает источник платежа, назначение и переведенную сумму.

В Zcash транзакции составляют менее 1 Кбайт и требуют менее 6 мс для проверки — на порядки эффективнее, чем менее анонимный Zerocoin и конкурентоспособнее Bitcoin. Однако достигнутая Политика конфиденциальности значительно выше, чем в Bitcoin. Деанонимизация Bitcoin стала намного проще благодаря сервисам, которые отслеживают и контролируют перемещения Bitcoin и связанные с ними данные. Сервисы миксеров позволяют менять монеты по мере их перемещения по системе через центральную сторону, но этого все еще недостаточно.

TheZcash технический документговорится:

«[М]иксы страдают от трех ограничений: (i) задержка возврата монет должна быть большой, чтобы можно было смешать достаточно монет; (ii) микс может отслеживать монеты; и (iii) микс может украсть монеты. Для пользователей, которым «есть что скрывать», эти риски могут быть приемлемыми. Но типичные законопослушные пользователи (1) хотят KEEP свои привычки расходов в тайне от своих коллег, (2) не склонны к риску и не желают прилагать постоянные усилия для защиты своей Политика конфиденциальности, и (3) часто недостаточно осведомлены о своей скомпрометированной Политика конфиденциальности».

Главные мотивы для ZKP и протокола Zcash : 1) Политика конфиденциальности и 2) взаимозаменяемость. Взаимозаменяемость — это возможность заменять отдельные единицы чего-то вроде товара или денег на равную сумму. Это может стать реальной проблемой, когда некоторые единицы стоимости считаются менее ценными, поскольку они считаются «грязными». Скрытие истории метаданных T позволяет торговцу или бирже отклонить монету с плохой историей. Грегори Максвелл сказал: «Недостаточная Политика конфиденциальности также может привести к потере взаимозаменяемости — когда некоторые монеты считаются более приемлемыми, чем другие, — что еще больше подорвет полезность биткоина как денег».

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

Использование ZCash передовых криптографических методов сопряжено со значительными рисками. Криптографическая атака, которая позволяет подделывать доказательства с нулевым разглашением, позволит злоумышленнику незаметно создавать неограниченную валюту и обесценивать ценность Zcash. Атаки такого рода были обнаружены и устранены в недавнем прошлом. К счастью, методы сокрытия метаданных, используемые в протекторе Zcash , более защищены от производственных нагрузок и могут считаться менее рискованными.

Ястреб

Эндрю Миллер в своемтехнический документ: "Hawk: Блокчейн-модель криптографии и смарт-контракты, сохраняющие конфиденциальность«разработала программируемую систему смарт-контрактов, которая работает во многом так же, как Zcash для смарт-контрактов.

Hawk не хранит финансовые транзакции в блокчейне и сохраняет в тайне код кода контракта, данные, отправленные в контракт, и деньги, отправленные и полученные контрактом от общественности. Видно только доказательство, а вся остальная полезная информация скрыта. Как и в Zcash, прозрачность в Hawk избирательна и T должна использоваться всеми смарт-контрактами, а основана на вариантах использования и предпочтениях вовлеченных сторон. Он также направлен на решение проблем Политика конфиденциальности и взаимозаменяемости во многом так же, как и протокол Zcash .

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

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

По словам Эндрю Миллера, Hawk основан на нескольких криптографических примитивах. Он использует ту же библиотеку доказательства с нулевым разглашением, что и Zcash, которая называется libsnark. Hawk также использует пользовательские реализации хэш-функции на основе решетки и шифрование с открытым ключом. Hawk использует инструмент jSnark с открытым исходным кодом.

В Hawk каждая сторона генерирует свои собственные Secret ключи. Миллер заявил, что:«Для каждого контракта также существует доверенный публичный параметр, аналогичный Zcash. Единственный способ сгенерировать эти параметры — это процесс, включающий генерацию Secret значения на промежуточном этапе, которое необходимо стереть в конце протокола. Если использовать термин Zcash, это похоже на «токсичные отходы, побочный продукт» процедуры настройки, и, как и все промышленные отходы, его необходимо надежно утилизировать. Есть много вариантов... мы могли бы сделать то, что делает Zcash , и использовать многосторонние вычисления для генерации этих параметров, просто позволить доверенной стороне сделать это (доверенную сторону нужно использовать только один раз, и после этого она может отключиться), или использовать доверенное оборудование, такое как SGX».

Миллер сказал, что между контрактами Ethereum и контрактами Hawk есть некоторые различия. В отличие от Ethereum, языком ввода для частных контрактов в Hawk является код C. Частный контракт Hawk — это не долгосрочный процесс с сохранением состояния, как контракт Ethereum , а скорее одноразовый контракт, который выполняется поэтапно, где сначала он получает входные данные от каждой стороны, а затем вычисляет выходные данные для каждой стороны. После вычисления выходных данных контракт завершается и больше не содержит никакого баланса. Таким образом, это немного другая вычислительная модель. Hawk поддерживает как частные контракты, описанные выше, так и публичные контракты, которые в точности похожи на те, что есть в Ethereum. (Однако для публичных контрактов не предоставляются гарантии Политика конфиденциальности ).

Как и в Zcash, существуют некоторые проблемы с масштабированием блокчейна и оптимизацией криптографических схем, чтобы они были эффективными при использовании ZKP. Hawk пытается выполнять как можно больше вычислений вне цепочки. Это делается потому, что в публичных блокчейнах вычисления в цепочке реплицируются на каждый узел и значительно замедляют работу. Создание доказательства может занять до нескольких минут (что долго) и может быть дорогостоящим. Узлы, проверяющие доказательство, тратят на это всего миллисекунды. Данные из whitepaper: В Hawk на каждого участника контракта Hawk уходит около минуты процессорного времени. Вычисления в цепочке занимают около 9–20 миллисекунд.

Hawk пока не объявила дату релиза, поскольку они все еще работают над оптимизацией своих инструментов компиляции snark для повышения производительности.

Государственные каналы

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

Виталик Бутерин объясняет это в своей статье для R3CEV "Обзор платформы Ethereum"

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

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

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

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

Нужен ли вообще блокчейн? Нужен ли консенсус?

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

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

ZKP и блокчейны дополняют друг друга. Вы T можете просто использовать ONE для замены другого. Блокчейн используется для того, чтобы убедиться, что вся сеть может согласиться с некоторым состоянием, которое может быть зашифровано или нет. ZKP позволяют вам быть уверенным в некоторых свойствах этого состояния. В этом сценарии вам все еще нужен канонический источник истины. Ключ просмотра, который раскрывает все входящие транзакции, но не исходящие. Для того, чтобы это произошло, вам нужен полностью децентрализованный реестр с консенсусом, где все согласны с записанными там данными.

Например, Zcash имеет данные, содержащие информацию, которая бесполезна и нечитаема для большинства участников. Это база данных обязательств и непрозрачных фрагментов данных. Это просто способ синхронизации данных между участниками. (Зуко Уилкокс публично заявил, что если бы Chainalysis изобразил это в виде графика, то это была бы просто серия временных меток того, когда произошла транзакция.) В случаях, когда количество транзакций невелико, то атаки по времени могут раскрыть отправителя транзакций, представьте, что это эквивалентно всего ONE узлу, подключенному к сети Tor.

Настоящий акцент делается на стороне кошелька для участников, потому что это позволяет им тратить деньги и перемещать активы, в Bitcoin вы можете взять закрытый ключ и перемещать Bitcoin. Теперь это больше. Это закрытый ключ и набор секретов, которые вы KEEP , чтобы доказать предыдущее доказательство и сгенерировать новое доказательство, которое вы используете, чтобы убедить других. Для этого необходим полностью децентрализованный реестр с консенсусом, где все согласны с записанными там данными.

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

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

Как вы генерируете доказательство и передаете эту информацию следующему человеку? Ключ в том, чтобы получить полномочия транзакции, добавив доказательство или метаданные к транзакции с некоторым типом условного сценария (если тогда операторы для принятия транзакции). Этот код содержит правила валидности транзакции. Человек видит доказательство извне, но он T знает, было ли само правило запущено или нет.

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

Ограничения

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

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

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

Эта статья ранее была опубликована на сайте автораблог и была переиздана здесь с разрешения.

Раскрытие информации:CoinDesk является дочерней компанией Digital Currency Group, которая владеет долей в Zcash.

Замки и ключи изображениечерез Shutterstock

Nota: Le opinioni espresse in questa rubrica sono quelle dell'autore e non riflettono necessariamente quelle di CoinDesk, Inc. o dei suoi proprietari e affiliati.

George Samman

Джордж Сэмман — соучредитель и главный операционный директор <a> BTC.sx</a>, первой в мире торговой платформы только для биткоинов. Он бывший старший портфельный менеджер и рыночный стратег Уолл-стрит, а также технический аналитик. Он имеет звание сертифицированного технического специалиста по рынку (CMT). Опытный трейдер, Джордж имеет более восьми лет опыта работы на финансовых Рынки.

Picture of CoinDesk author George Samman