1舞骆,摘要
通過本文學(xué)習(xí),可以獲得以下目標(biāo):
1)了解BANNCOR協(xié)議的基本原理宪彩;
2)通過舉例熟悉BANNCOR算法的效果。
2讲婚,BANCOR算法的來源
在20世紀(jì)40年代尿孔,英國經(jīng)濟(jì)學(xué)家凱恩斯提出采用30種有代表性的商品作為價(jià)值錨定發(fā)行國際貨幣Bancor的構(gòu)想。而其他國家或機(jī)構(gòu)再以Bancor為價(jià)值錨定發(fā)行各自的貨幣筹麸。然而這一方案沒有得到實(shí)施活合,取而代之的是美元成為國際貨幣。
Bancor算法能夠真正進(jìn)入大眾的視野里物赶,可能要?dú)w功于EOS項(xiàng)目白指。由于EOS項(xiàng)目在RAM分配中采用了優(yōu)化后的Bancor算法,并將RAM的價(jià)格爆炒到了很高的價(jià)位酵紫,憑借EOS項(xiàng)目在區(qū)塊鏈領(lǐng)域的強(qiáng)大運(yùn)營宣傳能力與影響力告嘲,Bancor算法廣為流傳。
3奖地,BANCOR協(xié)議的基本思路
在以太坊上發(fā)行的大量ERC20-Token是沒有價(jià)值錨定的橄唬,其價(jià)值完全依賴于項(xiàng)目方的技術(shù)與運(yùn)營能力,若項(xiàng)目失敗了参歹,則通證(TOKEN)價(jià)值就很可能歸零仰楚。
若利用智能合約的強(qiáng)大而靈活的“資金流轉(zhuǎn)控制”能力,在通證合約中控制著一定量的儲(chǔ)備金犬庇,讓通證與儲(chǔ)備金之間擁有一定的兌換能力僧界,那么Token的價(jià)值就可以儲(chǔ)備金為連接器代幣,而不完全依賴于項(xiàng)目方械筛。通證持有者也就不用承擔(dān)項(xiàng)目失敗或者項(xiàng)目方可能詐騙跑路的風(fēng)險(xiǎn)捎泻。
在以太坊平臺(tái)上飒炎,顯然ETH的價(jià)值與公信力最大埋哟,是最佳的儲(chǔ)備金與連接器代幣(Connector,又稱錨定物)郎汪,不過其他有價(jià)值的通證也可以作為連接器代幣赤赊,而且連接器代幣可以有多個(gè)。
若通證與連接器代幣之間的兌換算法采用了Bancor算法煞赢,又符合ERC20標(biāo)準(zhǔn)抛计,則被稱為智能通證(Smart-Token) 。為了簡單起見照筑,以下的論述以ETH作為連接器代幣舉例說明吹截。購買與售賣Token的過程如下:
“購買者”發(fā)送一定量的ETH到Token合約地址瘦陈,觸發(fā)了合約代碼自動(dòng)執(zhí)行"購買功能代碼",獲得對(duì)應(yīng)數(shù)量的Token波俄;
“售賣者”發(fā)送一定量的Token到Token合約地址晨逝,觸發(fā)了合約代碼自動(dòng)執(zhí)行“售賣功能代碼”,獲得對(duì)應(yīng)數(shù)量的ETH懦铺。
若AToken與BToken都是以ETH為連接器代幣的智能通證捉貌,那么Token持有者無需通過交易所,僅僅憑借智能合約提供的買賣與兌換功能冬念,就能實(shí)現(xiàn)AToken與BToken的自由兌換趁窃,比如AToken-->ETH-->BToken,多種智能通證之間通過共同的連接器代幣串接起來急前,就形成了一個(gè)價(jià)值網(wǎng)絡(luò)(Bancor Network)醒陆。
用于去中心化流動(dòng)性的 Bancor 網(wǎng)絡(luò)可以作為中心化交易所的替代,用于連接到網(wǎng)絡(luò)中的任何代幣裆针,并帶來諸多積極意義统求。例如,一個(gè)帶有兩個(gè)連接器的智能代幣据块,其 CW 值為 100%码邻,其功能類似于去中心化代幣交易對(duì)。我們將這種智能代幣稱為中繼代幣另假。中繼代幣允許用戶通過一個(gè)即時(shí)的兩步過程在兩個(gè)連接的代幣之間進(jìn)行轉(zhuǎn)換像屋,即使用其中一個(gè)連接器代幣購買中繼代幣,然后立即將其出售給另一個(gè)連接的代幣边篮。由于定價(jià)算法己莺,這將導(dǎo)致中繼代幣相對(duì)于連接器代幣的價(jià)格上升(由于購買),和中繼代幣相對(duì)于連接器代幣的價(jià)格下降(由于出售)戈轿,這與預(yù)期完全一致凌受。如前所述,中繼代幣的掛牌價(jià)格不太可能長久地與外部交易所中任何一個(gè)連接器代幣的價(jià)格明顯抵觸思杯,因?yàn)樘桌麢C(jī)會(huì)鼓勵(lì)套利者在中繼代幣相對(duì)于連接器代幣的價(jià)格與其在其他市場上的價(jià)格趨于相同胜蛉。這種特殊的智能代幣配置允許不符合 Bancor 協(xié)議的現(xiàn)有標(biāo)準(zhǔn)代幣(沒有連接器)也可以向后兼容(換句話說,通過中繼代幣與網(wǎng)絡(luò)中的每個(gè)代幣進(jìn)行轉(zhuǎn)換)色乾,從而增強(qiáng)了可行性并接觸到流動(dòng)性網(wǎng)絡(luò)誊册。
4,BANCOR的計(jì)算公式和舉例
4.1 BANCOR的基本計(jì)算公式
計(jì)算公式涉及多個(gè)參數(shù)暖璧,解釋如下:
Token的供應(yīng)量【Smart Token's Supply】案怯,簡稱Supply;
Token的價(jià)格【Smart Token's Price 】澎办,簡稱Price嘲碱;
Token的總市值【Smart Token's Total Value】金砍,簡稱TotalValue;
儲(chǔ)備金余額【Connector Balance】麦锯,簡稱Balance捞魁;
儲(chǔ)備金固定比率【Connector Weight】,簡稱CW离咐。
計(jì)算公式如下:
CW = Balance / TotalValue = Connector Balance / Smart Token's Value;
TotalValue = Price * Supply = Smart Token's Price * Smart Token's Supply ;
Price = Balance /(Supply * CW)= Connector Balance / (Smart Token's Supply * Connector Weight)
舉例:若當(dāng)前AToken的發(fā)行量為1000谱俭,報(bào)價(jià)為0.5個(gè)ETH兌換1個(gè)AToken,那么AToken的總價(jià)值為500個(gè)ETH宵蛀,但是儲(chǔ)備金余額可能并沒有500個(gè)ETH昆著,比如為250個(gè)ETH,那么CW則為0.5(50%)术陶。
4.2 Token買入計(jì)算公式及舉例
Token買入計(jì)算公式:
- Token_Return = Supply *((1 + ETH_Paid / Balance)^ CW - 1)
舉例:若當(dāng)前AToken的發(fā)行量為1000凑懂,儲(chǔ)備金余額為250個(gè)ETH,CW為0.5梧宫,那么當(dāng)前的報(bào)價(jià)則為0.5個(gè)ETH兌換1個(gè)AToken接谨;現(xiàn)在Bob想花750個(gè)ETH購買AToken,帶入公式:Token_Return = 1000 *((1 + 750 / 250)^ 0.5 - 1)= 1000
即Bob花了750個(gè)ETH購買了1000個(gè)AToken塘匣,本次購買的平均價(jià)格為0.75個(gè)ETH兌換1個(gè)AToken脓豪,比初始報(bào)價(jià)已經(jīng)高了許多。Bob的購買行為推高了AToken的報(bào)價(jià)忌卤。若Bob接著購買同樣數(shù)量的AToken扫夜,則需要付出更多的ETH代價(jià),每一筆購買都會(huì)繼續(xù)推高AToken的報(bào)價(jià)驰徊。
4.3 Token賣出計(jì)算公式及舉例
Token賣出計(jì)算公式:
- ETH_Return = Balance *(1 - (1 - Token_Paid / Supply)^ (1 / CW))
舉例:在Bob的那筆交易完成后笤闯,AToken的發(fā)行總量為2000個(gè),儲(chǔ)備金余額為1000個(gè)ETH棍厂,CW維持不變颗味、仍然為0.5,那么通過公式可以計(jì)算當(dāng)前的報(bào)價(jià)為1個(gè)ETH兌換1個(gè)AToken牺弹;現(xiàn)在Alice想賣掉1000個(gè)AToken浦马,帶入公式:ETH_Return = 1000 *(1 - (1 - 1000 / 2000)^ (1 /0.5))= 750
即Alice 賣掉了1000個(gè)AToken,獲得了750個(gè)ETH例驹,本次購買的平均價(jià)格為0.75個(gè)ETH兌換1個(gè)AToken捐韩。因?yàn)锽ob的購買行為推高了AToken的報(bào)價(jià)退唠,而Alice是在Bob的購買行為之后賣掉了AToken,所以Alice賣到了相對(duì)較高的價(jià)位。假如沒有Bob的購買行為柒桑,回到AToken的供應(yīng)量為1000的那個(gè)時(shí)候,Alice賣掉全部的AToken仅政,也只能獲得250個(gè)ETH。
bancor_protocol_whitepaper_en.pdf 白皮書的公式如下:
我們代入舉例場景看看結(jié)果是否一致盆驹?
ETH_Return = 250 * ((1+ 1000/(2000-1000)) ^ (1 /0.5) - 1 )= 750 個(gè)圆丹;
如果代幣余額和總供應(yīng)量取交易發(fā)生后的結(jié)果數(shù)量,則這2個(gè)公式的計(jì)算結(jié)果是一致的躯喇。
ETH_Return = 1000 * ((1+ 1000/2000) ^ (1 /0.5) - 1 )= 1250 個(gè)辫封;
如果代幣余額和總供應(yīng)量取交易發(fā)生前的結(jié)果數(shù)量,則結(jié)果明顯是錯(cuò)誤的廉丽。所以倦微,輝哥認(rèn)為白皮書的公式描述不夠嚴(yán)謹(jǐn)。
5正压,BANCOR不同連接器權(quán)重與供需關(guān)系分析
圖1顯示了智能代幣的價(jià)格欣福,對(duì)CW的不同值的變化。簡要討論一下插圖案例:
【輝哥備注】
Supply - 智能代幣的結(jié)余供應(yīng)量【Smart Token's Supply】焦履,是指連接器外所有用戶持有的智能代幣總量拓劝。
Quoted Price - 智能代幣的報(bào)價(jià)【Smart Token's Price 】
實(shí)際上,用3.1的公式是無法實(shí)現(xiàn)價(jià)格的平滑處理的嘉裤,實(shí)際公式為3.3下一章的微積分公式郑临。
(a)第一種情況是CW = 100%,在這種情況下屑宠,不管需求如何變化牧抵,智能代幣的價(jià)格完全跟隨于連接代幣準(zhǔn)備金的變化,兩者的相對(duì)值不會(huì)發(fā)生變化侨把。價(jià)格實(shí)際上與其連接代幣的準(zhǔn)備金掛鉤犀变,智能代幣成為該值的一種代理。這可以比作金本位秋柄,一種貨幣制度获枝,發(fā)行機(jī)構(gòu)承諾將貨幣兌換成一定數(shù)量的黃金。例如骇笔,直到1971年省店,美元一直以每盎司35美元的匯率盯住黃金。
(b)第二個(gè)線性情況是CW = 50%笨触,其中智能代幣價(jià)格隨供應(yīng)量線性移動(dòng)(隨著連接器準(zhǔn)備金而增長或收縮)懦傍。 當(dāng)智能代幣的需求較低時(shí)(即當(dāng)出售量大于購買量時(shí)),智能代幣價(jià)格會(huì)下降;當(dāng)需求量較高時(shí)(即當(dāng)購買量大于出售量時(shí))芦劣,智能代幣價(jià)格會(huì)上漲粗俱。這種關(guān)系是供求關(guān)系的典型運(yùn)作方式,唯一的例外是虚吟,智能貨幣的供應(yīng)不是固定的寸认,而是由需求決定的签财,而且在價(jià)格上漲時(shí)也不會(huì)稀釋單位價(jià)格。
【輝哥備注】從智能合約買智能代幣的量 > 當(dāng)賣智能代幣給智能合約的量時(shí)偏塞,就是需 > 供(從智能合約外部用戶的視角)唱蒸,Supply上升,智能代幣的價(jià)格線性上升灸叼。
(C) 第三個(gè)非線性的例子是神汹,CW在0%到50%之間,這顯示了價(jià)格和供給之間的相似增長關(guān)系古今,但是隨著供給的增加慎冤,價(jià)格曲線增長得更加迅猛。圖表顯示了CW = 10%的特定價(jià)格曲線沧卢。低于10%的CW會(huì)比這個(gè)反應(yīng)更強(qiáng)烈(更尖銳的指數(shù)曲線)蚁堤,而高于10%的CW會(huì)隨著接近50%而相對(duì)地趨于線性(b)。
(D)最后一種非線性情況但狭,CW在50%到100%之間披诗,其中價(jià)格和供應(yīng)之間的增長關(guān)系曲線增長力度不及(b),這意味著智能代幣的價(jià)格對(duì)供應(yīng)變化的反應(yīng)越來越少立磁,直到達(dá)到我們?cè)冢╝)中看到的持平的100%關(guān)系呈队。具體圖表顯示了CW = 90%的價(jià)格曲線。
從理論上講唱歧,智能代幣也可能具有大于100%的CW宪摧,但是,這是代幣隨著需求增加而變得更便宜的特定情況颅崩,并且超出了本討論的范圍几于。
6,BANCOR常見問題和解答
6.1 智能代幣沿后,連接器代幣 的定義和區(qū)別
【智能代幣(Smart Tokens )】
智能代幣是Bancor協(xié)議的核心沿彭。它們的運(yùn)作類似于常規(guī)代幣,在ETH區(qū)塊鏈上使用的符合ERC20標(biāo)準(zhǔn)[5]尖滚,但也要包含額外的邏輯喉刘,即允許用戶通過它的智能合約直接購買和出售代幣,價(jià)格通過程序自動(dòng)調(diào)整以反映供求關(guān)系漆弄。實(shí)際上睦裳,智能代幣擁有一種內(nèi)置的流動(dòng)性機(jī)制,確保它們可以持續(xù)地為兌換為其他代幣撼唾。
【智能代幣連接器(Smart Token connectors)】
智能代幣連接器可以被視為分布式廉邑、自主、透明和可預(yù)測的做市商,而不是交易所鬓催。智能代幣通過程序自動(dòng)調(diào)整它們的價(jià)格肺素,來管理它們的連接器準(zhǔn)備金恨锚,以保持它們與智能代幣的總市值之間的比率是恒定的宇驾。
【錨定代幣(connected token)】
每個(gè)智能代幣都配置了連接器模塊,這些模塊持有它連接的另一個(gè)代幣作為準(zhǔn)備金(例如猴伶,BNT智能代幣有一個(gè)連接到ETH的連接器课舍,它持有ETH作為準(zhǔn)備金)。ETH此時(shí)就是連接器代幣他挎。
【代幣網(wǎng)絡(luò)(token network)】
智能代幣可以實(shí)現(xiàn)自己和它們的連接代幣之間進(jìn)行即時(shí)兌換筝尾。這個(gè)功能足以使智能代幣即時(shí)兌換為一定數(shù)量的以類似的方式連接到同一網(wǎng)絡(luò)的任何其他代幣。通過這種方式办桨,智能代幣可以連接到無限數(shù)量的代幣筹淫,從而創(chuàng)建一個(gè)分布式的流動(dòng)性網(wǎng)絡(luò),該網(wǎng)絡(luò)可能由數(shù)百萬個(gè)代幣組成呢撞,這些代幣都可以以不斷計(jì)算的價(jià)格自動(dòng)地相互兌換损姜。
【中繼代幣(Relay Token)】
具有兩個(gè)連接器的智能代幣,其總CW恰好為100%殊霞,其功能類似于分布式代幣兌換幣對(duì)摧阅。中繼代幣允許用戶在兩個(gè)連接代幣之間互相兌換,通過兩步操作實(shí)現(xiàn)绷蹲,即購買一種代幣棒卷,立即出售另外一種代幣。
【流動(dòng)性代幣(Liquid Tokens)】
具有組合連接器總權(quán)重低于100%(更典型的低于20%)的智能代幣成為流動(dòng)性代幣祝钢”裙妫可能有一個(gè)或者多個(gè)連接器。例如拦英,BTN具有單個(gè)權(quán)重為10%的ETH連接器苞俘。流動(dòng)性代幣可以使用連接器代幣買賣(使用Bancor公式計(jì)算它相對(duì)于連接代幣的價(jià)格),并且可以自適應(yīng)調(diào)節(jié)供應(yīng)量龄章,在購買時(shí)增加吃谣,出售時(shí)減少。
【代理代幣(Proxy Token)】
具有一個(gè)連接器占100%權(quán)重的智能代幣做裙。
【組合代幣(Array Token)】
具有三個(gè)或者更多連接器權(quán)重為100%的智能代幣岗憋。
【糖果代幣(Bounty Tokens)】
具有單個(gè)尚未激活連接器的智能代幣(當(dāng)前連接器準(zhǔn)備金為0),可以向早起持有者(例如社區(qū)支持者)發(fā)放將來會(huì)發(fā)行的代幣锚贱。
【網(wǎng)絡(luò)代幣(Network Tokens)】
由多個(gè)(>2)智能代幣持有作為連接代幣的智能代幣,BNT就是一個(gè)網(wǎng)絡(luò)代幣仔戈,也是一個(gè)流動(dòng)性代幣。
6.2 BANCOR生態(tài)系統(tǒng)角色
【交易者】
持有、兌換和支付智能代幣的終端用戶
【智能代幣發(fā)行者】
發(fā)行智能代幣监徘,配置初始供應(yīng)量晋修、價(jià)格、連接器權(quán)重CW和管理智能代幣初始發(fā)行的人員凰盔、公司墓卦、社區(qū)、組織或基金會(huì)户敬。還包括將現(xiàn)有ERC20代幣連接到Bancor網(wǎng)絡(luò)的中繼代幣的創(chuàng)建者落剪。
【資產(chǎn)代幣化者】
將代理代幣或者組合代幣映射到實(shí)體資產(chǎn)或者其他區(qū)塊鏈上代幣的創(chuàng)建者。這允許智能代幣連接到更廣泛的資產(chǎn)尿庐,如比特幣忠怖、法定貨幣、黃金或其他新興的區(qū)塊鏈代幣抄瑟。
【套利者】
監(jiān)控Bancor流動(dòng)性網(wǎng)絡(luò)與外部交易所或者其他智能代幣的價(jià)格凡泣,并且通過套利消除價(jià)差的交易者。套利者通過消除價(jià)差獲得獎(jiǎng)勵(lì)皮假,因此是Bancor生態(tài)系統(tǒng)的重要參與者鞋拟。有關(guān)Bancor協(xié)議中套利機(jī)制的進(jìn)一步說明,請(qǐng)參見第3.6節(jié)钞翔。
7严卖,參考
(1)【超越白皮書4】Bancor 算法的數(shù)學(xué)、經(jīng)濟(jì)學(xué)解析與參數(shù)測算
(2)bancor.network官網(wǎng)
(3)10張圖帶你看懂Bancor協(xié)議
(4)【白皮書】Bancor協(xié)議:通過智能合約為加密貨幣提供持續(xù)流動(dòng)性(附PDF下載)
(5)EOS“帶貨”Bancor算法布轿,但大多數(shù)人并未真正讀懂它
(6)【TokenClub研究院】Bancor協(xié)議研究報(bào)告
輝哥整理了BANCOR的系列知識(shí)分享哮笆,列表如下:
(1)【白皮書】Bancor協(xié)議:通過智能合約為加密貨幣提供持續(xù)流動(dòng)性(附PDF下載)
(2)【易錯(cuò)概念】以實(shí)例形式深入淺出講透BANCOR算法
(3)第二十四課基于以太坊的交易所BANCOR算法實(shí)現(xiàn)-轉(zhuǎn)換算法框架
(4)第二十五課如何開發(fā)自己的BANCOR去中心化交易平臺(tái)?
(5)第二十七課如何從BANCOR.NETWORK去中心化交易所兌換ENJIN通證
如有需要的同學(xué)下載測試工程的可加入知識(shí)星球下載汰扭。