Multiple Concurrent Proposers (MCP) gần đây đã trở thành chủ đề thảo luận quan trọng trong cộng đồng, đặc biệt là sau khi giới thiệu giao thức BRAID và sự gia tăng của Consensus DAG. Lập luận của Max ủng hộ MCP cho Ethereum tập trung vào sự độc quyền được tạo ra bởi các cơ chế Consensus dựa trên người dẫn đầu, trong đó người dẫn đầu cho một vị trí nhất định được trao quyền độc quyền đáng kể. Sự tập trung quyền lực này dẫn đến các vấn đề như kiểm duyệt Short đối với một số giao dịch.
Trong Consensus dựa trên người lãnh đạo, người lãnh đạo được chỉ định cho mỗi vị trí có thẩm quyền độc quyền để đề xuất các khối, cho phép họ khai thác vị thế của mình để tối đa hóa lợi nhuận, chẳng hạn như thông qua việc sắp xếp lại giao dịch hoặc chạy trước. MCP nhằm mục đích giảm thiểu những vấn đề này bằng cách phân cấp quy trình đề xuất Block , giảm ảnh hưởng mà bất kỳ người đề xuất đơn lẻ nào có thể gây ra đối với mạng trong một vị trí nhất định.
Trật tự kinh tế của nhiều người đề xuất đồng thời
Giả sử n n biểu diễn số lượng trình xác thực trong mạng. Một tập hợp con các trình xác thực duy trì một chuỗi bộ, được biểu thị bằng k < n k < n . Giao thức tại một số bước sẽ cần chọn hợp nhất của tất cả các chuỗi khối cục bộ tại khe i i và một quy tắc sắp xếp phải được áp dụng giữa các giao dịch của mỗi chuỗi bộ.
Sắp xếp Block xác định : Một quy tắc xác định được áp dụng để sắp xếp các khối và giao dịch của nó. Trong bối cảnh sự kiện MEV-SBC '24 , Max đề xuất hai cách tiếp cận:
- Sắp xếp theo Phí ưu tiên : Các khối được sắp xếp dựa trên phí ưu tiên của các giao dịch. Thuế MEV (Giá trị có thể trích xuất tối đa (MEV)) có thể được áp dụng, trong đó một phần trăm phí ưu tiên được trích xuất và phân phối lại bởi ứng dụng. Cách tiếp cận này được nêu chi tiết trong đề xuất “Ưu tiên là tất cả những gì bạn cần” .
- Cờ thực thi : Giao dịch có thể thiết lập “cờ thực thi” để chỉ ra các hành động cụ thể, chẳng hạn như tương tác với một Bể thanh khoản cụ thể (ví dụ: giao dịch ETH/ USDC trong nhóm UNIv5). Khi quy tắc sắp xếp Block gặp phải một giao dịch có cờ như vậy, nó sẽ kéo tất cả các giao dịch được gắn cờ đang cố gắng tương tác với nhóm đó và thực hiện chúng theo lô.
Trò chơi tính giờ với động lực chạy trước
Giả sử p p là người đề xuất tham gia giao thức MCP, người chịu trách nhiệm đề xuất một Block trong chuỗi bộ của họ trong khe i i . Chúng tôi thừa nhận rằng có sự chậm trễ cố hữu và thời gian xử lý cần thiết để đề xuất Block này . Cụ thể, giao thức cho phép độ trễ tối đa được phép là \Delta Δ đơn vị thời gian trước khi p p phải chịu hình phạt.
p p có thể lựa chọn trì hoãn đề Block của họ một cách chiến lược cho đến khi \Delta - \epsilon Δ − ϵ (trong đó \epsilon > 0 ϵ > 0 ) đơn vị thời gian. Sự trì hoãn này cho phép p p có khả năng khai thác cơ hội chạy trước bằng cách quan sát và tính toán một phần thứ tự các giao dịch do những người đề xuất khác gửi. Bằng cách đặt đề xuất Block của họ một cách chiến lược ngay trước hình phạt misslot (không có Block nào được đề xuất và nó sẽ không được chấp nhận cho slot i i ), p p có thể bao gồm các giao dịch có phí gas cao hơn, một tình huống cung cấp động cơ rõ ràng để tham gia vào hành vi chạy trước và động cơ chính để chơi trò chơi thời gian trong bài đăng này.
Theo các quy tắc giao thức xác định hiện tại, chiến lược tính thời gian như vậy được khuyến khích vì nó cho phép những người đề xuất tối đa hóa phần thưởng của họ thông qua việc thao túng thứ tự giao dịch. Tình huống này nhấn mạnh nhu cầu về một cơ chế hiệu quả. Tuy nhiên, một giải pháp mạnh mẽ hơn có thể bao gồm việc xem xét lại các quy tắc sắp xếp giao dịch để loại bỏ động cơ cụ thể này cho các trò chơi tính thời gian dẫn đến các hành vi khai thác như vậy, do đó đảm bảo một giao thức công bằng và an toàn hơn.
Bộ dữ liệu được sắp xếp một phần (POD)
Một trong những mối quan tâm chính liên quan đến MCP là không có phương pháp xác định rõ ràng để xác định thứ tự giao dịch. Vẫn chưa chắc chắn về cách thức thiết lập trình tự và các tiêu chí cơ bản để sắp xếp, cũng như cách thức tác động của khách hàng sẽ được thực hiện—thông qua các cơ chế như đấu giá, cân nhắc độ trễ hay rủi ro bị tấn công thư rác, như Phil đã nêu bật tại SBC '24 .
Nhóm Common Prefix đã tiến hànhphân tích kỹ lưỡng nhiều giao thức Consensus khác nhau , bao gồm các mô hình Consensus dựa trên người dẫn đầu, danh sách bao gồm và không có người dẫn đầu, tập trung vào khả năng chống kiểm duyệt của chúng. Kết quả nghiên cứu của họ là họ đã phát triển khái niệm về Bộ dữ liệu được sắp xếp một phần. Trong mô hình này, thứ tự các giao dịch được xác định bởi các dấu thời gian do khách hàng ghi lại, điều này có thể dẫn đến việc thiếu thứ tự nghiêm ngặt khi hai giao dịch được ghi lại cùng lúc. Những tác động của việc từ bỏ thứ tự nghiêm ngặt trong quá trình xử lý giao dịch vẫn chưa được khám phá rộng rãi trong các tài liệu hiện có, hoặc ít nhất là tôi không biết bất kỳ nghiên cứu toàn diện nào về vấn đề này.
POD là một chuỗi hữu hạn của cặp \{(r, T), …, (r', T')\} { ( r , T ) , … , ( r ′ , T ′ ) } st r r là vòng (khe) và T T là một tập hợp các giao dịch.
Một vòng được gọi là r_{perf} r per e r f hoàn hảo nếu không có giao dịch mới nào có thể xuất hiện với vòng đã ghi r_{rec} \leq r_{perf} r r e c ≤ r per e r f , nghĩa là không có xung đột nào trong thứ tự trước r_{perf} r per e r f .
Giao thức POD cung cấp các phương pháp sau.
- sự kiện đầu vào
write(tx)
: Máy khách gọiwrite(tx)
để ghi giao dịchtx
. - sự kiện đầu ra
write_return(tx, π)
: sauwrite(tx)
giao thức đầu rawrite_return(tx, π)
, trong đóπ
là chứng chỉ bản ghi. - sự kiện đầu vào
read_perfect()
: Khách hàng gọiread_perfect()
để đọc các giao dịch trong bản tin. - sự kiện đầu ra
read_perfect_return(r, D, Π)
: sau khi giao thứcread_perfect()
đưa raread_perfect_return(r, D, Π)
, trong đór
là một vòng, được gọi là vòng quá khứ hoàn thành,L
là một tập hợp các giao dịch,D
là một POD vàΠ
là một chứng chỉ quá khứ hoàn thành. Đối với mỗi mục nhập(r', T)
trongD
, chúng ta nói rằng các giao dịch trongT
đã được hoàn tất tại vòngr'
. - sự kiện đầu vào
read_all()
: trả về tất cả các giao dịch cho đến vòng hiện tại mà không đảm bảo quá khứ hoàn hảo, do đó nó có thể trả về nhanh hơnread_perfect()
. - sự kiện đầu ra
read_all_return(D, Π)
-
identify(π, Π) → P' ⊆ P
: Khách hàng gọiidentify(π, Π) → P' ⊆ P
để xác định tập hợpP'
các bên đã bảo lãnh cho việc hoàn tất giao dịch, trong đóΠ
là POD vàπ
là chứng chỉ được trả về bởiwrite_return(tx, π)
.
Các đặc tính của Liveness và Security được trình bày chi tiết trong tác phẩm gốc và những nội dung sau sẽ được sử dụng trong các lập luận tiếp theo:
Hình phạt công bằng: Không có bản sao trung thực nào bị phạt do hoạt động độc hại. Nếu identify(π, Π) → P'
, trong đó π
là chứng chỉ bản ghi cho giao dịch tx
và Π
là chứng chỉ quá khứ hoàn thành cho POD D
, chỉ có thể được tạo nếu tất cả các bên trong P'
ký tx
và D
.
Cấu trúc của POD như sau: Khách hàng sẽ gửi một giao dịch đến tất cả các trình xác thực trong mạng và sẽ phải đợi n - f n - f chữ ký để xác nhận giao dịch của mình đã được mạng nhận, trong đó f f là số lượng trình xác thực byzantine được phép. Sau khi khách hàng nhận được chữ ký, anh ta sẽ ghi lại trung vị của tất cả các chữ ký mà anh ta đã nhận được, vì sẽ có một số độ trễ và sự khác biệt giữa các trình xác thực khi họ nhận được giao dịch.
Đối với bộ giao dịch đọc trong một số vòng, khách hàng sẽ có hai lựa chọn:
- Tin vào tính đồng bộ trên các giao dịch đã nhận: Yêu cầu tất cả các giao dịch đã ghi lại từ trình xác thực cho một số vòng r r cụ thể. Khi có được n-f n − f chữ ký của tất cả các giao dịch, tính toán trung vị của tập hợp các giao dịch dựa trên dấu thời gian của chúng.
- Đảm bảo quá khứ hoàn thành, người tin vào sự không đồng bộ: Giả sử r_{perf} r p e r f là giá trị nhỏ nhất của các giá trị r r đã nhận, thì chúng ta sẽ không có bất kỳ giao dịch nào có dấu thời gian thấp hơn. Bây giờ lấy hợp của tất cả các giao dịch sắp tới. Bây giờ, máy khách sẽ phải đợi một khoảng thời gian \delta δ để đảm bảo thông qua cơ chế gossip không có r_{perf} r p e r f thấp hơn và không có giao dịch nào nữa cho vòng sắp tới.
POD làm giảm MEV trong MCP
Việc áp dụng Bộ dữ liệu được sắp xếp một phần (POD) làm cấu trúc dữ liệu chính cho MCP sẽ đưa ra một phương pháp mới chưa được nghiên cứu sâu rộng, đặc biệt là về tiềm năng giảm thiểu các loại trò chơi MEV đã được mô tả trước đây.
Trong POD, các giao dịch được sắp xếp theo thứ tự xác định dựa trên dấu thời gian của chúng. Mặc dù cách tiếp cận này đòi hỏi phải xử lý các trường hợp mà nhiều giao dịch chia sẻ cùng một dấu thời gian—hoặc đánh giá khả năng xảy ra các trường hợp như vậy—nhưng về cơ bản nó thay đổi động lực của động cơ thúc đẩy trước của các trò chơi tính thời gian được mô tả trước đó so với các giao dịch Block đề xuất khác.
Hãy xem xét một kịch bản trong slot m m, trong đó một người đề xuất có ác ý cố gắng chạy trước hoặc xen kẽ một giao dịch khác. Theo thứ tự xác định trước đây, dựa trên đấu giá và phí ưu tiên, các cuộc tấn công như vậy là khả thi vì những người đề xuất có thể thao túng vị trí của họ trong thứ tự bằng cách trả giá cao hơn những người khác hoặc khai thác độ trễ. Tuy nhiên, với thứ tự dựa trên dấu thời gian được triển khai trong POD, chiến lược này thay đổi đáng kể. Một câu hỏi mở vẫn là biết những chiến lược nào có thể được áp dụng với POD hoặc thứ tự dấu thời gian để trích xuất MEV và liệu chúng có tệ hơn về mặt phúc lợi của mạng so với trò chơi được mô tả hay không.
Trong thiết lập mới này, việc là người đề xuất cuối cùng trong một ô thực sự sẽ đặt người đề xuất đó vào vị trí cuối cùng trong lệnh giao dịch, hạn chế khả năng tham gia vào việc chạy trước hoặc kẹp giữa của họ với giả định là trung thực trong tất cả các nút. Thay vào đó, họ sẽ chỉ có thể thực hiện chạy sau, thường được coi là ít gây hại hơn so với chạy trước hoặc kẹp giữa. Sự thay đổi trong chiến lược sắp xếp này có thể làm giảm hiệu quả rủi ro của các hình thức khai thác MEV nguy hiểm hơn này.
Nếu một trình xác thực độc hại cố gắng thao túng thứ tự giao dịch bằng cách hối lộ người đề xuất, thì nên áp dụng Slashing cho trình xác thực. Bằng cách áp dụng các hình phạt như vậy, giao thức ngăn chặn hành vi độc hại và đảm bảo tính toàn vẹn của quy trình sắp xếp giao dịch được duy trì. Một trong những câu hỏi tiếp theo trong tương lai là làm thế nào chúng ta có thể phát hiện ra hành vi xấu trong hồ sơ giao dịch, có thể áp dụng Phương pháp của Thổ Nhĩ Kỳ, đây là một lựa chọn khả thi và cho rằng các giá trị ngoại lệ là hồ sơ độc hại.
Tuy nhiên, tình hình phức tạp hơn vẻ bề ngoài. Việc chuyển sang một trò chơi mới dành cho các trình xác thực, nơi thứ tự giao dịch bị ảnh hưởng bởi độ trễ, sẽ tạo ra thêm nhiều thách thức. Các trình xác thực hiện nay có thể tham gia vào các trò chơi độ trễ, nơi khoảng cách địa lý với các trình xác thực hoặc nút mạng khác trở thành yếu tố quan trọng để giành được lợi thế. Để giảm thiểu điều này, điều cần thiết là phải đảm bảo rằng các trình xác thực được phân cấp tốt trên các khu vực khác nhau.
Phân cấp các trình xác thực về mặt địa lý giúp giảm tác động của các lợi thế dựa trên độ trễ. Các trình xác thực tập trung ở cùng một vị trí có thể dẫn đến rủi ro tập trung hóa, trong đó một số trình xác thực có thể thống trị mạng do các kết nối có độ trễ thấp của chúng. Sự tập trung hóa này có thể làm suy yếu tính công bằng của việc sắp xếp giao dịch và có khả năng tái lập rủi ro kiểm duyệt.
Hơn nữa, các trình xác thực được khuyến khích tránh chia sẻ cùng một vị trí vì làm như vậy sẽ làm giảm tính duy nhất của các giao dịch mà họ có thể truy cập để có thể chạy ngược và tận dụng các cơ hội như vậy. Càng có nhiều trình xác thực hoạt động từ cùng một khu vực, thì càng ít giao dịch duy nhất mà mỗi trình xác thực có thể nắm bắt, dẫn đến lợi nhuận từ phí giao dịch thấp hơn, vì chúng sẽ phải được chia cho nhiều trình xác thực hơn. Động lực này khuyến khích các trình xác thực lan rộng ra, thúc đẩy mạng lưới phi tập trung và phục hồi hơn, được bảo vệ tốt hơn trước các trò chơi dựa trên độ trễ và sự tập trung quyền lực. Tuy nhiên, động lực hiện tại vẫn còn yếu và công việc trong tương lai sẽ tập trung vào cách cung cấp các động lực tốt hơn cho việc không tập trung.