Tôi đã giả định rằng Newton có một hệ thống mã hóa duy nhất cho mọi thứ nhạy cảm.

Nhưng khi xem qua tài liệu CLI, thì không đúng. Có hai hệ thống, và chúng bảo vệ những thứ khác nhau khỏi những nhóm người khác nhau.

Một hệ thống xử lý bí mật — khóa API mà một nhà cung cấp dữ liệu WASM cần để gọi một dịch vụ bên ngoài (khóa indexer, thông tin xác thực API trả phí). HPKE phía máy khách, được mã hóa bằng X25519/ChaCha20-Poly1305, được lấy qua newt_getSecretsPublicKey, và được lưu bằng newt_storeEncryptedSecrets. Điều này ngăn không cho các thông tin đăng nhập của nhà cung cấp bị đọc được trên chuỗi (onchain).

Hệ thống còn lại xử lý dữ liệu riêng tư — chính các đầu vào nhạy cảm mà một chính sách sẽ đánh giá (giấy tờ tùy thân, điểm tín dụng, danh sách đen). Sử dụng một khóa riêng, được lấy qua newt_getPrivacyPublicKey. Điều này giúp bảo vệ dữ liệu của người dùng hoặc của nhà cung cấp khỏi việc bị đọc được trên chuỗi (onchain).

Khóa khác nhau, endpoint khác nhau, mục đích khác nhau. Một hệ thống giữ cho phần “đường ống” (plumbing) của nhà cung cấp dữ liệu ở chế độ riêng tư. Hệ thống kia giữ cho các đầu vào quyết định thực sự ở chế độ riêng tư.

Chỉ là một khác biệt nhỏ. Nhưng nếu trộn lẫn chúng, sẽ bỏ sót rằng Newton đã vẽ ra một ranh giới có chủ đích giữa “bảo vệ hạ tầng” và “bảo vệ con người”, đồng thời xây dựng các cơ chế riêng biệt cho từng phần thay vì một hộp đen đa dụng.

@NewtonProtocol $NEWT #Newt