在本次正式升級前,IRISnet於2018年8月22日 21:00 發起升級提案,透過鏈上治理的形式,邀請網路的驗證人進行投票,投票時間視窗為5天。到了8月27日 21:15,總計投票參與率為90.99%,超過社羣自治所需的87.5%,其中贊成達100%,遠超提案透過所需的85.7%。
提案詳情:https://www.irisplorer.io/#/ProposalsDetail/2
在接下來的2天內,主網IRIS Hub開始進行升級,並於8月29日在區塊高度229萬時完成平滑升級。
本次升級我們引入了全新的功能模組,所以前後版本並不相容,在以往的區塊鏈網路中這就意味著要硬分叉。但是在這次升級中,不需要硬分叉,也不需要清空歷史資料,就可平滑完成從鏈上治理提案發起、表決透過、網路線上升級的全部過程。這是BPoS網路歷史上的首次!
更重要的是,這次升級後引入了許多激動人心的新功能,下面我們來重點介紹多資產管理、隨機數生成器、多籤賬戶及多籤交易三大核心功能。
多資產管理
本次升級包含的多資產管理模組,可以在IRIS Hub上發行、管理和使用多種鏈上資產。
資產在IRIS Hub上分為三種:原生資產(Native Asset)、閘道器資產(Gateway Asset)、跨鏈資產(External Asset)。目前在本次v0.15版本的多資產模組上線後,主要可操作的是原生資產和閘道器資產;IBC協議將支援跨鏈資產的操作。
原生資產
即使用者發行的資產。個人和公司可以在IRIS Hub上建立和發行他們自己的資產,用於他們可以想象的任何場景,比如資產通證化、穩定幣、抵押借貸等等。
閘道器資產
與原生資產不同,閘道器資產是依賴於閘道器將價值移入和移出 IRISnet 網路的一類資產。閘道器方式是跨鏈通訊(IBC)協議的一種替代方案,在IBC啟用後也可能會繼續存在。
其中,閘道器是可受信任的一方,基本上等同於標準交易所模型,使用者可以依賴交易所的兌付能力來兌換您的貨幣。閘道器通常會發行帶有符號字首的內部資產,如GDEX,OPEN等,並且由閘道器來管理和操作這些資產。這些資產是真實的 BTC、ETH 或人們存放在閘道器上的任何其他數字資產的對映,同時由閘道器來負責資產之間的對映關係。
跨鏈資產
除了閘道器資產以外,在IBC協議啟用後,我們還可以在IRISHub上建立其它區塊鏈上已經存在的外部資產,以跨鏈的方式讓市場處理需求和供應,而不是在IRIS Hub上建立一個完全由發行者控制供應的內部資產。 建立跨鏈資產的唯一方法是在 IRIS Hub Governance 上提交一個 TokenAdditionProposal 提案,但為了使用者方便起見,BTC和ETH將在系統中預先配置。
操作方法可參考《如何在 IRIS Hub上發行資產 --多資產功能使用簡介》
以多資產模組作為基礎支撐,可以為許多DeFi類應用提供支援。例如,多資產和跨鏈的天然結合就可以為DEX賦能。IRISnet將和GDEX合作,可透過GDEX閘道器把BTC ETH 以及位元股網路上的穩定幣引入到IRIS Hub,不同鏈上的資產都能透過閘道器產生相互間的聯絡。在跨鏈通訊協議IBC實現之後,這些資產將經由IRIS Hub進入整個Cosmos生態網路,
啟用跨鏈之後的Hub,可以為DEX的應用專有鏈提供一種分散式資產託管服務。DEX間的資產清算將更為簡便快捷,也將支援更多、更廣泛的多資產間交易,包括各個主流公鏈的原生資產及衍生資產;Cosmos生態各個Hub的Staking可以作為資產錨定機制的安全與抵押保障,將更加靈活可靠。 而所有這些都是以多資產模組作為底層基礎設施來支援的。
隨機數生成器
包括DeFi在內的很多DApp均依賴於隨機數。
隨機數按照生成方式主要可分為2種:真隨機數、偽隨機數。
真隨機數一般是透過物理過程來生成的隨機數
偽隨機數是從“種子”以特定演算法來生成的、近似於隨機分佈的數字。例如傳統計算機中通常使用時間戳來生成一個分佈符合要求的偽隨機數。
在分散式環境下的區塊鏈上,很多DApp會選擇只使用區塊雜湊等資料來作為種子生成偽隨機數,以滿足各個節點間隨機結果的一致性以及隨機數驗證過程的公開和簡便。但這種方式很容易受到礦工或駭客等操控及攻擊。
IRIS Hub v0.15版本的隨機數生成器透過區塊鏈生成的多個指標作為“種子”來計算隨機數,增加隨機性,同時也使得此隨機數公開透明,方便驗證。
隨機數“種子”具體包含以下指標:
上一個區塊的雜湊:區塊雜湊的生成,取決於該區塊的多方面因素,比如區塊高度、交易數量、時間戳等等,因此區塊雜湊本身就具有一定的不可預測性。
當前區塊的時間戳:區塊時間戳採用 BFT 時間,即根據驗證人的權重,使用上一個區塊中每一個Precommit的時間,加權計算出來的分散式時間戳(毫秒級別),也具有一定的不可預測性 [BFT Time:https://tendermint.com/docs/spec/consensus/bft-time.html#bft-time] 。
請求隨機數的賬戶地址:主要是為了實現不同人在同一個區塊高度得到不同的隨機數。
計算公式為
由於區塊雜湊和 BFT 時間的計算都是基於上一個區塊的資訊,為了避免請求隨機數之前可以預先計算結果,所以另一方面,我們透過“未來區塊”,加強隨機數的不可預測性。
不過,不可預測不代表不可操縱。此模組處於 Beta 階段,使用前請評估風險。下一個版本,我們擬採用預言機的方式,引入外部的可信隨機數來源,以真隨機數形式來生成。
多籤賬戶及交易
多籤賬戶是由多個金鑰來管理、控制的賬戶,是實現保管大額資產、協同處理交易等場景的關鍵技術。
IRIS Hub上多籤賬戶的過程包括生成和發起交易。
多籤賬戶在建立時就會要求設定好最小簽名人數
在發起交易時必須至少超過該閾值才能構建好籤名後的交易資料,並透過網路廣播簽名後的交易
多籤賬戶及交易功能可以更好地支援DeFi應用,例如在借貸類產品中,使用者抵押資產進行擔保,與借貸平臺共享一個多籤賬戶,協同管理這一賬戶。當發生贖回、違約等情形時,需要超過最小簽名人數才能發生交易,避免了單籤賬戶的中心化風險。
總結
IRIS Hub構建於Cosmos SDK之上,可以看到,Cosmos SDK可以以高度模組化的方式進行增補。本次平滑升級不僅展示了IRISnet先進的治理模組,而且也將會為包括DEX、Staking等DeFi應用提供更好的支援。