Tác giả gốc: Ross Bulat
Bản tổng hợp gốc: Zeng Mi, Min Min& A Jian, người đam mê Ethereum
Như đã đề cập ở trên, Luôn có ETH trong mọi cặp giao dịch trên Uniswap V1. Nếu bạn muốn đổi token A lấy token B, trước tiên bạn phải mua ETH bằng token A, sau đó mua token B bằng ETH. Do đó, nhà giao dịch cần phải trả hai khoản phí giao dịch và phí gas.
Tài liệu của Uniswap gọi V1 là "nguyên mẫu" của các sàn giao dịch tự động phi tập trung. Điều này có thể là do các nhà phát triển đã phát hiện ra các phương thức thực hiện giao dịch hiệu quả hơn do V2 cung cấp. Việc không còn sử dụng ETH làm token trung gian là một trong những cách tối ưu hóa.
Như minh họa trong hình bên dưới, sau khi ETH không còn đóng vai trò là mã thông báo trung gian, các giao dịch trực tiếp có thể được thực hiện giữa các cặp giao dịch:

- Hai mã thông báo ERC20 có thể hoán đổi trực tiếp cho nhau-
Loại này Cách tiếp cận có vẻ hợp lý và trực quan, và có lẽ đây là cách V1 nên vận hành. Chỉ cần gọi các phương thức swapExactTokensForTokens và swapTokensForExactTokens trên hợp đồng định tuyến để giao dịch.
Số Chính xác trong tên phương thức trên cho biết mã thông báo nào trong trao đổi mà bạn muốn đặt giới hạn. Nếu bạn muốn sử dụng DAI để mua một lượng ETH nhất định, bạn cần sử dụng swapTokensForExactTokens; mặt khác, nếu bạn muốn sử dụng một lượng DAI nhất định để mua ETH, bạn cần sử dụng swapExactTokensForTokens. Hợp đồng thông minh của Uniswap V2 áp dụng hai phương pháp này.
Ngoài giao dịch trực tiếp, người dùng vẫn có thể chọn sử dụng ETH làm token trung gian để thực hiện giao dịch giữa hai token. Người dùng không cần tạo nhóm thanh khoản trực tiếp giữa mã thông báo đầu vào và mã thông báo đầu ra, miễn là có nhóm thanh khoản giữa hai mã thông báo này và ETH.
Ví dụ: sử dụng ETH làm mã thông báo trung gian để thực hiện các giao dịch giữa DAI và LINK, quy trình như trong hình bên dưới: span>

Độ rắn tương ứng Các phương thức này là swapExactETHForTokens và swapETHForExactTokens và swapTokensForExactETH và swapExactTokensForETH.
Cách cuối cùng để đạt được giao dịch mã thông báo là giao dịch giữa nhiều mã thông báo ERC20 cho đến khi bạn nhận được mã thông báo đầu ra mà bạn muốn, đó là những gì được nêu trong sách trắng "Bất kỳ cặp giao dịch ERC20 nào". Tất nhiên, bất kỳ cặp token nào cũng có thể chứa ETH.
Sơ đồ bên dưới cho thấy cách giá trị của DAI có thể được chuyển thông qua một loạt mã thông báo thành mã thông báo đầu ra mong muốn Liên kết:

