【易錯概念】以實例形式深入淺出講透BANCOR算法

1,摘要

通過本文學習,可以獲得以下目標:
1)了解BANNCOR協議的基本原理;
2)通過舉例熟悉BANNCOR算法的效果。

2,BANCOR算法的來源

在20世紀40年代,英國經濟學家凱恩斯提出采用30種有代表性的商品作為價值錨定發行國際貨幣Bancor的構想。而其他國家或機構再以Bancor為價值錨定發行各自的貨幣。然而這一方案沒有得到實施,取而代之的是美元成為國際貨幣。

Bancor算法能夠真正進入大眾的視野里,可能要歸功于EOS項目。由于EOS項目在RAM分配中采用了優化后的Bancor算法,并將RAM的價格爆炒到了很高的價位,憑借EOS項目在區塊鏈領域的強大運營宣傳能力與影響力,Bancor算法廣為流傳。

3,BANCOR協議的基本思路

在以太坊上發行的大量ERC20-Token是沒有價值錨定的,其價值完全依賴于項目方的技術與運營能力,若項目失敗了,則通證(TOKEN)價值就很可能歸零。
若利用智能合約的強大而靈活的“資金流轉控制”能力,在通證合約中控制著一定量的儲備金,讓通證與儲備金之間擁有一定的兌換能力,那么Token的價值就可以儲備金為連接器代幣,而不完全依賴于項目方。通證持有者也就不用承擔項目失敗或者項目方可能詐騙跑路的風險。

在以太坊平臺上,顯然ETH的價值與公信力最大,是最佳的儲備金與連接器代幣(Connector,又稱錨定物),不過其他有價值的通證也可以作為連接器代幣,而且連接器代幣可以有多個。

若通證與連接器代幣之間的兌換算法采用了Bancor算法,又符合ERC20標準,則被稱為智能通證(Smart-Token) 。為了簡單起見,以下的論述以ETH作為連接器代幣舉例說明。購買與售賣Token的過程如下:

  • “購買者”發送一定量的ETH到Token合約地址,觸發了合約代碼自動執行"購買功能代碼",獲得對應數量的Token;

  • “售賣者”發送一定量的Token到Token合約地址,觸發了合約代碼自動執行“售賣功能代碼”,獲得對應數量的ETH。

若AToken與BToken都是以ETH為連接器代幣的智能通證,那么Token持有者無需通過交易所,僅僅憑借智能合約提供的買賣與兌換功能,就能實現AToken與BToken的自由兌換,比如AToken-->ETH-->BToken,多種智能通證之間通過共同的連接器代幣串接起來,就形成了一個價值網絡(Bancor Network)。

用于去中心化流動性的 Bancor 網絡可以作為中心化交易所的替代,用于連接到網絡中的任何代幣,并帶來諸多積極意義。例如,一個帶有兩個連接器的智能代幣,其 CW 值為 100%,其功能類似于去中心化代幣交易對。我們將這種智能代幣稱為中繼代幣。中繼代幣允許用戶通過一個即時的兩步過程在兩個連接的代幣之間進行轉換,即使用其中一個連接器代幣購買中繼代幣,然后立即將其出售給另一個連接的代幣。由于定價算法,這將導致中繼代幣相對于連接器代幣的價格上升(由于購買),和中繼代幣相對于連接器代幣的價格下降(由于出售),這與預期完全一致。如前所述,中繼代幣的掛牌價格不太可能長久地與外部交易所中任何一個連接器代幣的價格明顯抵觸,因為套利機會鼓勵套利者在中繼代幣相對于連接器代幣的價格與其在其他市場上的價格趨于相同。這種特殊的智能代幣配置允許不符合 Bancor 協議的現有標準代幣(沒有連接器)也可以向后兼容(換句話說,通過中繼代幣與網絡中的每個代幣進行轉換),從而增強了可行性并接觸到流動性網絡。

4,BANCOR的計算公式和舉例

4.1 BANCOR的基本計算公式

計算公式涉及多個參數,解釋如下:

  • Token的供應量【Smart Token's Supply】,簡稱Supply;

  • Token的價格【Smart Token's Price 】,簡稱Price;

  • Token的總市值【Smart Token's Total Value】,簡稱TotalValue;

  • 儲備金余額【Connector Balance】,簡稱Balance;

  • 儲備金固定比率【Connector Weight】,簡稱CW。

計算公式如下:

  • 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)

舉例:若當前AToken的發行量為1000,報價為0.5個ETH兌換1個AToken,那么AToken的總價值為500個ETH,但是儲備金余額可能并沒有500個ETH,比如為250個ETH,那么CW則為0.5(50%)。

4.2 Token買入計算公式及舉例

Token買入計算公式:

  • Token_Return = Supply *((1 + ETH_Paid / Balance)^ CW - 1)

舉例:若當前AToken的發行量為1000,儲備金余額為250個ETH,CW為0.5,那么當前的報價則為0.5個ETH兌換1個AToken;現在Bob想花750個ETH購買AToken,帶入公式:Token_Return = 1000 *((1 + 750 / 250)^ 0.5 - 1)= 1000

