Kowala協議:一組分散式,自我調節,資產跟蹤特性的加密貨幣(二)
對於穩定幣來言,設計過程中會遇到很多細節的問題,今天來講述下有關通證設計過程中的一些問題。
1、計算手續費
計算費是交易費的一部分,轉移給kUSD礦工,並由以下公式決定:
其gasUsed(t) 是用於處理交易t的Gas,而gasPrice(t)是交易時的一個單位的價格 t。gasUsed(t) 和gasPrice(t)的定義類似於以太坊,計算費本身類似於以太坊的“合約執行費”。
對於簡單的轉賬交易,gasUsed(t) 設定為21,000,而對於智慧合約的交易,其值將取決於相關智慧合約觸發的操作。gasPrice(t) 的預設值當前設定為2 x 10^-8。
當前區塊中所有交易的計算費總和將給予 該區塊的當選提案人:
2、幣的銷燬
塊的銷燬量定義為給定塊的所有交易的維穩費用的總和的一半:
其中T(b) 是形成塊B的所有交易的集合。
銷燬量被髮送到一個死地址,它具有永久減少kUSD的供應量。隨著時間的推移,銷燬量允許kUSD有效地響應需求的減少。例如,如果每天只需15%美元(平均)的kUSD幣供應是通過鏈上交易進行,那麼在30天內的銷燬量將減少8%以上,在180天內將超過41%。
3、維穩獎勵和維穩合約
維穩獎勵的目的是雙重的:允許網路由一個不斷擴大的人群參與,並激勵支援網路效用的行為(通過在價格低於1美元時減少可供出售的kUSD數量)。向kUSD持有人分配維穩獎勵是通過維穩合約來管理的,維穩合約是一種特殊用途的智慧合約,該合約是作為單一主合約的子合約實施的。
每個維穩合約都儲存多個地址:源地址,儲蓄地址和維穩獎勵地址。源地址是指資金轉移到儲蓄地址的原始地址。用於儲蓄地址和維穩獎勵地址的私鑰是從源地址的私鑰匯出的,從而使源地址擁有者具有將資金從這些其他地址移出的獨有能力,受到下面描述的交易。
為了獲得維穩獎勵,源地址所有者必須事先為其源地址建立穩定合約,並將一些kUSD從源地址移動到合同的儲蓄地址中。
此外,交易約束來自儲蓄地址的交易被髮送到除了源地址之外的任何地方。
為了準備維穩獎勵,我們首先將維穩量定義為區塊的總維穩費用的一半。請注意,這個量等於銷燬量(見上面銷燬幣)。換言之,總維穩費的一半是針對銷燬量,另一半是維穩量。
然後將維穩量劃分為個體維穩獎賞,每個維穩合約,使用以下公式:
其中b是區塊編號,a是具有相關穩定性契約的源地址,A(b) 是與區塊b的維穩合約相關聯的所有源地址的集合,而savingsBalance(b,x) 表示從中獲得的餘額。
在區塊b期間,與具有源地址x的智慧合約相關聯的儲蓄地址的區塊b。 每個智慧合約的維穩獎勵將轉移到相關的維穩獎勵地址,並且第二個交易約束阻止該維穩獎勵被轉出,直到kUSD的價格返回到1美元或更高。雖然所有者可以隨時從他的儲蓄地址中移除資金,但只有當kUSD的價格回到1美元或更高時,他才能在維穩獎勵地址中領取資金。如果他在此時間之前移除了儲蓄地址資金,相關的維穩獎勵將被沒收。
4、mUSD和其他mToken
Kowala協議是一個雙通證系統。Kowala協議塊鏈中的主要令牌是kCoin,即穩定的值支付令牌,如kUSD。此外,與每個kUSD相關聯的是次要的挖礦通證或mToken;例如,與kUSD相關聯的mTokens被稱為 mUSD。這些最小數量(目前為30000)的所有權證明是挖礦kCoin的要求。
每個mToken將與加密地址和其他元資訊相關聯,目的在於安全地管理
a)跟蹤挖礦的情況;
b)挖礦獎勵的收件人地址;
c)mToken所有權;
d)將挖礦責任委託給第三方。
將建立專門的智慧合約來管理此資訊,每個kCoin將有2^30(1,073,741,824)mTokens鑄造。一旦最初的mTokens被鑄造,智慧合約功能將阻止將來建立額外的mTokens。
5、Konsensus:Kowala的共識協議
Kowala的共識協議,Konsensus,有一套正式的規則,允許分散的參與者群體就區塊鏈的推進達成一致,包括交易的處理和激勵獎勵的分配。
Konsensus來自Tendermint,這是一種大多數非同步共識協議,它本身基於拜占庭容錯(BFT)。工作基於Tendermint,因為它已經實現了遠遠優於其他廣泛使用的方法,基於POW的區塊鏈共識協議的交易效能,並且因為它具有易於理解的安全性配置檔案。與Tendermint一樣,Konsensus要求其參與者彼此保持聯絡。
在Konsensus中,網路由兩個或多個通過明確定義的通訊協議連線的節點組成。 在此上下文中,節點是執行與Kowala協議相容的挖礦客戶端的計算機。 使用TCP和UDP的標準以太坊模型實現通訊。
像其他加密貨幣一樣,kUSD將被開採。對於每個區塊,所有符合條件的礦工都有機會通過為區塊鏈的進步和安全做出貢獻來獲得kUSD的獎勵。
礦工是網路上的活動節點,控制最小數量(當前設定為30,000)mTokens。 為了推進區塊鏈,網路必須包括至少一個礦工,儘管我們通常期望還有更多。
Konsensus中的挖礦將一次挖一個區塊。對於每一個區塊,有一個領導,稱為提議者,從當前的礦工中確定性地選出。所有其他礦工在出塊期間被稱為驗證者。
提議者的功能是組合並提出鏈中的下一個區塊,驗證者的功能是投票決定是接受建議的塊還是拒絕它。
提議者首先組裝包含未處理交易的可用區塊,然後將區塊分發給驗證者以進行驗證。每個驗證者檢查區塊是否適合,然後進行加密簽名投票來接受或拒絕該區塊。
如果三分之二或更多的驗證者投票接受該區塊,則提議者將該區塊提交給區塊鏈並向整個網路發訊號通知該區塊已完成。
如果未達到三分之二的通過率,則拒絕該區塊。
然後,該過程再次開始,選擇新的提議者提議另一個區塊。
5、基於mToken所有權的選舉
礦工有可能沒有機會當選為提議者; 相反,它們被選擇的可能性與節點只有的mTokens數量成正比。 選舉礦工的可能性由下式給出:
其中m和M(b) 分別是在當前區塊b中挖礦的特定礦工和所有礦工的集合。 隨著時間的推移,礦工將被選為提議者,其頻率與他或她持有的通證數量與所有活躍礦工持有的總通證數量成正例。 當選後,提議者必須正確地執行提議的實際工作,然後將為此工作獲得獎勵。
如果有關於區塊鏈學習的交流,可以通過下面的方式聯絡我: 加我微信,注意備註: 區塊鏈學習
微訊號:elninowang