总览

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)?

【项目学习】Timeswap:第一个完全去中心化的基于 AMM 的货币市场协议的更多相关文章

  1. 一步步教你开发、部署第一个去中心化应用(Dapp) - 宠物商店

    今天我们来编写一个完整的去中心化(区块链)应用(Dapps), 本文可以和编写智能合约结合起来看. 写在前面 阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以太坊是什么除此之 ...

  2. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目技术对比(下)

    在上篇文章中,我们主要从价值定位.技术层次架构.服务质量.去中心化程度,和经济激励机制五个方面分析了三个项目的不同.在这一篇文章中,我们将着重从区块链的架构设计.数据传输技术设计和数据存储技术设计三方 ...

  3. 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目异同

    Filecoin,Storj 以及 PPIO 这三个存储公链的设计思路是不一样的,没有优劣之分,写这篇文章也并不是为了争论各项目的好坏对错.去中心化存储是一个长期商业赛道,不同团队在同一个赛道上往不同 ...

  4. 从零构建以太坊(Ethereum)智能合约到项目实战——第23章 从零构建和部署去中心化投票App,decentralization Voting Dapp

    P90 .1-从零构建和部署去中心化投票App-01 P91 .2-从零构建和部署去中心化投票App-02 P92 .3-从零构建和部署去中心化投票App-03 参考博文:http://liyuech ...

  5. 去中心化预言机如何助力NGK DeFi 项目发展?

    早在 2014 年前后,协议智能合约就已经出现了,最初协议很笨重,包含了许多不同的部分,每个部分都是一个单独的智能合约,你需要在区块链本身的协议中添加不同的智能合约,这需要几个月甚至几年的时间,而之后 ...

  6. NGK DeFi项目即将上线,打造去中心化闭环金融生态!

    据最新官方消息称:NGK已于近日宣布将进军DeFi领域,NGK此次的DeFi的项目将会是一个去中心的交易平台,其最大的功能是进行数字货币的交换.在用户选择了需要支付的数字货币和想购买的数字货币后,系统 ...

  7. 谈互联网开放平台:“去中心化”大势所趋 zz

    文/磐石之心 几天前与好友聊到众筹咖啡馆的事情,他向我讲述了一个非常具有特色的众筹咖啡馆案例.而这个案例也引发我对当前互联网开放.去中心和集权的一些思考,今天就简单写出来与大家分享. 一个无赚钱目的的 ...

  8. 为什么比特币和以太坊未必真得比EOS更去中心化?

    在区块链行业里,有两派人一直在争论:一个是以比特币和以太坊为首的社群,另一个是以EOS为首的社群.这两群人一直在争论谁才是真正的未来,双方都认为自己这边更有未来.其中EOS抗争的重点就是100万TPS ...

  9. 去中心化存储的QoS是什么?

    我的前面一篇文章讲到如何做去中化存储,文其中提到了QoS (Quality of Service),那么QoS是什么?为什么QoS那么重要?下面将详细描述. 什么是QoS? 提到QoS,就要先了解Qo ...

  10. 比特股-去中心化交易所, STEEM - 去中心化社区, EOS - 下一代智能合约

    libsnark 是实现了 zkSNARK 模式的 C++ 库.zkSNARK 是一个证明/验证计算完整性的加密方法,也即零知识验证的算法, https://github.com/scipr-lab/ ...

随机推荐

  1. python [pymysql] 操作MySQL数据库

    python [pymysql] 操作MySQL数据库 连接.关闭数据库 def get_conn_(): """ :return: 连接,游标 "" ...

  2. Java 容器详解:使用与案例

    Java容器是一套工具,用于存储数据和对象.可以与C++的STL类比.Java容器也称为Java Collection Framework (JCF).除了存储对象的容器之外,还提供了一套工具类,用于 ...

  3. react native 0.73 配置 react-native-fs

    安装react-native-fs npm npm install react-native-fs --save yarn yarn add react-native-fs 安卓配置 android/ ...

  4. lattice烧录器回读功能。

    经常被人问,lattice的 怎么回读,下面就说这个步骤. 烧录器检测到设备以后,以后选择operation,选择flash programming mode ,选择flash read and sa ...

  5. shell脚本中的运算符和条件判断

    shell脚本中的运算符和条件判断: 一.算术运算符 在Shell脚本中,你可以使用各种运算符来执行数学运算.比较和逻辑操作. 计算方式: $[ ] $(( )) 例: a=$[(9+5)90] 打印 ...

  6. vue项目node-scss装不上问题( vue执行npm install报错: Can‘t find Python executable “python“, you can set the PYTHON env variable

    一.描述从网上下载的一个Vue模板项目,导入VsCode,执行npm install命令后,报错了,报错的信息是node-sass安装失败,同时提示需要python环境的错误信息,这是因为安装node ...

  7. easyx的使用 鼠标交互(3.1)

    本文学习于B站,进行借鉴学习记录: 视频链接:鼠标操作(新版)_哔哩哔哩_bilibili 初始化调用文件头不再使用#include<graphics.h>,选择调用#include< ...

  8. unity 3d导出安卓包时报错:A failure occurred while executing com.android.build.gradle.internal.tasks.workers$actionfacade see the console for details

    unity 3d导出安卓包时报错:A failure occurred while executing com.android.build.gradle.internal.tasks.workers$ ...

  9. iLogtail开源之路

    简介: 2022年6月底,阿里云iLogtail代码完整开源,正式发布了完整功能的iLogtail社区版.iLogtail作为阿里云SLS官方标配的采集器,多年以来一直稳定服务阿里集团.蚂蚁集团以及众 ...

  10. 慢sql治理经典案例分享

    ​简介:菜鸟供应链金融慢sql治理已经有一段时间,自己负责的应用持续很长时间没有慢sql告警,现阶段在推进组内其他成员治理应用慢sql.这里把治理过程中的一些实践拿出来分享下. ​ 作者 | 如期 来 ...