保證安全去中心,提升公鏈擴(kuò)展
眾所周知,公鏈技術(shù)是區(qū)塊鏈行業(yè)發(fā)展的關(guān)鍵,只有在底層公鏈扎實(shí)、穩(wěn)健、高效運(yùn)轉(zhuǎn)的基礎(chǔ)上,區(qū)塊鏈的商業(yè)應(yīng)用才能發(fā)展和落地。而對(duì)于“可擴(kuò)展性”的突破,則是目前業(yè)界所面臨的共同難題,最為根本原因是區(qū)塊鏈技術(shù)在發(fā)展過(guò)程中存在的“三元悖論”理論。
OK區(qū)塊鏈工程院資深研發(fā)工程師吳承輝解釋道,所謂的“三元悖論”是指:任何一條公鏈不可能在同一時(shí)刻提升區(qū)塊鏈的去中心化、安全性和可擴(kuò)展性這三方面的性能。以如比特幣和以太坊,為了保證去中心化和安全性的特征,需要進(jìn)行全網(wǎng)節(jié)點(diǎn)共同驗(yàn)證,因此也就失去了可擴(kuò)展性。
OK公鏈如何實(shí)現(xiàn)這一設(shè)計(jì)目標(biāo)?SHINE JIANG和吳承輝分別從狀態(tài)分片、片內(nèi)共識(shí)、分片伸縮等3個(gè)層面,系統(tǒng)闡述了OK公鏈(OKChain)的分片技術(shù)選型,論證OK公鏈(OKChain)如何在“三元悖論”的理論下,實(shí)現(xiàn)突破性進(jìn)展。
創(chuàng)新性狀態(tài)分片機(jī)制
據(jù)吳承輝介紹,在礦工網(wǎng)絡(luò)結(jié)構(gòu)中OK公鏈(OKChain)創(chuàng)造性的將P2P網(wǎng)絡(luò)分為若干個(gè)共識(shí)組,每個(gè)共識(shí)組中內(nèi)設(shè)置一個(gè)Leader節(jié)點(diǎn),并運(yùn)行著一定的共識(shí)機(jī)制。同時(shí)這些若干的共識(shí)組又被進(jìn)一步分成“委員會(huì)”和“交易分片”兩大類(lèi)。
在此基礎(chǔ)上,OK公鏈(OKChain)通過(guò)定義epoch的輪替機(jī)制,實(shí)現(xiàn)了委員會(huì)和分片競(jìng)選,極大程度上防止了女巫攻擊,實(shí)現(xiàn)安全性的第一步保證,同時(shí)通過(guò)引用PoW進(jìn)行隨機(jī)值計(jì)算,減少了對(duì)資源的消耗。
“網(wǎng)絡(luò)分片只是第一步,只有實(shí)現(xiàn)交易分片,才能使各個(gè)分片并行處理,減少冗余計(jì)算和增加整個(gè)系統(tǒng)的吞吐性。”吳承輝說(shuō)到,在交易分片里往往會(huì)涉及到“發(fā)送方”和“接收方”兩端,OK公鏈(OKChain)通過(guò)對(duì)發(fā)送方地址進(jìn)行分片,增強(qiáng)了“雙花攻擊”的難度。
為了減少通信的復(fù)雜度,OK公鏈(OKChain)在設(shè)計(jì)過(guò)程中首次提出了“支票區(qū)塊”的概念,通過(guò)對(duì)支票區(qū)塊的打包處理,有效實(shí)現(xiàn)了片內(nèi)交易增多,跨片交易減少。同時(shí)在存儲(chǔ)結(jié)構(gòu)上,OK公鏈(OKChain)還實(shí)現(xiàn)了雙鏈結(jié)構(gòu),即在一個(gè)分片內(nèi)存儲(chǔ)交易區(qū)塊鏈和狀態(tài)區(qū)塊鏈兩條鏈,極大的優(yōu)化了出塊的流程。
多簽改進(jìn)版PBFT 實(shí)現(xiàn)快速共識(shí)
“在分片技術(shù)中,每個(gè)分片中的節(jié)點(diǎn)數(shù)是固定的,因此可以很方便的引入其他共識(shí)算法。”吳承輝在介紹中表示,PBFT共識(shí)算法能夠在抵御三分之一的拜占庭節(jié)點(diǎn)的同時(shí)保證安全運(yùn)行,因此OK公鏈在引入PBFT共識(shí)算法的基礎(chǔ)上,通過(guò)Leader節(jié)點(diǎn)輪替的機(jī)制,實(shí)現(xiàn)了對(duì)PBFT的進(jìn)一步改進(jìn)和提升。
此外,OK公鏈?zhǔn)褂昧薆LS的簽名方式,可以將多筆交易聚合成一個(gè)簽名。“這樣一來(lái),消息通信的復(fù)雜度和存儲(chǔ)簽名的大小均實(shí)現(xiàn)了降低,而且不需要進(jìn)一步通信,就能生成一個(gè)多重簽名,極大減少通信的次數(shù)。”吳承輝說(shuō)道。
在談到分片伸縮的概念時(shí),吳承輝表示OK公鏈實(shí)現(xiàn)了兩大難點(diǎn)的突破——新增分片和凍結(jié)分片。新增分片時(shí),各分片往往會(huì)出現(xiàn)負(fù)載過(guò)重的情況,并且網(wǎng)絡(luò)中需要有足夠多的礦工維護(hù)新分片。而OK公鏈(OKChain)可以通過(guò)線上委員會(huì)監(jiān)控和線下社區(qū)投票,并由委員會(huì)修改參數(shù),實(shí)現(xiàn)分片的新增。
而一般情況下,在凍結(jié)分片時(shí)分片中的賬本很有可能出現(xiàn)失效,礦工節(jié)點(diǎn)數(shù)減少,將無(wú)法滿足安全性的要求。OK公鏈可以通過(guò)委員會(huì)和社區(qū)投票達(dá)成共識(shí)后,將該分片遷移至其它分片。同時(shí)分片凍結(jié)之后,可以由委員會(huì)保存當(dāng)前賬本,之后可基于該賬本新建分片,這樣以來(lái)就極大的保證了全局賬本的一致性。
OK區(qū)塊鏈工程院技術(shù)負(fù)責(zé)人SHINE JIANG稱,自今年2月OK公鏈立項(xiàng)以來(lái),OK區(qū)塊鏈工程院經(jīng)過(guò)了長(zhǎng)期的準(zhǔn)備、調(diào)研和技術(shù)模型的深入研究,并于11月份,OK公鏈正式對(duì)外發(fā)布了白皮書(shū)。
“OK公鏈網(wǎng)絡(luò)分片測(cè)試已正常運(yùn)行2周,實(shí)測(cè)TPS峰值達(dá)到1000,交易區(qū)塊高達(dá)50萬(wàn)。目前狀態(tài)分片的開(kāi)已步入原型代碼階段,完成了可行性理論驗(yàn)證和架構(gòu)設(shè)計(jì)。”SHINE JIANG說(shuō)道,2019年OK公鏈將逐步實(shí)現(xiàn)網(wǎng)絡(luò)分片、交易分片發(fā)布及TestNet上線,同時(shí)實(shí)現(xiàn)狀態(tài)分片的發(fā)布和TestNet上線,最終將于2020年前半年,實(shí)現(xiàn)智能合約以及主網(wǎng)上線。
在SHINE JIANG看來(lái),公鏈技術(shù)是區(qū)塊鏈技術(shù)的“操作系統(tǒng)”,為各種應(yīng)用開(kāi)發(fā)提供基礎(chǔ)技術(shù)支撐,也是未來(lái)區(qū)塊鏈技術(shù)落地應(yīng)用的核心所在。在公鏈競(jìng)爭(zhēng)的加劇的今天,OK公鏈基于OK集團(tuán)深厚的技術(shù)、人才、產(chǎn)業(yè)布局等優(yōu)勢(shì),勢(shì)必有著強(qiáng)大的生命力,最終將賦能實(shí)體經(jīng)濟(jì),促進(jìn)社會(huì)生產(chǎn)力的有效提升。