財經(jīng)365訊,區(qū)塊鏈的架構(gòu)可以分為三層:協(xié)議層、擴(kuò)展層、應(yīng)用層。各個層級之間相互獨立,同時又相互聯(lián)系,不能被分割開運作。
由于協(xié)議層對于整個區(qū)塊鏈的架構(gòu)是非常重要的,因此今天我們要詳細(xì)的介紹協(xié)議層級的構(gòu)造。
1.協(xié)議層的地位
區(qū)塊鏈最基本的架構(gòu)層就是協(xié)議層。這個層級又分為兩個部分——存儲層、網(wǎng)絡(luò)層。協(xié)議層的主要功能就是維護(hù)網(wǎng)絡(luò)節(jié)點,只為提供Api供調(diào)度使用。
如果把整個區(qū)塊鏈看作一個大樓的話,那么通常協(xié)議層就可以說是這棟大樓的地基,因為它為這棟大樓提供了建立的根本需要。搭建網(wǎng)絡(luò)環(huán)境、駕立交易渠道,規(guī)定節(jié)點獎勵制度等這些大方向的區(qū)塊鏈運行要素。
至于其他的個體運行活動,例如你要買什么,要做什么,協(xié)議層是不會干預(yù)的,也干預(yù)不了。
因此,在區(qū)塊鏈中,協(xié)議層也可以看作是我們的電腦操作系統(tǒng)。
2.協(xié)議層的內(nèi)部構(gòu)造
在上面的架構(gòu)設(shè)計圖里,這個層面又從內(nèi)部分成了存儲層和網(wǎng)絡(luò)層。
我們可以看到,在網(wǎng)絡(luò)層中,各個計算機(jī)節(jié)點相互連接相互作用,這些服務(wù)器通過挖礦、投票等共識算法保障節(jié)點安全。在得出相應(yīng)的數(shù)據(jù)之后,網(wǎng)絡(luò)層會在確保安全可靠的情況下將這些最快最好的數(shù)據(jù)傳輸?shù)酱鎯?,進(jìn)而存儲層將其儲存初始化。
數(shù)據(jù)存儲可以相對獨立,選擇自由度大一些,可以單獨來討論,選擇的原則無非是性能和易用性。我們知道,系統(tǒng)的整體性能,主要取決于網(wǎng)絡(luò)或數(shù)據(jù)存儲的I/O性能,網(wǎng)絡(luò)I/O優(yōu)化空間不大,但是本地數(shù)據(jù)存儲的I/O是可以優(yōu)化的。
3.協(xié)議層的應(yīng)用技術(shù)
在協(xié)議層所用到的技術(shù)主要包括網(wǎng)絡(luò)編程,分布式算法、數(shù)據(jù)存儲技術(shù)以及加密簽名等四個方面。網(wǎng)絡(luò)編程是通過使用套接字來達(dá)到進(jìn)程間通信目的的編程。它的最主要的工作就是在發(fā)送端把信息通過規(guī)定好的協(xié)議進(jìn)行組裝包,在接收端按照規(guī)定好的協(xié)議把包進(jìn)行解析,從而提取出對應(yīng)的信息,達(dá)到通信的目的。
網(wǎng)絡(luò)編程能力是選擇編程語言的主要考慮因素,因為分布式算法基本上屬于業(yè)務(wù)邏輯上的實現(xiàn),其他任何語言都可以做到。
比如加密簽名技術(shù)是直接簡單的使用,數(shù)據(jù)庫技術(shù)也主要在使用層面,只有點對點網(wǎng)絡(luò)的實現(xiàn)和并發(fā)處理是開發(fā)的疑難之處。所以對于編程能力強(qiáng),對并發(fā)處理簡單的語言,人們就特別的偏愛。
分布式算法、加密簽名等都要在實現(xiàn)點對點網(wǎng)絡(luò)的過程中加以使用,所以自然是網(wǎng)絡(luò)層的事情,也是編碼的重點和難點。
當(dāng)然,也有把點對點網(wǎng)絡(luò)的實現(xiàn)單獨分開的,把節(jié)點查找、數(shù)據(jù)傳輸和驗證等邏輯獨立出來,而把共識算法、加密簽名、數(shù)據(jù)存儲等操作放在一起組成核心層。
無論怎么組合,這兩個部分都是最核心、最基層的部分,都是協(xié)議層的內(nèi)容。想要了解更多的相關(guān)新聞資訊,請關(guān)注財經(jīng)365外匯頻道!