比特幣用區塊鏈解決了什麼問題?

“gold-colored Bitcoin” by Andre Francois on Unsplash

1. 比特幣想解決什麼問題?

整個區塊鏈革命起源於2008年中本聰(Satoshi Nakamoto)的一篇公開論文:《Bitcoin:A Peer-to-Peer Electronic Cash System》(比特幣:一個點對點的電子現金系統),它解決了一個長久以來難解的問題:在一個不依賴信任中心的環境下,完成點對點的現金轉帳。在2008年的金融環境,我們早已可透過銀行進行轉帳,即時地將現金由A帳戶轉到B帳戶,銀行會將A帳戶的錢扣掉,並同時將錢加到B帳戶上,整個過程沒有實體鈔票,全都是電子數位化處裡,這樣的數位資產轉移基本上都沒有問題,但若我們加了一個條件後,數位資產轉移的問題就難解了,這個條件就是:不依賴信任中心。也就是說:目前金融體系的現金轉帳之所以能夠完成,是架構在有雙方都信任的銀行在中間進行查核確認及帳務更新。一個 “不依賴信任中心” 的環境,我們也稱之為 “去中心化(Decentralized)的環境,所以簡單講,中本聰要解決的命題就是:在一個去中心化的環境,完成點對點的現金轉帳。最後中本聰很巧妙的用了區塊鏈來解決,所以區塊鏈的誕生,是為了解決去中心化的命題去中心化是區塊鏈場景中最核心的條件,雖非必要但大多數是如此。

中本聰要解決的命題就是:在一個去中心化的環境,完成點對點的現金轉帳。

2. 以雲梯車為例,談了解命題的重要性

在說明去中心化命題為何難解之前,我們先將區塊鏈視為解決此命題的一種特殊資料庫系統,對照一個日常生活的例子,來看看了解命題的重要性:

解決高樓救災 --> 雲梯車
(但不代表雲梯車只能解決高樓救災,例如:森林大火時,也可利用雲梯車從高處灑水。)

雲梯車是一種較昂貴的特殊消防車,一開始是為了解決高樓救災而生。

問題一:一個負責平房區救災的消防隊,會需要購置雲梯車嗎?

對照區塊鏈解決的命題:

解決去中心化命題 --> 區塊鏈
(但不代表區塊鏈只能解決去中心化的命題。)

區塊鏈可視為一種較複雜的特殊資料庫系統,一開始是為了解決去中心化命題而生。

問題二:在一個有雙方都信任的中心的環境下,會需要建區塊鏈嗎?

一般來說,這兩個問題的答案都是否定的。

車 --> 載人載物(例如:載消防隊員、載水)
消防車 --> 救災
雲梯車 --> 高樓救災

當然我們也可以不管有沒有高樓大廈,發生火災時就派雲梯車去,反正雲梯車也是一種消防車,甚至我們還可以說,雲梯車也是車,連派員去摘除民宅蜂窩時,也可派雲梯車載消防隊員去,也就是說雲梯車同時具備一般消防車及車的功能,若我們只將它當成一般消防車或車來用,也不是不行,但浪費且沒有必要。這點對照到區塊鏈:若我們只將區塊鏈當成一般資料庫來用,也不是不行,只是浪費且沒有必要。

其實光了解中本聰用區塊鏈解決了什麼問題,我們就可以否決一大半想使用區塊鏈的場景。先看看雲梯車的例子:

以一般消防車救災沒什麼問題,而只想用雲梯車取代一般消防車,這樣的場景多半是沒有必要的。(除非是預見未來平房會改建成高樓大廈)

對照區塊鏈是:

以現有資料庫系統運作沒什麼問題,而只想用區塊鏈取代現有資料庫系統,這樣的場景多半是沒有必要的。(除非是規畫未來會變成或結合去中心化的環境。)

雲梯車這個例子在後續文章還會提到,是希望藉由這個簡單的譬喻,協助大家判斷那些場景適合用區塊鏈;那些用區塊鏈的場景是真的有必要的;那些是為了用區塊鏈而區塊鏈,其實用到的只是區塊鏈做為一個資料庫系統本該有的基本功能。

3. 雙重支付(Double-spending)問題

“雙重支付” 是指一筆資產支付給兩個以上的人。前面提到我們在透過銀行轉帳,可以即時地將現金由A帳戶轉到B帳戶,是因為我們信任在中間運作的銀行,而銀行在這中間必須具備兩個重要的功能:

  1. 確認資產權:確認資產所有權和使用權,以避免資產被雙重支付
  2. 記帳:調整帳務

例如:我在A帳戶有100元,查帳時可以看到這 100 元的數字,若我透過銀行將這100元轉帳到B帳戶,銀行首先要確認我的帳戶有這100元(所有權)且當下可以使用(使用權),再將它從A帳戶中扣掉,並同時在B帳戶上加上這100元,這整個數位資產轉移就像一個純數字遊戲,之所以可以無誤的執行,是因為銀行可以確認我在轉帳的當下擁有資產權,才能針對這100元做資產轉移及帳務調整。因為數位化資產及流程是可以不斷複製的,不像實體資產,你有一張一百元鈔票,將它給了誰就是誰的,所以要確認數位化資產權(亦即避免數位化資產被雙重支付)是數位資產轉移一定要設法解決的問題。在中心化的環境下,銀行的存在就可以解決這個問題,但若沒有一個信任中心,要如何來確認資產權及記帳呢?又由誰來做擔任這樣的工作呢?中本聰的解答是:由全世界所有願意參與確認資產權及記帳的人來共同維護一個公開帳本,讓每個參與者都保有一份備份,並利用一個巧妙的共識機制來達成帳本的一致性,而這些 ”願意參與確認資產權及記帳的人” 就是所謂的 ”礦工”(miner)。礦工之所以願意參與,是因為有系統獎勵機制:大家來搶記帳權,搶到的人有新的比特幣以資獎勵。將經濟激勵放入整個體系,讓系統得以運作,這是中本聰的神妙之舉,非常令人讚嘆。

由全世界所有願意參與確認資產權及記帳的人來共同維護一個公開帳本,讓每個參與者都保有一份備份,並利用一個巧妙的共識機制來達成帳本的一致性,而這些 ”願意參與確認資產權及記帳的人” 就是所謂的 ”礦工”(miner)。

礦工之所以願意參與,是因為有系統獎勵機制:大家來搶記帳權,搶到的人有新的比特幣以資獎勵。

4. 比特幣共識機制的關鍵技術:工作量証明(PoW:Proof of Work)

我們避免提到太艱深的技術問題,但有一個名詞是需要特別說明一下,就是 ”共識機制”。共識機制是中本聰解決此命題的突破點,而比特幣共識機制的關鍵技術是 ”工作量証明”。“工作量証明” 最早是在一篇用它來解決垃圾電子郵件的論文中提出的,整個運作大致是:寄信者要先計算一個有一定難度的隨機數學題,而收信者只接受有附上解答的郵件,也就是藉由增加發郵件的工作量來減少垃圾郵件。

舉例來說,我們可以用 ”找質數” 來當一個有一定難度的隨機數學題,例如:找出最接近 10^32 的質數(只能用純運算,不能用查表法),因為發信者一定要實際運算算出解答,才能成功讓這封信被對方收到,所以能解出來就證明他確實有在工作,而數學題的解答就是它的 ”工作量証明”。以往一秒就可以發出上萬封垃圾郵件,但要在每封郵件上附有 ”工作量証明”,就必須獨立對每封郵件進行額外的運算,發垃圾郵件的成本會提高許多,也因此可以減少垃圾郵件。但其實這樣的機制現今並未被大家所採用,而這篇論文之所以可能名傳千古,是因為中本聰發現可以用它來完成共識機制,它就成為解決幾十年來未解難題的最後一塊拼圖。

數學題的解答就是它的 ”工作量証明”

5. 挖礦 & 礦工

前面提到共識機制包含礦工爭取記帳權的競賽,參與這樣的競賽就是我們所稱的 “挖礦”(mining),得到記帳權(亦即 “挖到礦”)的礦工可以得到新的比特幣以資獎勵,那要怎樣來決定誰取得記帳權呢?中本聰就是用 ”工作量証明”,基本概念是:10分鐘進行一輪競賽,最先拿出工作量証明(即隨機數學題的解答)的礦工就是贏家,可以取得這輪記帳權及新比特幣獎勵。每輪的隨機數學題也設計的相當精巧,有以下3個特性:

  1. 解答非常隨機且沒有規律性,但基本上使用越多運算力越有機會解出。
  2. 要解題很難,但要驗證答案是否正確非常容易且快速,所以一旦有一位礦工提出其工作量証明(即宣稱其挖到礦),其他礦工可以很快的驗證其正確性,並達成共識以投入下一輪競賽。
  3. 題目的難度會適時調整,大約每兩周調整一次,以維持約每10分鐘能完成一輪競賽,亦即約每10分鐘就會有礦工成功挖到礦。

基本上礦工提供的運算力越多就越容易挖到礦,這就是我們常聽到的:擁有越大算力的礦工越有機會成為贏家。至於每一輪能取得的新比特幣獎勵,從2009年比特幣上線時的50元比特幣,每 4年減半一次,目前(2018年)是12.5元比特幣。按這樣的減速,系統將在2140年後就沒有挖礦獎勵(但仍會有記帳的交易手續費),也就沒有新的比特幣產生,依此規則可得到比特幣最大的總量約2100萬,這也就是大家所說的:比特幣總量固定。中本聰做這樣的設計是有其背後的意義,這點我們將在之後的文章中再說明。

每10分鐘進行一輪競賽,最先拿出工作量証明(即隨機數學題的解答)的礦工就是贏家,可以取得這輪記帳權及新比特幣獎勵。

6. 共識機制演算法(Algorithm)

“演算法” 是解決特定問題的一序列明確步驟或程序,簡單講就是一個特定問題的具體解法,例如前面提到的 “工作量証明” 就是一個解決共識機制的方法,也就是一種 “共識機制演算法”。在 “工作量証明” 演算法中,礦工解題純粹只是為了證明自己有在工作(即為了提出 “工作量証明”),解出來的答案其實是沒有任何實際效用的,也就是挖比特幣所做的大量運算並不是為了確認身分(如驗證數位簽章)、記帳或計算金額等有意義的運算,這點在坊間很多文章都有所誤解,常認為挖礦是為了做複雜的加密保護等有意義的運算,而這樣的誤解會造成大家誤以為只要用了區塊鏈,大量耗能的運算好像就無法避免,事實上只要用不同的 “證明”(Proof)方式,也就是採用不同的 ”共識機制演算法”,是有機會達成不耗大量運算而完成共識機制的,例如 ”權益証明”(PoS:Proof of Stake)演算法,不同共識機制演算法的比較後續會再介紹。

7. 公開帳本:區塊鏈

中本聰利用 “工作量証明” 設計了一個共識機制,讓礦工參與每10分鐘一輪的爭取記帳權競賽,挖到礦的礦工會將其產生的新帳本(裡面包含此礦工於這段時間內收集到且確認過資產權的所有新交易資訊)組成一個 “區塊”(block),鏈結(chain)到原有的大帳本的後面,區塊中含有一些得以確保其順序及內容不被篡改的欄位,這樣一個個循序鏈結起來的公開帳本,就是一個我們所稱的 “區塊鏈”(block-chain)。

挖到礦的礦工會將其產生的新帳本(裡面包含此礦工於這段時間內收集到且確認過資產權的所有新交易資訊)組成一個 “區塊”(block),鏈結(chain)到原有的大帳本的後面,區塊中含有一些得以確保其順序及內容不被篡改的欄位,這樣一個個循序鏈結起來的公開帳本,就是一個我們所稱的 “區塊鏈”(block-chain)。

8. 腳本(Script)& 智能合約(Smart Contract)

前面提過礦工要負責 “確認資產權” 的工作,而有些資產權確認的場景是比較複雜的,例如:要兩個人都同意才能使用此資產,或此資產要鎖定7天後才會支付。如此彈性的資產權確認中本聰也考慮到了,他做了一個很前瞻的設計:將礦工要確認的工作,以 “腳本” (script)形式置於交易資訊中。我們可以這樣想:在交易資訊中塞了一段功能有限的小程式,讓礦工執行這段小程式來完成 “確認資產權” 的工作。比特幣這種 “將程式加入交易資料欄位” 的概念,也為區塊鏈開啟了另一番更為廣大的應用天地,以太坊(Ethereum)就是基於這樣的思路,將所謂的 “智能合約” 加入以太坊區塊鏈,關於以太坊及 “智能合約” 以後會再詳細說明,這裡我們可以簡單將 “智能合約” 視為一段可在區塊鏈上運行的程式。”程式” 賦予了區塊鏈生命,讓區塊鏈不再只是靜態的資訊儲存,而是一個可以依程式動態運作的有機體。


比特幣這種 “將程式加入交易資料欄位” 的概念,也為區塊鏈開啟了另一番更為廣大的應用天地,以太坊(Ethereum)就是基於這樣的思路,將所謂的 “智能合約” 加入以太坊區塊鏈

9. 去中心化應用程式(DAPP)

類似於Google的Android平台,程式帶來了平台上各種應用的可能性,讓平台提供的不只是系統的基本功能,還可讓所有開發者在這平台上撰寫各式各樣的應用程式(APP),而在以太坊上開發的應用程式就稱為DAPP (Decentralized  APP)。以太坊這樣一個運行智能合約的平台,讓區塊鏈的發展得以從支付等金融領域,走向百花齊放的各行各業應用。

在以太坊上開發的應用程式就稱為DAPP (Decentralized  APP)

10. 加密貨幣首次發行(ICO)

另外值得一提的是,以太坊也是所謂ICO(Initial Coin Offerings,加密貨幣首次發行)的平台,目前超過90%的ICO是在以太坊上進行的,後續我們會針對ICO做專文說明,我們現在只要有個概念:任何人都可以在以太坊上撰寫一些程式(即智能合約),將眾籌(群眾募資)相關規則寫成智能合約,透過以太坊上發行新的加密貨幣以換得創業資金(通常是比特幣或以太幣),這整個自動化募資過程就是ICO,類似於股票的IPO(Initial Public Offerings,股票首次公開發行),但過程簡單許多,募集時間也快很多,也因此成為許多新創公司募資的管道。然而近來ICO被過度濫用,惡質ICO項目充斥市面,造成新的金融亂象,後續我們會有專文教大家如何合理評估ICO項目,降低誤觸地雷的機會。

任何人都可以在以太坊上撰寫一些程式(即智能合約),將眾籌(群眾募資)相關規則寫成智能合約,透過以太坊上發行新的加密貨幣以換得創業資金(通常是比特幣或以太幣),這整個自動化募資過程就是ICO

11. 神秘的天才:中本聰

中本聰從未透露其真實身分,至今沒有人知道他的誰。據維基百科記載2009年,他發布了首個比特幣軟體,並正式啟動了比特幣金融系統。2010年,他逐漸淡出並將專案移交給比特幣社群的其他成員。… 2010年12月5日,在維基解密泄露美國外交電報事件期間,比特幣社群呼籲維基解密接受比特幣捐款以打破金融封鎖。中本聰表示堅決反對,認為比特幣還在搖籃中,禁不起衝突和爭議。七天後的12月12日,他在比特幣論壇中發表了最後一篇文章,提及了最新版本軟體中的一些小問題,隨後不再露面,電子郵件通訊也逐漸終止。自此中本聰便銷聲匿跡,媒體上時不時有關於他身分猜測的新聞,甚至有位澳洲商人自稱自己就是中本聰,然而以中本聰對加密學的了解及關注,以及區塊鏈精妙設計所透漏出來的博學多聞,要說中本聰不是位學者而是位商人,我還真不太相信。

12. 天才帶來新的希望

回到2008年,當人們對世界金融秩序感到失望甚至絕望的時候,就會有個天才蹦出來為大家帶來新的希望。比特幣所創造的不只是一種加密貨幣,而是對整個舊有金融政經體系的反撲,它已穩穩地運行了將近10年的時間,所衍生出來的區塊鏈應用也如火如荼地在各處開花,人們對新金融秩序的信心越亦充足。關於中本聰用比特幣解決了什麼問題?區塊鏈和比特幣帶給人類社會什麼影響?這牽涉範圍就大了,包含經濟政治社會及哲學等,而且見仁見智,有很多思考點及討論空間,也因此為大眾帶來了一些新的可能性,我們將在後續文章中提出一些看法,敬請期待,也歡迎有興趣的讀者一同參與交流討論。

13. 未提及的技術

本系列文章不描述技術細節,文中提到的技術以 “足以說明正確觀念” 為標準,提到的技術辭彙越少越好,若讀者需要了解技術細節,或想多知道一些技術名詞,建議購買幾本技術書籍有系統的學習,也可先參考以下兩篇文章,這兩篇是我看過少數講述清楚且觀念正確的文章,非常值得一讀。

  1. 區塊鏈兩大核心技術拆解:用一串程式碼打造出超級信賴機器
  2. 從門羅幣的硬分叉,看 Crypto 的算力平衡課題

“Mastering Bitcoin” 參考書目

英文原版:  https://github.com/bitcoinbook/bitcoinbook/blob/develop/book.asciidoc

翻譯版本下載: https://bitcoinbook.info/translations-of-mastering-bitcoin/

簡中翻譯版: https://bitcoinbook.info/wp-content/translations/cmn/book.pdf

其它簡中翻譯版:

《精通比特币》第二版 区块链研究社 云天明联合出品

《精通比特币》第二版 区块链研究社 云天明联合出品 (忽略了部分非技术内容)

巴比特: http://book.8btc.com/masterbitcoin2cn

知乎: https://zhuanlan.zhihu.com/p/34034959

打臉區塊鏈應用:溯源

“footprints on brown dessert” by Marten Bjork on Unsplash

很多人一提到區塊鏈應用,馬上會提到溯源系統,沒錯!這幾乎是所有區塊鏈教科書一定會提到的初級應用,也確實吸引很多從事區塊鏈的新創公司投入,已做出來且上線的鏈更不在少數,但請問您有聽過哪家的溯源區塊鏈大鳴大放嗎?這個區塊鏈的初級應用似乎沒有成為眾人期待的Killer App,到底是什麼原因呢?區塊鏈不是有 “去中心化”、“公開透明” 及 “不可竄改” 等適用於產品履歷的特性嗎?是因為技術難度高,還是因為宣傳不夠造成的呢?其實都不是,答案很簡單:區塊鏈無法完全解決溯源問題的痛點。

1. 產品溯源是個「假議題」

油膩佬聽過一位在大陸從事多年區塊鏈新創的朋友提到,他們做了一個食品溯源的區塊鏈項目,鏈做好了也上線了,而且與養雞業者也談好如何將資料上鏈:在所有雞的一隻腳上繫上感測器(如RFID),讓資料真的可以從 “源頭” 就上鏈,但這個項目並沒有成功,因為養雞場主人發現原本在養雞場上活蹦亂跳的雞,都變得一跛一跛的… 他沉痛的說:產品溯源根本是個假議題!

這是很現實的問題,我們期待區塊鏈做為一個信任中心,所有溯源資料都是可信任的,但其實區塊鏈只能確保 “上鏈後” 的資料不被竄改,這跟我們期待的從 “源頭” 到消費端整個紀錄都是正確的是有差距的。產品溯源在很多產業應用中最難確保的就是上鏈前資料的正確性,而目前解決源頭資料正確性的(不完美)作法有:肉品CAS認證、有機食品認證、鮮乳認證及商家自行提供的生產履歷等,也就是必須有具公信力的人(政府或信譽良好的公司)從源頭控管來保證,而這個不夠完美的作法牽扯到認證方式及採樣頻率等實體行為,再加上人性的問題,豈是做一個區塊鏈就可以取代的或改善的。

2. 溯源一定要用區塊鏈?

或許您會說:區塊鏈可以有獎勵機制,讓源頭供應商願意將正確的資料上線。有獎勵會讓資料上線沒錯,但誰能保證上線的資料就是正確的資料呢?您會說:我們不只提供獎賞,也提供懲罰,讓將不正確資料上線的業者得到應有的懲罰。是的,像現在產品成分標示就是用這樣的方式來控管,但懲罰應該只有政府來做才有效,若那天政府一聲令下,要求所有業者必須將正確資料從源頭就上線,並搭配相關懲罰條款嚴懲不實業者,這樣確實可行,但若存在這麼一個值得信任的中心來整合資料,為何一定要用區塊鏈呢?也就是說,政府可以用任何雲端資料庫讓業者將資料上線,也可以用減稅抽獎等激勵機制鼓勵大家使用,何須大費周章用一個耗費資源又無法自主掌控的區塊鏈呢?舉一個具體的實例:現在的房屋買賣實價登入系統,您會因為它不是用區塊鏈而懷疑上面資料的正確性嗎?答案不言可喻。

3. 區塊鏈在溯源上的應用

說到這裡您也許會覺得油膩佬認為區塊鏈根本不適用於溯源,其實倒不是,區塊鏈應用於溯源的場景,需要有兩個條件搭配:

  1. 確保源頭(上鏈前)資料正確性的方法
  2. 資料透過公開透明的平台(區塊鏈)取得多方信任,可得到綜效

