Phân tích chuyên sâu toàn diện: mặt trước và mặt sau của Uniswap
加密乌托邦
2020-08-18 01:00
本文约4314字,阅读全文需要约17分钟
Nội dung hôm nay chủ yếu nhắm vào loại AMM (Nhà tạo lập thị trường hoàn toàn tự động) trong DEX và phân tích sâu về những lợi thế và rủi ro của Uniswap từ nhiều khía cạnh.

Bất kỳ lợi tức đầu tư nào đều dựa trên việc kiểm soát rủi ro, đặc biệt là khi các hợp đồng thông minh vẫn đang trong giai đoạn thử nghiệm.

Cấu trúc của bài viết này:

Cấu trúc của bài viết này:

  • Các vấn đề về tính thanh khoản của mã thông báo và AMM

  • Mặt trước của Uniswap

  • Uniswap là gì?

  • nâng cấp phiên bản

  • Mặt sau của Uniswap

  • rủi ro bên ngoài

  • rủi ro kỹ thuật

  • tiêu đề phụ

  • tóm tắt

Các vấn đề về tính thanh khoản của mã thông báo và AMM

Luôn có một vấn đề trong các sàn giao dịch phi tập trung - tính thanh khoản của các token.Tính thanh khoản kém đương nhiên sẽ dẫn đến trải nghiệm người dùng kém.

Trước đây, người dùng DEX giao dịch theo kiểu sổ lệnh, thông tin giao dịch sổ lệnh DEX được ghi lại trên chuỗi và người dùng đã tạo lệnh giao dịch để hoàn thành lệnh, sau đó trả một số phí gas trên chuỗi để hoàn tất giao dịch kế toán. Sự xuất hiện của AMM (Automated Market Maker) đã giải quyết rất tốt vấn đề thanh khoản. Các sàn giao dịch loại AMM không cần cung cấp dữ liệu sổ lệnh để hiển thị giá. Loại Dex này tập hợp thanh khoản để tạo thành một Nhóm thanh khoản thực hiện thị trường hoàn toàn tự động làm dựa trên thuật toán. Hiện tại, Dex phổ biến nhất trên thị trường được thực hiện thông qua AMM, chẳng hạn như Uniswap, Balancer, Curve, v.v.

tiêu đề phụ

Mặt trước của Uniswap

Mô tả hình ảnh

Mô tả hình ảnh

Theo dữ liệu trang web chính thức của Uniswap, tổng lưu lượng là 250 triệu đô la Mỹ và số lượng giao dịch hàng ngày vượt quá 100.000

  • Uniswap là gì?

  1. Uniswap là một sàn giao dịch phi tập trung (DEX) dựa trên mạng Ethereum có thể được sử dụng để giao dịch mã thông báo ERC20.

  2. Trong các sàn giao dịch tập trung nói chung, các đại lý giao dịch tạo thanh khoản bởi người mua và người bán, trong khi Uniswap có thể tự động tạo thị trường giao dịch.

  3. Uniswap có thể giải quyết vấn đề thanh khoản của dex.

  • nâng cấp phiên bản

Phiên bản V1 chỉ có thể sử dụng ETH làm tiền tệ cầu nối. Ví dụ: việc chuyển đổi hai ERC20 ABC/XYZ yêu cầu chuyển đổi ABC/ETH thành ETH/XYZ

Phiên bản V2 có thể trực tiếp tạo hai cặp ERC20 để trực tiếp cung cấp thanh khoản

Ưu điểm của phiên bản V2:

Tiết kiệm phí xử lý vì chỉ có một lần chuyển.

Tiết kiệm một trượt giá vì chỉ có một giao dịch

tiêu đề phụ

Mặt sau của Uniswap

Tôi kết luận rằng rủi ro của Uniswap có thể được chia thành ba khía cạnh:

  • rủi ro bên ngoài

Rủi ro bên ngoài không đề cập đến rủi ro của chính Uniswap, mà là rủi ro của các dự án được triển khai trên Uniswap. Ví dụ: công khai dự án sai sự thật, một số lượng lớn mã thông báo được bán bởi bên dự án dẫn đến sự sụp đổ của giá tiền tệ, v.v.

  • rủi ro kỹ thuật

Rủi ro hợp đồng thông minh sẽ không hoạt động như dự định của nhà phát triển. Rất khó để biết rằng rất khó để viết mã mà không có bất kỳ lỗi nào, đặc biệt là trong ngành công nghiệp blockchain để viết hợp đồng thông minh, vì vậy Uniswap có một mức độ rủi ro kỹ thuật nhất định. Kiểm toán, thử nghiệm và mua bảo hiểm hợp đồng thông minh đều có thể giảm thiểu rủi ro kỹ thuật. Ví dụ: dự án Defi YAM, có giá tiền tệ giảm mạnh 99% trong hai ngày qua, do sơ suất của người viết mã và vội vàng tung ra mã chưa được kiểm tra, dẫn đến thất bại của dự án.

  • Rủi ro mô hình kinh tế