即Bob花了750個ETH購買了1000個AToken,本次購買的平均價格為0.75個ETH兌換1個AToken,比初始報價已經高了許多。Bob的購買行為推高了AToken的報價。若Bob接著購買同樣數量的AToken,則需要付出更多的ETH代價,每一筆購買都會繼續推高AToken的報價。

4.3 Token賣出計算公式及舉例

Token賣出計算公式:

  • ETH_Return = Balance *(1 - (1 - Token_Paid / Supply)^ (1 / CW))

舉例:在Bob的那筆交易完成后,AToken的發行總量為2000個,儲備金余額為1000個ETH,CW維持不變、仍然為0.5,那么通過公式可以計算當前的報價為1個ETH兌換1個AToken;現在Alice想賣掉1000個AToken,帶入公式:ETH_Return = 1000 *(1 - (1 - 1000 / 2000)^ (1 /0.5))= 750

即Alice 賣掉了1000個AToken,獲得了750個ETH,本次購買的平均價格為0.75個ETH兌換1個AToken。因為Bob的購買行為推高了AToken的報價,而Alice是在Bob的購買行為之后賣掉了AToken,所以Alice賣到了相對較高的價位。假如沒有Bob的購買行為,回到AToken的供應量為1000的那個時候,Alice賣掉全部的AToken,也只能獲得250個ETH。

bancor_protocol_whitepaper_en.pdf 白皮書的公式如下:



我們代入舉例場景看看結果是否一致?

ETH_Return = 250 * ((1+ 1000/(2000-1000)) ^ (1 /0.5) - 1 )= 750 個;
如果代幣余額和總供應量取交易發生后的結果數量,則這2個公式的計算結果是一致的。
ETH_Return = 1000 * ((1+ 1000/2000) ^ (1 /0.5) - 1 )= 1250 個;
如果代幣余額和總供應量取交易發生前的結果數量,則結果明顯是錯誤的。所以,輝哥認為白皮書的公式描述不夠嚴謹。

5,BANCOR不同連接器權重與供需關系分析

圖1顯示了智能代幣的價格,對CW的不同值的變化。簡要討論一下插圖案例:


【輝哥備注】
Supply - 智能代幣的結余供應量【Smart Token's Supply】,是指連接器外所有用戶持有的智能代幣總量。
Quoted Price - 智能代幣的報價【Smart Token's Price 】
實際上,用3.1的公式是無法實現價格的平滑處理的,實際公式為3.3下一章的微積分公式。

(a)第一種情況是CW = 100%,在這種情況下,不管需求如何變化,智能代幣的價格完全跟隨于連接代幣準備金的變化,兩者的相對值不會發生變化。價格實際上與其連接代幣的準備金掛鉤,智能代幣成為該值的一種代理。這可以比作金本位,一種貨幣制度,發行機構承諾將貨幣兌換成一定數量的黃金。例如,直到1971年,美元一直以每盎司35美元的匯率盯住黃金。

(b)第二個線性情況是CW = 50%,其中智能代幣價格隨供應量線性移動(隨著連接器準備金而增長或收縮)。 當智能代幣的需求較低時(即當出售量大于購買量時),智能代幣價格會下降;當需求量較高時(即當購買量大于出售量時),智能代幣價格會上漲。這種關系是供求關系的典型運作方式,唯一的例外是,智能貨幣的供應不是固定的,而是由需求決定的,而且在價格上漲時也不會稀釋單位價格。

【輝哥備注】從智能合約買智能代幣的量 > 當賣智能代幣給智能合約的量時,就是需 > 供(從智能合約外部用戶的視角),Supply上升,智能代幣的價格線性上升。

(C) 第三個非線性的例子是,CW在0%到50%之間,這顯示了價格和供給之間的相似增長關系,但是隨著供給的增加,價格曲線增長得更加迅猛。圖表顯示了CW = 10%的特定價格曲線。低于10%的CW會比這個反應更強烈(更尖銳的指數曲線),而高于10%的CW會隨著接近50%而相對地趨于線性(b)。

(D)最后一種非線性情況,CW在50%到100%之間,其中價格和供應之間的增長關系曲線增長力度不及(b),這意味著智能代幣的價格對供應變化的反應越來越少,直到達到我們在(a)中看到的持平的100%關系。具體圖表顯示了CW = 90%的價格曲線。

從理論上講,智能代幣也可能具有大于100%的CW,但是,這是代幣隨著需求增加而變得更便宜的特定情況,并且超出了本討論的范圍。

6,BANCOR常見問題和解答

6.1 智能代幣,連接器代幣 的定義和區別

