如何通過鏈外擴(kuò)容和分層思想打造下一代區(qū)塊鏈基礎(chǔ)設(shè)施
區(qū)塊鏈擴(kuò)容是業(yè)內(nèi)長期以來的焦點(diǎn),區(qū)塊鏈最為人詬病的點(diǎn)也是性能的低下,而擴(kuò)容是解決區(qū)塊鏈性能問題的重要一環(huán)。
以太坊相比比特幣在性能上有所進(jìn)步,然而遠(yuǎn)遠(yuǎn)不夠,以太坊之后誕生的大多數(shù)公鏈,無不把解決性能問題作為主要解決方向,以期能夠打造出性能強(qiáng)悍、可商用的區(qū)塊鏈系統(tǒng),成為區(qū)塊鏈大規(guī)模落地的基礎(chǔ)平臺,成為下一代區(qū)塊鏈的代名詞。
不同公鏈團(tuán)隊(duì)提出了不同的解決方案,然而現(xiàn)在一切都還未定,各立場方也為不同的解決方案展開了激烈辯論。
目前擴(kuò)容的兩條主要路線分別是鏈上擴(kuò)容和鏈外擴(kuò)容,這兩條路線中均有實(shí)力不俗的代表團(tuán)隊(duì)。
每種代表路線中都有很多值得學(xué)習(xí)了解的設(shè)計(jì)思路和哲學(xué),本期問道區(qū)塊鏈請來了知名區(qū)塊鏈項(xiàng)目Nervos聯(lián)合創(chuàng)始人及COO呂國寧為大家講述如何通過鏈外擴(kuò)容和分層思想打造下一代區(qū)塊鏈基礎(chǔ)設(shè)施。
5月6日晚,區(qū)塊鏈研習(xí)社社群專訪欄目——《問道區(qū)塊鏈》邀請了Nervos聯(lián)合創(chuàng)始人、COO呂國寧(前 imToken 聯(lián)合創(chuàng)始人兼 CTO,EthFans以太坊愛好者社區(qū)發(fā)起人,前云幣交易所 CTO,國內(nèi)最大的線上技術(shù)社區(qū) RubyChina 創(chuàng)始人)為大家講述Nervos獨(dú)特的分層設(shè)計(jì)思想及鏈下擴(kuò)容相關(guān)知識。
本次活動在“問道區(qū)塊鏈創(chuàng)世群”進(jìn)行,并在區(qū)塊鏈研習(xí)社所有社群及合作伙伴社群進(jìn)行直播。活動得到了鏈聞、星球日報(bào)、COINVOICE、耳朵財(cái)經(jīng)、深鏈財(cái)經(jīng)、Coin4A及各大媒體的大力支持。
呂國寧及Nervos團(tuán)隊(duì)在業(yè)內(nèi)深耕超過5年,在交易所、錢包、礦池、聯(lián)盟鏈等方面都取得了杰出成績,參與創(chuàng)立的項(xiàng)目在領(lǐng)域內(nèi)均為頭部項(xiàng)目,具有豐富的區(qū)塊鏈開發(fā)實(shí)踐經(jīng)驗(yàn)。
鏈上擴(kuò)容方案的取舍和妥協(xié)
呂國寧指出,目前區(qū)塊鏈的性能擴(kuò)展方式有兩條路,一條路為鏈上擴(kuò)容,另外一條路是鏈外擴(kuò)容。
鏈上擴(kuò)容是指從區(qū)塊鏈本身特性出發(fā),解決影響性能的特性,從而提高區(qū)塊鏈性能。
比如共識算法不夠高效,就選擇更高效的POS及其變種算法;比如鏈?zhǔn)酱鎯Y(jié)構(gòu)效率不夠高,就使用可以并行打包的DAG方案;再比如網(wǎng)絡(luò)處理交易和驗(yàn)證是串行的,一次只能處理一筆交易,就使用可以給節(jié)點(diǎn)分組的分片技術(shù),不同的組處理不同的交易,提升性能。
鏈上擴(kuò)容的技術(shù)都在實(shí)現(xiàn)一個目標(biāo),即做一條更強(qiáng)的鏈。每一種技術(shù)方案在具體實(shí)現(xiàn)的時候都要面臨各種不同的取舍,每一種方案在帶來更好的性能提升的同時,其實(shí)都會在其他方面做出一些妥協(xié)。
比如分片方案能否高效的解決跨鏈計(jì)算,DAG 在雙花檢測上是否能夠做到比較低的延遲,而 PoS 共識算法的安全性能否保證,所有基于 PoS 的攻擊方式是否已知并且有針對性的方案,且能帶來如 PoW 在真實(shí)環(huán)境中長達(dá)十年的檢驗(yàn)給我們帶來的信心?
這些問題都是當(dāng)下各個鏈上擴(kuò)容團(tuán)隊(duì)在積極努力和試圖解決的,雖然在過去的一兩年鏈上擴(kuò)容的研究有了很多進(jìn)展,但是這些都不是 Nervos 嘗試解決問題的方向。
Nervos不是為了做出一條更強(qiáng)的鏈
實(shí)現(xiàn)鏈上擴(kuò)容是不是我們要解決的核心問題?
我們的看法是擴(kuò)容不是唯一核心要解決的問題,比如說,如果我們把性能的瓶頸問題解決了,存儲可能會馬上變成瓶頸,這就是前段時間被熱議的狀態(tài)爆炸問題。由于交易量的提升,那么對存儲的需求也會同步提升,而節(jié)點(diǎn)的存儲資源其實(shí)是有限不可回收資源,所以這個問題可能要比性能問題還要嚴(yán)重,甚至它直接影響到了去中心化這一區(qū)塊鏈的本質(zhì)特性,且這類問題還無法通過分叉能方便得解決。
進(jìn)一步深入思考,會發(fā)現(xiàn)在一層中要把所有的事情全部都做到最好,其實(shí)要權(quán)衡的東西很多,并且做取舍非常難,很多東西甚至是互相矛盾,導(dǎo)致無論做出怎樣的取舍,在保證去中心化和安全性的前提下,很難做到很好的性能。
Nervos Network 的設(shè)計(jì)思想的出發(fā)點(diǎn)不是為了做出一條更強(qiáng)的鏈,Nervos Network 的目標(biāo)是去實(shí)現(xiàn)一個豐富繁榮的加密經(jīng)濟(jì)生態(tài),并為這個生態(tài)提供底層基礎(chǔ)設(shè)施服務(wù)。
區(qū)塊鏈在這個生態(tài)中的角色是提供最高效率達(dá)成全球共識的工具,并以最低的成本來構(gòu)建信任。所以 Nervos 的方案是鏈外擴(kuò)容,并提出了設(shè)計(jì)一個分層的加密經(jīng)濟(jì)網(wǎng)絡(luò)設(shè)計(jì),并且?guī)硪粋€全新的公鏈架構(gòu)設(shè)計(jì)思路:如果我們認(rèn)為分層是未來的發(fā)展方向,我們應(yīng)該從一開始就考慮到上層協(xié)議和分層網(wǎng)絡(luò)的需求,在分層的大框架下去設(shè)計(jì)區(qū)塊鏈協(xié)議。
基于分層的思想,Nervos 的底層 Layer 1 網(wǎng)絡(luò)只需要關(guān)注到安全和去中心化,Layer 2 層追求極致的性能,并且在業(yè)務(wù)實(shí)現(xiàn)上去滿足各類商業(yè)場景的需求,然后由 Layer 1 來對 Layer 2 提供保證。
分層思想和技術(shù)創(chuàng)新下的繁榮生態(tài)
Layer 2 的興起,是源于我們發(fā)現(xiàn)公有鏈的性能不足,很難擴(kuò)容到滿足整個加密經(jīng)濟(jì)體需求的水平,因此慢慢演化出了一系列可以由區(qū)塊鏈來保證安全的 Layer 2 協(xié)議,例如支付通道(Payment Channel),Plasma 等等方案。
Layer 2 方案共同特點(diǎn)是犧牲共識范圍來換取性能,因此作為 Layer 1 的區(qū)塊鏈,關(guān)注點(diǎn)顯然不應(yīng)該是性能,因?yàn)?Layer 2 會承擔(dān)這個職責(zé)。Layer 1 是保障上層協(xié)議參與者的最后防線,它的關(guān)注點(diǎn)應(yīng)該是安全和去中心化。
Layer 1 負(fù)責(zé)的是狀態(tài)共識(存儲),Layer 2 負(fù)責(zé)的是狀態(tài)生成(計(jì)算)。
Layer 1 需要一個安全的共識協(xié)議,并且范圍越大越好?;?PoW 的 Nakamoto Consensus 正是這樣一個協(xié)議,這是唯一一個在現(xiàn)實(shí)環(huán)境中經(jīng)過驗(yàn)證的全球共識,于是我們針對 Layer 1 設(shè)計(jì)了一套性能優(yōu)化的給予 PoW 的共識協(xié)議,這套共識協(xié)議可以在不犧牲安全性的基礎(chǔ)上,壓榨初網(wǎng)絡(luò)帶寬的所有潛能,目前我們沒有給我們的 PoW 取正式的名字,暫定名字為 NC-Max。
Layer 1 需要驗(yàn)證各種 Layer 2 的狀態(tài),需要擁有一個強(qiáng)大的可編程能力的虛擬機(jī),以支持各種狀態(tài)驗(yàn)證邏輯,這意味著我們需要一個強(qiáng)大的編程模型(狀態(tài)模型+虛擬機(jī)),我們引入了基于 RISC-V 指令集實(shí)現(xiàn)的虛擬機(jī),來滿足 Layer 1 的各種需求。
在 Layer 1 這一層,基于 Cell 編程模型的靈活的狀態(tài)存儲能力,結(jié)合 Nervos CKB-VM 虛擬機(jī),可以方便的支持各種密碼學(xué)證明,讓 Layer 1 充當(dāng) Layer 2 的“法院”的角色,并且可以非常靈活的增加新的密碼學(xué)算法而無需硬分叉。
最后,一個合理設(shè)計(jì)的經(jīng)濟(jì)模型,對齊網(wǎng)絡(luò)上參與的各方價值和利益,才能保證網(wǎng)絡(luò)長久安全可靠運(yùn)行。
最后總結(jié)一下創(chuàng)新點(diǎn):
- Cell 模型,支撐靈活的狀態(tài)存儲和驗(yàn)證
- CKB-VM 虛擬機(jī),基于 RISC-V 指令集實(shí)現(xiàn)
- NC-Max PoW 共識算法,壓榨網(wǎng)絡(luò)帶寬的所有潛能
- 靈活的新增各種加密算法,而無需硬分叉
- 經(jīng)濟(jì)模型,針對 Layer 1 定制的,保障網(wǎng)絡(luò)長久安全可靠運(yùn)行
開發(fā)進(jìn)度和近期目標(biāo)
5月18日,我們的測試鏈將正式發(fā)布。大概會有不短于 6 個月的測試階段,然后才是主網(wǎng)上線。測試鏈運(yùn)行期間,我們會繼續(xù)修復(fù)各種問題。當(dāng)測試鏈比較穩(wěn)定后,我們會引入第三方安全審計(jì)團(tuán)隊(duì)從滲透測試到白盒測試進(jìn)行多輪審計(jì),基于審計(jì)結(jié)果我們會開展一系列的安全問題修復(fù)。以及在保障安全性的前提下做到盡可能的性能調(diào)優(yōu)。
當(dāng)安全方面的工作達(dá)到一個穩(wěn)定階段后,我們會開始壓力測試,我們的目標(biāo)是希望當(dāng)壓力測試達(dá)到一個穩(wěn)定的狀態(tài)持續(xù)一段時間,比如 30 天后,屆時我們會開啟主網(wǎng)絡(luò)發(fā)布計(jì)劃。
從測試鏈到主鏈,可能有長達(dá)半年的迭代時間,在這個期間,我們會針對社區(qū)和開發(fā)者開展一系列的基于測試鏈的技術(shù)活動,包括系列的 Hackathon,Demo 大賽,漏洞懸賞等等,希望能借此吸引到更多的開發(fā)者早期參與到我們的測試鏈的測試和完善工作中。