當前位置︰首頁 ? 區塊鏈 ? 正文

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 白皮書的公式如下︰

相關閱讀︰

Sharding(分片)技術的前世今生

偽隨機數生成器

虛擬資產如何估值?

上一篇︰基于圖結構的共識算法研究
下一篇︰斑馬錢包下載、創建?、導入、收付款?教程

相關推薦

猜你喜歡


二維碼