Khách mời: Zihao Li, nghiên cứu sinh tiến sĩ, Đại học Bách khoa Hồng Kông
Được tổ chức bởi:aididao.eth, Foresight News
Bài viết này là sự tổng hợp các văn bản được chia sẻ bởi Zihao Li, nghiên cứu sinh tiến sĩ tại Đại học Bách khoa Hồng Kông trong Chương trình Học giả Trẻ Web3. Chương trình Học giả Trẻ Web3 do DRK Lab, imToken và Crytape đồng khởi động, sẽ mời các học giả trẻ nổi tiếng trong lĩnh vực mã hóa chia sẻ một số kết quả nghiên cứu mới nhất với cộng đồng Trung Quốc.
Xin chào mọi người, tôi là Zihao Li, nghiên cứu sinh tiến sĩ năm thứ 3 tại Đại học Bách khoa Hồng Kông. Chủ đề tôi sẽ chia sẻ hôm nay là "Tiết lộ các hoạt động MEV trong Gói giao dịch Ethereum". Nói một cách đơn giản, đó là cách khám phá các loại hoạt động MEV chưa xác định trong mạng Ethereum thông qua các gói giao dịch. Đầu tiên, tôi sẽ giới thiệu nền tảng tương đối cơ bản, chẳng hạn như khái niệm MEV, cơ chế gói giao dịch và nền tảng công việc của chúng tôi. Sau đó, tôi sẽ giới thiệu quy trình làm việc hoàn chỉnh và một số ý tưởng thiết kế một cách chi tiết, chẳng hạn như quy trình làm việc được thiết kế dựa trên những nguyên tắc thiết kế nào; bộ dữ liệu của chúng tôi là gì; chúng tôi sử dụng công cụ nào để đánh giá quy trình làm việc của mình dựa trên các chỉ số nào, v.v. Cuối cùng, tôi sẽ giới thiệu ba ứng dụng bao gồm các kết quả phân tích thực nghiệm có liên quan.
###Giới thiệu nền: MEV, gói giao dịch, động lực
Hoạt động MEV đề cập đến các nhà kinh doanh chênh lệch giá trong chuỗi khối tạo ra các giao dịch chênh lệch giá bằng cách giám sát mạng chuỗi khối, bao gồm cả trạng thái khối. Một số thông tin giao dịch được lan truyền trên mạng blockchain P2P hoặc một số giao dịch chưa được chính thức tải lên chuỗi được lưu trữ trong nhóm giao dịch của các thợ mỏ hoặc người xác minh. Giao dịch chênh lệch giá, sau đó chỉ định giao dịch chênh lệch giá ở một vị trí nhất định trong khối tiếp theo, chẳng hạn, anh ta muốn đứng đầu khối tiếp theo, hay nói cách khác, thực hiện giao dịch chiến lược ngay sau một giao dịch nhất định để lan truyền giao dịch chênh lệch giá tương tự. Bằng cách này, chúng ta có thể coi hoạt động kinh doanh chênh lệch giá ở một vị trí nhất định là hoạt động MEV. Ví dụ: nếu một nhà kinh doanh chênh lệch giá theo dõi biến động giá tài sản, anh ta có thể mua tài sản tương ứng trong nhóm giao dịch với giá thấp, sau đó bán nó ở điểm cao trong nhóm khác có giá cao. Đây được coi là hoạt động MEV.
Hiện tại, các hoạt động MEA chủ yếu được thực hiện bởi các nhà kinh doanh chênh lệch giá xung quanh hệ sinh thái DeFi, bởi vì hệ sinh thái DeFi hiện chủ yếu tập hợp tài sản, cho đến nay, hệ sinh thái DeFi của Ethereum bao gồm các chuỗi khác đã thu hút được hơn 40 tỷ đô la Mỹ vốn. Ở đây chúng ta cần đề cập đến một khái niệm về hệ sinh thái DeFi, được gọi là hành động DeFi, tương ứng với hoạt động dịch vụ nguyên tử do ứng dụng DeFi cung cấp. Ví dụ: chúng ta biết rằng AMM hỗ trợ trao đổi giữa các loại tài sản khác nhau. Người dùng có thể bán một USDC , sau đó nhận được một lượng ETH. Hoạt động như vậy có thể được định nghĩa là hành động DeFi. Chúng ta có thể sử dụng hành động DeFi để thể hiện các hoạt động MEV. Ví dụ: nếu người dùng phát hiện có sự chênh lệch về giá tài sản trên các AMM khác nhau, người dùng có thể mua thấp và bán cao và cuối cùng thu được lợi nhuận chênh lệch giá. Chúng ta có thể biểu thị hoạt động MEV này dưới dạng hai hành động DeFi.
Hiện tại, nghiên cứu học thuật về hoạt động MEV chủ yếu được chia thành ba loại, đó là tấn công bánh sandwich, chênh lệch giá ngược và thanh lý. Trong tập dữ liệu mà chúng tôi làm việc cùng, chúng tôi thấy rằng ba hoạt động MEV này đã xảy ra hơn 1 triệu lần. Thực sự có một câu hỏi ở đây là sau khi chúng ta đã biết định nghĩa về các hoạt động MEV này, làm thế nào để nhận biết sự xuất hiện của các hoạt động này. Nếu muốn xác định các hoạt động MEV này, chúng tôi cần xác định tất cả hoạt động của các nhà kinh doanh chênh lệch giá, chẳng hạn như giao dịch chênh lệch giá nào tạo ra và loại chênh lệch giá nào trong các giao dịch này, sau đó chúng tôi có thể xác định loại hoạt động MEV nào hiện đang diễn ra, và toàn bộ quá trình phụ thuộc rất nhiều vào định nghĩa của chúng tôi về hoạt động MEV đã biết. Lấy một cuộc tấn công bánh sandwich làm ví dụ. Sau khi biết định nghĩa của cuộc tấn công bánh sandwich, chúng ta cần xác định giá trị chênh lệch giá của một cuộc tấn công bánh sandwich và giao dịch chênh lệch giá tương ứng của nó. Chúng ta cần đặt ra rất nhiều quy tắc dựa trên định nghĩa, và sau đó lọc ra các cuộc tấn công bánh sandwich ứng viên thông qua các quy tắc này về giá trị và giao dịch chênh lệch giá. Khi xác định các loại tấn công MEV đã biết theo cách này, sẽ có hai câu hỏi: Câu hỏi đầu tiên là liệu ba hoạt động MEV phổ biến mà chúng ta biết có thể đại diện cho tất cả các hoạt động MEV hay không? Rõ ràng là không, bởi vì hệ sinh thái DeFi đã và đang phát triển và các ứng dụng mới đã được phát triển, đồng thời các chiến lược của những nhà kinh doanh chênh lệch giá này thực sự đang được lặp đi lặp lại. Câu hỏi thứ hai là làm thế nào chúng ta có thể khám phá những hoạt động MEV chưa biết này. Với câu hỏi này, chúng ta hãy xem cơ chế gói giao dịch.
Cơ chế gói giao dịch được đề xuất lần đầu tiên vào năm 2021. Nói một cách đơn giản, người dùng có thể sắp xếp hàng đợi giao dịch. Độ dài của hàng đợi giao dịch này có thể là một giao dịch hoặc một số giao dịch, sau đó người dùng gửi các giao dịch này đến mạng blockchain. Người chuyển tiếp thu thập các giao dịch này và gửi chúng trực tiếp và riêng tư cho người khai thác hoặc người xác minh có liên quan. Hiện tại, Relayer sẽ chạy gói giao dịch để đảm nhận nhiệm vụ chuyển tiếp. Cơ chế gói giao dịch có một tính năng rất quan trọng, khi những người dùng này xây dựng gói giao dịch, họ có thể đưa các giao dịch mà người khác chưa tải lên chuỗi vào gói giao dịch và thứ tự giao dịch trong gói giao dịch có thể bị thao túng tùy ý. . Tại thời điểm này, người sử dụng gói giao dịch hoặc nhà kinh doanh chênh lệch giá sử dụng gói giao dịch có thể thiết kế các quy tắc chênh lệch giá của mình. Ví dụ, anh ta có thể thiết kế các chiến lược hoạt động MEV phức tạp hơn và mang lại nhiều lợi nhuận hơn. Lấy cuộc tấn công bánh sandwich làm ví dụ, nếu không sử dụng gói giao dịch nào, một nhà kinh doanh chênh lệch giá trong cuộc tấn công bánh sandwich cần tạo ra ít nhất một cặp giao dịch để đạt được chênh lệch giá và cặp giao dịch chênh lệch giá này chỉ có thể nhắm mục tiêu giao dịch này. Việc chênh lệch giá do giao dịch tấn công này tạo ra phải được thực hiện theo một thứ tự nhất định để đảm bảo rằng nó có thể được chênh lệch giá thành công. Nhưng nếu một nhà kinh doanh chênh lệch giá sử dụng gói giao dịch, anh ta có thể thu thập nhiều giao dịch có thể chênh lệch giá và chỉ cần sử dụng một cặp giao dịch chênh lệch giá tương ứng để tạo ra chênh lệch giá trên nhiều giao dịch cùng một lúc. Miễn là gói giao dịch này nằm trên chuỗi, nó chắc chắn sẽ thành công trong hoạt động chênh lệch giá và bởi vì nó thực hiện chênh lệch giá nhiều giao dịch có thể chênh lệch giá cùng một lúc nên kết quả chênh lệch giá của nó cũng mang lại nhiều lợi nhuận hơn.
Các gói giao dịch có đặc điểm là hoạt động MEV rất phong phú và phức tạp. Bởi vì người dùng sử dụng gói giao dịch sẽ gói gọn giao dịch hoàn chỉnh của mình trong gói giao dịch, sau đó gửi nó đến bộ chuyển tiếp của mạng P2P và cuối cùng gửi nó đến những người khai thác và xác minh tương ứng. Chúng tôi có thể xác định chính xác và đầy đủ mọi hoạt động thông qua gói giao dịch. Do đó, chúng tôi có thể xác định chính xác hơn một số hoạt động MEV chưa biết thông qua phương tiện gói giao dịch.
Ý tưởng thiết kế và quy trình làm việc
Tiếp theo, chúng tôi sẽ giới thiệu chi tiết quy trình làm việc của chúng tôi. Làm cách nào để chúng tôi phát hiện các hoạt động MEV không xác định thông qua phương tiện như các gói giao dịch? Quy trình làm việc cốt lõi bao gồm hai công cụ. Đầu tiên, sau khi người chuyển tiếp thu thập gói giao dịch, chúng tôi sử dụng công cụ ActLifter để xác định từng hành động DeFi trong gói giao dịch. Sau khi nhận được kết quả, chúng tôi sẽ trình bày tất cả các hành động trong gói giao dịch. . Sau đó, sử dụng công cụ ActCluster để phân cụm các gói giao dịch có hoạt động tương tự lại với nhau và khám phá các hoạt động MEV mới nhanh hơn thông qua kết quả phân cụm. Nếu chúng tôi muốn khám phá các hoạt động MEV không xác định, chắc chắn chúng tôi sẽ cần phải xác nhận thủ công xem hoạt động MEV có phải là loại không xác định hay không. Tất nhiên, mục tiêu thiết kế công việc của chúng tôi là giảm thiểu khối lượng công việc thủ công nhiều nhất có thể và làm cho toàn bộ quy trình hiệu quả nhất có thể. có thể. Thực hiện tự động.
Hiện đã có các công cụ có thể xác định hoạt động MEV từ các giao dịch. Chúng ta có thể chia đại khái thành hai loại, loại thứ nhất là các quy tắc tóm tắt hoàn toàn thủ công, loại thứ hai là các quy tắc heuristic thuần túy, nghĩa là sử dụng quy tắc heuristic hoàn toàn tự động để xác định các loại hoạt động MEV cụ thể. Ví dụ: sau khi xác định một số thông tin chuyển giao hiện tại, nó sẽ kiểm tra xem các quy tắc heuristic có được thỏa mãn hay không, nếu đúng thì nó có thể xác định hoạt động tương ứng. Phương pháp tóm tắt quy tắc hoàn toàn thủ công đầu tiên có thể đạt được độ chính xác tương đối tốt, bởi vì quá trình này hoàn toàn là phân tích thủ công các ứng dụng cụ thể và sau đó nó có thể đảm bảo rằng kết quả phát hiện là chính xác, nhưng nhiệm vụ phân tích đòi hỏi khối lượng công việc rất lớn, vì vậy Nó không thể bao gồm mọi ứng dụng DeFi. Mặc dù công việc thứ hai có thể được tự động hóa hoàn toàn nhưng các quy tắc heuristic chỉ có thể bao gồm một số loại cụ thể. Mặt khác, có một số vấn đề trong việc thiết kế các quy tắc heuristic, dẫn đến độ chính xác nhận dạng không đạt yêu cầu.
Chúng tôi đã thiết kế quy trình làm việc của mình bằng cách kết hợp các ưu điểm của hai loại phương pháp. Chúng ta có thể xác định mười hành động DeFi chính hiện tại. Chúng ta chỉ cần xác định thủ công sự kiện nào trong ứng dụng DeFi tương ứng với loại hành động DeFi nào sau khi nó được bắt đầu, sau đó chúng ta không cần phân tích thủ công và hoàn toàn có thể để phân tích tự động. Loại phương pháp thứ hai có thể tự động xác định hoàn toàn các hành động DeFi, nhưng nó không thể xác định rằng đối tượng phân tích có liên quan đến hoạt động MEV hay không. Ví dụ: nếu chúng tôi xác định một giao dịch chuyển SWAP, nó có thể xác định hai kết hợp chuyển hoàn toàn không liên quan đến nhau là một hành động DeFi. Đương nhiên, kết quả nhận dạng của nó sẽ sai. Nhưng chúng ta có thể sử dụng thông tin này để lọc ra những thông tin thực sự liên quan đến hoạt động DeFi. Sau khi có được thông tin này, chúng ta có thể tránh được một số lỗi như loại phương pháp thứ hai thông qua các phương pháp tự động.
Ví dụ: ở đây có một giao dịch liên quan đến tổng cộng bốn lần chuyển tiền, thứ tự xảy ra, số tiền và loại tiền được đánh dấu bằng số sê-ri. Trong quá trình này, AMM thực sự đã khởi xướng một sự kiện liên quan đến hành động Hoán đổi. Sau khi loại phương thức đầu tiên xác định rằng sự kiện đã được bắt đầu, nó cần khôi phục nội dung hiện tại thông qua một số tham số của sự kiện. Ví dụ, nó cần xem mã, logic nghiệp vụ và một số biến chức năng của hợp đồng 699 để khôi phục nội dung hiện tại. Sau khi có được thông tin này, chúng tôi đã thiết kế một quy tắc dựa trên các đặc điểm chuyển giao tài sản duy nhất của nó. Ví dụ: quy tắc mà chúng tôi đã tinh chỉnh là hợp đồng hiện đang vận hành DeFi sẽ nhận và chuyển các loại tài sản khác nhau. Khi chúng tôi thấy rằng có hai giao dịch như thế này Sau khi việc chuyển giao tài sản đáp ứng được các đặc điểm đó, chúng ta có thể khôi phục nội dung hành động Hoán đổi tương ứng. Loại phương thức thứ hai khớp trực tiếp hai lần chuyển tài sản, hai tài khoản chuyển tài sản nhận và chuyển các loại tài sản khác nhau. Lần chuyển tiền thứ nhất và thứ năm sẽ được coi là một cặp lần chuyển tiền có liên quan, còn tài khoản ở giữa được coi là AMM, rõ ràng bằng trực giác chúng ta có thể thấy rằng kết quả nhận dạng là không chính xác.
Các quy tắc mà chúng tôi tóm tắt thông qua phân tích thủ công là các loại hành động DeFi tương ứng với các sự kiện có liên quan. Mặc dù kết quả được tóm tắt thông qua phân tích thủ công, chúng tôi vẫn cố gắng hết sức để tinh chỉnh quy trình phân tích thủ công thành quy trình bán tự động, để đảm bảo rằng độ tin cậy của toàn bộ quá trình Chúng tôi sẽ truy vấn trang web chính thức và tài liệu dành cho nhà phát triển ứng dụng DeFi, bao gồm một số mã nguồn hợp đồng, từ các trang web chính thức của DeFiPulse.com và Dapp.com. Chúng tôi phát triển các công cụ phân tích cú pháp có thể trích xuất một số mô tả về các sự kiện trong tài liệu từ các tài liệu liên quan này, chẳng hạn như cách sự kiện này được xác định bằng mã thông báo và chức năng, đoạn mã và nhận xét mã trong đó các sự kiện này được sử dụng. Sau khi trích xuất những thứ này, thông qua phân tích và thảo luận thủ công, cuối cùng chúng tôi đã xác định được rằng có 88 sự kiện tương ứng với các loại hành động DeFi khác nhau.
Chúng ta nhập giao dịch cần phân tích vào từ điển này và phân tích những sự kiện nào đã xảy ra trong giao dịch. Sau đó, khi một sự kiện xuất hiện trong từ điển này, chúng tôi sẽ trích xuất thông tin chính theo các quy tắc tương ứng, chẳng hạn như hợp đồng nào đang vận hành hành động DeFi này, loại DeFi này là gì và việc chuyển giao tài sản nào có liên quan đến hành động DeFi này. Sau khi có được nội dung như vậy, chúng tôi sẽ tóm tắt các quy tắc đặc trưng của việc chuyển giao tài sản và sau đó sử dụng các quy tắc này để khớp với hành động DeFi cuối cùng. Chúng tôi bắt đầu từ định nghĩa về mười hành động DeFi và tóm tắt các quy tắc đặc trưng của việc chuyển giao tài sản. Sau khi thu thập thông tin này ở bước trước, chúng tôi sẽ sử dụng các quy tắc so khớp này để so khớp và cuối cùng giúp chúng tôi xác định nội dung cụ thể nào đã xảy ra trong đó DeFi trong giao dịch này. Sau khi ActCluster xác định từng giao dịch trong gói giao dịch, chúng ta có thể biểu thị hành vi của gói giao dịch đó.
Trước tiên chúng ta hãy hiểu các nguyên tắc thiết kế của ActCluster. Chúng tôi biết rằng việc phân tích thủ công là điều không thể tránh khỏi trong quá trình này và nó phải dựa vào lao động thủ công để xác định xem hoạt động của gói giao dịch có phải là loại hoạt động MEV không xác định hay không. Dựa trên điều này, ý tưởng cơ bản của chúng tôi là nhóm một số gói giao dịch có hoạt động tương tự lại với nhau. Đối với mỗi cụm, chúng tôi chỉ cần lấy mẫu ngẫu nhiên một hoặc một số gói giao dịch để phân tích, điều này có thể tăng tốc quá trình phân tích thủ công và cuối cùng phát hiện ra các loại hoạt động MEA khác nhau. Khi chúng tôi sử dụng phân tích cụm để phân cụm các gói giao dịch, chúng tôi gặp phải một vấn đề nan giải. Khi chúng ta đặt cường độ phân cụm của các gói giao dịch tương đối thô, các gói giao dịch chứa các loại hoạt động khác nhau sẽ được nhóm lại với nhau. Lúc này, mặc dù số lượng cụm sẽ nhỏ hơn nhưng các tác vụ phân tích thủ công tương ứng cũng sẽ nhỏ hơn. một số hoạt động MEV mới sẽ bị bỏ lỡ. Nếu chúng ta điều chỉnh cường độ phân cụm chi tiết hơn, mặc dù chúng ta có thể phân biệt một số gói giao dịch tương ứng với các hoạt động MEA tương tự nhưng khác nhau, khối lượng công việc phân tích thủ công liên quan sẽ tăng lên rất nhiều.
Dựa trên vấn đề như vậy, chúng tôi đã thiết kế một phương pháp phân tích phân cụm lặp, phương pháp này thực hiện phân tích phân cụm theo nhiều lần lặp. Trong mỗi vòng, chúng tôi sẽ loại bỏ các gói giao dịch đã biết chứa các hoạt động MEV mới được phát hiện ở các vòng trước, sau đó cải thiện sức mạnh phân cụm của các gói giao dịch còn lại. Chúng tôi không thể trực tiếp sử dụng các phương pháp phân cụm truyền thống để phân cụm các gói giao dịch, vì các gói giao dịch thực sự chứa nhiều giao dịch và một giao dịch có thể chứa nhiều hành động DeFi. Nếu chúng ta thể hiện toàn bộ gói giao dịch, cấu trúc của nó thực sự không đồng nhất và có thứ bậc. Tại thời điểm này, chúng tôi sử dụng phương pháp học biểu diễn để thể hiện nội dung của gói giao dịch này vào một không gian định vị. Ưu điểm của việc sử dụng phương pháp học biểu diễn là chúng ta không cần tiến hành học và hiểu chuyên sâu về dữ liệu mà chúng ta muốn phân tích và xử lý, cũng như không cần kiến thức miền phong phú mà chỉ cần thực hiện xử lý theo định hướng dữ liệu đơn giản.
Ví dụ: chúng ta chỉ cần dán nhãn gói giao dịch có hoạt động MEV trong gói giao dịch. Nếu biết định nghĩa về hoạt động MEV, chúng ta sẽ dễ dàng thiết kế các quy tắc tương ứng hơn và tự động phát hiện xem nó có tồn tại hay không. Chúng tôi có thể tự động gắn nhãn các gói giao dịch này để thể hiện việc học. Phân tích cụm của chúng tôi là loại lặp lại và sau mỗi lần lặp, chúng tôi có thể khám phá các hoạt động MEV mới. Tại thời điểm này, chúng tôi thực sự có thể làm phong phú các nhãn tương ứng với các hoạt động MEV mới được phát hiện này vào quá trình học biểu diễn của mình. . Khi các nhãn được sử dụng trong quá trình học biểu diễn của chúng tôi được làm phong phú, hiệu suất và hiệu quả của toàn bộ quá trình đào tạo mô hình học biểu diễn có thể được cải thiện lặp đi lặp lại và việc học biểu diễn này có thể cải thiện lặp đi lặp lại khả năng biểu diễn hoạt động của gói giao dịch. Trên thực tế, có thể có nhiều giao dịch trong một gói giao dịch và có thể có nhiều hành động DeFi trong một giao dịch, chúng ta cần thể hiện gói giao dịch đó. Trước hết, đối với mỗi loại hành động DeFi, chúng tôi xác định một tham số tiêu chuẩn, chẳng hạn như hợp đồng nào đang hoạt động, sau đó số lượng và loại tài sản được nhận và chuyển đi là bao nhiêu? Chúng tôi xác định từng hành động DeFi theo cách này. Nếu chúng tôi nhận ra rằng có nhiều hành động DeFi trong một giao dịch, chúng tôi sẽ biểu thị chúng bằng các khối hành động để khối giao dịch tương ứng với giao dịch này có thể được biểu diễn, bao gồm thông tin nguồn của giao dịch, chẳng hạn như ai đã thực hiện giao dịch và hướng Nó được gửi đến ai? Khi một hành động DeFi xảy ra trong một giao dịch, chúng tôi sẽ lấp đầy nó bằng các khối hành động theo thứ tự. Mỗi giao dịch này được biểu thị bằng một khối giao dịch và cuối cùng chúng ta có được cấu trúc của gói giao dịch, có thể được coi là một ma trận. Sau khi gói giao dịch được biểu diễn, chúng ta có thể sử dụng nó cho việc học biểu diễn. Mỗi gói giao dịch là một cấu trúc thống nhất và sau đó chúng ta có thể sử dụng mô hình này để xử lý hàng loạt.
Đánh giá hiệu suất
Tiếp theo, chúng tôi chia sẻ các phương pháp chúng tôi đã sử dụng để đánh giá hiệu suất quy trình làm việc. Bộ dữ liệu cho toàn bộ quá trình phân tích của chúng tôi thông qua API do Flashbots cung cấp và dữ liệu gói giao dịch từ tháng 2 năm 2021 đến tháng 12 năm 2022 được thu thập, bao gồm hơn 6 triệu gói giao dịch và 26 triệu giao dịch.
Chúng tôi đã thiết kế một số công cụ để so sánh tính chính xác và đầy đủ của các hành động DeFi. Cần lưu ý ở đây rằng trong số các công cụ trực tuyến này, hiện tại chỉ Etherscan mới có thể khôi phục hành động DeFi trong giao dịch thông qua trang web của nó và thông tin mà nó cung cấp. Và giống như DeFiRanger, chúng tôi tái tạo các phương pháp của họ dựa trên giấy tờ của họ. Ngoài ra, chúng tôi đã thiết kế một công cụ có tên EventLifter để cố gắng khôi phục các hành động DeFi trực tiếp từ các sự kiện giao dịch. Chúng tôi đã thử nghiệm ActLifter theo các cấu hình khác nhau và sử dụng nhiều công cụ khác nhau để so sánh độ chính xác của nhận dạng. Đối với ActCluster, ý tưởng chính của chúng tôi là áp dụng phương pháp học cắt bỏ. Đối với các hoạt động mới có thể được xác định, sau khi cắt bỏ một số mô-đun của ActCluster, nếu muốn xác định một số hoạt động mới chưa được tìm thấy, chúng tôi phải làm bao nhiêu Gói giao dịch hoặc khối lượng công việc phân tích thủ công của chúng tôi lớn đến mức nào. Ví dụ: chúng tôi đã loại bỏ bản cập nhật nhãn động trong mô-đun học cách trình bày ActCluster và thực tế chúng tôi đã loại bỏ toàn bộ quá trình. Chúng tôi lấy mẫu ngẫu nhiên gồm 6 triệu gói giao dịch và xem chúng tôi phải phân tích thủ công bao nhiêu gói giao dịch để khám phá cùng một lượng hoạt động MEV mới.
Các công cụ của chúng tôi có thể đạt được độ chính xác và đầy đủ gần 100% trong điều kiện cấu hình thống nhất. Nhưng giống như các công cụ khác như Etherscan, mặc dù độ chính xác của nó có thể đạt tới 100%, khá khả quan nhưng nó sẽ bỏ lỡ rất nhiều hành động DeFi. Bản thân Etherscan không có phương pháp nguồn mở. Chúng tôi suy đoán rằng nó có thể sử dụng phân tích thủ công để tóm tắt các quy tắc nhằm xác định các hành động DeFi. Do đó, nó sẽ bỏ lỡ một số loại không thể thực hiện được theo cách thủ công. Cần lưu ý ở đây rằng Etherscan không thực sự cung cấp giao diện tự động, nếu bạn muốn thực hiện nhận dạng quy mô lớn, bạn không thể trực tiếp hoàn thành nhiệm vụ như vậy. Độ chính xác và đầy đủ của DeFiRanger, được xác định hoàn toàn bằng các quy tắc ẩn, là không thỏa đáng. Sau khi thử nghiệm ActCluster, chúng tôi nhận thấy rằng qua bốn vòng phân tích lặp đi lặp lại, chúng tôi chỉ cần phân tích tổng cộng 2.000 gói giao dịch để tìm ra 17 hoạt động MEV chưa xác định. Sau khi loại bỏ một số mô-đun này, chúng tôi có thể cần phân tích thủ công tới 170.000 gói giao dịch để xác định 17 hoạt động MEV chưa xác định vừa được đề cập.
Phân tích thực nghiệm và ứng dụng
Các ứng dụng cụ thể của phương pháp xác định các loại hoạt động MEV chưa xác định của chúng tôi là gì? Đầu tiên, liệu nó có thể tăng cường các biện pháp giảm thiểu MEV hiện có và có thể chống lại một số hoạt động MEV hay không. Thứ hai là sử dụng kết quả phân tích để xem liệu chúng ta có thể phân tích toàn diện hơn tác động của các hoạt động MEV đến hệ sinh thái blockchain hay không, bao gồm tác động đến fork và tổ chức lại khu rừng khối cũng như an ninh tài chính của người dùng.
Chúng tôi đã đề cập trước đó rằng những kẻ tấn công mạng tăng cường MEV sẽ chạy các công cụ để lấy các gói giao dịch từ người dùng, sau đó phân phối chúng cho những người khai thác và người xác thực kết nối chúng. Người chuyển tiếp sẽ loại bỏ các gói giao dịch có chứa hoạt động MEA khỏi gói giao dịch mà họ nhận được, bằng cách này, họ có thể giảm một số tác động tiêu cực của hoạt động MEA lên blockchain. Ý tưởng chính của liên kết này là thiết kế các quy tắc tương ứng thông qua định nghĩa các hoạt động MEV hiện có để phát hiện xem gói giao dịch có chứa hoạt động MEV hay không. Rõ ràng những người chuyển tiếp này không thể loại trừ một số gói giao dịch có chứa các hoạt động MEV không xác định. Dựa trên quy trình làm việc của chúng tôi, chúng tôi đã thiết kế một công cụ MEVhunter có thể phát hiện loại hoạt động MEV mới mà chúng tôi đã phát hiện được từ gói giao dịch.
Kết quả phát hiện cho thấy hơn 1 triệu gói giao dịch chứa hoạt động MEV chênh lệch giá ngược và 30% trong số 6 triệu gói giao dịch còn lại chứa ba hoạt động MEV đã biết. Đối với các hoạt động MEV mới được phát hiện, chúng tôi nhận thấy gần một nửa số gói giao dịch chỉ chứa các hoạt động MEV mới này. Nếu người chuyển tiếp sử dụng công cụ MEVhunter, nó có thể giúp họ lọc ra 3 triệu gói giao dịch có chứa hoạt động MEV và sau đó họ có thể chọn loại bỏ các gói giao dịch này để giảm tác động tiêu cực của hoạt động MEV trên blockchain.
Ứng dụng thứ hai là để chúng tôi khám phá tác động của các loại hoạt động MEV mới đối với việc phân nhánh và tổ chức lại blockchain. Một số nghiên cứu trước đây đã báo cáo rằng một số công cụ khai thác tài chính sẽ được thúc đẩy bởi lợi ích của một số hoạt động MEV để phân nhánh và tổ chức lại chuỗi khối hiện tại, tự mình thực hiện các hoạt động MEV và tận hưởng các lợi ích. Ví dụ: khi thu nhập hoạt động MEV của một khối gấp 4 lần phần thưởng khối, thì không dưới 10% thợ mỏ sẽ phân nhánh và tổ chức lại khối.
Trước tiên, chúng tôi xác định gói giao dịch nào chứa các hoạt động MEV mới dựa trên công cụ MEVhunter vừa được đề cập, sau đó sử dụng thu nhập của những người khai thác trong các gói giao dịch này để ước tính cường độ tương ứng của các hoạt động MEV này. Ở đây cần phải đưa ra một khái niệm, trong cơ chế gói giao dịch, để đảm bảo rằng các gói giao dịch chênh lệch giá của họ có thể được đưa vào chuỗi, những người chênh lệch giá này thường chia sẻ một phần thu nhập từ hoạt động MEV với những người khai thác, và sau đó những người khai thác cuối cùng sẽ chọn gói giao dịch có lợi nhuận cao nhất để đưa vào chuỗi. . Chúng ta có thể sử dụng thu nhập này để ước tính thống nhất các hoạt động MEV trong từng gói giao dịch. Theo kết quả thống kê của chúng tôi, chúng tôi thấy rằng có hơn 900 khối có phần thưởng MEV gấp bốn đến tám lần phần thưởng khối. Ngoài ra, phần thưởng MEV của một khối thậm chí còn gấp hơn 700 lần phần thưởng khối. Chúng tôi sử dụng khung quyết định Markov để xác định số lượng thợ mỏ tối thiểu có thể khuyến khích phân nhánh khối và tổ chức lại để nhận được lợi ích MEV. Cuối cùng, chúng tôi đã phát hiện ra rằng hơn 1.000 khối có thể thúc đẩy không dưới 10% số người khai thác thực hiện phân nhánh và tổ chức lại khối. Và giống như khối nghiêm trọng nhất, có không dưới 6/10.000 thợ mỏ thực hiện phân nhánh và tổ chức lại khối.
Ứng dụng thứ ba là khám phá tác động của hoạt động MEV đến an ninh tài chính của người dùng blockchain. Các hoạt động MEV thực sự có thể khiến người dùng blockchain phải chờ các giao dịch trên nhóm giao dịch hoặc mạng P2P được mở rộng, đây cũng là một trong những mối đe dọa chính đối với an ninh tài chính của người dùng từ các hoạt động MEV. Nếu giao dịch của người dùng bị trì hoãn trên chuỗi, các nhà kinh doanh chênh lệch giá có thể có nhiều thời gian hơn để thiết kế các hoạt động MEV phức tạp và sinh lợi hơn. Ứng dụng thứ ba là so sánh tác động của hoạt động MEV đến thời gian chờ đợi để giao dịch của người dùng cuối cùng được tải lên chuỗi. Bước đầu tiên cũng là thu thập thời gian chờ đợi của giao dịch. Chúng tôi chủ yếu triển khai các nút trên mạng, sau đó ghi lại thời điểm giao dịch được phát hiện lần đầu tiên trên mạng và thời điểm giao dịch cuối cùng được tải lên chuỗi và cuối cùng tính toán thời gian chờ. Chúng tôi sử dụng ba phần tư thời gian chờ của tất cả các giao dịch trong mỗi khối để thống kê, để có thể sắp xếp thời gian chờ của các giao dịch thành chuỗi thời gian theo đơn vị của mỗi khối. Sau đó, hoạt động MEV tương ứng trong mỗi khối cũng được mô tả bằng doanh thu mà người khai thác trong mỗi khối thu được từ gói giao dịch có chứa hoạt động MEV mới. Bằng cách này, chúng ta có được nhiều chuỗi thời gian. Chúng tôi sử dụng Kiểm định nhân quả Granger để đánh giá tác động của hoạt động MEV đến thời gian giao dịch. Kiểm định nhân quả có thể xác định liệu các biến động trong chuỗi thời gian này có gây ra biến động trong chuỗi thời gian khác hay không và nó ảnh hưởng hoặc gây ra biến động trong chuỗi thời gian khác trong bao lâu. Khi hoạt động MEV biến động, liệu nó có khiến thời gian chờ giao dịch của người dùng trở nên dài hơn không và có bao nhiêu khối tiếp theo bị ảnh hưởng.
Khi giá trị P của kiểm định quan hệ nhân quả nhỏ hơn hoặc bằng 0,5 nghĩa là thời gian chờ đợi của các giao dịch trong khối này bị kéo dài do ảnh hưởng của các hoạt động MEV trước đó. Theo kết quả phân tích, có thể thấy rằng khi hoạt động MEV xảy ra, 50% thời gian chờ giao dịch ở hai khối tiếp theo sẽ được kéo dài. Sau khi hoạt động MEV diễn ra, 25% thời gian chờ giao dịch trong 30 khối tiếp theo sẽ được kéo dài. Người khai thác hoặc người xác thực sẽ đặt các giao dịch có phí gas tương đối thấp ở cuối khối được đóng gói. Phí gas trong giao dịch của người dùng càng thấp thì tác động của các hoạt động MEV sẽ càng lớn và thời gian chờ đợi sẽ kéo dài hơn.
Để kết luận, trước tiên chúng tôi chia sẻ cách tìm các hoạt động MEV chưa xác định thông qua quy trình làm việc và thiết kế chi tiết của hai mô-đun trong quy trình làm việc, sau đó chúng tôi xác minh tính hiệu quả của quy trình làm việc thông qua phân tích thực nghiệm và liệt kê ba ứng dụng cùng một lúc. Cho đến nay, chúng tôi đã phát hiện được 17 hoạt động MEV mới sử dụng quy trình làm việc.
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
Làm sáng tỏ loại MEV không xác định trong gói giao dịch Ethereum
Khách mời: Zihao Li, nghiên cứu sinh tiến sĩ, Đại học Bách khoa Hồng Kông
Được tổ chức bởi:aididao.eth, Foresight News
Bài viết này là sự tổng hợp các văn bản được chia sẻ bởi Zihao Li, nghiên cứu sinh tiến sĩ tại Đại học Bách khoa Hồng Kông trong Chương trình Học giả Trẻ Web3. Chương trình Học giả Trẻ Web3 do DRK Lab, imToken và Crytape đồng khởi động, sẽ mời các học giả trẻ nổi tiếng trong lĩnh vực mã hóa chia sẻ một số kết quả nghiên cứu mới nhất với cộng đồng Trung Quốc.
Xin chào mọi người, tôi là Zihao Li, nghiên cứu sinh tiến sĩ năm thứ 3 tại Đại học Bách khoa Hồng Kông. Chủ đề tôi sẽ chia sẻ hôm nay là "Tiết lộ các hoạt động MEV trong Gói giao dịch Ethereum". Nói một cách đơn giản, đó là cách khám phá các loại hoạt động MEV chưa xác định trong mạng Ethereum thông qua các gói giao dịch. Đầu tiên, tôi sẽ giới thiệu nền tảng tương đối cơ bản, chẳng hạn như khái niệm MEV, cơ chế gói giao dịch và nền tảng công việc của chúng tôi. Sau đó, tôi sẽ giới thiệu quy trình làm việc hoàn chỉnh và một số ý tưởng thiết kế một cách chi tiết, chẳng hạn như quy trình làm việc được thiết kế dựa trên những nguyên tắc thiết kế nào; bộ dữ liệu của chúng tôi là gì; chúng tôi sử dụng công cụ nào để đánh giá quy trình làm việc của mình dựa trên các chỉ số nào, v.v. Cuối cùng, tôi sẽ giới thiệu ba ứng dụng bao gồm các kết quả phân tích thực nghiệm có liên quan.
###Giới thiệu nền: MEV, gói giao dịch, động lực
Hoạt động MEV đề cập đến các nhà kinh doanh chênh lệch giá trong chuỗi khối tạo ra các giao dịch chênh lệch giá bằng cách giám sát mạng chuỗi khối, bao gồm cả trạng thái khối. Một số thông tin giao dịch được lan truyền trên mạng blockchain P2P hoặc một số giao dịch chưa được chính thức tải lên chuỗi được lưu trữ trong nhóm giao dịch của các thợ mỏ hoặc người xác minh. Giao dịch chênh lệch giá, sau đó chỉ định giao dịch chênh lệch giá ở một vị trí nhất định trong khối tiếp theo, chẳng hạn, anh ta muốn đứng đầu khối tiếp theo, hay nói cách khác, thực hiện giao dịch chiến lược ngay sau một giao dịch nhất định để lan truyền giao dịch chênh lệch giá tương tự. Bằng cách này, chúng ta có thể coi hoạt động kinh doanh chênh lệch giá ở một vị trí nhất định là hoạt động MEV. Ví dụ: nếu một nhà kinh doanh chênh lệch giá theo dõi biến động giá tài sản, anh ta có thể mua tài sản tương ứng trong nhóm giao dịch với giá thấp, sau đó bán nó ở điểm cao trong nhóm khác có giá cao. Đây được coi là hoạt động MEV.
Hiện tại, các hoạt động MEA chủ yếu được thực hiện bởi các nhà kinh doanh chênh lệch giá xung quanh hệ sinh thái DeFi, bởi vì hệ sinh thái DeFi hiện chủ yếu tập hợp tài sản, cho đến nay, hệ sinh thái DeFi của Ethereum bao gồm các chuỗi khác đã thu hút được hơn 40 tỷ đô la Mỹ vốn. Ở đây chúng ta cần đề cập đến một khái niệm về hệ sinh thái DeFi, được gọi là hành động DeFi, tương ứng với hoạt động dịch vụ nguyên tử do ứng dụng DeFi cung cấp. Ví dụ: chúng ta biết rằng AMM hỗ trợ trao đổi giữa các loại tài sản khác nhau. Người dùng có thể bán một USDC , sau đó nhận được một lượng ETH. Hoạt động như vậy có thể được định nghĩa là hành động DeFi. Chúng ta có thể sử dụng hành động DeFi để thể hiện các hoạt động MEV. Ví dụ: nếu người dùng phát hiện có sự chênh lệch về giá tài sản trên các AMM khác nhau, người dùng có thể mua thấp và bán cao và cuối cùng thu được lợi nhuận chênh lệch giá. Chúng ta có thể biểu thị hoạt động MEV này dưới dạng hai hành động DeFi.
Hiện tại, nghiên cứu học thuật về hoạt động MEV chủ yếu được chia thành ba loại, đó là tấn công bánh sandwich, chênh lệch giá ngược và thanh lý. Trong tập dữ liệu mà chúng tôi làm việc cùng, chúng tôi thấy rằng ba hoạt động MEV này đã xảy ra hơn 1 triệu lần. Thực sự có một câu hỏi ở đây là sau khi chúng ta đã biết định nghĩa về các hoạt động MEV này, làm thế nào để nhận biết sự xuất hiện của các hoạt động này. Nếu muốn xác định các hoạt động MEV này, chúng tôi cần xác định tất cả hoạt động của các nhà kinh doanh chênh lệch giá, chẳng hạn như giao dịch chênh lệch giá nào tạo ra và loại chênh lệch giá nào trong các giao dịch này, sau đó chúng tôi có thể xác định loại hoạt động MEV nào hiện đang diễn ra, và toàn bộ quá trình phụ thuộc rất nhiều vào định nghĩa của chúng tôi về hoạt động MEV đã biết. Lấy một cuộc tấn công bánh sandwich làm ví dụ. Sau khi biết định nghĩa của cuộc tấn công bánh sandwich, chúng ta cần xác định giá trị chênh lệch giá của một cuộc tấn công bánh sandwich và giao dịch chênh lệch giá tương ứng của nó. Chúng ta cần đặt ra rất nhiều quy tắc dựa trên định nghĩa, và sau đó lọc ra các cuộc tấn công bánh sandwich ứng viên thông qua các quy tắc này về giá trị và giao dịch chênh lệch giá. Khi xác định các loại tấn công MEV đã biết theo cách này, sẽ có hai câu hỏi: Câu hỏi đầu tiên là liệu ba hoạt động MEV phổ biến mà chúng ta biết có thể đại diện cho tất cả các hoạt động MEV hay không? Rõ ràng là không, bởi vì hệ sinh thái DeFi đã và đang phát triển và các ứng dụng mới đã được phát triển, đồng thời các chiến lược của những nhà kinh doanh chênh lệch giá này thực sự đang được lặp đi lặp lại. Câu hỏi thứ hai là làm thế nào chúng ta có thể khám phá những hoạt động MEV chưa biết này. Với câu hỏi này, chúng ta hãy xem cơ chế gói giao dịch.
Cơ chế gói giao dịch được đề xuất lần đầu tiên vào năm 2021. Nói một cách đơn giản, người dùng có thể sắp xếp hàng đợi giao dịch. Độ dài của hàng đợi giao dịch này có thể là một giao dịch hoặc một số giao dịch, sau đó người dùng gửi các giao dịch này đến mạng blockchain. Người chuyển tiếp thu thập các giao dịch này và gửi chúng trực tiếp và riêng tư cho người khai thác hoặc người xác minh có liên quan. Hiện tại, Relayer sẽ chạy gói giao dịch để đảm nhận nhiệm vụ chuyển tiếp. Cơ chế gói giao dịch có một tính năng rất quan trọng, khi những người dùng này xây dựng gói giao dịch, họ có thể đưa các giao dịch mà người khác chưa tải lên chuỗi vào gói giao dịch và thứ tự giao dịch trong gói giao dịch có thể bị thao túng tùy ý. . Tại thời điểm này, người sử dụng gói giao dịch hoặc nhà kinh doanh chênh lệch giá sử dụng gói giao dịch có thể thiết kế các quy tắc chênh lệch giá của mình. Ví dụ, anh ta có thể thiết kế các chiến lược hoạt động MEV phức tạp hơn và mang lại nhiều lợi nhuận hơn. Lấy cuộc tấn công bánh sandwich làm ví dụ, nếu không sử dụng gói giao dịch nào, một nhà kinh doanh chênh lệch giá trong cuộc tấn công bánh sandwich cần tạo ra ít nhất một cặp giao dịch để đạt được chênh lệch giá và cặp giao dịch chênh lệch giá này chỉ có thể nhắm mục tiêu giao dịch này. Việc chênh lệch giá do giao dịch tấn công này tạo ra phải được thực hiện theo một thứ tự nhất định để đảm bảo rằng nó có thể được chênh lệch giá thành công. Nhưng nếu một nhà kinh doanh chênh lệch giá sử dụng gói giao dịch, anh ta có thể thu thập nhiều giao dịch có thể chênh lệch giá và chỉ cần sử dụng một cặp giao dịch chênh lệch giá tương ứng để tạo ra chênh lệch giá trên nhiều giao dịch cùng một lúc. Miễn là gói giao dịch này nằm trên chuỗi, nó chắc chắn sẽ thành công trong hoạt động chênh lệch giá và bởi vì nó thực hiện chênh lệch giá nhiều giao dịch có thể chênh lệch giá cùng một lúc nên kết quả chênh lệch giá của nó cũng mang lại nhiều lợi nhuận hơn.
Các gói giao dịch có đặc điểm là hoạt động MEV rất phong phú và phức tạp. Bởi vì người dùng sử dụng gói giao dịch sẽ gói gọn giao dịch hoàn chỉnh của mình trong gói giao dịch, sau đó gửi nó đến bộ chuyển tiếp của mạng P2P và cuối cùng gửi nó đến những người khai thác và xác minh tương ứng. Chúng tôi có thể xác định chính xác và đầy đủ mọi hoạt động thông qua gói giao dịch. Do đó, chúng tôi có thể xác định chính xác hơn một số hoạt động MEV chưa biết thông qua phương tiện gói giao dịch.
Ý tưởng thiết kế và quy trình làm việc
Tiếp theo, chúng tôi sẽ giới thiệu chi tiết quy trình làm việc của chúng tôi. Làm cách nào để chúng tôi phát hiện các hoạt động MEV không xác định thông qua phương tiện như các gói giao dịch? Quy trình làm việc cốt lõi bao gồm hai công cụ. Đầu tiên, sau khi người chuyển tiếp thu thập gói giao dịch, chúng tôi sử dụng công cụ ActLifter để xác định từng hành động DeFi trong gói giao dịch. Sau khi nhận được kết quả, chúng tôi sẽ trình bày tất cả các hành động trong gói giao dịch. . Sau đó, sử dụng công cụ ActCluster để phân cụm các gói giao dịch có hoạt động tương tự lại với nhau và khám phá các hoạt động MEV mới nhanh hơn thông qua kết quả phân cụm. Nếu chúng tôi muốn khám phá các hoạt động MEV không xác định, chắc chắn chúng tôi sẽ cần phải xác nhận thủ công xem hoạt động MEV có phải là loại không xác định hay không. Tất nhiên, mục tiêu thiết kế công việc của chúng tôi là giảm thiểu khối lượng công việc thủ công nhiều nhất có thể và làm cho toàn bộ quy trình hiệu quả nhất có thể. có thể. Thực hiện tự động.
Hiện đã có các công cụ có thể xác định hoạt động MEV từ các giao dịch. Chúng ta có thể chia đại khái thành hai loại, loại thứ nhất là các quy tắc tóm tắt hoàn toàn thủ công, loại thứ hai là các quy tắc heuristic thuần túy, nghĩa là sử dụng quy tắc heuristic hoàn toàn tự động để xác định các loại hoạt động MEV cụ thể. Ví dụ: sau khi xác định một số thông tin chuyển giao hiện tại, nó sẽ kiểm tra xem các quy tắc heuristic có được thỏa mãn hay không, nếu đúng thì nó có thể xác định hoạt động tương ứng. Phương pháp tóm tắt quy tắc hoàn toàn thủ công đầu tiên có thể đạt được độ chính xác tương đối tốt, bởi vì quá trình này hoàn toàn là phân tích thủ công các ứng dụng cụ thể và sau đó nó có thể đảm bảo rằng kết quả phát hiện là chính xác, nhưng nhiệm vụ phân tích đòi hỏi khối lượng công việc rất lớn, vì vậy Nó không thể bao gồm mọi ứng dụng DeFi. Mặc dù công việc thứ hai có thể được tự động hóa hoàn toàn nhưng các quy tắc heuristic chỉ có thể bao gồm một số loại cụ thể. Mặt khác, có một số vấn đề trong việc thiết kế các quy tắc heuristic, dẫn đến độ chính xác nhận dạng không đạt yêu cầu.
Chúng tôi đã thiết kế quy trình làm việc của mình bằng cách kết hợp các ưu điểm của hai loại phương pháp. Chúng ta có thể xác định mười hành động DeFi chính hiện tại. Chúng ta chỉ cần xác định thủ công sự kiện nào trong ứng dụng DeFi tương ứng với loại hành động DeFi nào sau khi nó được bắt đầu, sau đó chúng ta không cần phân tích thủ công và hoàn toàn có thể để phân tích tự động. Loại phương pháp thứ hai có thể tự động xác định hoàn toàn các hành động DeFi, nhưng nó không thể xác định rằng đối tượng phân tích có liên quan đến hoạt động MEV hay không. Ví dụ: nếu chúng tôi xác định một giao dịch chuyển SWAP, nó có thể xác định hai kết hợp chuyển hoàn toàn không liên quan đến nhau là một hành động DeFi. Đương nhiên, kết quả nhận dạng của nó sẽ sai. Nhưng chúng ta có thể sử dụng thông tin này để lọc ra những thông tin thực sự liên quan đến hoạt động DeFi. Sau khi có được thông tin này, chúng ta có thể tránh được một số lỗi như loại phương pháp thứ hai thông qua các phương pháp tự động.
Ví dụ: ở đây có một giao dịch liên quan đến tổng cộng bốn lần chuyển tiền, thứ tự xảy ra, số tiền và loại tiền được đánh dấu bằng số sê-ri. Trong quá trình này, AMM thực sự đã khởi xướng một sự kiện liên quan đến hành động Hoán đổi. Sau khi loại phương thức đầu tiên xác định rằng sự kiện đã được bắt đầu, nó cần khôi phục nội dung hiện tại thông qua một số tham số của sự kiện. Ví dụ, nó cần xem mã, logic nghiệp vụ và một số biến chức năng của hợp đồng 699 để khôi phục nội dung hiện tại. Sau khi có được thông tin này, chúng tôi đã thiết kế một quy tắc dựa trên các đặc điểm chuyển giao tài sản duy nhất của nó. Ví dụ: quy tắc mà chúng tôi đã tinh chỉnh là hợp đồng hiện đang vận hành DeFi sẽ nhận và chuyển các loại tài sản khác nhau. Khi chúng tôi thấy rằng có hai giao dịch như thế này Sau khi việc chuyển giao tài sản đáp ứng được các đặc điểm đó, chúng ta có thể khôi phục nội dung hành động Hoán đổi tương ứng. Loại phương thức thứ hai khớp trực tiếp hai lần chuyển tài sản, hai tài khoản chuyển tài sản nhận và chuyển các loại tài sản khác nhau. Lần chuyển tiền thứ nhất và thứ năm sẽ được coi là một cặp lần chuyển tiền có liên quan, còn tài khoản ở giữa được coi là AMM, rõ ràng bằng trực giác chúng ta có thể thấy rằng kết quả nhận dạng là không chính xác.
Các quy tắc mà chúng tôi tóm tắt thông qua phân tích thủ công là các loại hành động DeFi tương ứng với các sự kiện có liên quan. Mặc dù kết quả được tóm tắt thông qua phân tích thủ công, chúng tôi vẫn cố gắng hết sức để tinh chỉnh quy trình phân tích thủ công thành quy trình bán tự động, để đảm bảo rằng độ tin cậy của toàn bộ quá trình Chúng tôi sẽ truy vấn trang web chính thức và tài liệu dành cho nhà phát triển ứng dụng DeFi, bao gồm một số mã nguồn hợp đồng, từ các trang web chính thức của DeFiPulse.com và Dapp.com. Chúng tôi phát triển các công cụ phân tích cú pháp có thể trích xuất một số mô tả về các sự kiện trong tài liệu từ các tài liệu liên quan này, chẳng hạn như cách sự kiện này được xác định bằng mã thông báo và chức năng, đoạn mã và nhận xét mã trong đó các sự kiện này được sử dụng. Sau khi trích xuất những thứ này, thông qua phân tích và thảo luận thủ công, cuối cùng chúng tôi đã xác định được rằng có 88 sự kiện tương ứng với các loại hành động DeFi khác nhau.
Chúng ta nhập giao dịch cần phân tích vào từ điển này và phân tích những sự kiện nào đã xảy ra trong giao dịch. Sau đó, khi một sự kiện xuất hiện trong từ điển này, chúng tôi sẽ trích xuất thông tin chính theo các quy tắc tương ứng, chẳng hạn như hợp đồng nào đang vận hành hành động DeFi này, loại DeFi này là gì và việc chuyển giao tài sản nào có liên quan đến hành động DeFi này. Sau khi có được nội dung như vậy, chúng tôi sẽ tóm tắt các quy tắc đặc trưng của việc chuyển giao tài sản và sau đó sử dụng các quy tắc này để khớp với hành động DeFi cuối cùng. Chúng tôi bắt đầu từ định nghĩa về mười hành động DeFi và tóm tắt các quy tắc đặc trưng của việc chuyển giao tài sản. Sau khi thu thập thông tin này ở bước trước, chúng tôi sẽ sử dụng các quy tắc so khớp này để so khớp và cuối cùng giúp chúng tôi xác định nội dung cụ thể nào đã xảy ra trong đó DeFi trong giao dịch này. Sau khi ActCluster xác định từng giao dịch trong gói giao dịch, chúng ta có thể biểu thị hành vi của gói giao dịch đó.
Trước tiên chúng ta hãy hiểu các nguyên tắc thiết kế của ActCluster. Chúng tôi biết rằng việc phân tích thủ công là điều không thể tránh khỏi trong quá trình này và nó phải dựa vào lao động thủ công để xác định xem hoạt động của gói giao dịch có phải là loại hoạt động MEV không xác định hay không. Dựa trên điều này, ý tưởng cơ bản của chúng tôi là nhóm một số gói giao dịch có hoạt động tương tự lại với nhau. Đối với mỗi cụm, chúng tôi chỉ cần lấy mẫu ngẫu nhiên một hoặc một số gói giao dịch để phân tích, điều này có thể tăng tốc quá trình phân tích thủ công và cuối cùng phát hiện ra các loại hoạt động MEA khác nhau. Khi chúng tôi sử dụng phân tích cụm để phân cụm các gói giao dịch, chúng tôi gặp phải một vấn đề nan giải. Khi chúng ta đặt cường độ phân cụm của các gói giao dịch tương đối thô, các gói giao dịch chứa các loại hoạt động khác nhau sẽ được nhóm lại với nhau. Lúc này, mặc dù số lượng cụm sẽ nhỏ hơn nhưng các tác vụ phân tích thủ công tương ứng cũng sẽ nhỏ hơn. một số hoạt động MEV mới sẽ bị bỏ lỡ. Nếu chúng ta điều chỉnh cường độ phân cụm chi tiết hơn, mặc dù chúng ta có thể phân biệt một số gói giao dịch tương ứng với các hoạt động MEA tương tự nhưng khác nhau, khối lượng công việc phân tích thủ công liên quan sẽ tăng lên rất nhiều.
Dựa trên vấn đề như vậy, chúng tôi đã thiết kế một phương pháp phân tích phân cụm lặp, phương pháp này thực hiện phân tích phân cụm theo nhiều lần lặp. Trong mỗi vòng, chúng tôi sẽ loại bỏ các gói giao dịch đã biết chứa các hoạt động MEV mới được phát hiện ở các vòng trước, sau đó cải thiện sức mạnh phân cụm của các gói giao dịch còn lại. Chúng tôi không thể trực tiếp sử dụng các phương pháp phân cụm truyền thống để phân cụm các gói giao dịch, vì các gói giao dịch thực sự chứa nhiều giao dịch và một giao dịch có thể chứa nhiều hành động DeFi. Nếu chúng ta thể hiện toàn bộ gói giao dịch, cấu trúc của nó thực sự không đồng nhất và có thứ bậc. Tại thời điểm này, chúng tôi sử dụng phương pháp học biểu diễn để thể hiện nội dung của gói giao dịch này vào một không gian định vị. Ưu điểm của việc sử dụng phương pháp học biểu diễn là chúng ta không cần tiến hành học và hiểu chuyên sâu về dữ liệu mà chúng ta muốn phân tích và xử lý, cũng như không cần kiến thức miền phong phú mà chỉ cần thực hiện xử lý theo định hướng dữ liệu đơn giản.
Ví dụ: chúng ta chỉ cần dán nhãn gói giao dịch có hoạt động MEV trong gói giao dịch. Nếu biết định nghĩa về hoạt động MEV, chúng ta sẽ dễ dàng thiết kế các quy tắc tương ứng hơn và tự động phát hiện xem nó có tồn tại hay không. Chúng tôi có thể tự động gắn nhãn các gói giao dịch này để thể hiện việc học. Phân tích cụm của chúng tôi là loại lặp lại và sau mỗi lần lặp, chúng tôi có thể khám phá các hoạt động MEV mới. Tại thời điểm này, chúng tôi thực sự có thể làm phong phú các nhãn tương ứng với các hoạt động MEV mới được phát hiện này vào quá trình học biểu diễn của mình. . Khi các nhãn được sử dụng trong quá trình học biểu diễn của chúng tôi được làm phong phú, hiệu suất và hiệu quả của toàn bộ quá trình đào tạo mô hình học biểu diễn có thể được cải thiện lặp đi lặp lại và việc học biểu diễn này có thể cải thiện lặp đi lặp lại khả năng biểu diễn hoạt động của gói giao dịch. Trên thực tế, có thể có nhiều giao dịch trong một gói giao dịch và có thể có nhiều hành động DeFi trong một giao dịch, chúng ta cần thể hiện gói giao dịch đó. Trước hết, đối với mỗi loại hành động DeFi, chúng tôi xác định một tham số tiêu chuẩn, chẳng hạn như hợp đồng nào đang hoạt động, sau đó số lượng và loại tài sản được nhận và chuyển đi là bao nhiêu? Chúng tôi xác định từng hành động DeFi theo cách này. Nếu chúng tôi nhận ra rằng có nhiều hành động DeFi trong một giao dịch, chúng tôi sẽ biểu thị chúng bằng các khối hành động để khối giao dịch tương ứng với giao dịch này có thể được biểu diễn, bao gồm thông tin nguồn của giao dịch, chẳng hạn như ai đã thực hiện giao dịch và hướng Nó được gửi đến ai? Khi một hành động DeFi xảy ra trong một giao dịch, chúng tôi sẽ lấp đầy nó bằng các khối hành động theo thứ tự. Mỗi giao dịch này được biểu thị bằng một khối giao dịch và cuối cùng chúng ta có được cấu trúc của gói giao dịch, có thể được coi là một ma trận. Sau khi gói giao dịch được biểu diễn, chúng ta có thể sử dụng nó cho việc học biểu diễn. Mỗi gói giao dịch là một cấu trúc thống nhất và sau đó chúng ta có thể sử dụng mô hình này để xử lý hàng loạt.
Đánh giá hiệu suất
Tiếp theo, chúng tôi chia sẻ các phương pháp chúng tôi đã sử dụng để đánh giá hiệu suất quy trình làm việc. Bộ dữ liệu cho toàn bộ quá trình phân tích của chúng tôi thông qua API do Flashbots cung cấp và dữ liệu gói giao dịch từ tháng 2 năm 2021 đến tháng 12 năm 2022 được thu thập, bao gồm hơn 6 triệu gói giao dịch và 26 triệu giao dịch.
Chúng tôi đã thiết kế một số công cụ để so sánh tính chính xác và đầy đủ của các hành động DeFi. Cần lưu ý ở đây rằng trong số các công cụ trực tuyến này, hiện tại chỉ Etherscan mới có thể khôi phục hành động DeFi trong giao dịch thông qua trang web của nó và thông tin mà nó cung cấp. Và giống như DeFiRanger, chúng tôi tái tạo các phương pháp của họ dựa trên giấy tờ của họ. Ngoài ra, chúng tôi đã thiết kế một công cụ có tên EventLifter để cố gắng khôi phục các hành động DeFi trực tiếp từ các sự kiện giao dịch. Chúng tôi đã thử nghiệm ActLifter theo các cấu hình khác nhau và sử dụng nhiều công cụ khác nhau để so sánh độ chính xác của nhận dạng. Đối với ActCluster, ý tưởng chính của chúng tôi là áp dụng phương pháp học cắt bỏ. Đối với các hoạt động mới có thể được xác định, sau khi cắt bỏ một số mô-đun của ActCluster, nếu muốn xác định một số hoạt động mới chưa được tìm thấy, chúng tôi phải làm bao nhiêu Gói giao dịch hoặc khối lượng công việc phân tích thủ công của chúng tôi lớn đến mức nào. Ví dụ: chúng tôi đã loại bỏ bản cập nhật nhãn động trong mô-đun học cách trình bày ActCluster và thực tế chúng tôi đã loại bỏ toàn bộ quá trình. Chúng tôi lấy mẫu ngẫu nhiên gồm 6 triệu gói giao dịch và xem chúng tôi phải phân tích thủ công bao nhiêu gói giao dịch để khám phá cùng một lượng hoạt động MEV mới.
Các công cụ của chúng tôi có thể đạt được độ chính xác và đầy đủ gần 100% trong điều kiện cấu hình thống nhất. Nhưng giống như các công cụ khác như Etherscan, mặc dù độ chính xác của nó có thể đạt tới 100%, khá khả quan nhưng nó sẽ bỏ lỡ rất nhiều hành động DeFi. Bản thân Etherscan không có phương pháp nguồn mở. Chúng tôi suy đoán rằng nó có thể sử dụng phân tích thủ công để tóm tắt các quy tắc nhằm xác định các hành động DeFi. Do đó, nó sẽ bỏ lỡ một số loại không thể thực hiện được theo cách thủ công. Cần lưu ý ở đây rằng Etherscan không thực sự cung cấp giao diện tự động, nếu bạn muốn thực hiện nhận dạng quy mô lớn, bạn không thể trực tiếp hoàn thành nhiệm vụ như vậy. Độ chính xác và đầy đủ của DeFiRanger, được xác định hoàn toàn bằng các quy tắc ẩn, là không thỏa đáng. Sau khi thử nghiệm ActCluster, chúng tôi nhận thấy rằng qua bốn vòng phân tích lặp đi lặp lại, chúng tôi chỉ cần phân tích tổng cộng 2.000 gói giao dịch để tìm ra 17 hoạt động MEV chưa xác định. Sau khi loại bỏ một số mô-đun này, chúng tôi có thể cần phân tích thủ công tới 170.000 gói giao dịch để xác định 17 hoạt động MEV chưa xác định vừa được đề cập.
Phân tích thực nghiệm và ứng dụng
Các ứng dụng cụ thể của phương pháp xác định các loại hoạt động MEV chưa xác định của chúng tôi là gì? Đầu tiên, liệu nó có thể tăng cường các biện pháp giảm thiểu MEV hiện có và có thể chống lại một số hoạt động MEV hay không. Thứ hai là sử dụng kết quả phân tích để xem liệu chúng ta có thể phân tích toàn diện hơn tác động của các hoạt động MEV đến hệ sinh thái blockchain hay không, bao gồm tác động đến fork và tổ chức lại khu rừng khối cũng như an ninh tài chính của người dùng.
Chúng tôi đã đề cập trước đó rằng những kẻ tấn công mạng tăng cường MEV sẽ chạy các công cụ để lấy các gói giao dịch từ người dùng, sau đó phân phối chúng cho những người khai thác và người xác thực kết nối chúng. Người chuyển tiếp sẽ loại bỏ các gói giao dịch có chứa hoạt động MEA khỏi gói giao dịch mà họ nhận được, bằng cách này, họ có thể giảm một số tác động tiêu cực của hoạt động MEA lên blockchain. Ý tưởng chính của liên kết này là thiết kế các quy tắc tương ứng thông qua định nghĩa các hoạt động MEV hiện có để phát hiện xem gói giao dịch có chứa hoạt động MEV hay không. Rõ ràng những người chuyển tiếp này không thể loại trừ một số gói giao dịch có chứa các hoạt động MEV không xác định. Dựa trên quy trình làm việc của chúng tôi, chúng tôi đã thiết kế một công cụ MEVhunter có thể phát hiện loại hoạt động MEV mới mà chúng tôi đã phát hiện được từ gói giao dịch.
Kết quả phát hiện cho thấy hơn 1 triệu gói giao dịch chứa hoạt động MEV chênh lệch giá ngược và 30% trong số 6 triệu gói giao dịch còn lại chứa ba hoạt động MEV đã biết. Đối với các hoạt động MEV mới được phát hiện, chúng tôi nhận thấy gần một nửa số gói giao dịch chỉ chứa các hoạt động MEV mới này. Nếu người chuyển tiếp sử dụng công cụ MEVhunter, nó có thể giúp họ lọc ra 3 triệu gói giao dịch có chứa hoạt động MEV và sau đó họ có thể chọn loại bỏ các gói giao dịch này để giảm tác động tiêu cực của hoạt động MEV trên blockchain.
Ứng dụng thứ hai là để chúng tôi khám phá tác động của các loại hoạt động MEV mới đối với việc phân nhánh và tổ chức lại blockchain. Một số nghiên cứu trước đây đã báo cáo rằng một số công cụ khai thác tài chính sẽ được thúc đẩy bởi lợi ích của một số hoạt động MEV để phân nhánh và tổ chức lại chuỗi khối hiện tại, tự mình thực hiện các hoạt động MEV và tận hưởng các lợi ích. Ví dụ: khi thu nhập hoạt động MEV của một khối gấp 4 lần phần thưởng khối, thì không dưới 10% thợ mỏ sẽ phân nhánh và tổ chức lại khối.
Trước tiên, chúng tôi xác định gói giao dịch nào chứa các hoạt động MEV mới dựa trên công cụ MEVhunter vừa được đề cập, sau đó sử dụng thu nhập của những người khai thác trong các gói giao dịch này để ước tính cường độ tương ứng của các hoạt động MEV này. Ở đây cần phải đưa ra một khái niệm, trong cơ chế gói giao dịch, để đảm bảo rằng các gói giao dịch chênh lệch giá của họ có thể được đưa vào chuỗi, những người chênh lệch giá này thường chia sẻ một phần thu nhập từ hoạt động MEV với những người khai thác, và sau đó những người khai thác cuối cùng sẽ chọn gói giao dịch có lợi nhuận cao nhất để đưa vào chuỗi. . Chúng ta có thể sử dụng thu nhập này để ước tính thống nhất các hoạt động MEV trong từng gói giao dịch. Theo kết quả thống kê của chúng tôi, chúng tôi thấy rằng có hơn 900 khối có phần thưởng MEV gấp bốn đến tám lần phần thưởng khối. Ngoài ra, phần thưởng MEV của một khối thậm chí còn gấp hơn 700 lần phần thưởng khối. Chúng tôi sử dụng khung quyết định Markov để xác định số lượng thợ mỏ tối thiểu có thể khuyến khích phân nhánh khối và tổ chức lại để nhận được lợi ích MEV. Cuối cùng, chúng tôi đã phát hiện ra rằng hơn 1.000 khối có thể thúc đẩy không dưới 10% số người khai thác thực hiện phân nhánh và tổ chức lại khối. Và giống như khối nghiêm trọng nhất, có không dưới 6/10.000 thợ mỏ thực hiện phân nhánh và tổ chức lại khối.
Ứng dụng thứ ba là khám phá tác động của hoạt động MEV đến an ninh tài chính của người dùng blockchain. Các hoạt động MEV thực sự có thể khiến người dùng blockchain phải chờ các giao dịch trên nhóm giao dịch hoặc mạng P2P được mở rộng, đây cũng là một trong những mối đe dọa chính đối với an ninh tài chính của người dùng từ các hoạt động MEV. Nếu giao dịch của người dùng bị trì hoãn trên chuỗi, các nhà kinh doanh chênh lệch giá có thể có nhiều thời gian hơn để thiết kế các hoạt động MEV phức tạp và sinh lợi hơn. Ứng dụng thứ ba là so sánh tác động của hoạt động MEV đến thời gian chờ đợi để giao dịch của người dùng cuối cùng được tải lên chuỗi. Bước đầu tiên cũng là thu thập thời gian chờ đợi của giao dịch. Chúng tôi chủ yếu triển khai các nút trên mạng, sau đó ghi lại thời điểm giao dịch được phát hiện lần đầu tiên trên mạng và thời điểm giao dịch cuối cùng được tải lên chuỗi và cuối cùng tính toán thời gian chờ. Chúng tôi sử dụng ba phần tư thời gian chờ của tất cả các giao dịch trong mỗi khối để thống kê, để có thể sắp xếp thời gian chờ của các giao dịch thành chuỗi thời gian theo đơn vị của mỗi khối. Sau đó, hoạt động MEV tương ứng trong mỗi khối cũng được mô tả bằng doanh thu mà người khai thác trong mỗi khối thu được từ gói giao dịch có chứa hoạt động MEV mới. Bằng cách này, chúng ta có được nhiều chuỗi thời gian. Chúng tôi sử dụng Kiểm định nhân quả Granger để đánh giá tác động của hoạt động MEV đến thời gian giao dịch. Kiểm định nhân quả có thể xác định liệu các biến động trong chuỗi thời gian này có gây ra biến động trong chuỗi thời gian khác hay không và nó ảnh hưởng hoặc gây ra biến động trong chuỗi thời gian khác trong bao lâu. Khi hoạt động MEV biến động, liệu nó có khiến thời gian chờ giao dịch của người dùng trở nên dài hơn không và có bao nhiêu khối tiếp theo bị ảnh hưởng.
Khi giá trị P của kiểm định quan hệ nhân quả nhỏ hơn hoặc bằng 0,5 nghĩa là thời gian chờ đợi của các giao dịch trong khối này bị kéo dài do ảnh hưởng của các hoạt động MEV trước đó. Theo kết quả phân tích, có thể thấy rằng khi hoạt động MEV xảy ra, 50% thời gian chờ giao dịch ở hai khối tiếp theo sẽ được kéo dài. Sau khi hoạt động MEV diễn ra, 25% thời gian chờ giao dịch trong 30 khối tiếp theo sẽ được kéo dài. Người khai thác hoặc người xác thực sẽ đặt các giao dịch có phí gas tương đối thấp ở cuối khối được đóng gói. Phí gas trong giao dịch của người dùng càng thấp thì tác động của các hoạt động MEV sẽ càng lớn và thời gian chờ đợi sẽ kéo dài hơn.
Để kết luận, trước tiên chúng tôi chia sẻ cách tìm các hoạt động MEV chưa xác định thông qua quy trình làm việc và thiết kế chi tiết của hai mô-đun trong quy trình làm việc, sau đó chúng tôi xác minh tính hiệu quả của quy trình làm việc thông qua phân tích thực nghiệm và liệt kê ba ứng dụng cùng một lúc. Cho đến nay, chúng tôi đã phát hiện được 17 hoạt động MEV mới sử dụng quy trình làm việc.