第四章 區塊鏈技術之特色與架構
第一節 區塊鏈技術
區 塊 鏈 技 術 最 早 起 源 於 2008 年 , 由 比 特 幣 的 創 造 者 — 中 本 聰 ( Satoshi Nakamoto)在其 2008 年發表的論文《比特幣:一種點對點網絡中的電子現金》提 出了通過區塊鏈技術其一系列的協議建立一個去中心化的集體協作分布式帳本系統
111,而《經濟學人雜誌》於 2016年 3月的一篇文章對於區塊鏈有下列定義:「……
區塊鏈代表者一個巨量的資料庫,並分別由參與者而非仲介機構-銀行來維持與運
110 The Economist, The Trust Machine: how the technology behind bitcoin could change the world, Oct 25-31st 2015, cover story, https://www.economist.com/leaders/2015/10/31/the-trust-machine, last visited Jul. 4 2019.
111 龔鳴(暴走恭親王),區塊鏈社會-解決區塊鏈全球應用與投資案例,中信出版集團,頁 9,
2016 年 8 月。
73 DOI:10.6814/NCCU201900529
作,他們均同意透過共識機制來更新資料庫,而這資料庫內所紀錄的交易資訊透過 複雜的加密技術而無法竄改,因此,該等紀錄可用於證明所有權、出生死亡證明、
結婚證明、教育文憑、金融帳戶、醫療程式、保險理賠以及智慧型物件之間的交易 等有價值的資訊。」112目前很多的文獻在探討區塊鏈的價值以及相關運用。區塊 鏈與政府的關係亦是核心關注的問題。2016 年 1 月,英國科技部發布了一份與區塊 鏈相關的技術報告:《Distributed Ledger Technology: beyond blockchain: A report by the UK Government Chief Scientific Adviser》。這份報告可以看出英國的政府機構如 何領導這項技術的發展,以公共政策協助私人部門的創新發展。政府指定一項技術 做為國家挑戰的解決方案並不常見。這均代表區塊鏈將會成為下一個典範之移轉。
三年前大家聚焦在比特幣上,現在則是聚焦在比特幣底層有關區塊鏈技術的多項協 議,期待它對世界兌現承諾113。
區塊鏈技術,簡單來說,即係將資料區塊以時間順序相連方式組合成的一種鏈 式資料結構,以密碼學方式保證不可竄改且不可偽造;意即將帳本建構在點對點網 路上,利用分散式節點共識演算法來生產和更新資料,並用鏈式資料結構來驗證與 存儲資料,再以密碼學的方式保證資料傳輸和訪問的安全,執行面則係以自動化腳 本代碼組成的智能合約來編碼和運算元據的一種全新分散式基礎架構與計算範式。
值得注意的是,「分散式共享帳本」(distributed shared ledger)的存儲與紀錄功能 和區塊鏈技術是不同的資料結構,應分別予以定義,蓋分散式帳本係由多種現有技 術,諸如加密演算法、共識演算法加以整合,記錄在網路上發生過的每一筆比特幣
112 The Economist, “The blockchain in finance: Hype Springs Eternal”, March 19-25th, 2016, Jeremy Silver, supra note 2, at 2.
113 Jeremy Silver, supra note 2, at 2.
74 DOI:10.6814/NCCU201900529
交易,而建構成一個功能單純的資料庫,而該資料庫乃係透過網路運行,經由自動 複寫確保每個在比特幣網路上的節點(Node)均有一本內容相同的帳本,透過簡 單的民主共識過程來防止偽造並建立信任,使區塊鏈之技術運作可達到去中心化的 目的。據此,區塊鏈上各個節點,可透過共識認證來信任自己的帳本與交易對象所 存儲之帳本具有一致性,因而不須依賴中間可信賴之機構為交易雙方進行對帳
(account reconciliation)114。
而關於不可竄改之部分,由於交易資訊係以不可逆的哈希函數(one-way hash function)加密後載入區塊鏈中,當文件的哈希值載入區塊鏈,即無法塗銷及竄改 該載入之時間戳記,且欲修改鏈上的交易資訊成本極高,侵入者或竄改者必須同時 掌握 51%的節點始能更改資訊,因此在現行的技術運作下,區塊鏈上之資訊僅能以 新增的方式運行而難以竄改;再者,每次經由相同哈希函數的運算均會得到相同的 哈希值(Hash Value),且縱將儲存於各節點的哈希值向各節點公開,各該節點僅 能看到哈希值而無法回復至原始文件,於此確保文件之機密性與單一性,並驗證資 訊是否有經過竄改115。
圖 23:中田聰,2008,取自 Bitcoin:A Peer-to-Peer Electronic Cash System
114 陳恭(政治大學資訊科學系教授),智能合約的發展與應用,財金資訊季刊 No.90,頁 34,2017
年 10 月。
115 同註 47,頁 8。
75 DOI:10.6814/NCCU201900529
此外,區塊鏈大致上區分為三種運作網絡,分別為公有鏈、私有鏈以及聯盟鏈,
這三者均可創造永久且同步的帳本,但具有不同的特點。公有鏈,即指全世界任何 人均可在任何時候參與鏈上交易的共識過程、讀取數據並獲得經濟獎勵,依據共享 經濟模式,經由共識機制結合經濟獎勵與加密演算法架構一個去中心化的運作體系,
且程序開發者無權干涉用戶之行為,排除強權的壓迫與審查是公有鏈的運作優勢
116。在公有鏈當中,我們發現幾個比較激進且令人興奮的特點,第一,在公有鏈 當中,不需要知道係由誰來運作該鏈,參與者在無信任的環境中進行交易,一方面 他們使交易資訊透明,一方面對於身分以及交易的內容保持匿名,意即我們無法得 知交易的主體,但可知悉交易的客體,而整筆交易可在礦工進行多筆交易認證的複 雜加密手續後,讓交易在匿名的環境下進行,以此創造安全的交易環境117。 私有鏈,則係指寫入、讀取數據之權限由特定組織管理控制,其公共性限縮於 一特定系統內部範圍,且從系統內部來看,每一節點均擁有一去中心化的記帳權限,
特定組織可控制該系統內的所有節點與網絡環境,因此處理帳本之速度遠高於公有 鏈,且具有私密性與安全性。故在私有鏈當中,所有參與者均相互認識並信任彼此 的身分認證,音樂集體管理組織或是唱片公司若注重客戶隱私或是注重交易對象者,
在採用區塊鏈技術的類型上,私有鏈將會是他們的選擇118。
最後要介紹的是聯盟鏈,聯盟鏈係指共識過程受到預選節點控制的區塊鏈,而 成員間大多係通過 KYC(Know your customer,認識你的客戶,是銀行監管手段之
116 同註 47,頁 21。
117 Jeremy Silver, supra note 2, at 3-4.
118 同註 47,頁 22。
76 DOI:10.6814/NCCU201900529
一)而具有共同利益關係的合作夥伴,透過區塊鏈交換有價值的資訊,因此實務上 無公開所有資訊的需求,屬於部分去中心化的運作系統 119。由於銀行對於公開資 訊所獲得的益處較少,通常會建立一個封閉不對外開放的網絡,因此聯盟鏈為國際 清算銀行投資的項目,以改進現下的中心化運作系統,透過消除交易過程中的層層 中介者來達到節省時間、費用的益處。目前全球大型銀行已透過點對點的傳輸管道 組成 R3 區塊鏈聯盟(R3 Consortium),並發展成一個龐大的技術生態系,以開發 即時數位清算和數位 加密貨幣。另外由 Linux 基金會所創建的超級帳本計畫
(Hyperledger Project),均擁有為數不少的參與會員 120。
基本上不同的區塊鏈類型從資訊處理之方式,可大致上分為資料控制者(Data Controller)以及資料處理者(Data Processor)。資料控制者即係指擁有資料的個 人、組織、或聯合機構,定義資料處理的方式與目的;資料處理者係指代表資料控 制者如何處理資料的行為 121。而在區塊鏈的核心技術中,從公有鏈的角度上,並 沒有中心化的管理者,意即公有鏈上並無資料控制者之存在,惟若從 Dapp 應用的 角度上來看,則 Dapp 透過智能合約根據預先設定的規則、條件來自動執行預先許 可事項,意即相關資料之操作邏輯與應用目的已先行定義於智能合約當中,合約條 件觸發後即會自動執行已被程式設計者定義完成之相關項目,因此合約的程式設計 與組織方即為所謂的資料控制者,進而有義務針對使用者之資料進行保護與刪除。
而在聯盟鏈上,由於礦工或驗證者乃經由聯盟成員所授權;換言之,資料控制者即
119 同註 47,頁 23。
120 Jeremy Silver, supra note 2, at 11.
121 陳昶吾,當區塊鏈遇上 GDPR,數位時代,2018 年 7 月 13 日,
https://www.bnext.com.tw/article/49723/blockchain-gdpr-privacy,最後拜訪日 2018 年 12 月 5 日。
77 DOI:10.6814/NCCU201900529
為這些聯盟成員,並由其掌握數據。據此,資料的保護與刪除亦由其共同協作與處 理 122。私有鏈之部分,則回歸一般契約法之概念,由締約雙方對於各自契約內容 負擔義務與相關責任。
第一項 建立交易驗證的信任機制
首先,我們必須先討論比特幣以及區塊鏈技術想解決的核心問題即是交易之驗 證問題。舉例而言,在 A 與 B 的交易活動中,「是否 A 為真正所有權人?」、
「B 是否具有支付能力?」,以及「A 是否只想把東西賣給 B?或是 A 亦想把東西 同時賣給 C、D?」,上揭問題均可透過數據排列以及加密技術來解決,意即經過 經由一系列複雜的加密技術-「挖礦」(mining)來完成 6 到 7 次的驗證後,若均 能得到相同結果,我們就能確信該結果為真。而挖礦既是驗證交易的方式亦是節點 上的礦工獲得比特幣的途徑,這項驗證不僅可以確認交易對象,亦可確認交易對象 是否有能力進行款項的支付,而協助認證的礦工則會得到比特幣作為獎勵,這就是 交易驗證的過程123。
而區塊鏈技術的運作簡單來說就是利用 P2P(peer-to-peer network)技術,在 網路中眾多節點構成的分散式資料庫,使用了工作證明(Proof of Work,POW ) 將交易被記錄於公開的帳本上,並利用時間戳記(timestamp )進行簽章,以將交 易訊息紀錄在分散式帳本中,訊息發送方通過金鑰將訊息加密,訊息接收方再透過 配對的另一把金鑰將訊息解密,以非對稱加密演算法保證訊息傳遞過程的私密性與
122 同前註。
123 Jeremy Silver, supra note 2, at 13.
78 DOI:10.6814/NCCU201900529
安全性,再由各節點進行交易有效性的驗證,以解決數位時代下容易重制而有雙重 支付需由協力廠商驗證的問題,最終讓交易行為可在不具有信賴關係之環境下進行。
安全性,再由各節點進行交易有效性的驗證,以解決數位時代下容易重制而有雙重 支付需由協力廠商驗證的問題,最終讓交易行為可在不具有信賴關係之環境下進行。