Một chi tiết tôi cứ phải quay lại khi nghiên cứu @Dusk là cách Moonlight và Phoenix xử lý tính duy nhất của giao dịch khác nhau như thế nào.

Moonlight sử dụng nonce để chống phát lại. Một tài khoản đi qua một chuỗi giao dịch. Vì vậy, một khi nonce đã được tiêu thụ, thì một giao dịch cũ không thể được phát lại đơn giản.

Nó gọn gàng và có thể dự đoán. Nhưng có một sự đánh đổi về vận hành: các ví, sàn giao dịch và bên lưu ký cần quản lý nonce chính xác khi nhiều giao dịch được ký hoặc được phát đi.

Phoenix tiếp cận vấn đề theo cách khác.

Các ghi chú được che chắn (shielded notes) của nó sử dụng nullifier để ngăn chi tiêu kép. Khi một ghi chú được chi, nullifier của nó sẽ được mạng ghi nhận. Một lần thử thứ hai dùng chính ghi chú đó sau đó có thể bị từ chối mà không cần tiết lộ chính bản ghi chú riêng tư.

Điều đó tạo ra một sự khác biệt mà tôi thấy hữu ích.

Moonlight bảo vệ thứ tự giao dịch.

Phoenix bảo vệ việc tiêu thụ ghi chú riêng tư.

Chúng không phải là các mô hình bảo mật cạnh tranh nhau. Chúng được thiết kế dựa trên những giả định thông tin khác nhau.

Phần thú vị nằm ở chỗ độ phức tạp chuyển sang đâu. Moonlight cần sự phối hợp trạng thái tài khoản đáng tin cậy, trong khi Phoenix cần việc phát hiện ghi chú riêng tư và theo dõi nullifier đáng tin cậy.

Ở quy mô lớn, việc quản lý điều nào sẽ trở nên khó hơn mà không làm suy giảm bảo mật hoặc quyền riêng tư?

#dusk $DUSK #Dusk #DUSK