區塊鏈的五大技術創新

傳統金融產業正面臨互聯網金融及金融科技(FinTech)的衝擊,而其中又以數位金融相關的區塊鏈(Blockchain)技術為新興顯學,吸引全球政府機關與金融業巨頭相繼投入研究。目前區塊鏈技術在西方國家研發可謂如火如荼,光是投資到新創公司的資金就超過10億美金,是1990年代中期對網際網路的新創投資的4倍金額。區塊鏈重金投資不只是在區塊鏈基礎建設而已,也在上層應用,諸如金融業的結算系統,數字憑證如股票的發行,及日常生活中的應用比比皆是。

美國SEC(The US Securities and Exchange Commission)也在2015年12月批准了Overstock用區塊鏈發行股票的計畫。我們敬佩CEO Patrick Byrne引領時代,選擇創新,公平,公正,公開的區塊鏈技術,並大幅降低了發行成本。英國首相的首席科學顧問Sir Mark Walport也建議英國政府,在主要公共服務上,例如稅收、福利或簽發護照等採用區塊鏈技術。在中國大陸,區塊鏈相關研究也正積極開展,中國人民銀行行長周小川在2016年2月接受媒體採訪時,再次提到央行正研究發行「數字貨幣」。

金管會指導下的金融科技辦公室及臺灣金融總會正在探討區塊鏈技術之發展趨勢及其在金融業之應用。2016年3月初金管會資訊處長兼金管會金融科技辦公室執行秘書蔡福隆在臺灣大學記者會上強調他對金融科技暨區塊鏈領域的期許:他希望我們區塊鏈的研發能做好產政學的無縫接軌,扮演臺灣FinTech領頭羊的角色。

我們深信對區塊鏈的研發投入能成為推動金融業科技創新的動力,培養FinTech產業領導人才,並能創造臺灣新的明星產業。


區塊鏈雖在隱私安全,密碼學,經濟模型都有跨領域的突破,但最重要的創新應是算法算力,特別是共識演算法的創新突破。——臺灣大學資工系副教授 廖世偉

區塊鏈的應用遠不只於金融業

首先,區塊鏈的應用遠不只於金融業。上述時空背景讓這篇文章舉例時,多以金融應用為例,但我們深信區塊鏈將是遍地開花,不限於金融業而已。尤其本段探討技術,更是回歸本質,保持技術中立於物聯網,金融理財,數位健康,Business-to-Business多中心化應用,(如供應鏈協同供貨CPFR,食安履歷追溯追蹤,Device Democracy感測器物聯自治,資源需量反應競標)以及Consumer-to-Consumer多中心化應用,(如身分證明與投票,智權構想保護證明,群眾募資專款專用,開放資料協作版控)之間。

對於非科技背景的人而言或許較難理解科技領域的發展和革新,消費者僅對於產品或程式本身使用上有感,要深究其背後的邏輯和技術則相對困難,區塊鏈技術的出現亦不意外,對於一般大眾而言,此項技術最早被大眾認識當追溯於2008年11月一份署名中本聰的比特幣論文被發表在網路上及2009年1月3日50個比特幣問世。大眾常以為Blockchain今天只是到了7年之轉捩點而已,但一個偉大的創新往往背後的技術不是萬丈高樓一日起的,而是多年的累積與醞釀,且讓我們概略介紹此項重大發明與其背後涵蓋之幾項核心技術。遠比以上2008年還早的數十年前就有五個技術領域的研發十分重要:

Privacy創新

第一,1982年Dr. David Chaum提出注重隱私(Privacy)的密碼學網路支付系統,如e-Cash,可算是比特幣區塊鏈支付技術在Privacy方面的雛形,當然e-Cash就犧牲了Traceability,與今日的區塊鏈不同。他的Privacy研究影響深遠。直到今年(2016年)初他還在Stanford的研討會上倡議新的e-Cash、DigiCash和Voting方向,30餘年如一日,令人敬佩。他1982年在美國加州大學Berkeley分校發表的論文,值得每位研究區塊鏈技術者拜讀《Computer Systems Established, Maintained and Trusted by Mutually Suspicious Groups.》。Dr. Chaum 以來的Privacy研究十分重要,也奠定了比特幣支付技術應用的雛形。

Scalability創新

第二,Scalability是Google的拿手好戲,也是其競爭力的基礎。現在比特幣區塊鏈是理論上可到7個TPS(Transactions Per Second)。但Visa平時是2,000TPS,尖峰時是10,000TPS。淘寶在2015年光棍節(11月11日,即雙十一)的尖峰是86,000TPS。這些都是Value Transfer。相對於以上Value Transfer,若是Information Transfer的話,Twitter平時是5,000 TPS,尖峰時是15,000 TPS。提供一個參考資訊,Email Networks每天有183 Billion Emails。183 Billion Emails是2,100,000TPS。將來IoT時代會有相當高的TPS,而且一定是多中心化的,如何估計到時IoT Value Transfer的TPS,是我近期研究的課題之一。現在區塊鏈提供多中心化的API-based Value Transfer,我們必須確保Scalability及效率能跟上。比特幣區塊鏈現在大約65GB,新的Full Node加入時約需下載一整天。

如果做到Visa級別,約需3.9 GB/day或1.42PB/year。如果做到150,000 TPS,約需214PB/year.光是比特幣區塊鏈本身,Roger Ver預測未來兩年的規模也會迅速成長,很快就會到Terabyte等級。如此大規模運算時,我們系統的挑戰為何?開發者需要Simple和Expressive區塊鏈開發工具及模型。在系統層級,Scalable、Efficient和Fault-tolerant Implementation十分重要。

Security和Cryptography創新

第三,Security和Cryptography。區塊鏈過去7年多運行以來,接受到十分強大,從全世界來的Security測試,但都沒有倒,除了2011年有一個Value Overflow Incident。當然,這Incident馬上獲得解決,也沒真正影響到比特幣的價值。該比特幣區塊鏈安全的原因主要是在於它背後強大的Core Developers,問題發生後有馬上處理改善的能力。這種急戰力,Open-source Developers Community往往是我們華人相對較弱的地方。我之前在Google總部開發Android時就有深刻的感受,部份手機廠沒有Android Core的Development能力,連改一行小問題都無法送Code出來,只能一直求救,讓我感嘆競爭力強弱在這些小地方就可看的出來。如果我們沒有蹲馬步,沒有務本,投入Developers,投入真正核心技術的研發,將來在Open-source及急戰力上只會輸的越來越多。

總而言之,Stress Test及Penetration Test並沒有擊倒比特幣區塊鏈。社會上看到的比特幣被盜事件都跟區塊鏈安全無關,問題往往都是出在上層的交易所及人為因素。我們在臺灣大學的研究室對Security著墨頗深,結合大數據,協辦眾多高科技金融犯罪事件。但若一寫又是一萬字,因這裡篇幅限制,將另篇文章探討。

Flexibility創新

第四,Flexibility。與Flexibility相關的技術,包含了智能合約(Smart Contract)、Virtual Machine、Governance Structure,及Business Logic。Flexibility是區塊鏈系統研究人員常常忽略的,因為系統人員或系統公司往往忽略應用。而做區塊鏈應用的又往往技術紮根不足,無法徹底解決Governance Structure及Smart Contract的問題。但Flexibility十分重要。區塊鏈若要遍地開花,落實在現實世界,雖然底層Scalability十分重要,但同樣重要,或甚至更重要的是Governance Structure及業務邏輯的實踐。可以說沒有Flexibility,就沒有落地。臺大黃茂榮教授曾說過,所有有用的技術,都必須接受商業實踐的檢驗。Flexibility這正是GCoin區塊鏈的強項之一。GCoin的G正是代表Governance Structure及Global。前者代表Flexibility,後者(Global)代表Scalability。因篇幅限制,兩年多來鑽研Flexibility及Scalability的心血結晶將另文著述。

共識演算法創新

第五,Consensus Algorithm:區塊鏈雖然在隱私安全,密碼學,經濟模型上都有跨領域的突破,我們認為最重要的創新應是在算法算力,特別是共識演算法的創新突破。相較之下,區塊鏈在其他領域方面的貢獻比較像是十分漂亮的跨領域結合與設計,當然這些也展現了不凡的系統功力與設計實力,但我們還是要特別強調其在共識演算法的突破才是讓區塊鏈被稱為「Trust Machine」,並且稱得上是實至名歸。關於Trust Machine,讀者可以參閱經濟學人雜誌2015 年10月31日的封面文章,講述區塊鏈即為Trust Machine。

現在區塊鏈百家爭鳴,百花齊放,例如做Database的研究人員說區塊鏈不過是分散式Database(帳本),做Networking的人員說區塊鏈就是P2P network,做Programming Language的老師說區塊鏈就是一個Programming Platform,做Virtual Machine及Compiler的研究人員說區塊鏈是Smart Contract,做密碼學的研究人員說區塊鏈只不過是PKC(Public Key Cryptography)的下一版。所以我們更要回歸到區塊鏈的本質:Trust Machine。

例如,如果沒有Trust在我們討論的範疇,記錄東西時就用Database即可,不用扯到區塊鏈。如果沒有Trust在我們討論的範疇時,要點對點傳遞訊息就用P2P network即可,不用硬拉區塊鏈進來。其他領域也是類似情形。我們秉持追求真理,追求Trust的心,必能讓區塊鏈的研究突飛猛進。

正本清源,我們不希望用Marketing的名詞哄抬Blockchain,所以我們接受的英文名詞即為Blockchain及Trust Machine,接受的中文名詞即為區塊鏈。之前我們有用一中文名詞當作Trust Machine的中文翻譯,但我們發現該名詞幫助大眾理解Blockchain的效果有限,反被當成marketing term,所以我們還是中文就用區塊鏈,也不再翻譯Trust Machine一字了。

上一部分談到區塊鏈的五大技術創新,包括了隱私(Privacy)研究創新、Scalability創新、Security和Cryptography的創新、Flexibility創新,以及第五項共識演算法(Consensus Algorithm)的創新。

