:::

城市產業發展

友善列印 轉寄好友
字級:
小字級
中字級
大字級
2017-09-07
區塊鏈革命 迎向產業新契機
區塊鏈(Blockchain)技術具有去中心化及資料無法被竄改的特性,逐漸成為一個新的平臺技術,觀察其發展趨勢,如智能合約(Smart Contract)的相關應用產業範圍相當廣泛,可改善既有的業務流程、支援發展新的業務模式;而企業區塊鏈平臺(Enterprise Blockchain)藉由會員身份認證與權限管理,使得企業用應用於高效能的共識記帳機制、交易資料的隱私保護等需求成為關注焦點。
作者簡介:陳恭
政治大學資訊科學系特聘教授兼電算中心主任

前言

「區塊鏈」(Blockchain)是源自比特幣(Bitcoin)的基礎技術,所以談區塊鏈通常是從比特幣開始的。比特幣是一種基於密碼學的一些方法與其他技術所發明出來的一種虛擬貨幣(virtual currency)(註1),所以在英文裡一般稱比特幣是一種cryptocurrency(密碼貨幣),這個英文字是從cryptography(密碼學)與currency(貨幣)兩個字結合而來的。密碼貨幣的特別之處在於它不依託任何實物(黃金、白銀或是法償貨幣等),也不是由一個獨立的發行機構發行,而是使用密碼學技術來創建,在網路上發行和交易的數位貨幣。反觀,一般所稱的電子貨幣,像是悠遊卡或第三方支付儲值帳戶,都是有發行機構,而且以法償貨幣為計價單位。但比特幣既沒有特定的發行機構(去中心化),也只能存在於網路系統中。所以到現在為止,對於密碼貨幣到底是不是貨幣,目前在國際間尚未有定論,有部分國家承認比特幣的貨幣地位,但也有不少國家視其為有風險的投資商品。

跳脫監理與法律層面,從技術面來看,比特幣的重大突破在於可以不透過受信賴的中介機構,進行帳務記錄,就可讓網路上的一個用戶以電腦透過錢包軟體,直接發送或接收比特幣給另一個用戶,進行線上支付。這種作法完全有別於現今網路交易必需透過中介機構進行支付的運作模式,開啟了一種「點對點」(Peer-to-Peer, P2P),直接進行資產移轉的可能性。區塊鏈就是這裡的幕後功臣,提供點對點、去中心(decentralized)或去中介的支付功能(詳見圖1)。

圖1、比特幣點對點去中心交易模式圖1、比特幣點對點去中心交易模式

雖然區塊鏈是源自於比特幣的基礎技術,和比特幣有相伴相生的關係。但近年來,區塊鏈技術已經有了許多快速蓬勃的發展,漸漸成為一個新的平臺技術,有許多的應用方向正在發展中,而不再只限於比特幣這類的數位貨幣了。因此本文除了回顧比特幣區塊鏈的運作原理外,也將介紹目前區塊鏈的發展趨勢,以及如何運用區塊鏈於各種領域的方式,以協助讀者對未來區塊鏈對各行業所可能帶來的衝擊,有一些基本的認識。

壹、比特幣區塊鏈的原理與應用

本章節先介紹比特幣區塊鏈的原理以及特色;接著舉例說明區塊鏈除了虛擬貨幣外的一些應用。

一、比特幣區塊鏈的原理與特色

區塊鏈這個名詞聽起來很技術性,但功能上它就是比特幣的帳本,記錄在網路上發生過的每一筆比特幣支付交易。之所以稱它為區塊鏈的原因在於其構造方式(詳見圖2),它是由一個一個的區塊,透過特殊的安全鏈結將這些區塊串起來構成整個帳本的。每個區塊就像一頁帳本,區塊的流水號(例如:27351)就像帳本的頁碼,反映區塊之間產生的順序。在內容方面,每個區塊都有一個特殊的安全編碼(Block hash,例如:005wp1x93f371a09)(註2)與時戳(timestamp),以及創建這個區塊的工作量證明(Proof of Work,PoW)等詮釋資料(metadata),這些是記錄在區塊的表頭(header)內;區塊主體(body)則記錄發生過的比特幣交易內容,每筆交易也有自己的安全編號(例如:500b5uf1z0w2a)。區塊之間的安全鏈結,則是透過每個區塊的安全編碼而實現的:每個區塊會記錄前一個區塊的安全編碼,依此建立區塊間的連結,並可回溯連結到比特幣帳本的第一個創始區塊(genesis block)。

圖2、比特幣區塊鏈示意圖圖2、比特幣區塊鏈示意圖

