Giao thức MEVless, con đường chống MEV

Bài viết này được dịch máy
Xem bản gốc

## Giao thức MEVless
mở rộng: Giải pháp chống MEV on-chain Không cần tin cậy cho Lớp 2/3

### Điều kiện tiên quyết

Các kịch bản tấn công không áp dụng MEV:

- Tấn công kiểu bánh sandwich

- Tấn công dẫn đầu

Chuỗi áp dụng MEVless:

Ở đây, tác giả không khuyến nghị sử dụng giao thức MEVless ở cấp độ chuỗi công khai L1 (đặc biệt là các blockchain đa năng như ETH và Solana), vì MEVless yêu cầu các sửa đổi có mục tiêu đối với chính các khối, được thiết kế đặc biệt để chống lại MEV và có thể không phù hợp với các loại hình kinh doanh khác (đặc biệt là những loại hình không cần khả năng chống MEV). Tác giả khuyến nghị đặt MEVless trên các chuỗi ứng dụng DeFi chuyên dụng hoặc L2, sau đó quay lại ETH L1 để thanh toán.

### Nguyên tắc

Nguyên lý của MEVless nằm ở việc hạn chế hành vi của Thợ đào trong việc sắp xếp thứ tự giao dịch. Cách tiếp cận của chúng tôi là ngăn không cho Thợ đào nhìn thấy nội dung giao dịch cụ thể trong quá trình sắp xếp. Các giao dịch được sắp xếp mà không cần Thợ đào nhìn thấy nội dung giao dịch, do đó ngay cả Thợ đào cũng không thể thực hiện tấn công MEV vì họ không biết nội dung giao dịch cụ thể. Sau khi sắp xếp, chuỗi cần được công bố lên mạng công cộng để các nút và người dùng khác được thông báo. Tại thời điểm này, thứ tự giao dịch được hoàn tất và đưa vào Block, vì vậy khi nội dung giao dịch cụ thể được gửi sau đó, nó sẽ được thực thi theo thứ tự Consensus này, không còn chỗ cho các thao tác MEV.

Chúng tôi chia các khối on-chain thành hai loại:

- Khối lệnh, chỉ hoàn thành ba việc: nhận băm giao dịch, khấu trừ khoản thanh toán trước của người dùng và cung cấp cam kết lệnh giao dịch

- Khối thực thi không khác gì khối thông thường, chỉ cần thực hiện các giao dịch theo thứ tự đã cam kết trong Block lệnh trước đó

Hai loại khối này được tạo ra xen kẽ. Ví dụ, sau Genesis Block, các khối có chiều cao Block lẻ là khối sắp xếp, và các khối có chiều cao Block chẵn là khối thực thi.

### Quá trình

MEVless
MEVless 466×822 14.2 KB

1. Block N ( Block đặt hàng) bắt đầu sản xuất Block

2. Người dùng gửi mã băm giao dịch đến chuỗi và trả một khoản tiền đặt cọc nhất định. Khoản tiền đặt cọc này bao gồm hai phần:

  1. Phí gas cho Hash giao dịch: Được sử dụng để lưu trữ Hash giao dịch và phí tính toán trong quá trình đặt lệnh. Phí này thường cố định và bắt buộc.

  2. Mẹo bổ sung: Người dùng phải trả thêm phí để đảm bảo giao dịch của họ được thực hiện sớm nhất có thể. Số tiền này không cố định và có thể bằng không.

3. Sau khi các nút chuỗi nhận được mã băm giao dịch, chúng sẽ hoàn thành các bước sau:

- Kiểm tra xem tài khoản giao dịch có đủ tiền để thanh toán khoản trả trước không

- Sắp xếp các băm giao dịch từ cao đến thấp dựa trên số tiền trả trước

- Trừ số tiền trả trước vào tài khoản giao dịch

- Lưu trữ thứ tự giao dịch đã sắp xếp dưới dạng cam kết trong Block và xuất bản lên mạng P2P

4. Sau khi người dùng đăng ký và truy vấn để xem số thứ tự của Hash giao dịch được cam kết on-chain, họ sẽ gửi nội dung giao dịch cụ thể đến chuỗi và DA (DA là tùy chọn)

5. Block N+1 ( Block thực thi) bắt đầu sản xuất Block

6. Sau khi các nút chuỗi nhận được nội dung giao dịch, chúng sẽ hoàn thành các bước sau:

- Kéo nội dung giao dịch từ DA (nếu tất cả txHashes đã cam kết sắp xếp trong Block trước đó đều có nội dung giao dịch tương ứng, hãy bỏ qua bước này)

- Kiểm tra xem nội dung giao dịch có khớp với txHash đã đặt hàng trước đó hay không, loại bỏ nếu không khớp

- Thực hiện giao dịch theo lệnh đã cam kết trước đó

Quá trình này diễn ra theo chu kỳ.

### Vai trò của DA (Tùy chọn)

Trong sơ đồ này, sau khi nội dung giao dịch được gửi lên chuỗi, Thợ đào có thể nhận thấy giao dịch có lợi nhuận và cố tình giữ lại giao dịch để ngăn không cho nó được đưa vào on-chain, sau đó chờ người dùng gửi lại giao dịch đó để tấn công. Lúc này, lợi nhuận giao dịch của người dùng không chỉ bị hao hụt mà còn lãng phí khoản thanh toán trước cho Hash giao dịch đã gửi trước đó.

Do đó, chúng ta cần DA (chẳng hạn như ETH Blob) để đảm bảo rằng các giao dịch do người dùng gửi chắc chắn sẽ được đưa vào on-chain. Bằng cách này, ngay cả khi các nút tạo khối cố tình giữ lại giao dịch, các nút xác minh và nút đầy đủ khác vẫn có thể nhận nội dung giao dịch và thực hiện giao dịch trong các quy trình tạo Block tiếp theo. Điều này buộc các nút tạo khối phải đưa giao dịch vào khối của mình để tránh sự không nhất quán về trạng thái với các nút khác.

Trong quy trình này, DA cung cấp một lớp bảo vệ bổ sung cho người dùng và không bắt buộc. Nếu người dùng cảm thấy giao dịch đã được truyền tải đầy đủ đến đủ số full node trong mạng P2P, họ có thể chọn không sử dụng DA. Việc áp dụng DA cũng có thể ngăn chặn Thợ đào trên chuỗi cùng độc quyền và giữ lại các giao dịch của người dùng.

## Thuận lợi

1. So với các mempool được mã hóa, giải pháp MEVless có chi phí thấp hơn, không yêu cầu các thao tác giải mã tốn năng lượng cho CPU và bộ nhớ. MEVless chỉ sắp xếp các băm giao dịch trước, với chiều dài Hash chỉ 32 byte (hoặc thậm chí ngắn hơn). Sau khi hoàn tất việc sắp xếp, việc lan truyền giảm thiểu gánh nặng lên băng thông mạng.

2. So với PBS, MEVless hạn chế nguồn tấn công MEV - quyền đặt hàng giao dịch - bằng cách chặn kẻ tấn công truy cập vào thông tin giao dịch trước khi đặt hàng, loại bỏ điều kiện tiên quyết để kẻ tấn công thực hiện tấn công MEV.

3. Thuận lợi cho việc thực thi phi tập trung và kết quả có thể kiểm chứng. Tất cả các phương pháp và bước kháng MEV đều được mã hóa cứng ở cấp độ mã. Miễn là các nút đầy đủ thực thi theo mã này, kết quả sẽ mang tính xác định, khiến việc thực hiện các cuộc tấn công MEV trong các hoạt động hộp đen trở nên khó khăn.


Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
42
Thêm vào Yêu thích
12
Bình luận