SharkTeam: Phân tích mã nguồn UniswapX
SharkTeam
2023-08-08 03:58
本文约1763字,阅读全文需要约7分钟
UniswapX đặt mục tiêu giải quyết vấn đề này bằng cách thuê ngoài tính phức tạp của việc định tuyến cho một mạng lưới mở gồm các bên bổ sung bên thứ ba, những người sau đó sẽ cạnh tranh để thực hiện các giao dịch hoán đổi bằng cách sử dụng tính thanh khoản trên chuỗi như nhóm AMM hoặc khoảng không qu

Nguyên lý thiết kế

UniswapX đặt mục tiêu giải quyết vấn đề này bằng cách thuê ngoài tính phức tạp của việc định tuyến cho một mạng lưới mở gồm các bên bổ sung bên thứ ba, những người sau đó sẽ cạnh tranh để thực hiện các giao dịch hoán đổi bằng cách sử dụng tính thanh khoản trên chuỗi như nhóm AMM hoặc khoảng không quảng cáo riêng của họ.

Với UniswapX, người hoán đổi sẽ có thể sử dụng giao diện Uniswap mà không phải lo lắng về việc liệu họ có nhận được mức giá tốt nhất hay không và các giao dịch sẽ luôn được ghi lại và giải quyết một cách minh bạch trên chuỗi. Tất cả các đơn đặt hàng đều được hỗ trợ bởi Bộ định tuyến đặt hàng thông minh Uniswap, điều này buộc các nhà cung cấp phụ phải cạnh tranh với Uniswap v1, v2, v3 và v4 sau khi ra mắt.

danh hiệu cấp một

  • Lợi thế


  • Nhận giá tốt hơn bằng cách tổng hợp các nguồn thanh khoản Hoán đổi không cần gas


  • Ngăn chặn MEV (Giá trị có thể trích xuất tối đa)


  • Trong những tháng tới, UniswapX sẽ mở rộng sang các giao dịch hoán đổi chuỗi chéo không cần gas.


danh hiệu cấp một

nguyên tắc làm việc

  • Đầu tiên, giả sử Alice (người trao đổi) muốn đổi 1 ETH lấy USDC. Alice yêu cầu trích dẫn từ (những người có thể điền vào) Bob, Charlie và Danielle:

  • Bob đề nghị mua ETH của Alice với giá 1.000 USDC

  • Charlie hiện có 999 USDC

  • Danielle có 998 USDC

Alice cũng có thể chuyển đổi trực tiếp 1 ETH của mình thành 997 USDC thông qua Uniswap v 3

Alice chấp nhận lời đề nghị 1.000 USDC của Bob và ký đơn đặt hàng.

Đơn đặt hàng bao gồm giá trị tối đa (được đặt theo báo giá 1.000 USDC của Bob) và giá trị tối thiểu là 997 USDC (được đặt bởi API Bộ định tuyến đặt hàng thông minh Uniswap).

Bob có thể sử dụng USDC của riêng mình hoặc chuyển 1 ETH của Alice đến các địa điểm thanh khoản trên chuỗi khác nhau (giao thức Uniswap, Sushiswap, v.v.) để thực hiện đơn đặt hàng của Alice.

Bob quyết định sử dụng USDC của chính mình để thực hiện đơn đặt hàng của Alice và gửi cho Alice 1.000 USDC để đổi lấy 1 ETH của cô ấy.

Nếu Bob quyết định từ bỏ đề xuất của mình, Alice không cần gửi lệnh và chữ ký mới.

Thay vào đó, đơn đặt hàng hiện tại của cô ấy sẽ tự động gia hạn, cung cấp 1 ETH cho bất kỳ ai có thể trả lại cho cô ấy 999 USDC.

Một khối đã trôi qua và giờ đây cả Charlie và Danielle (và bất kỳ người bổ sung nào khác tham gia vào hệ thống UniswapX) đều không sẵn sàng thực hiện lệnh của Alice với giá 999 USDC. Sau khi một khối Ethereum khác (12 giây) hết hạn, 1 ETH của Alice có thể được đổi lấy 998 USDC.

Thay mặt Alice, Danielle gửi 1 ETH của Alice tới Uniswap v 3 và Sushiswap, trả lại 998 USDC cho Alice và giữ sản lượng 1 USDC còn lại cho chính cô ấy.

danh hiệu cấp một

Quá trình giao dịch

