今日解讀の我們的區塊鏈是成功的!

活學區塊鏈

活到老,學到老!


之前有提到區塊鏈是按時間順序記錄以比特幣或其他加密貨幣進行的交易並公開的數字賬本。

它是一個公共數據庫,其中新數據存儲在稱為區塊的容器中,並且被添加到過去添加了數據的不可變鏈(因此是區塊鏈)中。在比特幣和其他加密貨幣的情況下,這些數據是交易組。但是,數據可以是任何類型。

區塊鏈技術產生了新的不是由中央機構發行或管理的全數字貨幣,如比特幣和萊特幣。這為那些認為今天的銀行系統是騙局或遭遇失敗的個人帶來了新的自由。區塊鏈還以像以太坊這樣的技術形式徹底改變了分佈式計算,並引入了智能合約等有趣的概念。


今日解讀の我們的區塊鏈是成功的!


有關注過我們之前文章的朋友應該聽說過SnakeCoin。其實目前我們僅需要知道最簡單區塊鏈的代碼設計,即可衍生更復雜的算法。如下解釋:



Step1:定義區塊,在區塊鏈中,每個區塊都存儲時間戳和可選的索引。在 SnakeCoin 中,我們要同時存儲這兩部分。為了幫助確保整個區塊鏈的完整性,每個區塊都具有自我識別哈希。和比特幣一樣,每個區塊的哈希是區塊索引,時間戳,數據的加密哈希,和先前區塊的哈希散列。數據可以是想要的任何東西。

運 行 A

今日解讀の我們的區塊鏈是成功的!


Step2:創建區塊鏈,我們需要開始向實際鏈添加區塊。正如我之前提到的,每個區塊都需要來自前一個區塊的信息。但話雖如此,出現了一個問題:如何創造第一個區塊?第一個區塊,或稱為創世區塊,它是一個特殊塊。在許多情況下,它是手動添加的,或者具有允許添加的獨特邏輯。

Step3:創建一個函數,它只返回一個生成區塊以簡化操作。此區塊的索引為 0,並且它的參數為前一個哈希的任意值。

既然我們能夠創建一個創世區塊,我們需要一個能夠在區塊鏈中生成後續塊的函數。此函數將鏈中的前一個塊作為參數,為要生成的塊創建數據,並使用適當的數據返回新區塊。當新區塊哈希來自前一區塊的信息時,區塊鏈的完整性隨著每個新塊而增加。如果我們不這樣做,那麼外界會更容易“改變過去”,並用他們自己的全新鏈替換我們的鏈。此哈希鏈充當加密證明,有助於確保一旦塊添加到區塊鏈中,就無法替換或刪除。

Step4:創建我們的區塊鏈!在我們的例子中,區塊鏈本身就是一個簡單的 Python 列表。列表的第一個元素是創世塊。當然,我們需要添加後續塊。由於 SnakeCoin 是最小的區塊鏈,我們將只增加 20 個新區塊。我們可以用一個 for 循環做到這一點。

運 行 B

今日解讀の我們的區塊鏈是成功的!


這樣完整運行下的代碼,就是一個區塊鏈的工作環境。

運 行 C

今日解讀の我們的區塊鏈是成功的!


以上證明我們的區塊鏈是成功的!如果你想在控制檯中看到更多的信息,您可以編輯完整的源文件去打印每個塊的時間戳或數據。


今日解讀の我們的區塊鏈是成功的!


不同領域包括計算機視覺,語音語義,區塊鏈,自動駕駛,數據挖掘,智能控制,編程語言等每日更新。



活學區塊鏈,我們明天見!


分享到:


相關文章: