https://www.jianshu.com/p/376...
官网
白皮书
开源合约
API
它是在1940年-1942年间由凯恩斯、舒马赫提出的一个超主权货币的概念,可做为一种帐户单位用于国际贸易中,并由英国在二战后正式提出。然而,因为美国实力在二战后一枝独秀,Bancor 方案并无在布雷顿森林会议
上被采纳使用。但应用这一思想的 Bancor 算法则继续延续了其生命力。Bancor
算法由 Bancor Network
项目提出应用,旨在采用公式来设定好数字资产间的兑换价格
。
那么回到班柯算法,他的创做者是一群凯恩斯经济学的追随者。经过代码实现和升级了bancor的设计理念。他的最完美最终形态,是一种自动订价的一篮子货币。你随便给我一个币,而后我会根据我篮子里面你这种币的储备量给你订价卖bancor给你。而后由于篮子里的货币是铁索连舟连在一块儿的,而且是根据供需达成的人机交易公式订价,既没有利用竞价规则炒做的风险,也没有任何空手套白狼的作多作空工具,更没有任何被挪用的可能。具备很是牛逼的鲁棒性。php
connector token
:用来作抵押发币使用,具备必定的价值,如:eth、btc。smart token
:发出的新币,如erc20规范的代币。smart token
能够链接多个connector token
,此时smart token
也叫转换token
,用于connector token
之间的转换。余额
:价格 x 供应量 = price * supplyconnector balance
:链接器余额smart token total values
:智能代币总余额cw = 100%
supply
(smart token供应量)的增长,price(smart token 价格)不变。cw = 50%
supply
增长,price
线性增长。cw = 0-50%
supply
增长,price
指数增长。例如EOS RAM的订价机制的cw=0.0005。随着supply
增长,price
涨的飞快,让supply
的峰值只能涨到定点。cw = 50%-100%
connector balance
:链接器余额Smart Token’s outstanding supply
:智能token的供应量CW
:connector weight,链接器比重token issued
:应该得到的智能代币数量。connectd token paid
:应该付出的链接代币的数量。supply
:当前的智能代币供应量(数量)。token destroyed
:卖出的智能代币数量connected tokens paid out
:应该收获的链接币数量。用A个connect token 转换成B个smart tokengit
connected tokens exchanged
:Asmart tokens exchange
:B举个例子,如今将Atoken 转换成 Btokengithub
fromConnectorWeight
:Atoken的CWtoConnectorWeight
:Btoken的CWfromConnectorBalance
:Atoken的余额toConnectorBalance
:Btoken的余额amount
:使用amount个Atoken用来转成BtokentoAmount
:能获取到的Btoken的数量上面的公式都给出来了,按照智能代币买入公式,若是一开始supply = 10000,balance = 2500,cw = 0.5
;用100个connector token买了198个smart token。那此时supply和balance的值应该变化成多少?经过计算验证得出:supply = 10000 + 198;balance = 2500 + 100
;web
public function buy(){ $supply = $this->get["supply"]; $balance = $this->get["balance"]; $paid = $this->get["paid"]; $cw = 0.5; $token = $supply * (pow(1 + $paid / $balance, $cw) - 1); $price = $paid / $token; ApiFunc::api_export([ "token" =>$token, "priceBefore" => $balance / $supply / $cw, "priceEnd" => $price ]); } public function sell(){ $cw = 0.5; $supply = $this->get["supply"]; $balance = $this->get["balance"]; $token = $this->get["token"]; $paid = $balance * (1 - pow(1 - $token / $supply, 1 / $cw)); $price = $paid / $token; ApiFunc::api_export([ "paid" => $paid, "priceBefore" => $price, "priceEnd" => ($balance - $paid) / ($supply - $token) / $cw ]); }
引用
RAM作了二重Bancor算法。Ramcore做为smart token,链接着2个链接connector token。以下:
第一重
:以EOS为母币,Ramcore为衍生币;第二重
:以RAM为母币,Ramcore为衍生币;须要注意的是,EOS RAM设置的cw值为0.0005。这样价格会快速增长,致使Ramcore的supply只能达到指定峰值。实现supply固定。算法