區(qū)塊鏈技術(shù)及其生態(tài)的出現(xiàn)為創(chuàng)新者、開發(fā)者和用戶提供了許多機(jī)會(huì)。但目前為止,可擴(kuò)展性、交易速度和搶先交易相關(guān)的問(wèn)題一直阻礙著 Web3 走向真正的 mass adaption 。
第一:什么限制了可擴(kuò)展性?
區(qū)塊鏈發(fā)展方向是實(shí)現(xiàn)最大化的Decentralization、包容性的網(wǎng)絡(luò)。在實(shí)現(xiàn)這一目標(biāo)過(guò)程中,會(huì)受制于兩個(gè)基本的屬性:硬件、狀態(tài)。
硬件要求:一個(gè)Decentralization的區(qū)塊鏈網(wǎng)絡(luò)由網(wǎng)絡(luò)中最弱的Node驗(yàn)證這個(gè)區(qū)塊鏈和保持狀態(tài)的能力決定的。因此,運(yùn)行一個(gè)Node成本(硬件、帶寬、存儲(chǔ))應(yīng)該盡可能地降低,以使盡可能多的人成為去信任網(wǎng)絡(luò)無(wú)需許可的參與者。
狀態(tài)增長(zhǎng):狀態(tài)的增長(zhǎng)是指區(qū)塊鏈增長(zhǎng)的速度。一個(gè)區(qū)塊鏈在每單位時(shí)間允許越多的吞吐,這個(gè)區(qū)塊鏈增長(zhǎng)的就越快。全Node存儲(chǔ)網(wǎng)絡(luò)歷史,同時(shí)它們也必須能夠驗(yàn)證網(wǎng)絡(luò)狀態(tài)。通過(guò)使用樹狀等高效結(jié)構(gòu),Ethereum的網(wǎng)絡(luò)狀態(tài)被儲(chǔ)存和引用。隨著狀態(tài)增長(zhǎng),新的“葉子”和“分枝”被添加進(jìn)去,使得其執(zhí)行特定的行為時(shí)會(huì)更加復(fù)雜和消耗更多的時(shí)間。隨著鏈的規(guī)模增長(zhǎng),Node在最壞情況下的執(zhí)行會(huì)變得更糟糕,從而導(dǎo)致驗(yàn)證新塊的時(shí)間不斷增加。隨著時(shí)間的增加,這也增加了全Node同步所需要的總時(shí)間。
第二:怎么解決可擴(kuò)展性三難困境
為了在網(wǎng)絡(luò)安全、Decentralization和可擴(kuò)展性之間找到有效的平衡點(diǎn),真正解決可擴(kuò)展性三難問(wèn)題,整個(gè)行業(yè)已經(jīng)做了很多嘗試。
Layer 1 解決方案中,基于Layer 1網(wǎng)絡(luò),即Bitcoin或Ethereum這樣的區(qū)塊鏈,Layer 2解決方案直接優(yōu)化區(qū)塊鏈協(xié)議本身,以提升交易速度和容量,實(shí)現(xiàn)可擴(kuò)展性增強(qiáng)。提高Layer 1區(qū)塊鏈可擴(kuò)展性的常見方法是分片和新的共識(shí)機(jī)制。分片將交易分為更小的 "碎片",可以同時(shí)進(jìn)行平行處理,并允許每個(gè)Node只持有從整個(gè)區(qū)塊鏈數(shù)據(jù)中分割出來(lái)的一部分自容數(shù)據(jù),以提升效率。Ethereum2.0的結(jié)果是共識(shí)機(jī)制從工作證明(PoW)升級(jí)到獲取證明(PoS)。PoS不要求Node使用大量的計(jì)算能力進(jìn)行加密算法,而是根據(jù)Node在區(qū)塊鏈中的質(zhì)押來(lái)決定Node的地位,這將提高網(wǎng)絡(luò)的容量,同時(shí)增強(qiáng)Decentralization和安全性。然而,在大型既定的Layer 1網(wǎng)絡(luò)上的擴(kuò)展解決方案需要社區(qū)共識(shí)和足夠的時(shí)間來(lái)全面部署,當(dāng)然也不是沒有風(fēng)險(xiǎn),因此實(shí)施起來(lái)更加困難。
Q1
在模塊化的方案中,模塊化區(qū)塊鏈的優(yōu)點(diǎn)也為此類問(wèn)題的解決帶來(lái)一定的的啟示:
可擴(kuò)展性:在區(qū)塊鏈中使用模塊化可以增加規(guī)模,而不會(huì)引入有害的信任假設(shè)。
簡(jiǎn)化鏈部署:通過(guò)利用模塊化設(shè)計(jì),新的區(qū)塊鏈可以更快地被啟動(dòng),同時(shí)也不必?fù)?dān)心架構(gòu)的每個(gè)方面都要保持正確。
靈活性:專門構(gòu)建的模塊化鏈為權(quán)衡和設(shè)計(jì)實(shí)現(xiàn)提供了更多的選擇。例如,模塊化區(qū)塊鏈系統(tǒng)可能包括關(guān)注安全性和數(shù)據(jù)可用性的模塊化鏈,而其他的則關(guān)注執(zhí)行。
眾所周知,區(qū)塊的確認(rèn)需要依次進(jìn)行區(qū)塊提議、驗(yàn)證者投票、達(dá)成共識(shí)和廣播區(qū)塊這幾個(gè)過(guò)程。由于上述步驟是串行進(jìn)行的,沒有辦法進(jìn)行加速。
Q2
如果將這幾個(gè)步驟并行處理,則可以顯著提高區(qū)塊性能,Vision基于上述兩點(diǎn)在共識(shí)層面作出了優(yōu)化:
第一:讓每個(gè)驗(yàn)證者的 mempool 盡可能的包含所有的交易信息
第二:其他驗(yàn)證者可以很快速的知道區(qū)塊提議者打包的交易信息
區(qū)塊提議者在 propose 區(qū)塊的時(shí)候會(huì)將區(qū)塊打碎并發(fā)送給全網(wǎng),同時(shí)發(fā)送一條區(qū)塊內(nèi)所有交易的 hash。其他驗(yàn)證者根據(jù)該 hash 在自己的 mempool 里尋找相應(yīng)的交易,如果缺少一部分交易,則從區(qū)塊提議者發(fā)送的區(qū)塊碎片里尋找缺失的部分交易以實(shí)現(xiàn)區(qū)塊重構(gòu)。通過(guò)這種方式 VisionNetwork 縮減了其他驗(yàn)證者同步區(qū)塊信息所需的時(shí)間。