区块链BaaS云服务(28)TOP Network 之全分片主链(Layer-1)
1. 概述
TOP Network在計(jì)算、狀態(tài)和網(wǎng)絡(luò)這三個(gè)方面,是一個(gè)全面的多層動(dòng)態(tài)分片。
1.1 VRF-FTS 隨機(jī)分片算法
“單片接管攻擊(Single-Shard Takeover Attack)”: 將網(wǎng)絡(luò)拆分成一個(gè)個(gè)小組后,惡意節(jié)點(diǎn)攻占分片變得更加容易
解決方法:分片都是隨機(jī)進(jìn)行的。隨機(jī)分片讓攻擊變得越來越難,因?yàn)閻阂鈱?shí)體無法讓它們的節(jié)點(diǎn)進(jìn)入任何特定的分片,降低合謀概率。
-可驗(yàn)證隨機(jī)函數(shù)(Verifiable Random Function)
將輸入映射為可驗(yàn)證的偽隨機(jī)輸出的加密方案: 允許創(chuàng)建無法被預(yù)測,卻可被公開驗(yàn)證的隨機(jī)種子。這些通過VRF生成的隨機(jī)種子,經(jīng)過"FTS(follow-the-satoshi)"算法加權(quán)計(jì)算后生成隨機(jī)數(shù),將驗(yàn)證節(jié)點(diǎn)隨機(jī)加入到分片中,以及將審計(jì)節(jié)點(diǎn)隨機(jī)加入到集群中。
1.2 動(dòng)態(tài)分片
- 每隔一段時(shí)間,分片中的一些節(jié)點(diǎn)會(huì)被重新分配到節(jié)點(diǎn)候選池,當(dāng)其他分片進(jìn)行選舉時(shí),這些節(jié)點(diǎn)會(huì)從候選池被選舉到新分片。
- 隨著時(shí)間的推移,分片將具有與先前完全不同的節(jié)點(diǎn)。因?yàn)槊看蝺H有少數(shù)節(jié)點(diǎn)被重新分配,當(dāng)節(jié)點(diǎn)分配到新分片的時(shí)候,會(huì)同步新分片的區(qū)塊數(shù)據(jù),所以分片的共識(shí)過程不會(huì)被中斷。
- 在路由/審核網(wǎng)絡(luò)中也是采取同樣的方法,其中審計(jì)節(jié)點(diǎn)是持續(xù)在集群之間被重新分配。此雙層動(dòng)態(tài)分片方案讓自適應(yīng)攻擊變得幾乎不可能。
1.3 多級(jí)分片
分片的目的是實(shí)現(xiàn)系統(tǒng)性能的線性擴(kuò)展。這意味著可擴(kuò)展性隨節(jié)點(diǎn)數(shù)量的增加而線性增加。為了實(shí)現(xiàn)線性擴(kuò)展,單個(gè)節(jié)點(diǎn)工作量必須脫離節(jié)點(diǎn)總數(shù)和全網(wǎng)交易總量。
- 對區(qū)塊鏈的所有資源進(jìn)行分片處理,包括狀態(tài)(存儲(chǔ))、計(jì)算(交易驗(yàn)證和智能合約執(zhí)行)和網(wǎng)絡(luò)(區(qū)塊廣播、跨分片通信等)。
1.4 雙層狀態(tài)分片
鏈的狀態(tài)信息包括所有用戶賬戶和智能合約的狀態(tài)信息。每個(gè)用戶賬戶和智能合約都由一個(gè)賬戶數(shù)據(jù)對象表示。每個(gè)賬戶對象包含多個(gè)屬性、關(guān)聯(lián)函數(shù)和一個(gè)小型NoSQL數(shù)據(jù)庫。
狀態(tài)以兩種方式分片。
- 實(shí)現(xiàn)全局狀態(tài)的分區(qū):節(jié)點(diǎn)物理機(jī)只存儲(chǔ)節(jié)點(diǎn)所在分片里的賬戶狀態(tài)信息,
- 由于驗(yàn)證節(jié)點(diǎn)只存儲(chǔ)與該分片關(guān)聯(lián)的子賬戶空間的狀態(tài)信息,因此它們無法充分驗(yàn)證從其他分片發(fā)送的交易,除非它們知道發(fā)送交易的賬戶狀態(tài)已正確更新。
1.4.1 使用表
-
存儲(chǔ)最近有過變更的賬戶的最新狀態(tài)信息。當(dāng)前所有的分片平分1024個(gè)表。賬戶需要被均勻平分,以便每個(gè)表負(fù)責(zé)大小相等的賬戶子空間。通過賬戶交易的Hash值可以快速確定賬戶與表的關(guān)系。這使得分片可以快速地從其他分片中提取相關(guān)狀態(tài)信息,并在提交交易之前檢查是否正確地更新了余額。
-
表還可用于批處理交易從而提高吞吐量。來自同一賬戶,及同一子賬戶空間中其他賬戶的多比交易,可以一起被打包在一個(gè)表中。這些表可以在一輪共識(shí)中被同時(shí)驗(yàn)證,大大提高了系統(tǒng)吞吐量。
1.5 三層計(jì)算分片
交易驗(yàn)證和智能合約的執(zhí)行都需要消耗計(jì)算資源,兩者都是hpPBFT共識(shí)機(jī)制。我們使用三層設(shè)計(jì)來實(shí)現(xiàn)可靠的計(jì)算分片。
- 當(dāng)交易被分發(fā)到分片進(jìn)行驗(yàn)證時(shí),該分片中的部分節(jié)點(diǎn)被隨機(jī)選中用于hpPBFT共識(shí)驗(yàn)證。
- 分片的其余節(jié)點(diǎn)可以監(jiān)視驗(yàn)證節(jié)點(diǎn)并輔助隨后的同步過程。
- 集群中的審計(jì)節(jié)點(diǎn)也通過二次審計(jì)參與hpPBFT共識(shí)驗(yàn)證。
1.6 三層共識(shí)網(wǎng)絡(luò)
- The Edge Network:充當(dāng)客戶端的接入點(diǎn),所有交易在被轉(zhuǎn)發(fā)到路由網(wǎng)絡(luò)之前都會(huì)被先發(fā)送給邊緣網(wǎng)絡(luò)的邊緣節(jié)點(diǎn)。
- The Audit Network:由隨機(jī)劃分為分片的審計(jì)節(jié)點(diǎn)組成。此層網(wǎng)絡(luò)負(fù)責(zé)處理跨分片通信和同步,同時(shí)參與交易驗(yàn)證。當(dāng)前Audit Network有2個(gè)分片,每個(gè)分片下轄2個(gè)Validate Network分片。
- The Validate Network:由包含驗(yàn)證節(jié)點(diǎn)的分片組成。這里是進(jìn)行交易驗(yàn)證的地方。在每個(gè)分片中,驗(yàn)證節(jié)點(diǎn)使用并行pBFT算法驗(yàn)證和確認(rèn)交易。
使用分層網(wǎng)絡(luò)的原因:
- 多種類型節(jié)點(diǎn)之間劃分職責(zé)有助于降低對節(jié)點(diǎn)的要求。
- 路由網(wǎng)絡(luò)處理大多數(shù)對帶寬要求較高的需求,例如跨分片通信,這就允許降低對驗(yàn)證節(jié)點(diǎn)的帶寬要求。
- 因?yàn)榭蛻舳酥荒軐⒔灰字苯影l(fā)送到邊緣節(jié)點(diǎn),從而保護(hù)路由和核心網(wǎng)絡(luò)免受泛濫交易的攻擊。
TOP Network所有網(wǎng)絡(luò)都支持分片擴(kuò)展。
總結(jié)
以上是生活随笔為你收集整理的区块链BaaS云服务(28)TOP Network 之全分片主链(Layer-1)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链BaaS云服务(28)TOP Ne
- 下一篇: 区块链BaaS云服务(28)TOP Ne