Author

Topic: Технологии конфиденциальности Биткойна (Read 357 times)

legendary
Activity: 1148
Merit: 1051

    Основная работа: Zerocash: Decentralized Anonymous Payments from Bitcoin в IEEE Security and Privacy (Окленд), 2014 г.
    Предыдущая работа: Zerocoin: Anonymous Distributed E-Cash from Bitcoin в IEEE Security and Privacy (Окленд), 2013 г.
    Более безопасная установка: Secure Sampling of Public Parameters for Succinct Zero Knowledge Proofs в IEEE Security and Privacy (Окленд), 2015 г.

Аргументы zkSNARK освещались многими независимыми изданиями.

Контролируемость кода. CT является протоколом с открытым исходным кодом. Код ZC протокола еще не общедоступный, хотя один из его основных компонентов, libsnark, в настоящее время имеет открытый исходный код.

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

Создатели ZC намерены выпустить прототип с открытым исходным кодом.

Настройка параметров. CT отличается очень простой схемой одноразового выбора первоначального параметра, который поддается общему методу отбора по принципу «без сюрпризов в рукаве». Zerocash предоставляет сложную разовую первоначальную настройку параметров, уязвимую к компрометации.

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

Confidential Transactions и Zerocash — два протокола, предназначенные для повышения уровня конфиденциальности регистров. Confidential Transactions защищает только информацию о сумме транзакции, тогда как Zerocash также защищает адреса отправителя и получателя.

В Zerocash все монеты равны, а значения действительно взаимозаменяемы. Пользователи получают безопасность по схеме «все или ничего», и эта безопасность обеспечивается только на одном уровне. Confidential Transactions предоставляет большую гибкость использования. Пользователи могут настраивать безопасность в соответствии со своими потребностями, в результате чего транзакции различны и имеют историю. Кроме этого, пользователям (или их ПО) необходимо управлять рядом уровней безопасности.

С общесистемной точки зрения безопасность по схеме «все или ничего» в Zerocash означает, что все пользователи получают высокую степень конфиденциальности, даже если она не критически важна для них. В Confidential Transactions возможно, чтобы высокий уровень конфиденциальности получали только пользователи с соответствующей потребностью, а если круг таких пользователей очень узок, это может поставить под угрозу их конфиденциальность.

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

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

http://bitnovosti.com/2015/06/29/privacy-technologies-for-bitcoin/
legendary
Activity: 1148
Merit: 1051
Технологии конфиденциальности Биткойна

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

    «В Least Authority наша цель — обеспечить каждому пользователю Интернета гарантированную и гибкую систему безопасности. В рамках этой цели мы работаем над решением, которое пока еще не можем анонсировать, но оно включает в себя протокол Zerocash для частных Биткойн-транзакций.

    — Зуко Вилкокс-О’Хэрн (Zooko Wilcox-O’Hearn), основатель и генеральный директор LeastAuthority.

Недавно компания Blockstream анонсировала проект Sidechains Elements, который предусматривает использование протокола обеспечения конфиденциальности под названием Confidential Transactions. Мы пригласили главного разработчика концепции Грега Максвелла (Greg Maxwell) и создателей протокола Zerocash, чтобы помочь нам объяснить различия протоколов Confidential Transactions и Zerocash.

Вкратце, протокол Zerocash предлагает такие свойства конфиденциальности, которые не может предложить Confidential Transactions. Прежде всего, Confidential Transactions защищает только суммы транзакций, тогда как Zerocash также защищает адреса отправителя и получателя за счет дополнительных криптографических инноваций. Кроме того, они отличаются и другими техническими и криптографическими решениями.
Обзор

Zerocash (ZC) и Confidential Transactions (CT) — протоколы, которые могут использоваться для повышения уровня конфиденциальности любой системы учета, будь то сайдчейны Биткойна, централизованные реестры или сам Биткойн. Протокол Zerocash был представлен в качестве предлагаемого расширения Биткойна или подобных ему систем, а Confidential Transactions — в качестве потенциальной функции сайдчейна Биткойна, являющейся частью так называемых «элементов» Blockstream.

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

Протокол Zerocash, напротив, обеспечивает полную конфиденциальность как размера транзакции, так и ее участников.

Наконец, существенное различие верхнего уровня между этими двумя протоколами заключается в том, что Confidential Transactions имеет гибкие параметры безопасности каждой транзакции, тогда как Zerocash обеспечивает единый уровень безопасности для всей системы. Это может привести к значительным системным воздействиям.

Разъяснение

Конфиденциальность. Confidential Transactions скрывает величину транзакции, тогда как Zerocash скрывает всю информацию транзакции (за исключением времени выполнения).

Как Zerocash, так и Confidential Transactions скрывают суммы денег, переданных в транзакции. Однако CT не скрывает адреса отправителя и получателя. Поэтому методы, включенные в «Анализ графика транзакций», такие как [а], [б], [в], [г] и [д], по-прежнему потенциально могут быть использованы для подключения к конечным точкам и их отслеживания, например, как это делают биржи.

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

