substrate輕鬆學系列2:區塊鏈與substrate

linghuyichong發表於2022-06-18

從2008年中本聰釋出《比特幣:一種點對點的電子現金系統》開始,區塊鏈技術開始進入我們的世界,區塊鏈防篡改、去信任等等概念更是被炒的熱火朝天。那麼什麼是區塊鏈,它能做什麼?到底有沒有前途?這不是我們這節要回答的問題(這個機靈是不是抖的很ok?:))我們這節要講的,是一個區塊鏈系統應用的大體表現形式,有些概念或者表達可能不太準確,但是沒有關係,這節的內容只是為了幫我們能更好的學習substrate而已。

1 區塊鏈系統是什麼樣的

很多資料都會提到這點,區塊鏈是一個分散式的資料庫,本質是一個分散式的賬本。既然是分散式的,那當然具備分散式的特徵,既然是資料庫,是賬本,那麼當然能夠記錄資料。關於區塊鏈是怎樣記賬的文件很多,此處我們不再累述。

要學習substrate,區塊鏈系統具體是怎麼去信任、防篡改的,我們可以不用瞭解太深,但是區塊鏈系統大概長什麼樣子,是必須要知道的。就像我們要用積木搭一個城堡,可以不用知道從頭開始建城堡的實際步驟,但是城堡的大概樣子還是要知道的,否則即使有積木也不知道怎麼搭。

1.1 區塊鏈的大體樣貌

下圖就是區塊鏈系統的大體樣貌(表現形式)。

圖片

從上圖中,我們可以看出區塊鏈的幾個特點:

  • 是一個分散式的系統;

  • 每個節點都有一個賬本;

  • 每個節點的賬本都基本上按照同樣的邏輯記賬;

  • 使用者可以訪問其中的任何一個節點就可以訪問系統。(為了好理解,這裡假定這些都是全節點)

1.2 區塊鏈程式的組織結構

上面我們是使用者試圖看到的區塊鏈系統的表現形式,這裡我們看看從程式碼實現層面區塊鏈的組成。下面是以太坊的架構圖:

圖片

以太坊很具有代表性,大部分的區塊鏈通常都是這個架構(所以這張圖要好好記住,比較有代表性)。不過我們放這張圖的目的並不是為了後面實現這張圖裡類似的元件。

2 substrate與區塊鏈開發

如果沒有substrate,那麼我們開發一條區塊鏈基本上是要自己來實現網路、共識、交易池等等元件的,也就是前面區塊鏈架構裡面的那些東西。而substrate裡面就是像提供積木一樣提供了這些元件,然後我們可以像搭積木一樣根據需求搭建出一條條的區塊鏈。

因為要構成一條鏈,無非就是共識、網路、密碼演算法庫、rpc這些東西,每個團隊開發區塊鏈的時候,可能用的東西都差不多,只有某些和自己特定業務相關的模組才會不一樣。而substrate中已經提供了一些基礎的東西以及一些寫好的模組,開發者可以把現成的模組拿來用,只需要開發自己特定的邏輯就可以了。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
令狐一衝

相關文章