Hải Mã Đối Mặt Với Thách Thức Đồng Bộ Trong Hệ Thống Lưu Trữ Ngày Nay
Các hệ thống lưu trữ phi tập trung dựa vào các thách thức để xác minh rằng các xác thực viên thực sự lưu trữ dữ liệu. Một cơ chế đơn giản: giao thức ngẫu nhiên hỏi "bạn có blob X không?" và mong đợi phản hồi nhanh chóng. Vấn đề là tính đồng bộ—điều này chỉ hoạt động nếu các phản hồi đến trong những khoảng thời gian dự đoán được.
Các mạng thực tế luôn vi phạm giả định này. Một xác thực viên có thể lưu trữ dữ liệu chính xác nhưng gặp phải độ trễ mạng, tắc nghẽn khu vực, hoặc các sự cố ngắn hạn. Dưới các sơ đồ thách thức đồng bộ, xác thực viên trung thực này có vẻ không phản hồi. Giao thức trừng phạt nó mặc dù hành vi của nó là đúng. Trong khi đó, các xác thực viên thực sự có ý đồ xấu có thể thời gian phản hồi của họ một cách chiến lược, né tránh phát hiện.
Các thách thức đồng bộ tạo ra những động lực sai lệch. Các hệ thống phải đặt thời gian chờ một cách lỏng lẻo để tránh phát hiện sai, điều này làm cho việc phát hiện trở nên chậm chạp. Hoặc họ đặt thời gian chờ một cách chặt chẽ để bắt kịp hành vi sai trái nhanh chóng, điều này trừng phạt các nút trung thực gặp phải các vấn đề mạng tạm thời. Dù theo cách nào, hệ thống cũng bị suy giảm.
@Walrus 🦭/acc bỏ hoàn toàn các thách thức đồng bộ. Việc xác minh không đồng bộ của nó không phụ thuộc vào thời gian phản hồi. Một thách thức vẫn còn hợp lệ cho dù phản hồi đến trong mili giây hay nhiều ngày. Các xác thực viên không thể né tránh thông qua việc trì hoãn chiến lược, và các nút trung thực không bao giờ bị trừng phạt vì các điều kiện mạng nằm ngoài tầm kiểm soát của họ.
Sự chuyển đổi từ đồng bộ sang không đồng bộ là tinh tế nhưng sâu sắc—nó làm cho các giả định của giao thức phù hợp với cách mà các mạng thực tế thực sự hoạt động.

