Skip to main content

Vấn đề MEV trên Cardano

Ngày 19 tháng 10 năm 2022

Thuật ngữ MEV là viết tắt của Miner Extractable Value. Các nhà sản xuất block (khối) hoặc các chủ thể khác có thể kiếm lợi ích thông qua khả năng tác động đến thứ tự giao dịch trong một block mới. Các nhà sản xuất block có quyền bao gồm, loại trừ hoặc sắp xếp lại các giao dịch trong các block và được khuyến khích bằng kinh tế (phần thưởng) để làm như vậy. MEV là một trong những vấn đề lớn nhất của mạng Ethereum hiện nay, với hơn hàng trăm triệu USD được khai thác từ người dùng.

Chúng tôi sẽ giải thích vấn đề và thảo luận xem liệu chúng ta có thể gặp vấn đề tương tự trên mạng Cardano hay không?

MEV là gì?

Mỗi nhà sản xuất block duy trì một danh sách các giao dịch chưa được xác nhận trong cái gọi là mem-pool (danh sách tạm). Mỗi khi người dùng gửi một giao dịch mới, giao dịch sẽ đi vào mem-pool, nơi nó chờ được thêm vào block. Điều tương tự cũng áp dụng cho các giao dịch được tạo thông qua các ứng dụng phi tập trung, chẳng hạn như sàn giao dịch. Khi một node có quyền tạo một block mới, nó sẽ chọn các giao dịch từ mem-pool theo các quy tắc giao thức và chèn chúng vào block mới. Nếu một node nhận được một block mới được tạo bởi một node khác, nó sẽ xem xét các giao dịch trong block và có thể xóa các giao dịch tương tự trong mem-pool của chính nó. Nếu các giao dịch nằm trong một block, rất có khả năng chúng sẽ được xác nhận sau đó. Một node có thể không xóa các giao dịch ngay lập tức, nhưng sau một thời gian (sau một vài xác nhận), bởi vì không thể chắc chắn liệu block mới có được chấp nhận bởi phần lớn các node trong mạng và sẽ trở thành một phần của blockchain mãi mãi hay không. Đây là mô tả chung về cách các node thường xử lý các giao dịch trong bất kỳ mạng blockchain nào.

Trong trường hợp lý tưởng, các nhà sản xuất block sẽ không biết gì và không quan tâm đến ý nghĩa của các giao dịch. Họ sẽ chèn chúng vào block một cách công bằng theo thứ tự mà chúng đến (Nguyên tắc cơ bản là: giao dịch đến trước được xử lý trước). Tuy nhiên, trong trường hợp của Ethereum, chúng ta còn rất xa trường hợp lý tưởng này.

MEV là một cơ hội gian lận cho các nhà sản xuất block cho phép họ tối đa hóa lợi nhuận bằng cách xác định thứ tự giao dịch trong một block mới có lợi cho họ. Điều này bao gồm việc tự ý sắp xếp lại, bao gồm hoặc loại trừ các giao dịch trong một block với chi phí của người dùng.

Một phần không thể tránh khỏi của MEV được thực hiện bởi các nhà phân phối mạng tự trị được gọi là Searchers (người tìm kiếm). Searchers được vận hành bởi những người dùng xử lý các thuật toán phức tạp phát hiện các cơ hội MEV có lợi. Họ cố gắng hiểu ý nghĩa của giao dịch. Ví dụ, họ biết rằng có một giao dịch hoán đổi (swap) rất lớn trên Uniswap. Dựa trên kiến ​​thức này và những kiến ​​thức khác, họ sẽ tìm kiếm lợi ích trong cơ hội đó. Lưu ý rằng Searchers không nhất thiết phải được điều hành bởi các nhà sản xuất block. Searchers là các bot tự động gửi các giao dịch sinh lời vào mạng khi họ tìm thấy cơ hội.

Khi những Searchers đã tìm thấy cơ hội sinh lời an toàn, họ có thể trả phí gas cao hơn. Mức phí cao khuyến khích các nhà sản xuất block và người xác nhận chấp nhận thứ tự giao dịch được đề xuất của họ. Ethereum cho phép người dùng đặt một khoản phí giao dịch lớn tùy ý. Khi Searchers tìm thấy cơ hội phù hợp, họ có thể đặt mức phí cao hơn nhiều so với người dùng. Bởi vì các bot có thể tìm thấy cơ hội rất nhanh chóng và gửi một giao dịch theo thứ tự micro giây, các giao dịch của chúng sẽ bỏ qua các giao dịch của người dùng trong mem-pool. Chính xác hơn, nếu các nhà sản xuất block chọn giao dịch dựa trên quy mô phí, thì sẽ có lợi về kinh tế cho họ trước tiên là chọn giao dịch có phí cao hơn. Trong mạng Ethereum, Mức phí luôn được ưu tiên cao hơn so với thời gian giao dịch.

Đây được gọi là "chạy trước" (front-running). Nó liên quan đến việc theo dõi các giao dịch chưa được xác nhận trong mem-pool, tìm kiếm các giao dịch có lợi nhuận và sau đó "chạy trước" các giao dịch ban đầu bằng cách gửi bản sao của chúng nhưng với mức phí cao hơn.

Nói cách khác, một giao dịch có lợi nhuận được thực hiện bởi chủ sở hữu của bot thay vì người dùng. Giao dịch của người dùng bình thường sẽ không thành công hoặc ít sinh lợi hơn về mặt kinh tế so với các giao dịch được gửi bởi Searchers. Bằng cách này, nhà sản xuất block cũng có lợi kinh tế cao hơn từ người dùng.

Một ví dụ "chạy trước"

Tính thanh khoản trên chuỗi bị phân tán trong nhiều pool không giao tiếp với nhau. Thanh khoản phân mảnh tạo ra cơ hội mua thấp và bán cao trên các pool khác nhau.

Hãy tưởng tượng rằng một Người giao dịch tìm thấy một cơ hội kinh doanh chênh lệch giá (arbitrage). Anh ta muốn mua WBTC trị giá 10 triệu đô la trên Uniswap với giá 20.200 đô la cho 1 WBTC. Sau đó, anh ta muốn bán tất cả WBTC trên Sushiswap, nơi có giá trị $ 20.250 cho 1 WBTC. Vì vậy, anh ta phải mua WBTC với giá thấp hơn trên Uniswap và sau đó bán nhanh với giá cao hơn trên Sushiswap. Để thu lợi từ cơ hội này, Người giao dịch phải gửi một giao dịch sẽ đợi trong mem-pool để được nhà sản xuất block chọn và thực hiện.

Vấn đề là việc gửi giao dịch sẽ mở ra một cửa sổ cho bot "chạy trước" truy cập. Các bot này có thể phân tích nội dung của giao dịch và kết luận rằng việc bỏ qua giao dịch của người dùng là có ý nghĩa kinh tế. Trong khi giao dịch của người dùng đợi trong mem-pool được thực hiện, bot sẽ nhanh chóng sao chép giao dịch và đặt mức phí cao hơn. Như vậy, giao dịch của bot sẽ được thực hiện trước giao dịch của người dùng. Điều này sẽ cướp đi một cách hiệu quả cơ hội kinh doanh chênh lệch giá của Người giao dịch, thu lợi từ chi phí trí tuệ, tiền tệ và sự sáng tạo của mình.

Picture

Không giống như thế giới truyền thống, Ethereum không thể xử lý các giao dịch trên chuỗi song song và chỉ cho phép xử lý tuần tự. Điều này có nghĩa là tất cả các giao dịch trong một block đều có một lệnh cố định và lệnh này phải được duy trì trong quá trình xác nhận. Điều này cung cấp cho các nhà sản xuất block một sức mạnh lớn có thể bị lạm dụng. Ngay cả khi các nhà sản xuất block cư xử công bằng và chỉ tuân theo lợi ích kinh tế của riêng họ, bất cứ khi nào, bot cũng có thể gửi các giao dịch với mức phí cao hơn và do đó ảnh hưởng đến thứ tự giao dịch trong các block.

Các bot có thể vay miễn phí 10 triệu USDC từ pool cho vay Aave, với điều kiện là giao dịch trả lại chính xác 10 triệu USDC trở lại pool cho vay khi kết thúc giao dịch. Đây được gọi là khoản vay nhanh. Điều này có thể được thực hiện bằng cách sử dụng hợp đồng thông minh tùy chỉnh được triển khai trước trên chuỗi. Chủ sở hữu của bot thậm chí không cần vốn cần thiết cho cuộc tấn công "chạy trước". Bot tạo ra một giao dịch tạm thời vay số vốn cần thiết và thực hiện cả hai giao dịch trên Uniswap và Sushiswap. Nó sẽ là một loạt các hành động tự động.

Hãy để chúng tôi nói thêm rằng có nhiều loại tấn công dựa trên một nguyên tắc tương tự, chẳng hạn như tấn công back-run, tấn công sandwich và các loại khác.

Liệu chúng ta có gặp sự cố MEV trên Cardano không?

Vấn đề MEV vẫn chưa xuất hiện trong hệ sinh thái Cardano. Tuy nhiên, Cardano không có biện pháp tích cực nào để ngăn chặn MEV. Về nguyên tắc, không có gì có thể ngăn cản các nhà khai thác pool nhanh chóng tạo và chèn một giao dịch vào một block trong khi cố ý bỏ qua một giao dịch khác. Do đó về mặt lý thuyết có thể thực hiện một cuộc tấn công "chạy trước" tương tự như Ethereum. Tại sao điều này vẫn chưa xảy ra trong thực tế?

Một lý do là giao thức Cardano tính toán các khoản phí theo một công thức xác định. Nếu ai đó tạo bản sao của giao dịch giống hoặc rất giống với bản gốc, phí giao dịch sẽ giống nhau. Hơn nữa, việc nhận được một khoản phí giao dịch không liên quan trực tiếp đến việc tạo ra một block. Tất cả các khoản phí giao dịch được tổng hợp và phân bổ cho tất cả các nhà khai thác (và các nhà cung cấp dịch vụ) cứ 5 ngày một lần vào cuối kỷ nguyên. Ngay cả khi, theo giả thuyết, nhà điều hành thích giao dịch với mức phí cao, họ sẽ chỉ nhận được một phần không đáng kể của khoản phí đó.

