一雲
一雲

香港資安新創聯合創辦人兼總軟件架構師,前蘋果電腦高級工程師,關注科技與人的關係。推特 @edwincheese

個個都講區塊鏈,唔通個個都識區塊鏈咩

(编辑过)

(原文刊於2019年4月23日《明報》)

經過了 2018 年的加密貨幣大跌市之後,人們對 Bitcoin 等加密貨幣的興趣不再,不過,這無損大企業和媒體繼續吹捧區塊鏈,好像 J.P. Morgan 最近就宣佈推出基於區塊鏈的 JPM Coin,而本地企業也相繼發表區塊鏈項目,例如新世界發展和應科院(ASTRI)合作推出的「首個置業區塊鏈跨界平台」、中原地產與 Microsoft 香港的另一個「首個置業區塊鏈跨界平台」[sic]、金管局和銀行開發的區塊鏈「貿易聯動」、香港保險業聯會區塊鏈車保認證系統「車保 e-Check」等。一時之間,人人都講區塊鏈,網絡上也湧現大量關於區塊鏈的文章和影片。問題是,似乎沒有人知道區塊鏈是什麼,不是他們不知道正確的定義,而是因為區塊鏈根本就沒有定義。

新世界發展和應科院(ASTRI)合作推出「首個置業區塊鏈跨界平台」

大家都說 Bitcoin 就是區塊鏈技術的第一個應用,我們先談一談這個。Bitcoin 是一種電子貨幣,在 2008 年發佈。電子貨幣不是新事物,早在九十年代初就已經有出現,香港的八達通也是一個早期的電子貨幣例子。一般的電子貨幣會由單一機構發行,在單一平台上使用或交易。而 Bitcoin 的特別之處,在於它是第一個不需要中央發行、不依賴任何單位、可以通過網絡點對點使用的去中心化電子貨幣。

建立去中心化貨幣必須要解決一個技術難題。貨幣的首要條件是稀缺性,它必須要限定流通量,才有交換的價值。鈔票的稀缺性在於它難以複製。可是,在電腦上,再複雜的數據都只是數據,可複製是電子數據的本質,而可複製的電子化的鈔票意味著可以多次使用和花費。這問題稱為一幣多付問題(double spending problem)。一般的電子貨幣,依靠一個中央帳本去決定記錄的真確性,任何交易都必需要經過中央系統進行,而這個系統就擔起確認交易和防止一幣多付的責任。

可是,Bitcoin 是公開的,而且容許使何人自由加入,在這樣的去中心化系統,沒有誰可以信任,那麼要怎樣確認交易呢?Bitcoin 就提出了一個創新的方法,運用密碼學(cryptography),把資料塊串連起來(chain of blocks),組成總帳本,記錄系統從頭到尾的每一筆交易。密碼學使網絡上任何一個人也能夠驗證這些紀錄,亦難以竄改。因為要去中心化,Bitcoin 在設計上亦作了相當大的取捨:它要耗費極大量電力運算以確保系統的一致性,而且因為總帳本並不在特定伺服器上,每一個網絡節點上都要有完整的數據副本,因而大大限制了它的交易容量。

Bitcoin 出現的背景,是在 08 年金融海嘯之後,駭客們對經濟不公義的一個回應。它是一個用演算法取代國家貨幣政策的實驗,是不滿集中化的貨幣受政府和利益集團所操縱而提出的替代方案,背後承襲著 90 年代密碼龐克(cypherpunk)文化,強調私隱、匿名性(anonymity)和反審查(anti-censorship)。因為是開源軟件,Bitcoin 之後亦衍生出其他的去中心化系統,例如分散式運算平台 Ethereum。

只不過,今天企業和政府談論的「區塊鏈」和 Bitcoin 的技術有著本質上的差異。

一個區塊鏈,各自表述

雖說區塊鏈起源自 Bitcoin,但是在 Bitcoin 的論文裡,其實從來沒有提及區塊鏈(blockchain)一詞,有的只是串連資料塊(chain of blocks),以哈希鏈時間戳(hash-linked time-stamping)來確保資料完整性。而且,它對這個方法也沒有大篇幅說明,因為它並非 Bitcoin 首創的,在 Bitcoin 論文中也只是引用早在 1991 年發表的研究。我們經常說的區塊鏈,只是後來的人自行表述而已。

