______________________________________________________________________
______________________________________________________________________
Lelantus: протокол конфиденциальности нового поколения Zcoin
Обновлено 16 июля 2019 года с новыми показателями производительности, обновленной сравнительной таблицей и презентацией Арама на Monerokon.
Технология никогда не стоит на месте; особенно не в сфере конфиденциальности блокчейна. За несколько лет отрасль перешла от простых решений для смешивания, таких как Coinjoin, к более продвинутым криптографическим реализациям, таким как кольцевые подписи, Zerocoin (используемый в Zcoin) и Zerocash (используемый в Zcash).
Инструменты, деанонимизирующие блокчейны, также стали более сложными. Анализ блокчейнов теперь широко доступен, и уважаемые исследователи, такие как Ян Майерс считают, что системы на
"основе ловушек", такие как кольцевые подписи (используемые в Monero) и Mimblewimble (используемые в Grin или Beam), могут быть деанонимизированы, особенно когда есть повторные транзакции. Хотя Zerocoin предлагал очень хорошую анонимность, он страдал от трех основных проблем:
Фиксированные деноминацииВам нужно было сжигать и выкупать Zerocoin фиксированной номинальной стоимости. Если вы сожгли 10 Zcoins, вам также нужно будет выкупать 10 Zcoins. Это сильно ограничивало удобство использования и ограничивало анонимность внутри группы, использующей одно и то же наименование. Это также создало проблему с сдачей: как вы могли отправить меньше Zcoin, чем наименьший номинал. Другие проекты отдали сдачу в комиссии майнеров и напомнили о любом другом балансе, но это не идеально с точки зрения производительности и добавляет много накладных расходов.
ПроизводительностьЕсли бы Zcoin достиг текущего объема биткойн-транзакций, производительность Zerocoin все равно была бы адекватной. Размеры пробных копий относительно велики - 25 КБ, хотя их можно уменьшить до 10 КБ с меньшими затратами. Верификация (время, необходимое узлу для проверки proof’s validity) медленная и составляет около 300-400 мс на proof, хотя ее можно ускорить с помощью Znodes с большей мощностью. Однако показатели производительности недостаточны, если перейти к модели «privacy on by default». Нам нужна лучшая производительность для широкомасштабного внедрения.
Надежная настройкаНадежная настройка - это особенность систем Zerocoin и Zerocash. Она требует, чтобы определенные параметры были сгенерированы, а затем уничтожены. Если их не уничтожить правильно, она позволяет кому-либо создавать монеты из воздуха. В то время как
Zcoin использует параметры из 20-летней академической задачи факторинга, что снижает вероятность бэкдора, это все еще нежелательная возможность, которая снижает доверие к системе.
Ранее мы дразнили
Sigma (скоро будет запущена), которая имеет меньшие размеры proof и не имеет надежной настройки, но она все еще не решает проблему с фиксированным номиналом.
Поэтому мы с гордостью представляем
Lelantus; результат исследования Zcoin с нашим консультантом по криптографии Арамом Дживаняном при содействии Мартуна Карапетяна и Левона Петросяна.
Большая простота использованияLelantus основан на Sigma и позволяет пользователям сжигать любую сумму, из которой они затем могут выкупить любую частичную сумму, при этом оставшаяся часть остается в сожженном состоянии.
При использовании традиционных Zerocoin или Sigma наиболее эффективный способ потратить 153 монеты в частном порядке потребует 100 + 50 + 1 + 1 + 1 монет: это означает, что вам потребуется минимум 5 Zerocoin, занимающих 125 КБ места. Поскольку на каждую проверку уходит 300 мс, это примерно 1500 мс времени проверки. Это также предполагает, что у вас изначально должны быть отчеканенные монеты Zerocoin: большинству пользователей требуется больше затрат на Zerocoin, если у них в наличии нет идеально деноминированных отчеканенных монет.
С Lelantus это значительно улучшилось. Чтобы достичь таких же частных расходов в 153 монеты, пользователю просто нужно использовать любые из отчеканенных монет, которые он делал раньше - любую произвольную сумму - и потратить. Требуемое минимальное количество затрат сейчас - всего один, а проверка займет от 20 до 30 мс с пакетной проверкой или от 300 до 400 мс для одного доказательства.
Lelantus proofs занимают всего 1,5 КБ, поэтому вся транзакция потребует доли мощности, необходимой исходному протоколу Zerocoin.
Лучшая конфиденциальностьАнонимность Zerocoin для каждой транзакции зависит от количества чеканки в каждой деноминации. При чеканке и расходовании 1 Zcoin набор анонимности основан на других отчеканенных 1 Zcoin, а не на 10, 25, 50 или 100 номиналах.
По нашим наблюдениям, некоторые номиналы отчеканенных монет, такие как 25 и 50, используются реже, чем другие, что снижает их анонимность.
Кроме того, поскольку вам всегда нужно полностью выкупать Zerocoins, то есть если вы сжигаете 10, вам всегда нужно выкупать 10, существуют временные атаки, когда вы можете угадать, какое погашение соответствует какому сжиганию, особенно если для них есть шаблон.
В Lelantus больше нет отдельных наборов отчеканенных монет для каждой деноминации: все отчеканенные монеты собраны в одном наборе. Это устраняет опасения, что одни деноминации могут быть более закрытыми, чем другие.
В случае Zerocoin возникла проблема «испорченной сдачи», когда сумма меньше наименьшей деноминации не может быть создана, поэтому она может деанонимизировать пользователя. Возможность тратить точные суммы с Lelantus означает, что все «сдачи» остаются в созданном состоянии, поэтому пользователям не нужно беспокоиться об этом.
Конфиденциальность включена по умолчаниюКогда конфиденциальность включена, немногие люди выбирают это, чтобы избежать дополнительных шагов для совершения частной транзакции. Это может снизить анонимность системы, поскольку меньшее количество людей, использующих эту функцию, упрощает деанонимность этих пользователей. Поэтому мы стремимся к тому, чтобы по умолчанию была включена конфиденциальность в Lelantus.
Lelantus предлагает конфиденциальность по умолчанию, предлагая при этом отказ от конфиденциальности, чтобы по-прежнему легко интегрироваться с биржами и другими кошельками, которые предлагают регулярные транзакции.
Лучшая производительностьПомимо размеров proof, время проверки было эффективно сокращено за счет проверки партии.
Lelantus proofs, основанные на Sigma, требуют 200 мс для проверки каждого proof, что значительно быстрее, чем Zerocoin. Однако при пакетной проверке, когда proofs проверяются одновременно, с набором анонимности 32 384, проверка 100 proofs занимает около 2368 мс.
Это означает, что стоимость проверки одного proof составляет всего 23,7 мс при использовании методов пакетной проверки. Мы также используем приемы множественного возведения в степень, такие как методы Пиппенгера и Штрауса, чтобы улучшить это.
КонкуренцияВ таблице ниже показано, как Lelantus сравнивается с другими ведущими схемами обеспечения конфиденциальности.
Как видите, Lelantus очень хорош по всем параметрам; предлагая высокую степень анонимности, хорошую производительность и низкие размеры proof, не полагаясь на экспериментальную криптографию. Мы считаем, что Lelantus предлагает самый полный протокол конфиденциальности, доступный на сегодняшний день.
Мы ожидаем, что Lelantus будет готов где-то в конце 2019 или в начале 2020 года, поскольку мы ждем дальнейшего экспертного обзора статьи Lelantus. Sigma будет развернута во втором квартале 2019 года.
Полный текст академической статьи доступен в
Eprint, хотя мы ожидаем дальнейших улучшений.
Мы хотели бы поблагодарить Йенса Грота, Бенедикта Бунца, Ариэля Габизона, Саранг Нётер и Маркульфа Кольвейса, которые предоставили бесценные отзывы о Lelantus.
Вы можете посмотреть некоторые из наших видео о Lelantus ниже: