【项目学习】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 进行交互。
相关文档
- Timeswap Whitepaper
- Timeswap V1 Core Product Specification
- Timeswap V1 Convenience Product Specification
- Timeswap Gitbook Documentation
- Code Walkthrough
- 什么是抵押债务头寸 (CDP)?
【项目学习】Timeswap:第一个完全去中心化的基于 AMM 的货币市场协议的更多相关文章
- 一步步教你开发、部署第一个去中心化应用(Dapp) - 宠物商店
今天我们来编写一个完整的去中心化(区块链)应用(Dapps), 本文可以和编写智能合约结合起来看. 写在前面 阅读本文前,你应该对以太坊.智能合约有所了解,如果你还不了解,建议你先看以太坊是什么除此之 ...
- 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目技术对比(下)
在上篇文章中,我们主要从价值定位.技术层次架构.服务质量.去中心化程度,和经济激励机制五个方面分析了三个项目的不同.在这一篇文章中,我们将着重从区块链的架构设计.数据传输技术设计和数据存储技术设计三方 ...
- 去中心化存储项目终极指南 | Filecoin, Storj 和 PPIO 项目异同
Filecoin,Storj 以及 PPIO 这三个存储公链的设计思路是不一样的,没有优劣之分,写这篇文章也并不是为了争论各项目的好坏对错.去中心化存储是一个长期商业赛道,不同团队在同一个赛道上往不同 ...
- 从零构建以太坊(Ethereum)智能合约到项目实战——第23章 从零构建和部署去中心化投票App,decentralization Voting Dapp
P90 .1-从零构建和部署去中心化投票App-01 P91 .2-从零构建和部署去中心化投票App-02 P92 .3-从零构建和部署去中心化投票App-03 参考博文:http://liyuech ...
- 去中心化预言机如何助力NGK DeFi 项目发展?
早在 2014 年前后,协议智能合约就已经出现了,最初协议很笨重,包含了许多不同的部分,每个部分都是一个单独的智能合约,你需要在区块链本身的协议中添加不同的智能合约,这需要几个月甚至几年的时间,而之后 ...
- NGK DeFi项目即将上线,打造去中心化闭环金融生态!
据最新官方消息称:NGK已于近日宣布将进军DeFi领域,NGK此次的DeFi的项目将会是一个去中心的交易平台,其最大的功能是进行数字货币的交换.在用户选择了需要支付的数字货币和想购买的数字货币后,系统 ...
- 谈互联网开放平台:“去中心化”大势所趋 zz
文/磐石之心 几天前与好友聊到众筹咖啡馆的事情,他向我讲述了一个非常具有特色的众筹咖啡馆案例.而这个案例也引发我对当前互联网开放.去中心和集权的一些思考,今天就简单写出来与大家分享. 一个无赚钱目的的 ...
- 为什么比特币和以太坊未必真得比EOS更去中心化?
在区块链行业里,有两派人一直在争论:一个是以比特币和以太坊为首的社群,另一个是以EOS为首的社群.这两群人一直在争论谁才是真正的未来,双方都认为自己这边更有未来.其中EOS抗争的重点就是100万TPS ...
- 去中心化存储的QoS是什么?
我的前面一篇文章讲到如何做去中化存储,文其中提到了QoS (Quality of Service),那么QoS是什么?为什么QoS那么重要?下面将详细描述. 什么是QoS? 提到QoS,就要先了解Qo ...
- 比特股-去中心化交易所, STEEM - 去中心化社区, EOS - 下一代智能合约
libsnark 是实现了 zkSNARK 模式的 C++ 库.zkSNARK 是一个证明/验证计算完整性的加密方法,也即零知识验证的算法, https://github.com/scipr-lab/ ...
随机推荐
- 哈希表(HashTable)
哈希表 哈希表:也叫做散列表.是根据关键字和值(Key-Value)直接进行访问的数据结构.也就是说,它通过关键字 key 和一个映射函数 Hash(key) 计算出对应的值 value,然后把键值对 ...
- #树形dp#洛谷 3687 [ZJOI2017]仙人掌
题目 给定一个简单无向连通图,问有多少种加边方案使得这个图变成简单仙人掌. 分析 首先找到一棵生成树,考虑其它非树边所对应的树的路径上的边最多只能用一次, 这可以用树上差分做,如果一个点到其父节点的边 ...
- #数学期望,状压dp,记忆化搜索#nssl 1468 V
分析 赛时写了个\(O(n!)\)的纯暴力,其实我现在才发现\(O(n!)\)的暴力一般都能用\(O(n2^n)\)的状压dp解决 但是其实不是每个状态都能被访问到,所以若\(n\)过大,用\(map ...
- html-testRunner中文乱码
如下图,使用 html-testRunner 这个库生成测试报告后,出现乱码 因为 HTML文件已经写了 文件编码是 utf-8 所以 我怀疑可能是 html-testRunner 这个库文件中 ...
- HarmonyOS位置服务开发指南
位置服务开发概述 移动终端设备已经深入人们日常生活的方方面面,如查看所在城市的天气.新闻轶事.出行打车.旅行导航.运动记录.这些习以为常的活动,都离不开定位用户终端设备的位置. 当用户处于这些丰富 ...
- Spring Cloud Bus:消息总线
Spring Cloud Bus:消息总线 SpringCloud学习教程 SpringCloud Spring Cloud Bus 使用轻量级的消息代理来连接微服务架构中的各个服务,可以将其用于广播 ...
- 报表的 SQL 注入风险是什么意思?如何防范?
啥是 SQL 注入风险? 数据库要执行 SQL 访问数据,数据库是个执行机构,它只会检查传来的 SQL 是不是合乎语法,而并不会关心这个语句是否会造成伤害(数据泄露或破坏).正因为只要符合语法规则就会 ...
- 报表如何批量导出成 excel 文件
需求说明 报表展现后可以通过工具栏中的导出按钮将当前展现的报表导出成 excel 文件,但是在实际使用中通常会要求报表不需要展现,直接通过一些操作将报表导出成 excel 文件,并且往往会要求批量导出 ...
- RestfulApi 学习笔记——分页和排序(六)
前言 分页和排序时一些非常常规的操作,同样也有一些我们注意的点. 正文 分页 先来谈及分页. 看下前端传递的参数. public class EmployeeDtoParameters { priva ...
- IIS 动态与静态压缩
前言 我们有时候需要在页面启动的时候进行压缩代码,这时候iis已经帮助我们做好了动态压缩代码. 正文 静态压缩及动态压缩的区别 IIS7中的HTTP压缩分为"静态内容压缩"和&qu ...