Trong bài viết này, tôi đã cung cấp cái nhìn tổng quan toàn diện về các ứng dụng vay thế chấp chính trên Ethereum. Phương pháp mà tôi đã sử dụng để phân tích từng đơn đăng ký cũng có thể được áp dụng để nhanh chóng nắm bắt được những điểm phức tạp của các đơn xin vay có thế chấp khác.
Vay là nền tảng của các ứng dụng blockchain dựa trên Ethereum . Vớihàng tỷ tài sản được cho vay , việc hiểu cách thức hoạt động của việc vay mượn là rất quan trọng đối với các nhà phát triển, kiến trúc sư hoặc nhà nghiên cứu.
Giống như sự phát triển của các mô hình lập trình, các ứng dụng DeFi này có thiết kế kiến trúc đa dạng, phản ánh các ưu tiên đang thay đổi, từ bảo mật đến hiệu quả và trải nghiệm người dùng.
Phân tích này xem xét kiến trúc của các ứng dụng như MakerDAO , hợp chất , Aave , Euler , Và Năng suất . Chúng tôi sẽ nêu bật những cải tiến quan trọng và mẫu thiết kế, đây là những bài học quan trọng để phát triển các ứng dụng cho vay trong tương lai.
Nếu bạn là nhà phát triển, kiến trúc sư hoặc nhà nghiên cứu bảo mật thì bài viết này là dành cho bạn. Cuối cùng, bạn sẽ dễ dàng hiểu được các ứng dụng vay mới trên Ethereum, nắm bắt kiến trúc của chúng một cách nhanh chóng và toàn diện. Hãy tìm hiểu sâu hơn về cách những gã khổng lồ DeFi này được xây dựng từ đầu.
Vay trong DeFi
Phần lớn khoản vay DeFi làđược thế chấp quá mức . Người dùng có thể vay một tài sản cụ thể nếu họ cung cấp tài sản thế chấp có giá trị lớn hơn khoản vay. Không giống như các khoản vay thông thường, nhiều khoản vay này không có thời hạn trả nợ thường xuyên hoặc ngày kết thúc cố định. Về bản chất, bạn có thể vay và không bao giờ trả được.
Tuy nhiên, có một nhược điểm.
Giá trị tài sản thế chấp phải luôn vượt quá giá trị khoản vay theo một mức ký quỹ xác định trước .
Nếu giá trị tài sản thế chấp giảm xuống dưới mức này, khoản vay sẽ đượcthanh lý .
Trong quá trình thanh lý, người khác sẽ hoàn trả một phần hoặc toàn bộ khoản vay của bạn và họ sẽ nhận lại một phần hoặc toàn bộ tài sản thế chấp của bạn.
Tất cả các đơn xin vay theo cơ cấu tài chính này đều cần các khối xây dựng giống nhau, sau đó có thể được sắp xếp theo nhiều cách:
Kho bạc để lưu trữ tài sản thế chấp của người dùng và tài sản đi vay
Một hệ thống kế toán theo dõi tài sản thế chấp và nợ của từng người dùng
Hàm xác định lãi suất của người đi vay
Một cơ chế để xác minh xem khoản vay có được thế chấp đầy đủ hay không, thường liên quan đến các dự đoán về giá bên ngoài
Con đường thanh lý các khoản vay không được thế chấp
Hệ thống quản lý rủi ro ghi lại tổng số tiền đã vay và các số liệu an toàn khác, chẳng hạn như giới hạn vay toàn cầu và cho mỗi người dùng, mức tài sản thế chấp tối thiểu và tỷ lệ tài sản thế chấp quá mức cụ thể
Giao diện để người dùng thêm và xóa tài sản thế chấp, vay và trả nợ cơ bản
Vay và cho vay có thể được coi là những tính năng riêng biệt. Trong DeFi, chúng tôi tìm thấy cả hai tính năng này trong hầu hết các ứng dụng vay, nhưng chúng không phải lúc nào cũng được tích hợp tốt .
Trong Hợp chất, Aave và Euler chúng là . Lãi suất của người đi vay và người cho vay có mối tương quan nội bộ; trên thực tế, đó là điều khiến các ứng dụng đó hoạt động mà không cần can thiệp nhiều.
Mặt khác, MakerDAO và Yield là người khởi tạo tài sản mà họ cho người vay vay.
Họ không yêu cầu người dùng cung cấp tài sản để người dùng khác có thể vay .
Bài viết này sẽ tập trung vào việc vay trên chuỗi và phần lớn bỏ qua việc cho vay. Việc vay phức tạp hơn nhiều vì yêu cầu thế chấp và việc hiểu mô hình vay thường giúp hiểu rõ hơn về toàn bộ giao thức.
Hành động này cập nhật số dư nợ của người dùng và cho phép họ đúc DAI tại DAI Join.
Để hoàn trả, người dùng ghi DAI trong DAI Join. Quá trình này sau đó sẽ cập nhật Vat, cho phép người dùng thanh toán khoản vay của họ .
Ngoài ra, hợp đồng vat.sol đóng vai trò làquản lý rủi ro động cơ. Nó duy trì giới hạn vay toàn cầu, đặt ngưỡng tối thiểu cho mỗi người dùng và giám sát tỷ lệ tài sản thế chấp.
Khi có thay đổi đối với khoản nợ hoặc số dư tài sản thế chấp của người dùng, hợp đồng vat.sol sẽ đánh giá cả tỷ giá và giao ngay.
Chúng đề cập đến lãi suất dựa trên tài sản thế chấp được sử dụng và tỷ lệ giá DAI trên tài sản thế chấp hiện hành. Điều thú vị là các giá trị này được đưa vào hợp đồng vat.sol bằng các hợp đồng MakerDAO khác, một phương pháp khác biệt với hầu hết các ứng dụng khác.
MakerDAO ưu tiên sự an toàn trong giai đoạn thiết kế - thời điểm mà các yếu tố như chi phí gas chỉ là thứ yếu , trải nghiệm người dùng chỉ là mối quan tâm nhỏ và sự cạnh tranh là không đáng kể.
Do đó, nó có thể có vẻ kỳ quặc, tốn kém khi sử dụng và khó điều hướng.
Tuy nhiên, khối tài sản khổng lồ mà nó quản lý và lịch sử hoạt động không có vi phạm đáng kể là nền tảng cho thiết kế và vận hành mạnh mẽ của nó.
Điểm nổi bật:
Mỗi tài sản có hợp đồng riêng trong chức năng ngân quỹ được trải rộng tối đa
Chức năng kế toán được tập trung trong một hợp đồng duy nhất, đồng thời ghi lại và thực thi các thông số rủi ro, bao gồm kiểm tra tài sản thế chấp
Không giống như các ứng dụng khác, oracles cập nhật hợp đồng, giám sát tài sản thế chấp
Nhà tiên tri về giá và lãi suất sử dụng các giao diện riêng biệt
Lãi suất bắt nguồn từ bên ngoài
Để vay, người dùng phải tương tác với nhiều hợp đồng
Sự phát triển kiến trúc của giao thức lợi nhuận
Năng suất v1 phục vụ như một bằng chứng về khái niệm cho tỷ giá cố định bằng cách sử dụngNăng suấtSpace . Phiên bản này đã xây dựng công cụ nợ có thế chấp dựa trên MakerDAO. Tuy nhiên, Yield v1 vừa đắt tiền khi sử dụng vừa thách thức việc bổ sung các tính năng mới.
Nhận thấy tiềm năng của YieldSpace, chúng tôi nhanh chóng chuyển sang phát triểnNăng suất v2 . Vẫn lấy cảm hứng từ MakerDAO nhưng giờ đây hoàn toàn độc lập, Yield v2ra mắt vào tháng 10 năm 2021 ; Yield v2 ưu tiên giảm chi phí gas và nâng cao trải nghiệm người dùng.
Tất cả các hoạt động kiểm tra kế toán, quản lý rủi ro và tài sản thế chấp được hợp nhất thành một hợp đồng:Cái vạc . Bắt chước cách tiếp cận của MakerDAO, chúng tôi đã phân bổ các chức năng ngân quỹ trên khắpTham gia hợp đồng, mỗi hợp đồng dành riêng cho một tài sản cụ thể.
Chúng tôi đã cải tiến việc tích hợp oracle của mình, hợp nhất oracle về giá và lãi suất thành mộtgiao diện chung . Chúng tôi đã đảo ngược luồng oracle từ MakerDAO sao cho Cauldrontư vấn lời tiên tri khi cần thiết để kiểm tra tài sản thế chấp. Theo hiểu biết của tôi, đây là luồng ưa thích ở mọi nơi ngoại trừ MakerDAO.
Một sai lệch đáng kể khác so với cách tiếp cận của MakerDAO là việc chúng tôi giới thiệuLò nồi . Hợp đồng này đóng vai trò là trung gian duy nhất giữa người dùng và Yield. Nó có quyền kiểm soát rộng rãi đối với kho bạc và kế toán, nhưng đổi lại, mang lại sự linh hoạt to lớn cho việc phát triển tính năng .
Tóm lại, việc vay trong Yield v2 hoạt động như sau:
Mỗi tài sản có hợp đồng ngân quỹ chuyên dụng riêng, đảm bảo phân phối tối đa chức năng ngân quỹ.
Một hợp đồng duy nhất tập trung vào chức năng kế toán. Hợp đồng này cũng giám sát các biện pháp quản lý rủi ro và thực hiện kiểm tra tài sản thế chấp.
Chức năng thế chấp sẽ tham khảo ý kiến của các nhà tiên tri để xác định giá cả và lãi suất.
Cả hai nhà tiên tri về giá và lãi suất đều có chung một giao diện thống nhất.
Lãi suất được tạo ra từ bên ngoài.
Người dùng có thể vay bằng cách đưa ra một yêu cầu duy nhất cho một hợp đồng.
Sự phát triển về mặt kiến trúc của tài chính tổng hợp
Cácphiên bản đầu tiên của Hợp chất là mộtBằng chứng của khái niệm , chứng minh rằng thị trường tiền tệ có thể được thiết lập trên Ethereum. Vì lý do này, sự đơn giản được ưu tiên trong thiết kế của nó. CácMoneyMarket.sol hợp đồng gói gọn tất cả các chức năng, bao gồm cả việc cho vay.
Các nhiệm vụ về ngân quỹ, kế toán và quản lý rủi ro, chẳng hạn như kiểm tra tài sản thế chấp, được hợp nhất thành một hợp đồng.
Hợp đồng này lấy giá từ các nhà tiên tri nhưng xác định lãi suất dựa trên việc sử dụng tài sản.
Người dùng chỉ tương tác với hợp đồng này, mặc dù họ phải thực hiện các cuộc gọi riêng để cung cấp tài sản thế chấp và vay.
Hợp chất v2
Hợp chất v2 được ra mắt vào tháng 5 năm 2019 , khơi dậy kỷ nguyên canh tác năng suất và truyền cảm hứng cho vô số fork. Nó cũng hoạt động như một thị trường tiền tệ, cho phép người dùng vừa cho vay vừa vay tài sản.
Dựa trên nógiấy trắng và cấu trúc, rõ ràng là mục tiêu chính củaHợp chất v2 là sử dụngTiêu chuẩn ERC20 để thể hiện các vị thế cho vay . Điều này đảm bảo khả năng kết hợp, cho phép người dùng cho Hợp chất vay và sau đó sử dụng các vị trí chịu lãi đó trong các ứng dụng blockchain khác.
Điều thú vị là bản cáo bạch không nêu rõ rằng Hợp chất v2 được tích hợpphần thưởng vào các hợp đồng thông minh của nó. Do thiếu sót này, tác động to lớn của tính năng này có thể không được lường trước.
Mỗi tài sản có hợp đồng ngân quỹ riêng, tối đa hóa việc phân bổ chức năng ngân quỹ.
Chức năng kế toán cũng được phân phối, với mỗi cToken ghi lại tài sản thế chấp và nợ của người dùng.
Một hợp đồng duy nhất, Người kiểm soát, ghi nhật ký và thực thi các tham số quản lý rủi ro, bao gồm cả kiểm tra tài sản thế chấp.
Hợp đồng chịu trách nhiệm kiểm tra tài sản thế chấp tham chiếu đến các oracle về giá và cToken để biết lãi suất.
Các dự báo về giá và lãi suất hoạt động với các giao diện khác nhau.
Lãi suất phát sinh nội bộ từ việc sử dụng tài sản.
Người dùng phải tương tác với nhiều hợp đồng để vay.
Hợp chất v3
Được phát hành vào năm 2022 ,Hợp chất v3 áp dụng chiến lược quản lý rủi ro thận trọng hơn, tách thanh khoản thành mộthồ bơi đối với từng tài sản đi vay. Thiết kế cũng bộc lộ mối lo ngại về tính thân thiện với người dùng và chi phí gas.
Hệ thống trực quan hơn cho cả nhà phát triển và người dùng do giảm số lượng cuộc gọi cần thiết. Ngoài ra, thiết kế hợp đồng đơn lẻ giúp giảm chi phí gas bằng cách giảm thiểu các cuộc gọi giữa các hợp đồng. Các thị trường tiền tệ tách biệt là biện pháp phòng vệ chống lại các cuộc tấn công dựa trên oracle, hiện là mối lo ngại lớn về an ninh.
Các tính năng liên quan khác được đề cập trongghi chú phát hành bao gồm:
Một công cụ quản lý rủi ro và thanh lý được cải tiến hoàn toàn. Thiết kế này tăng cường an ninh quỹ trong khi thân thiện với người vay hơn.
Đặt giới hạn trên toàn thị trường cho các tài sản thế chấp riêng lẻ để giảm thiểu rủi ro.
Các mô hình lãi suất để kiếm tiền và đi vay hiện đã tách biệt, với việc quản trị có toàn quyền kiểm soát các chính sách kinh tế.
Điều thú vị là, Hợp chất v3 phản ánh kiến trúc của Hợp chất v1 bằng cách có một hợp đồng duy nhất xử lý tất cả các chức năng cho từng tài sản có thể vay. Các tính năng đáng chú ý khác bao gồm:
Chỉ được mượn tài sản cho mượn; tài sản thế chấp không thể.
Tài sản thế chấp không mang lại lợi nhuận trong Hợp chất v3.
Việc cấm vay tài sản thế chấp giúp tăng cường sự an toàn cho người gửi tài sản thế chấp. Điều này làm giảm khả năng xảy ra lỗi quản trị hoặc các cuộc tấn công có chủ ý gây nguy hiểm cho tài sản thế chấp.
Việc loại bỏ lợi nhuận trên tài sản thế chấp được cung cấp có thể là kết quả của việc Hợp chất quản lý để tích lũy nhiều thanh khoản trong v2. Tôi có trực giác rằng trong Hợp chất v2, giới hạn vay thấp hơn hoặc không cao hơn nhiều so với tài sản mà người dùng cho ứng dụng vay.
Giả sử họ sẽ quản lý mức thanh khoản tương tự cho v3, việc không cho phép cho vay tài sản thế chấp sẽ giúp ứng dụng trở nên an toàn, một trong những mục tiêu cốt lõi của v3.
Từ quan điểm kiến trúc:
Mỗi thị trường tiền tệ là một hợp đồng riêng với kho bạc, kế toán và quản lý rủi ro
Mỗi thị trường tiền điện tử giữ lại tài sản có thể vay cùng với tất cả các mã thông báo tài sản thế chấp đã được phê duyệt, khiến tài sản bị phân tán trên ứng dụng
Nguồn cấp giá là đầu vào bên ngoài duy nhất; lãi suất đi vay và cho vay được tạo ra trong nội bộ
Các chức năng truyền thống như cung/rút/vay/trả nợ đã được hợp nhất một cách thông minh. Bây giờ, việc rút một tài sản có thể vay khỏi thị trường tiền tệ ngụ ý đi vay, trong khi việc cung cấp nó biểu thị việc trả nợ hoặc cho vay dựa trên khoản nợ của người dùng.
Hợp đồng định tuyến được tích hợp, cho phép thực hiện nhiều thao tác trong một cuộc gọi
Sự phát triển kiến trúc của Aave
Aave v1 đã từng làra mắt vào tháng 10 năm 2019 , ETHLend thành công. Thay vì cách tiếp cận ngang hàng của ETHLend, Aave v1 đã giới thiệu nhóm thanh khoản chung.
Như trong Yield v2,hợp đồng bộ định tuyến cũng nắm giữ logic kinh doanh. CácCho vayHồ bơi Cốt lõi thực hiện các chức năng kế toán, quản lý rủi ro và ngân quỹ. Việc gộp kho bạc trong một hợp đồng duy nhất là một điểm khác biệt so với Hợp chất v2.
Quyết định để lại việc kiểm tra tài sản thế chấphợp đồng riêng của nó , được gọi từ bộ định tuyến chứ không phải hợp đồng kế toán có vẻ yếu, nhưng nó có thể phù hợp với mục đích vì Aave v2 chỉ được phát hành hai năm sau khi phát hành v1
Hợp đồng LendingPoolCore xử lý kho bạc và kế toán
LendingPoolDataProvider quản lý việc kiểm tra tài sản thế chấp và tương tác với oracle
LendingPool đóng vai trò là điểm truy cập của người dùng và thực hiện logic nghiệp vụ
Lãi suất vay và cho vay được xác định nội bộ, chỉ dựa vào nguồn cung cấp giá
Aave v2
Aave v2 đã từng làphát hành vào tháng 12 năm 2021 . Mặc dù vẫn giữ các tính năng tương tự như Aave v1 nhưng nó giới thiệu kiến trúc cải tiến và đơn giản hơn so với cả Aave v1 và Hợp chất v2. Với bản phát hành này, Aave cũng giới thiệuaToken (giống như cTokens của Hợp chất) vàvToken , đại diện cho khoản nợ được token hóa.
Một số tính năng nhất định từ Aave v1, vốn được sử dụng hạn chế, đã bị lược bỏ để đơn giản hóa. Các vấn đề trong Aave v1, như cách trình bày phức tạp về tiền lãi tích lũy, đã được giải quyết trong Aave v2.
Hợp đồng LendingPool hợp nhất các chức năng quản lý rủi ro và kế toán toàn cầu, chẳng hạn như kiểm tra tài sản thế chấp. Nó đóng vai trò là điểm truy cập chính cho người dùng
aToken biểu thị tài sản thế chấp và gần giống với các vị thế cho vay. Tài sản thế chấp của người dùng được phản ánh thông qua việc nắm giữ aToken của họ và chức năng kho bạc được phân bổ trên tất cả aTokens
vTokens được sử dụng để thể hiện các vị thế nợ. Khoản nợ của người dùng được thể hiện bằng số vToken mà họ nắm giữ
Aave v3
Aave v3 đã từng làphát hành vào tháng 1 năm 2023 với sự hỗ trợ đa chuỗi và các tính năng khác. Những bổ sung này không làm thay đổi kiến trúc cốt lõi. Bản cập nhật cũng tự hào cải thiện quản lý rủi ro và hiệu quả sử dụng gas.
Mặc dù có nhiều tiến bộ nhưng với mục đích của nghiên cứu này, Aave v3 không khác biệt về mặt vật chất so với Aave v2. Trên thực tế, điều đó có thể gợi ý rằng kiến trúc của Aave v2 vẫn mạnh mẽ vào năm 2023.
Sự phát triển kiến trúc của Euler
Euler đã từng làra mắt vào tháng 12 năm 2022 , nhằm mục đích cung cấp thị trường tiền tệ với các tính năng không cần cấp phép và quản trị tối thiểu.
Mặc dù một hợp đồng lưu trữ tất cả dữ liệu tài sản, kế toán và quản lý rủi ro, vẫn có eToken để thế chấp và cho vay, cũng như dToken cho nợ, tương tự như Aave v2. Tuy nhiên, các hợp đồng mã thông báo này chỉ là quan điểm của hợp đồng lưu trữ trung tâm.
Cáclogic cơ bản hợp đồng có chức năng như kho bạc.
CácQuản lý rủi ro hợp đồng giám sát các biến số và chức năng quản lý rủi ro, bao gồm cả kiểm tra tài sản thế chấp.
Phân tích mã cho thấy chi phí gas tối thiểu là ưu tiên hàng đầu, dẫn đến thiết kế nguyên khối loại bỏ nhu cầu thực hiện các cuộc gọi giữa các hợp đồng. An ninh được đảm bảo thông qua kiểm tra và kiểm tra nghiêm ngặt. Chỉ logic được phân phối trên nhiều mô-đun khác nhau, đóng vai trò triển khai cho hợp đồng lưu trữ, hoạt động chủ yếu như một hợp đồng proxy.
Thiết kế thống nhất này cũng hỗ trợ nâng cấp dễ dàng. Các mô-đun có thể được thay thế nhanh chóng để sửa đổi hoặc giới thiệu các tính năng nếu không cần thay đổi bộ nhớ .
Euler đã bị tấn công mười lăm tháng sau khi phát hành và sáu tháng sau khi nâng cấp, lỗ hổng đã bị khai thác.
Tôi không nghĩ kiến trúc nguyên khối góp phần khiến tài sản bị cạn kiệt; đúng hơn là việc giám sát cập nhật mã chưa đầy đủ .
Phần kết luận
Các ứng dụng Ethereum ban đầu như MakerDAO, Hợp chất và Aave đã cho thấy tiềm năng của việc vay thế chấp quá mức trên Ethereum. Sau khi những bằng chứng về khái niệm này tỏ ra thành công, trọng tâm sẽ chuyển sang giới thiệu nhiều tính năng mới để chiếm thị phần. Các phiên bản sau này của Hợp chất và Aave đã giới thiệu năng suất canh tác, khả năng kết hợp và thanh khoản gộp, đặc biệt phát triển mạnh trong điều kiện thị trường tăng giá.
Một bước phát triển đáng kể là việc Complex v2 giới thiệu các vị thế cho vay được mã hóa, cho phép các vị trí này được các ứng dụng khác công nhận là tài sản tiêu chuẩn. Aave v2 và Euler đã tiến một bước xa hơn bằng cách triển khai các vị trí nợ được mã hóa, tiện ích rộng hơn của nó vẫn là một chủ đề tranh luận.
Chi phí gas cao nổi lên như một mối lo ngại lớn trong thị trường giá lên, thúc đẩy trải nghiệm người dùng phải sửa đổi như đã thấy trong Yield v2, Aave v2 và Euler. Hợp đồng bộ định tuyến và triển khai nguyên khối đã giúp giảm chi phí mà người dùng phải gánh chịu khi giao dịch. Tuy nhiên, điều này phải trả giá bằng mã phức tạp hơn và do đó rủi ro hơn.
Hợp chất v3 dường như đặt tiền lệ, ưu tiên an toàn hơn hiệu quả tài chính. Nó đi chệch khỏi mô hình nhóm thanh khoản truyền thống để bảo vệ tốt hơn trước các vụ hack tiềm ẩn. Sự gia tăng của mạng L2, nơi chi phí gas ngày càng không đáng kể, có thể sẽ định hình thiết kế của các ứng dụng vay thế chấp trong tương lai.
Trong bài viết này, tôi đã cung cấp cái nhìn tổng quan toàn diện về các ứng dụng vay thế chấp chính trên Ethereum. Phương pháp mà tôi đã sử dụng để phân tích từng đơn đăng ký cũng có thể được áp dụng để nhanh chóng nắm bắt được những điểm phức tạp của các đơn xin vay có thế chấp khác.
Khi phát triển một ứng dụng vay blockchain, hãy luôn xem xét việc lưu trữ tài sản, sắp xếp hồ sơ kế toán và các phương pháp đánh giá rủi ro và tài sản thế chấp. Khi bạn thực hiện những cân nhắc này, hãy dựa vào lịch sử của các ứng dụng trước đó và những hiểu biết sâu sắc từ tổng quan này để đưa ra quyết định của bạn.
Cảm ơn bạn đã đọc, và chúc may mắn.
Nhờ vàoCalnixđể xem xét và chỉnh sửa bài viết này.
Tác giả là người đồng sáng lập và Trưởng nhóm kỹ thuật tại Yield Protocol.