Do đó, rất khó thực hiện các cuộc tấn công MEV đối với các thực thể không phải là nhà điều hành pool vì họ không thể dùng quy mô phí để thực thi sắp xếp lại các giao dịch.

Tính Phi tập trung cao của giao thức Cardano ngăn chặn các cuộc tấn công MEV vì chỉ có node hiện là Slot leader (người đóng block) mới có thể thực hiện chúng. Cơ hội mà một node sẽ tìm thấy cơ hội MEV có lợi nhuận và đồng thời là Slot leader là tồn tại, nhưng rất nhỏ. Khi sự Phi tập trung tăng lên, tỷ lệ stake sẽ giảm xuống. Vì vậy, nếu một pool nhất định có 1% cổ phần, nó có cơ hội tương tự trở thành Slot leader khi phù hợp với nó.

Nếu pool tham gia vào các cuộc tấn công MEV, nó có thể làm mất lòng Người ủy thác. Người điều hành pool phải suy nghĩ xem một cuộc tấn công MEV có đáng giá hay không, vì nó có nguy cơ mất cổ phần và do đó là một phần của sản xuất block. Có một cơ hội tốt là nếu cuộc tấn công MEV có thể bị phát hiện và thông tin được công khai cho cộng đồng Người ủy thác, pool đó sẽ mất uy tín. Điều thuận lợi là Người ủy thác có thể ảnh hưởng trực tiếp về mặt kinh tế đối với hành vi công bằng của các nhà điều hành pool. Họ phải coi trọng Người ủy thác của mình và không phản bội hệ sinh thái bằng cách khai thác các cơ hội MEV.

Sẽ có một số cơ hội khai thác thành công các cơ hội MEV nếu nhiều SPO lớn tham gia cùng nhau. Điều này sẽ làm tăng cơ hội một người nào đó trong pool trở thành Slot leader vào thời điểm thích hợp. Tôi không nghĩ rằng điều này sẽ xảy ra trong thực tế, nhưng nó không thể bị loại trừ. Về mặt lý thuyết, các nhà khai thác pool sẽ chia sẻ giá trị được trích xuất với Người ủy thác. Sau đó, Người ủy thác sẽ tiếp tục hỗ trợ pool bằng tiền ADA của họ và về cơ bản tham gia vào gian lận. Nếu nhà điều hành pool phải chia sẻ lợi nhuận với Người ủy thác, thì động lực kinh tế sẽ thấp hơn cho tất cả các bên liên quan.

Cuộc tấn công MEV có phần phức tạp hơn trên Cardano do mô hình EUTXO và thực tế là các giao dịch không phụ thuộc vào trạng thái toàn cầu (global) và thứ tự giao dịch trong block. Tuy nhiên, điều này không cung cấp 100% khả năng chống lại hiện tượng này.

Có biện pháp hữu hiệu nào để ngăn chặn các cuộc tấn công của MEV không?

Theo quan điểm của chúng tôi, tính ẩn danh của các giao dịch có thể hữu ích. Nếu không phân tích được nội dung của các giao dịch thì sẽ không thể tìm kiếm các cơ hội MEV. Nội dung của các giao dịch chỉ có thể được công khai sau khi block được công khai.

Việc tăng cường xử lý song song giao dịch có thể hữu ích, với sự hỗ trợ của các lớp thứ hai. Ouroboros Leios sẽ cho phép các giao dịch được xử lý về cơ bản ngay lập tức khi gửi, giảm thời gian cần thiết để phân tích giao dịch và nhanh chóng gửi các giao dịch gian lận cạnh tranh.

Kết luận

Hệ sinh thái Cardano càng được người dùng chấp nhận thì càng có nhiều kẻ tấn công quan tâm đến việc khai thác hệ thống vì lợi ích của riêng họ. Động lực kinh tế cũng có thể thú vị đối với các tác nhân bên trong, tức là các nhà khai thác pool. Tuy nhiên, họ sẽ đối mặt với nguy cơ mất niềm tin của Người ủy thác và stake sẽ chuyển sang pool khác. Có thể người điều hành pool sẽ chịu rủi ro một lần. Nếu một cuộc tấn công MEV được phát hiện và chứng minh, cộng đồng nên phản ứng thích hợp.

MEV chắc chắn cũng là một hiện tượng thú vị cho đội IOG, vì họ nên nghĩ cách tạo ra một hàng phòng ngự hiệu quả. Chúng tôi chưa thấy MEV trong hệ sinh thái Cardano, điều này chúng ta có thể vui mừng, nhưng điều đó không có nghĩa là chúng ta có thể bỏ quên MEV. Chúng ta cần nói về những vấn đề tiềm ẩn và tìm kiếm giải pháp ngay hôm nay.

Nguồn bài viết tại đây.


Picture


Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới