ERC-4626 là một hầm chứa token hóa với một token EIP-20 cơ bản duy nhất.
Trước hết, nó là một đề xuất dựa trên ERC-20 và hoàn toàn tương thích với nó.
Thứ hai, hiểu rõ khái niệm về một hòm, đó không phải là kho bạc. Kho bạc hiện tại trên thị trường hầu hết là ví hợp đồng, hầu hết là Gnosis Safe, chủ yếu cung cấp các chức năng nhập và xuất quỹ an toàn. Nhưng đối với một tổ chức, ngoài việc tiền vào và ra, dòng tiền cũng có thể tạo ra thu nhập.
Động lực của đề xuất này: Sự thiếu chuẩn cho các hầm tiền mã hóa đã dẫn đến các chi tiết thực thi khác nhau của nhiều hầm trên thị trường, chẳng hạn như các thị trường cho vay, bộ tập hợp, token mang lại lợi suất, v.v. Điều này làm cho việc tích hợp bộ tập hợp và plugin ở cấp độ giao thức trở nên khó khăn, dễ gặp lỗi và lãng phí tài nguyên phát triển.
Khi tình trạng hiện tại của đề xuất này là Cuối cùng, điều đó có nghĩa là nó là một tiêu chuẩn tương đối ổn định.
Các token theo chuẩn ERC-4626 phải triển khai đầy đủ chuẩn ERC-20, được sử dụng để đại diện cho cổ phần. Dưới đây là một số khái niệm đơn giản.
Trượt giá là chênh lệch giữa giá dự kiến của giao dịch và giá thực hiện thực tế. Trượt giá xảy ra khi có sự chậm trễ giữa việc đặt giao dịch và thực hiện giao dịch và giá của tài sản được giao dịch thay đổi.
Ví dụ, nếu bạn tìm thấy 20 ETH và 80 USDT trong hồ bơi AMM, giá ETH dự kiến của bạn là 4 USDT/ETH. Tuy nhiên, nếu bạn dự định chi 20 USDT để đổi trong hồ bơi, bạn sẽ chỉ nhận được 4 ETH thay vì 5 ETH dự kiến, điều đó có nghĩa là bạn gánh chịu một mất mát do slippage là 1 USDT/ETH. Giá mua thực tế của bạn sẽ là 5 USDT, không phải là 4 USDT dự kiến.
Slippage đặc biệt phổ biến trong các thị trường di chuyển nhanh hoặc tài sản biến động cao, cũng như các tài sản dài đuôi có thanh khoản bị hạn chế. Bất kể thế nào, nó có ảnh hưởng đáng kể đến hiệu suất giao dịch và quan trọng khi xem xét slippage khi đặt lệnh giao dịch.
Mã hợp đồng đến từ thư viện mã hợp đồng thông minh OpenZeppelin:
Hợp đồng ERC-4626 kế thừa từ ERC-20. Phần này sẽ không được tóm tắt. Nó cũng là một hợp đồng trừu tượng chính nó. Các giao diện mà hợp đồng phải thực hiện như sau:
Giao diện khá phong phú, hầu hết chúng đều khá đơn giản và có thể chia thành hai loại: đọc và viết.
Các giao diện chính để viết dữ liệu là gửi tiền, đúc, rút và đổi.
Trong thực tế, do sự tồn tại của slippage, việc sử dụng phương pháp xem trước để xem số liệu dự kiến có thể không chính xác, đây cũng là một vấn đề phổ biến trong ngành và có thể gây ra một số vấn đề về an ninh, điều này sẽ được thảo luận sau.
Các phương pháp xem trước được đề cập trước đó, cũng như các phương thức public convertToShares và convertToAssets, thực sự gọi các phương thức _convertToShares và _convertToAssets nội bộ.
Hai phương pháp cốt lõi này là để tính toán mối quan hệ tỷ lệ thuận giữa tài sản và cổ phần. Các biến liên quan bao gồm cung cấp cổ phần, tổng tài sản hiện tại, số lượng điểm thập phân và các phương pháp làm tròn điểm thập phân.
Bên trên là việc thực hiện cơ bản của hợp đồng trừu tượng ERC-4626. Hợp đồng két thực tế phức tạp hơn nhiều so với điều đó.
Đối với hợp đồng kho bạc, có hai chức năng tương đối quan trọng cần thực hiện. Một là chức năng gửi và rút tiền, chuyển đổi tài sản và cổ phần; hai là cách để thu nhập, sẽ được giải thích thông qua ví dụ bên dưới.
Tương tự như một số EIP phổ biến khác, ERC-4626 cũng có một hệ sinh thái liên minh (https://erc4626.info/) được duy trì bởi nhân viên chuyên nghiệp, thu thập một số giao thức cho vay và ứng dụng hiện đang có trên thị trường tương thích với ERC-4626, cũng như tin tức, thư viện mã nguồn mở, bảo mật và thông tin khác. Nếu kho của bạn được điều chỉnh cho ERC-4626, bạn cũng có thể nộp đơn ở đó.
Dưới đây chúng tôi phân tích một ví dụ ứng dụng, kho AladdinCRVV2 của Aladdin DAO https://concentrator.aladdin.club/vaults/). Aladdin DAO có nhiều hợp đồng hầm, và đây chỉ là một trong những hợp đồng hoạt động nhiều nhất.
Kho bảo vệ kiếm thu nhập bằng cách đặt cọc cvxCRV tokens.
(https://etherscan.io/address/0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884). Và bạn có thể kiểm tra qua mã nguồn trên github rằng phiên bản trước không tương thích với ERC-4626
Trên đây là những phân tích cơ bản về hợp đồng vault với các chức năng tương đối phong phú. Bản chất của nó là đặt cọc tài sản để kiếm lãi. Tại sao nó được thiết kế như thế này? Lý do chính nằm ở việc thiết kế hợp đồng cvxCrvStaking . Mô tả thu nhập từ việc đặt cọc cvxCRV là "Bằng cách đặt cọc cvxCRV, bạn sẽ kiếm được phần thưởng thông thường từ veCRV (phân phối phí quản trị 3crv từ Curve + bất kỳ airdrop nào), cộng với một phần 10% thu nhập CRV được tăng cường của Convex LP và mã thông báo CVX trên đó. " Số lượng mã thông báo càng lớn, lợi ích càng lớn.
Đối với các kho ERC-4626, vấn đề bảo mật chính là bảo vệ chống lại các cuộc tấn công lạm phát.
Khi người dùng gửi token, theo công thức tính cổ phần (cổ phần = tài sản * tổng cung / tổng tài sản), kết quả tính toán có dấu thập phân và thường được làm tròn xuống.
Như bạn có thể thấy từ hình dưới đây, khi người dùng gửi 500 mã thông báo vào tài sản, số lượng tài sản bị mất do làm tròn thập phân phụ thuộc vào tỷ lệ hối đoái (tương ứng giữa mỗi cổ phần và mã thông báo tài sản). Nếu tỷ lệ hối đoái là của đường cong màu cam, chúng ta nhận được ít hơn 1 cổ phần và mất 100%. Tuy nhiên, nếu tỷ lệ hối đoái là của đường cong màu xanh và nhận được 5000 cổ phần, thì mất mát làm tròn được giới hạn tối đa là 0.02%.
Nếu chúng ta tập trung vào việc giới hạn thiệt hại tối đa là 0.5%, chúng ta cần ít nhất 200 cổ phiếu. Tỷ lệ xanh chỉ cần 20 mã thông báo, nhưng tỷ lệ cam yêu cầu 200,000 mã thông báo.
Thông qua một số ví dụ, có thể phân tích rằng các đường cong màu xanh và màu xanh lá cây an toàn hơn so với các đường cong màu vàng và màu cam, và được thiết kế để là những két an toàn hơn.
Do đó, phương pháp chính của cuộc tấn công lạm phát là sử dụng các phương tiện nhất định để di chuyển đường cong lãi suất sang phải, gây ra một số lượng nhỏ người gửi tiền mất phần của họ, từ đó đạt được mục đích của cuộc tấn công.
Các cuộc tấn công lạm phát chủ yếu thông qua các khoản quyên góp.
Có ba cách để phòng thủ chống lại các cuộc tấn công:
Việc triển khai cụ thể là viết lại phương thức _decimalsOffset() của mã thư viện tiêu chuẩn được cung cấp bởi OpenZeppelin. Phương thức này không yêu cầu thiết lập slippage hoặc tiêm đủ số vốn ban đầu. Đây là một cách rất tốt để chống lại các cuộc tấn công lạm phát.
Là một đề xuất hầm cơ bản tương đối, RC-4626 không thể đáp ứng tất cả nhu cầu. Một số đề xuất cũng đã mở rộng nó, như ERC-7535 và EIP-7540.
Như đã đề cập trước đó, ERC-4626 chỉ có thể sử dụng ERC-20 như tài sản cơ bản. Đề xuất này chủ yếu cho phép sử dụng tài sản bản địa như tài sản cơ bản, chẳng hạn như ETH trong két.
Phần mở rộng này cho ERC-4626 giới thiệu hỗ trợ cho quá trình gửi và rút tiền không đồng bộ (gọi là “yêu cầu”). Nó bao gồm các phương pháp mới để bắt đầu và kiểm tra trạng thái của các yêu cầu này. Các phương pháp hiện có từ ERC-4626, như gửi tiền, tạo tiền, rút tiền và đổi tiền, được sử dụng để thực hiện các yêu cầu có thể yêu cầu. Tùy thuộc vào quyền của người thực hiện để quyết định liệu có thêm quá trình không đồng bộ cho các khoản gửi, rút tiền, hoặc cả hai.
Các trường hợp sử dụng tiềm năng:
Bên trên là phân tích đầy đủ của ERC-4626.
Do vì lý do lịch sử, nhiều hầm hiện tại trên thị trường không tuân thủ theo ERC-4626 và vẫn tiếp tục hoạt động, như dForce, nhưng chúng không thể được áp dụng rộng rãi hơn. Một số hầm đã được nâng cấp để tuân thủ theo ERC-4626, như một số hợp đồng từ Aladdin DAO(https://github.com/AladdinDAO/deployments/blob/main/deployments.mainnet.mdKhông thể dịch
Ngoài việc kiếm lải qua việc gắn ký, các ứng dụng kho bảo công cũng có thể cho vay cổ phiếu như tài sản để đảm bảo hoặc gắn ký chúng lại để tạo ra thu nhập. Hàng loạt, kết nối qua các kho bảo công cũng là một kịch bản ứng dụng, vì một số các chức năng cư bản của nó có thể cung cấp hộ trợ tuyệt vời.
Bản chất của đề xuất này là để cải thiện hiệu suất tích hợp giữa các kho và hệ sinh thái DeFi, và giảm chi phí phát triển. Vai trò của các kho vẫn còn nhiều khả năng khám phá khi thị trường DeFi phát triển.
ERC-4626 là một hầm chứa token hóa với một token EIP-20 cơ bản duy nhất.
Trước hết, nó là một đề xuất dựa trên ERC-20 và hoàn toàn tương thích với nó.
Thứ hai, hiểu rõ khái niệm về một hòm, đó không phải là kho bạc. Kho bạc hiện tại trên thị trường hầu hết là ví hợp đồng, hầu hết là Gnosis Safe, chủ yếu cung cấp các chức năng nhập và xuất quỹ an toàn. Nhưng đối với một tổ chức, ngoài việc tiền vào và ra, dòng tiền cũng có thể tạo ra thu nhập.
Động lực của đề xuất này: Sự thiếu chuẩn cho các hầm tiền mã hóa đã dẫn đến các chi tiết thực thi khác nhau của nhiều hầm trên thị trường, chẳng hạn như các thị trường cho vay, bộ tập hợp, token mang lại lợi suất, v.v. Điều này làm cho việc tích hợp bộ tập hợp và plugin ở cấp độ giao thức trở nên khó khăn, dễ gặp lỗi và lãng phí tài nguyên phát triển.
Khi tình trạng hiện tại của đề xuất này là Cuối cùng, điều đó có nghĩa là nó là một tiêu chuẩn tương đối ổn định.
Các token theo chuẩn ERC-4626 phải triển khai đầy đủ chuẩn ERC-20, được sử dụng để đại diện cho cổ phần. Dưới đây là một số khái niệm đơn giản.
Trượt giá là chênh lệch giữa giá dự kiến của giao dịch và giá thực hiện thực tế. Trượt giá xảy ra khi có sự chậm trễ giữa việc đặt giao dịch và thực hiện giao dịch và giá của tài sản được giao dịch thay đổi.
Ví dụ, nếu bạn tìm thấy 20 ETH và 80 USDT trong hồ bơi AMM, giá ETH dự kiến của bạn là 4 USDT/ETH. Tuy nhiên, nếu bạn dự định chi 20 USDT để đổi trong hồ bơi, bạn sẽ chỉ nhận được 4 ETH thay vì 5 ETH dự kiến, điều đó có nghĩa là bạn gánh chịu một mất mát do slippage là 1 USDT/ETH. Giá mua thực tế của bạn sẽ là 5 USDT, không phải là 4 USDT dự kiến.
Slippage đặc biệt phổ biến trong các thị trường di chuyển nhanh hoặc tài sản biến động cao, cũng như các tài sản dài đuôi có thanh khoản bị hạn chế. Bất kể thế nào, nó có ảnh hưởng đáng kể đến hiệu suất giao dịch và quan trọng khi xem xét slippage khi đặt lệnh giao dịch.
Mã hợp đồng đến từ thư viện mã hợp đồng thông minh OpenZeppelin:
Hợp đồng ERC-4626 kế thừa từ ERC-20. Phần này sẽ không được tóm tắt. Nó cũng là một hợp đồng trừu tượng chính nó. Các giao diện mà hợp đồng phải thực hiện như sau:
Giao diện khá phong phú, hầu hết chúng đều khá đơn giản và có thể chia thành hai loại: đọc và viết.
Các giao diện chính để viết dữ liệu là gửi tiền, đúc, rút và đổi.
Trong thực tế, do sự tồn tại của slippage, việc sử dụng phương pháp xem trước để xem số liệu dự kiến có thể không chính xác, đây cũng là một vấn đề phổ biến trong ngành và có thể gây ra một số vấn đề về an ninh, điều này sẽ được thảo luận sau.
Các phương pháp xem trước được đề cập trước đó, cũng như các phương thức public convertToShares và convertToAssets, thực sự gọi các phương thức _convertToShares và _convertToAssets nội bộ.
Hai phương pháp cốt lõi này là để tính toán mối quan hệ tỷ lệ thuận giữa tài sản và cổ phần. Các biến liên quan bao gồm cung cấp cổ phần, tổng tài sản hiện tại, số lượng điểm thập phân và các phương pháp làm tròn điểm thập phân.
Bên trên là việc thực hiện cơ bản của hợp đồng trừu tượng ERC-4626. Hợp đồng két thực tế phức tạp hơn nhiều so với điều đó.
Đối với hợp đồng kho bạc, có hai chức năng tương đối quan trọng cần thực hiện. Một là chức năng gửi và rút tiền, chuyển đổi tài sản và cổ phần; hai là cách để thu nhập, sẽ được giải thích thông qua ví dụ bên dưới.
Tương tự như một số EIP phổ biến khác, ERC-4626 cũng có một hệ sinh thái liên minh (https://erc4626.info/) được duy trì bởi nhân viên chuyên nghiệp, thu thập một số giao thức cho vay và ứng dụng hiện đang có trên thị trường tương thích với ERC-4626, cũng như tin tức, thư viện mã nguồn mở, bảo mật và thông tin khác. Nếu kho của bạn được điều chỉnh cho ERC-4626, bạn cũng có thể nộp đơn ở đó.
Dưới đây chúng tôi phân tích một ví dụ ứng dụng, kho AladdinCRVV2 của Aladdin DAO https://concentrator.aladdin.club/vaults/). Aladdin DAO có nhiều hợp đồng hầm, và đây chỉ là một trong những hợp đồng hoạt động nhiều nhất.
Kho bảo vệ kiếm thu nhập bằng cách đặt cọc cvxCRV tokens.
(https://etherscan.io/address/0x2b95A1Dcc3D405535f9ed33c219ab38E8d7e0884). Và bạn có thể kiểm tra qua mã nguồn trên github rằng phiên bản trước không tương thích với ERC-4626
Trên đây là những phân tích cơ bản về hợp đồng vault với các chức năng tương đối phong phú. Bản chất của nó là đặt cọc tài sản để kiếm lãi. Tại sao nó được thiết kế như thế này? Lý do chính nằm ở việc thiết kế hợp đồng cvxCrvStaking . Mô tả thu nhập từ việc đặt cọc cvxCRV là "Bằng cách đặt cọc cvxCRV, bạn sẽ kiếm được phần thưởng thông thường từ veCRV (phân phối phí quản trị 3crv từ Curve + bất kỳ airdrop nào), cộng với một phần 10% thu nhập CRV được tăng cường của Convex LP và mã thông báo CVX trên đó. " Số lượng mã thông báo càng lớn, lợi ích càng lớn.
Đối với các kho ERC-4626, vấn đề bảo mật chính là bảo vệ chống lại các cuộc tấn công lạm phát.
Khi người dùng gửi token, theo công thức tính cổ phần (cổ phần = tài sản * tổng cung / tổng tài sản), kết quả tính toán có dấu thập phân và thường được làm tròn xuống.
Như bạn có thể thấy từ hình dưới đây, khi người dùng gửi 500 mã thông báo vào tài sản, số lượng tài sản bị mất do làm tròn thập phân phụ thuộc vào tỷ lệ hối đoái (tương ứng giữa mỗi cổ phần và mã thông báo tài sản). Nếu tỷ lệ hối đoái là của đường cong màu cam, chúng ta nhận được ít hơn 1 cổ phần và mất 100%. Tuy nhiên, nếu tỷ lệ hối đoái là của đường cong màu xanh và nhận được 5000 cổ phần, thì mất mát làm tròn được giới hạn tối đa là 0.02%.
Nếu chúng ta tập trung vào việc giới hạn thiệt hại tối đa là 0.5%, chúng ta cần ít nhất 200 cổ phiếu. Tỷ lệ xanh chỉ cần 20 mã thông báo, nhưng tỷ lệ cam yêu cầu 200,000 mã thông báo.
Thông qua một số ví dụ, có thể phân tích rằng các đường cong màu xanh và màu xanh lá cây an toàn hơn so với các đường cong màu vàng và màu cam, và được thiết kế để là những két an toàn hơn.
Do đó, phương pháp chính của cuộc tấn công lạm phát là sử dụng các phương tiện nhất định để di chuyển đường cong lãi suất sang phải, gây ra một số lượng nhỏ người gửi tiền mất phần của họ, từ đó đạt được mục đích của cuộc tấn công.
Các cuộc tấn công lạm phát chủ yếu thông qua các khoản quyên góp.
Có ba cách để phòng thủ chống lại các cuộc tấn công:
Việc triển khai cụ thể là viết lại phương thức _decimalsOffset() của mã thư viện tiêu chuẩn được cung cấp bởi OpenZeppelin. Phương thức này không yêu cầu thiết lập slippage hoặc tiêm đủ số vốn ban đầu. Đây là một cách rất tốt để chống lại các cuộc tấn công lạm phát.
Là một đề xuất hầm cơ bản tương đối, RC-4626 không thể đáp ứng tất cả nhu cầu. Một số đề xuất cũng đã mở rộng nó, như ERC-7535 và EIP-7540.
Như đã đề cập trước đó, ERC-4626 chỉ có thể sử dụng ERC-20 như tài sản cơ bản. Đề xuất này chủ yếu cho phép sử dụng tài sản bản địa như tài sản cơ bản, chẳng hạn như ETH trong két.
Phần mở rộng này cho ERC-4626 giới thiệu hỗ trợ cho quá trình gửi và rút tiền không đồng bộ (gọi là “yêu cầu”). Nó bao gồm các phương pháp mới để bắt đầu và kiểm tra trạng thái của các yêu cầu này. Các phương pháp hiện có từ ERC-4626, như gửi tiền, tạo tiền, rút tiền và đổi tiền, được sử dụng để thực hiện các yêu cầu có thể yêu cầu. Tùy thuộc vào quyền của người thực hiện để quyết định liệu có thêm quá trình không đồng bộ cho các khoản gửi, rút tiền, hoặc cả hai.
Các trường hợp sử dụng tiềm năng:
Bên trên là phân tích đầy đủ của ERC-4626.
Do vì lý do lịch sử, nhiều hầm hiện tại trên thị trường không tuân thủ theo ERC-4626 và vẫn tiếp tục hoạt động, như dForce, nhưng chúng không thể được áp dụng rộng rãi hơn. Một số hầm đã được nâng cấp để tuân thủ theo ERC-4626, như một số hợp đồng từ Aladdin DAO(https://github.com/AladdinDAO/deployments/blob/main/deployments.mainnet.mdKhông thể dịch
Ngoài việc kiếm lải qua việc gắn ký, các ứng dụng kho bảo công cũng có thể cho vay cổ phiếu như tài sản để đảm bảo hoặc gắn ký chúng lại để tạo ra thu nhập. Hàng loạt, kết nối qua các kho bảo công cũng là một kịch bản ứng dụng, vì một số các chức năng cư bản của nó có thể cung cấp hộ trợ tuyệt vời.
Bản chất của đề xuất này là để cải thiện hiệu suất tích hợp giữa các kho và hệ sinh thái DeFi, và giảm chi phí phát triển. Vai trò của các kho vẫn còn nhiều khả năng khám phá khi thị trường DeFi phát triển.