文章專區

2017-11-01區塊鏈進階應用問與答 575 期

Author 作者 作者∕杜宏毅
看完了比特幣與區塊鏈的介紹,相信對兩者已有初步的認識,以下回答幾個常見的問題,進一步了解區塊鏈的應用。把前面提到的交易識別確認、資料無法篡改、節點資料同步三種技術統稱為「區塊鏈」。 所以到底這三種技術的是怎麼做的呢?
 
問:請用幾句簡單的話說明何謂區塊鏈?

答:你用過email嗎?其實在學校或是在企業裡,大都有設立一個email 的伺服器,透過既定的通訊協定,與 世界各國各地其他的email 伺服器互通聲息、交換資訊。同樣的,所謂「區塊鏈(blockchain)系統」, 簡 單來講,你可以把它看作是一種連結各個應用單位的「訊息溝通管道」。只不過這個訊息溝通管道不是一個單純的「訊息交換器」, 而是具備了 AIDS 四項特殊功能的訊息交換網 路。這 AIDS 四個字母,分別代表 四個英文字的簡寫。

A 代表Authenticated,是「可被驗證」的意思。亦即,所有在區塊鏈系統當中所傳遞的資訊,都會被記錄在 一個名為「帳本(ledger)」 的資料庫中。而這些資料如果是採實名登錄制,則每一筆資料都可以驗明正身地確認其由來及出處。我們稱這樣的功能為「可被驗證的(authenticated)」 功能。而這項功能,在區塊鏈系統當中,是建立在類似像「電子簽章加密」的技術之上。

I所代表的英文字是Immutable,意即所有透過區塊鏈系統傳遞、記錄的資料,一旦寫入帳本中,就「無法被變造或更改(immutable)」。而這項「資料無法被變造」的功能,則植基於一種繁複的電腦演算法(algorithm)。 藉由這種演算法,我們可以將記錄在帳本中的資料,建立起一種互相連結的關係。電腦只要依照既有的程序檢視,就可以驗證原先相互關聯的關係是否仍然存在,而進一步藉此檢驗是否有人對資料動了手腳。也因此,造就了區塊鏈「資料無法被變造」的功能。

D則代表Distributed,分散式的資 料儲存方式。在區塊鏈機制之下,每個應用單位的資料,都是以「分散式 (distributed)」的方式儲存。區塊鏈的應用單位(稱之為「節點(node)」) 之間也是以網狀的方式相互連結,相對於海星狀的中衛體系,它並沒有一個所謂的「中心」, 進行資料整合與傳遞送動作(圖一)。 所以,整個區塊鏈機制當中的資料,基本上是以流水帳的方式,將所有紀錄依時間羅列,逐筆記錄在上述稱之為「帳本」的資料庫中。

S所指的是Synchronized(同步)。 在區塊鏈系統中,每個節點都有一套這樣的「帳本」, 並且所有應用單位節點中的帳本內容,都即時保持資料的一致性。亦即,只要有一個帳本中新增了一筆資料,其他節點也必須立刻被告知,同步更新帳本資料。 這樣的動作稱之為「資料同步(data synchronization)」, 而第四個字母S 所指的就是Synchronized這項功能。

問:如何使用區塊鏈,才能用到它的關鍵特性?

答:在應用區塊鏈的時候,我們會以軟體開發常用的「三層式架構(3-tier)」, 來看整個應用系統的結構。最底層是 「區塊鏈系統(blockchain system)」, 中間是「區塊鏈應用系統(blockchain AP system)」, 最上層則是應用系統與使用者間的「介面或是訊息溝通匝道(gateway/interface)」( 圖二)。

就像我們在回答上一個問題時所說的,我們可以將區塊鏈系統當成是一個具備 AIDS特性的訊息溝通平台,藉由這個平台,訊息得以安全的傳遞,而且被同步、忠實地記錄下來,但是這樣的基礎建設(infrastructure), 可以有哪些應用呢?……【更多內容請閱讀科學月刊第575期】