區塊鏈雖然在隱私安全,密碼學,經濟模型上都有跨領域的突破,我們認為最重要的創新應是在算法算力,特別是共識演算法的創新突破。相較之下,區塊鏈在其他領域方面的貢獻比較像是十分漂亮的跨領域結合與設計,當然這些也展現了不凡的系統功力與設計實力,但我們還是要特別強調其在共識演算法的突破才是讓區塊鏈被稱為「Trust Machine」,並且稱得上是實至名歸。關於Trust Machine,讀者可以參閱經濟學人雜誌2015 年10月31日的封面文章,講述區塊鏈即為Trust Machine。

金融業與Trust(區塊鏈的本質)息息相關。我在美國近1/4個世紀,在1/4個世紀前,美國人常常稱銀行是「Trust Company」。這是一個有趣的稱謂,可見銀行跟Trust是息息相關的。當然,過去1/4世紀來,發生了多次金融危機,漸漸美國人就不再稱銀行是「Trust Company」了,而「Bank」這個字更流行了。為何金融業與Trust息息相關?這要回到金錢的本質。之前人們發現若隨時攜帶全部財產在身上,並不方便。若各自放在家裡,一不安全,二缺乏公信力。一個人說他有多少財產在家裡,並不取信於人。所以就有了「Trust Company」應運而生。當您把您的財產,例如一塊金條,放在Trust Company,Trust Company會給您一個Receipt,即為錢。最早是有多少金條,Trust Company就發多少個Receipt,以維持公信力。這就像若您家裡有兩個兒子(這在古早時候,尤其是重要人力資產),但您不發您有兩個兒子的證明(Receipt),而發您自己有20個兒子的證明,希望大家需求人力時都到您這裏來,遲早會碰到週轉人力問題及公信力問題。但當今Trust Company是多發相當多的Receipt。量化寬鬆(Quantitative Easing)以來,更是如此,到當今連負利率政策都出臺了。難怪Trust Company這字越來越少聽到,而Bank及肥貓一詞越來越常聽到了。

講到共識演算法,就必須介紹著名的「拜占庭將軍問題」。這是Leslie Lamport在1982年提出的formulation。Leslie Lamport在2013年得到計算機科學領域最高榮譽──Turing Award。 他的獲獎原因特別值得一提:Leslie Lamport imposes 「clear, well-defined coherence on the seemingly chaotic behavior of distributed computing systems, in which several autonomous computers communicate with each other by passing messages.」 這正是Blockchain共識演算法及拜占庭將軍問題努力的目標。

如Wikipedia所述:拜占庭位於現在土耳其的伊斯坦堡,是東羅馬帝國的首都。由於當時拜占庭羅馬帝國國土遼闊,為了防禦目的,因此每個軍隊都分隔很遠,將軍與將軍之間只能靠信差傳消息。在戰爭的時候,拜占庭軍隊內所有將軍和副官必需達成一致的共識,決定是否有贏的機會才去攻打敵人的陣營。

但是,軍隊可能有叛徒和敵軍間諜,左右將軍們的決定,擾亂軍隊整體的秩序。在進行共識時,結果並不代表大多數人的意見。這時候,在已知有成員謀反的情況下,其餘忠誠的將軍在不受叛徒的影響下如何達成一致的協議,拜占庭問題就此形成。以上Wikipedia的描述應用在分布式計算上時,即是指不同的計算機透過訊息交換,嘗試達成共識;但有時候,系統上的Server Computer或Computer node可能因系統錯誤並交換錯的訊息,導致影響最終的系統一致性。拜占庭將軍問題就根據錯誤計算機的數量,尋找可能的解決辦法,這無法找到一個絕對的答案,但只可以用來驗證一個機制的有效程度。

跟比特幣論文發表同年(2008年)得到計算機科學領域最高榮譽圖靈獎(Turing Award)的Dr. Barbara Liskov,也對Consensus Protocol共識演算法做出重大貢獻。她1988年發表的Argus,也就是《Distributed programming in Argus》這篇論文,是一個值得Turing Award的成果。Dr. Leslie Lamport and Dr. Barbara Liskov對Byzantine fault tolerance, distributed computing, 以及Practical Byzantine Fault Tolerance (PBFT) 的貢獻,奠基了幾十年後Blockchain P2P Network及其Consensus Protocol。

最後,值得一提的是Dr. Liskov在Stanford的指導教授John McCarthy也得過Turing Award(1971)。師生前後登科,傳為美談。我有幸在Stanford上他們的課及演講,受教大師風範,讓我深覺做區塊鏈研究不能是比特幣炒手心態,必須蹲馬步練功,回到以上講述的幾十年技術的本質,做好研發,為這片土地深耕技術,才能真正紮根,否則一窩蜂心態容易被誤導,將有愧大師風範。

我們在本文解釋了區塊鏈的技術背景,分成五大面向討論:Privacy、Scalability、Security、Flexibility、Consensus Algorithm(區塊鏈上最重要的創新)。當我們解釋區塊鏈是怎麼來的,交代了區塊鏈的技術背景之後,後續文章中,將探討區塊鏈近幾年的興起背景。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。