第235期 / May 5, 2017

研發新視界

分享到臉書!分享到維特!分享到噗浪!分享到Google+!分享到微博!轉寄友人友善列印

淺談區塊鏈-BlockChain

作者/孫傳峯

[發表日期:2017/5/5]

前言

區塊鏈(BlockChain)又稱區段鏈,該技術起源於比特幣(Bitcoin:全球通用的網際網路加密貨幣),是一種分散式帳本技術,該技術使得交易過程中每個節點的每一筆帳都可以透明又安全的被記錄下來。起初區塊鏈中每筆交易透過加密的演算法提升安全強度,現在已經可以結合認許制,來達到反洗錢與身分認證的規範。IBM一份《Blockchain Rewires Financial Markets》調查報告指出,在受訪的金融市場機構中,2017年將有14%的金融機構採用區塊鏈技術,到了2020年,將會有近七成的銀行採用區塊鏈商用解決方案。

何謂區塊鏈

一、簡介

區塊鏈是比特幣的核心技術,具備去中心化儲存、訊息高透明及不易竄改等特性。比特幣協定及其軟體創造者-中本聰在2008年發表比特幣相關論文提出:「區塊鏈完全是以P2P方式的電子貨幣系統,不依賴第三方(如傳統支付系統背後的銀行)」。

以金融轉帳流程為例,A要匯款給B,該筆交易資訊被稱為「區塊」,網路上參與交易流程的人稱為節點,每個節點會為區塊進行真偽驗證,通過驗證的區塊才被允許進入區塊鏈並記入公開的帳本內,最終B才能得到款項,如圖一。


《圖一》區塊鏈運作-以金融轉帳為例


二、發展

區塊鏈技術概念源自於拜占庭將軍問題。1982年Leslie Lamport等人把拜占庭將軍決定是否出兵的過程,延伸至運算領域,建立具有容錯性的分散式系統,而David Chaum隨後也提出注重隱私安全的密碼學網路支付系統,擁有不可追蹤的特性。

1985年Neal Koblitz和Victor Miller,首次將橢圓曲線應用於密碼學,建立以公開金鑰加密的演算法。至1991年Stuart Haber與W. Scott Stornetta共同提出以時間戳記確保數位文件安全的協議,而此概念也被比特幣區塊鏈系統所採用。

1997年Adam Back發明雜湊現金(Hashcash),其為比特幣區塊鏈所運用的關鍵技術之一。Wei Dai及Hal Finney於1998及2005也相繼提出分散式電子現金系統(B-money)及可重複使用的工作量證明機制(Reusable Proofs of Work,RPOW),這些技術的許多設計也都被比特幣區塊鏈所採用。

2008年中本聰發表一篇比特幣相關論文中,建立一套去中心化的電子交易體系,為區塊鏈歷史中重要的轉捩點。2008年至今區塊鏈可切為四個階段來介紹:
  • Blockchain 1.0:數位貨幣。區塊鏈技術的應用起點為數位貨幣,將數位貨幣加密並且去中心化,最具代表為比特幣。


  • Blockchain 2.0:數位資產。第二階段為數位資產,金融業可以將數位資產放置區塊鏈上進行傳遞,如:股票。以彩色幣(Colored Coin)為此階段代表。


  • Blockchain 3.0:智慧財產。第三階段為智慧財產,可以將實體資產放置區塊鏈,並應用於各個領域,如:醫療、科學及藝術等,並探討如何將區塊鏈與物聯網進行結合。


  • Blockchain 4.0:智慧契約網路。目前已開始邁向第四階段,比特幣核心開發者Jeff Garzik認為「Blockchain 4.0是將所有的事情連結起來融進一個跨區塊鏈智慧契約網絡,對智慧資產進行保護。」達成金融市場交易清算、貿易金融、保險及跨境支付等服務。


技術說明

區塊鏈是由多個區塊組成,每個區塊包含的資訊有容量大小(Block Size)、區塊頭(Block Header)、交易數量(Transaction Counter)及其他相關交易資訊(Transactions),而區塊頭為整個區塊最重要的部分。區塊鏈透過五大關鍵技術來達成去中心化、具獨立性及安全性等特點。

