來源:數字資產大揭秘
區塊鏈技術是指通過去中心化的方式集體維護一個可靠數據庫的技術方案。該技術方案主要讓區塊通過密碼學方法相關聯起來,每個數據塊包含了一定時間內的系統全部數據信息,并且生成數字簽名以驗證信息的有效性并鏈接到下一個數據塊形成一條主鏈。
區塊鏈技術
從數據的角度來看:區塊鏈是一種分布式數據庫或稱為分布式共享總賬,這里的“分布式”不僅體現為數據的分布式存儲,也體現為數據的分布式記錄(即由系統參與者來集體維護)。簡單的說,區塊鏈能實現全球數據信息的分布式記錄(可以由系統參與者集體記錄,而非由一個中心化的機構集中記錄)與分布式存儲(可以存儲在所有參與記錄數據的節點中,而非集中存儲于中心化的機構節點中)。
從效果的角度來看:區塊鏈可以生成一套記錄時間先后的、不可篡改的、可信任的數據庫,這套數據庫是去中心化存儲且數據安全能夠得到有效保證的。
三個亟待解決的問題
設想一下,如果現在我們想要在互聯網世界中建立一套全球通用的數據庫,那么我們會面臨三個亟待解決的問題,這三個問題也是設計區塊鏈技術的核心所在:
問題一:如何建立一個嚴謹的數據庫,使得該數據庫能夠存儲下海量的信息,同時又能在沒有中心化結構的體系下保證數據庫的完整性?
問題二:如何記錄并存儲下這個嚴謹的數據庫,使得即便參與數據記錄的某些節點崩潰,我們仍然能保證整個數據庫系統的正常運行與信息完備?
問題三:如何使這個嚴謹且完整e存儲下來的數據庫變得可信賴,使得我們可以在互聯網無實名背景下成功防止詐騙?
四大區塊鏈的核心技術
針對這三個核心問題,區塊鏈構建了一整套完整的、連貫的數據庫技術來達成目的,解決這三個問題的技術也成為了區塊鏈最核心的三大技術。此外,為了保證區塊鏈技術的可進化性與可擴展性,區塊鏈系統設計者還引入了“腳本”的概念來實現數據庫的可編程性。我們認為,這四大技術構成了區塊鏈的核心技術。
核心技術1:區塊+鏈
關于如何建立一個嚴謹數據庫的問題,區塊鏈的辦法是:將數據庫的結構進行創新,把數據分成不同的區塊,每個區塊通過特定的信息鏈接到上一區塊的后面,前后順連來呈現一套完整的數據,這也是“區塊鏈”這三個字的來源。
區塊:在區塊鏈技術中,數據以電子記錄的形式被永久儲存下來,存放這些電子記錄的文件我們就稱之為“區塊”。區塊是按時間順序一個一個先后生成的,每一個區塊記錄下它在被創建期間發生的所有價值交換活動,所有區塊匯總起來形成一個記錄合集。
區塊結構:區塊中會記錄下區塊生成時間段內的交易數據,區塊主體實際上就是交易信息的合集。每一種區塊鏈的結構設計可能不完全相同,但大結構上分為塊頭(header)和塊身(body)兩部分。塊頭用于鏈接到前面的塊并且為區塊鏈數據庫提供完整性的保證,塊身則包含了經過驗證的、塊創建過程中發生的價值交換的所有記錄。
核心技術2:分布式結構
我們有了區塊+鏈的數據之后,接下來就要考慮記錄和存儲的問題了。我們應該讓誰來參與數據的記錄,又應該把這些蓋了時間戳的數據存儲在哪里呢?在現如今中心化的體系中,數據都是集中記錄并存儲于中央電腦上。但是區塊鏈結構設計精妙的地方就在這里,它并不贊同把數據記錄并存儲在中心化的一臺或幾臺電腦上,而是讓每一個參與數據交易的節點都記錄并存儲下所有的數據。
核心技術3:非對稱加密算法
什么是非對稱加密?簡單來說,它讓我們在“加密”和“解密”的過程中分別使用兩個密碼,兩個密碼具有非對稱的特點:(1)加密時的密碼(在區塊鏈中被稱為“公鑰”)是公開全網可見的,所有人都可以用自己的公鑰來加密一段信息(信息的真實性);(2)解密時的密碼(在區塊鏈中被稱為“私鑰”)是只有信息擁有者才知道的,被加密過的信息只有擁有相應私鑰的人才能夠解密(信息的安全性)。
核心技術4:腳本
腳本可以理解為一種可編程的智能合約。如果區塊鏈技術只是為了適應某種特定的交易,那腳本的嵌入就沒有必要了,系統可以直接定義完成價值交換活動需要滿足的條件。然而,在一個去中心化的環境下,所有的協議都需要提前取得共識,那腳本的引入就顯得不可或缺了。有了腳本之后,區塊鏈技術就會使系統有機會去處理一些無法預見到的交易模式,保證了這一技術在未來的應用中不會過時,增加了技術的實用性。