RingCT
RingCT (Ring Confidential Transactions) — это криптографический протокол, используемый в некоторых криптовалютах для сокрытия суммы транзакции, а также адресов отправителя и получателя. RingCT является расширением технологии кольцевых подписей (Ring Signatures) и позволяет проводить анонимные транзакции с проверяемой эмиссией, не раскрывая публично объём переводимых средств.
История
Протокол RingCT был предложен в 2015 году криптографом Шен Ноэлем (Shen Noether) в рамках развития криптовалюты Monero. До появления RingCT в Monero использовались кольцевые подписи, которые скрывали отправителя, но сумма транзакции оставалась видимой в блокчейне. Это создавало уязвимости для анализа цепочек транзакций и позволяло частично раскрывать конфиденциальность.
В 2016 году RingCT был внедрён в основную сеть Monero (Monero Core) с хардфорком, что сделало эту криптовалюту одной из первых, обеспечивающих полную анонимность как отправителя, так и суммы. Позднее схожие механизмы были адаптированы в других проектах, таких как Particl, Haven Protocol и некоторые форки Monero. В 2019 году в Monero был реализован протокол Bulletproofs, который уменьшил размер доказательств RingCT и снизил комиссии за транзакции.
Принцип работы
RingCT сочетает два криптографических элемента: кольцевые подписи и доказательства с нулевым разглашением (Zero-Knowledge Proofs). В основе лежит концепция «кольца» — набора возможных отправителей, среди которых реальный отправитель скрыт. Каждый участник кольца имеет открытый ключ, и подпись формируется таким образом, что невозможно определить, какой именно ключ был использован для подписания.
Скрытие суммы
Для сокрытия суммы транзакции используется механизм Pedersen Commitments (коммитменты Педерсена). Это криптографическая конструкция, позволяющая представить сумму в виде зашифрованного значения, при этом сохраняя возможность проверки, что входы и выходы транзакции сбалансированы (то есть сумма входов равна сумме выходов). Коммитменты Педерсена обладают свойством гомоморфности: сложение двух зашифрованных сумм даёт зашифрованную сумму, что позволяет проверять баланс без раскрытия самих чисел.
Кольцевая подпись
Кольцевая подпись (Ring Signature) позволяет отправителю подписать транзакцию от имени группы участников, не раскрывая, кто именно из них является реальным отправителем. В RingCT используется модифицированная версия — MLSAG (Multilayered Linkable Spontaneous Anonymous Group) подписи, которая также связывает входы транзакции с выходами, предотвращая двойное расходование средств.
Доказательство корректности
Для подтверждения, что скрытая сумма находится в допустимом диапазоне (например, неотрицательна и не превышает баланс), используются доказательства диапазона (Range Proofs). В RingCT первоначально применялись доказательства Борромео (Borromean Ring Signatures), а затем — Bulletproofs, которые значительно уменьшили размер доказательств и время их верификации.
Классификация
RingCT относится к классу протоколов конфиденциальных транзакций (Confidential Transactions, CT). В зависимости от реализации, различают:
- RingCT с полной анонимностью — скрываются отправитель, получатель и сумма (например, Monero).
- RingCT с частичной анонимностью — скрывается только сумма, но отправитель или получатель могут быть видны (например, в некоторых ранних версиях).
- RingCT с поддержкой мультиподписей — используется для групповых транзакций, где требуется согласие нескольких сторон.
Применение
Основное применение RingCT — обеспечение конфиденциальности в криптовалютах, ориентированных на приватность. Наиболее известный пример — криптовалюта Monero, где RingCT является стандартным механизмом для всех транзакций. Также протокол используется в:
- Particl — децентрализованная платформа для торговли, где RingCT применяется для скрытия сумм сделок.
- Haven Protocol — криптовалюта, ориентированная на стабильные активы, использующая RingCT для анонимных переводов.
- Wownero — форк Monero с изменёнными параметрами, сохраняющий RingCT.
RingCT также изучается в академических кругах как пример практического применения доказательств с нулевым разглашением в блокчейн-системах.
Критика и ограничения
Несмотря на высокий уровень анонимности, RingCT имеет ряд недостатков:
- Размер транзакций — из-за кольцевых подписей и доказательств диапазона транзакции RingCT значительно больше по размеру, чем обычные биткойн-транзакции. Например, в Monero типичная транзакция занимает около 2–3 КБ, что в десятки раз больше, чем в Bitcoin.
- Скорость проверки — верификация кольцевой подписи и доказательств требует больше вычислительных ресурсов, что может замедлять работу сети при высокой нагрузке.
- Уязвимости к атакам — хотя RingCT считается устойчивым к большинству криптоаналитических атак, существуют теоретические риски, связанные с квантовыми компьютерами, которые могут взломать используемые криптографические алгоритмы (например, эллиптическую кривую Ed25519).
- Регуляторные риски — из-за анонимности RingCT часто ассоциируется с незаконной деятельностью (отмывание денег, финансирование терроризма), что привело к ограничениям на использование Monero на некоторых биржах и в юрисдикциях. В России криптовалюты, в том числе анонимные, не признаются законным платёжным средством, а их оборот регулируется законом «О цифровых финансовых активах» (2021 год). В 2023 году Центральный банк РФ высказывал озабоченность по поводу использования анонимных криптовалют для обхода финансового контроля.
Сравнение с другими протоколами
RingCT часто сравнивают с другими технологиями анонимных транзакций:
- Zcash (zk-SNARKs) — использует доказательства с нулевым разглашением, которые позволяют скрыть все данные транзакции, но требуют доверенного запуска (ceremony) и более сложной криптографии. RingCT, напротив, не требует доверенного запуска и основан на более простых математических конструкциях.
- Mimblewimble (Grin, Beam) — протокол, который также скрывает суммы, но не использует кольцевые подписи, а вместо этого объединяет транзакции в блоки, что уменьшает размер блокчейна. Однако Mimblewimble не скрывает отправителя и получателя так же эффективно, как RingCT.
- Dash (PrivateSend) — использует микширование монет, но не гарантирует полной анонимности, так как требует доверия к мастерам сети.
RingCT считается одним из наиболее зрелых и проверенных решений для анонимных транзакций, однако его применение ограничено из-за технических и регуляторных сложностей.
Интересные факты
- Название «RingCT» происходит от сочетания «Ring Signature» и «Confidential Transactions».
- Разработчик Monero Шен Ноэль (Shen Noether) является псевдонимом; его личность не раскрыта.
- В 2020 году в Monero был внедрён протокол Triptych, который улучшил масштабируемость кольцевых подписей, но RingCT остаётся основным механизмом.
- RingCT несовместим с протоколом Bitcoin, так как требует изменения структуры транзакций и правил консенсуса.
Источники
- Noether, S. (2015). «Ring Confidential Transactions». Ledger, 1, 1–18.
- Möser, M., et al. (2018). «An Empirical Analysis of Traceability in the Monero Blockchain». Proceedings on Privacy Enhancing Technologies.
- Kumar, A., et al. (2017). «A Traceability Analysis of Monero’s Blockchain». IACR Cryptology ePrint Archive.
- Документация Monero Core (getmonero.org).
- Федеральный закон «О цифровых финансовых активах, цифровой валюте и о внесении изменений в отдельные законодательные акты Российской Федерации» от 31.07.2020 № 259-ФЗ.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →