前言:說區(qū)塊鏈無需信任往往讓人困惑。區(qū)塊鏈本身是算法的信任或是分布式的信任,通過去中心化的方式達成了一個系統信任。區(qū)塊鏈的核心就是達成了無需傳統中介方的信任,實現了價值的自由流通。
許多人把區(qū)塊鏈描述為一種無需信任的系統。在我看來,“無需信任”這個詞是含糊不清的,最重要的是,對于區(qū)塊鏈來說,這個詞是不準確的。
區(qū)塊鏈實際上并沒有消除信任,整個區(qū)塊鏈系統所要做的就是減少系統中每個單個參與者所需要的信任量。區(qū)塊鏈系統通過激勵機制來保證每個參與者之間按照系統協議來合作,從而實現把信任分配給每個參與者。
下面我們將通過一些例子來進行詳細的解釋。一個真正無需信任的交易系統看起來應該像是這樣:假設有兩個人,他們想要進行轉賬交易,因為是線下交易,所以可以進行很輕松的驗證。
首先,真實性對他們來時是沒有任何問題的,因為交易方式為現金交易,其次,雙花問題也不存在,因為每張貨幣都有自己獨特的編號。
這種交易理論上完美無暇,但是交易量卻是有限的,只有在物理位置足夠接近時才有可能采用這種交易。如果想要進行規(guī)模化的操作,那么這個交易系統應該能夠讓世界上的任何一個人進行自由的資金轉移。所以我們更需要下圖所示的轉賬交易系統:
我們實現這一目標的方式是通過中間媒介來促進價值轉移,以確保實際的發(fā)送者發(fā)送的錢是真實有效的。那么誰會是完全可信的中間人呢?在現實交易系統中,這個中介可以是銀行(如chase bank),支付提供商(如 paypal),匯款公司(如,western union),信用卡公司(如visa)等等。
在這種中心化模型中,由銀行確認和確保你收到的錢是真實有效的。換句話說,除非有直接的物質價值從一個人轉移到另一個人,否則必須存在一些我們信任的中介。
區(qū)塊鏈也并無不同。區(qū)塊鏈通過協議,允許兩個單獨個體通過互聯網以點對點的方式進行彼此交易。當你在區(qū)塊鏈系統中將數字貨幣從一個賬戶轉移到另一個賬戶時,那么說明你信任區(qū)塊鏈底層系統既能夠支持該轉賬,又確保發(fā)送人的真實性和數字貨幣的有效性。
在一個中心化的系統中,我們信任第三方(例如chase bank)能夠承擔起中介的角色來擔保轉賬的真實性和有效性。在一個分布式系統中,第三方中介將被公鑰密碼系統和共識機制替代,用來保障轉賬的真實性和有效性。
公鑰密碼(非對稱密碼)通常由兩組密碼構成,一組是任何人可見的公鑰,另外一組是只有擁有者可見的私鑰。每一次轉賬交易都將由私鑰來進行數字簽名,數字簽名能夠確保每一筆交易都是來源于數字貨幣的擁有者,同時還保證一旦交易被發(fā)送出去之后,交易不被串改。
更改交易的任何信息都會導致驗證失敗。交易的驗證過程是采用交易發(fā)起者的公鑰來驗證交易信息的正確性。
公鑰密碼可以幫助我們在點對點交易中驗證賬戶的真實性和轉賬的有效性。但是,這并不能保證雙花問題(雙重支付問題)。因此我們需要持續(xù)的跟蹤每個賬戶,以便確保每筆交易的有效性,避免出現雙重支付問題。
這時候我們就需要共識機制來保證賬本的真實性(shared truth)。區(qū)塊鏈擁有一個共享賬本,它為我們提供了系統狀態(tài)的絕對真實性。它使用數學,經濟學和博弈論來確保和激勵這個系統的所有參與者達成共識,或者就這個賬本的單一狀態(tài)達成共識。
那么通過比特幣來舉個例子,比特幣協議中有一個共識算法叫做工作量證明,它將系統的所有參與者連結在一起。為了確認每筆交易,共識算法要求一組節(jié)點(即礦工)通過解決復雜的算法問題來競爭驗證交易。
換句話說,比特幣協議通過經濟手段來激勵礦工購買擁有更高算力的機器來解決復雜的算法問題。這些激勵包括,每筆交易所產生的交易費用和新區(qū)塊產生時系統給予的比特幣獎勵。
由于這些激勵措施,礦工們通過不斷的監(jiān)控整個比特幣網絡來收集每一筆交易用以產生新的區(qū)塊,然后他們使用計算資源解決復雜算法來證明他們做了這些工作。第一個解出算法的礦工將證明和新區(qū)塊加入區(qū)塊鏈賬本,同時將區(qū)塊全網廣播出去。此時,網絡中的其他礦工都會驗證并且同步最新的區(qū)塊。
因為礦工們都在競爭產生新的區(qū)塊,那么有時就會有多個區(qū)塊同時產生,這會導致產生很多的分叉鏈,這些分叉如下圖所示:
那么整個網絡的規(guī)范鏈(canonical chain)就是最長的那條鏈,擁有最多礦工信任的并繼續(xù)工作的那條鏈。
以這種方式添加到賬本的的每一個新區(qū)塊都會增加系統的安全性,因為攻擊者想要修改賬本的歷史數據就必須提供超過全網百分五十一的算力來使得自己修改的賬本變成最長鏈。在現實中這是不可能實現的,這就是為什么用戶可以繼續(xù)信任這個系統的原因。
所以當我們在區(qū)塊鏈網絡進行轉賬交易的時候,我們信任那些礦工們所貢獻的算力來確保沒有雙重支付問題。
當然,即使機器能夠提供完美的共識,在其他一些重要的方面,我們仍然未能達成百分百的共識。例如,當底層網絡需要升級,改進或者維護時,我們需要以某種方式來信任網絡及其所組成的成員能夠適當的處理這些變化。
在這種情況下,需要第三方參與人員之間協調合作,或者我稱之為社會共識(social consensus)。
例如,當一個區(qū)塊鏈系統需要升級時(例如,更好的交易日志),我們需要一個治理機制來協調所有利益相關方,例如,用戶,開發(fā)者和投資者等等,以提出最佳的解決方案?;蛘咴谧罴呀鉀Q方案上出現分歧時,需要社區(qū)為就下一步怎么做提供共識。
如果共識未能達成,那么區(qū)塊鏈網絡將會硬分叉,每個參與者將會被迫選擇一方而不是大家都達成的共識。這可能會導致用戶對系統失去信任,因為他們無法確定哪條鏈是有效的鏈。
正如我之前的文章中所描述的,區(qū)塊鏈治理存在許多不同的模式,并且它仍然是社區(qū)積極研究的一個領域。區(qū)塊鏈治理是個棘手的問題,在中心化和去中心化控制之間尋找一個平衡,對于維護每個人對系統的信任度至關重要。
當我們說到區(qū)塊鏈無需信任時,我們指的是,系統中所有的參與者可以通過這些機制來達成一些標準的共識。權利和信任分散在系統的參與者之間,如,開發(fā)者,礦工和消費者,而不是集中在單個個體或者實體,例如銀行,政府或者金融機構。
或許更準確描述區(qū)塊鏈的方式不是無需信任,而是建立在分布式信任的基礎上:我們相信每個人都是信任系統的一部分。
第三十四屆CIO班招生
國際CIO認證培訓
首席數據官(CDO)認證培訓
責編:kongwen
免責聲明:本網站(http://www.www.gypb.net/)內容主要來自原創(chuàng)、合作媒體供稿和第三方投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
本網站刊載的所有內容(包括但不僅限文字、圖片、LOGO、音頻、視頻、軟件、程序等)版權歸原作者所有。任何單位或個人認為本網站中的內容可能涉嫌侵犯其知識產權或存在不實內容時,請及時通知本站,予以刪除。