Недавно (20 июня 2019 года) на Cryptology ePrint Archive была опубликована статья "SoK of Used Cryptography in Blockchain". Данный пост - двадцатый в запланированной серии, содержащей любительский перевод этой статьи.
Систематизация знаний по используемой криптографии в блокчейне
(перевод с английского
статьи
Mayank Raikwar, Danilo Gligoroski and Katina Kralevska
SoK of Used Cryptography in Blockchain
Cryptology ePrint Archive, Report 2019/735
https://eprint.iacr.org/2019/735)
Аннотация
(перевод аннотации здесь)
1 Введение (перевод введения здесь)
1.1 Наш вклад (перевод здесь)
2 Методология исследования (перевод здесь)
3 Основные понятия блокчейна
3.1 Криптографическая хэш-функция (перевод здесь)
3.2 Механизмы консенсуса (перевод здесь)
3.3 Сетевая инфраструктура (перевод здесь)
3.4 Типы блокчейна (перевод здесь)
4 Проблемы в блокчейн
4.1 Безопасность и приватность (перевод здесь)
4.2 Проблемы масштабируемости (перевод здесь)
4.3 Форкинг (перевод здесь)
4.4 Производительность (перевод здесь)
4.5 Энергопотребление (перевод здесь)
4.6 Инфраструктурные зависимости (перевод здесь)
5. Обзор используемых криптографических понятий в блокчейне
5.1 Схема подписи (перевод здесь)
5.2 Доказательства с нулевым разглашением (перевод здесь)
5.3 Контроль доступа (перевод здесь)
5.4 Схема шифрования (перевод здесь)
5.5 Безопасные многосторонние вычисления
Безопасные многосторонние вычисления позволяют сторонам действовать сообща таким образом, что ни одна сторона не имеет доступа ко всем данным, и, следовательно, никто не может раскрыть какую-либо секретную информацию. Основная идея схемы безопасных многосторонних вычислений состоит в совместном вычислении функции сторонами над их входными данными без раскрытия их входных данных. Например, группа людей может рассчитать среднюю заработную плату группы, не раскрывая фактическую индивидуальную заработную плату. Блокчейн-платформа Enigma [117] использует концепцию безопасных многосторонних вычислений для обеспечения надежной приватности. В платформе Enigma сеть блокчейна объединена с сетью безопасных многосторонних вычислений, где сеть блокчейна содержит хеши, а сеть безопасных многосторонних вычислений содержит данные, соответствующие тем хешам, которые разделены между разными узлами. Для каждого узла представление о сети безопасных многосторонних вычислений отличается, поскольку каждый имеет разную информацию. В частности, каждый узел содержит случайный фрагмент данных, и ни одна сторона никогда не имеет доступа ко всем данным.
Блокчейн-модель Hawk [118] для смарт-контрактов с сохранением приватности также определяет использование безопасных многосторонних вычислений для минимизации доверия к генерации общей ссылочной строки (common reference string (CRS)) в доказательстве SNARK, используемом в модели. Безопасные многосторонние вычисления также можно использовать для хранения частных данных в децентрализованной системе, такой как Keep [151]. Keep предоставляет решение для хранения данных, ориентированное на приватность, для Ethereum. В этой системе сетевые узлы сотрудничают, чтобы обеспечить безопасные децентрализованные контейнеры данных, называемые хранилищами, к которым можно получить доступ из смарт-контрактов на Ethereum.
Рисунок 9: Механизм межсетевой передачи блокчейна с использованием безопасных многосторонних вычислений
Применение безопасных многосторонних вычислений также можно увидеть в межсетевой сети Wanchain [116]. Рисунок 9 отражает идею безопасных многосторонних вычислений в модели межсетевого переноса. В сети Wanchain, если пользователь А хочет отправить актив (скажем, ETH) из одной цепочки блоков (скажем, цепочки Ethereum) пользователю B в цепочке блоков Wanchain, то сначала стоимость актива блокируется в учетной записи в исходной цепочке с использованием смарт-контракта. Этот заблокированный счет контролирует средства. Эквивалентный токен WETH отправляется другому пользователю B сети Wanchain. Когда пользователь B хочет конвертировать свои WETH в ETH, заблокированная сумма освобождается из заблокированной учетной записи и отправляется пользователю B, а эквивалентная часть WETH сжигается. Эти блокировки и разблокировки стоимости активов (ETH) происходят с использованием безопасных многосторонних вычислений. Wanchain имеет концепцию узлов Storeman, которые работают вместе и выполняют блокировку и разблокировку учетной записи. Эти узлы Storeman совместно работают над созданием пары открытого и закрытого ключей связанной заблокированной учетной записи. Этот закрытый ключ общей учетной записи разбросан по узлам Storeman как части ключа. Чтобы разблокировать учетную запись, M из N (M <= N) узлов Storeman вносят свои доли закрытого ключа для совместного создания подписи с использованием многосторонних вычислений.