基于Insolar區(qū)塊鏈平臺(tái)的一些基本架構(gòu)介紹
最近我與一位高級(jí)軟件工程師和一個(gè)區(qū)塊鏈架構(gòu)師就Insolar進(jìn)行了一次對(duì)話,區(qū)塊鏈架構(gòu)師是世界上最大的軟件供應(yīng)商之一。這位工程師對(duì)前幾代的分散化和區(qū)塊鏈平臺(tái)提出了一些好觀點(diǎn)。我們的對(duì)話讓我解釋了Insolar區(qū)塊鏈平臺(tái)的一些基本架構(gòu)方面,并闡明了如何在一個(gè)系統(tǒng)中實(shí)現(xiàn)可伸縮性、透明性和許可性。讓我們來(lái)看看工程師經(jīng)常問(wèn)我的關(guān)于Insolar體系結(jié)構(gòu)的一些主要主題。
處理和持久性
Insolar網(wǎng)絡(luò)的基本大規(guī)模單元是Globula,可能包含多達(dá)1,000個(gè)屬于不同參與者的節(jié)點(diǎn)。目前,我們開(kāi)發(fā)主網(wǎng)和EnterpriseNet,其中的節(jié)點(diǎn)將基于云,由Insolar或其合作伙伴提供。將來(lái),節(jié)點(diǎn)可以放置在室內(nèi)或云中 - 例如, Insolar主網(wǎng)/EnterpriseNet或AWS等。
共識(shí)
Globula生活在周期中 - 就是脈沖。脈沖同步網(wǎng)絡(luò),是必須處理對(duì)象以執(zhí)行或驗(yàn)證的設(shè)定時(shí)間。他們的持續(xù)時(shí)間可以調(diào)整,在寫作時(shí)大約10秒。在每個(gè)脈沖,基于BFT的共識(shí)算法確保網(wǎng)絡(luò)狀態(tài)是一致的:新節(jié)點(diǎn)插入網(wǎng)絡(luò)上的共享視圖,同時(shí)刪除故障/可疑節(jié)點(diǎn)等。這確保所有節(jié)點(diǎn)的行為一致, 達(dá)成共識(shí)的規(guī)則。在每次達(dá)成共識(shí)之后,Globula中的所有“好”節(jié)點(diǎn)都被分配為不同對(duì)象(鏈)執(zhí)行不同的角色。由于完成了共識(shí),所有節(jié)點(diǎn)在網(wǎng)絡(luò)配置上具有相似的視圖,因此這種分配是精確且無(wú)爭(zhēng)議的。
節(jié)點(diǎn)角色
Insolar有Virtual Executors處理事務(wù),Virtual Validators,Light Material Executors和Light Material Validators持久處理和驗(yàn)證存儲(chǔ)操作的結(jié)果。共識(shí)協(xié)議確保沒(méi)有Executor可以驗(yàn)證自己的輸出,并且沒(méi)有節(jié)點(diǎn)可以在下一個(gè)脈沖期間可靠地預(yù)測(cè)其角色。
OmniScaling
每個(gè)特定事務(wù)只能有一個(gè)Executor,但許多Validator。如果事務(wù)花費(fèi)的時(shí)間超過(guò)一個(gè)脈沖,則Executor節(jié)點(diǎn)將獲得繼續(xù)執(zhí)行的權(quán)限(來(lái)自下一個(gè)脈沖上的可執(zhí)行執(zhí)行程序)。Validator的數(shù)量可以根據(jù)交易風(fēng)險(xiǎn)的感知價(jià)值進(jìn)行調(diào)整。同樣,這是OmniScaling的核心:在添加更多節(jié)點(diǎn)時(shí)允許容量的潛在線性增加。Insolar計(jì)劃通過(guò)匯集Executors來(lái)進(jìn)一步擴(kuò)展此功能。
冷熱儲(chǔ)存
持久層由Light和Heavy Material節(jié)點(diǎn)組成。Light節(jié)點(diǎn)負(fù)責(zé)構(gòu)建塊并將它們連接成鏈,以及形成物理存儲(chǔ)單元(在Insolar中稱為Jet Drops)。Light Material節(jié)點(diǎn)在預(yù)定義(可配置)的脈沖數(shù)量上有效地充當(dāng)緩存,而Heavy Material節(jié)點(diǎn)提供冷的長(zhǎng)期存儲(chǔ)。這允許避免為經(jīng)常訪問(wèn)的對(duì)象進(jìn)入冷存儲(chǔ)器。只有Material節(jié)點(diǎn)才能訪問(wèn)存儲(chǔ)的數(shù)據(jù) - 虛擬節(jié)點(diǎn)無(wú)法直接訪問(wèn)它。
接入速率
有人會(huì)說(shuō),為了處理一個(gè)物體,這必須最終從冷藏庫(kù)中提起,這是昂貴的。但是在Insolar區(qū)塊鏈平臺(tái)上,它只在極少數(shù)情況下完成,并且只能從Heavy到Light Material節(jié)點(diǎn)完成。在此之后,該物體被緩存。仍然需要在節(jié)點(diǎn)之間傳遞數(shù)據(jù),但是:僅針對(duì)直接參與所述數(shù)據(jù)對(duì)象的處理的節(jié)點(diǎn)(即,在單個(gè)Globula的情況下,并非所有網(wǎng)絡(luò)節(jié)點(diǎn))。相反,在像以太坊這樣的普通式區(qū)塊鏈平臺(tái)中,完整的網(wǎng)絡(luò)處理和交換數(shù)據(jù); 在Insolar上,這只發(fā)生在幾個(gè)(可配置的數(shù)量)節(jié)點(diǎn)上。
公共/私人和許可/無(wú)權(quán)
域作為治理工具
域是一種特殊的智能合約,定義了一個(gè)框架(策略和設(shè)置),在其中執(zhí)行其他智能合約。該框架可能包含大量?jī)?nèi)容:業(yè)務(wù)領(lǐng)域(例如貿(mào)易融資); 訪問(wèn)規(guī)則(許可或許可); 可以執(zhí)行智能合約并存儲(chǔ)其結(jié)果的位置(例如地理位置); 驗(yàn)證的共識(shí)規(guī)則(例如驗(yàn)證節(jié)點(diǎn)和/或算法的數(shù)量與風(fēng)險(xiǎn)值的對(duì)比); 等等。
Insolar網(wǎng)絡(luò)
我們相信,企業(yè)的任何實(shí)際設(shè)置都將獲得許可,因?yàn)槠髽I(yè)需要保護(hù)有價(jià)值的數(shù)據(jù)。但是,Insolar正在開(kāi)發(fā)主網(wǎng),需要加入程序,但一旦參與者加入,所有參與者都可以使用所有數(shù)據(jù)。為了確保網(wǎng)絡(luò)的穩(wěn)定性和用戶的安全性,主網(wǎng)的初始設(shè)置將利用Insolar和Insolar合作伙伴的節(jié)點(diǎn)。在后期階段,任何節(jié)點(diǎn)都可以通過(guò)放樣過(guò)程公開(kāi)加入。之后,我們將啟動(dòng)EnterpriseNet,其中將針對(duì)不同的業(yè)務(wù)案例和適當(dāng)?shù)臄?shù)據(jù)訪問(wèn)策略實(shí)施域。
互通性
Insolar開(kāi)發(fā)路線圖的后期是不同的Insolar網(wǎng)絡(luò)(云)之間的集成,以及與其他區(qū)塊鏈和分布式分類賬(DLT)的連接。一切都是Insolar區(qū)塊鏈平臺(tái)內(nèi)的契約,這意味著內(nèi)部和外部都有技術(shù)上類似的通信 - 通過(guò)遠(yuǎn)程調(diào)用和API調(diào)用。平臺(tái)代碼在Github上可用,我們計(jì)劃提供OEM包,因此大家都可以在完全私有(或相反,公共)設(shè)置中擴(kuò)展功能。
關(guān)于Insolar區(qū)塊鏈平臺(tái)的花絮
· Insolar沒(méi)有“挖掘”職能
· 節(jié)點(diǎn)必須在任何設(shè)置(公共或私有)中被授權(quán),有幾種機(jī)制和協(xié)議可確保它們符合網(wǎng)絡(luò)的利益。
· Insolar采用基于節(jié)點(diǎn)角色分離(executor/validators)的可擴(kuò)展性機(jī)制以及熱和冷持久性的分片。
· 由于上述角色模型,通信和數(shù)據(jù)傳輸?shù)臄?shù)量得到了高度優(yōu)化,并且比像以太網(wǎng)這樣的普通式區(qū)塊鏈平臺(tái)低了幾個(gè)數(shù)量級(jí)。
· 使用Insolar并不意味著所有數(shù)據(jù)和所有處理遷移到Insolar區(qū)塊鏈平臺(tái) - 該平臺(tái)可以是涉及現(xiàn)有系統(tǒng)的異構(gòu)設(shè)置的一部分。
· Insolar可以促進(jìn)許可或許可的不同情況,以及公共或私人或其組合。
以上內(nèi)容涵蓋了Insolar區(qū)塊鏈平臺(tái)的基本架構(gòu)和重要特征。 此外,我決定將其分為兩個(gè)部分,以進(jìn)一步深入了解Insolar的架構(gòu)。 在下一篇文章中,我們深入探討平臺(tái)的處理和持久性,以及私有/公共和許可/許可方面。 此外,我將澄清與早期DLT相比的架構(gòu)的一些方面。根據(jù)從平臺(tái)獲得的數(shù)據(jù)開(kāi)發(fā)快速報(bào)告數(shù)據(jù)庫(kù)。