Kadcast Rốt cuộc “ngầu” ở điểm nào? Tôi đọc xong luận văn mới hiểu vì sao @Dusk dám khẳng định nhanh gấp gần 10 lần!
Tôi vẫn luôn nghĩ rằng đa số các dự án chuỗi khối hay “khoe” hiệu năng bằng những con số bề nổi như TPS, nhưng lại rất ít ai chịu đào sâu cơ chế lan truyền mạng ở tầng thấp. Theo tôi, đây lại chính là phần dễ bị bỏ qua nhất, nhưng lại là yếu tố then chốt quyết định một chuỗi có chịu nổi tải của tổ chức hay không. Khi nghiên cứu Kadcast, tôi mới nhận ra mảng này đang bị đánh giá thấp nghiêm trọng.
Hầu hết blockchain truyền thống đều dùng giao thức gossip để lan truyền: các nút ngẫu nhiên chuyển tiếp tin nhắn cho hàng xóm, dựa vào độ dư thừa để đảm bảo tin nhắn đến toàn mạng. Cách làm thì đơn giản và thô bạo, nhưng cái giá là lãng phí băng thông và thời gian lan truyền không thể đoán trước. Tôi dám nói đây cũng là nguyên nhân “ẩn” khiến nhiều chuỗi bị chậm chạp khi tải tăng cao; người dùng thường chỉ đổ lỗi cho phí gas, nhưng thực ra tầng mạng đã bắt đầu chật vật từ rất sớm.
Tư duy của Kadcast hoàn toàn khác. Nó mượn mạng phủ có cấu trúc theo kiểu Kademlia, dùng khoảng cách XOR để xác định đường đi lan truyền, thay vì flooding ngẫu nhiên. Mỗi tin nhắn có đường đi mang tính xác định, độ phức tạp là O(log n) thay vì kiểu “bung ra” khó đoán của gossip. Tôi đoán chính khác biệt thiết kế này mới là nền tảng khiến phía chính thức dám nói hiệu quả tăng gấp 10 lần—một kết quả tất yếu xuất phát từ cấu trúc liên kết (topology).
Điều bất ngờ hơn là Kadcast chạy trên UDP: tích hợp sửa lỗi tiến (forward error correction) để ứng phó với mất gói, vừa nhẹ nhàng vừa vẫn cân bằng được độ tin cậy. Dữ liệu mô phỏng trong các bài báo học thuật cũng ủng hộ điều này: trong kịch bản khối 1MB, thời gian lan truyền trung bình nhanh hơn phương án truyền thống vài giây. Trong thế giới blockchain, chênh lệch vài giây lại có ý nghĩa quyết định đối với tốc độ xử lý và tính cuối cùng (finality).
Ý nghĩa của bộ thiết kế này không chỉ dừng ở chữ “nhanh”. Kết hợp với đồng thuận của hội đồng trong Succinct Attestation, việc tầng mạng lan truyền hiệu quả trực tiếp quyết định vòng đồng thuận có thể tiến triển trơn tru hay không. Lan truyền chậm thì bỏ phiếu chậm, finality cũng chậm. Kadcast gần như là trải một con đường cao tốc phẳng phiu hơn cho cơ chế đồng thuận—đó cũng là lý do Dusk tự tin đưa “finality xác định ở mức tài chính” làm điểm bán hàng.
Tất nhiên, mạng có cấu trúc cũng không phải không trả giá. So với độ dư thừa tự nhiên của gossip, đường đi có cấu trúc về mặt lý thuyết chịu lỗi kém hơn trong các tình huống phân mảnh cực đoan; dù có sửa lỗi giúp giảm thiểu, về lâu dài vẫn cần theo dõi. $DUSK
Nhưng nhìn chung, thái độ “xem tầng mạng như một công dân hạng nhất” để tối ưu của Kadcast thẳng thắn hơn nhiều so với đa số dự án chỉ biết đóng miệng không nói về hiệu quả P2P. Hào quang phòng tuyến (moat) thực sự, thường lại nằm ở những chỗ ít người chịu để ý cẩn thận như vậy. #dusk #btc