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