銀行、金融機構和政府談論「區塊鏈」時,都會極力地把區塊鏈和 Bitcoin 等加密貨幣區分開來。無他,因為沒有中央控制,加密貨幣容易令人關想到欺詐、清洗黑錢、犯罪等問題,而且企業對它們不能控制的系統本來就沒有什麼興趣。有些企業就提出了私有化的區塊鏈(private blockchain)的概念,和 Bitcoin 的開放網絡相反,只有獲授權的人能夠存取這個私人區塊鏈。有些人索性把它叫作「分散式賬本技術」(distributed ledger technology),以作區分。

把技術延申到不同的應用場合,例如把去中心化技術應用在集中式系統,本身並無不妥,但問題是,在私有化系統中,Bitcoin 耗費大量電力的運算變成毫無意義。Bitcoin 創新的地方,在於它能夠去中心化網絡上確保交易的一致性,而一個不需要去中心化的區塊鏈,實際上就和一個分散式共享資料庫沒有多大分別。很多人稱區塊鏈的優點,例如分散式共識、不可竄改,其實在 Bitcoin 或者區塊鏈出現之前早已是普遍使用的技術。正如普林斯頓大學的計算機科學教授 Arvind Narayanan 說:「私有區塊鏈只是換了個名字的共享資料庫」。著名密碼學家 Bruce Schneier 更直接,認為私有區塊鏈純屬炒作

私有區塊鏈只是換了個名字的共享資料庫

我們可以從一些例子看到區塊鏈的意義有多大彈性。在網上可以找到很多有關愛沙尼亞政府使用區塊鏈的文章,以此作為私有區塊鏈的應用實例,例如《哈佛商業評論》和《經濟學人》分別報導稱愛沙尼亞的國民數位身份認證系統自 2007 年就應用了區塊鏈技術。而有趣的是,Bitcoin 要到 2008 年才面世,愛沙尼亞的系統比 Bitcoin 還早很多年啟用。科技評網員 Dave Birch 調查後發現,它被人稱為區塊鏈,只是因為它使用和 Bitcoin 類似的哈希鏈時間戳方法去確保資料的完整性,除此以外它和區塊鏈就沒有其他關係。

https://twitter.com/vgcerf/status/1019987651301081089

Uber 不會宣傳自己使用 MySQL

見諸媒體的企業文案裡,區塊鏈被想像成能解決夠糧食不足、醫療、到身分認證等上百種應用的創新技術,可是在技術和學術圈子裡面,這些所謂的區塊鏈應用往往受到不少質疑。在龐大的資本投入、大企業以至政府支持下,我們看到的區塊鏈應用,大都只是停留在示範可行性的試作原型(proof of concept)階段,在實際場景應用(更不要說大規模使用)的例子依然少之又少。

我並不是說加密貨幣和區塊鏈技術沒有用處,技術本來就應該是不論新舊,只求合用,而加密貨幣在開放性、小額支付和跨境交易等地方中確有獨特優勢,亦是一場有趣的技術和社會實驗,哈希鏈本身更是確保資料完整性的重要技術。這些技術都有它們的用途。

但很多私有區塊鏈項目最後沒有得到大規模應用的原因,是因為它們並非以解決實際問題為前題而存在。很多時候,它們是為了「區塊鏈」才存在,我們經常可以看到企業在發佈會上大談區塊鏈,卻連最簡單的操作示範也欠奉。技術的價值在於它能解決問題,好像 Uber 不會宣傳自己使用 MySQL(一個開源資料庫軟件),不是因為背後的技術不重要,而是要用那個技術應該由實際需要決定,一個應用解決什麼問題、如何解決才是重點。開發軟件產品,都是在大量的可行的設計和辦法當中,衡量各種利弊,作出取捨,找出最合適的方法。倘若企業能夠利用區塊鏈概念為契機,推行流程電子化,增進效益,或者也是一件好事,但是如果只停留在為了區塊鏈而區塊鏈,沒有以用戶為本思考要解決什麼問題,等到熱潮冷卻,區塊鏈不再有市場營銷效果時,我們就會發現資源一直浪費在錯誤的地方,本應一早改善的問題反而沒有人理。

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论