• 沒有找到結果。

第三章 區塊鏈之起源與發展

第一節 區塊鏈基本定義

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 33 -

第三章 區塊鏈之起源與發展

區塊鏈,起源一位名為Satoshi Nakamoto(俗譯:中本聰)的一篇比特幣 論文(Bitcoin: A Peer-to-Peer Electronic Cash System 比特幣:一套點對點的電子 現金系統),作為比特幣的底層技術,本質上是一套去中心化的資料庫。是指透 過去中心化的方式集體維護一個可靠資料庫的技術方案。儘管到目前為止世界 上仍不曉得這位中本聰究竟是何人。之所以在此探討區塊鏈,無非是想透過區 塊鏈解決上章著作權於現下存在的問題。本研究在此將以較淺顯易懂的方式帶 領閱聽者剖析整個區塊鏈生態系。

第一節 區塊鏈基本定義

根據中本聰2008 年提出的雛形,區塊鏈是一種不依賴第三方、通過分散式 節點(Node)進行網路數據的存儲、驗證、傳遞和交流的一種技術方案。換個

說法,區塊鏈技術可以說是一種分散式去中心化的「網路記帳本」,無論任何人 都可以採用相同的技術方式在此記帳本裡面加入自己的信息。延伸至今,區塊 鏈可以因應各種市場需求將不同形式的信息寫入區塊鏈。

這套系統簡單來說可說是結合了分散式記帳本、共識證明、不可竄改三大 特性的一套系統。但實際上來說,上述的三種系統各自並不是因為區塊鏈出現 才被發明的,更應該說是,「區塊鏈」透過獎勵機制(或說是商業模式)將上述 三種系統完美的結合,此般的創新才導致了風潮。

33 LESLIE LAMPORT, ROBERT SHOSTAK, and MARSHALL PEASE, The Byzantine Generals Problem, SRI International, 1-2(1980).

34 Id.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 37 -

圖 6:比特幣交易紀錄

資料來源:Blockchain.info,比特幣主鏈,區塊編號 #497180

(四)、 區塊/區塊鏈

在第(一)段中提到Hash 值,其全名為雜湊函數(Hash Function、或稱雜 湊演算法、雜湊函數)是一種將任何資料中建立成較小格式成「指紋碼」的方 法。此般方式常見的編碼有SHA-1、SHA-2、SHA-3(SHA 為 Secure Hash

Algorithm 的縮寫),MD5 等。雜湊函數將數位電子資料,壓縮成指定格式且固 定長度的編碼(又稱訊息摘要),使資料量有效變小。該些函數將資料打亂混 合,重新建立一個叫做雜湊值(hash values,hash codes)的指紋。

所有雜湊函數的演算法,都有一個基本特性:「如果兩個雜湊值是不相同 的,那麼這兩個雜湊值的原始輸入也是不相同的」。這個特性是雜湊函式具有一 定且唯一的結果,具有這種性質的雜湊函式稱為「單向雜湊函式」。

但同時,數學上,雜湊函數的輸入與輸出仍無法達到唯一對應的關係(數 學上稱1-1,one - to - one function),由於數位檔案的多元性可視為無限多種

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 38 -

(函數之定義域),但固定長度之編碼卻有限(函數之對應域),也就是說,儘 管兩個數位檔案是不同的,仍有特定的機會得到的y 值可能相同,這種情況稱 為「雜湊碰撞(collision)」。但由於典型的雜湊函式都可以有非常大的定義域

(對應域則為輸出雜湊值長度的最大排列組合),比如SHA-2 系列函數中,最高 可輸入的字串長度長達264-1 位元組,但實務上仍將此認定為單射函數(每個 y 值只會被一個x 值對應到)。然而,同上所述,少量的雜湊碰撞仍然是不可避免 的(參考鴿洞原理37)。

但由於硬體計算科技的進步,部分雜湊函數已可以透過強制對應每一個值 所破解(西元1996 年 MD5 演算法已被破解、2005 年 SHA-1 被檢驗理論上的漏 洞,於2017 時實現了雜湊碰撞),然而建立此一般對應表既龐大又沒有效率,

於現今硬體科技的此時,強行進行雜湊碰撞僅被視為理論的實現。

37 Grimaldi, Ralph P. Discrete and Combinatorial Mathematics: An Applied Introduction. 4th edn.

1998. ISBN 0-201-19912-2. pp. 244–248.

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 39 -

圖 7:雜湊函數示意圖

之所以要介紹雜湊函數,為了表示區塊鏈的特性之外,雜湊函數更是區塊 鏈的基本(甚至是本論文的基本)。上些段落提到的,每份資料之間要如何證明 沒有被竄改的狀況呢?這時雜湊函數便能派上用場。之所以取名叫做「區塊 鏈」(Blockchain)的意義便在於,每個「區塊(Block)」之間由特殊的方式相互

「鏈結(Chain)」在一起,如同鎖鏈一樣,抽換任何一段鐵鎖都會造成鎖鏈的 斷裂。

在區塊鏈上便是利用Hash 值的特性,一個區塊將資料全部寫入完畢後,透 過雜湊函數編碼出一個Hash 值,該 Hash 值便是該區塊的身分指紋碼,在下一 個區塊寫入時也會同時記錄這個區塊的Hash 值,如此接續下去便成為一套無法 竄改的紀錄鏈,稱為「區塊鏈」。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 40 -

圖 8:區塊鏈結示意圖

如假設若有人於事後想竄改某份區塊的資料,根據Hash 值的特性,該區塊 資料編碼出來的Hash 值便會大幅度的不同,如此一來下一個區塊所紀錄上的資 料便會對應不起來,因此便可以發現資料遭到竄改。

也因此,若竄改者想要有效的改變整份資料,便需要持續不斷竄改下一份 區塊的Hash 值,直到最新的區塊資料。不僅是成本的提高,上述同時提到,要 要證明資料的真偽須取得整體節點數量的百分之五十以上,才有竄改資料的可 能。此般的特性使得整個區塊鏈系統無法具有不可改動、竄改的存證性。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

- 41 -

圖 9:區塊資料遭到竄改示意圖

相關文件