Tiêu đề gốc: "Về chứng thực, tuyên truyền khối và trò chơi tính thời gian"
Được viết bởi: Nero_eth
Biên soạn bởi: Tia, Techub News
Ngày nay, trò chơi tính thời gian của người đề xuất rất phổ biến và có nhiều nghiên cứu đã phân tích hiện tượng này.
Bài viết này sẽ giúp bạn tìm hiểu sự phát triển của trò chơi tính thời gian của người đề xuất và phân tích tác động của nó đối với các nhân chứng. Thông qua các nghiên cứu điển hình về các nhà khai thác nút tại Lido, Coinbase và Kiln, chúng ta sẽ đi sâu vào trò chơi tính thời gian đề xuất khối và tác động của nó đối với sự đồng thuận của Ethereum.
Tính đến tháng 8 năm 2024, thị trường xây dựng khối phần lớn được thuê ngoài, với ~90% khối được xây dựng bởi các nhà xây dựng khối mevboost. Trong số này, Titan Builder và Beaverbuild xây dựng khoảng 80% số khối.
Kiln là một trong những thực thể chính điều khiển trò chơi tính thời gian, trì hoãn các đề xuất khối từ 3-3,5 giây trong một vị trí duy nhất.
Trong môi trường mevboost hiện tại, việc truyền khối chủ yếu được thực hiện thông qua rơle. Mặc dù người đề xuất vẫn sẽ truyền một khối sau khi nhận được nó từ bộ chuyển tiếp, nhưng bộ chuyển tiếp thường có kết nối mạng tốt hơn và do đó có thể hoàn thành việc truyền bá nhanh hơn. Tuy nhiên, thời gian vẫn được kiểm soát bởi người đề xuất, người này có thể trì hoãn lệnh gọi "getHeader" của họ để xác định thời gian.
Sơ đồ này cho thấy sự phát triển của trò chơi tính thời gian. Chúng ta có thể thấy rằng theo thời gian, các khối do trình xác thực Kiln đề xuất tương đối bị trễ trong vùng.
Điều này có tác động đến mạng: các khối do người đề xuất Kiln đề xuất có số phiếu bầu tiêu đề khối bị bỏ sót/sai cao hơn đáng kể.
Phân tích trước đây cho thấy thời gian chờ đợi càng lâu thì số phiếu bầu tiêu đề khối bị bỏ lỡ dự kiến càng cao ("80% nhân chứng xảy ra ở giây thứ 5 của khung"). Kiln đề xuất các khối rất muộn, khiến một số nhân chứng bỏ lỡ chúng và thay vào đó bỏ phiếu cho khối chính. Mỗi vị trí sẽ được phân bổ khoảng 32.000 người xác thực, điều này sẽ dẫn đến tỷ lệ bỏ phiếu khối không chính xác khoảng 10%.
Chúng ta hãy xem hành vi chứng kiến của ba nhà khai thác nút lớn và so sánh cách họ phản ứng với các khối được đề xuất tại các thời điểm khác nhau. Hình dưới đây cho thấy sự phân phối chính xác và kịp thời của phiếu bầu tiêu đề khối trong vòng vài giây.
Đối với các khối ban đầu, chúng tôi đã quan sát thấy hình chữ “U” đặc trưng trong các mẫu biểu quyết cho Lido và Coinbase, điều này có thể là do các khu vực địa lý hoặc phần mềm khách hàng khác nhau. Ngược lại, Kiln cho thấy một đỉnh rõ ràng hơi kém so với đỉnh đầu tiên của Coinbase và Lido. Tuy nhiên, đối với những khối sau này, nhân chứng của Kiln cũng cho thấy hình chữ “U”.
Khi khối xuất hiện lần đầu tiên trong khe sau 4 giây (vì là mạng P2P, mỗi nút sẽ nhận khối vào một thời điểm khác nhau), nhân chứng Lido chứng kiến sớm hơn tới 2 giây so với nhân chứng Kiln hoặc Coinbase. Mô hình này không nhất thiết chỉ ra rằng Kiln đang thực hiện một "chiến lược cá nhân". Thay vào đó, điều này có thể là do sự khác biệt về khách hàng hoặc vị trí địa lý.
Ai đã ảnh hưởng đến ai?
Trong hình bên dưới, chúng tôi so sánh hiệu suất của các toán tử nút theo các đề xuất khác nhau. Ví dụ: phần màu xanh lá cây phía trên y=1 chỉ ra rằng nhân chứng Lido sẽ có nhiều khả năng bỏ lỡ phiếu bầu tiêu đề khối khi Kiln đề xuất một khối với tư cách là người đề xuất. Tuy nhiên, khi Lido là người đề xuất thì nhân chứng Lido là người chứng kiến khối kịp thời nhất. Đường đứt nét 1 thể hiện tỷ lệ trung bình của số phiếu bầu tiêu đề khối bị bỏ lỡ trong số tất cả các thực thể đóng vai trò là người đề xuất. Thanh dưới 1 có nghĩa là một thực thể cụ thể đã bỏ lỡ ít phiếu bầu tiêu đề khối hơn khi kết hợp với người đề xuất tương ứng so với mức trung bình.
Đáng chú ý, các nhà khai thác nút hoạt động tốt nhất khi xử lý các khối được đề xuất của riêng họ.
Tóm tắt nhanh về những gì chúng tôi đã thấy:
Hầu hết các nhà khai thác thực hiện tương đối nhất quán khi các nhà khai thác khác đề xuất các khối với tư cách là người đề xuất.
Figment, Lido, Kraken và EtherFi hoạt động kém khi Kiln đề xuất các khối với tư cách là người đề xuất.
Chỉ Kiln và Binance hoạt động tốt hơn khi Kiln đề xuất các khối với tư cách là người đề xuất.
Kiln làm rất tốt công việc của một nhân chứng. Phân tích ban đầu cho thấy Kiln vượt trội hơn khi có trình xác nhận hiệu suất cao. Để biết thêm chi tiết về hiệu suất của Kiln's Witness, hãy xem phân tích này.
Nhưng Kiln đã gây ra áp lực. Bây giờ chúng ta biết rằng việc ngăn cản do Kiln đề xuất đã gây áp lực lên các nhân chứng khác, chứ không phải lên các nhân chứng của Kiln.
Hiện tại, thật khó để giải thích "Làm thế nào". Một lời giải thích có thể là các trình xác nhận của Kiln có tính tập trung cao độ, chạy cùng vị trí hoặc có kết nối ngang hàng rất dày đặc. Một lý do khác có thể là hành vi phối hợp của những người xác thực kết nối chúng thông qua mạng ngang hàng/riêng tư tùy chỉnh hoặc thông qua các lớp giao tiếp bổ sung khác. Loại thứ hai được coi là có tính chất tập trung hơn vì nó nhấn mạnh hơn vào tính kinh tế theo quy mô.
Chúng ta có thể quan sát mô hình tương tự khi xem xét thời gian chứng thực (chính xác và kịp thời) của Lido và Coinbase khi mỗi khối đề xuất một khối với tư cách là người đề xuất.
Điều thú vị là Kiln đã phát triển phân bổ hình chữ “U” từ 3,8 giây đến 6,1 giây cho các khối muộn của riêng họ, trong khi Lido đạt mức cao nhất là 4,2 giây và Coinbase bắt đầu có mức phân bổ ở mức 4 giây ở mức cao nhất, với một đỉnh nhỏ. lúc 6 giây.
Ngăn chặn việc tổ chức lại các khối đề xuất của riêng bạn
Hãy chuyển sự chú ý của chúng ta sang khối được tổ chức lại. Từ quan điểm của người vận hành nút, một chiến lược có thể là không bao giờ bỏ phiếu cho một khối tự tổ chức lại. Nói một cách đơn giản, "Nếu người đề xuất là tôi, đừng bao giờ bầu chọn khối gốc làm tiêu đề khối."
Trong các phần sau, tôi sẽ sử dụng “khối cục bộ” để thể hiện “khối tự đề xuất”.
Biểu đồ bên dưới hiển thị tỷ lệ phần trăm nhân chứng đã bỏ phiếu cho khối được tổ chức lại so với những người đã bỏ phiếu cho khối chính. Phần màu đỏ thể hiện tỷ lệ nhân chứng được đơn vị bầu chọn để tổ chức lại khối.
Kiln đang có biểu hiện bất thường. Trong khi hầu hết các nhân chứng của người vận hành nút đều bỏ phiếu thành thật cho tiêu đề khối chính xác thay vì khối cục bộ, thì nhân chứng của Kiln lại không như vậy. Hơn 10% nhân chứng của Kiln cố gắng duy trì hoạt động của các khối cục bộ bằng cách bỏ phiếu cho chúng. Nếu chiến lược như vậy được áp dụng, họ có thể phải chịu tổn thất do bỏ phiếu cho tiêu đề khối sai. Tuy nhiên, những chiến lược này thường bị coi thường trong cộng đồng Ethereum: “Đừng chơi với sự đồng thuận”.
Biểu đồ này sử dụng dữ liệu 365 ngày. Do đó, nếu một số chiến lược phức tạp được thực hiện trong năm qua thì tỷ trọng của phần màu đỏ sẽ nhỏ hơn tương ứng.
Nhưng chúng ta nghĩ thế nào về sự hợp tác ở các cấp độ khác?
Về sự cộng tác của nhân chứng, với tư cách là một cộng đồng, chúng tôi dường như chấp nhận thực tế là những người xác nhận chạy trên cùng một nút bỏ phiếu cho cùng một điểm kiểm tra.
Chúng tôi có thể không muốn thực hiện bất kỳ nỗ lực nào để cải thiện sự cộng tác giữa các trình xác thực trên các ranh giới máy vật lý. Đây phải là thứ mà mọi người đều có thể xây dựng. Sự hợp tác này có thể có nhiều hình thức khác nhau:
Cấp độ 1 - Cơ chế dự phòng với tính năng ngang hàng tĩnh: Cung cấp nút dự phòng/sao lưu trung tâm cho nhiều máy vật lý. Đây cũng có thể là một bộ ngắt mạch, một loại máy có khả năng chịu lỗi đặc biệt hoạt động như một bộ chuyển tiếp tin nhắn riêng tư. Các cài đặt có kết nối ngang hàng được cải thiện, mạng riêng hoặc cài đặt tương tự cũng có thể thuộc danh mục này.
Cấp độ 2 - Quy tắc if-else: Quy tắc được mã hóa cứng để chờ lâu hơn trong một số vị trí nhất định. Chúng sẽ được cài đặt trên nhiều máy vật lý, cho phép chúng "cộng tác" dựa trên các quy tắc được xác định trước.
Cấp độ 3 - Botnet: Có một oracle tập trung giao tiếp với tất cả những người xác thực và cung cấp các điểm kiểm tra phiếu bầu cũng như dấu thời gian về thời điểm chúng sẽ được xuất bản.
Theo tôi, hai hình thức cộng tác sau (cấp 2 và 3) có vấn đề và người vận hành nút phải chịu trách nhiệm. Cuối cùng, có thể có những vùng xám cho các chính sách liên quan đến mạng riêng và mạng ngang hàng tĩnh.
Những cài đặt như vậy có thể được sử dụng để chạy các chính sách (độc hại), chẳng hạn như:
Đảm bảo rằng các điểm kiểm tra khác nhau không bao giờ được bỏ phiếu trên nhiều máy vật lý.
Đảm bảo rằng bạn không bao giờ bỏ phiếu cho khối sắp xếp lại đề xuất của riêng bạn.
Hợp tác dựa trên những người đề xuất liên tiếp (khách hàng tổ chức lại trung thực (y/n)).
Kiểm tra lời khai của một bên.
Không bỏ phiếu cho khối của một đảng.
khác.
Khi thảo luận về sự hợp tác, điều quan trọng là phải phân biệt giữa hai loại:
Hành vi hợp tác xảy ra giữa các trình xác thực chạy trên cùng một máy vật lý.
Hành vi hợp tác là kết quả của việc chạy cùng một phần mềm máy khách đã được sửa đổi hoặc dựa vào cùng một oracle tập trung.
Một giải pháp tiềm năng chống lại hành vi hợp tác phức tạp của người xác thực là EIP-7716: Hình phạt chống tương quan, đề xuất điều chỉnh các hình phạt dựa trên mối tương quan giữa những người xác thực.