Nếu Bạn có thể thực hiện phương pháp này nếu không có nhóm thanh khoản giữa mã thông báo đầu vào và mã thông báo đầu ra mà bạn muốn nhận và không nhất thiết yêu cầu ETH làm mã thông báo trung gian như đã đề cập ở trên.
Mặc dù phương thức giao dịch này khả thi nhưng hiện tại chưa có hợp đồng thông minh nào có thể tự động thực hiện nhiều giao dịch mã thông báo như vậy. Chức năng này chỉ có thể được ghi thủ công vào mã của ứng dụng front-end, và Thực hiện nhiều cuộc gọi giao dịch tới Uniswap.
Phương pháp này có thể không được sử dụng thường xuyên vì sau khi chuyển giá trị qua một hoặc hai mã thông báo trung gian, phí gas bổ sung sẽ khiến giao dịch vòng vo trở nên không kinh tế. Có lẽ chi phí giao dịch thấp hơn thông qua trao đổi tập trung. Tuy nhiên, phương pháp này sẽ được sử dụng rộng rãi hơn khi mạng chính ETH 2.0 xuất hiện trực tuyến, với cơ chế PoS hiệu quả hơn cùng với các tính năng có khả năng mở rộng giúp các giao dịch vòng quanh trở nên khả thi hơn.
Cơ chế truyền thông tin về giá của Uniswap cho phép các nhà phát triển tính giá của một token nhất định dựa trên một số khối (cũng có thể được biểu thị bằng hai dấu thời gian) . khoảng thời gian) để tính giá trung bình của mã thông báo.
Khoảng thời gian này có thể là 1 giờ trước, 24 giờ trước đó hoặc thậm chí lâu hơn.
Mặc dù Uniswap sẽ cung cấp giá token nhưng nó không lưu trữ bất kỳ giá lịch sử nào trên chuỗi. Các nhà phát triển dApp cần chọn tính giá trung bình của một mã thông báo nhất định trong khoảng thời gian này dựa trên giá tích lũy trong một khoảng thời gian.
Những mức giá trung bình này được gọi là Giá trung bình có trọng số theo thời gian (TWAP).
Cái gọi là TWAP là chọn một khối trên chuỗi làm khoảng thời gian và tính giá tích lũy của một mã thông báo nhất định trong khối này (giá của mã thông báo trong mỗi giá khối) chia cho khoảng thời gian của dấu thời gian (dấu thời gian của khối kết thúc trừ đi dấu thời gian của khối bắt đầu), sẽ thu được giá trung bình của mã thông báo trong khối này. Hình minh họa như sau:

TWAP đáng tin cậy và phản ánh giá của một token theo thời gian (đừng quên, giá trị này dựa trên một cặp token cụ thể). Thực hiện phương pháp này có thể tránh được sự cố chớp nhoáng và biến động giá đột ngột, những điều thường thấy trong thị trường tiền điện tử. Khi thị trường gặp biến động về giá, TWAP có thể phản ánh chính xác hơn tình hình của token.
Nếu cần, nhà phát triển có thể lấy thông tin về giá miễn phí thông qua SDK JavaScript của Uniswap. Xem bên dưới để biết chi tiết.
Flash Swap đề cập đến việc hoàn thành việc cho vay từ nhóm thanh khoản của Uniswap thông qua một giao dịch. Đó là một quá trình thực hiện gồm nhiều giai đoạn mã thông báo, thực hiện hành động với các mã thông báo đó và trả lại các mã thông báo đó. Nếu bất kỳ giai đoạn nào của quá trình này không thành công, tất cả các thay đổi trạng thái sẽ bị hoàn tác và các token có liên quan sẽ được trả lại nhóm thanh khoản Uniswap tương ứng.
Hình ảnh bên dưới cho thấy cách các nhà giao dịch có thể thực hiện các giao dịch chớp nhoáng mà không cần giữ token. Điều này là do giá trị đã vay từ nhóm thanh khoản phải được trả lại cho nhóm, nếu giao dịch không thành công hoặc nhà giao dịch trả lại mã thông báo đã vay:

