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固定。算法