書接上文,我們繼續(xù)分享區(qū)塊鏈的單項(xiàng)技術(shù)發(fā)展。

數(shù)據(jù)層發(fā)展
區(qū)塊鏈的數(shù)據(jù)隨著時(shí)間增加而不斷增加,這將導(dǎo)致兩個(gè)問題。一是新節(jié)點(diǎn)的準(zhǔn)入門檻增加,因?yàn)槠浜A康臍v史數(shù)據(jù)將會(huì)占用很大的存儲(chǔ)空間,而對(duì)存儲(chǔ)空間的高需求將許多沒有高性能設(shè)備的個(gè)人用戶拒之門外。二是可擴(kuò)展性與安全性的沖突,如果存在大量的非驗(yàn)證節(jié)點(diǎn),那么在進(jìn)行驗(yàn)證時(shí)需指定全節(jié)點(diǎn),這將導(dǎo)致安全性下降,但又不可能要求所有的賬戶都是存儲(chǔ)全部交易記錄,一方面是不現(xiàn)實(shí),另一方面是會(huì)導(dǎo)致數(shù)據(jù)同步時(shí)間過長(zhǎng)。因此,目前的數(shù)據(jù)層的發(fā)展方向?yàn)殚_發(fā)能完成驗(yàn)證操作但無須存儲(chǔ)完整狀態(tài)數(shù)據(jù)的新型節(jié)點(diǎn),但僅有驗(yàn)證功能的新型節(jié)點(diǎn)仍無法避免因出塊節(jié)點(diǎn)高門檻而帶來的中心化趨勢(shì),未來可能需要在出塊節(jié)點(diǎn)的輕量化上進(jìn)行進(jìn)一步研究。
目前含有驗(yàn)證功能的輕量節(jié)點(diǎn)有:
· 輕節(jié)點(diǎn)
輕節(jié)點(diǎn)的專業(yè)技術(shù)名稱為無狀態(tài)客戶端,其與全節(jié)點(diǎn)是一組相對(duì)應(yīng)的概念。全節(jié)點(diǎn)就是傳統(tǒng)意義上的區(qū)塊鏈節(jié)點(diǎn),鏈中的每個(gè)區(qū)塊都包含區(qū)塊頭、交易數(shù)量、交易列表三部分,而輕節(jié)點(diǎn)為了保證數(shù)據(jù)輕量化,只存儲(chǔ)區(qū)塊頭,不存儲(chǔ)全量的交易列表等信息。在新塊出現(xiàn)時(shí),輕節(jié)點(diǎn)會(huì)被額外提供新塊中全部所需訪問狀態(tài),在收到數(shù)據(jù)后輕節(jié)點(diǎn)通過默克爾證明來判斷一筆交易是否在現(xiàn)在的區(qū)塊鏈交易列表中,實(shí)現(xiàn)交易的驗(yàn)證,大幅降低了節(jié)點(diǎn)對(duì)存儲(chǔ)空間的要求,因此輕節(jié)點(diǎn)能夠運(yùn)行在小容量的個(gè)人PC等終端設(shè)備上。當(dāng)前的驗(yàn)證工作有了一些新進(jìn)展,以太坊表示可以利用多項(xiàng)式承諾來代替默克爾樹,好處是可以降低驗(yàn)證成本。
· 簡(jiǎn)潔區(qū)塊鏈
新的加密貨幣協(xié)議Coda提出了一種比輕節(jié)點(diǎn)更加輕量的具有驗(yàn)證功能的節(jié)點(diǎn),支持在移動(dòng)端運(yùn)行。這種簡(jiǎn)潔區(qū)塊鏈節(jié)點(diǎn)只需要擁有當(dāng)前的哈希默克爾根就可以通過一種密碼學(xué)證明對(duì)交易進(jìn)行快速驗(yàn)證。
共識(shí)層發(fā)展
近年來共識(shí)機(jī)制的不斷進(jìn)步促進(jìn)了區(qū)塊鏈的發(fā)展,是區(qū)塊鏈能夠被迅速和廣泛應(yīng)用的重要支撐。最開始流行的工作量證明機(jī)制(PoW)到權(quán)益證明機(jī)制(PoS)都是為保證電子貨幣的安全發(fā)行而設(shè)計(jì)的,在性能與拓展性方面的考慮較少。之后出現(xiàn)的驗(yàn)證池pool和拜占庭容錯(cuò)PBFT共識(shí)機(jī)制在性能上有了很大的改進(jìn),但相應(yīng)的,在去中心化上做了讓步。共識(shí)機(jī)制演化的愈發(fā)復(fù)雜,若要逐一解釋清楚并非易事,不在密碼學(xué)技術(shù)上做過多描述,僅介紹各類共識(shí)算法的大致特點(diǎn)。
合約層發(fā)展
合約層的智能合約是區(qū)塊鏈在實(shí)際應(yīng)用中實(shí)現(xiàn)自動(dòng)交易功能非常重要的一環(huán),智能合約的發(fā)展方向主要在于運(yùn)行環(huán)境的突破,因?yàn)檫\(yùn)行環(huán)境與區(qū)塊鏈整體性能的約束,目前智能合約在實(shí)際應(yīng)用僅能發(fā)揮”合約”的作用,而離實(shí)現(xiàn)”智能”還有一定距離。
區(qū)塊鏈中的智能合約概念最早被以太坊提出,智能合約以代碼形式寫入?yún)^(qū)塊鏈,在之后的交易中依靠條件語句觸發(fā)合約規(guī)則的執(zhí)行。但智能合約的執(zhí)行會(huì)為整個(gè)區(qū)塊鏈網(wǎng)絡(luò)帶來一定的安全隱患,因此智能合約一般會(huì)在沙箱環(huán)境中運(yùn)行,目前以太坊的EVM與超級(jí)賬本的Docker容器即是區(qū)塊鏈中的沙箱環(huán)境。另外智能合約的編程語言種類也逐步增加,以太坊目前僅支持特定的Solidity語言,而后的超級(jí)賬本還支持golang、JAVA、Python等語言。
目前智能合約還無法在高隱私保護(hù)或是跨鏈等復(fù)雜場(chǎng)景中應(yīng)用,主要因?yàn)槠涫苤朴趨^(qū)塊鏈整體性能的約束,而繞開區(qū)塊鏈性能約束的辦法主要為通過實(shí)現(xiàn)合約層與共識(shí)層的解綁,使智能合約運(yùn)行在可信的硬件環(huán)境總,共識(shí)層僅記錄智能合約執(zhí)行結(jié)果,不過這類解決方案的安全性等問題還在持續(xù)的討論中。
應(yīng)用層發(fā)展
作為區(qū)塊鏈的展示層,應(yīng)用層中的應(yīng)用場(chǎng)景一般就是與用戶直接接觸的業(yè)務(wù)場(chǎng)景。應(yīng)用層有點(diǎn)像是平常的APP、web網(wǎng)頁等前端應(yīng)用概念,應(yīng)用層將請(qǐng)求數(shù)據(jù)發(fā)送給區(qū)塊鏈網(wǎng)絡(luò),在進(jìn)行完數(shù)據(jù)處理之后,區(qū)塊鏈網(wǎng)絡(luò)又會(huì)將數(shù)據(jù)結(jié)果返回給應(yīng)用層,使其與用戶進(jìn)行交互。
應(yīng)用層的發(fā)展就是前臺(tái)業(yè)務(wù)與技術(shù)的發(fā)展,幾乎不屬于區(qū)塊鏈技術(shù)的范疇,因此不做過多討論。