區塊鏈(blockchain)技術是維護壹個不斷增長的數據記錄的分布式數據庫,這些數據
通過密碼學的技術和之前被寫入的所有數據關聯,使得第三方甚至是節點的擁有者難以篡改。區塊(block)包含有數據庫中實際需要保存的數據,這些數據通過區塊組織起來被寫入數據庫。鏈(chain)通常指的是利用Merkle tree等方式來校驗當前所有區塊是否被修改,這壹點用過Git的碼農們早就熟悉了,回想壹下如何修改Git的歷史記錄吧。
目前已知的壹些區塊鏈技術應用大致有這三類:
公開區塊鏈(public blockchain) 例子:比特幣,Ethereum Frontier。公開區塊鏈上的數據所有人都可以訪問,所有人都可以發出交易等待被寫入區塊鏈。***識過程的參與者(對應比特幣中的礦工)通過密碼學技術以及內建的經濟激勵維護數據庫的安全。公開區塊鏈是完全的分布式。
協作區塊鏈(federated blockchain) 例子:Hyperledger以及德勤等會計所嘗試的審計系統。參與區塊鏈的節點是事先選擇好的,節點間很可能是有很好的網絡連接。這樣的區塊鏈上可以采用非工作量證明的其他***識算法,比如有100家金融機構之間建立了某個區塊鏈,規定必須67個以上的機構同意才算達成***識。這樣的區塊鏈上的數據可以是公開的也可以是這些節點參與者內部。部分意義上的分布式。
私有區塊鏈(private blockchain) 例子:Eris Industries。參與的節點只有用戶自己,數據的訪問和使用有嚴格的權限管理。近期部分金融機構公布的內部使用的區塊鏈技術大都語焉不詳,不過很可能都在這個範圍內。