Các con đường ít kháng cự nhất: Giới thiệu WFR-Gossip tldr: WFR-Gossip áp dụng các nguyên tắc vận chuyển tối ưu vào lớp gossip của Ethereum. Nó duy trì độ bền của Gossipsub, trong khi giảm băng thông xuống 50% và giảm độ trễ ở mức 90ᵗʰ-percentile xuống 40% trong các mô phỏng.
Gossipsub của Ethereum thì mạnh mẽ nhưng không hiệu quả. Các nút thường nhận cùng một thông điệp nhiều lần. Tốt cho khả năng phục hồi, nhưng tốn kém về băng thông/độ trễ. WFR-Gossip có cách tiếp cận khác: Lấy cảm hứng từ lý thuyết vận chuyển tối ưu, nó chuyển tiếp các thông điệp dọc theo những con đường nhanh hơn. 👇
Tin đồn cổ điển coi việc lan truyền là một quá trình ngẫu nhiên. WFR-Gossip định hình lại nó như một quá trình vận chuyển hàng loạt: một thông điệp giống như một đống cát, và độ trễ là chi phí để di chuyển nó. Điều này kết nối một cách tự nhiên với lý thuyết vận chuyển tối ưu.
Trong một mạng lưới tin đồn: • khối lượng di chuyển = chuyển tiếp một tin nhắn • tạo khối lượng = sao chép một tin nhắn • phá hủy khối lượng = loại bỏ một bản sao Đo lường Wasserstein-Fisher-Rao (WFR) nắm bắt điều này, cho phép chúng ta mô hình hóa dòng tin nhắn với trực giác vật lý.
Mỗi nút sử dụng một quy tắc đơn giản: • Chuyển tiếp đến một vài ngang hàng có độ trễ thấp (D₍robust₎ ≈ 3) • Đối với những người khác, chỉ chuyển tiếp nếu RTT_out < RTT_in Phương pháp phỏng đoán "xuống dốc" này không yêu cầu sự phối hợp toàn cầu. Chỉ là Thời gian khứ hồi (RTT) địa phương, đã có sẵn trong libp2p.
Tại D_robust = 3, WFR-Gossip đạt được: • ~98% độ phủ mạng • Băng thông giảm 50% • Độ trễ phần trăm thứ 90 thấp hơn 40% Giải pháp dự phòng IHAVE/IWANT xử lý 2% nút bị bỏ lỡ còn lại.
WFR-Gossip không chỉ đơn thuần là chuyển tiếp đến peer nhanh nhất. Nó kết hợp tính dư thừa với lọc: sự lan truyền ngẫu nhiên mạnh mẽ + cắt tỉa chọn lọc các đường chậm. Điều này tránh được các điểm nghẽn và ít bị thao túng hơn.
Nó cũng ít xâm lấn: • Không có cấu trúc mới • Tương thích với việc chấm điểm đồng đẳng • Hoạt động tốt với CHOKE, IDONTWANT, v.v. • Chỉ sử dụng các quy tắc và dữ liệu địa phương (RTTs)
Điều gì sẽ xảy ra tiếp theo? • Triển khai trong các mô phỏng libp2p • Kiểm tra dưới các điều kiện thực tế/đối kháng hơn công việc ban đầu của @open_sourcery ở đây:
Liên kết đến bài viết: Liên kết đến kho githup cho mã mô phỏng: Cảm ơn Leo Monsaingeon, @casparschwa, @_julianma, @weboftrees, @raulvk, @yannvon, @cskiraly và @open_sourcery vì những phản hồi và đánh giá!
11,73K