03.08 區塊鏈泡沫什麼時候會破?Python教你做區塊鏈

“炒幣就是賭博,而且是在被高度控盤的賭場賭博。”昨天(3月7日)下午,從國貿到機場的路上,金沙江創投董事總經理朱嘯虎接受了《中國企業家》的獨家專訪。在區塊鏈泡沫日趨膨脹的今天,朱嘯虎以“古典互聯網”的姿態再次站在風口浪尖,但是對於時下熱議的問題,他都並未迴避。

對於“古典互聯網”的標籤,朱嘯虎並不反感,“古典互聯網至少有兩個事不做,違法的事情不做,收割弱者的事情不做。如果把這兩件事情定義為古典互聯網,我很高興能夠堅持做古典互聯網。”

在他看來,“區塊鏈的泡沫今年肯定會破。任何一個技術浪潮都需要經歷一個S曲線,從瘋狂、增長到泡沫期,然後走過一個死亡谷,再慢慢起來。真正做事情的人,應該在死亡谷右側再去投資和創業。”

那麼什麼是區塊鏈呢?

本文要求讀者對Python有基本的理解,能讀寫基本的Python,並且需要對HTTP請求有基本的瞭解。

區塊鏈是由區塊的記錄構成的不可變、有序的鏈結構,記錄可以是交易、文件或任何你想要的數據,重要的是它們是通過哈希值(hashes)鏈接起來的。

在更一般的術語中,它是一個公共數據庫,新數據存儲在一個名為塊的容器中,並被添加到一個不可變鏈(後來的區塊鏈)中添加了過去的數據。在比特幣和其他加密貨幣的情況下,這些數據是一組交易記錄。當然,數據可以是任何類型的。

區塊鏈技術已經催生了新的、完全數字化的貨幣,如比特幣和萊特幣,這些貨幣並不是由中央政府發行或管理的。因此為那些認為今天的銀行系統是騙局或終將失敗的人帶來了新的自由。區塊鏈所包含的以太坊技術對分佈式計算進行了變革創新,它引入了一些有趣的概念,比如智能合約。

相信你和我一樣對數字貨幣的崛起感到新奇,並且想知道其背後的技術——區塊鏈是怎樣實現的。

但是理解區塊鏈並非易事,至少對於我來說是如此。晦澀難懂的視頻、漏洞百出的教程以及示例的匱乏令我倍受挫折。

我喜歡在實踐中學習,通過寫代碼來學習技術會掌握得更牢固。如果你也這樣做,那麼讀完本文,你將獲得一個可用的區塊鏈以及對區塊鏈的深刻理解。

第一步:定義區塊

我們首先定義我們的區塊將是什麼樣子。在區塊鏈中,每個塊都存儲有時間戳和可選的索引。我們將同時存儲兩者。並且為了幫助確保整個塊鏈的完整性,每個塊將具有自識別哈希值的功能。像比特幣一樣,每個區塊將包括作為區塊的索引的哈希值,時間戳,數據以及前一個塊的哈希值。當然,數據可以是任何你想要的。

區塊鏈泡沫什麼時候會破?Python教你做區塊鏈

好了~現在我們已經有了塊結構了,但是我們正在創建一個區塊鏈。我們需要開始向實際的鏈條添加區塊。如前所述,每個塊都需要上一個塊的信息。但是這就出現了一個問題:塊區中的第一個區塊怎麼來的?那麼,第一個區塊,或起創世區塊,是一個特殊的塊。在許多情況下,它是手動添加的或具有允許添加的唯一邏輯。

第二步:簡化創建函數

為了簡化,我們將創建一個函數,只需返回一個創世區塊,該區塊的索引為0,它在“previous hash”參數中具有任意數據值和任意值。

區塊鏈泡沫什麼時候會破?Python教你做區塊鏈

現在我們創建了一個創世區塊,我們需要一個函數來生成區塊鏈中的後續區塊。該函數將將鏈中的前一個區塊作為參數,創建要生成的區塊的數據,並返回具有其相應數據的新塊。新產生的區塊會存儲先前區塊中的哈希值,區塊鏈的完整性隨著每個新的區塊而增加。如果我們沒有這樣做,其他人會很容易篡改歷史記錄,並用自己的全新數據替代我們的鏈條。這個哈希鏈作為加密證明,有助於確保一旦新區塊被添加到區塊鏈中,它不能被替換或刪除。

區塊鏈泡沫什麼時候會破?Python教你做區塊鏈

第三步:創建區塊鏈

這是本次任務的重心。現在我們可以創建我們的區塊鏈!在我們的例子中,區塊鏈本身就是一個簡單的Python列表。列表的第一個元素是創世區塊。當然,我們需要添加後續的區塊。因為SnakeCoin是最小的區塊鏈,所以我們只添加了20個新的塊。我們可以用for循環來做到這一點。

區塊鏈泡沫什麼時候會破?Python教你做區塊鏈

第四步:測試成果

我們來測試一下已有成果。

區塊鏈泡沫什麼時候會破?Python教你做區塊鏈


分享到:


相關文章: