IRIS網(wǎng)絡(luò)是以希臘女神Iris的名字命名的,她是彩虹的化身,是在天堂和人類之間忠誠(chéng)傳遞消息的信使。
契約關(guān)系是人類社會(huì)的基本組成部分,區(qū)塊鏈技術(shù)的重要性在于提供一種非常有效和低成本的方式來(lái)實(shí)現(xiàn)可靠的契約關(guān)系:第一次出現(xiàn)了多方參與復(fù)雜的業(yè)務(wù)交互時(shí)不再需要(本來(lái)非常昂貴的)信任。 也就是說(shuō)區(qū)塊鏈技術(shù)為分布式商業(yè)提供了最重要的元素:以極低的交易成本提升網(wǎng)絡(luò)效益。越來(lái)越多的人認(rèn)識(shí)到區(qū)塊鏈作為新的價(jià)值互聯(lián)網(wǎng)的影響力,并將逐步把當(dāng)前的商業(yè)模式轉(zhuǎn)變?yōu)楦咝У姆植际骄W(wǎng)絡(luò)。 特別是內(nèi)置于大多數(shù)現(xiàn)代區(qū)塊鏈中的通證機(jī)制,強(qiáng)調(diào)每個(gè)網(wǎng)絡(luò)參與者的權(quán)利,并將革新商業(yè)的現(xiàn)有模式。
不過(guò),區(qū)塊鏈技術(shù)仍處于早期階段。與其它新技術(shù)一樣也存在缺點(diǎn),包括有限的性能和還沒(méi)有發(fā)展起來(lái)的治理機(jī)制。目前,這些缺點(diǎn)使區(qū)塊鏈難以支持真實(shí)的分布式商業(yè)協(xié)作。 諸如Hyperledger Fabric和R3 Corda,以及以太坊企業(yè)聯(lián)盟(Ethereum Enterprise Alliance)等組織都在試圖通過(guò)聯(lián)盟鏈(consortium chains)解決這些性能和治理的問(wèn)題,使區(qū)塊鏈技術(shù)更適用于企業(yè)。然而,如今的聯(lián)盟鏈由大型企業(yè)公司主導(dǎo)的,他們封閉式的鏈上鏈下治理模式非常低效。聯(lián)盟鏈可能因?yàn)槿狈墟湹耐ㄗC經(jīng)濟(jì)模型及其開放性和激勵(lì)性而缺乏活力。
我們希望發(fā)展當(dāng)前的區(qū)塊鏈技術(shù),讓成千上萬(wàn)的中小企業(yè)(Small Medium Businesses,SMBs),甚至是個(gè)體自由職業(yè)者,可以在一個(gè)開放的網(wǎng)絡(luò)中提供他們的服務(wù)并享受回報(bào)。為了實(shí)現(xiàn)這一目標(biāo),我們確定了以下挑戰(zhàn)以及隨之而來(lái)的技術(shù)創(chuàng)新機(jī)會(huì):
并非所有的運(yùn)算都可以或應(yīng)該以諸如智能合約這樣的形式在區(qū)塊鏈上實(shí)現(xiàn)
以太坊提供了圖靈完備的虛擬機(jī)運(yùn)行智能合約,帶給人們開發(fā)分布式應(yīng)用的諸多希望。 然而,智能合約只能處理確定性邏輯(因此每個(gè)節(jié)點(diǎn)在處理完同一交易和塊后都能達(dá)到相同的狀態(tài)),而大量現(xiàn)存的業(yè)務(wù)邏輯是不確定的,在不同時(shí)間和不同環(huán)境參數(shù)下可能會(huì)發(fā)生變化。 特別是現(xiàn)在,業(yè)務(wù)系統(tǒng)越來(lái)越依賴于計(jì)算機(jī)的算法進(jìn)行決策優(yōu)化,包括自然語(yǔ)言處理(Natural Language Processing,NLP),機(jī)器學(xué)習(xí)和操作研究算法。我們經(jīng)常會(huì)故意在這些算法中添加一些隨機(jī)性,以使決策不僅僅是局部最優(yōu)狀態(tài),同時(shí)試圖找到一個(gè)更好的次優(yōu)結(jié)果。
另一方面,一些真實(shí)世界的業(yè)務(wù)邏輯應(yīng)該在鏈下運(yùn)行,不應(yīng)該作為諸如可重復(fù)運(yùn)算的智能合約這種類型來(lái)執(zhí)行。 利用分布式賬本集成和協(xié)同鏈下的服務(wù)和資源,是進(jìn)一步推動(dòng)區(qū)塊鏈技術(shù)在更多真實(shí)場(chǎng)景中應(yīng)用的關(guān)鍵。
使用一個(gè)公有鏈來(lái)處理所有用例是不可行的。每天都有不同的區(qū)塊鏈上線,各自專注于解決問(wèn)題的一個(gè)方面,比如分布式存儲(chǔ)、資產(chǎn)所有權(quán)或市場(chǎng)預(yù)測(cè)等。據(jù)coinmarketcap.com顯示,目前有超過(guò)1000種加密貨幣在不同的交易平臺(tái)上活躍。
構(gòu)建業(yè)務(wù)應(yīng)用程序時(shí)涉及處理存儲(chǔ)以及不同數(shù)據(jù)源的來(lái)源,我們的另一個(gè)工作動(dòng)機(jī)是如何通過(guò)重用一些現(xiàn)有的工作,比如存儲(chǔ)(IPFS, SIA, Storj.io等等)、數(shù)據(jù)發(fā)送(Augur,Gnosis,Oraclize等)和物聯(lián)網(wǎng)(IOTA等)提供的這些專用的區(qū)塊鏈,而不是“重新發(fā)明輪子”。
此外,有很多(近)實(shí)時(shí)業(yè)務(wù)交易確實(shí)需要更密切的聯(lián)盟鏈/許可鏈/私有鏈來(lái)處理性能問(wèn)題、安全問(wèn)題和業(yè)務(wù)治理要求。因此,我們對(duì)分布式商業(yè)基礎(chǔ)設(shè)施的愿景是要具備在多種異構(gòu)鏈,包括公共鏈/聯(lián)盟鏈/許可鏈/私有鏈之間具備互操作的能力。
跨鏈技術(shù)是滿足這一需求非常自然的解決方案。 然而目前為止,現(xiàn)有的跨鏈技術(shù)主要是為了在已有區(qū)塊鏈中提供互操作性,并專注于通證的價(jià)值轉(zhuǎn)移。 如何使用不同區(qū)塊鏈提供的資源,這一問(wèn)題仍然沒(méi)有答案。
比較現(xiàn)有的跨鏈技術(shù)如Cosmos 和 Polkadot,提出的跨鏈技術(shù),我們發(fā)現(xiàn)Cosmos為互操作性和可擴(kuò)展性提供了更成熟的基礎(chǔ)。 尤其我們發(fā)現(xiàn)Cosmos的多樞紐多分區(qū)( “many hubs and many zones” )和每個(gè)分區(qū)都是獨(dú)立的區(qū)塊鏈,擁有獨(dú)立的治理模型( “each zones are independent blockchains having independent governance models” 的設(shè)計(jì),提供了一種非常合適的體系架構(gòu),可以用SOC(Seperation of Concern,SOC)的方式對(duì)現(xiàn)實(shí)世界的復(fù)雜性進(jìn)行建模。 為了最好地重用現(xiàn)有框架,我們提出了IRIS網(wǎng)絡(luò)(IRIS Network),它是由一個(gè)樞紐和眾多分區(qū)構(gòu)成的去中心化的跨鏈網(wǎng)絡(luò),基于Cosmos/Tendermint實(shí)現(xiàn),具有更為完善的通證使用。
鑒于IRIS網(wǎng)絡(luò)是基于Cosmos/Tendermint設(shè)計(jì)的,我們將首先討論Cosmos/Tendermint,總結(jié)我們從Cosmos/Tendermint繼承的特性和獨(dú)特的創(chuàng)新。
Cosmos 和 Tendermint
Cosmos想要建立“區(qū)塊鏈的互聯(lián)網(wǎng)”。 這是由許多被稱為分區(qū)“Zone”的獨(dú)立區(qū)塊鏈構(gòu)成的互聯(lián)網(wǎng)絡(luò),每個(gè)分區(qū)都由經(jīng)典的拜占庭容錯(cuò)(Byzantine fault-tolerant,BFT)共識(shí)協(xié)議(如Tendermint)提供支持。
Tendermint提供了一個(gè)高性能、一致的、安全的BFT共識(shí)引擎,嚴(yán)格的分叉問(wèn)責(zé)保證能夠控制作惡者的行為。Tendermint非常適合用于擴(kuò)展異構(gòu)區(qū)塊鏈,包括公有鏈以及注重的性能的許可鏈/聯(lián)盟鏈,像Ethermint 就是一次對(duì)Ethereum以太坊POS機(jī)制的快速實(shí)現(xiàn)。 使用Tendermint在許可/聯(lián)盟鏈域中的成功案例包括Oracle ,CITA [8] 和Hyperledger Burrow 。
Tendermint作為共識(shí)協(xié)議用于在Cosmos Hub上構(gòu)建第一個(gè)分區(qū)。Cosmos Hub可以連接到許多不同類型的分區(qū),并且通過(guò)一種相當(dāng)于區(qū)塊鏈之間的虛擬UDP或TCP的IBC協(xié)議( Inter-blockchain Communication,IBC)實(shí)現(xiàn)跨鏈通信。 通證可以安全地通過(guò)Cosmos Hub從一個(gè)分區(qū)轉(zhuǎn)移到另一個(gè)分區(qū),而不需要在分區(qū)之間的交易所或受信任的第三方。
為了使用Cosmos Hub開發(fā)強(qiáng)大的可互操作區(qū)塊鏈和區(qū)塊鏈應(yīng)用,Cosmos SDK提供了區(qū)塊鏈常用模塊的開發(fā)“入門套件”,而不是限制可實(shí)現(xiàn)的用戶故事,從而為應(yīng)用定制提供了最大的靈活性。
IRIS 技術(shù)創(chuàng)新
IRIS網(wǎng)絡(luò)的目標(biāo)是為構(gòu)建分布式商業(yè)應(yīng)用提供技術(shù)基礎(chǔ)設(shè)施,它超越了主要用于數(shù)字資產(chǎn)的現(xiàn)有區(qū)塊鏈系統(tǒng)。
我們打算通過(guò)IRIS網(wǎng)絡(luò)解決的關(guān)鍵挑戰(zhàn)在于兩個(gè)方面:
· 利用分布式賬本支持鏈下運(yùn)算資源的集成和協(xié)同
· 服務(wù)跨異構(gòu)區(qū)塊鏈的互操作性
我們通過(guò)將面向服務(wù)的基礎(chǔ)架構(gòu)融入Cosmos / Tendermint來(lái)應(yīng)對(duì)這些挑戰(zhàn)。
我們的設(shè)計(jì)繼承了多年來(lái)面向服務(wù)架構(gòu)(Service-oriented Architecture,SOA)實(shí)踐的思維模式。 SOA是一種架構(gòu)方法,用于創(chuàng)建由自治服務(wù)構(gòu)建的系統(tǒng),這些系統(tǒng)具有明確的邊界、共享模式和契約[13]。早期的SOA實(shí)踐側(cè)重于實(shí)施企業(yè)服務(wù)總線(Enterprise Service Bus,ESB),通過(guò)服務(wù)提供者和服務(wù)消費(fèi)者之間的各種點(diǎn)對(duì)點(diǎn)連接組成公用總線,實(shí)現(xiàn)服務(wù)間的通信。但是,通過(guò)ESB集中管理服務(wù)可能會(huì)觸發(fā)單點(diǎn)故障,也會(huì)增加服務(wù)部署的依賴性。最近大量的微服務(wù)架構(gòu)可以看作是SOA的發(fā)展,不再關(guān)注ESB而是使用輕量級(jí)的消息隊(duì)列進(jìn)行服務(wù)間通信。在IRIS網(wǎng)絡(luò)中,服務(wù)之間的通信旨在通過(guò)實(shí)施區(qū)塊鏈作為信任機(jī)器來(lái)協(xié)同實(shí)現(xiàn)商業(yè)協(xié)作,使它在服務(wù)提供者和服務(wù)消費(fèi)者之間很難建立信任的前提下也能運(yùn)行。
IRIS網(wǎng)絡(luò)使用Tendermint協(xié)議作為高性能的共識(shí)引擎。利用Tendermint的區(qū)塊鏈應(yīng)用接口(Application BlockChain Interface,ABCI)提供的靈活性,我們定義了一組服務(wù)的基礎(chǔ)交易類型,包括:服務(wù)提供,服務(wù)消費(fèi)和服務(wù)治理。如前所述,大多數(shù)業(yè)務(wù)邏輯不適合作為區(qū)塊鏈上確定的智能合約來(lái)實(shí)施,我們正在使用這個(gè)服務(wù)層將業(yè)務(wù)應(yīng)用的特定邏輯和事務(wù)處理移出區(qū)塊鏈,僅使用區(qū)塊鏈對(duì)這些服務(wù)產(chǎn)生的結(jié)果達(dá)成共識(shí)。這一想法也受到區(qū)塊鏈社區(qū)已有成果的啟發(fā),將一些復(fù)雜計(jì)算從主鏈上移除以解決性能問(wèn)題,例如Lightning Network的離線狀態(tài)通道以及Plasma的防欺詐側(cè)鏈。盡管我們沒(méi)有實(shí)施側(cè)鏈,但是我們將傳統(tǒng)業(yè)務(wù)邏輯計(jì)算從區(qū)塊鏈中剝離出來(lái),并將其用作復(fù)雜業(yè)務(wù)協(xié)作的可信中介總線。
對(duì)于跨鏈通信,Cosmos IBC 定義了一個(gè)協(xié)議用于將價(jià)值從一條鏈上的某個(gè)帳戶轉(zhuǎn)移到另一條鏈上的某個(gè)帳戶的協(xié)議。而IRIS網(wǎng)絡(luò)設(shè)計(jì)了新的語(yǔ)義,以允許利用IBC調(diào)用跨鏈計(jì)算資源。我們認(rèn)為這種能力在構(gòu)建可擴(kuò)展的業(yè)務(wù)應(yīng)用程序時(shí)非常重要。更詳細(xì)的潛在用例將會(huì)在后面描述。
IRIS網(wǎng)絡(luò)旨在提供服務(wù)基礎(chǔ)設(shè)施,以處理和協(xié)同鏈上的交易處理與鏈下的數(shù)據(jù)處理和業(yè)務(wù)邏輯執(zhí)行。必要時(shí),擴(kuò)展的IBC功能允許那些鏈下的處理被跨鏈調(diào)用。 按目前的設(shè)想,IRIS網(wǎng)絡(luò)還將包含客戶端工具,一個(gè)支持跨鏈多資產(chǎn)存儲(chǔ)的智能錢包以及服務(wù)消費(fèi)方和提供方使用的iServices。 我們計(jì)劃提供SDK以輕松構(gòu)建iServices。 例如,對(duì)于特定的服務(wù)定義,客戶端Client SDK將生成服務(wù)提供方的框架以及服務(wù)消費(fèi)方的模塊。
IRIS 網(wǎng)絡(luò)設(shè)計(jì)
如上圖所示,IRIS網(wǎng)絡(luò)在設(shè)計(jì)上與Cosmos網(wǎng)絡(luò)具有相同的拓?fù)浣Y(jié)構(gòu)。 我們計(jì)劃將IRIS Hub作為Cosmos眾多分區(qū)和區(qū)域型Hub之一與Cosmos Hub連接起來(lái)。IRIS SDK本身就是計(jì)劃對(duì)Cosmos SDK的擴(kuò)展,由IRIS SDK開發(fā)的IRIS全節(jié)點(diǎn)旨在提供一個(gè)服務(wù)的基礎(chǔ)設(shè)施,并在內(nèi)部集成了分布式文件系統(tǒng)IPFS(InterPlanetary File System,IPFS)。
IRIS Services(又名“iServices”)旨在對(duì)鏈下服務(wù)從定義、綁定(服務(wù)提供方注冊(cè))、調(diào)用到治理(分析和爭(zhēng)端解決)的全生命周期傳遞,來(lái)跨越區(qū)塊鏈?zhǔn)澜绾蛡鹘y(tǒng)業(yè)務(wù)應(yīng)用世界之間的鴻溝。 IRIS SDK通過(guò)增強(qiáng)的IBC處理邏輯來(lái)支持服務(wù)語(yǔ)義,以允許分布式商業(yè)服務(wù)在區(qū)塊鏈互聯(lián)網(wǎng)上可用。
盡管IRIS網(wǎng)絡(luò)專注于為分布式業(yè)務(wù)應(yīng)用提供創(chuàng)新解決方案,但它仍是Cosmos網(wǎng)絡(luò)的一部分。 連接到IRIS Hub的所有分區(qū)都可以通過(guò)標(biāo)準(zhǔn)IBC協(xié)議與Cosmos網(wǎng)絡(luò)中的任何其他分區(qū)進(jìn)行交互。此外,我們相信通過(guò)引入服務(wù)語(yǔ)義層可以實(shí)現(xiàn)全新的業(yè)務(wù)場(chǎng)景,創(chuàng)新的IRIS網(wǎng)絡(luò)將增加Cosmos網(wǎng)絡(luò)的規(guī)模和多樣性。
網(wǎng)絡(luò)參與者
1. 服務(wù)消費(fèi)者 服務(wù)消費(fèi)者是通過(guò)向網(wǎng)絡(luò)發(fā)送請(qǐng)求并接收響應(yīng)來(lái)使用鏈下服務(wù)的用戶。
2. 服務(wù)提供者 服務(wù)提供者是那些可能提供一個(gè)或多個(gè)iService定義的用戶,并且通常是其它公有鏈和聯(lián)盟鏈甚至傳統(tǒng)企業(yè)應(yīng)用系統(tǒng)中鏈下服務(wù)和資源之間的適配器。服務(wù)提供者監(jiān)聽(tīng)和處理傳入的請(qǐng)求,并將結(jié)果發(fā)送回網(wǎng)絡(luò)。一個(gè)服務(wù)提供者可以向其它服務(wù)提供者發(fā)送請(qǐng)求而同時(shí)成為服務(wù)消費(fèi)者。服務(wù)提供者可以按計(jì)劃為他們提供的任何服務(wù)收取費(fèi)用,默認(rèn)情況下服務(wù)費(fèi)使用IRIS網(wǎng)絡(luò)的原生費(fèi)用通證“IRIS”定價(jià);也可以在適當(dāng)?shù)臅r(shí)候考慮使用Cosmos白名單中的其他費(fèi)用通證對(duì)服務(wù)定價(jià)。
3. 分析員 分析員是一種特殊用戶,代表了發(fā)起建立IRIS網(wǎng)絡(luò)的IRIS基金會(huì)有限公司(IRIS Foundation Limited),這是一家注冊(cè)在香港的股份有限公司。分析員是在分析模式中調(diào)用iServices的唯一授權(quán)用戶,旨在幫助創(chuàng)建和維護(hù)服務(wù)提供者的概要文件,通過(guò)這些客觀的概要文件服務(wù)消費(fèi)者可以選擇合適的服務(wù)提供者。
IRIS 服務(wù)
在本節(jié)中,我們列出了在IRIS網(wǎng)絡(luò)上部署iService時(shí)預(yù)計(jì)使用的技術(shù)參數(shù)。
服務(wù)定義
Method包括 :
· ID (int): iService中該方法的唯一標(biāo)識(shí)
· Name (string): iService中該方法的唯一名稱
· Description (string): 對(duì)該方法的描述
· Input (string): 對(duì)輸入?yún)?shù)的結(jié)構(gòu)化定義
· Output (string): 對(duì)輸出結(jié)果的機(jī)構(gòu)化定義
· Error (string): 對(duì)可能出現(xiàn)的錯(cuò)誤條件的結(jié)構(gòu)化定義
· OutputPrivacy (enum): 設(shè)置此方法是非隱私的還是公鑰加密的,可選值NoPrivacy/PubKeyEncryption
ServiceDefinition包括:
· Name (string): 該iService服務(wù)的名稱
· Description (string): 對(duì)此iService服務(wù)的描述
· Tags (string): 此iService服務(wù)以逗號(hào)分隔的關(guān)鍵字
· Creator (string): 對(duì)此iService服務(wù)創(chuàng)建者的描述。 可選
· ChainID (string): 最初定義此iService服務(wù)的區(qū)塊鏈標(biāo)識(shí)
· Messaging (enum): 設(shè)置此服務(wù)消息是單播還是多播,可選值Unicast/Multicast
· Methods ([]Method): 定義此iService服務(wù)中可用的方法
CreateServiceDefinitionTx 交易包括:
· Definition (ServiceDefinition): 創(chuàng)建的服務(wù)定義
服務(wù)綁定:
CreateServiceBindingTx 交易包括:
· DefinitionHash ([]byte): 服務(wù)定義的哈希值,由服務(wù)提供者綁定
· ChainID (string): 服務(wù)提供者所接入的區(qū)塊鏈標(biāo)識(shí)
· ProviderAddress ([]byte): 服務(wù)提供者的區(qū)塊鏈地址
· BindingType (enum): 對(duì)服務(wù)是本地還是全局的設(shè)置,可選值Local/Global;其中Global選項(xiàng)將綁定暴露到全局,反之則使用Local
· ProviderDeposit (int64): 服務(wù)提供者的保證金。服務(wù)提供者必須提供大于系統(tǒng)參數(shù)MinProviderDeposit所設(shè)(以IRIS通證計(jì)數(shù))的保證金,才能創(chuàng)建有效的綁定,押金越高意味著更值得信任
· ServicePricing (string): 服務(wù)定價(jià)。基于每個(gè)方法對(duì)服務(wù)價(jià)格模型的結(jié)構(gòu)化定義,包括每次的調(diào)用成本、批量折扣、促銷條款等;服務(wù)費(fèi)默認(rèn)使用IRIS通證也可以是白名單列出的其它費(fèi)用通證
· ServiceLevel (string): 服務(wù)水平。對(duì)服務(wù)提供者自己認(rèn)可所綁定服務(wù)水平的結(jié)構(gòu)化定義,包括響應(yīng)時(shí)間、可用性等。
· BindingExpiration (int64): 此綁定過(guò)期的區(qū)塊高度,采用負(fù)數(shù)即表示“永不過(guò)期”
UpdateServiceBindingTx 交易包括:
· DefinitionHash ([]byte): 服務(wù)定義的哈希值,由服務(wù)提供者綁定
· ChainID (string): 服務(wù)提供者接入?yún)^(qū)塊鏈標(biāo)識(shí)
· ProviderAddress ([]byte): 服務(wù)提供者的區(qū)塊鏈地址
· ChangeSet (string): 更改集,由前面三個(gè)字段確定的現(xiàn)有綁定所需更改內(nèi)容的結(jié)構(gòu)化定義
服務(wù)提供者可以在任何時(shí)間更新ServicePricing,ServiceLevel和BindingExpiration,但他們的少量保證金將隨后續(xù)(分別由ServiceLevelUpdateSlash和 BindingExpirationUpdateSlash規(guī)定的)兩種情況減少。當(dāng)BindingExpiration設(shè)置的高度低于當(dāng)前區(qū)塊高度,將立即被解釋為無(wú)效的綁定。
更新 ProviderDeposit將始終被視為adding to,即增加當(dāng)前保證金余額。當(dāng)保證金低于MinProviderDeposit時(shí),綁定將失效,直到服務(wù)提供者增加余額高于閾值方可恢復(fù)。綁定過(guò)期或者失效的時(shí)候,保證金余額將自動(dòng)返還給服務(wù)提供者。
BindingType可用從Local更改為Global,但反之不行。要把一個(gè)綁定從Global 降到 Local,服務(wù)提供者只能先使綁定的問(wèn)題失效,然后重新創(chuàng)建一個(gè) Local型的綁定。
如果服務(wù)提供者出于某種原因需要將綁定移到一個(gè)新地址,是不允許直接更新ProviderAddress的;必須先使當(dāng)前綁定失效,再使用所需的 ProviderAddress創(chuàng)建另一個(gè)綁定。
一個(gè) ServiceBinding 的對(duì)象將在應(yīng)用程序成功的執(zhí)行這兩個(gè)交易時(shí)(例如,在IRIS SDK種的iService業(yè)務(wù)邏輯)被創(chuàng)建或更新。
ServiceBinding包括:
· DefinitionHash ([]byte)
· ChainID (string)
· ProviderAddress ([]byte)
· ServiceLevel (string)
· ServicePricing (string)
· BindingExpiration (int64)
· IsValid (enum): 可選項(xiàng)True/False
服務(wù)調(diào)用
服務(wù)消費(fèi)者和服務(wù)提供者被建議通過(guò) 端點(diǎn)(endpoints) 交互。有兩種服務(wù)端點(diǎn) —— 請(qǐng)求表(request table) 和 響應(yīng)表(response table) (見(jiàn)上圖)。服務(wù)請(qǐng)求被添加到請(qǐng)求表,感興趣的服務(wù)提供者監(jiān)控這些請(qǐng)求表并接收和處理發(fā)送給他們的請(qǐng)求; 服務(wù)結(jié)果(或錯(cuò)誤)被返回由相應(yīng)的服務(wù)消費(fèi)者反過(guò)來(lái)監(jiān)控的響應(yīng)表中。
Multicast多播服務(wù)的所有綁定共享一個(gè)請(qǐng)求表;而Unicast單播服務(wù)為每個(gè)綁定創(chuàng)建和維護(hù)單獨(dú)的請(qǐng)求表。 至于另一個(gè)方向(的服務(wù))將為每個(gè)服務(wù)消費(fèi)者創(chuàng)建和管理專用的響應(yīng)表。
ServiceRequest交易包括:
· ChainID (string): 服務(wù)消費(fèi)者所接入的區(qū)塊鏈標(biāo)識(shí)ID
· ConsumerAddress ([]byte): 服務(wù)消費(fèi)者所的區(qū)塊鏈地址
· DefinitionHash ([]byte): 服務(wù)定義的哈希值
· MethodID (int): 被調(diào)用的方法ID
· InputValue (string): 輸入值的結(jié)構(gòu)化表示
· BindingHash ([]byte):在‘Unicast’單播服務(wù)情況下目標(biāo)綁定的哈希值。 可選
· MaxServiceFee (int64): 服務(wù)消費(fèi)者愿意為一個(gè)‘Multicast’多播請(qǐng)求支付的最大服務(wù)費(fèi)金額 。可選
· Timeout (int): 服務(wù)消費(fèi)者愿意等待響應(yīng)返回的最大區(qū)塊數(shù)
PostServiceRequestTx 交易包括:
· Requests ([]ServiceRequest): 被發(fā)送的服務(wù)請(qǐng)求
· RequestDeposits ([]int64): 服務(wù)消費(fèi)者必須為每個(gè)請(qǐng)求者(使用IRIS計(jì)數(shù))支付大于MinRequestDeposit的押金。此押金目的是為了激勵(lì)消費(fèi)者及時(shí)確認(rèn)收到的服務(wù)響應(yīng)(參考 ConfirmServiceResponseTx)。
應(yīng)用程序?qū)Ⅱ?yàn)證用戶與‘ChainID’和‘ConsumerAddress’一致的每一個(gè)請(qǐng)求、目標(biāo)綁定的有效性、請(qǐng)求押金充足,服務(wù)消費(fèi)者帳戶余額足夠支付請(qǐng)求押金和服務(wù)費(fèi)用,并且請(qǐng)求的總數(shù)小于MaxRequestPostBatch。
當(dāng)一個(gè)已驗(yàn)證請(qǐng)求被追加到請(qǐng)求表中時(shí),相關(guān)服務(wù)費(fèi)用(對(duì)‘Multicast’多播方式是‘MaxServiceFee’)將從服務(wù)消費(fèi)者的賬戶中扣除并鎖定到第三方托管。
GetServiceRequest 查詢包括:
· DefinitionHash ([]byte): 服務(wù)定義的哈希值
· BindingHash ([]byte): 服務(wù)提供者對(duì)此問(wèn)題綁定服務(wù)的哈希值; 應(yīng)用程序?qū)Ⅱ?yàn)證綁定有效,并且調(diào)用者具有匹配綁定的區(qū)塊鏈標(biāo)識(shí)ChainID和服務(wù)提供者地址ProviderAddress
· BeginHeight (uint64): 應(yīng)用程序應(yīng)當(dāng)從此區(qū)塊高度開始檢索對(duì)服務(wù)提供者的請(qǐng)求,一般是最大請(qǐng)求數(shù)‘BatchSize’和‘MaxRequestGetBatch’中較小的一個(gè)
· BatchSize (int): 返回的最大請(qǐng)求數(shù)
ServiceResponse 查詢包括:
· RequestHash ([]byte): 所匹配請(qǐng)求的哈希值
· BindingHash ([]byte): 服務(wù)提供者綁定服務(wù)的哈希值
· OutputValue ([]byte): 輸出結(jié)果的結(jié)構(gòu)化(可能加密)表示。可選
· ErrorMsg (string): 錯(cuò)誤信息的結(jié)構(gòu)化表示。可選
PostServiceResponseTx 交易包含:
· Responses ([]ServiceResponse): 服務(wù)回復(fù)內(nèi)容
應(yīng)用程序?qū)Ⅱ?yàn)證服務(wù)提供者的每個(gè)響應(yīng)是否帶有匹配的區(qū)塊鏈標(biāo)識(shí)ChainID和地址ProviderAddress,并且該交易中的響應(yīng)數(shù)少于MaxResponsePostBatch。經(jīng)過(guò)驗(yàn)證的請(qǐng)求將附加到目標(biāo)消費(fèi)者的響應(yīng)表中。
GetServiceResponse 查詢包括:
· RequestHash ([]byte): 原始請(qǐng)求的哈希值,應(yīng)用程序?qū)⑿r?yàn)調(diào)用者是否有匹配的區(qū)塊鏈標(biāo)識(shí)‘ChainID’和服務(wù)消費(fèi)者地址‘ConsumerAddress’
· BeginHeight (uint64): 應(yīng)用程序應(yīng)當(dāng)從此區(qū)塊高度開始檢索服務(wù)提供者的響應(yīng),一般是最大響應(yīng)數(shù)BatchSize和MaxResponseGetBatch中的較小的一個(gè)
· BatchSize (int): 返回的最大響應(yīng)數(shù)
ConfirmServiceResponseTx 交易包含:
· ResponseHash ([][]byte): 待確認(rèn)響應(yīng)的哈希值
應(yīng)用程序?qū)Ⅱ?yàn)證每個(gè)待確認(rèn)響應(yīng)是否確實(shí)是由調(diào)用者發(fā)起的請(qǐng)求,并且此交易中的響應(yīng)數(shù)量小于MaxResponseConfirmBatch。
從Timeout超時(shí)窗口中退出的響應(yīng)(對(duì)于‘Multicast’多播服務(wù),當(dāng)MaxServiceFee隨響應(yīng)返回增加而消耗光時(shí))將不會(huì)被應(yīng)用程序接受。服務(wù)消費(fèi)者一收到‘Unicast’單播響應(yīng)就立即開始處理。然而,對(duì)于Multicast多播響應(yīng),必須等待Timeout超時(shí)窗口結(jié)束,然后才開始處理可能收到的全部響應(yīng)。
當(dāng)一個(gè)Unicast單播響應(yīng)被用戶確認(rèn),相關(guān)服務(wù)費(fèi)用將從托管賬戶中釋放到匹配的服務(wù)提供者賬戶 ——其中扣除少量(由‘ServiceFeeTaxRate’定義的)稅金并添加到系統(tǒng)準(zhǔn)備金(system reserve) 中; 同時(shí),相關(guān)請(qǐng)求的押金也將退還給服務(wù)消費(fèi)者。
在Multicast多播請(qǐng)求的情況有點(diǎn)復(fù)雜:每個(gè)響應(yīng)確認(rèn)時(shí),只有部分請(qǐng)求押金被退還給服務(wù)消費(fèi)者,即此響應(yīng)相關(guān)服務(wù)費(fèi)用占MaxServiceFee的比例; 在所有的響應(yīng)被確認(rèn)之后,此請(qǐng)求剩余的托管余額將會(huì)退還給服務(wù)消費(fèi)者。
如果請(qǐng)求超時(shí)而沒(méi)有看到任何響應(yīng),則應(yīng)用程序?qū)⑼泄苤械南嚓P(guān)余額以及請(qǐng)求押金全額退還給用戶。但是,如果用戶沒(méi)有(在ResponseConfirmTimeout+響應(yīng)區(qū)塊數(shù)的高度之前)及時(shí)確認(rèn)回復(fù),請(qǐng)求押金將被執(zhí)行一個(gè)(由ResponseConfirmDelayPenaltyRate定義的)小懲罰再退還給消費(fèi)者,與此同時(shí),相關(guān)服務(wù)費(fèi)將照常釋放給服務(wù)提供者。
爭(zhēng)議解決
在任何情況下如果服務(wù)消費(fèi)者對(duì)服務(wù)響應(yīng)不滿意,就應(yīng)該存在一種機(jī)制允許服務(wù)消費(fèi)者發(fā)出投訴,從而獲得可接受的解決方案,而不必求助于諸如法律系統(tǒng)等集中的權(quán)威。同時(shí),這種機(jī)制應(yīng)避免引入可能會(huì)被任一方濫用的主觀評(píng)價(jià)。
解決出現(xiàn)在IRIS網(wǎng)絡(luò)上的爭(zhēng)議,其過(guò)程類似于服務(wù)調(diào)用,不僅服務(wù)消費(fèi)者向服務(wù)提供者發(fā)送Complaint(服務(wù)),而且服務(wù)提供者以一個(gè)Resolution(服務(wù))進(jìn)行響應(yīng)。這些交互是通過(guò)一對(duì)稱為 投訴表(complaint table) 和 解決方案表(resolution table) 的全局端點(diǎn)來(lái)實(shí)現(xiàn)的。
在IRIS網(wǎng)絡(luò)目前的設(shè)計(jì)中,提交投訴時(shí)需要一份消費(fèi)押金。如果服務(wù)消費(fèi)者不及時(shí)確認(rèn)某個(gè)解決方案,將從該押金中扣除罰款。同樣地,如果服務(wù)提供者不及時(shí)響應(yīng)投訴,他的保證金將被部分削減。
Complaint 包含:
· ResponseHash ([]byte): 對(duì)爭(zhēng)議響應(yīng)的哈希
· Problem (string): 對(duì)服務(wù)響應(yīng)的問(wèn)題描述
· PreferredDisposal (enum): 可以是Refund或Redo選項(xiàng)
Resolution包括:
· ComplaintHash ([]byte): 對(duì)所匹配投訴的哈希
· Disposal (enum): 可以是Refund或Redo選項(xiàng)
· Refund (uint64): 服務(wù)費(fèi)退款。 可選
· OutputValue ([]byte):輸出結(jié)果的結(jié)構(gòu)化(可能加密)表示。 可選
如上所述,我們預(yù)期的爭(zhēng)議解決流程可能不具有法律約束力。盡管如此,我們認(rèn)為這將為解決IRIS網(wǎng)絡(luò)上的常見(jiàn)爭(zhēng)議提供有效手段。
服務(wù)分析
引入iService生態(tài)系統(tǒng)帶來(lái)一些挑戰(zhàn)。一個(gè)主要的挑戰(zhàn)是找到一種方法,讓服務(wù)消費(fèi)者更容易發(fā)現(xiàn)合適的服務(wù)提供者——服務(wù)消費(fèi)者需要性能指標(biāo)來(lái)評(píng)估和選擇服務(wù)提供商,但如果沒(méi)有服務(wù)消費(fèi)者的使用,性能指標(biāo)也就不可用。
為了試圖解決這個(gè)循環(huán)問(wèn)題,我們計(jì)劃引入一種分析機(jī)制,在這個(gè)機(jī)制中,一個(gè)享有特權(quán)的系統(tǒng)用戶即分析員,在常規(guī)的調(diào)度下調(diào)用所有活動(dòng)的服務(wù)。這將使網(wǎng)絡(luò)中的客觀性能數(shù)據(jù)(例如響應(yīng)時(shí)間、可用性、投訴處理等)對(duì)實(shí)際消費(fèi)者有用。
服務(wù)分析調(diào)用將免除服務(wù)費(fèi)用和消費(fèi)押金,但會(huì)產(chǎn)生網(wǎng)絡(luò)交易費(fèi)用。這些調(diào)用來(lái)自那些被應(yīng)用程序識(shí)別和認(rèn)可的保留地址。
對(duì)于新服務(wù),分析活動(dòng)將保持相對(duì)穩(wěn)定的水平,隨著它們開始吸引真正的服務(wù)消費(fèi)者調(diào)用并預(yù)計(jì)生成更多的性能數(shù)據(jù),分析活動(dòng)將逐漸減少單個(gè)服務(wù)的使用。
分析過(guò)程中發(fā)生的交易費(fèi)用默認(rèn)情況下從系統(tǒng)準(zhǔn)備金(system reserve)中支付,必要時(shí)基金會(huì)準(zhǔn)備金(Foundation reserve)將會(huì)介入。
查詢
上述所有與服務(wù)生命周期相關(guān)的對(duì)象都可以使用ABCI ‘Query’接口[[3]]查詢到。這些查詢將通過(guò)‘Query’連接執(zhí)行,并不參與共識(shí)過(guò)程。我們已經(jīng)看到了如何得到的GetServiceRequest和得到GetServiceResponse查詢作為服務(wù)調(diào)用過(guò)程的一部分。 上面描述的所有與服務(wù)相關(guān)的生命周期對(duì)象都可以使用ABCI查詢接口3來(lái)查詢。
以下是我們目前計(jì)劃的查詢的一個(gè)非詳盡的摘要:
服務(wù)對(duì)象
性能指標(biāo)
IBC 改進(jìn)
在Cosmos上建立自己的服務(wù)基礎(chǔ)架構(gòu)有一個(gè)獨(dú)特優(yōu)勢(shì):服務(wù)可以部署一次,并通過(guò)區(qū)塊鏈互聯(lián)網(wǎng)隨時(shí)隨地進(jìn)行調(diào)用。具體來(lái)說(shuō),我們的計(jì)劃是完成以下內(nèi)容:
1. 服務(wù)定義廣播到IRIS網(wǎng)絡(luò)中的每個(gè)分區(qū);
2. 全局服務(wù)綁定廣播到IRIS網(wǎng)絡(luò)中的每個(gè)分區(qū);
3. 針對(duì)遠(yuǎn)程提供者的服務(wù)請(qǐng)求或投訴被路由到提供者所連接的區(qū)塊鏈;
4. 針對(duì)遠(yuǎn)程消費(fèi)者的服務(wù)響應(yīng)或決議被路由回消費(fèi)者所連接的區(qū)塊鏈。
在處理一個(gè)CreateServiceDefinitionTx交易時(shí),應(yīng)用程序被設(shè)計(jì)為首先在本地驗(yàn)證和存儲(chǔ)ServiceDefinition對(duì)象,然后創(chuàng)建一個(gè)包含了對(duì)每個(gè)相鄰鏈定義的IBCPacket。
每個(gè)相鄰鏈最終從相應(yīng)的中繼過(guò)程中接收包含該數(shù)據(jù)包的IBCPacketTx;如果此定義在接收鏈中尚不存在,則后者將通過(guò)為他的每個(gè)相鄰鏈(除了最初接收數(shù)據(jù)包的源鏈之外)創(chuàng)建一個(gè)IBCPacket來(lái)傳遞此定義;如果該定義已經(jīng)存在,接收鏈將停止傳遞此定義。
同樣,當(dāng)ServiceBinding創(chuàng)建或更新它的BindingType集合或更新為Global時(shí),將為每個(gè)相鄰鏈創(chuàng)建一個(gè)包含綁定的IBCPacket數(shù)據(jù)包,并在整個(gè)IRIS網(wǎng)絡(luò)中進(jìn)行廣播。
上述IBCPacket由以下部分組成:
· Header (IBCPacketHeader) :數(shù)據(jù)包的頭部
· Payload(ServiceDefinition或ServiceBinding):服務(wù)定義或綁定的字節(jié)數(shù)
前面提到的IBCPacketHeader由以下部分組成:
· SrcChainID(string):創(chuàng)建此數(shù)據(jù)包的區(qū)塊鏈標(biāo)識(shí)ID
· DstChainID(string):此數(shù)據(jù)包將派往的相鄰區(qū)塊鏈標(biāo)識(shí)ID
· Number(int):數(shù)據(jù)包對(duì)應(yīng)的唯一編號(hào)
· Status(enum):‘NoAck’
· Type (string):“iris-service-definition”或者是“iris-service-binding”
現(xiàn)在讓我們來(lái)看看如何通過(guò)IBC發(fā)生跨鏈服務(wù)調(diào)用。當(dāng)請(qǐng)求一個(gè)Unicast單播服務(wù)時(shí),應(yīng)用程序檢查目標(biāo)綁定是否是Local本地的,如果是Local則將ServiceRequest追加到相應(yīng)的請(qǐng)求表中,如2.2所述;否則,將會(huì)創(chuàng)建一個(gè)包含ServiceRequest的IBCPacket。
包含一個(gè)‘ServiceRequest’的IBCPacket由以下部分組成:
· Header(IBCPacketHeader):數(shù)據(jù)包的頭部
· Payload(ServiceRequest):服務(wù)請(qǐng)求的字節(jié)數(shù)
前面提到的IBCPacketHeader由以下部分組成:
· SrcChainID(string):創(chuàng)建此數(shù)據(jù)包的區(qū)塊鏈標(biāo)識(shí)ID
· DstChainID(string):遠(yuǎn)程服務(wù)提供者所在的區(qū)塊鏈標(biāo)識(shí)ID,例如‘ServiceRequest’、‘ServiceBinding’、‘ChainID’
· Number(int):數(shù)據(jù)包對(duì)應(yīng)的唯一編號(hào)
· Status(enum):‘AckPending’
· Type(string):“iris-service-request”
· MaxHeight(int):當(dāng)前高度加上‘ServiceRequest.Timeout’
當(dāng)遠(yuǎn)程請(qǐng)求最終到達(dá)目標(biāo)鏈時(shí),應(yīng)用程序?qū)⑵渥芳拥较鄳?yīng)的端點(diǎn)(請(qǐng)求表)中,以便進(jìn)行目標(biāo)綁定。對(duì)此遠(yuǎn)程請(qǐng)求的響應(yīng)將被包裝在一個(gè)收據(jù)IBCPacket中,該收據(jù)被一直路由回到源鏈,并將其追加到原始消費(fèi)者的遠(yuǎn)程端點(diǎn)(響應(yīng)表)中。
對(duì)遠(yuǎn)程的Multicast多播服務(wù)的請(qǐng)求以相同的方式處理,只不過(guò)可以在源鏈中生成多個(gè)IBCPacket。
遠(yuǎn)程投訴和解決的工作方式與請(qǐng)求和響應(yīng)的方式相同,因此在此不做詳細(xì)闡述。
下面是應(yīng)用程序依賴IBCPacket類型的完整列表:
用例
在本節(jié)中,我們?yōu)镮RIS網(wǎng)絡(luò)列出了一些可能的用例。
分布式人工智能用于隱私保護(hù)下的數(shù)據(jù)分析
這個(gè)用例的服務(wù)基礎(chǔ)架構(gòu)已由位于上海的科技創(chuàng)業(yè)公司邊界智能進(jìn)行了原型設(shè)計(jì),并將其應(yīng)用到聯(lián)盟鏈產(chǎn)品BEAN (BlockchainEdge Analytics Network)中,用于解決長(zhǎng)期已來(lái)為運(yùn)行分析模型獲取數(shù)據(jù)的挑戰(zhàn)。盡管同態(tài)加密是允許通過(guò)加密數(shù)據(jù)實(shí)現(xiàn)計(jì)算的關(guān)鍵方法之一,但由于性能低下,實(shí)際上無(wú)法解決現(xiàn)實(shí)世界的機(jī)器學(xué)習(xí)問(wèn)題。因此,BEAN的創(chuàng)建提供了另一種解決方案--利用傳統(tǒng)的分布式人工智能研究[14]中的模型并行性和SOA設(shè)計(jì)模式,作為區(qū)塊鏈的附加層開發(fā)分布式分析服務(wù)。
為了保護(hù)數(shù)據(jù)存取,運(yùn)行在數(shù)據(jù)端的(部分)模型需要開放給客戶端,并在服務(wù)定義中說(shuō)明。由于只有部分模型開放給客戶端,模型開發(fā)人員不必?fù)?dān)心有人竊取他們的想法;同樣,數(shù)據(jù)擁有者永遠(yuǎn)不需要擔(dān)心失去對(duì)其數(shù)據(jù)使用的控制,因?yàn)閿?shù)據(jù)不會(huì)離開他們的數(shù)據(jù)源。
其他潛在的好處可能包括以下幾點(diǎn):
1. 僅在鏈上交換少量參數(shù)數(shù)據(jù),這可以幫助提高性能。
2. 一種更實(shí)用的數(shù)據(jù)使用審計(jì)方法,這在醫(yī)療保健領(lǐng)域經(jīng)常被用到。
醫(yī)療健康數(shù)據(jù)隱私度高,涉及眾多安全需求。這就為醫(yī)療健康數(shù)據(jù)用于跨組織協(xié)作的目的提出了挑戰(zhàn)(例如用于輔助診斷的跨醫(yī)院會(huì)診記錄搜索,新藥臨床試驗(yàn)的患者身份,健康保險(xiǎn)自動(dòng)理賠等)。最小化可行產(chǎn)品(Minimum Viable Product,MVP)服務(wù)層的實(shí)現(xiàn)是建立在Ethermint的基礎(chǔ)之上,試圖連接眾多醫(yī)院、保險(xiǎn)公司和分析服務(wù)提供者,以提供具有隱私保護(hù)的醫(yī)療健康數(shù)據(jù)分析能力。
支持鏈上服務(wù)注冊(cè)和調(diào)用的智能合約已經(jīng)實(shí)現(xiàn)。鏈下數(shù)據(jù)處理的一個(gè)例子是支持相關(guān)診斷組(Diagnosis Related Group,DRG)的分組分析服務(wù)。更具體地說(shuō),當(dāng)一個(gè)醫(yī)院用戶調(diào)用DRG服務(wù)時(shí),原始醫(yī)療記錄將在鏈下進(jìn)行處理,使用服務(wù)提供者提供的客戶端NLP(由SQL和Python實(shí)現(xiàn))代碼存根來(lái)提取通過(guò)區(qū)塊鏈接收DRGS服務(wù)傳來(lái)的結(jié)構(gòu)化數(shù)據(jù),而不傳遞高度機(jī)密的原始醫(yī)療記錄。
BEAN場(chǎng)景闡述了一個(gè)更復(fù)雜的服務(wù)使用案例,包括實(shí)現(xiàn)分布式分析、連接服務(wù)提供者和服務(wù)消費(fèi)者、利用區(qū)塊鏈提供可審計(jì)交易平臺(tái)以及可信任的分布式計(jì)算基礎(chǔ)。
數(shù)據(jù)和分析電子市場(chǎng)
通過(guò)對(duì)幾個(gè)AI+區(qū)塊鏈項(xiàng)目的研究,發(fā)現(xiàn)似乎大部分項(xiàng)目都旨在提供數(shù)據(jù)交換市場(chǎng)和分析API市場(chǎng)。在建議的IRIS基礎(chǔ)架構(gòu)中,通過(guò)使用IRIS服務(wù)提供者SDK來(lái)發(fā)布數(shù)據(jù)作為數(shù)據(jù)服務(wù)和包裝分析API作為分析服務(wù),從而輕松地構(gòu)建這些網(wǎng)絡(luò)。
分布式電子商務(wù)
將建議的IRIS基礎(chǔ)架構(gòu)與傳統(tǒng)系統(tǒng)(例如ERP)集成以獲取庫(kù)存信息,或?qū)尚艛?shù)據(jù)源進(jìn)行鏈間查詢以獲取交通和天氣數(shù)據(jù)等信息,此方法與許多企業(yè)應(yīng)用程序開發(fā)人員已經(jīng)熟悉的方法非常相似。通過(guò)集成這些服務(wù)來(lái)支持分布式電子商務(wù)應(yīng)用程序,就有可能提供與中心化系統(tǒng)(例如Amazon亞馬遜或Alibaba阿里巴巴)相近的用戶體驗(yàn)。
公有鏈和聯(lián)盟鏈的結(jié)合
對(duì)于許多業(yè)務(wù)場(chǎng)景而言,采用混合了公有鏈和聯(lián)盟鏈優(yōu)良特性的混合架構(gòu),從而可以提供有益的結(jié)果,特別是在性能、安全性和經(jīng)濟(jì)激勵(lì)方面。
例如,醫(yī)院和保險(xiǎn)公司可以組成聯(lián)盟鏈以支持高性能的醫(yī)療保險(xiǎn)交易,同時(shí)識(shí)別其他信息,例如關(guān)于某些疾病的全球服務(wù)的統(tǒng)計(jì)數(shù)據(jù),這些信息可以從其他公有鏈中調(diào)用。從公有鏈接收到的通證可以返回給聯(lián)盟鏈中的信息提供者,從而激勵(lì)系統(tǒng)參與者改善和提高服務(wù)質(zhì)量。利用IRIS提供的這種基礎(chǔ)架構(gòu),可以在滿足嚴(yán)格的性能和安全要求的前提下實(shí)現(xiàn)大規(guī)模的自發(fā)協(xié)作。
IRIS服務(wù)基礎(chǔ)架構(gòu)可以支持許多用例,例如更高效的基于資產(chǎn)的安全系統(tǒng)、分布式監(jiān)管技術(shù)(如嚴(yán)格評(píng)估,互助市場(chǎng)等)。IRIS項(xiàng)目計(jì)劃之一還包括與此類應(yīng)用程序項(xiàng)目團(tuán)隊(duì)展開密切合作,以支持并使他們能夠擁有所需的區(qū)塊鏈基礎(chǔ)架構(gòu),讓他們專注于更高效地交付預(yù)期的業(yè)務(wù)價(jià)值。
通證經(jīng)濟(jì)
與Cosmos網(wǎng)絡(luò)相似,IRIS網(wǎng)絡(luò)也被設(shè)計(jì)為支持多通證模型。這些通證被不同的分區(qū)所擁有,同時(shí)可以通過(guò)IRIS樞紐從一個(gè)分區(qū)轉(zhuǎn)移到另一個(gè)分區(qū)。我們構(gòu)建了兩種通證類型來(lái)支持IRIS網(wǎng)絡(luò)上的操作:
· 權(quán)益通證
· 費(fèi)用通證
權(quán)益通證
與Cosmos網(wǎng)絡(luò) 15采用同樣的權(quán)益機(jī)制設(shè)計(jì),IRIS樞紐也擁有自己特殊的原生通證來(lái)表示權(quán)益。通證命名為IRIS。關(guān)于IRIS通證,我們?cè)O(shè)計(jì)了一些具體功能,其包括:
· 通過(guò)驗(yàn)證人和代理人系統(tǒng),將IRIS通證整合到IRIS網(wǎng)絡(luò)的共識(shí)引擎驗(yàn)證人中;
· 代表投票權(quán),參與IRIS網(wǎng)絡(luò)的治理
費(fèi)用通證
在IRIS網(wǎng)絡(luò)中有兩種費(fèi)用通證:
· 網(wǎng)絡(luò)費(fèi)用 用來(lái)進(jìn)行垃圾請(qǐng)求防范和支付驗(yàn)證人進(jìn)行賬本維護(hù)的報(bào)酬;
· 服務(wù)費(fèi)用 用來(lái)支付部署iServices的服務(wù)提供者的報(bào)酬。默認(rèn)支付服務(wù)的通證為IRIS通證
IRIS網(wǎng)絡(luò)旨在支持所有來(lái)自Cosmos網(wǎng)絡(luò)白名單中的費(fèi)用通證,例如 Photon光子, 以及IRIS通證。
支持各種白名單的中的費(fèi)用通證是我們計(jì)劃從Cosmos中采用的一個(gè)特性。它可以為網(wǎng)絡(luò)的參與者提供增強(qiáng)的體驗(yàn)。在Cosmos中,對(duì)于網(wǎng)絡(luò)費(fèi)用通證network fee token,每一個(gè)驗(yàn)證人都擁有配置文件來(lái)定義他自己對(duì)每一個(gè)費(fèi)用通證的價(jià)值評(píng)估。驗(yàn)證人可以運(yùn)行一個(gè)獨(dú)立的定時(shí)器,根據(jù)實(shí)時(shí)市場(chǎng)數(shù)據(jù)更新配置信息,或者使用默認(rèn)的配置數(shù)據(jù)。
對(duì)于服務(wù)費(fèi)用通證service fee token的設(shè)計(jì),同樣支持多通證模型。因此,在IRIS網(wǎng)絡(luò)上的服務(wù)提供者,可以自由選擇白名單中出現(xiàn)的通證為其服務(wù)收費(fèi)。
為了幫助IRIS網(wǎng)絡(luò)的參與者降低通證價(jià)格的波動(dòng)性,基金會(huì)希望發(fā)展全球性的iService以從不同的交易所、或者從oracle預(yù)言機(jī)的潛在信息中獲取市場(chǎng)價(jià)格數(shù)據(jù)。
權(quán)益通證和費(fèi)用通證都會(huì)進(jìn)一步細(xì)化以確保符合法律和監(jiān)管規(guī)定的義務(wù)。
初始通證分配
最開始,系統(tǒng)預(yù)計(jì)發(fā)放2000000000個(gè)IRIS通證。IRIS通證的分布計(jì)劃如下:
· 私募: 25%
· 邊界智能: 15% (自IRIS Hub主網(wǎng)上線起的4年成熟期,每月釋放1/48。)
· Tendermint: 10% (自IRIS Hub主網(wǎng)上線起的2年成熟期,每月釋放1/24。)
· IRIS 基金會(huì): 15% (保留用作基金會(huì)的日常建設(shè)和運(yùn)營(yíng))
· 生態(tài)建設(shè): 30% (在鏈接到IRIS Hub的分區(qū)中進(jìn)行通證交換;激勵(lì)潛在用戶;獎(jiǎng)勵(lì)的合作伙伴;潛在未來(lái)募資)
· 對(duì)Cosmos生態(tài)ATOM持有者的空投: 5%
如果IRIS網(wǎng)絡(luò)完全開發(fā)完畢,IRIS通證每年的通脹速率會(huì)根據(jù)網(wǎng)絡(luò)質(zhì)押情況通過(guò)社區(qū)治理進(jìn)行調(diào)整,以期很大一部分流通中的IRIS通證能被參與者作為權(quán)益證明主動(dòng)投入到網(wǎng)絡(luò)驗(yàn)證中。
首要說(shuō)明的是,私募的IRIS通證將用于開發(fā)IRIS網(wǎng)絡(luò)。這部分通證的使用計(jì)劃如下:
· 運(yùn)營(yíng): 10% (包括服務(wù)提供者和承建商的費(fèi)用,例如,審計(jì)、顧問(wèn)、法律和其他第三方費(fèi)用,以及其它管理費(fèi)))
· 軟件開發(fā): 50% (包括直接用于開發(fā)上線所需的成本、費(fèi)用和開支)
· 開發(fā)者支持: 10% (包括黑客馬拉松、志愿者獎(jiǎng)勵(lì)和培訓(xùn)項(xiàng)目)
· 研發(fā)贊助: 10% (包括會(huì)議、研究項(xiàng)目和大學(xué)合作)
· 市場(chǎng)拓展: 20% (包括業(yè)務(wù)發(fā)展,社區(qū)發(fā)展和推廣,以及出差、交流、出版、發(fā)行和其他費(fèi)用等)
評(píng)論
查看更多