Đọc Walrus Đơn Giản: Thu Thập 2f+1 Mảnh & Xác Thực

Đọc một blob từ Walrus là sự đơn giản thuật toán. Một khách hàng chỉ cần hai hành động: thu thập đủ các mảnh và xác thực chúng tái tạo chính xác. Giao thức làm cho cả hai thao tác trở nên minh bạch và hiệu quả.

Việc đọc bắt đầu với một mục tiêu. Khách hàng biết ID blob và PoA trên chuỗi đã cam kết nó. Từ thông tin này, nó suy ra các xác thực viên nào nắm giữ các mảnh nào bằng cách sử dụng cùng một phép tính lưới đã sử dụng trong quá trình ghi. Khách hàng liên hệ với các xác thực viên và yêu cầu các mảnh.

Khách hàng thu thập phản hồi từ các xác thực viên. Một số mảnh đến nhanh (mảnh chính từ các xác thực viên phản hồi). Những mảnh khác đến chậm hoặc không đến (mảnh thứ cấp hoặc các nút không phản hồi). Giao thức yêu cầu một ngưỡng: 2f+1 mảnh trung thực là cần thiết để đảm bảo chính xác ngay cả khi f mảnh bị hỏng hoặc Byzantine.

Khi khách hàng đã có đủ mảnh, việc tái tạo là đơn giản. Sử dụng cấu trúc lưới 2D, nó kết hợp các mảnh và xác thực kết quả với hàm cam kết trên chuỗi. Nếu blob tái tạo khớp với hàm đã cam kết, việc xác thực thành công. Nếu không, khách hàng biết việc tái tạo đã thất bại và có thể thử lại hoặc báo lỗi.

Vẻ đẹp nằm ở sự đơn giản. Không có bầu cử quorum phức tạp. Không có bầu cử lãnh đạo. Không có giao thức đồng thuận. Chỉ cần: thu thập các mảnh, xác thực với cam kết, xong. Nếu xác thực thất bại, thu thập thêm các mảnh và thử lại. Hệ thống tự nhiên có khả năng chống lại các xác thực viên chậm hoặc nói dối.

Sự đơn giản này làm cho việc đọc trở nên mạnh mẽ. Khách hàng có thể thực hiện nó tại chỗ mà không cần phối hợp với các độc giả khác. Các xác thực viên Byzantine không thể gây ra sự không nhất quán vì mỗi độc giả xác thực độc lập với cam kết trên chuỗi.

@Walrus 🦭/acc #Walrus $WAL