例如:若我們花費鉅資在生產端架設即時錄影設備,將產品上鏈的過程全紀錄,並將紀錄的影像也上鏈存證,當上鏈的相關對應資料越多時,就越能得到大家對源頭資料正確性的信任,這確實是個方法,但問題是有誰會願意這麼做呢?唯有當得到的綜效(第二點)大於投入的資本,這個作法才有討論的空間。

4. 「實名認證」是一些區塊鏈應用落地的關鍵

再舉一個廣義溯源的例子:證書。這個應用也是教科書上老掉牙的例子,也有新創公司在做,似乎也是無風無浪的,但油膩佬認為要成功至少欠一個東風:實名認證。這裡的實名認證指的是發證端的實名,例如搭配公鑰系統以符合第一個條件:確保源頭資料的正確性。若今天政府一聲令下,要求所有相關單位的畢業證書、職業證照、行照及駕照等,全都要在政府指定的區塊鏈(也許是國際上多國政府共同認可的證照區塊鏈)上發放,好讓大家可以上去查驗,整個應用的局就會開了。大學可用自己的私鑰(相當於蓋在畢業證書上的鋼印)將每位畢業生的畢業證書中英文資料加密後上鏈,以後公司HR要確認您是否是某大學畢業的,只要有您提供的證書位址,再用該大學(在網站上)公佈的公鑰,就可以得到確認,當然學校的私鑰(鋼印)要保管好,(網站上)公佈的公鑰(公告)不能被駭客竄改,這些一般資安的問題就不在我們討論的範圍內。

也許您會說:證書為何要用區塊鏈,用一般雲端資料庫也行啊!非常好,您的觀念相當正確,所以要用區塊鏈的牛刀,最好要符合第二個條件:可達到綜效。舉例來說,若這個區塊鏈在國際上已得到很多國家或知名大學等單位採用,那上鏈的綜效就是能得到國際互相的認可,以後美國公司也能驗證台灣的大學文憑。再如新創公司可以提供一個DAPP,以智能合約(smart contract)結合職業證照的期限,讓您可以設定終止證照的條件,或設定期限到期前多久提醒並自動繳交續證費用(須結合支付),這也是一個可能的應用綜效。總之,這些未來可能的應用場景,還有待區塊鏈在您我的關注下持續發展,讓政府及更多人了解並接受這些場景,才能像十幾年前的網路,泡沫破裂後逐漸滲透到您我的日常生活中。

打臉區塊鏈應用:私有鏈

“green and red light wallpaper” by Pietro Jeng on Unsplash

1. 定義「區塊鏈」

首先定義一下本文所指的「區塊鏈」,有些教科書提到:區塊鏈技術早在2008年中本聰發表比特幣論文前就有了(1991年論文),這種說法也不能說不對,只是大家對「區塊鏈」的定義有所不同。如果只將區塊鏈視為一個資料結構(data structure),也就是:

早期的區塊鏈 = 每個 “區塊”(block) 以時間戳(time-stamp)及自己和前一個區塊的雜湊值(hash,相當於區塊的數位指紋) “鏈結”(chain)起來

如此定義的區塊鏈就是個像堆疊(stack)或鏈結串列(linked-list)的資料結構,並不能帶來目前大家所賦予的改變世界以達到普惠價值的使命,中本聰區塊鏈才能賦予這樣的意義:

比特幣區塊鏈 = 基於比特幣所衍生出來的整個區塊鏈生態系統(ecosystem),包含區塊鏈資料結構及所有參與者的角色權責、共識及激勵機制等

比特幣論文中,中本聰解決 “去中心化” 點對點交易的問題時,是用了早期區塊鏈的資料結構沒錯,但其解題的核心是他提出了整個區塊鏈生態系統,包含所有參與者的角色權責、共識及激勵機制等,而這整個生態系統也同樣可以解決其它 “去中心化” 價值轉換的問題,也因此才引發了全面的區塊鏈普惠革命,所以本文所指的「區塊鏈」就是這個具普惠價值的「比特幣區塊鏈」。此外,這裡的區塊鏈也不包含以DAG(Directed Acyclic Graph)或blocklattice等為基礎的新型態區塊鏈生態系,例如IOTADEXON

2. 定義「公有鏈」、「聯盟鏈」及「私有鏈」

