立場新聞 Stand News

簡說區塊鏈及其適用場景

2018/1/4 — 11:44

Dash - Digital Cash 片段截圖

Dash - Digital Cash 片段截圖

大概是因為比特幣在短短幾年內的瘋狂升值,今時今日許多人都在說區塊鏈。甚至前幾日讀到新聞說美國有一間咖啡店改名為區塊鏈。但是,許多財經網站,甚至技術新聞網站那些有關區塊鏈的文章給我這樣的印象:作者其實並不太明白區塊鏈。廣大在區塊鏈技術上投資的群眾更是人云亦云完全不知自己在做什麼。這篇文章就向非計算機專業的讀者簡單解釋下區塊鏈:當初它的出現究竟是為了解決什麼問題,它的重要組成部分、它的運作機制、以及它的適用場景。

通俗地解釋區塊鏈並非一件易事。Dash.org在2016年製作了一部科普影片(英文),這篇文章的講述方式深受這部影片啟發,先行致謝。

廣告

數字貨幣的信用問題

首先,讓我們假設銀行並不存在。

廣告

如果本桑想通過互聯網把錢給我的朋友張三,可以怎麼做?

寫電郵一封:謹此送上一單位電郵幣,敬請笑納。張三用我的電郵幣享受了一杯雪糕之後,腦洞大開,寫電郵派錢給他所有的三姑六婆狐朋狗友,信中的金額隨他揮灑。張三的三姑六婆婆朋友也受到啟發......三日之後,世界上爆發空前通貨膨脹,一個冰淇凌盛惠三萬電郵幣。

這是不行的。貨幣供應量必須有限,不能像電郵幣那麼可以隨意從空氣中生長。

怎樣保證貨幣總量守恆,或者至少不能無限隨意膨脹?

在交易體系中建立一個賬本記錄所有貨幣的來龍去脈就可以。

在這個賬本上,經濟系統中的每一筆交易都有記錄。每個記錄的內容大致是這樣:發錢方,收錢方,金額數量,以及交易時間。電子化的數據庫中,這種樸素的記錄有一個時髦的名字,叫做「區塊」(block)。賬本中,所有交易記錄嚴格按時間順序排列,環環相扣,所以這個賬本就叫做「區塊鏈」。任何人花掉的錢不可以比她現有的錢更多。假如張三只有3個這種電子幣,他不可以給李四送出4個幣。這樣的流水賬​​本就是所謂區塊鏈的核心。

設計這樣的一個數字流水賬機制,並不是就萬事大吉了。人之初,性本惡。

張三可以把他賬上的一單位電子貨幣悄悄改成三千單位。事實上每個人都想這麼做。好的,我們就從技術上限制賬面上已有記錄的修改。所以,區塊鏈上的區塊是只可增加,不可修改的。

那麼這種電子賬本,它是儲存在哪裡,又由誰負責賬本上寫新記錄的呢?記住,在這個貨幣系統中,銀行並不存在,沒有中央數據庫。那麼就讓系統中的每一個用戶都能看到一份完整的賬本吧。也就是說,假如這個貨幣系統有三百萬用戶,那麼這個賬本就至少要有三百萬個拷貝,他們碼農的業內黑話「分佈式數據庫」在區塊鏈裡就是這個意思。而且,每個賬本拷貝必須是時刻刻都是一模一樣的,不能出現這種情況:張三的賬本上我有42塊錢而李四的賬本上我有100塊錢。那到底信哪個賬本啊?我們在這個貨幣網絡中需要一個共識(consensus):誰在什麼時候說了算。

在整個貨幣網絡中,不能出現有多人同時添加記錄的情況,必須一個一個來。只有這樣,添加記錄的廣播「嗨嗨~~,有一條新記錄,你們都趕快把它抄去去哈! !」才能被所有賬本聽到並執行。