Гибкость использования. Протокол Zerocash обеспечивает безопасность по схеме «все или ничего». Есть только один уровень безопасности, который обеспечивает конфиденциальность в случае несанкционированного доступа к информации как о суммах, так и об адресах отправителя и получателя. Пользователи не могут изменить это.

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

Confidential Transactions, напротив, позволяет задать отдельный уровень безопасности для каждой транзакции. Пользователи могут пожертвовать некой степенью конфиденциальности ради сокращения издержек [6].

Это принципиальное отличие, которое влияет на удобство использования, поведение системы и многие вопросы реализации. Разница в использовании заключается в том, что в системе CT получателю может понадобиться определить степень конфиденциальности, соответствующую сумме отправителя, тогда как в Zerocash известна «стандартная степень конфиденциальности».

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

Наконец, существует много аспектов реализации, на которые влияет это различие. Например, все транзакции Zerocash имеют одинаковую форму (количество входов и выходов) и размер, что делает их неотличимыми, тогда как каждая транзакция CT может иметь различную форму. Это различие также может иметь воздействие на удобство использования. Скажем, если пользователь захочет разделить одно значение на много новых, пользователю Zerocash придется использовать для этого множество транзакций, тогда как пользователь CT может использовать одну транзакцию или более в зависимости от имеющихся целей конфиденциальности или производительности.
[6]    Примечание. Даже если протокол является гибким, можно ограничить рамки его использования с помощью правил согласования учета при условии, что более строгая проверка полагается только на общедоступную учетную информацию.

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

Zerocash имеет только одну форму транзакции с 2 входами и 2 выходами, которая является минимальной для разделения и объединения значений [7]. Обратите также внимание, что большинство платежей требуют 2 выхода для счета, чтобы обеспечить возврат информации отправителю.

Для такой стандартной формы транзакции стоимость типичной транзакции CT в рамках блокчейна («раздутие») выше, чем у Zerocash.

Однако, что касается других транзакций, особенно транзакций чистки с 1 выходом и N входами, транзакция CT намного меньше, так как ей не требуется ряд подтверждений.

Кроме того, CT поддерживает транзакции с любым количеством входов или выходов, тогда как ZC имеет фиксированную форму.
[7]    Протокол Zerocash можно расширить, чтобы увеличить количество входов и выходов. В этой статье рассматривается только текущий опубликованный протокол.

Размер подтверждения. Полный размер подтверждения CT по умолчанию — 2,5 Кб, а Zerocash — всего 288 байтов. Однако, если транзакция имеет только один выход, ряд подтверждений может быть опущен, и для оставшейся структуры подтверждений требуется только одна 33-байтовая схема обязательств Pedersen commitment.

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

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

Стоимость подтверждения. Создание транзакции в Zerocash требует гораздо больше времени, чем в CT, хотя создание обычной Биткойн-транзакции в любом случае занимает меньше времени. Мы считаем, что оба показателя приемлемы. При этих двух современных подходах все-таки остается некий компромисс между стоимостью и конфиденциальностью.

Стоимость проверки. Стоимость проверки транзакций ZC и CT выше по сравнению с обычными Биткойн-транзакциями. Тем не менее, такая стоимость приемлема. На обычном компьютере один поток может проверить 175 ZC-транзакций в секунду.

Поддержка сокращения. CT обеспечивает внутреннее сокращение, тогда как ZC в настоящее время не предоставляет возможности сокращения.

Сокращение позволяет «полному узлу» (т. е. узлу, который самостоятельно проверяет каждый новый блок транзакции) снизить расходы на хранение, стерев историю проведенных ранее сделок. В CT результат транзакции общеизвестен (израсходован или не израсходован), так же как и в Биткойне, и поэтому схема сокращения в Биткойне выполняется прозрачно.

Zerocash, напротив, требует от верификаторов запомнить уникальный идентификатор для каждой использованной суммы, и в текущей разработке этот набор сведений растет до неопределенного количества. В этой статье представлены потенциальные способы оптимизации, которые могут смягчить требования хранения путем достижения различных компромиссов (разделы 8.3.1 и 8.3.2 статьи о Zerocash в экспертном обзоре).

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

Криптографическая основа. Лежащая в основе CT криптографическая основа та же, что и у Биткойна и многих других развернутых систем, в то время как ZC является одним из первых практических приложений, которые зависят от конкретного предположения.

В частности, CT опирается на вариант схемы Шнорра, безопасность подписей в которой может зависеть от задачи дискретного логарифмирования с использованием эллиптической кривой (ECDLP) и предположений случайных оракулов (RO). С другой стороны, ZC опирается на аргументы zkSNARK, чья безопасность основана на вариантах предположений относительно экспоненты (KoE) для билинейных групп (которые реализуются через определенные эллиптические кривые с возможностью объединения). Криптографы изучали предположения RO и KoE более двух десятилетий, но только последние наработки получили широкое распространение на практике.

Экспертный обзор. CT — это новое применение вполне понятных криптографических основ, которые были неофициально рассмотрены экспертами отрасли.

Работа по протоколу Zerocash была опубликована на научной конференции, где присутствовали эксперты области. Она опирается на ранее опубликованные работы. Кроме того, на конференции в этом году были представлены опубликованные работы на тему настройки параметров.
Jump to: