Конфиденциальность: обзор стратегий частного решения
В этой статье мы определяем, что такое частное решение, объясняем, почему мы заботимся о нем, и обсуждаем различные подходы, которые можно использовать для повышения конфиденциальности на этапе выявления контрагентов.
Введение намерений вывело процесс создания, совместного использования и сопоставления намерений на уровень протокола: протоколы, ориентированные на транзакции, ожидают, что пользователи будут отправлять транзакции в качестве входных данных, а намерения выходят за рамки; Протоколы, ориентированные на намерения, ожидают, что пользователи отправят намерения, и сопоставление намерений становится частью протокола. Если протокол, ориентированный на намерения, также сохраняет конфиденциальность, как и протокол Anoma, на этапе сопоставления намерений возникает вопрос конфиденциальности.
Как перейти от желания чего-то (вашего намерения) к фактическому получению этого (расчетная сделка)? В контексте Аномы этот процесс можно примерно описать следующим образом:
выразить то, что вы хотите, как намерение,
поделиться намерением
намерение совпадает с намерением других пользователей' намерения; в результате совпадения производится транзакция
сделка урегулирована
Этот процесс можно условно разделить на две фазы: фазу обнаружения контрагента (намерение → транзакция) и фазу расчета (транзакция → урегулированная транзакция).
Конфиденциальность расчетов и конфиденциальность при обнаружении контрагентов
Как нам добиться конфиденциальности на этих этапах? Конфиденциальность на этапе расчета хорошо понятна: над ней работали много лет, прекрасныерешения, которые позволяют для создания защищенных транзакций и обеспечения контроля информационных потоков. С этапом обнаружения контрагентов все гораздо менее ясно, главным образом потому, что пока просто не существует действующих обобщенных протоколов, ориентированных на намерения, не говоря уже о протоколах, сохраняющих конфиденциальность.
Конфиденциальность обнаружения контрагентов по существу относится к конфиденциальности в контексте обмена намерениями с решателями. Поскольку решатели — это субъекты, которые удовлетворяют намерения, им необходимо знать, чего вы хотите, что не очень хорошо согласуется с идеей конфиденциальности — почему я должен кому-то рассказывать, чего я хочу? Таким образом, вопрос о конфиденциальности информации о контрагентах заключается в следующем: как мы можем сказать кому-то, чего мы хотим, не сообщая им на самом деле, чего мы хотим?
Мы рассмотрели различные способы, которые потенциально можно использовать для обеспечения конфиденциальности на этапе обнаружения контрагентов.
Настраивать
Мы рассматриваем два типа участников:
решатели, участники, которые решают намерения. У решателей есть стратегии решения, которые могут быть общедоступными или частными
пользователи, участники, у которых есть намерения и которые хотят, чтобы они были решены. Пользователи' намерения конфиденциальны
Цель состоит в том, чтобы создать протокол, в котором пользователи отправляют некоторые неконфиденциальные данные, полученные из намерений (например, зашифрованные намерения), решателям, а решатели сопоставляют намерения и выводят защищенные транзакции.
Подходы и результаты
Мы рассмотрели различные криптографические подходы:
ТРОЙНИК,
многосторонние вычисления,
ФХЭ,
шифрование свидетеля,
функциональное шифрование,
шифрование с возможностью поиска,
и совместные SNARK,
а также некоторые некриптографические способы решения проблем.
Добро
ТРОЙНИК
Доверенная среда выполнения, или TEE, относится к изолированной среде аппаратного вычислительного устройства, которая позволяет выполнять безопасные вычисления. Чтобы разрешить частное решение, стратегия решателя загружалась в TEE, пользователи отправляли свои зашифрованные намерения, которые расшифровывались в TEE и обрабатывались стратегией решения, выводя защищенную транзакцию.
Обратной стороной пути TEE является то, что доверять TEE как основному источнику безопасности может быть неоптимально из-за количества существующих и постоянно обнаруживаемых уязвимостей.
Многосторонние вычисления, или MPC, позволяют нескольким сторонам совместно вычислять общедоступную функцию, используя некоторые частные данные (общие ресурсы), которые они не раскрывают. Чтобы реализовать частное решение с помощью MPC, пользователи должны сохранять свои намерения как частные общие ресурсы, а стратегия решателя будет закодирована в самом протоколе MPC.
Обратной стороной MPC является то, что он дорог и требует большого объема передачи данных, который растет с увеличением числа участников, сложности стратегии и объема вычислений, которые необходимо выполнить.
Полностью гомоморфное шифрование, или FHE, относится к типу шифрования, который позволяет выполнять произвольные вычисления над зашифрованными данными. FHE неприменим к задаче частного решения, поскольку решателем всегда может быть пользователь. Получая зашифрованные намерения других пользователей, решатели всегда могут создать свои собственные намерения и попытаться сопоставить их с намерениями пользователей' намерения. Если намерения совпадают, решателю становится известно намерение пользователя (оно противоположно тому, которое создал решатель), в противном случае решатель может повторять этот процесс до тех пор, пока не найдет намерение, соответствующее пользователю' намерение.
Обратите внимание, что в отличие от полностью гомоморфного шифрования, это не является основной проблемой для TEE и MPC, поскольку количество раз, которое одно намерение может быть проверено на соответствие другим намерениям, может быть программно ограничено в протоколе, ставя под угрозу конфиденциальность (разрешено меньше тестов → меньше шансов). для сопоставления) и гибкость (больше тестов приводит к более высоким шансам найти совпадение, которое может получить решатель).
Шифрование-свидетель и совместные SNARK не позволяют выполнять частные вычисления. Использование шифрования с возможностью поиска в нашем контексте приведет к тому, что ключевые слова поиска совпадут с защищаемыми данными. Функциональное шифрование на данный момент не кажется многообещающим.
Предостережения
Решатели — пользователи
Тот факт, что каждый решатель может быть пользователем, усложняет ситуацию. Сопоставленные контрагенты, естественно, узнают друг друга; намерения: если я хочу обменять апельсин на яблоко, и наши намерения совпадают, это означает, что вы намерены обменять яблоко на апельсин. Мы не хотим, чтобы решатели использовали эту возможность, чтобы угадать наши намерения, но мы также не можем запретить решателям быть пользователями.
Перекрытие фаз конфиденциальности
Поскольку выходными данными уровня обнаружения контрагентов является транзакция, а протокол Anoma обеспечивает конфиденциальность расчетов, эта транзакция защищена. Это означает, что какой бы подход мы ни выбрали, предполагается, что он задействует всю криптографию, необходимую для создания защищенных транзакций (ZKP, подписи, шифрование), организация которых может быть нетривиальной и дорогой.
Выводы
Частное решение – это сложно. Он не исследован, у него есть ограничения, но мы можем его улучшить. Помимо криптографических подходов, существуют различные некриптографические способы уменьшения объема общих данных, и лучшим решением, вероятно, будет комбинация обоих.
Подробный отчет о подходах к частному решению можно найти здесь