bancor 是为了解决小众币流动性低的问题而创造的解决方案,通过固定的价格计算方法,使得价格随着需求量而改变。和 ERC20 token 不同,采用 bancor 方案发行的 token 的发行量不是定值,而是随着用户的买卖行为而不停发行和回收。/ v9 H9 N: m% R' B5 F8 \( C
个人认为这个方案有它的局限性,但是有一定应用场景。
流动性
交易是买方、卖方交易需求的 token 对的刚好匹配,只有当 token 的交易量足够大的时候,才可以高效的匹配交易对, token 才有流动性。; U6 T1 J4 T: F. l* x* ?
如果可以在不影响价格的前提下轻松的进行买卖,就可以说这个 token 是具有一定流动性的。7 N% {* t# Q; E* p
现有的金融机构针对流动性低的问题的解决办法是,囤积大量资产,在交易市场中同时作为买方和卖方,他们向 buyer 和 seller 提供不同的价格,从中赚取差价。 在新兴的 token 市场里如果仍然采用这种方案,违背了区块链去掉中间机构的理念,同时也使得 token 的持有中心化。
长尾8 m1 r5 i& d. b0 ~7 P$ c5 S, s
当前市值排名最高的10%的 token 占据整个市场的 95% 的市值,和99%的交易量。剩余的90%的 token 的长尾效应很不明显,而互联网的生态里则存在非常明显的长尾,比如亚马逊上销量小的书籍的销售量加起来占总销量的30~40%,视频、博客网站的长尾则更加明显。
这些小众币的流动性很低,流动性直接影响 token 的价格,使得这些流动性低的 token 的价值被低估。降低这些流动性低的 token 的交易难度可以提高小众币的价值。
解决办法6 b* v3 {0 m5 \( g. j
bancor 提出了 smart token 的概念,这个 token 时刻可以进行买卖。smart token 有 connector 模块,connector 将 smart token 和另外一种 token (比如是 ETH)连接起来。) f# o5 O0 R3 E1 A1 w5 Z
以一个假想的 ABC 小众币为例,并且 ABC 有一个 connector 将 ABC 和 ETH 连接。2 ^! d7 u+ h5 |# O- w
买方 Alice 购买时需要做的,不是向某个 ABC 币的持有者购买,而是向智能合约里转账。Alice 往智能合约转账 ETH 后,智能合约则发行新的 ABC 币并向 Alice 转账 ABC,ABC/ETH 的兑换比例由智能合约自动计算。然后 ABC 币的 connector 的 ETH 余额增加,Alice 的 ABC 余额增加。% z1 s# Y2 X6 `* W+ G3 I/ `
connector 是一个账户,它的余额可以增减;connector 不被任何人拥有,没有人可以挪用里面的 ETH。connecor 像是一个铁面无私的押金柜台,它不会挪用任何人的押金,这也正是去中心化应用的优点。
看下来和 USDT 的原理很像,不同在于:
价格模型5 i+ Z. r! r" j! G# u9 h
价格模型的核心是维持 ABC 币的市场总值与connector 的ETH余额的比例固定 W(weight)
W = connector 的 ETH 余额 / ABC 市场总值: A% D; |9 r" n% p
ABC 市场总值 = 价格 * ABC 发行量
所以得到:9 a8 ]9 ^' h2 T4 S( Z4 ]2 r; I& J
价格 = connector 的 ETH 余额 / (W * 发行量)
每次交易都会带来 connector 余额和 ABC 发行量的改变,每次交易前都会据此计算价格。
W 等于不同值时,价格曲线随着发行量会有不同的变化曲线。: V" R0 U G& o
下面来模拟一下在不停的购买行为后价格的变化过程,假设发行量的初始值是10,connector 的 ETH 余额初始值为10,初始价格是1,用户每次购买10个 ABC.
W = 0.1
ABC 发行量 | connector 的 ETH 余额 | 价格 (ABC/ETH 兑换比例 ) |
10 | 10.00 | 1.00 |
20 | 20.00 | 10.00 |
30 | 120.00 | 40.00 |
40 | 520.00 | 130.00 |
50 | 1820.00 | 364.00 |
60 | 5460.00 | 910.00 |
70 | 14560.00 | 2080.00 |
80 | 35360.00 | 4420.00 |
90 | 79560.00 | 8840.00 |
100 | 167960.00 | 16796.00 |
110 | 335920.00 | 30538.18 |
120 | 641301.82 | 53441.82 |
130 | 1175720.00 | 90440.00 |
140 | 2080120.00 | 148580.00 |
150 | 3565920.00 | 237728.00 |
160 | 5943200.00 | 371450.00 |
170 | 9657700.00 | 568100.00 |
180 | 15338700.00 | 852150.00 |
190 | 23860200.00 | 1255800.00 |
200 | 36418200.00 | 1820910.00 |
W = 0.9
ABC 发行量 | connector 的 ETH 余额 | 价格 (ABC/ETH 兑换比例 ) |
10 | 10.00 | 1.00 |
20 | 20.00 | 1.11 |
30 | 31.11 | 1.15 |
40 | 42.63 | 1.18 |
50 | 54.48 | 1.21 |
60 | 66.58 | 1.23 |
70 | 78.91 | 1.25 |
80 | 91.44 | 1.27 |
90 | 104.14 | 1.29 |
100 | 116.99 | 1.30 |
110 | 129.99 | 1.31 |
120 | 143.12 | 1.33 |
130 | 156.38 | 1.34 |
140 | 169.74 | 1.35 |
150 | 183.21 | 1.36 |
160 | 196.79 | 1.37 |
170 | 210.45 | 1.38 |
180 | 224.21 | 1.38 |
190 | 238.05 | 1.39 |
200 | 251.97 | 1.40 |