Прозрачность блокчейн является преимуществом во многих случаях, но есть также ряд случаев использования смарт-контрактов, которые требуют конфиденциальности по различным деловым или юридическим причинам, например, использование частных данных в качестве входных данных для запуска исполнения смарт-контракта.Все более распространенным способом достижения конфиденциальности в сетях блокчейн является доказательство с нулевым разглашением. Zero-Knowledge Proof - это метод, при котором одна сторона криптографически доказывает, что ей известна часть информации, не раскрывая фактической информации другой стороне. В контексте блокчейн-сетей единственная информация, раскрываемая в сети с помощью доказательства нулевого разглашения, заключается в том, что некоторая конфиденциальная информация является действительной и достоверно известна аттестуемому. Доказательство с нулевым разглашением было впервые определено в статье 1985 года "The Knowledge Complexity of Interactive Proof Systems", написанной Шафи Голдвассером и Сильвио Микали. В этой статье авторы показывают, что аттестующий может убедить проверяющего в истинности определенного утверждения о точке данных, не раскрывая никакой дополнительной информации об этих данных. Zero-Knowledge Proof может быть интерактивным, когда доказывающий убеждает конкретного проверяющего, но должен повторять этот процесс для каждого проверяющего, или неинтерактивным, когда доказывающий создает доказательство, которое может быть проверено любым человеком, использующим то же доказательство. Существует несколько реализаций доказательства нулевого знания, включая zk-SNARKS, zk-STARKS, PLONK и Bulletproofs, каждая из которых имеет свой размер доказательства транзакции, доказательство доказательства, время проверки и многое другое, работая с различными механизмами в своих системах. Три ключевые характеристики, определяющие Zero-Knowledge Proof, включают: Целостность: Если утверждение истинно, то честный верификатор знает правильные входные данные; может быть убежден честным проверяющим. Точность: Если утверждение ложно, то ни один нечестный верификатор не может в одностороннем порядке убедить честного верификатора в том, что он знает правильные входные данные. Нулевое разглашение: Если условие истинно, то проверяющий; из доказательства нельзя узнать ничего, кроме того, что утверждение истинно. На общем уровне создание доказательства с нулевым разглашением включает в себя то, что проверяющий просит проверяемого выполнить ряд действий, которые могут быть выполнены правильно только в том случае, если проверяемый знает основы. Если проверяющий только догадывается о результатах этих действий, то в конечном итоге проверка валидатора с высокой вероятностью докажет, что он ошибается. Концептуальный пример для интуитивного понимания доказательства нулевого разглашения таков: пусть имеется пещера с путями A и B, которые имеют один вход, но соединяются с общей дверью, запертой на пароль. Алиса хочет сообщить Бобу, что она знает пароль к двери, но пытается доказать это, не раскрывая Бобу код. Для этого Боб стоит снаружи пещеры, а Алиса выбирает один из двух путей и идет через пещеру, не зная, в какую сторону идти. Затем Боб просит Алису пройти по одному из двух путей к входу в пещеру. Если Алиса изначально выбрала путь А к двери, но Боб просит ее вернуться по пути В, то единственный способ завершить головоломку - это чтобы Алиса знала пароль к запертой двери. Как только это будет сделано, у Боба появится высокая степень уверенности в том, что Алиса знает пароль к двери, не раскрывая его Бобу. Это концептуальный пример, доказательство нулевого знания применяет ту же стратегию, но использует криптографию для доказательства знания о точке данных без раскрытия этой точки данных. Пусть будет вычислительная схема, которая выводит значение на кривой для заданного входа. Если любой пользователь может последовательно дать правильный ответ на точку на кривой, то можно быть уверенным, что пользователь обладает некоторыми знаниями о кривой, поскольку с каждым последующим запросом вероятность того, что он угадает правильный ответ, становится все больше и больше. Рассматривая схему как путь, по которому Алиса идет через пещеру, если она может пройти через схему с входом, это доказывает высокую вероятность того, что она обладает некоторым знанием пароля схемы. Возможность доказать знание о точке данных, не раскрывая никакой дополнительной информации, а также информацию о данных, обеспечит ряд важных преимуществ, особенно в контексте сетей блокчейн. Первое преимущество Zero-Knowledge Proof - это возможность использовать наборы данных, сохраняющие конфиденциальность, в таких сетях, как Ethereum. В то время как блокчейн разработан для обеспечения высокой прозрачности, когда любой человек, запустивший свой собственный узел блокчейна, может увидеть и загрузить все данные, хранящиеся в реестре, добавление технологии Zero-Knowledge Proof позволяет пользователям и предприятиям использовать частные наборы данных и базовые данные при выполнении смарт-контрактов, не раскрывая их. Обеспечение конфиденциальности в сетях блокчейн имеет решающее значение для традиционных организаций, таких как компании цепочки поставок, предприятия и банки, которые хотят взаимодействовать и запускать смарт-контракты, но должны сохранять свои коммерческие тайны в тайне, чтобы конкурировать. Кроме того, такие организации часто обязаны защищать персональную идентифицируемую информацию (PII) своих клиентов и соблюдать такие нормативные акты, как Общий регламент защиты данных Европейского союза (GDPR) и Закон США о переносимости и подотчетности медицинского страхования (HIPAA). В то время как сети блокчейн появились как средство защиты конфиденциальности транзакций для предприятий, Zero-Knowledge Proof позволяет предприятиям безопасно взаимодействовать с сетями blockchain, которые часто приносят пользу пользователям со всего мира, не отказываясь от конфиденциального контроля. Технология Zero-Knowledge Proof успешно преодолевает широкий спектр сценариев использования предприятиями ранее недоступных сетей блокчейн и стимулирует инновации. Zero-Knowledge Proof используется в таких блокчейнах, как Zcash, чтобы позволить пользователям создавать транзакции с сохранением конфиденциальности, в которых денежная сумма, адреса отправителя и получателя остаются приватными. Децентрализованные сети оракулов, предоставляющие смарт-контрактам доступ к данным и вычислениям вне блокчейн, могут использовать Zero-Knowledge Proof для доказательства некоторой истины о точке данных вне сети (офф-чейн) без раскрытия базовых данных на блокчейне. Одним из вариантов реализации решения оракула на основе доказательства нулевого разглашения, находящегося в стадии разработки, является сохраняющий конфиденциальность протокол оракула DECO в рамках сервиса безопасных офф-чейн вычислений Chainlink Network. DECO расширяет HTTPS/TLS, наиболее распространенный протокол, используемый для передачи данных через Интернет, обеспечивая конфиденциальность и неизменность данных при доставке из различных проприетарных и премиальных источников данных. DECO работает с современными версиями TLS, не требует надежного оборудования и работает в обратно совместимой манере без модификаций на стороне сервера. Узлы оракулов Chainlink с поддержкой DECO могут доказать истинность данных, полученных от доверенных серверов, не раскрывая данные в сети блокчейн, а также доказать происхождение данных, поскольку сеть хранения TLS защищена. Как и DECO, Zero-Knowledge Proof позволяет использовать широкий спектр вариантов применения смарт-контрактов, включая кредиты под залог, когда заемщики фактически создают высокозащищенные учетные данные, подтверждающие их кредитоспособность с сохранением конфиденциальности. В частности, заемщики могут генерировать эти учетные данные на основе записей из авторитетных онлайн-источников, таких как учреждения-резиденты, не раскрывая потенциально конфиденциальные данные, такие как имя, местоположение или точное значение кредитного балла. DECO также может использоваться для создания децентрализованных протоколов идентификации (DID), таких как CanDID, где пользователи могут получать и управлять своими собственными учетными данными, а не полагаться на централизованную третью сторону. Такие учетные данные подписываются организациями, называемыми издателями, которые могут авторитетно связывать с пользователями такие данные, как гражданство, род занятий, университетские степени и многое другое. DECO позволяет любому существующему веб-серверу стать издателем и обеспечивает управление совместным использованием ключей для резервного копирования учетных записей, а также защищающую конфиденциальность форму защищённую от атаки Сивиллы, основанную на точных уникальных идентификаторах, таких как SSN. Решения Zero-Knowledge Proof, такие как DECO, не только приносят пользу пользователям, но и позволяют традиционным учреждениям и поставщикам данных в частном порядке монетизировать собственные и конфиденциальные наборы данных. Вместо того чтобы публиковать данные непосредственно в сети блокчейн, необходимо публиковать только подтверждения, полученные с помощью Zero-Knowledge Proof, которые подтверждают факты о данных. Это открывает новые рынки для поставщиков данных, которые могут монетизировать существующие наборы данных и увеличить свой доход, обеспечивая при этом нулевую утечку данных. В сочетании с Chainlink Mixicles конфиденциальность выходит за рамки исходных данных, которые обеспечивают выполнение контракта, и включает в себя условия контракта. Сочетая прозрачность сетей блокчейн с сохранением конфиденциальности Zero-Knowledge Proof, предприятия и учреждения могут пользоваться лучшими преимуществами обеих экосистем. Это и многое другое будет доступно в будущем. Телеграм канал про web3 разработку, смарт-контракты и оракулы.