UniswapX là một giao thức trao đổi phi tập trung sử dụng hợp đồng ủy quyền mã thông báo Permit 2 để giới thiệu các chức năng ủy quyền và chuyển giao dựa trên chữ ký cho bất kỳ mã thông báo ERC 20 nào. Ngoài ra, UniswapX còn sử dụng hợp đồng Reactor để thanh toán on-chain. Hợp đồng Reactor chịu trách nhiệm xác minh rằng các giao dịch tuân thủ các tham số do người dùng chỉ định và có thể hoàn tác các giao dịch không đáp ứng tiêu chí. Để tham gia vào các giao dịch UniswapX, trước tiên người chuyển đổi phải ủy quyền cho hợp đồng Giấy phép 2.

  1. Thay vì tạo và gửi giao dịch theo cách thủ công, bộ chuyển đổi ký lệnh giao dịch, chỉ định các tham số sau:

  2. Nhập token (trả token)

  3. mã thông báo đầu ra (thu được mã thông báo)

  4. Số lượng đầu vào (đầu ra)

  5. Lượng đầu ra (đầu vào) ban đầu

  6. Số lượng đầu ra (đầu vào) tối thiểu

  7. hàm phân rã

  8. thời gian quy đổi

Ủy quyền cho hợp đồng UniswapX Reactor thay mặt họ chi tiêu token

Các lệnh này được Người tìm kiếm MEV, Người tạo lập thị trường và/hoặc các đại lý trên chuỗi khác (gọi chung là Người điền vào) nhận và gửi chúng đến hợp đồng Reactor. Bằng cách gửi đơn đặt hàng của người thay đổi trên chuỗi, người thực hiện đơn hàng sẽ thay mặt người thay đổi thanh toán phí Gas. Các khoản phí này được phản ánh trong giá thực hiện để bù đắp chi phí gas.

UniswapX không quy định cách người thực hiện đơn hàng thực hiện các đơn đặt hàng thay đổi. Thanh khoản có thể đến từ nhóm thanh khoản trên chuỗi trên Uniswap hoặc các sàn giao dịch phi tập trung khác, nguồn thanh khoản ngoài chuỗi hoặc sổ đặt hàng UniswapX khác. Nhiều đơn đặt hàng có thể được gộp vào cùng một giao dịch và các hoạt động khác có thể được thực hiện nguyên tử trên chuỗi.

danh hiệu cấp một

Phân tích mã nguồn chính

Vì người nạp cần gửi khí thay vì bộ trao đổi nên có thể giảm tổn thất phí xử lý do giao dịch gây ra bằng cách thực hiện các đơn đặt hàng theo đợt.

image.png

Logic thực hiện của các lệnh cụ thể được xử lý trong hàm _fill. Ở đây có hai tình huống, nếu người thực hiện sử dụng vị trí cá nhân của mình để hoàn thành giao dịch của người dùng, anh ta không cần sử dụng hợp đồng gọi lại và trực tiếp thực hiện hoán đổi quỹ, nếu không thì , nó cần được xử lý trong hợp đồng gọi lại Logic cụ thể, chẳng hạn như trao đổi với các nhóm giao dịch khác, v.v.

Hợp đồng sử dụng chức năng xác thực để xác minh rằng fillr là fillr được chỉ định cho đơn hàng.

Hợp đồng sử dụng thư viện giấy phép 2 để hoàn tất xác minh chữ ký và chuyển mã thông báo, nhằm đảm bảo rằng tiền của người trao đổi sẽ không bị chuyển đi theo ý muốn.

Nếu người thực hiện lựa chọn sử dụng vị trí cá nhân của mình để hoàn thành đơn đặt hàng, mã thông báo sẽ được chuyển trực tiếp từ địa chỉ của người thực hiện đến địa chỉ của người trao đổi.

Tầm nhìn của SharkTeam là bảo mật hoàn toàn thế giới Web 3. Nhóm bao gồm các chuyên gia bảo mật giàu kinh nghiệm và các nhà nghiên cứu cấp cao từ khắp nơi trên thế giới. Họ thành thạo lý thuyết cơ bản về blockchain và hợp đồng thông minh, đồng thời cung cấp các dịch vụ bao gồm kiểm toán hợp đồng thông minh, phân tích trên chuỗi và ứng phó khẩn cấp. Nó đã thiết lập mối quan hệ hợp tác lâu dài với những người chơi chủ chốt trong các lĩnh vực khác nhau của hệ sinh thái blockchain, như Polkadot, Moonbeam, Polygon, OKC, Huobi Global, imToken, ChainIDE, v.v.

About Us

Tầm nhìn của SharkTeam là bảo mật hoàn toàn thế giới Web 3. Nhóm bao gồm các chuyên gia bảo mật giàu kinh nghiệm và các nhà nghiên cứu cấp cao từ khắp nơi trên thế giới. Họ thành thạo lý thuyết cơ bản về blockchain và hợp đồng thông minh, đồng thời cung cấp các dịch vụ bao gồm kiểm toán hợp đồng thông minh, phân tích trên chuỗi và ứng phó khẩn cấp. Nó đã thiết lập mối quan hệ hợp tác lâu dài với những người chơi chủ chốt trong các lĩnh vực khác nhau của hệ sinh thái blockchain, như Polkadot, Moonbeam, Polygon, OKC, Huobi Global, imToken, ChainIDE, v.v.

Trang web chính thức: https://www.sharkteam.org

SharkTeam
作者文库