首先先列出區塊鏈的三個角色:

  1. 使用者(交易者)
  2. 礦工(區塊鏈記帳者及驗證者)
  3. 管理者(管理使用及記帳等權限的人,「公有鏈」沒有此角色

不少教科書將區塊鏈分為以下三類:

  1. 「公有鏈」(public blockchain)
  2. 「聯盟鏈」(consortium blockchain)
  3. 「私有鏈」(private blockchain)

各位上網一定可以查到這三類鏈的描述,但油膩佬不想用那些制式的定義,而是以區塊鏈的角色來區分:

  1. 「公有鏈」的使用者及礦工可以是任何人,沒有任何身分的限制。例如以太坊
  2. 「聯盟鏈」的使用者、礦工及管理者是由此鏈聯盟成員協商決定安排角色。聯盟成員大多是互相平行的,但也可以有從屬或上下游關係。例如由全球數十家大大小小銀行所組成的R3聯盟。
  3. 「私有鏈」的使用者、礦工及管理者全是自己人,是由鏈擁有者(例如一家公司)自行決定

3. 「公有鏈」及「聯盟鏈」應用場景

教科書上提到區塊鏈的應用大多是以「公有鏈」來思考,因為這就是中本聰比特幣的精神所迎來區塊鏈革命的普惠思維。而「聯盟鏈」的應用則是基於聯盟成員誰都不服誰或誰都不信誰,但為了提升大家交易效率或透明度等共同目標,由成員協商擔任區塊鏈的各個角色,一同遵循共識等規則。換句話說,「鏈盟鏈」的應用場景是基於聯盟成員將區塊鏈的做法視為一(國際)標準來遵循。網路或教科書上可以查到很多「公有鏈」及「聯盟鏈」的應用,有些也滿適合油膩佬來打臉的,將來會針對個案一一來打,這裡先不贅述。

4. 「私有鏈」應用場景

最讓油膩佬想不透的是:為何會有個「私有鏈」跑出來?「私有鏈」完全由一個組織所掌控,礦工、使用者及管理者都是此組織決定,這些礦工都是自己人,彼此競爭爭取記帳權,也都複製了一份像流水帳的區塊鏈帳本,目的到底是什麼?在油膩佬看來這帳本就是一個內部使用的分散式資料庫,這樣的中心化管控用傳統的資料庫一定可以做到比區塊鏈更有效率,為何要大費周章去建一個複雜的區塊鏈生態系呢?區塊鏈之所以搞得那麼複雜,是為了要解決 “去中心化” 的問題,如果不需要 “去中心化”,為何要用一個這麼複雜的系統呢?

但油膩佬還是想到一個「私有鏈」的應用場景:若此系統規劃將來會成為「聯盟鏈」或「公有鏈」,或將來會與某「聯盟鏈」或「公有鏈」接軌,現在採用「私有鏈」就有其意義,但這樣的「私有鏈」終究只是個過渡。然而以目前區塊鏈百家爭鳴,要成為未來一條獨立的「聯盟鏈」或「公有鏈」,或現在就下注將來哪一條區塊鏈會成為業界公認的「聯盟鏈」或「公有鏈」讓所有業者加入,或許都不是一個簡單的決定。

5. 結論

「公有鏈」應用場景最符合區塊鏈去中心化的精神。「聯盟鏈」應用場景則是將區塊鏈運作視為一個聯盟公認的標準,大家依循著區塊鏈標準來運作,若聯盟只想將重心放在如何決定角色來達到聯盟的目的,不希望花太多資源在建置及維護區塊鏈,是可以考慮用BaaS(Blockchain as a Service),目前幾乎所有大型雲端服務公司都延伸有提供BaaS,例如IBM、Macrosoft、騰訊、華為、阿里巴巴等都有,提供的基本服務大同小異,但有些有針對特定應用場景客製化的服務,有需要的可以多方比較,油膩佬這裡不做廣告。

至於「私有鏈」呢?若您能找到一個「私有鏈」的應用場景無法以傳統資料庫做到,一定只能用區塊鏈的方式解決,那麼油膩佬恭喜您,您真的找到了一個「私有鏈」的應用場景,記得要來打臉一下油膩佬!否則,若您想為將來「聯盟鏈」或「公有鏈」做準備,您可以以「私有鏈」做為一個過渡。

(油膩佬這個打臉可能會打到一堆公司,很歡迎不認同的讀者能具體提出「私有鏈」的實際應用場景來交流交流,也許油膩佬學藝不精、腦容量太小造成誤判,若此「私有鏈」應用場景確實無法以傳統資料庫做到,油膩佬一定知錯能改,並感謝您的賜教。)