• 沒有找到結果。

第三章 區塊鏈之特性與技術發展

第三節 區塊鏈技術特性

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第三節 區塊鏈技術特性

區塊鏈是一種不需要依賴額外的第三方管理機構、通過分散式節點進行數 據的儲存、節點之間互相進行驗證、傳遞訊息和交流的一種技術方案。簡單來 說,區塊鏈其實就是一個分散式的帳本,透過節點之間的互相監管,讓區塊鏈 裡面的資料更可靠,而區塊鏈同時是公開的帳本,代表參與的節點幾乎沒有門 檻,每個節點都擁有權限可以在此帳本裡面加入自己的信息,帳本的資料合法 性是串連一起的,代表帳本的資料幾乎不可能被篡改。節點不依靠第三方的管 理機構和硬體要求,運算、查核和資料的儲存都是去中心化的。這是一套結合 了可追溯性、去中心化、數據不可篡改性和加密性等特性的系統。讓互聯網最 讓人擔憂的安全信任問題,可以在不需要第三方介入的前提下,讓使用者透過 密碼學與演算法,以一種科學的手法達成共識,降低信任的成本以及確保資訊 安全。經濟學人曾把區塊鏈技術比喻為The Trust machine(信任的機器)19,意 思為即使在沒有中介組織的監管或控制下,也能對裡面經過一定運行機制創造 出來的東西產生信任。

19 https://www.economist.com/news/leaders/21677198-technology-behind-bitcoin-could-transform-how-economy-works-trust-machine (最後瀏覽日:2018/06/07)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

一、雜湊值(Hash Function)

圖2:雜湊函數演算法計算方式

Hash 值,為使用 Hash 演算法計算其加密後的值。其全名為雜湊函數

(Hash Function、或稱雜湊演算法)是一種將任何資料轉換成「金鑰指紋碼」

的方法。此般方式常見的編碼有SHA-1、SHA-2、SHA-3(SHA 為 Secure Hash Algorithm 的縮寫)等,重新建立一個叫做雜湊值(hash values 或 hashes)的指 紋,雜湊值會以一串隨機數字和字母組成的字串來代表,使資料量能有效變 小。

不管使用哪一種雜湊函數演算法,它們都有著一個基本特性:如果兩個根 據同一雜湊演算法(編碼一樣)計算出來的雜湊值是不一樣的,那麼基本上可 斷定這兩個值的原始輸入也是不一樣的。這個特性是因為通過雜湊函數演算法 計算出來的雜湊值具有肯定的結果,而符合這個特性的雜湊函數也被稱為單向

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

雜湊函數。但另一方面,雜湊函數的輸出並沒有唯一性,也就是說雜湊函數的 輸入和輸出沒有唯一對應關係的,如果兩個雜湊值相同,兩個雜湊值的原始輸 入很可能是相同的,但是也有著兩個原始輸入並不一樣的可能性,這種情況被 稱為「雜湊碰撞(collision)」,這通常是兩個不一樣的輸入值,透過計算之下 刻意讓演算法計算出相同的雜湊值。我們可以說雜湊函式具有不可逆性,但少 量的雜湊碰撞仍然存在,但因為機率太低了,低到我們幾乎可以忽略掉那極低 的可能性,但這那可能性還是存在。20

二、時間戳記機制(Timestamp)

圖3:區塊鏈的時間戳記示意圖

(資料來源:Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.)

區塊鏈的時間戳記機制會把由很多不同的交易所組成的區塊(block)所對 應之雜湊值加上時間戳記,並進行廣播。時間戳記證明了在區塊裡面的資料在

20 Grimaldi, R. P. (1998). Discrete and Combinatorial Mathematics: An Applied Introduction. 4th edn. ISBN 0-201-19912-2. pp. 244–248.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

特定時間時必然存在,用來證明資料的有效性,而每個時間戳記都會將前一個 區塊的時間戳記加入到其雜湊中,以此類推,之後所有區塊的時間戳記的Hash 值都包括前一個時間戳記的Hash 值,做到加強效果的功能。因此而形成了一條 幾乎不可能被篡改的鏈,且能確保區塊順序。

三、區塊/區塊鏈

圖4:區塊鏈的組成示意圖

(資料來源:Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.)

為什麼要先要介紹雜湊函數呢?因為雜湊函數是區塊鏈的基本(甚至是本 論文的基本)。上一段落提到的,每份資料之間要如何證明沒有被篡改的狀況 呢?這時雜湊函數便能派上用場,區塊鏈利用其單向雜湊函式的特性,建立起 一個難以篡改的系統,而且按照上圖,當一個區塊的資料全部記載完畢後,透 過雜湊函數把該區塊的資料編出一個Hash值,成為該區塊的區塊頭(Block Header),而每一個區塊的區塊頭都會放入下一個區塊中,以確保其資料正確 性。如此接續下去便成為一套無法篡改的記錄鏈,之所以取名叫做「區塊鏈」

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

(Blockchain)的意義便在於,每個區塊(Block)之間由特殊的方式相互「鏈 結(Chain)」在一起,如同鎖鏈一樣,不可能替換掉一條鎖鏈的其中一部份而 不影響到鎖鏈的其他部份。

5:區塊鏈連結示意圖

(資料來源:Nakamoto, S. (2008). Bitcoin: A peer-to-peer electronic cash system.)

如假設有人於事後想篡改某份區塊的資料,根據Hash值的特性,該區塊資 料編碼出來的Hash值便會大幅度的不同,如此一來下一個區塊所記錄的資料便 會對應不起來,因此便可以發現資料遭到篡改。也因此若有篡改者想要有效的 改變整份資料,便需要持續不斷篡改之前區塊的Hash值,直到最原始的區塊資 料。而找到對應的Hash值,需要經過極其大量的運算嘗試才有可能成功,不僅 是成本的提高而且必須取得整體節點數量的百分之五十以上,才有篡改資料的 可能。這樣的特性使得整個區塊鏈系統具有不可改動、篡改的存證性。

一個例子幫助了解,Ricky,Tiffany 和 Kazaf 都是台灣最大的比特幣交易所創辦 人,他們為了擴大經營而籌集資金來支持交易所的營運管理,但又不能讓其中 一個人有單獨控制資金的所有權,因此他們透過RickyMultiSig 建立了一個多簽 地址,而他們擁有的共識為交易前需要通過三分之二的批准,即若他們其中一 人要進行交易,必須經過組織裡面三個創辦人中的其中兩名成員的授權。而在 這個實例裡面,可能的簽名排列組合分別可以是R & T,T & K,R & K。多重

21 Lin, I. S. (2012). Multi-agent designated proxy re-signature scheme. (最後瀏覽日:

2018/06/07)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

簽章可以成為企業風險控管的一部分,它需要企業的員工達成共識後才能夠批 准交易,這可以對組織內部的不當行為增加多一重的保障,例如防止成員挪用 公款、人為的失誤操作而造成損失、機器故障等失誤起到重大的保護作用。

五、工作量證明機制跟獎勵

每一個區塊中都有一個很特別的數值(Nonce),這是一串每個區塊都擁 有的獨一無二的隨機數,

6:區塊鏈交易示意圖(比特幣)

如圖6 所顯示,一個區塊存在著無數個交易的記錄,當你嘗試把別人產生的交 易寫入記帳簿時,需要先解開這個隨機數,而解開這串隨機數需要消耗一定的 算力和時間,雜湊值以一個或多個0 開始。

值,剛好可以「小於」一個被設定好的難度目標值(Difficulty Target)。

而比特幣的設定為每10分鐘會有節點成功算出新的區塊,但如同買樂透一

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

更設計出專門用來挖礦的ASIC礦機,ASIC礦機運算的速度跟效率相比GPU有大 幅提升,而用ASIC礦機進行挖礦的現象,會使比特幣網絡的算力大幅度的集中 在幾個擁有大量礦機的礦池身上,使其他正常使用CPU跟GPU挖礦的平民百 姓,根本不能跟礦池作出有效的競爭,而這也會導致比特幣背後的區塊鏈偏離 了當初「去中心化」的概念,因為全世界最大的幾個礦池的算力加起來不僅超 過了51%,甚至到達70%,聯合起來可以輕鬆對比特幣網絡發動「51%攻擊」,

51%攻擊是指當節點擁有了區塊鏈網絡超過50%的算力時,其節點有辦法操控 並改寫區塊鏈的數據。

而另一方面POW的缺陷為比特幣挖礦需要進行大量的暴力運算,所有參與 挖礦的礦工都要付出高額的經濟成本,不管是電力,算力等寶貴能源,只要沒 有成為首位解答出難題的礦工,這些付出的能源都會被浪費掉。而另一方面,

挖礦對電力的消耗也是一個不容忽視的問題,24小時不間斷滿負荷地運轉對電 力安全有較高的要求。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

比特幣分析網站Digiconomistd22,最近發佈了其對比特幣的研究:「比特 幣能源消耗指數」,調查全世界每年用於挖礦的電量,而在2018年顯示這個數 字已經達到65.82太瓦時(1太瓦等於10億度電)。有鑑於此,除了POW是達成共 識的機制,其他共識機制也正蓬勃發展,例如Ethereum(以太坊)將來也會從 POW往POS(Proof of Stake)發展,EOS所採取的是DPOS(Delegated Proof of Stake)。

8:比特幣挖礦使用電力示意圖

22 Digiconomistd. https://digiconomist.net/bitcoin-energy-consumption(最後瀏覽日:2018/06/07)

23 ConsenSys Academy (2018). BlockChain Basics

相關文件