- Permissionless Confidential Ring
- Custom Confidential Ring
- Custom Anonymous Ring
Приватный кошелёк и пользователь
Пользователи хранят зашифрованный баланс в приватном кошельке и подписывают приватные транзакции существующим ключом Solana Ed25519. Интеграция приватного кошелька добавляет защищённую пару ключей в вашу систему управления ключами. Вы можете интегрировать её самостоятельно или использовать встроенный приватный кошелёк.Приватные транзакции
Приватные переводы представляют собой обычные транзакции Solana. Среда выполнения Solana проверяет подписи и вызывает программу конфиденциальности Solana, которая проверяет ZK-доказательство, не раскрывая зашифрованное состояние. Типичный конфиденциальный перевод занимает около 927 байт, что значительно меньше ограничения v1 в 4096 байт.Example Confidential Transfer
Example Confidential Transfer
Для приведённого в спецификации примера конфиденциального перевода с 2 входами и 3 выходами.
Исходный код: спецификация · xtask/src/main.rsСм. структуру транзакции Solana v1.
RPC
Один предоставляет доступ к Solana RPC, индексатору и удалённому генератору доказательств.- Solana RPC — возвращает публичный баланс и отправляет транзакции в сеть Solana.
- Индексатор — предоставляет зашифрованное состояние, необходимое кошельку для чтения балансов и создания приватных транзакций. Кроме того, любой пользователь может без разрешения запустить собственный индексатор в качестве резервного варианта.
- Генератор доказательств — доказательства с нулевым разглашением можно создать локально или на сервере генерации доказательств за миллисекунды в зависимости от транзакции и оборудования. Helius использует GPU для генерации доказательств.
Конфиденциальность и программы Solana
Программа конфиденциальности Solana (SPP) — основная программа, которая проверяет и выполняет все переходы приватного состояния. Программы пользовательских колец и ZK-программы Solana добавляют логику соответствия требованиям или логику приложения, а затем вызывают SPP для обновления приватного состояния. Другие программы Solana могут взаимодействовать с этими программами через CPI в рамках той же транзакции и с учётом ограничений транзакций Solana, например ограничения глубины CPI, равного 5.ZK Program Transaction Flow
ZK Program Transaction Flow
- Permissionless Ring
- Custom Rings
- ZK Program alone
- ZK Program and additional Solana Program
Программа конфиденциальности Solana (SPP)
Программа конфиденциальности Solana проверяет доказательства с нулевым разглашением и обновляет приватное состояние. Используйте её для внесения токенов, перевода приватных балансов и вывода токенов на публичные аккаунты. Другие программы вызывают SPP через CPI для выполнения переходов приватного состояния.Программа пользовательского кольца
Программа пользовательского кольца определяет разрешения на переводы и дополнительные полномочия аналогично Token-2022. Используйте её, чтобы настроить аудиторов, потребовать подпись дополнительного подписанта или разрешить уполномоченной стороне замораживать балансы. Она проверяет ZK-доказательство для применения собственной логики соответствия требованиям, а затем вызывает SPP для обновления приватного состояния.ZK-программа Solana
ZK-программы Solana позволяют создавать в программах Solana приватные эскроу, которые применяют логику приложения к приватным балансам. С помощью ZK-программ Solana можно создавать приватные обмены, стейкинг, кредитование и многое другое. Например, конфиденциальный обмен может обеспечивать соблюдение согласованных сумм и цены, не раскрывая их. Программа проверяет ZK-доказательство логики приложения, а затем вызывает SPP напрямую или через программу пользовательского кольца для обновления приватного состояния.Дерево Меркла состояния и Forester
Кольцо по умолчанию и все пользовательские кольца хранят приватное состояние в аккаунте дерева Меркла состояния, который обслуживает узел Forester. Аккаунты деревьев фиксируют приватное состояние, не сохраняя его в отдельных аккаунтах Solana. Поэтому для чтения балансов и истории транзакций используйте специальные методы RPC индексатора, напримерgetShieldedTransactionsByTags, вместо методов аккаунтов Solana, таких как getAccountInfo. См. разделы Чтение приватного баланса и Чтение истории приватных транзакций.
Пропускная способность
Дерево хранится в одном доступном для записи аккаунте Solana. Приватные переводы, которые записывают данные в этот аккаунт, совместно используют установленное Solana ограничение блокировки записи для одного аккаунта в 12 миллионов CU на блок. Различные UTXO можно расходовать независимо, но транзакции, записывающие данные в одно дерево, всё равно совместно используют блокировки аккаунта Solana и ограничения вычислений. Конфиденциальный перевод потребляет приблизительно 140 000 CU согласно тесту производительности инструкции. Таким образом, одно дерево поддерживает около 86 приватных переводов на блок, или около 215 транзакций в секунду при текущем времени блока Solana около 400 миллисекунд. Для повышения пропускной способности протокол может добавлять дополнительные деревья. Каждое дерево представляет собой отдельный доступный для записи аккаунт с собственным вычислительным бюджетом для аккаунта, поэтому транзакции в разных деревьях не конкурируют за один бюджет блокировки записи.Интерфейс SPL
Интерфейс SPL обеспечивает взаимодействие между публично и приватно хранимыми токенами. Это отдельный эскроу для каждого минта, который можно создать без разрешения, но только один раз для каждого минта.- При внесении SOL и активов SPL на приватный баланс принадлежащий программе конфиденциальности Solana интерфейсный PDA помещает токены в эскроу и создаёт UTXO, принадлежащие пользователю.
- При выводе на публичный баланс существующие UTXO помечаются как потраченные, а токены переводятся на аккаунты токенов Solana.
Подробнее
Overview
Кольца, гарантии конфиденциальности и последовательность обработки транзакций.
Private State and UTXOs
Как хранятся и расходуются приватные балансы.
Encryption and Privacy Guarantees
Как шифруются активы и какую роль играет защищённая пара ключей.
Custom Enterprise Rings
Узнайте, как настроить пользовательское кольцо.
Не нашли то, что искали?
Свяжитесь с нами! Telegram | Электронная почта | Контакты