區塊鏈是什麼?

a group of cubes that are on a black surface
區塊鏈示意

區塊鏈(Blockchain)是近年來最具革命性的新興技術之一。區塊鏈技術的創始者就是中本聰先生,其在2008年發表的論文[1]提出了世界第一套的點對點現金支付系統又稱作比特幣(Bitcoin),其以去中心化方式建立信任等突出特點,對金融等諸多行業來說極具顛覆性,具有非常好的發展前景。

比特幣(Bitcoin)本身就是第一個而且到目前為止發展的最好規模最大,應用範圍最廣的區塊鏈。圖1-1展示了比特幣區塊鏈的簡化示意圖。

目前關於區塊鏈尚未有一個統一的定義,綜合各方的說法,區塊鏈就是基於區塊鏈技術形成的公共數據庫(又稱為公共帳本),其中區塊鏈技術代表一群節點基於現代密碼學,分散式同步協議,點對點網路通信技術和智能合約等行成的數據交換,處理和儲存的技術組合。

        然而以參與鏈的節點性質分類,區塊鏈可以分為:公共鏈(Public Blockchain),聯盟鏈(Consortium Blockchain)和私有鏈(Private BlockChain)。 從鏈與鏈的關係來分,分為主鏈及側鏈而且不同的區塊鏈還可以形成網路而網路中鏈與鏈的互相溝通,產生了互連鏈(Interchain)的概念。

       公共鏈對外公開,使用者不需要註冊就可以匿名參與,無須授權即可訪問網路和區塊鏈。節點可以選擇自由進出網路。公共鏈上的區塊可以被任何人查看,任何人也可以在公共鏈上發送交易,還可以隨時參與網路上形成共識的過程,就是可以參與決定哪個區塊可以加入區塊鏈並且記錄當前的網路狀態。公共鏈在所有區塊鏈中是真正達成完全去中心化的區塊鏈。它可以保證交易不被竄改,同時也會給予獎勵,在互為陌生的網路環境中建立共識,進而形成去中心化的信用機制。在公共鏈中的共識機制一班是工作量證明(PoW)或權益證明(PoS),使用者對共識形成的影響力直接取決於他們在網路中擁有的資源的占比。

公共鏈也可稱為非許可鏈(Permissionless BlockChain),應用的例子像是比特幣和以太坊(Ethereum)。公共鏈一般適合用於虛擬貨幣,電子商務,金融等應用情境。

聯盟鏈(Consortiu Blockchain)僅限於聯盟成員參加,區塊鏈上的讀寫權限和參與記帳的權限按聯盟來規則來制定。由40多個銀行參與的區塊鏈聯盟R3[2]和Linux基金會支援的超級帳本(Hyperledger)[3]項目都屬於聯盟鏈架構。聯盟鏈是一種需要註冊許可的區塊鏈,所以這種區塊鏈也稱為許可鏈(Permissioned Blockchain)。

聯盟鏈的共識過程預先選好節點控制。一般情況適用於機構間的交易,結算或清算等。舉例來說像是銀行跟銀行間的支付,結算或清算的系統就可以採用聯盟鏈的形式,將各家銀行的支付網關(Payment Gateway)[4]當成是記帳節點,當網路上有超過2/3的節點確認一個區塊,該區塊紀錄的交易將會得到全網的確認。此外聯盟鏈可以根據應用場景來決定對公眾的開放程度。由於參與共識的節點比較少,聯盟鏈一般來說不會採用工作量證明(PoW)的挖礦機制,而是比較多採用權益證明或PBFT(Practical Byzantine Fault Tolerant)[5],RAFT[6]等共識演算法。聯盟鏈對交易的確認時間,每秒交易數都與公共鏈有較大的區別,對安全和性能的要求也比公共鏈高。

聯盟鏈網路由成員機構共同維護,網路連入一般通過成員機構的支付網關連入。聯盟平台一般都會提供成員管理,認證,授權,監控,會計等安全管理功能。

        最有名的例子就是在2015年成立的R3聯盟,主旨就是在建立銀行同業的一個聯盟鏈,目前已經吸引了40多個成員,包括世界著名的銀行(如摩根大通,高盛,瑞信,柏克萊,匯豐銀行等),也有許多IT大頭(如IBM,微軟)。

私有鏈則是僅在在私有組織使用,區塊鏈上的讀寫權限,參與記帳權限按照私有組織規則來制定。私有鏈的應用場域一般都在企業內部使用,像是資料庫的管理,會計等。當然也是有一些比較特殊的場域,例如一些在政府機關的應用包含政府預算的執行,或者政府的一些統計數據,這些一般來說由政府登記,但公眾有權力監督。私有鏈的價值主要是提供安全,可追朔,不可竄改,自動執行的運算平台,可以同時防範來自於內部和外部的安全攻擊。這個在傳統的系統是很難做到的。

        此外關於私有鏈中比較著名的應用就是Coin Science公司所推出來提供企業建立私鏈的多鏈(Multichain)平台。它提供保護隱私和權限控制的區塊鏈平台,來克服在金融行業裡所遇到推廣區塊鏈的障礙。

