Сначала я предположил, что две модели транзакций на Dusk — это просто переключатель приватности. Публично или приватно. Один переключатель. Простое решение.
На деле различие глубже.
Moonlight работает как Ethereum. У вашей учетной записи есть nonce. Каждая транзакция публично увеличивает его. Любой может видеть ваш баланс, вашу историю, вашу последовательность. Nonce — это счетчик. Это также след.
Phoenix работает иначе. Здесь нет учетной записи. Нет видимого баланса. Нет последовательного счетчика. Вместо этого, когда вы тратите ноту, вы создаете nullifier. Сеть фиксирует этот nullifier и знает, что нота исчезла. Но она не может связать nullifier обратно с той нотой, откуда он появился. Сам факт расходования доказываем. Но идентичность того, что было потрачено, не раскрывается.
Это различие важно сильнее, чем звучит. В Moonlight ваша история транзакций — читаемая история. В Phoenix сеть знает, что пишутся главы, но не знает, о чем в них написано.
О чем я постоянно думаю — так это о том, какие институты реально хотят какую модель. Банку, который обрабатывает клиринг, может понадобиться Moonlight для аудиторских следов. Инвестиционному фонду, выполняющему стратегию, может понадобиться Phoenix, чтобы избежать фронт-раннинга. Обе модели могут сосуществовать в одной цепочке. Ни одна не заставляет другую идти на компромисс.
То, чего я не могу найти в документации, — как регуляторы рассматривают nullifier как доказательство. Nonce доказывает последовательность. Nullifier доказывает факт расходования, не раскрывая ноту. Являются ли они юридически эквивалентными в контексте комплаенса?
Как вы думаете — когда регулятор просит предоставить доказательства транзакции, nullifier удовлетворяет требованию или просто ставит более сложный вопрос?
#dusk $DUSK @Dusk