Вчера вечером я перелистал документацию Dusk, чтобы понять, как на практике срабатывает «селективное раскрытие» — в документах всё красиво: по умолчанию приватно, раскрывается по требованию, у регулятора есть проверяемые доказательства по сертификатам. Но в главе про управление доступами я остановился: там всего одной фразой — «сторона, выдавшая разрешение, хранит ключ для просмотра», — и при этом не сказано, можно ли это разрешение отозвать, есть ли у него срок действия, и кто фиксирует факт выдачи/настройки разрешения.
Я решил проверить на тестнете: создал идентичность и выдал право на просмотр фиктивному аудитору. Процедура проходит — генерируется ключ разрешения, отправляется транзакция, другая сторона проверяет; всего четыре шага, примерно две минуты. Но когда я вернулся посмотреть журнал выдачи разрешений, оказалось, что отзыва разрешения нет — в консоли тестнета тоже нет соответствующего пункта. Переключатель «включить», у которого нет «выключить», в задачах комплаенса опасен: если доступ на аудит однажды выдан и его нельзя отозвать, то «раскрытие по требованию» превращается в «разовая выдача, навсегда доступно».
Дальше я пошёл на GitHub и пролистал код смарт‑контракта модуля разрешений: поиск по словам «revoke» и «expire» ничего не дал. Возможно, я смотрел не в той ветке репозитория, либо эти функции пока в планах. Но как пользователь я могу судить только по существующей документации и существующему коду.
Потом мне стало ясно: это не уникальная проблема Dusk — это общий урок по направлению «программируемая приватность»: выдача прав — это математика и криптография, а отзыв прав — это управление и процесс. Выдачу можно построить на формальных правилах, а отзыв — только через процессы. И этих процессов в документации пока нет.
В итоге на моём кошельке на тестнете стало на несколько сотен DUSK больше, а активы мейннета я пока не трогаю. Когда официальный релиз добавит в документацию и в код управление разрешениями (отзыв, срок действия, журналы аудита), тогда я закину по‑настоящему деньги. До тех пор я признаю: «селективное раскрытие» — хорошая идея, но у хорошей идеи не должно быть переключателя, который умеет только включать, без кнопки выключения.
@Dusk_Foundation $DUSK #dusk
Я решил проверить на тестнете: создал идентичность и выдал право на просмотр фиктивному аудитору. Процедура проходит — генерируется ключ разрешения, отправляется транзакция, другая сторона проверяет; всего четыре шага, примерно две минуты. Но когда я вернулся посмотреть журнал выдачи разрешений, оказалось, что отзыва разрешения нет — в консоли тестнета тоже нет соответствующего пункта. Переключатель «включить», у которого нет «выключить», в задачах комплаенса опасен: если доступ на аудит однажды выдан и его нельзя отозвать, то «раскрытие по требованию» превращается в «разовая выдача, навсегда доступно».
Дальше я пошёл на GitHub и пролистал код смарт‑контракта модуля разрешений: поиск по словам «revoke» и «expire» ничего не дал. Возможно, я смотрел не в той ветке репозитория, либо эти функции пока в планах. Но как пользователь я могу судить только по существующей документации и существующему коду.
Потом мне стало ясно: это не уникальная проблема Dusk — это общий урок по направлению «программируемая приватность»: выдача прав — это математика и криптография, а отзыв прав — это управление и процесс. Выдачу можно построить на формальных правилах, а отзыв — только через процессы. И этих процессов в документации пока нет.
В итоге на моём кошельке на тестнете стало на несколько сотен DUSK больше, а активы мейннета я пока не трогаю. Когда официальный релиз добавит в документацию и в код управление разрешениями (отзыв, срок действия, журналы аудита), тогда я закину по‑настоящему деньги. До тех пор я признаю: «селективное раскрытие» — хорошая идея, но у хорошей идеи не должно быть переключателя, который умеет только включать, без кнопки выключения.
@Dusk_Foundation $DUSK #dusk