區塊鏈技術原理解析

買賣虛擬貨幣

區塊鏈技術是指透過去中心化的方式集體維護一個可靠資料庫的技術方案。該技術方案主要讓區塊透過密碼學方法相關聯起來,每個資料塊包含了一定時間內的系統全部資料資訊,並且生成數字簽名以驗證資訊的有效性並連結到下一個資料塊形成一條主鏈。

從資料的角度來看:區塊鏈是一種分散式資料庫或稱為分散式共享總賬,這裡的“分散式”不僅體現為資料的分散式儲存,也體現為資料的分散式記錄(即由系統參與者來集體維護)。簡單的說,區塊鏈能實現全球資料資訊的分散式記錄(可以由系統參與者集體記錄,而非由一箇中心化的機構集中記錄)與分散式儲存(可以儲存在所有參與記錄資料的節點中,而非集中儲存於中心化的機構節點中)。

從效果的角度來看:區塊鏈可以生成一套記錄時間先後的、不可篡改的、可信任的資料庫,這套資料庫是去中心化儲存且資料安全能夠得到有效保證的。


三個亟待解決的問題

設想一下,如果現在我們想要在網際網路世界中建立一套全球通用的資料庫,那麼我們會面臨三個亟待解決的問題,這三個問題也是設計區塊鏈技術的核心所在:

問題一:如何建立一個嚴謹的資料庫,使得該資料庫能夠儲存下海量的資訊,同時又能在沒有中心化結構的體系下保證資料庫的完整性?

問題二:如何記錄並儲存下這個嚴謹的資料庫,使得即便參與資料記錄的某些節點崩潰,我們仍然能保證整個資料庫系統的正常執行與資訊完備?

問題三:如何使這個嚴謹且完整e儲存下來的資料庫變得可信賴,使得我們可以在網際網路無實名背景下成功防止詐騙?


四大區塊鏈的核心技術

針對這三個核心問題,區塊鏈構建了一整套完整的、連貫的資料庫技術來達成目的,解決這三個問題的技術也成為了區塊鏈最核心的三大技術。此外,為了保證區塊鏈技術的可進化性與可擴充套件性,區塊鏈系統設計者還引入了“指令碼”的概念來實現資料庫的可程式設計性。我們認為,這四大技術構成了區塊鏈的核心技術。


核心技術1:區塊+鏈

關於如何建立一個嚴謹資料庫的問題,區塊鏈的辦法是:將資料庫的結構進行創新,把資料分成不同的區塊,每個區塊透過特定的資訊連結到上一區塊的後面,前後順連來呈現一套完整的資料,這也是“區塊鏈”這三個字的來源。

區塊:在區塊鏈技術中,資料以電子記錄的形式被永久儲存下來,存放這些電子記錄的檔案我們就稱之為“區塊”。區塊是按時間順序一個一個先後生成的,每一個區塊記錄下它在被建立期間發生的所有價值交換活動,所有區塊彙總起來形成一個記錄合集。

區塊結構:區塊中會記錄下區塊生成時間段內的交易資料,區塊主體實際上就是交易資訊的合集。每一種區塊鏈的結構設計可能不完全相同,但大結構上分為塊頭(header)和塊身(body)兩部分。塊頭用於連結到前面的塊並且為區塊鏈資料庫提供完整性的保證,塊身則包含了經過驗證的、塊建立過程中發生的價值交換的所有記錄。


核心技術2:分散式結構

我們有了區塊+鏈的資料之後,接下來就要考慮記錄和儲存的問題了。我們應該讓誰來參與資料的記錄,又應該把這些蓋了時間戳的資料儲存在哪裡呢?在現如今中心化的體系中,資料都是集中記錄並儲存於中央電腦上。但是區塊鏈結構設計精妙的地方就在這裡,它並不贊同把資料記錄並儲存在中心化的一臺或幾臺電腦上,而是讓每一個參與資料交易的節點都記錄並儲存下所有的資料。


核心技術3:非對稱加密演算法

什麼是非對稱加密?簡單來說,它讓我們在“加密”和“解密”的過程中分別使用兩個密碼,兩個密碼具有非對稱的特點:(1)加密時的密碼(在區塊鏈中被稱為“公鑰”)是公開全網可見的,所有人都可以用自己的公鑰來加密一段資訊(資訊的真實性);(2)解密時的密碼(在區塊鏈中被稱為“私鑰”)是隻有資訊擁有者才知道的,被加密過的資訊只有擁有相應私鑰的人才能夠解密(資訊的安全性)。


核心技術4:指令碼

指令碼可以理解為一種可程式設計的智慧合約。如果區塊鏈技術只是為了適應某種特定的交易,那指令碼的嵌入就沒有必要了,系統可以直接定義完成價值交換活動需要滿足的條件。然而,在一個去中心化的環境下,所有的協議都需要提前取得共識,那指令碼的引入就顯得不可或缺了。有了指令碼之後,區塊鏈技術就會使系統有機會去處理一些無法預見到的交易模式,保證了這一技術在未來的應用中不會過時,增加了技術的實用性。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;