Многосторонние вычисления (MPC)

Что такое безопасные многосторонние вычисления (MPC/SMPC)?

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

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

Как работает метод MPC?

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

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

Простой пример схемы многосторонних вычислений (MPC).
Простой пример схемы многосторонних вычислений (MPC).

Рассмотрим, как такой метод применятся в области криптовалют:

Всякий раз, когда блокчейн-транзакция требует подписи, по крайней мере три участника процесса (минимум 3) должны участвовать в вычислении распределенной подписи. Ввиду того, что закрытый ключ никогда не доступен целиком ни одному из участников, MPC может обеспечивает дополнительный уровень защиты закрытого ключа.

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

Области применения MPC в области криптовалют

  • Блокчейн-приложения. Технологические схемы с пороговой подписью (или мультиподписью) являются подполем многосторонних вычислений и могут выполнять те же функции, что и закрытый ключ в блокчейне, включая генерацию общедоступных адресов и подписание транзакций.

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

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

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

История развития технологии

Считается, что данный метод зародился в 80-х годах, когда китайский ученый Эндрю Яо впервые применил и представил безопасные многосторонние вычисления. Дальнейшее развитие MPC:

  • 1982-1986. Для решения знаменитой «Проблемы миллионера», Эндрю Яо ввел адаптировал многосторонние вычисления к любому расчету с участием двух сторон.
  • 1987. Одед Голдрайх, Ави Вигдерсон и Сильвио Микали выпустили протокол Гольдрайха-Микали-Вигдерсона, адаптирующий двухсторонние вычисления к многостороннему алгоритму.
  • 1990-е. Дополнительные исследования технологии MPC привели к нескольким прорывам, одним из которых стала возможность выполнения вычислений на менее мощных устройствах, в том числе мобильных.
  • 2008. Состоялось первое практическое масштабное применение MPC на закрытом аукционе сахарной свеклы в Дании.
  • 2015. После значительного роста числа взломов криптовалютных кошельков, компании, специализирующие на хранении криптовалютных активов начинают использовать MPC для защиты закрытых ключей.
  • 2019. Команда Fireblocks представила первый автоматический алгоритм MPC с однократным обновлениям ключа под названием MPC-CMP.