比特幣帳本的這些區塊的創建過程是區塊鏈技術的精華所在,概要說明如下。每當有節點進行支付交易時,比特幣節點軟體就會廣播該交易給網路中的其它節點,讓各節點利用算法對這些交易進行驗證,並定時創建出新的區塊來記錄這些交易;每個在比特幣網路上的節點都可以參與創建區塊,但只有一個節點可以取得該次區塊的計帳權。這創建過程像一場解題競賽,需耗費一定的運算資源(註3),因為勝出者得到的獎勵是比特幣,因此這過程被類比成挖礦(mining)。最先挖到礦的節點,必須將新區塊廣播給其它節點進行確認後,才能被大家納入帳本內,這是一個既競爭又合作的程序,稱之為分散式共識程序(consensus)。如果新的區塊為網路中其他節點所批准接受(註4),這個區塊就會按照順序加附到原有的區塊鏈末端,它的創建者(礦工)也可藉此獲得一筆定額的比特幣與交易費,做為耗費運算資源進行挖礦的酬勞。

由以上的說明,可知這個區塊鏈帳本是由所有比特幣網路的節點一起共同維護的,每個節點都共享一份內容一致的帳本,因此這個區塊鏈也被稱為「分散式共享帳本」。促使大家一起投入電腦資源參與維護帳本(挖礦)的誘因,就是區塊的創建者可領取比特幣作為獎勵,這也是比特幣的特殊發行方式。不僅如此,每個區塊的交易內容都採用了安全算法來彙總編碼,即便是竄改單筆交易的內容,都會反映在整個區塊的安全編碼上。同時因每個新產生的區塊都記錄了前一個區塊的安全編碼值,因此,若改動某一區塊的一筆交易,就得連帶修改該區塊之後在鏈上的所有區塊,隨著區塊鏈的長度增加,困難度也愈高(註5)。所以區塊鏈網路中的各個節點,可以信任自己的帳本跟交易對手的是一致的,不必依賴中間的信賴機構來替雙方對帳(account reconciliation)。

此外,比特幣網路中,交易者不必實名認證,其帳戶是由個人公鑰(public key)經過編碼而成的一段冗長的亂序字母和數字所組成,如果不借用其他技術手段是無法得知交易者的真實身份。但每一筆的交易資料在產生之後,都必須以支付者的私鑰(private key)加以數位簽章(digital signature)後,才能進行遞送。而收到交易的端點,必須以該交易支付者的公鑰解密,以確認該交易真偽。因此交易者雖採用匿名制,但透過公私鑰的安全管控,交易者無從造假或否認該筆交易,進而能確保交易的真實性。

綜上所述,區塊鏈實為比特幣的帳本資料庫,它是透過比特幣網路上所有的節點集體維護運行的,並具有以下創新特色:

  • 毋須中心機構維護帳本:網路中每個節點都會有一份帳本的備份,也都遵循相同的記帳規則來更動帳本,以達到帳本一致性,不需要透過第三方中介機構在交易者中間維護帳本。
  • 帳本內容無法竄改:每個區塊的內容透過安全編碼技術,搭配區塊之間的安全鏈結,確保區塊鏈的帳本內容只能新增,不能修改。
  • 交易真實性與透明性:交易者雖然可以匿名,但每筆比特幣的交易都需要經過支付者的數位簽章及公鑰確認,可確保交易的真實性;而且交易內容均寫入區塊鏈,無法否認或竄改,具有透明與可追朔性。

二、比特幣區塊鏈應用範例

區塊鏈內的資料具有不可竄改的特性,非常適合用於資料公證的用途。其次,任何發生在區塊鏈上的交易、更改都會被記錄下來,因此可以應用區塊鏈來登記與認證,甚至追蹤重要的記錄。例如:資產所有權的記錄與移轉、食品履歷、學歷記錄,以及某些事件是否發生、哪些服務可以用在哪些設備、這個人是否有被授權等問題,都可以透過區塊鏈加以記錄與認證。像是愛沙尼亞、瑞典與日本政府都傳出已經在實驗評估使用區塊鏈於政府的相關資料認證業務,如文件公證與土地所有權登記等。

