Пришло время ежемесячного отчёта. Как всегда, я выражаю свою благодарность сообществу Monero за непрерывную поддержку моих исследований и экосистемы проекта. В этом месяце, наряду с общей чисткой библиотеки кода, значительная часть работы была посвящена завершению схем подписей. Продолжается формальный анализ схем построения DLSAG-подписей с двойными адресами, а также совместная с другими авторами работа по редакции материалов для публикации на конференции и выпуска препринта. Сохраняются некоторые вопросы, касающиеся последствий реализации предлагаемых изменений в образы ключей с двойными адресами. Контрибьютором и исследователем RandomRun была предложена ещё одна схема подписи, которая позволит значительно сократить размер кольцевых подписей. Схема, обозначенная как CLSAG (compact (компактные) LSAG), предполагает накопление ключей с целью сокращения количества скалярных величин, необходимых для создания кольцевой подписи (за счёт одного дополнительного группового элемента на подпись). Мною был написан пример кода на языке Python, а также код синхронизации на C++, чтобы определить, можно ли сделать схему достаточно быстрой для того, чтобы она стала полезной. После добавления некоторых криптографических функций с целью повышения эффективности, тесты показали, что CLSAG-подписи и в самом деле верифицируются лучше, чем используемыми нами кольцевые MLSAG-подписи! Следует отметить, что как пример кода, так и код синхронизации были написаны исключительно в исследовательских целях, и их нельзя использовать, пока они не будут проанализированы и проверены. При используемом нами в настоящее время размере кольца, равном 11, обычная транзакция с 2 входами / 2 выходами занимает 2,54 Кбайта пространства, а на верификацию MLSAG-подписи (как показали мои тесты) уходит 13,0 мсек. При использовании CLSAG та же самая транзакция требует всего 1,9 Кбайт места и 11,1 мсек на верификацию подписи. То есть размер транзакции сокращается на 25%, а время верификации на 15%! Техническая записка, описывающая схему с доказательствами безопасности, пока ещё находится на подготовительном этапе, так как появились некоторые варианты реализации, касающиеся коэффициентов хешей, которые позволят ещё на 5% сократить время верификации. Формальный план по переходу к использованию CLSAG-подписей пока отсутствует, но выглядят они довольно многообещающе. Предложенное мною изменение схемы выбора ложных выходов кольца было обновлено с учётом подвижного окна, которое используется для определения среднего времени поступления выходов. Это предложение было дополнено в пул-реквест moneromooo с соответствующими результатами тестов. Изменение схемы позволит решить некоторые вопросы, связанные с весовыми значениями и эвристическим анализом. Мною было предложено интегрировать схему ретрансляции транзакций Dandelion++ (D++) в Monero. Протокол D++ помогает избежать определённых видов слежения за сетью путём построения случайного графа узла, который используется при начальной трансляции транзакции, до того, как транзакция распространится среди всех узлов сети. Варианты схемы уже используются другими проектами, такими как Zcoin и Grin, а также BIP Bitcoin. Использование D++ никак не устраняет необходимости в применении других решений сетевого уровня (таких как Tor или I2P), которые помогают избежать целенаправленного анализа узлов. Но эта схема станет хорошим дополнением, которое будет работать целиком на уровне ретрансляции. Рабочий анализ построения транзакций Lelantus появился в доступе. Это предложение было опубликовано как препринт исследователем Zсoin и недавно прошло несколько редакций. Это умный вариант применения изменённых Bulletproofs, доказательств с нулевым раскрытием конфиденциальной информации, двойных «слепых» обязательств Педерсена, представляющее собой расширение идей, изначально предложенных Zerocoin. Протокол имеет некоторые недостатки с точки зрения анонимности, а также вызывает вопросы, связанные с эффективностью, но лежащий в его основе подход заслуживает тщательного рассмотрения. Это позволит определить, может ли какая-нибудь из его частей быть реализована в Monero в будущем. У меня есть пример кода, демонстрирующий простой поток транзакций, и мною был выработан метод безопасного преобразования выходов Monero в формат Lelantus. Я поддерживаю связь с автором работы, чтобы продолжить обсуждение будущей работы и обменяться предложениями по внесению улучшений. В зависимости от того, как точно будут использоваться общие механизмы обеспечения анонимности с группами транзакций, начальные вычисления показывают, что время групповой верификации будет просто потрясающим. Но пока это только исследования, и планы по переходу к использованию такого протокола отсутствуют. В следующем месяце я планирую продолжить анализ таких протоколов построения транзакций, как Lelantus, завершить написание кода и тесты с целью эффективной генерализации доказательств Bulletproofs с произвольной длиной входов, а также подтянуть некоторые концы, связанные с доказательствами схемы CLSAG-подписи. А теперь переходим в «Читательский уголок Саранга». Я предлагаю вашему вниманию короткий список интересных статей, на которые я наткнулся в этом месяце. Наличие статьи в этом списке не означает, что я одобряю её или даже, что я согласен с её содержанием или выводами. ZETH: On Integrating Zerocash on Ethereum (ZETH: Интеграция Zerocash в Ethereum) Cryptanalysis of Curl-P and Other Attacks on the IOTA Cryptocurrency (Криптоанализ Curl-P и других атак на криптовалюту IOTA) SoK: Off The Chain Transactions (SoK: проведение транзакций вне блокчейна) On polynomial secret sharing schemes (На тему схем совместного использования полиномиальных секретов) Generic Construction of Linkable Ring Signature (Типовая структура связываемой кольцевой подписи) Dragonblood: A Security Analysis of WPA3's SAE Handshake (Dragonblood: Анализ безопасности квитирования установления связи SAE в соответствии с WPA3) The current state of affairs in 5G security and the main remaining security challenges (Текущее положение дел по безопасности 5G и основные сохранившиеся проблемы, связанные с этим) Exploring the Monero Peer-to-Peer Network (Исследование одноранговой сети Monero) Discharged Payment Channels: Quantifying the Lightning Network's Resilience to Topology-Based Attacks (Разгруженные платёжные каналы: количественная оценка устойчивости Lightning-сети к атакам на основе сетевой топологии) Источник: Sarang: research funding for 2019 Q2 Перевод: Mr. Pickles (@v1docq47) Редактирование: Agent LvM (@LvMi4) Коррекция: Kukima (@Kukima)