區塊鏈是否一定要去中心化?

我在知乎上看到的答案中,區塊鏈的屬性之一就是分散式賬本。區塊鏈和分散式賬本為什麼不能是兩個概念?

區塊鏈是只是一串只能添加,不可修改的數據塊,通過不對稱加密,以及對上一個數據塊的簽名的鎖定,來保證已有數據不可能被修改。

這個應用場景還是蠻多的,比如:公司報銷流程里,資料庫員工可以在多層上級審核通過後,財務人員報銷前修改資料庫的金額,財務人員並不知道金額變化了。但是如果每一級審核過都用自己的私鑰簽名,那資料庫員工就不可能修改了。

所以理論上只要涉及多個參與者的場景都可以用區塊鏈,但未必要去中心不是嗎?


謝邀,這個問題很好,這涉及到一個關於區塊鏈的定義問題。可以參見我的這個回答:

https://www.zhihu.com/question/37290469/answer/167477833

這個回答里我把區塊鏈定義成三個部分——分散式系統,無法篡改的數據結構,以及共識演算法。而你的問題就是,第三個部分,共識演算法,到底算不算是區塊鏈不可分割的一部分。

誠然,這個問題是有爭議的,應該說我的組裡都有不同意這點的人,他們的定義和你一樣,認為區塊鏈只是字面的意思,也就是那個用哈希函數保證不可篡改的數據結構而已。

然而,目前其實區塊鏈這個詞,至少在業界,已經有了一定的共識,就是說區塊鏈一定是包括共識演算法的,因為其實如果你仔細想想的話,如果說區塊鏈只是不可篡改的數據結構,那麼不僅它不是什麼新東西,而且連「區塊鏈」這個詞都站不住腳。

為什麼呢?比如你說的場景,公司有個中心伺服器,所有人有自己的私鑰,然後所有活動記錄全部用私鑰加密存在這個不可篡改的資料庫上。聽起來好像很好,甚至不少人就拿這種概念推銷給想要蹭區塊鏈熱度的公司,然後公司的人不懂技術就直接給錢了,東西也做出來了,也用用了,似乎也沒什麼問題……

但是,這東西和一般的資料庫有什麼區別嗎?

資料庫也可以用哈希做成不可篡改的啊,資料庫每個人登陸也是要密鑰的啊,而且資料庫的存儲結構效率要比這種鏈高多了啊。而且,為啥要把數據打包成區塊然後鏈起來呢?保證不可篡改還可以用哈希列表或者梅克爾樹,為什麼要用鏈呢?這種鏈式結構放在這裡毫無意義啊。

也就是說區塊鏈之所以是新東西,之所以現在這麼熱,是因為它是一個能在不安全網路中工作的去中心化的資料庫,是因為它有共識演算法。如果是中心化的,沒有共識演算法,那麼這東西一沒必要用鏈式結構,二和傳統資料庫相比沒有任何優勢。

————————————————————————————————————

@超級馬料

的確,你的回答其實更符合標題,我主要是在回答題主內容的部分。

看完你的我本來想補充點啥,但是發現沒啥可補充的了,你說的和我的想法是一樣的。


關鍵取決於你如何定義中心化。在我的理解中, 一個中心化的系統可以是分散式運行的

例如英國央行正在研究的數字貨幣方案是基於論文《Centrally Banked Cryptocurrencies》。 這個方案中, 中央銀行是唯一的、具有最高許可權的中央結點, 但是它確實使用到了區塊鏈技術, 至少在論文中, 是聲稱自己使用了區塊鏈的。

另外題主所說的報銷問題的解決方案只是「數字簽名」 的應用, 沒有用到區塊鏈。建議題主還是重新理解一下區塊鏈的原理 。

蕭蕭:區塊鏈的原理是什麼?

另外, 關注區塊鏈是否值得應用,不是看什麼場景可以用區塊鏈,而是看什麼場景似乎只能通過區塊鏈來解決。


推薦閱讀:

TAG:區塊鏈Blockchain |