Энигма — знаменитая шифровальная машина, использовавшаяся в XX веке многими государствами. До поп-культуры темная страница истории «Энигмы» дошла через фильм «Игра в имитацию», повествующий об ее использовании нацистской Германией в ходе Второй Мировой войны («антидот» был разработан группой ученых под руководством Алана Тьюринга — машина для дешифровки получила название «Turing Bombe»).

Наши дни

Ученые из Массачусетского технологического института (MIT) — Гай Зюскинд и Алекс Пентланд — совместно с предпринимателем Озом Натаном, вдохновившись шифровальной мощью «Энигмы», назвали в ее честь собственное изобретение. Enigma — протокол приватности для создания децентрализованных приложений с функционалом секретных контрактов, который позволяет делиться чувствительной информацией с третьими сторонами, не ставя данные под угрозу и защищая их от правительственной слежки или разоблачения в результате хакерской атаки или утечки.

«Это можно представить как черный ящик. Вы отправляете любые данные, они попадают в черный ящик, а обратно выходит только результат. Настоящие данные никогда не разглашаются — ни вовне, ни компьютерам, которые осуществляют вычисления внутри», — рассказывает Гай Зюскинд, сотрудник Медиа-лаборатории MIT и CEO Enigma.

Создатели Enigma победили в конкурсе Summer Startup Competition, проводившемся MIT Bitcoin Project в 2014 году. «Ethos [команда Оза Натана, Гая Зюскинда и магистранта MIT Амира Лазаровича. — DeCenter.] поразил судей тем, что предоставил рабочий прототип децентрализованной сети для хранения и передачи личной информации, созданный на основе того амбициозного видения, которое они изложили в двух первых раундах», — говорилось в объявлении MIT Bitcoin Project.

«Блокчейны сломаны»

На вопрос «Зачем миру нужна Enigma?» команда проекта отвечает: «Блокчейны сломаны и мы их чиним. Наша технология позволяет создавать по-настоящему децентрализованные безопасные приложения, решая проблему приватности». По мнению членов проекта, «критически важным компонентом для успеха "смарт-экономики" и блокчейна» является способность децентрализованных приложений анализировать данные, сохраняя их полностью приватными. Для этого проект предлагает решение второго уровня, оффчейн-сеть с использованием «секретных контрактов», которые скрывают данные от нод сети. В механизме секретных контрактов реализована концепция «безопасных вычислений» — набор технологий, позволяющий производить вычисления с использованием зашифрованных данных.

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

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

Техническая сторона

Методы, применяемые в Enigma, отчасти схожи с механизмами Bitcoin. Enigma шифрует данные, расщепляя их на несколько компонентов и рандомно распределяя их по сотням компьютеров (нод) в сети Enigma. Затем каждая нода выполняет вычисления на основе полученного ею блока данных, и в итоге только сам владелец данных может «объединить результаты» вычислений каждой ноды, расшифровав их с использованием ключа дешифровки. Согласно white paper, «вычислительная модель Enigma основана на высоко оптимизированной версии безопасных мультисторонних вычислений, гарантированных подтверждаемой схемой разделения секрета», а для хранения общего секрета Enigma использует «модифицированную распределенную хэш-таблицу». «Я могу взять свой возраст — одну часть данных — и разделить его на множество частей и раздать их 10 людям. Если спросить каждого, то у них будут только рандомные куски. Лишь соединив достаточное количество этих кусков, они смогут расшифровать первоначальные данные», — поясняет Зюскинд.

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

Секретные контракты

Технология секретных контрактов находится в центре архитектуры Enigma и представляет собой тип смарт-контрактов для публичных блокчейнов, которые используют криптографические механизмы для сокрытия транзакционных данных. «Приватность на данный момент — самая серьезная преграда для принятия смарт-контрактов. Блокчейны сильны в точности, но из-за своего устройства слабы в приватности. Смарт-контракты и децентрализованные приложения должны уметь работать с приватной и чувствительной информацией, чтобы получить глобальное распространение», — сообщил представитель Enigma в разговоре с CoinDesk.

Демонстрацией уязвимостей сегодняшних смарт-контрактов стали хакерская атака на фонд The DAO, унесшая 3.6 миллиона эфира в 2016 году, и баг в библиотеке, отвечающей за работу смарт-контракта в кошельке Parity, который привел к заморозке 513,774 эфира в ноябре прошлого года.

В апреле, в посте на Medium, Гай Зюскинд подчеркнул недостатки существующих решений по защите приватности, включая протокол доказательства с нулевым разглашением (zero-knowledge proof), реализованный в анонимной криптовалюте ZCash. «Zero-knowledge proof полезен, когда сторона, имеющая доступ к данным, хочет подтвердить заявление перед другими, не раскрыв им свои данные. В случае, когда мы хотим доверить кому-то вычисления, часто при участии нескольких сторон, не существует участника, которому мы можем показать все наши данные», — пишет Зюскинд, то есть протокол неприменим, когда вычисления выполняют несколько «ненадежных и анонимных» сторон. Поэтому Зюскинд считает, что секретные контракты являются «недостающей деталью», позволяя выполнять вычисления с использованием зашифрованных данных, которые остаются скрыты от нод сети.

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

Партнерства и планы на будущее

Последнее заключенное стартапом партнерство было анонсировано в среду. Совместно с Intel Enigma намерена еще больше повысить приватность, внедрив технологию Intel Software Guard Extensions (SGX). Команды также проводят исследования в аспекте безопасной среды выполнения (TEE), которая является составной частью технологии Intel SGX и помогает обезопасить данные и код (TEE — пространство на процессоре устройства, отделенное от его операционной системы и отвечает за хранение и защиту данных в безопасной среде). В случае с Enigma, TEE будет помогать скрывать данные ото всей сети.

Согласно дорожной карте, первый релиз сети под кодовым именем Discovery будет представлен во втором квартале 2018 года и будет задействовать TEE. В 2019, во втором релизе — Voyager — будет интегрирована поддержка секретных контрактов.

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

Будучи участником «биржи стартапов» STEX 25 от MIT, Enigma планирует привлекать новых партнеров для реализации различных сценариев использования своего протокола.

Напомним, что первой реализацией Enigma стало приложение Catalyst — «библиотека алгоритмического трейдинга для крипто-активов» с использованием статистического анализа данных. В настоящий момент последняя версия Catalyst обеспечивает встроенную поддержку бирж, включая Bitfinex, Bittrex и Poloniex.

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