一、五大關鍵技術
  • 工作量證明機制:

    工作量證明機制(Proof of Work, POW)為區塊鏈關鍵技術,簡單來說就是用來確認你做過一定的工作量的證明。主要特徵是工作者須要做出一定難度的工作才能得出結果,但驗證方卻可以根據該結果很容易的檢查出工作者是否做了相對應的工作,流程如圖二。


    《圖二》POW流程


    在區塊鏈網路系統中,任何節點花費時間及資源計算出一組數學公式的數值(新區塊)並採用Hashcash演算法作為POW,其他節點可以用相關的數學公式,即可容易地驗證出該數值(新區塊)是否有效。POW可以讓每個參與交易的節點共同參與交易驗證,達到一個能多方共同維護、共同享有交易記錄的帳本,實現出去中心化的Point-to-Point(P2P)的網路系統。


  • 橢圓曲線數位簽章演算法:

    區塊鏈採用橢圓曲線數位簽章演算法(ECDSA)進行加密,屬於公開金鑰加密演算法(Public Key Cryptography),每個User都擁有公開金鑰及私密金鑰,公開金鑰是公開給其他User知道,私密金鑰僅自己知道,當User A傳送訊息給User B時,A需要使用B所公開的金鑰來加密(僅B私密金鑰才能解密),避免其他User解密得知訊息。


  • Hashcash演算法及多種Hash函數:

    Hashcash(雜湊現金)在1997年由Adam Back提出,原理是基於單向雜湊函數(One Way Hash Function),Hashcash能將資料經由Hash函數轉換成一組固定長度的代碼,如圖三。區塊鏈就是採用Hashcash來確保資料不被其他節點竄改,每個區塊頭透過演算法取得一串代碼後放置下個區塊中,以確保正確性。


    《圖三》雜湊示意圖


  • Merkle Tree:

    Merkle Tree的所有節點都是Hash值,故又稱Merkle Hash Tree。如圖四,數字7-14都是一個葉子節點,數字0-6為非葉子節點,葉子節點裡面的值可以自行指定,非葉子節點則是由它下面兩個值計算而來的。例如數字3的節點值是由數字7和8這兩個葉子節點進行組合,組合結果進行Hash運算得出的Hash值。整個Tree最終的Hash值會被存在數字0的位置,稱為Merkle Tree Root。


    《圖四》Merkle Tree示意圖


    區塊鏈中的區塊利用Merkle Tree將區塊中的大量資訊縮成一個Hash值,也就是Merkle Tree Root,而這個值會被記錄到區塊頭中被驗證。如圖五所示。


    《圖五》區塊中Merkle Root示意圖


  • 電子時戳機制(Timestamp Server):

    時戳(Timestamp)就如同現實世界的「郵戳」,為資訊時代不可或缺的安全機制,區塊鏈中每個區塊Hash後都會加上一個時間戳記,每個時間戳記會與前一區塊的戳記進行Hash,所得出的Hash值會再與下一個戳記進行Hash,以確保區塊的排序。如上圖五。

產業應用

一、金融產業:

對金融領域而言,區塊鏈的特性可以解決原有金融交易過程中的漏洞,並減少交易成本。原本用來記錄交易紀錄的帳本只存於金融機構內部,透過區塊鏈技術,帳本不再是金融機構獨自擁有,而是每個人都共同存有並維護該帳本,使帳本維護起來更方便及安全。美國Nasdaq在2015年就宣布開始使用區塊鏈系統來記錄處理IPO 前私人股票交易市場,使市場交易更透明。

二、音樂產業:

Ujo是第一套運用區塊鏈的音樂平台,於2015年10月成立。當買家向某歌手發出購買音樂訊息,並同意從電子錢包支付費用時,整個交易流程即啟動。音樂平台上各端點開始處理此訂單、系統會自動分配費用,直到交易流程結束後,該歌手就會寄出有存放歌曲的位址供買家下載,買家將歌曲存檔完交易則結束。整個交易過程不需透過第三方的介入,達到P2P的交易。

總結

區塊鏈是屬於Open Source,故擁有開放性的特點,各產業要取得原始碼並不難,重點是需要對區塊鏈有一定程度的了解,並找到合適的區塊鏈服務供應商,才能客製化出符合產業的區塊鏈應用。

世界經濟論壇(WEF)創辦人Schwab說,區塊鏈將帶動第四次工業革命;俄羅斯聯邦儲蓄銀行副主席Sharov更預言,區塊鏈技術會讓銀行在10年內消失!區塊鏈的出現就如同當時網際網路剛出現時,大家都開始進行電子化,人工紙本作業的銀行會失去競爭優勢而被淘汰。一個看似簡單的記帳方式,改變了交易網絡中人與人之間的信賴關係,它的貢獻絕不僅限於金融領域,很有可能改變人類所有的交易行為。

資料來源

1.區塊鏈技術演進史

2.Bitcoin: A Peer-to-Peer Electronic Cash System

3.免對公眾透明也能保安全 認許制區塊鏈具優勢

4..物聯網興起將令「區塊鏈 – Blockchain」找到立足之地

5.區塊鏈走進生活 殺手級應用全面來襲

6.區塊鏈運作原理大剖析:5大關鍵技術

7.什麼是「區塊鏈」?