Một trong những trường hợp sử dụng giao dịch chớp nhoáng là giao dịch chênh lệch giá và các nhà giao dịch chắc chắn có thể trả lại giá trị của các token đã vay trước đó thành thanh khoản Uniswap đồng thời kiếm được lợi nhuận. Hồ bơi. Các nhà giao dịch có thể dễ dàng kiếm lợi nhuận mọi lúc thông qua giao dịch chênh lệch giá.
Một trường hợp sử dụng khác là sử dụng nhóm thanh khoản Uniswap để giải quyết kho tiền Maker. Bạn có thể trả nợ và rút ETH (hoặc các mã thông báo khác) làm tài sản thế chấp trong kho tiền Maker để trả nợ Thanh khoản Uniswap.pool. So với việc trực tiếp sử dụng token của chính bạn để trả nợ, phương pháp này tiêu tốn ít gas hơn.
Giao dịch chớp nhoáng là một tính năng tương đối mới trên Uniswap, nhưng chúng ta sẽ sớm thấy nhiều dApps tích hợp tính năng này.
Trong trường hợp sử dụng bot giao dịch, Lightning Trading cũng có thể được sử dụng để tự động hóa các giao dịch chênh lệch giá. Các bot giao dịch không yêu cầu tiền để thực hiện giao dịch, chúng chỉ cần xác định các cơ hội chênh lệch giá và thực hiện các giao dịch chớp nhoáng.
Uniswap V2 cũng giới thiệu một khoản phí mới cho giao thức được gọi là "phí giao thức". Sau khi kích hoạt cơ chế này, 0,05% khối lượng giao dịch xảy ra trên Uniswap sẽ được chuyển đến một địa chỉ do Uniswap nắm giữ. 0,05% này được trích từ phí xử lý 0,3% tiêu chuẩn của Uniswap, do đó việc kích hoạt cơ chế này sẽ khiến lợi ích của các nhà cung cấp thanh khoản bị tổn hại.
Hiện tại, cơ chế này vẫn đóng và nhóm dự án Uniswap chưa đưa ra bất kỳ tuyên bố công khai nào rằng họ có kế hoạch kích hoạt cơ chế này.
Việc bổ sung cơ chế này có vẻ hơi khó hiểu nhưng các nhà phát triển Uniswap tin rằng đây là tính năng cần thiết để hỗ trợ sự phát triển và bền vững của Uniswap. Hơn nữa, có một thực tế khác có thể bảo vệ chúng: việc kích hoạt cơ chế này đòi hỏi phải có cơ chế quản trị và cộng đồng bỏ phiếu để quyết định xem có kích hoạt cơ chế này hay không.
Mặc dù việc khởi chạy chức năng này đòi hỏi phải đạt được sự đồng thuận của cộng đồng trước tiên, nhưng làm như vậy sẽ mang lại cho dự án Uniswap những lợi ích to lớn và lợi thế cạnh tranh.
Về mặt tích cực, khoản phí này có thể được sử dụng để nâng cấp giao thức và toàn bộ hệ sinh thái, cải thiện sự chấp nhận và cuối cùng cho phép các nhà cung cấp thanh khoản thu được lợi ích lớn hơn; về lý thuyết, có thể bù đắp vì mất đi lợi ích của họ trong cơ chế này. Toàn bộ quá trình được hiển thị trong hình bên dưới:

