從2008年中本聰發(fā)布《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》開始,區(qū)塊鏈技術(shù)開始進入我們的世界,區(qū)塊鏈防篡改、去信任等等概念更是被炒的熱火朝天。那么什么是區(qū)塊鏈,它能做什么?到底有沒有前途?這不是我們這節(jié)要回答的問題(這個機靈是不是抖的很ok?:))我們這節(jié)要講的,是一個區(qū)塊鏈系統(tǒng)應(yīng)用的大體表現(xiàn)形式,有些概念或者表達可能不太準確,但是沒有關(guān)系,這節(jié)的內(nèi)容只是為了幫我們能更好的學習substrate而已。
1 區(qū)塊鏈系統(tǒng)是什么樣的
很多資料都會提到這點,區(qū)塊鏈是一個分布式的數(shù)據(jù)庫,本質(zhì)是一個分布式的賬本。既然是分布式的,那當然具備分布式的特征,既然是數(shù)據(jù)庫,是賬本,那么當然能夠記錄數(shù)據(jù)。關(guān)于區(qū)塊鏈是怎樣記賬的文檔很多,此處我們不再累述。
要學習substrate,區(qū)塊鏈系統(tǒng)具體是怎么去信任、防篡改的,我們可以不用了解太深,但是區(qū)塊鏈系統(tǒng)大概長什么樣子,是必須要知道的。就像我們要用積木搭一個城堡,可以不用知道從頭開始建城堡的實際步驟,但是城堡的大概樣子還是要知道的,否則即使有積木也不知道怎么搭。
1.1 區(qū)塊鏈的大體樣貌
下圖就是區(qū)塊鏈系統(tǒng)的大體樣貌(表現(xiàn)形式)。
從上圖中,我們可以看出區(qū)塊鏈的幾個特點:
是一個分布式的系統(tǒng);
每個節(jié)點都有一個賬本;
每個節(jié)點的賬本都基本上按照同樣的邏輯記賬;
用戶可以訪問其中的任何一個節(jié)點就可以訪問系統(tǒng)。(為了好理解,這里假定這些都是全節(jié)點)
1.2 區(qū)塊鏈程序的組織結(jié)構(gòu)
上面我們是用戶試圖看到的區(qū)塊鏈系統(tǒng)的表現(xiàn)形式,這里我們看看從代碼實現(xiàn)層面區(qū)塊鏈的組成。下面是以太坊的架構(gòu)圖:
以太坊很具有代表性,大部分的區(qū)塊鏈通常都是這個架構(gòu)(所以這張圖要好好記住,比較有代表性)。不過我們放這張圖的目的并不是為了后面實現(xiàn)這張圖里類似的組件。
2 substrate與區(qū)塊鏈開發(fā)
如果沒有substrate,那么我們開發(fā)一條區(qū)塊鏈基本上是要自己來實現(xiàn)網(wǎng)絡(luò)、共識、交易池等等組件的,也就是前面區(qū)塊鏈架構(gòu)里面的那些東西。而substrate里面就是像提供積木一樣提供了這些組件,然后我們可以像搭積木一樣根據(jù)需求搭建出一條條的區(qū)塊鏈。
因為要構(gòu)成一條鏈,無非就是共識、網(wǎng)絡(luò)、密碼算法庫、rpc這些東西,每個團隊開發(fā)區(qū)塊鏈的時候,可能用的東西都差不多,只有某些和自己特定業(yè)務(wù)相關(guān)的模塊才會不一樣。而substrate中已經(jīng)提供了一些基礎(chǔ)的東西以及一些寫好的模塊,開發(fā)者可以把現(xiàn)成的模塊拿來用,只需要開發(fā)自己特定的邏輯就可以了。
關(guān)鍵詞: substrate輕松學區(qū)塊鏈與substrate subs