Раньше, когда я видел @Dusk , одновременно говорили о Moonlight и Phoenix, мне всё время казалось, что это две отдельные схемы: одна для «обычных переводов», другая для «приватных переводов», и функции просто дублируются. Но когда я вместе посмотрел документацию по модели транзакций и инструкцию по интеграции биржи, то понял: двойная модель — это не показуха, а осознанное признание в рамках одного и того же слоя расчётов: некоторые потоки средств должны быть публичными, а некоторые не должны раскрывать сумму и связь всем подряд.

Moonlight — это модель публичного счёта: баланс, отправитель, получатель и сумма видны всем, поэтому проще подключать пополнение биржи, казначейство и сценарии, где нужен открытый аудит расчётов. Phoenix, напротив, хранит средства в зашифрованных note, использует доказательства с нулевым разглашением, чтобы подтвердить отсутствие двойной траты и достаточность средств, при этом не раскрывая наблюдателям конкретную сумму и связанный note; а при необходимости аудита можно выполнить выборочное раскрытие через viewing key.

Самое большое заблуждение здесь — это мысль: «раз есть приватность, значит браузер вообще ничего не видит». Официальный браузер по-прежнему видит блоки, тип транзакции, комиссию, gas и другую публичную метаинформацию; конкретный объём видимости зависит от модели транзакции и контракта. С другой стороны, биржа тоже не может просто сканировать Phoenix как Moonlight: в официальной документации по интеграции прямо рекомендуется использовать Moonlight для пополнений, а приватный баланс сначала нужно перевести в публичный счёт — логика кастодиального хранения и сканирования здесь совершенно разная.

Поэтому сложность $DUSK не в том, чтобы доказать, что приватность вообще возможна, а в том, чтобы при переключении между публичным и приватным режимами пользователь не пошёл по неверному пути. Если #dusk действительно должен войти в регулируемые потоки средств, то по умолчанию должны одновременно работать приватность, раскрытие по необходимости и предсказуемое кастодиальное хранение. Что вас больше беспокоит: полная прозрачность, из-за которой утечёт позиция, или то, что двойная модель слишком сильно усложнит продукт?