Я попытался отследить, где именно в приложении на Solidity фактически начинается конфиденциальность, на @Dusk .
Я предположил, что контракт, развернутый в DuskEVM, каким-то образом унаследует конфиденциальность Dusk, потому что его данные и расчеты в конечном счете проходят через DuskDS.
Но стек работает не совсем так.
DuskEVM дает разработчикам знакомое выполнение в стиле EVM. Они могут использовать Solidity, Hardhat, Foundry и существующие кошельки. Под капотом располагается DuskDS — базовый уровень расчетов и доступности данных.
Однако обычный контракт на Solidity все равно может публиковать свое состояние, как и любое другое EVM-приложение.
Конфиденциальность нужно проектировать в приложении с помощью Hedger — или решать ее ближе к нативному маршруту приватности Dusk через DuskVM и Phoenix. Она не добавляется автоматически только потому, что контракт работает внутри экосистемы Dusk.
Эта граница заставила меня остановиться.
Представьте токенизированный рынок облигаций.
Рыночная цена может должна оставаться публичной.
Право инвестора участвовать нужно лишь подтвердить.
Баланс держателя, вероятно, стоит хранить в тайне.
Эмитент или регулятор могут требовать контролируемого доступа к определенным записям.
Эти четыре части нельзя просто взять и разместить в одном и том же публичном состоянии Solidity.
Hedger предназначен частично решить эту проблему: значения остаются зашифрованными, а доказательства с нулевым разглашением проверяют, что транзакция соблюдала его правила. Но разработчику все равно нужно решить, что попадает в зашифрованный поток, что остается публичным и кто получает права на раскрытие.
Одна неудачная дизайнерская ошибка может раскрыть чувствительные финансовые данные еще до того, как криптография вообще успеет их защитить.
Поэтому я меньше сосредоточен на том, сколько криптографических примитивов поддерживает Dusk.
Я смотрю, делает ли ее инструментарий границу между публичным и приватным достаточно ясной, чтобы обычные команды на Solidity могли использовать это правильно.
Dusk может проложить маршруты приватности. Но он не может принимать архитектурное решение за каждое приложение.
#dusk $DUSK