再進一步舉實務上可能的應用案例。筆者任職於大學,每到國家考試舉辦的時期,我們學校就會收到考試院的公文,要求協助驗證部份報考人員的大學學歷,這個包含紙本公文的驗證程序,應該可以透過區塊鏈技術,利用區塊鏈資料不可竄改的特性,改良成一個自動化的查證程序,其具體的流程步驟如下(詳見圖3):

  1. 畢業生畢業時向學校的資訊系統申請畢業證書,學校相關單位進行審查。
  2. 在確認該學生符合畢業資格後,系統將學生畢業相關資料記錄,以安全哈希值(Hash)方式記錄於區塊鏈上。
  3. 同時取得此筆記錄在區塊鏈上的交易序號,然後透過資訊系統製作一份電子畢業證書給該畢業生。
  4. 電子畢業證書上記錄著該生的學歷資料,以及那個獨一無二的交易序號。
  5. 當該畢業生報考國家考試或應徵工作時,可將此電子證書上傳給考試院或求職公司。
  6. 考試院或公司機構就可據其證書的交易序號,到區塊鏈上查詢此證書的真偽。
圖3、基於區塊鏈的電子學歷登錄與查證系統圖3、基於區塊鏈的電子學歷登錄與查證系統

類似的構想,其實已經在著名的麻省理工學院媒體實驗室,以比特幣區塊鏈為底層平臺,作了概念性驗證系統(PoC)(註6),稱之為Blockcerts。但我們可以從兩個角度去延伸這個想法:(一)建立一個由多所大學組成的聯盟區塊鏈(註7),讓有意願的大學都參與,透過此聯盟鏈來發行學習證明;(二)改從學生的角度,以發行學生的終生學習記錄證明,而不是僅以單一學習證明文件來建構此系統。也就是說,在這個聯盟鏈中,每位學生有一張完整、不分學校的學習履歷證書。例如,一名學生可能在A大學取得學士,B大學取得雙聯學位,然後到C大學攻讀碩士,這些都會記錄在這名學生的學習履歷上,透過此聯盟區塊鏈平臺,以單一入口方式即可查詢獲知相關資訊,不需要到三個學校個別去查詢。此外,亦可利用安全哈希函數與授權管理來保護學生的資料隱私權。

貳、區塊鏈技術的發展趨勢

自從比特幣受到矚目後,底層的區塊鏈技術也開始成為大家關注的焦點。比特幣的區塊鏈雖然有上述的諸多特點,可以加以應用;但在實務上,仍面臨許多的挑戰;像是交易資料的隱私性、規模的可擴展性、交易入帳的效能、身分認證的管理及科技標準化等問題。所以過去三年來,許多的資源投入新一代區塊鏈技術的發展,並有許多的應用方向正在發展中,不再只限於比特幣這類的數位貨幣,以下我們將先概略介紹區塊鏈技術的發展趨勢,後面的章節再佐以應用案例說明之。

一、智能合約(Smart Contract)

新一代的區塊鏈平臺除了提供分散式帳本(資料庫)的功能外,也支援在它們上面發展各式各樣的區塊鏈應用程式,這類程式常被稱為「智能合約」(Smart Contracts)。「智能合約」一詞是由學者尼克·薩博(Nick Szabo)於1990年代初期所提出來的,倡議可以將交易的條款透過電腦化來落實。但是當時並沒有得到太多的回響,接下來也進一步的發展。直到這幾年來,智能合約才隨著區塊鏈技術的興起而逐漸流傳開來。2015年中推出的以太坊(Ethereum)區塊鏈平臺,其白皮書名為「A Next-Generation Smart Contract and Decentralized Application Platform」(註8),強調智能合約為其平臺特色,更是一舉將智能合約這個名詞推到一個新的層次,讓大家開始注意到其重要性,甚至視其為「區塊鏈2.0」的主要技術與應用。簡言之,區塊鏈平臺提供多方可信任的網路共享資料庫,智能合約使用這些共享資料執行應用程式,進行交易與資產移轉。

智能合約程式一旦部署到區塊鏈平臺上後,當合約所設定的事件發生時,一些條件就會成立而觸發了合約的指定功能,開始執行程式,執行的結果通常就會引發資產的移轉。這樣的智能合約其實已經超越了尼克·薩博當年所倡議的智能合約,它不僅僅只是紙本合約的電子化或程式化,重點是在於跟區塊鏈技術的結合,得以在一個受信任的平臺上執行。因為傳統合約的電子化,可能還是依照一個強大中心的模式來執行合約邏輯的,像是亞馬遜(Amazon)電子商務平臺,它所執行的許多程式也像是在實現合約的條款與條件,只是這些程式都只有一份,而且在它的中心伺服器上執行。但現今的這些智能合約是部署在區塊鏈平臺上,會自動複製到網路中的每個節點,不僅不能竄改,也會在每個節點上執行。區塊鏈的技術確保各節點執行相同的程式邏輯,產出一致的帳本異動;進而在交易的兩造雙方間建立信任,有效支援它們直接交易,毋須中間機構來對帳。

例如,供應鏈的上下游廠商,對於供貨量多寡所對應的折扣數,可能都訂有合約,以特定的條款來規範;但多半是各自還是會自行記帳,使用各自的應用程式來管理進出貨。如果採用了區塊鏈與智能合約來管理雙方的交易帳務,雙方不僅會有一致的帳本,用來異動帳本內容的應用程式也可透過智能合約的機制而一致化,這樣就不必雙方都有自己的系統、自己的帳,因而可以省去許多人工或程式對帳的成本。

二、企業區塊鏈平臺(Enterprise Blockchain)

區塊鏈技術另一個主要的發展趨勢是符合企業應用需求的區塊鏈平臺。首先,比特幣或以太坊都是以公開、去中心又無監管的方式運作,一般稱為公有鏈(public)(註9)模式。但是對於民間企業,甚或是政府機構而言,區塊鏈的使用必須要有某種程度的管控與監理;像比特幣區塊鏈這樣公開不設限,又完全去中心的運作方式,在實行上是有困難的。所以對企業使用而言,區塊鏈平臺必須要提供會員管理機制,限制可參與的成員,支援所謂的私有鏈或聯盟鏈(consortium blockchain)的運作方式(註10)。一般而言,可將區塊鏈的運作模式依開放性參與(open)或限制性參與(permissioned)為主要分類依據,概分公有鏈及私有或聯盟鏈,而聯盟鏈與私有鏈的差異僅在於參與者是否有跨組織或僅限同一組織內。

除了會員身份認證與權限管理外,企業應用對區塊鏈平臺的需求大致上可以下列項目說明之。

  • 高效能的共識記帳機制:比特幣區塊鏈的工作量證明(PoW)共識記帳法,平均10分鐘才完成一個區塊,換成每秒平均交易量還不到10筆;乙太坊在這方面雖有改進,但也不能滿足企業區塊鏈對交易速度的要求。實務上,企業區塊鏈網路的節點規模比公有鏈要小的多,沒有必要採用大規模節點適用的PoW共識記帳法,反而是採用像分散式系統中著名的拜占庭容錯共識法(Byzantine Fault Tolerance, BFT)(註11),就可以大幅提高每秒平均的交易數量,因此各企業區塊鏈平臺積極研發不同的高效能共識法。
  • 交易資料的隱私保護:比特幣與乙太坊的帳本內容是完全公開的,企業應用上通常需要對交易資料有所保護,限制僅有與交易相關的成員或監管與稽核單位可以檢視交易的內容。所以新一代的企業區塊鏈平臺必須要提供參與成員能保護交易資料隱私性的功能。

目前正在發展中的企業區塊鏈平臺,最知名的當屬Linux Foundation下的Hyperledger計畫的Hyperledger Fabric平臺,以及R3聯盟下的Corda平臺。這兩個區塊鏈平臺都是針對企業組織所設計的,對參與者採認許制,可以私有鏈或聯盟鏈方式運作,而且都不支援任合的原生數位貨幣。乙太坊社群去年底推出的Quorum平臺(註12),主要的特色就是修改乙太坊平臺,提供非PoW的共識記帳功能,以及可保護交易隱私的私有交易機制。今(2017)年年初成立的企業乙太坊聯盟(Enterprise Ethereum Alliance, EEA)(註13)也是要聯合開放源碼社群的力量,發展適合企業使用的乙太坊區塊鏈平臺。

叁、區塊鏈與智能合約應用範例

區塊鏈與智能合約的應用範圍相當廣,各行各業都有可能。它既可以用來改善既有的業務流程,包含:減少人為錯誤、降低成本與提高客戶滿意度;也可以用來支援發展新的業務模式,開發新的市場。但區塊鏈與智能合約也不是無所不能,以區塊鏈的帳本資料庫而言,它的功能有限,沒有方便的查詢工具,效能也不特別好,它的強項是自動複寫與防竄改。所以區塊鏈的適用場景應該是在有資訊共享需求,又不完全互信的多方互動環境下,才得以彰顯促成信任、免除中間人的優勢,以下將分別舉例說明。

● 案例一:區塊鏈協助音樂人

在音樂產業,創作者的作品要上市,必須經過發行商、版權公司與銷售通路等中間人,輾轉才會到消費者手上,中間層層的分潤,既複雜又不透明,創作者要獲得報酬不僅耗時,金額也只能占商品售價相當小的一部分。近年來,電子商務蓬勃發展,創作音樂的數位工具容易上手,遂興起了所謂獨立音樂平臺,讓創作者可以將作品直接行銷於線上的獨立音樂平臺,供消費者選購與下載,既可直接面對消費者,也得以免除過去多位中間人的分潤,快速獲得報酬。

更進一步,可以應用區塊鏈技術於獨立音樂平臺,將數位音樂商品的分潤公式以智能合約開發,合約中明定每首數位音樂的分潤方式,依作曲者、作詞者、製作者與線上購物平臺訂好比例,並結合線上付費機制,自動化處理收費與分潤的過程。也就是說,一旦消費者於線上完成支付手續後,就觸發了轉帳功能,將貨款依比例自動分配到相關人士的帳戶內。不僅可讓創作者快速獲得酬勞,也透過區塊鏈技術精確掌握消費者購買數量,確保分潤的公正性與透明性。

● 案例二:智能合約控制電動車

近來「物聯網」( Internet of Things, IoT )的技術逐漸成熟中,我們離設備到設備(Device-to-Device, D2D)的時代已經不遠了,很多D2D的應用場景也是區塊鏈智能合約可以發揮的地方。以電動車與充電站這兩種設備為例,可以讓這兩種設備都有自己的區塊鏈帳戶,它們之間的互動,就可以透過智能合約來居中處理,依充電量的多寡來計算費用,並觸發金流,由電動車的帳戶支付給充電器的帳戶,自動完成交易。

德國能源公司RWE就進行了一項這樣的概念驗證專案(PoC)(註14)。他們打造了一款有智能插座(smart plug)的電動車,可以在車子接近充電站一定距離時,啟動這個插座,替車子進行充電。一旦開始充電時,搭配的智能合約也會被觸發執行,充電結束後,智能合約會依實際充電量計費,並從電動車的帳戶直接轉帳付款給充電站帳戶,不需要中間機構的介入(詳見圖4)。

圖4、以智能合約控制電動機車與充電站圖4、以智能合約控制電動機車與充電站

結語

經濟學人雜誌曾將區塊鏈類比成「製造信任的機器」(註15),的確是一個蠻適當的比喻。人與科技之間的信任是一個有趣的課題,隨著科技的進步,人類的生活日益離不開科技,但我們在享受科技帶來的便利時,卻也會煩惱科技對我們生活的衝擊,以及對隱私的侵犯;在信任科技之餘,也常持戒慎恐懼之心。對於區塊鏈所製造的這種信任,一種可取代中介機構的信任,我們是否已經準備好了呢?我想這肯定還需要一段時間的。但區塊鏈這種技術是屬於基礎建設型,不論行業,對我們在資料的管理與資產的交易上,都可能帶來極大改變!雖然目前還不成熟,但愈早去探索與理解,愈能讓我們掌握與監理,並產生信任,進而善加運用,創造價值。

附註:
註1:中央銀行105/03/24發布的《我國電子支付機制之發展,兼論央行對數位通貨之看法》報告,將virtual currency翻譯成虛擬通貨。
註2:應用密碼學的安全哈希演算法(Secure Hash Algorithm, SHA)計算出來的單向、不可逆的數值。
註3:這過程也是基於安全哈希演算法的原理,執行時像是玩一個數學猜謎遊戲,需反覆計算,但猜中與否純屬機率問題,也無法事先啟動預作準備。
註4:每個區塊的工作量證明(PoW),內含一個nonce數值,可供其它節點快速驗證區塊的有效性。
註5:嚴格說,應該是修改的代價非常高,要擁有超過整個鏈51%的算力,簡稱為51%攻擊。
註6:http://certificates.media.mit.edu/
註7:聯盟鏈不同於比特幣這種公有鏈,必須是會員才能加入與使用。
註8:https://github.com/ethereum/wiki/wiki/White-Paper
註9:以太坊也可以在一定程度上支援私有鏈(private blockchain)的運作方式,讓建置者可以決定有哪些電腦可以加入運作,成為私有區塊鏈的節點。
註10:會員管理通常就是ㄧ種中心化的機制,所以私有鏈或聯盟鏈就不是完全的去中心化運作。
註11:Marko Vukolic, The Quest for Scalable Blockchain Fabric: Proof-of-Work vs. BFT Replication, iNetSec 2015. http://www.vukolic.com/iNetSec_2015.pdf
註12:https://www.jpmorgan.com/country/US/EN/Quorum
註13:https://entethalliance.org/
註14:https://www.coindesk.com/german-utility-company-turns-to-blockchain-amid-shifting-energy-landscape/
註15:https://www.economist.com/news/leaders/21677198-technology-behind- bitcoin-could-transform-how-economy-works-trust-machine

 

資料更新:2017-09-14 10:25