1. 程式人生 > 其它 >【專案學習】Timeswap:第一個完全去中心化的基於 AMM 的貨幣市場協議

【專案學習】Timeswap:第一個完全去中心化的基於 AMM 的貨幣市場協議

總覽

Timeswap 是世界上第一個完全去中心化的基於 AMM 的貨幣市場協議,無需預言機或清算人即可工作。 Timeswap 採用 3 變數來維持 AMM 的運作。它通過允許使用者決定他們的風險狀況並相應地為每筆借貸交易設定利率和抵押品,允許任何人為任何 ERC-20 代幣建立貨幣市場。

核心公式

X × Y × Z = K

X:本金相關
Y:利率相關
Z:抵押率相關
K:固定值

舉例說明,初始化一個為期 6 個月的 DAI-ETH 幣對池,投入本金 10,000 DAI,年利率15% 以及抵押率(CDP)為167%。

  • X = 10000 DAI
  • Y / X = 0.15 / 31556926 (一年 31556926 秒)
  • Y = 0.0000475
  • Z / X = 1.67
  • Z = 16700 DAI,假設建立池子時的 1 ETH 價格為 4000 DAI,則 Z = 4.175ETH
  • K = X * Y * Z = 10000 * 0.0000475 * 4.175 = 1.98

四種原生代幣

每個 pool 有四種原生代幣:3個ERC20,1個ERC721

分別是保險代幣、債券代幣、流動性代幣以及REC721抵押債務代幣

債券代幣(Bond Token)

債券代幣代表到期後對資產中資產的確切索取權,包括借款人償還的資產。

債券代幣基本上是本金加上到期後欠貸方的利息。Bond 代幣的所有者可以在到期日之後銷燬它們,以提取與 Principal 池中完全相同數量的基礎資產代幣。

保險代幣(Insurance Token)

保險代幣持有人在到期後獲得借款人違約的抵押品的索賠,其金額等於保險上的債券代幣未實現資產的百分比。貸款人持有的保險。

接受者是貸入資金池並選擇獲得保險的貸方。只有當 Bond 代幣無法從本金池中提取相同數量的資產時,保險代幣才有助於保護貸方。當本金池中的資產少於貸方持有的債券代幣總數時,就會發生這種情況。保險代幣的所有者可以在到期日之後銷燬它,以提取與保險代幣數量相同的百分比。

抵押債務代幣(Collateralized Token)

抵押債務代幣包含有關要支付的債務和借款人鎖定的抵押物的資訊

接受者是借款人。抵押債務代幣的所有者可以在到期日之前支付標的比例債務時將其銷燬以提取鎖定的比例抵押品。例如,有一個使用者擁有一個池的抵押債務代幣將於 2021 年 12 月 30 日到期用 2 WETH 作為抵押品鎖定 300 DAI 的債務。如果使用者在 2021 年 12 月 30 日之前償還了 300 個 DAI 債務,則使用者可以銷燬他/她的抵押債務代幣以提取鎖定的 2 個 WETH 作為抵押。如果使用者沒有償還 300 DAI 的債務,抵押的債務代幣將失去償還債務的功能,因此使用者將永遠無法提取抵押的抵押品。

流動性代幣

流動性代幣賦予代幣持有者對現有流動性的索取權,即在貸方的索取權實現後,本金池中的資產和鎖定在抵押池中的抵押品

接受者是向池中新增流動性的流動性提供者。到期後,他們可以銷燬流動性代幣以從池中提取流動性。

角色

貸方

貸方使用該協議來收取在固定期限內借出代幣的利息。他們還通過池的配對代幣獲得保險,這為債券代幣中未實現的資產提供了成比例的保險 這明確地讓每個貸方控制他或她想要承擔的違約風險與他或她將獲得的利息獎勵.

放貸公式:
(X + x) * (Y - y) * (Z - z) = K

借款

他們使用該協議借用具有固定利息值和固定期限設定的代幣。他們將抵押品的股份鎖定在他們認為高於 AMM 得出的最低抵押品的任何數量。鎖定的抵押品在債務存續期內永遠不會被清算。借款人必須在到期前償還債務才能收回抵押品,否則,他們的抵押品將分配給貸方。

借貸公式:

(X - x) * (Y + y) * (Z + z) = K

流動性提供者

流動性提供者是池的做市商。他們將代幣新增到池中並同時進行借貸交易。他們根據池的交易數量和規模在貸方和借方之間賺取差價。它們有助於增加流動性,以促進貸方和借方之間的交易。
(X + x) * (Y + y) * (Z + z) = K , (x/X = y/Y = z/Z)

架構

主要分為核心合約和外部合約兩部分,通過資料結構 Native 進行互動。

相關文件

  1. Timeswap Whitepaper
  2. Timeswap V1 Core Product Specification
  3. Timeswap V1 Convenience Product Specification
  4. Timeswap Gitbook Documentation
  5. Code Walkthrough
  6. 什麼是抵押債務頭寸 (CDP)?