#nil $NIL @Nillion
Covenant của Nillion đặt ra một câu hỏi thú vị về niềm tin: điều gì xác lập rằng một chỉ thị riêng tư nên được tiết lộ?
Nillion mô tả kiến trúc của mình như sau: một Covenant niêm phong dữ liệu theo một điều kiện. Các phần dữ liệu đã mã hóa được phân phối cho một hội đồng gồm nhiều nút, để không một bên vận hành đơn lẻ nào có thể tự mình khôi phục dữ liệu gốc. Khi điều kiện được đáp ứng, các nút công bố phần dữ liệu của mình, cho phép khôi phục và xác minh dữ liệu trên Ethereum trước khi hành động tiếp theo diễn ra.
Điểm khác biệt then chốt nằm giữa cơ chế được mô tả—niêm phong một chỉ thị theo một điều kiện—và những bảo đảm an ninh rộng hơn, vốn phụ thuộc vào cách giao thức được triển khai cũng như các giả định của nó.
Hãy xét một giao dịch có điều kiện gắn với nguồn cấp dữ liệu giá. Nếu nguồn cấp dữ liệu đó bị trễ hoặc không chính xác, việc giữ chỉ thị ở trạng thái mã hóa cũng không khiến dữ liệu kích hoạt trở nên đáng tin cậy. Tính bảo mật giúp bảo vệ chiến lược khỏi bị lộ sớm; nhưng tự nó không đảm bảo điều kiện được đánh giá chính xác. Vì vậy, các giả định về niềm tin liên quan đến việc kích hoạt và tiết lộ cũng quan trọng không kém cơ chế bảo mật.
Câu hỏi sâu xa hơn là hệ thống cần đặt niềm tin vào điều gì. Điều kiện chính xác, việc tiết lộ hợp lệ và tính bảo mật là những yêu cầu riêng biệt. Bảo vệ dữ liệu không tự động chứng minh rằng điều kiện kích hoạt đã được đánh giá chính xác hoặc việc tiết lộ tuân theo các quy tắc dự kiến. Những bảo đảm đó phụ thuộc vào thiết kế xác minh của giao thức và các giả định mà giao thức dựa vào.
Để việc thực thi dựa trên điều kiện trở nên khả thi trong thực tế, khía cạnh nào cần được xem xét kỹ lưỡng nhất: độ tin cậy của điều kiện kích hoạt, tính toàn vẹn của việc tiết lộ, hay những giả định mà giao thức dựa vào để bảo vệ cả hai?