【智能代幣(Smart Tokens )】
智能代幣是Bancor協議的核心。它們的運作類似于常規代幣,在ETH區塊鏈上使用的符合ERC20標準[5],但也要包含額外的邏輯,即允許用戶通過它的智能合約直接購買和出售代幣,價格通過程序自動調整以反映供求關系。實際上,智能代幣擁有一種內置的流動性機制,確保它們可以持續地為兌換為其他代幣。
【智能代幣連接器(Smart Token connectors)】
智能代幣連接器可以被視為分布式、自主、透明和可預測的做市商,而不是交易所。智能代幣通過程序自動調整它們的價格,來管理它們的連接器準備金,以保持它們與智能代幣的總市值之間的比率是恒定的。
【錨定代幣(connected token)】
每個智能代幣都配置了連接器模塊,這些模塊持有它連接的另一個代幣作為準備金(例如,BNT智能代幣有一個連接到ETH的連接器,它持有ETH作為準備金)。ETH此時就是連接器代幣。
【代幣網絡(token network)】
智能代幣可以實現自己和它們的連接代幣之間進行即時兌換。這個功能足以使智能代幣即時兌換為一定數量的以類似的方式連接到同一網絡的任何其他代幣。通過這種方式,智能代幣可以連接到無限數量的代幣,從而創建一個分布式的流動性網絡,該網絡可能由數百萬個代幣組成,這些代幣都可以以不斷計算的價格自動地相互兌換。
【中繼代幣(Relay Token)】
具有兩個連接器的智能代幣,其總CW恰好為100%,其功能類似于分布式代幣兌換幣對。中繼代幣允許用戶在兩個連接代幣之間互相兌換,通過兩步操作實現,即購買一種代幣,立即出售另外一種代幣。
【流動性代幣(Liquid Tokens)】
具有組合連接器總權重低于100%(更典型的低于20%)的智能代幣成為流動性代幣。可能有一個或者多個連接器。例如,BTN具有單個權重為10%的ETH連接器。流動性代幣可以使用連接器代幣買賣(使用Bancor公式計算它相對于連接代幣的價格),并且可以自適應調節供應量,在購買時增加,出售時減少。
【代理代幣(Proxy Token)】
具有一個連接器占100%權重的智能代幣。
【組合代幣(Array Token)】
具有三個或者更多連接器權重為100%的智能代幣。
【糖果代幣(Bounty Tokens)】
具有單個尚未激活連接器的智能代幣(當前連接器準備金為0),可以向早起持有者(例如社區支持者)發放將來會發行的代幣。
【網絡代幣(Network Tokens)】
由多個(>2)智能代幣持有作為連接代幣的智能代幣,BNT就是一個網絡代幣,也是一個流動性代幣。

6.2 BANCOR生態系統角色

【交易者】
持有、兌換和支付智能代幣的終端用戶
【智能代幣發行者】
發行智能代幣,配置初始供應量、價格、連接器權重CW和管理智能代幣初始發行的人員、公司、社區、組織或基金會。還包括將現有ERC20代幣連接到Bancor網絡的中繼代幣的創建者。
【資產代幣化者】
將代理代幣或者組合代幣映射到實體資產或者其他區塊鏈上代幣的創建者。這允許智能代幣連接到更廣泛的資產,如比特幣、法定貨幣、黃金或其他新興的區塊鏈代幣。
【套利者】
監控Bancor流動性網絡與外部交易所或者其他智能代幣的價格,并且通過套利消除價差的交易者。套利者通過消除價差獲得獎勵,因此是Bancor生態系統的重要參與者。有關Bancor協議中套利機制的進一步說明,請參見第3.6節。

7,參考

(1)【超越白皮書4】Bancor 算法的數學、經濟學解析與參數測算
(2)bancor.network官網
(3)10張圖帶你看懂Bancor協議
(4)【白皮書】Bancor協議:通過智能合約為加密貨幣提供持續流動性(附PDF下載)
(5)EOS“帶貨”Bancor算法,但大多數人并未真正讀懂它
(6)【TokenClub研究院】Bancor協議研究報告


輝哥整理了BANCOR的系列知識分享,列表如下:
(1)【白皮書】Bancor協議:通過智能合約為加密貨幣提供持續流動性(附PDF下載)
(2)【易錯概念】以實例形式深入淺出講透BANCOR算法
(3)第二十四課基于以太坊的交易所BANCOR算法實現-轉換算法框架
(4)第二十五課如何開發自己的BANCOR去中心化交易平臺?
(5)第二十七課如何從BANCOR.NETWORK去中心化交易所兌換ENJIN通證

如有需要的同學下載測試工程的可加入知識星球下載。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,030評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,310評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,951評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,796評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,566評論 6 407
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,055評論 1 322
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,142評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,303評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,799評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,683評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,899評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,409評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,135評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,520評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,757評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,528評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,844評論 2 372

推薦閱讀更多精彩內容

  • 少女屹立于山崖之上,如日出東方。 少女的秀發被風吹起,如旗幟飄揚。 在少女的背后,站著幾個緊張的衛兵。在他們警戒著...
    元光體閱讀 466評論 0 0
  • Kubernetes的官方文檔中并沒有對apiVersion的詳細解釋,而且因為K8S本身版本也在快速迭代,有些資...
    taj3991閱讀 3,666評論 0 2
  • 有些毒,中了一生,也解了一生。不痛不癢,恰到好處的令人折服。簡單來說,蚊蟲叮咬過后留給人體的酥麻奇癢陣痛之感,在一...
    tiancun閱讀 679評論 1 12
  • 月夜交纏 你似天邊的海水 渴望不可汲 卻溫柔地蔓延到我的胸口
    純粹浮華閱讀 52評論 0 0