#dusk $DUSK Hôm nay tôi đang đọc tài liệu mô hình giao dịch Phoenix của @Dusk , bị mắc kẹt ở một khái niệm khá cơ bản đối với chuỗi quyền riêng tư nhưng lại rất dễ bị bỏ qua: $DUSK thực ra ở tầng giao thức căn bản không có khái niệm "tài khoản".
Trên một blockchain minh bạch như Ethereum, mỗi địa chỉ chính là một tài khoản: số dư và lịch sử giao dịch đều có thể nhìn thấy toàn mạng. Nhưng Phoenix đi theo hướng UTXO — tầng giao thức không lưu tài khoản, mà chỉ lưu một tập hợp những thứ gọi là "note". Mỗi note chứa số tiền và một điều kiện chi tiêu. Giao dịch chính là quá trình tiêu thụ các note cũ và tạo ra các note mới. Hash của note mới được thêm vào một cây Merkle; các lá của cây chứa dấu vân tay (fingerprint) của toàn bộ note trong mạng.
Thiết kế chống chi tiêu hai lần (double-spend) ở đây trở nên rất thú vị. Mỗi giao dịch sẽ kèm theo một tập giá trị xác định gọi là "nullifier"; mỗi nullifier tương ứng với một note đã bị tiêu thụ, và được đánh dấu là đã vô hiệu. Nhưng cách tạo nullifier được xử lý bằng mật mã: người quan sát bên ngoài nhìn thấy một nullifier nào đó xuất hiện, họ biết rằng "đã có note bị chi tiêu", nhưng không thể đối chiếu nullifier đó với đúng note nào. Mạng đã xác nhận việc vô hiệu hóa (nullification), nhưng không biết việc đó đã vô hiệu hóa note của ai.
Tôi ví von một chút: nó không giống việc đối chiếu sổ sách ngân hàng, lật tới một trang là biết được toàn bộ dòng tiền của một người. Nó giống như làm vụn từng tờ biên nhận rồi ném vào máy hủy giấy, sau đó bằng cách mã hóa cho hệ thống biết rằng "biên nhận này đã được vô hiệu hóa". Hệ thống xác nhận là vô hiệu hóa hợp lệ, nhưng kẻ đã bốc xục máy hủy giấy không ghép lại được biên nhận gốc, cũng không biết biên nhận đó vốn thuộc về ai.
Nhưng thiết kế này cũng không phải là miễn phí. Khi số lượng note tăng lên, cây Merkle sẽ phình ra; các nút đầy đủ (full node) cần duy trì toàn bộ cấu trúc cây. Việc tạo nullifier phụ thuộc vào các giả định mật mã ở tầng dưới; nếu lựa chọn tham số có vấn đề, thì bảo vệ quyền riêng tư sẽ coi như vô nghĩa. Tài liệu chính thức công khai chi tiết giao thức, nhưng trong môi trường sản xuất, tỷ lệ va chạm của nullifier và tốc độ phình cây cần được tiếp tục đối chiếu sau khi đưa lên mainnet.
Nhìn vào #dusk lớp quyền riêng tư, tôi sẽ không chỉ chăm chăm vào câu nhãn "dùng UTXO". Thứ cần theo dõi thực sự là đường cong tăng trưởng số lượng note, kích thước tập nullifier và tải lưu trữ của các nút xác thực. $DUSK nhúng quyền riêng tư vào đáy giao thức, nhưng chi phí duy trì sổ cái ở tầng dưới cuối cùng sẽ phản ánh lên hiệu năng của toàn mạng.
#dusk @Dusk
Trên một blockchain minh bạch như Ethereum, mỗi địa chỉ chính là một tài khoản: số dư và lịch sử giao dịch đều có thể nhìn thấy toàn mạng. Nhưng Phoenix đi theo hướng UTXO — tầng giao thức không lưu tài khoản, mà chỉ lưu một tập hợp những thứ gọi là "note". Mỗi note chứa số tiền và một điều kiện chi tiêu. Giao dịch chính là quá trình tiêu thụ các note cũ và tạo ra các note mới. Hash của note mới được thêm vào một cây Merkle; các lá của cây chứa dấu vân tay (fingerprint) của toàn bộ note trong mạng.
Thiết kế chống chi tiêu hai lần (double-spend) ở đây trở nên rất thú vị. Mỗi giao dịch sẽ kèm theo một tập giá trị xác định gọi là "nullifier"; mỗi nullifier tương ứng với một note đã bị tiêu thụ, và được đánh dấu là đã vô hiệu. Nhưng cách tạo nullifier được xử lý bằng mật mã: người quan sát bên ngoài nhìn thấy một nullifier nào đó xuất hiện, họ biết rằng "đã có note bị chi tiêu", nhưng không thể đối chiếu nullifier đó với đúng note nào. Mạng đã xác nhận việc vô hiệu hóa (nullification), nhưng không biết việc đó đã vô hiệu hóa note của ai.
Tôi ví von một chút: nó không giống việc đối chiếu sổ sách ngân hàng, lật tới một trang là biết được toàn bộ dòng tiền của một người. Nó giống như làm vụn từng tờ biên nhận rồi ném vào máy hủy giấy, sau đó bằng cách mã hóa cho hệ thống biết rằng "biên nhận này đã được vô hiệu hóa". Hệ thống xác nhận là vô hiệu hóa hợp lệ, nhưng kẻ đã bốc xục máy hủy giấy không ghép lại được biên nhận gốc, cũng không biết biên nhận đó vốn thuộc về ai.
Nhưng thiết kế này cũng không phải là miễn phí. Khi số lượng note tăng lên, cây Merkle sẽ phình ra; các nút đầy đủ (full node) cần duy trì toàn bộ cấu trúc cây. Việc tạo nullifier phụ thuộc vào các giả định mật mã ở tầng dưới; nếu lựa chọn tham số có vấn đề, thì bảo vệ quyền riêng tư sẽ coi như vô nghĩa. Tài liệu chính thức công khai chi tiết giao thức, nhưng trong môi trường sản xuất, tỷ lệ va chạm của nullifier và tốc độ phình cây cần được tiếp tục đối chiếu sau khi đưa lên mainnet.
Nhìn vào #dusk lớp quyền riêng tư, tôi sẽ không chỉ chăm chăm vào câu nhãn "dùng UTXO". Thứ cần theo dõi thực sự là đường cong tăng trưởng số lượng note, kích thước tập nullifier và tải lưu trữ của các nút xác thực. $DUSK nhúng quyền riêng tư vào đáy giao thức, nhưng chi phí duy trì sổ cái ở tầng dưới cuối cùng sẽ phản ánh lên hiệu năng của toàn mạng.
#dusk @Dusk
你觉得Phoenix的隐私设计比混币器强在哪
100%
隐私链的账本膨胀是不是无解
0%
Dusk和Zcash的隐私模型差别在哪?
0%
1 phiếu bầu • Cuộc bỏ phiếu đã kết thúc