比特幣主要是按其設計者中本聰的設計思想提出的一個虛擬貨幣系統,雖然很成功,但是其規則已經相對固定,很難在比特幣上做出大幅的修改,因為這些修改會引起分叉影響現有的比特幣用戶。因此,要在比特幣上做創新或擴展是比較難的。一般來說絕大部份的虛擬貨幣系統是通過用比特幣平台做基礎,重構一條區塊鏈,然後在上面使用新的規則發新的虛擬貨幣。這就是大部分虛擬貨幣的做法。但是這些虛擬貨幣系統要從無到有得到人們的價值認可是非常困難的,所以有一種方法就是與比特幣掛勾,相當於用比特幣作為儲備來發行虛擬貨幣,這樣就可以很快的完成虛擬貨幣價值認可的過程。但隨之而來的問題是如何自動保障虛擬貨幣和比特幣的掛鉤呢?因為虛擬貨幣的價格波動非常大,一般人都不願意持有波動大,流動性差的虛擬貨幣。所以一個最簡單的想法就是通過比特幣平台和虛擬貨幣平台的整合來做到實時的掛鉤。

2014年,Adam Back等作者發表了一篇名叫Enabling Blockchain Innovation with Pegged Sidechains的論文,其中的核心觀點就是比特幣的區塊鏈在概念上獨立於作為資產的比特幣。他希望通過技術能達到在不同的區塊鏈上轉移資產,這樣新的系統就可以重用原先的比特幣。他提出了一個叫做側鏈(Side chain)的概念。所謂側鏈就是能和比特幣區塊鏈交互,並與比特幣掛鉤的區塊鏈。 Adam Back定義出了一些側鏈的性質

  • 一個用戶在一條鏈上的資產被轉移到另一條鏈上後,還應該可以轉移回到原先鏈上的同一用戶名下。
  • 資產轉移應該沒有對手捲款潛逃的風險,也就是不誠實的用戶沒能力阻礙資產轉移的發生。
  • 資產轉移必須是不可分割的操作,也就是說要不就是全發生要不然就是都不發生。不應該出現資產或詐欺性的財產增加的情況。
  • 側鏈間應該有防火牆。一條側鏈上的軟體錯誤所造成鏈上的資產丟失或增加並不會影響另一條鏈上的資產丟失或增加。
  • 即使在資產轉移的過程中發生區塊鏈重組,也不應該出現問題。任何區塊鏈重組所造成的中斷,應該侷限在本條鏈上而不應該影響到其他的區塊鏈。

隨著區塊鏈技術越來越受到關注,更多的數位貨幣與區塊鏈平台也不斷被發展出來,這些新的平台技術,除了修正與其畫早期區塊鏈平台(如比特幣)的不足外,特別在聯盟鏈中,更容易出現專為某種應用服務需求所設計的區塊鏈平台。當各種金融服務,物聯網服務,醫療服務等資源建立在不同的區塊鏈,甚至同類型的服務(如金融服務)也會因不同業者/組織/.地域性/國家而建立在不同的區塊鏈,為了避免每個區塊鏈閉鎖性的運作造成了創新應用的發展阻礙與限制,連結異質區塊鏈並能協同運作變成為了區塊鏈技術發展的一重要議題。

        過往談到異質區塊鏈的介接,大多是環繞在比特幣之上,主要原因是比特幣是目前經歷過最常就的市場考驗,即使存在一些缺點與限制,但其仍是最去中心化,最公平的區塊鏈,例如BlockStream所發展的元素鍊,ConsenSys的BTC Relay等側鏈(Sidechain)技術都是以比特幣為出發點。元素鏈提供了一種交互協議,透過雙向錨定(Two-way Peg)技術讓新的側鏈可以跟主鏈連接起來,並允許數位貨幣可以在兩者之間相互轉移,而不讓幣的價值與總量受到影響,BTC Relay則是透過以太彷的智能合約,將以太彷與比特幣的區塊鏈透過一種安全去中心化的方式連結起來,讓以太彷的用戶能用比特幣來進行交易。

而針對不同區塊鏈之間的價值交換需求,Ripple公司基於對於金融產業市場的了解,發現金融單位傾向建置自己的區塊鏈環境來發展自有服務,因此提出了互聯帳本協議(Interledger Protocol, ILP),希望透過第三方連接器或驗證器來達到貨幣的自由傳遞,在此機制下兩邊的記帳系統接不需要信任連接器因為在ILP中以定義了加密機制,並且為兩邊的記帳系統撞見管理信託的資金,以達到交易雙方在對資金達到共識時便不能直接進行資金轉換,這與現有金融體系的處理方式是非常接近的。

下圖是整個InterLedger的架構圖

綜合以上所述,可以看出目前在區塊鏈技術上的發展還處於初期,因為除了比特幣之外還尚未出現一個殺手級的應用出現。目前大家還都是在不同類型的區塊鏈上各自發展。雖然比特幣在目前來說是最廣為人知的一種虛擬貨幣,但是由於先天設計上的問題使得在發展上有一定的侷限性,例如平均每10分鐘財產出一個區塊,每個區塊1MB大小限制,這使得每秒大概只能確認7筆交易,這種交易速度是無法滿足大部分場域的業務需求。 然而有些學者已經提出一些解決方案,但很多也是繞道而行。 所以我們迫切需要發展一種更佳的虛擬貨幣,此虛擬貨幣具有更快的交易速度並且保持和現行的比特幣一樣的安全性,並且可以動態的調整難度以及獎勵以滿足各種場域的業務需求,此外也會需要一個擬真的測試場域可以實際進行測試及實驗以確保此虛擬貨幣的正確性及安全性還有效能。

This Post Has 2 Comments

  1. Emily

    老師,請問是否有開課?

    1. a18499

      沒有喔,只是分享一些關於區塊鏈的理解,可以一起討論

發佈留言