這種廣播,其實是一種往所有賬本上添加記錄的權力。這種權力在區塊鍊網絡中舉足輕重,必須付出一些代價才能獲得。什麼代價呢?算很複雜的數學題(哈希函數)。算題的各位苦力 - 通常是一些高性能的運算處理器,比如GPU - 在許多區塊鍊網絡中叫做「礦工」,算題的過程就叫做「挖礦」。每當有新記錄需要往賬本上添加時,系統就會生成一道數學難題用來驗證這個新記錄的真實性和有效性。網絡中的所有礦工就在此時腦力全開瘋狂算題,誰最先算得答案,誰就有權發表廣播。並且,系統會生成新的貨幣獎勵給礦工,就像金礦從天而降。礦工就本質上來說是一種校驗器,它驗證的是新記錄(即新區塊)的合法性。並非所有的區塊鏈都要用到新生貨幣之類的獎勵機制,但是,所有的區塊鏈都要用到校驗機制。

在區塊鏈網絡中,每一個賬號都有加密機制來保證安全,礦工們運算的數學題也是基於密碼學,所以,那些基於區塊鏈的電子貨幣又叫做加密貨幣或者密碼學貨幣。

區塊鏈網絡的運作機制牽涉到兩大數學絕學:集群中的共識算法和密碼學,這其中的哪一門都是高深複雜,比許多人工智能算法更為抽象難懂,這世上真正參透的人寥寥無幾。所以,普通大眾其實很難真正理解區塊鏈。這篇文章,也只是一種極簡主義的介紹。

越難懂的東西越好裝神弄鬼,也難怪如今資本市場上,區塊鏈的泡沫如此之大。

這裡想指出的是,區塊鍊網絡的根本哲學在於分佈式的權力以及信用系統。在比較「純粹」的公共區塊鍊網絡裡,整個系統沒有中心權威,即所謂「去中心化」,是一種終極民主形式。日後人類社會如果昌明到政府可以全部取消的時候,那麼人與人之間的契約、協議、法則、規範等等,大概都會內化在區塊鏈網絡裡。

適用場景

了解了區塊鏈的根本屬性以後,我們不難在各種兜售區塊鏈技術的喧囂中保持冷靜的頭腦。

在銀行和金融界,尤其是不同銀行間帳目的清算,傳統上必須用到第三方的信託。跨國或者跨幣種交易更為麻煩,當中可能要找好幾個信託。在這些領域應用區塊鏈價值網絡可以大大減低對信託方的依賴,降低交易成本且加快交易速度。各國央行甚至可以自己做東,用一個區塊鏈網絡代表自己,滿足國內銀行間支付的業務需要。

但是在供應鏈管理上,區塊鍊網絡就顯得有點牽強。當前絕大多數的企業還是有十分明確的權威體系。採購或者銷售,很多決定都是自己做的,「分佈式」的信用或權威不僅沒必要而且不被嚮往。而如果那個系統做成私有鏈,其本質跟傳統的中央數據庫應用沒有任何不同。另外一個很大的問題是,儘管在區塊鏈網絡內部,任何一條記錄的真實性和合法性有很大的保證,但是一旦到了物質世界,作假和作弊依然是個問題,跟不用區塊鏈技術沒什麼兩樣。具體點說,我可以相信一個「鑽石追踪區塊鏈系統」裡的全部數據,但是,在那個數字化的網絡外部,在有形世界中把那​​顆鑽石替換掉輕而易舉。其安全性還不是要靠外部保障。

要說到普通商品來源追踪之類的應用,不用區塊鏈技術也已經夠好了。

不得不提的是區塊鏈網絡的運行非常耗能。同樣功能的應用,用區塊鏈技術搭建並運行,網絡中所有的數據庫和校驗器所消耗的能源輕易就是傳統技術的千百倍。

假如一個業務問題的本質並不跟區塊鏈技術的本質相吻合,也就是說,非區塊鏈技術而不能運作(就好像比特幣的情況),那麼,最好就不要用區塊鏈。

延伸閱讀:KarlWüst和Arthur Gervais的論文Do You Need a Blockchain

謝謝閱讀,下次再見。

作者博客

發表意見