Прошлой ночью я снова прошёлся по документации по моделям транзакций @Dusk и потратил пару часов, пытаясь понять, как именно Moonlight и Phoenix сочетаются друг с другом.
Сначала различие казалось чётким. Moonlight — это прозрачная, аккаунт-ориентированная сторона, где каждый аккаунт хранит публичное состояние, отражающее его баланс и nonce. Phoenix — заметочная, скрытая сторона: заметка устроена вокруг публичного ключа получателя, значения v и дополнительных случайных скаляров; при этом заметки индексируются внутри дерева Меркла, чтобы спендёр мог доказать включение, не раскрывая саму заметку. Для расходования требуется доказательство с нулевым разглашением и публикация nullifier’а, чтобы сеть могла отклонить двойные траты. В документах также сказано, что значения заметок ограничены 2^{64}-1.
Описаны пути конвертации между двумя моделями (депозит в заметки Phoenix, вывод обратно в аккаунты Moonlight), но я всё время застревал на точных предположениях безопасности, которые сохраняются во время этих «передач». Утверждается, что схемы гарантируют корректность, однако я не смог найти ясного заявления о том, может ли одна некорректная конвертация повлиять на глобальный набор nullifier’ов или на прозрачные балансы, от которых зависят смарт-контракты.
Это навело меня на более общий вопрос о децентрализации: если большая часть стоимости в итоге живёт в заметках Phoenix, то насколько реальная управляющая (governance) власть остаётся у прозрачного аккаунт-слоя, который на самом деле видят контракты и оракулы?
Действующий дизайн схем и ограничение значения 2^{64}-1 считаются окончательными, или же всё ещё остаются открытые параметры по генерации заметок, глубине дерева Меркла и уникальности nullifier’ов, над которыми сообщество продолжает работать?
Буду благодарен за любые подсказки от людей, которые ушли глубже в доказательства.
#dusk $DUSK
Сначала различие казалось чётким. Moonlight — это прозрачная, аккаунт-ориентированная сторона, где каждый аккаунт хранит публичное состояние, отражающее его баланс и nonce. Phoenix — заметочная, скрытая сторона: заметка устроена вокруг публичного ключа получателя, значения v и дополнительных случайных скаляров; при этом заметки индексируются внутри дерева Меркла, чтобы спендёр мог доказать включение, не раскрывая саму заметку. Для расходования требуется доказательство с нулевым разглашением и публикация nullifier’а, чтобы сеть могла отклонить двойные траты. В документах также сказано, что значения заметок ограничены 2^{64}-1.
Описаны пути конвертации между двумя моделями (депозит в заметки Phoenix, вывод обратно в аккаунты Moonlight), но я всё время застревал на точных предположениях безопасности, которые сохраняются во время этих «передач». Утверждается, что схемы гарантируют корректность, однако я не смог найти ясного заявления о том, может ли одна некорректная конвертация повлиять на глобальный набор nullifier’ов или на прозрачные балансы, от которых зависят смарт-контракты.
Это навело меня на более общий вопрос о децентрализации: если большая часть стоимости в итоге живёт в заметках Phoenix, то насколько реальная управляющая (governance) власть остаётся у прозрачного аккаунт-слоя, который на самом деле видят контракты и оракулы?
Действующий дизайн схем и ограничение значения 2^{64}-1 считаются окончательными, или же всё ещё остаются открытые параметры по генерации заметок, глубине дерева Меркла и уникальности nullifier’ов, над которыми сообщество продолжает работать?
Буду благодарен за любые подсказки от людей, которые ушли глубже в доказательства.
#dusk $DUSK
