#dusk $DUSK @Dusk
Tôi đã không nghĩ nhiều về lớp mạng cho đến khi nhận ra rằng Dusk không di chuyển khối và phiếu bầu theo cách như hầu hết các chuỗi. Thay vì ngập tràn mọi tin nhắn tới mọi đối tác (peer), nó sử dụng một thứ gọi là Kadcast, được xây dựng dựa trên định tuyến có cấu trúc kiểu Kademlia.
Chỉ riêng việc đó đã nghe giống như một chi tiết backend mà không ai ngoài nhóm cốt lõi để ý. Nhưng nó trở nên quan trọng hơn khi đặt cạnh cách Succinct Attestation thực sự hoạt động. Đồng thuận dựa trên ủy ban phụ thuộc vào một nhóm nhỏ các bộ cung cấp (provisioners) trao đổi phiếu bầu đủ nhanh để chốt một khối trong vòng vài giây. Nếu lớp mạng bên dưới chậm hoặc lãng phí băng thông bằng cách phát lại cùng một tin nhắn cho mọi người, thì “cửa sổ” bầu chọn chặt chẽ đó sẽ khó đạt được hơn khi tập validator tăng lên hoặc bị phân tán theo phạm vi địa lý.
Kadcast định tuyến tin nhắn theo các đường đi xác định dựa trên khoảng cách trong mạng thay vì phát tràn ngẫu nhiên, và kết quả được ghi nhận là băng thông tiêu thụ trên mỗi tin nhắn thấp hơn một cách đáng kể. Với một chuỗi dựa vào các ủy ban trao đổi phiếu bầu mỗi vòng, đây không phải là một lợi ích mang tính trang trí — nó gần như là một điều kiện tiên quyết để các cam kết về tính cuối cùng (finality) thực sự giữ vững ở quy mô lớn, chứ không chỉ trong một testnet nhỏ.
Điều tôi chưa nắm rõ là việc điều này hoạt động ra sao trong các điều kiện khó hơn: tập validator trải rộng qua nhiều châu lục, chất lượng kết nối không đều, hoặc hành vi đối kháng thực sự ở lớp mạng thay vì chỉ là sự kém hiệu quả đơn thuần. Các giao thức định tuyến có cấu trúc mang theo các đánh đổi riêng khi các nút có hành vi sai trái hoặc rơi rớt không thể đoán trước. Liệu hiệu quả của Kadcast có còn được duy trì khi mạng lớn hơn và “lộn xộn” hơn so với hiện tại hay không dường như chỉ thực sự biết được khi các bài kiểm tra quy mô thực tế đánh giá điều đó.
Tôi đã không nghĩ nhiều về lớp mạng cho đến khi nhận ra rằng Dusk không di chuyển khối và phiếu bầu theo cách như hầu hết các chuỗi. Thay vì ngập tràn mọi tin nhắn tới mọi đối tác (peer), nó sử dụng một thứ gọi là Kadcast, được xây dựng dựa trên định tuyến có cấu trúc kiểu Kademlia.
Chỉ riêng việc đó đã nghe giống như một chi tiết backend mà không ai ngoài nhóm cốt lõi để ý. Nhưng nó trở nên quan trọng hơn khi đặt cạnh cách Succinct Attestation thực sự hoạt động. Đồng thuận dựa trên ủy ban phụ thuộc vào một nhóm nhỏ các bộ cung cấp (provisioners) trao đổi phiếu bầu đủ nhanh để chốt một khối trong vòng vài giây. Nếu lớp mạng bên dưới chậm hoặc lãng phí băng thông bằng cách phát lại cùng một tin nhắn cho mọi người, thì “cửa sổ” bầu chọn chặt chẽ đó sẽ khó đạt được hơn khi tập validator tăng lên hoặc bị phân tán theo phạm vi địa lý.
Kadcast định tuyến tin nhắn theo các đường đi xác định dựa trên khoảng cách trong mạng thay vì phát tràn ngẫu nhiên, và kết quả được ghi nhận là băng thông tiêu thụ trên mỗi tin nhắn thấp hơn một cách đáng kể. Với một chuỗi dựa vào các ủy ban trao đổi phiếu bầu mỗi vòng, đây không phải là một lợi ích mang tính trang trí — nó gần như là một điều kiện tiên quyết để các cam kết về tính cuối cùng (finality) thực sự giữ vững ở quy mô lớn, chứ không chỉ trong một testnet nhỏ.
Điều tôi chưa nắm rõ là việc điều này hoạt động ra sao trong các điều kiện khó hơn: tập validator trải rộng qua nhiều châu lục, chất lượng kết nối không đều, hoặc hành vi đối kháng thực sự ở lớp mạng thay vì chỉ là sự kém hiệu quả đơn thuần. Các giao thức định tuyến có cấu trúc mang theo các đánh đổi riêng khi các nút có hành vi sai trái hoặc rơi rớt không thể đoán trước. Liệu hiệu quả của Kadcast có còn được duy trì khi mạng lớn hơn và “lộn xộn” hơn so với hiện tại hay không dường như chỉ thực sự biết được khi các bài kiểm tra quy mô thực tế đánh giá điều đó.