分歧中前行的以太坊2.0區(qū)塊鏈
以太坊邁入2.0時(shí)代的關(guān)鍵是:信標(biāo)鏈/分片客戶端 eWASM
去年11月,以太坊創(chuàng)始人Vitalik Buterin曾在臺(tái)北的技術(shù)交流會(huì)上,詳細(xì)披露了以太坊未來(lái)發(fā)展的2.0路線圖——使用zk-Snarks技術(shù)、構(gòu)建新型Python智能合約編程語(yǔ)言“Vyper”、整合分片技術(shù)或Plasma項(xiàng)目、部署PoS權(quán)益證明機(jī)制等等來(lái)實(shí)現(xiàn)客觀的鏈上交易吞吐量,同時(shí)兼容去中心化以及安全性。不過(guò)以太坊2.0的路線圖并非一錘定音,隨著更多新想法的加入,它的設(shè)計(jì)也在不斷變化。
根據(jù)下一代PoS礦池Rocket Pool開(kāi)發(fā)者Darren Langley近日在Medium上發(fā)布的文章描述,為了成為現(xiàn)實(shí)世界中價(jià)值轉(zhuǎn)移的關(guān)鍵基礎(chǔ)設(shè)施、新經(jīng)濟(jì)體系平臺(tái)以及全球合作中心,以太坊2.0將要整合的幾大關(guān)鍵項(xiàng)目是:
權(quán)益證明機(jī)制(信標(biāo)鏈,Casper FFG):信標(biāo)鏈?zhǔn)侨碌墓蓹?quán)證明區(qū)塊鏈,將與當(dāng)前的以太坊區(qū)塊鏈并行運(yùn)作
分片技術(shù):以太坊實(shí)現(xiàn)交易網(wǎng)絡(luò)高吞吐量的解決方案
eWASM(以太坊虛擬機(jī)EVM的升級(jí)項(xiàng)目): eWASM是基于WASM(WebAssembly)指令集的虛擬機(jī)設(shè)計(jì)方案
而就如Vitalik早前在發(fā)布的《去中心化的意義》文中所說(shuō),“區(qū)塊鏈在政治上是去中心化的(沒(méi)有人能控制它們),架構(gòu)上也是去中心化的(沒(méi)有基礎(chǔ)設(shè)施性的中心故障點(diǎn)),但它在邏輯上是中心化的(有一個(gè)共同達(dá)成一致的狀態(tài),系統(tǒng)就像一臺(tái)計(jì)算機(jī)”;為此除了以太坊的運(yùn)行是去中心化的(沒(méi)有單一實(shí)體負(fù)責(zé)維持區(qū)塊鏈的運(yùn)行)之外,它的開(kāi)發(fā)也是去中心化的,因?yàn)橐蕴?.0并不由任何一個(gè)企業(yè)單獨(dú)開(kāi)發(fā)。
照這樣說(shuō)的話,以太坊2.0具體是如何創(chuàng)建的呢?
一個(gè)完整的開(kāi)源軟件項(xiàng)目生態(tài) 公開(kāi)的課題討論記錄
從某種意義上來(lái)說(shuō),以太坊是一個(gè)龐大的開(kāi)源項(xiàng)目;相關(guān)的協(xié)議提案由社區(qū)內(nèi)研究人員及實(shí)施者共同提出,經(jīng)過(guò)討論、改進(jìn)等程序后才會(huì)最終實(shí)施。雖然以太坊基金會(huì)在整個(gè)過(guò)程中起著較大影響力,且該組織內(nèi)開(kāi)發(fā)者的受關(guān)注度及名聲較高;但以太坊的相關(guān)決定都是社區(qū)通過(guò)共識(shí)做出的。
基于以上基礎(chǔ),網(wǎng)絡(luò)內(nèi)運(yùn)行以太坊的軟件,即客戶端或者說(shuō)節(jié)點(diǎn)有不同版本,分別由不同的軟件開(kāi)發(fā)團(tuán)隊(duì)基于開(kāi)源代碼編寫。同時(shí)以太坊具有完整的開(kāi)源軟件項(xiàng)目生態(tài)系統(tǒng),開(kāi)發(fā)者可使用以下基礎(chǔ)設(shè)施來(lái)構(gòu)建以太坊的各個(gè)組成部分:
智能合約編程語(yǔ)言:Solidity、Vyper
RPC庫(kù):Web3js、ethers、Nethereum
開(kāi)發(fā)工具:Truffle、ganache、solc、solium
而為了更好地實(shí)現(xiàn)以太坊2.0,社區(qū)內(nèi)正在研究的議題,及相關(guān)討論記錄和開(kāi)發(fā)進(jìn)展都會(huì)在以太坊研究網(wǎng)站上(https://ethresear.ch/tags)公開(kāi)展示。根據(jù)網(wǎng)站的資料顯示,目前社區(qū)內(nèi)研究人員及開(kāi)發(fā)者正在研究的議題包括:簽名聚合、隨即數(shù)生成、分叉選擇、數(shù)據(jù)可用性、輕客戶端支持、P2P通信、跨分片通信和狀態(tài)/執(zhí)行分離等等。
這些議題中有部分已經(jīng)達(dá)到可實(shí)施程度;但也有不少還處于早期階段,仍需要更多的時(shí)間來(lái)確定研究成果。隨著研究課題的逐漸成熟,它們將會(huì)合并為以太坊2.0客戶端的規(guī)范;讓實(shí)施團(tuán)隊(duì)接下來(lái)可利用以太坊基金會(huì)目前正開(kāi)發(fā)的參考實(shí)現(xiàn)客戶端(基于Python建立),進(jìn)行開(kāi)發(fā)。
另一方面,以太坊2.0實(shí)施者每?jī)芍苓€會(huì)舉行一次視頻會(huì)議,以跟蹤相關(guān)開(kāi)發(fā)進(jìn)度、解答問(wèn)題,并就常見(jiàn)爭(zhēng)議達(dá)成共識(shí);而目前已召開(kāi)的三次視頻會(huì)議都能在GitHub上查找回看(https://github.com/ethresearch/eth2.0-pm)。
關(guān)鍵項(xiàng)目的具體開(kāi)發(fā)進(jìn)展
信標(biāo)鏈/分片客戶端
作為以太坊2.0的核心,信標(biāo)鏈/分片客戶端當(dāng)前由多個(gè)團(tuán)隊(duì)開(kāi)發(fā)實(shí)施:
Prysm:由Prysmatic Labs開(kāi)發(fā),使用Go編寫。該團(tuán)隊(duì)每?jī)芍芏紩?huì)對(duì)他們的進(jìn)展進(jìn)行一次更新,上周則就跨分片通信低效問(wèn)題進(jìn)行更新;
Lighthouse:由Sigma Prime開(kāi)發(fā),使用Rust編寫;
Nimbus:由Status開(kāi)發(fā),使用Nim編寫;
Loderstar:由Chain Safe Systems開(kāi)發(fā),使用JavaScript編寫;
Harmony:由Ether Camp開(kāi)發(fā),使用Java編寫;
Pantheon:由ConsenSys的協(xié)議工程小組PegaSys開(kāi)發(fā),使用Java編寫。該團(tuán)隊(duì)專注于以太坊正面臨的包括公鏈及私鏈的可擴(kuò)容性和隱私性等等問(wèn)題;
Trinity:由Piper Merriam領(lǐng)導(dǎo)的Trinity團(tuán)隊(duì)開(kāi)發(fā),使用Python編寫。
這些團(tuán)隊(duì)正就信標(biāo)鏈狀態(tài)數(shù)據(jù)結(jié)構(gòu)和持久性、每個(gè)區(qū)塊的狀態(tài)轉(zhuǎn)換、分叉選擇實(shí)施、驗(yàn)證器改組、區(qū)塊發(fā)起者的角色、數(shù)據(jù)結(jié)構(gòu)序列化、P2P協(xié)議等等方面進(jìn)行研究;不過(guò)當(dāng)前每個(gè)團(tuán)隊(duì)在實(shí)施以太坊2.0方面的開(kāi)發(fā)進(jìn)展各不相同。
而在各個(gè)團(tuán)隊(duì)的開(kāi)發(fā)逐漸成熟之際,他們需要一種對(duì)測(cè)試用例進(jìn)行編碼的通用測(cè)試語(yǔ)言,使得開(kāi)發(fā)者能夠定義一組具有預(yù)期結(jié)果的測(cè)試,并根據(jù)規(guī)范驗(yàn)證器進(jìn)行實(shí)施;這同時(shí)也是社區(qū)目前正在討論的重要進(jìn)程之一。
eWASM
根據(jù)以太坊基金會(huì)核心開(kāi)發(fā)者Jake Lang昨日在產(chǎn)業(yè)發(fā)展峰會(huì)上的說(shuō)法,eWASM將會(huì)是以太坊智能合約的未來(lái),它能解決當(dāng)前以太坊虛擬機(jī)EVM過(guò)于復(fù)雜、性能低、僅支持編程語(yǔ)言及開(kāi)發(fā)工具有限等問(wèn)題。而鑒于WASM指令集本由Mozilla、谷歌、微軟和Apple等工程師開(kāi)發(fā),eWASM項(xiàng)目開(kāi)發(fā)團(tuán)隊(duì)的首要任務(wù)是解決eWASM與當(dāng)前EVM的兼容性問(wèn)題。
目前eWASM團(tuán)隊(duì)正在評(píng)估新虛擬機(jī)的影響,但是關(guān)于其具體執(zhí)行方法及實(shí)際運(yùn)行情況方面的研究目前還處于早期階段。其中的一個(gè)原因是,新的以太坊2.0分片系統(tǒng)可能會(huì)采用延時(shí)執(zhí)行機(jī)制,而不是當(dāng)前EVM區(qū)塊鏈正在使用的智能合約代碼與交易處理幾乎同時(shí)執(zhí)行的模式——在新以太坊2.0分片系統(tǒng)中,分片負(fù)責(zé)交易排序且僅儲(chǔ)存數(shù)據(jù),而負(fù)責(zé)讀取交易、執(zhí)行代碼及寫回結(jié)果的重疊(overlay)執(zhí)行過(guò)程則會(huì)在頂部的第二層進(jìn)程中構(gòu)建,而不是在區(qū)塊鏈內(nèi)進(jìn)行。
總的來(lái)說(shuō),以太坊2.0當(dāng)前由社區(qū)內(nèi)多個(gè)團(tuán)隊(duì)共同開(kāi)發(fā),雖然還沒(méi)有到達(dá)實(shí)現(xiàn)和落地的那一步,但已取得不少進(jìn)展;至于以太坊能否或者說(shuō)何時(shí)真正邁入2.0時(shí)代,就要看信標(biāo)鏈/分片客戶端和eWASM的開(kāi)發(fā)進(jìn)度了。
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會(huì)明確標(biāo)注作者和來(lái)源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請(qǐng)轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來(lái)源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會(huì)經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。