Nhiều dự án blockchain, đặc biệt là trong lĩnh vực DeFi, cần dựa vào các khuyến khích kinh tế để thúc đẩy những người tham gia mạng, nếu phương thức khuyến khích không thể giúp người tham gia nhận được phản hồi tốt, thì có khả năng sẽ khiến những người dùng khác bị ảnh hưởng. Ví dụ, nguyên nhân chính dẫn đến sự sụp đổ của sàn giao dịch Fcoin, vốn được đồn đại vào đầu năm nay, tôi nghĩ là sự thất bại của mô hình khuyến khích kinh tế "khai thác giao dịch". yếu tố then chốt và quan trọng dẫn đến sự sụp đổ của một dự án hoặc sàn giao dịch.yếu tố ít được chú ý nhất.

Những rủi ro này được phân tích chi tiết dưới đây.

1. Rủi ro bên ngoài

Từ nóng nhất trong giới tiền tệ gần đây không còn là "1CO" hay "1EO", mà là "1UO", được gọi là đợt chào bán Uniswap ban đầu.

Niêm yết trên Uniswap là một sản phẩm ba không có gì thực sự.

Nó chỉ cần thiết lập hai nhóm vốn, "không phí niêm yết", "không kiểm duyệt" và "không mất phí", và thiết kế cơ chế mô hình kinh tế đương nhiên có lợi cho FOMO và không cần hơn 100 lần nhấp vào chuột và bàn phím. Công việc niêm yết tiền trong Uniswap có thể được hoàn thành.

Tôi đã gửi một đồng xu trên Uniswap với giá 46 đô la

Sự xuất hiện của Uniswap đã giảm bớt rất nhiều khó khăn và chi phí cho các bên dự án trong việc phát hành tiền và cắt tỏi tây. ngay cả dấu hiệu phát hành tiền xu trong thời đại ICO Không có sách trắng đi kèm.

Bên dự án có thể có được các dịch vụ như niêm yết tiền tệ trên sàn giao dịch, quản lý giá trị thị trường và duy trì lưu thông với chi phí rất thấp.Phải biết rằng các dịch vụ này chỉ có thể được hưởng bằng cách trả vài hoặc thậm chí hàng chục BTC trên sàn giao dịch tập trung .

Uniswap đã kế thừa lớp áo 1co của Ethereum vào năm 2017, cho phép tất cả các dự án được liệt kê trên sàn giao dịch, tương đương với việc tất cả các bên tham gia dự án có thể huy động vốn vào năm 2017, cho phép những người mới bắt đầu hiểu được sự điên rồ của vòng tròn tiền tệ và để những người cũ Leek đã kiểm tra lại vòng tròn tiền tệ.

Mô tả hình ảnh

Tuyên bố Twitter chính thức của Near Protocol

2. Rủi ro kỹ thuật

Mô tả hình ảnh

https://github.com/

Cần lưu ý rằng Uniswap hiện đã biết đường tấn công và nguồn rủi ro chủ yếu là cuộc tấn công vào lại của ERC-777token. Nguyên tắc chung của cuộc tấn công là:

Nhập trao đổi mã thông báo Uniswap bằng cách gọi hàm tokenToEthSwapInput hai lần.

Trong lần mua mã thông báo thứ hai, dự trữ ETH thấp hơn, nhưng dự trữ mã thông báo là như nhau. Điều này có nghĩa là lô mã thông báo thứ hai sẽ chỉ được đổi lấy nhiều ETH hơn một chút so với mức cần thiết. Đây là công thức chi phối giá mà các sàn giao dịch mua các mã thông báo đang được bán:

Trong hoạt động bình thường, sau khi bán mã thông báo thông thường tiếp theo, dự trữ mã thông báo sẽ tăng (mẫu số tăng), trong khi dự trữ Ethereum sẽ giảm (giảm tử số). Do đó, số tiền thanh toán bằng mã thông báo sẽ giảm sau mỗi đợt bán hàng.

Thay vào đó, bằng cách khai thác khả năng truy cập lại, hành động này sẽ ngăn chặn hiệu quả số lượng mã thông báo dự trữ tăng lên, do đó biến mẫu số của phương trình thành một hằng số. Lưu ý rằng lượng ETH trong quỹ dự trữ sẽ vẫn giảm (tức là tử số trong mỗi lệnh gọi của người đăng ký lại sẽ nhỏ hơn). Về lâu dài (sau một vài lần lặp lại truy cập lại), chúng tôi sẽ có thể kiếm được lợi nhuận kha khá, càng nhiều lần lặp lại truy cập lại càng tốt. Chúng tôi gọi cuộc tấn công này là một cuộc tấn công "giao dịch vi mô tái nhập".

Mô tả hình ảnh

https://github.com/Uniswap/

Mô tả hình ảnh

Hình trên do tác giả vẽ

Mỗi điểm đại diện cho một lượng bán ETH cố định do Uniswap thanh toán. Ví dụ: trong 20 "cuộc tấn công vào lại", mỗi lần bán 350 mã thông báo, sử dụng cuộc tấn công giao dịch vi mô vào lại (màu đỏ) tạo ra khoảng 22.192 ETH, trong khi ở điều kiện bình thường, chức năng tokenToEthSwapInput được gọi ra bên ngoài 20 lần (bán trong mỗi lệnh gọi) 350 mã thông báo), a tổng cộng 7000 mã thông báo được bán và lợi nhuận chỉ là 17,44 ETH (màu xanh lam).

Có sự khác biệt rõ ràng về lợi nhuận thể hiện trong các cuộc tấn công vào lại khi số lượng lệnh gọi tăng lên. Các giao dịch thông thường hợp pháp (màu xanh lam) tạo ra khoảng 17,418 ETH, trong khi các cuộc tấn công giao dịch vi mô được đăng ký lại (màu đỏ) tạo ra khoảng 22,324 ETH. Đường đứt nét màu xanh không cố định theo thời gian và có độ dốc nhỏ.

Đóng góp mã: OpenZeppelin,

Người giới thiệu:

Người giới thiệu:https://github.com/openzeppelin/exploit-Uniswap

https://smartcontractsecurity.github.io/SWC-registry/docs/SWC-107 

3. Rủi ro mô hình kinh tế

Mô hình kinh tế được cung cấp bởi thanh khoản mã thông báo của Uniswap là chọn một cặp giao dịch mã thông báo ETH/ERC20 và bơm chúng vào nhóm quỹ, đồng thời thêm ETH và ERC20 có giá trị bằng nhau (cùng một giá trị là 1:1 để bơm tiền) nếu cần. ETH hoặc ERC20 được trao đổi, người gửi tiền có thể chia sẻ phí giao dịch theo tỷ lệ (phí là 0,3%).

Có hai nhóm quỹ ở đây, một dành cho ETH và một dành cho mã thông báo ERC20 và tổng giá trị của cả hai về mặt lý thuyết là bằng nhau. Trong số đó, giá thị trường của ETH tương đối rõ ràng, vì vậy giá trị thị trường của nhóm ETH này có thể được coi là bằng với giá trị thị trường của các mã thông báo.

Ví dụ: 1 (ETH) * 2000 (một ERC20 nhất định) = 2000 (2000 là một hằng số) Khi người mua muốn đổi 100 phần ETH tương ứng với một mã thông báo erc20 nhất định, người mua sẽ nạp và gửi 100 phần của một mã thông báo ERC20 nhất định vào nhóm quỹ Đối với mã thông báo ERC20, để đảm bảo rằng kết quả tính toán vẫn là 2000, lượng ETH cần để lại trong nhóm quỹ là 2000/(2000+100)=0,952 và ETH mà người mua có thể nhận được là 1-0,952=0,048 (bỏ qua phí xử lý). Nó tương đương với việc bán 100 đồng ERC20 và sau đó tôi nhận được 0,048ETH. Đây là logic của trao đổi.

Đây là phương pháp tính toán đơn giản nhất, logic tính toán của nhà tạo lập thị trường hàm hằng phức tạp hơn nên tôi sẽ không đi vào chi tiết ở đây. Mọi người đáng lẽ phải tìm ra một vấn đề ở đây. Ban đầu, chúng tôi đáng lẽ đã nhận được 0,05 Ethereum (phương pháp tính toán: 100/2000=0,05ETH), nhưng sau khi trao đổi, chúng tôi chỉ nhận được 0,048. Đây là khi số tiền trong nhóm quỹ không đủ .Có độ trượt giá lớn.

Mô tả hình ảnh

Sách trắng Uniswap Trang 5

Thông số kinh tế duy nhất trên Uniswap là phí giao dịch 0,30% cho mỗi giao dịch. Phí sẽ được khuyến khích cho những người tham gia đầu tư vào mã thông báo nhóm thanh khoản hoặc eth, nhằm khuyến khích mọi người đầu tư tiền của họ vào nhóm thanh khoản. Nếu thiết kế của phí xử lý quá cao hoặc quá thấp, nó có thể thay đổi mức tiền trong mỗi nhóm quỹ, do đó thay đổi lợi nhuận của các nhà cung cấp thanh khoản, nhưng nó không ảnh hưởng trực tiếp đến tiền của các nhà cung cấp thanh khoản.

tóm tắt

tóm tắt

Uniswap là một sàn giao dịch phi tập trung kiểu AMM. Bài viết này tiến hành phân tích toàn diện về nó theo nhiều chiều và tập trung vào các rủi ro bên ngoài, rủi ro kỹ thuật và rủi ro mô hình kinh tế.

Sau khi nghiên cứu sâu, người ta thấy rằng rủi ro chính là rủi ro bên ngoài (nghĩa là rủi ro của bên dự án) và rủi ro của bản thân nền tảng là không lớn. Điều này cũng giống như ICO, bản thân nó chỉ là một mô hình tài chính mới, nhưng một số bên dự án sử dụng mô hình này để gian lận. bài viết. giữ nguyên.

加密乌托邦
作者文库