區塊鏈技術筆記二

軍說網事發表於2018-01-28

區塊鏈(blockchain)技術是維護一個不斷增長的資料記錄的分散式資料庫,這些資料通過密碼學的技術和之前被寫入的所有資料關聯,使得第三方甚至是節點的擁有者難以篡改。區塊(block)包含有資料庫中實際需要儲存的資料,這些資料通過區塊組織起來被寫入資料庫。鏈(chain)通常指的是利用Merkle tree等方式來校驗當前所有區塊是否被修改,這一點用過Git的碼農們早就熟悉了,回想一下如何修改Git的歷史記錄吧。

目前已知的一些區塊鏈技術應用大致有這三類:

1 公開區塊鏈(public blockchain) 例子:比特幣,Ethereum Frontier。公開區塊鏈上的資料所有人都可以訪問,所有人都可以發出交易等待被寫入區塊鏈。共識過程的參與者(對應比特幣中的礦工)通過密碼學技術以及內建的經濟激勵維護資料庫的安全。公開區塊鏈是完全的分散式。

2 協作區塊鏈(federated blockchain) 例子:Hyperledger以及德勤等會計所嘗試的審計系統。參與區塊鏈的節點是事先選擇好的,節點間很可能是有很好的網路連線。這樣的區塊鏈上可以採用非工作量證明的其他共識演算法,比如有100家金融機構之間建立了某個區塊鏈,規定必須67個以上的機構同意才算達成共識。這樣的區塊鏈上的資料可以是公開的也可以是這些節點參與者內部。部分意義上的分散式。

3 私有區塊鏈(private blockchain) 例子:Eris Industries。參與的節點只有使用者自己,資料的訪問和使用有嚴格的許可權管理。近期部分金融機構公佈的內部使用的區塊鏈技術大都語焉不詳,不過很可能都在這個範圍內。

對於已經公佈細節的區塊鏈技術,大可先看看座標位於這三者的哪一個。各自亮點和痛點:

1 公開區塊鏈完全分散式,具有比特幣的一切特點,然而需要有足夠的成本來維持系統執行,依賴於內建的激勵。目前來看公開區塊鏈中只有比特幣算是足夠安全的,如果和比特幣的演算法一樣,乙烷;沒有內建獎勵,乙烷;容易集中算力攻擊(比如只要突擊掃貨大批顯示卡之類),吃棗藥丸。公開區塊鏈上試圖儲存的資料越有價值,越要審視其安全性以及安全性帶來的交易成本,系統擴充套件性問題。

3 協作區塊鏈可以做到很好的節點間的連線,只需要極少的成本就能維持執行,提供迅速的交易處理和低廉的交易費用,有很好的擴充套件性(但是擴充套件性隨著節點增加又會下降),資料可以有一定的隱私。開發者在共識下有能力更改協議,沒有比特幣hard fork的問題,但是這也意味著在共識下,大家可以一起篡改資料。協作區塊鏈也意味著這個區塊鏈的應用範圍不會太廣,缺少比特幣的網路傳播效應。

3 私有區塊鏈實際上是很迷惑的名詞,這樣的一個系統無非是傳統意義上的共享資料庫用上Merkle Tree等方式試圖說明其中的資料可校驗。這樣的資料庫早有成熟的解決方案, Merkle tree也只是很多成熟方案中的一種。這些專案很容易是“然並卵”。由於全是使用者說了算,裡面的資料沒有無法更改的特性,對於第三方也沒有多大的保障。因此很多私有區塊鏈會通過依附在比特幣的方式存在,比如定期將系統快照記錄到比特幣中。

小結:
公開區塊鏈和協作區塊鏈互有優勢,公開區塊鏈很難實現得完美,協作區塊鏈需要找到實際迫切需求的應用場景,私有區塊鏈容易“然並卵”。

相關文章