- Kết quả tích cực khi tính phí giao thức 0,05%-
Chưa có thông tin công khai về cơ chế quản trị, nhưng có thể giả định rằng token ERC20 sẽ được sử dụng để thu thập phiếu bầu, tương tự như cơ chế quản trị và bỏ phiếu của Maker.
Để quản lý cơ chế tính phí giao thức, hợp đồng Uniswap Factory bao gồm feeTo và feeToSetter các phương thức để đặt địa chỉ nhận tiền và có quyền thay đổi phíTới tài khoản địa chỉ.
Bài viết này cố tình tránh nói quá nhiều về kỹ thuật nhưng vẫn cần phải đề cập đến SDK JavaScript của Uniswap. Thư viện mã nguồn mở này cung cấp NodeJS, khung JavaScript và tất cả các ứng dụng dựa trên trình duyệt có API JavaScript để tích hợp Uniswap.
Điều này là đủ để các ứng dụng của bên thứ ba tích hợp trực tiếp Uniswap vào các sản phẩm và dịch vụ của riêng họ.
Agent Wallet, Switcheo Exchange và Streamr Marketplace là ba trong số những sản phẩm đã tích hợp trực tiếp Uniswap.
Tài liệu dành cho SDK JavaScript này cũng giải thích API để trích xuất dữ liệu cặp mã thông báo và địa chỉ cặp mã thông báo làm API để bắt đầu giao dịch và lấy giá, cho phép ứng dụng sử dụng chức năng nguồn cấp dữ liệu giá được mô tả ở trên.
Lưu ý rằng API không thể tự động thực hiện các giao dịch. Nó chỉ có thể giúp bạn chuẩn bị giao dịch bằng cách thêm giá thị trường trung bình mà bạn sẵn sàng chấp nhận và số tiền tối thiểu nhận được để trao đổi (như vậy- được gọi là " Trượt giá" được tính đến.
Sau khi giao dịch sẵn sàng, người dùng phải thực hiện và ký giao dịch theo cách thủ công bằng phần mềm ví (chẳng hạn như MetaMask). p>
Nếu bạn tò mò về cách quyết định danh sách token trên Uniswap.exchange thì rất đơn giản. Nó được thực hiện thủ công và nhóm Uniswap sẽ sử dụng hội nghị truyền hình để thảo luận về các yêu cầu. Cần thêm mã thông báo nào. Do đó, ngay cả khi nhóm giao dịch cho một mã thông báo ERC20 nhất định đã xuất hiện, điều đó không có nghĩa là mã thông báo này sẽ xuất hiện trong danh sách mã thông báo trên trang web chính thức của Uniswap.
Nếu bạn là nhà phát hành một mã thông báo nhất định và bạn muốn mã thông báo của mình xuất hiện trên danh sách mã thông báo mặc định của [Uniswap.exchange], bạn cần phải in Default Gửi vấn đề trên Github trên kho lưu trữ Danh sách mã thông báo
Uniswap.exchange cũng có chức năng: bạn có thể nhập địa chỉ của mã thông báo ERC20 vào hộp tìm kiếm để tìm mã thông báo này, sau đó thêm nó vào Danh sách tùy chỉnh của bạn. Bằng cách này, bạn có thể giao dịch mã thông báo trong dApp, nhưng điều này không có nghĩa là những người khác cũng có thể nhìn thấy mã thông báo, vì vậy nó sẽ không làm tăng mức độ hiển thị của mã thông báo.
Nhà phát triển cũng có thể tạo danh sách mã thông báo tùy chỉnh trong tích hợp Uniswap của riêng họ bằng cách làm theo cấu trúc JSON đơn giản. Bạn có thể tìm thấy thêm chi tiết hoạt động trong kho Danh sách mã thông báo của Uniswap.
Bài viết này cung cấp cái nhìn đầy đủ về Uniswap V2, khám phá các dự án cải tiến và cách thức hoạt động của nó. Hoán đổi mã thông báo hiệu quả hơn, cơ chế nhận dạng thông tin giá theo thời gian và chức năng trao đổi chớp nhoáng đều là những cải tiến lớn. Đằng sau những cải tiến này là công việc kỹ thuật chuyển sang viết hợp đồng dựa trên Solidity. Những công việc kỹ thuật này cho phép Uniswap sang V2 có thể tận dụng lợi thế của các opcode mới nhất để thực thi hiệu quả hơn.
Uniswap V2 duy trì tính chất không đáng tin cậy và phi tập trung. Nó tồn tại trên chuỗi khối Ethereum. Trừ khi giao thức cơ bản bị vi phạm, không có cách nào để phá hủy nó. Cho đến nay, chưa có điều gì như thế này xảy ra và với quy mô hiện tại của cộng đồng thợ mỏ (và do đó là quy mô của những người xác thực), điều đó khó có thể xảy ra trong tương lai.
Mạng thử nghiệm của Ethereum 2.0, Huy chương, có 20.000 trình xác nhận khi nó ra mắt - Tôi ước tính rằng con số này sẽ cao hơn khi mạng chính được ra mắt, bởi vì các trình xác nhận tại thời điểm đó có thể nhận được tài chính trở lại.
Mặt khác, Uniswap V2 không thể nói là hoàn hảo như một sàn giao dịch token. Tại thời điểm viết bài, phí gas trên mạng Ethereum đang ở mức cao nhất mọi thời đại, khiến việc sử dụng Uniswap trở nên cực kỳ tốn kém. Uniswap không có chức năng sổ lệnh theo thời gian thực nên các nhà giao dịch vẫn phải sử dụng các sàn giao dịch tập trung để sử dụng chiến lược giao dịch. Như đã đề cập trước đó, Uniswap yêu cầu người dùng chênh lệch giá để giữ giá token trên sàn giao dịch phù hợp với giá thị trường và các sàn giao dịch tập trung vẫn đóng vai trò không thể thay thế trong việc cân bằng tỷ giá hối đoái của Uniswap.
Uniswap V2 là một bước đi tích cực và đúng hướng, nhưng vẫn còn một chặng đường dài trước khi các sàn giao dịch phi tập trung có thể thay thế hoàn toàn các sàn giao dịch tập trung. Phải nói rằng, ý kiến của cộng đồng tiền điện tử (đặc biệt là hệ sinh thái Ethereum) vẫn rất lạc quan - chúng ta có thể nói một cách an toàn rằng sự tiến bộ của DeFi, cả về khả năng kỹ thuật và sự chấp nhận, sẽ không bị bỏ qua trong thời gian ngắn. chậm.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia