Một chi tiết khiến tôi suy nghĩ mãi là nonce 32 byte được thêm vào mỗi payload.

Nó giống như khóa một mẩu tin ngắn trong hộp rồi đặt vào đó một chuỗi ngẫu nhiên dài, để không ai có thể đoán được nội dung chỉ bằng cách nhìn ổ khóa.

Trong Covenants, giao thức không chỉ đơn giản băm chỉ thị. Nó nối thêm một nonce 32 byte rồi tạo commitment keccak256(payload || nonce). Vì nhiều chỉ thị giao dịch trên thị trường ngắn và dễ đoán, lượng ngẫu nhiên bổ sung này khiến việc đoán mò bằng vét cạn trở nên bất khả thi trên thực tế.

Bạn được bảo vệ tốt hơn trước nguy cơ ai đó đối chiếu commitment trên chuỗi với một lệnh phổ biến. Đổi lại, bạn phải dùng thêm 32 byte entropy không bao giờ xuất hiện trên chuỗi và tác giả phải lưu trữ an toàn cho đến khi tiết lộ.

Thêm 32 byte ngẫu nhiên được giữ kín có phải là cái giá hợp lý để ngăn người khác đoán được các chỉ thị dễ đoán không?

#nil $NIL @Nillion