总览

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. 前端问题整理 Vite+Vue3+Ts 创建项目及配置 持续更新

    前端问题整理 持续更新 目录 前端问题整理 持续更新 前端 Vue 篇 @项目配置 1.node 版本过高问题 安装nvm 管理node版本 2.镜像证书无效问题 3.npm 版本问题 4.npm i ...

  2. 使用 Debian、Docker 和 Nginx 部署 Web 应用

    前言 本文将介绍基于 Debian 的系统上使用 Docker 和 Nginx 进行 Web 应用部署的过程.着重介绍了 Debian.Docker 和 Nginx 的安装和配置. 第 1 步:更新和 ...

  3. Go 语言中 For 循环:语法、使用方法和实例教程

    for循环用于多次执行特定的代码块,每次都可以使用不同的值.每次循环执行都称为一次迭代.for循环可以包含最多三个语句: 语法 for 语句1; 语句2; 语句3 { // 每次迭代要执行的代码 } ...

  4. Aspose.Cells使用总结大全

    引用:https://blog.csdn.net/u011555996/article/details/79000270 使用到 Aspose.Cells 插件,整理一下. 一:新建解决方案,目录如下 ...

  5. Avalonia下拉可搜索树(TreeComboBox)

    1.需求分析   树形下拉的功能是ComboBox和TreeView的功能结合起来,再结合数据模板来实现这一功能. 2.代码实现   1.创建UserControl集成TreeView控件   2.将 ...

  6. UJCMS 9.1.0 发布,国内开源 java cms

    许可协议从GPL-2改为Apache-2.0,更宽松的协议,方便用户将系统集成到自身的应用中. 修复了已知bug,系统更加稳定. 升级日志(9.1.0) 修复前台全文搜索没有结果 web.xml se ...

  7. 20个Python 正则表达式应用与技巧

    本文分享自华为云社区<Python 正则表达式大揭秘应用与技巧全解析>,作者:柠檬味拥抱. Python 中的 re 模块是用于处理正则表达式的强大工具.正则表达式是一种用来匹配字符串的模 ...

  8. HarmonyOS实现几种常见图片点击效果

    一. 样例介绍 HarmonyOS提供了常用的图片.图片帧动画播放器组件,开发者可以根据实际场景和开发需求,实现不同的界面交互效果,包括:点击阴影效果.点击切换状态.点击动画效果.点击切换动效. 相关 ...

  9. Mysql之备份工具

    一.备份工具 1. mysqldump mysql服务自带的备份工具:mysqldump备份方式是采用的逻辑备份,其最大的缺陷是备份和恢复速度较慢,如果数据库大于50G,mysqldump备份就不太适 ...

  10. 力扣594(java&python)-最长和谐子序列(简单)

    题目: 和谐数组是指一个数组里元素的最大值和最小值之间的差别 正好是 1 . 现在,给你一个整数数组 nums ,请你在所有可能的子序列中找到最长的和谐子序列的长度. 数组的子序列是一个由数组派生出来 ...