Недавно (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 Безопасные многосторонние вычисления (перевод здесь)
5.6 Разделение секрета (перевод здесь)
5.7 Схема обязательств (перевод здесь)
5.8 Аккумулятор (перевод здесь)
5.9 Забывчивая передача (перевод здесь)
5.10 Забывчивая оперативная память (перевод здесь)
5.11 Доказательство возможности восстановления (POR)
С появлением облачных вычислений клиент может передать свои данные в облако, но все же клиенту нужна гарантия того, что старые данные не были изменены или удалены. Этого можно достичь, используя доказательство возможности восстановления [159], которое представляет собой интерактивный механизм между клиентом (проверяющим) и сервером (доказывающим), где сервер предоставляет клиенту компактное доказательство того, что его/ее данные не повреждены и что он/она может восстановить данные в любой момент времени. В этом направлении для проверки доказательства клиент должен быть оснащен устройствами, имеющими некоторую вычислительную мощность и доступ к сети. Это требование препятствует широкомасштабному внедрению POR пользователями облака. Чтобы решить эту проблему, вводится аутсорсинговое доказательство возможности восстановления (OPOR) [160], когда внешние аудиторы проверяют POR с облачным провайдером от имени клиентов. Спецификация протокола OPOR использует функциональные возможности Bitcoin в качестве строительных блоков.
Permacoin [112] использует доказательство возможности восстановления. Основная цель Permacoin — распределенное хранение архивных данных. Как и в механизме майнинга Bitcoin, клиент постоянно инвестирует свои вычислительные мощности, и в дополнение к вычислительным мощностям инвестируется его/ее хранилище. Как следствие, Permacoin требует накладных расходов на хранение и высокой пропускной способности. Чтобы решить эти проблемы, Retricoin [113] предлагает перепрофилировать работу майнинга, чтобы обеспечить возможность извлечения большого файла в любой момент времени. Retricoin также предлагает майнерам новый алгоритм коллективного майнинга. Storj [114] также использует POR для доказательства существования новой копии шарда на стороне хранилища. В результате POR можно использовать во многих криптовалютах и блокчейн-приложениях.