全球Blockchain技術發展快速,Linux Foundation於 2015年12月成立的Blockchain Hyperledger項目,正扮演未來Blockchain技術發展的關鍵主導角色,加速推動Blockchain發展與應用。
Hyperledger項目已經匯聚全球超過80家金融、科技及Blockchain技術與應用團隊,陣容龐大,包括各國銀行所組成Blockchain聯盟R3、全球最大衍生品交易所CME Group、德國證券交易所Deutsche Börse、美國證券集中保管結算公司DTCC、全球最大管理諮詢公司Accenture、IBM、Intel、Cisco、Fujitsu、Hitachi、Redhat、NEC、VMWare、Thomson Reuters等成員。
Hyperledger項目目的是共同建立並維持一個跨產業且開放的Blockchain分散式分類帳技術平台,並建立跨產業開放標準,讓任何知識產權的價值交換,皆可藉由最具經濟成本效益且安全的方式進行交易與追蹤。Hyperledger開放技術參考架構的設計具有即時部署的彈性與支援跨產業應用需求的特質,因此需要有模組化與允許抽換技術部件的可擴展開放架構。
Blockchain將互聯網引領至更高層次,各種形式有價值的知識產權,包括數碼資產、其他有形或無形有價值資產,可以透過去中心化的Blockchain來決定資產的擁有權,而資產擁有權的管理藉由嵌入資產中的Blockchain智能合約演算法來自動執行。
Blockchain經常被視為一個信任機器(Trust Machine),而其中的信任是由分佈在網絡各處的節點透過無法篡改的運算證明所達成的共識(Consensus),意思即是Blockchain即時動態投票機制。然而建立共識是需要成本,就像民主投票一樣,如何用最少的溝通成本來達成共識,則主要是追求目標,這同時是決定Blockchain信任機器是否有效率運作的重要因素,因此共識管理是推動Blockchain信任機器的關鍵。不過,唔同類型的民主投票,所能承擔的民主成本不同。某些民主投票需要權衡,門檻太高未必是好事,相反可能造成少數人綁架多數人的情況。對於一個極度分散的群體同樣也不適用門檻高的標準,因為即是一個簡單議題的投票,都不易讓所有人達成高比例的一致性。因此,Hyperledger開放式參考架構中的共識管理(Consensus Manager)是能模組化地配置如PoW,PoS和 PBFT等各種不同類型的共識機制。
拜占庭將軍問題(Byzantine
Generals Problem)是一個建立於共識機制解決的實例,拜占庭在歷史上是東羅馬帝國的首都,現在位於土耳其的伊斯坦堡。由於當時拜占庭羅馬帝國的國土遼闊,基於防禦目的,每個軍隊都分隔遙遠,因此將軍之間只能靠信差傳遞消息。當戰爭發生時,拜占庭帝國軍隊的將軍們必須全體一致的決定是否攻擊某一支敵軍,因為唯有達成一致行動才能獲勝。將軍中若存在叛徒,叛徒可以採取行動以欺騙某些將軍進行進攻行動,或致使他們無法做出決定,缺乏一致行動的結果則注定戰事失敗。
若搬入Blockchain共識機制,拜占庭消息誤傳是指Blockchain分散式網絡中節點所出現的任何錯誤,例如偽造簽名、惡意破壞系統的一致性、超時、重複發送消息等。共識機制通常具有容錯設計,即使某些節點失敗或緩慢,分散式網絡中節點的獨立處理器仍能達成某種精確的互相一致性,但是共識機制具有多樣種類且各自特性,並由共識機制基本參數決定。
工作量證明演算法(Proof
of Work - PoW)是比特幣使用的共識機制,可讓每個參與的節點共同參與交易驗證,也是一個多方共同維護並共享同一份交易記錄的帳本。在PoW演算法中,記帳節點需要一定的運算資源處理同一條件的Hashcash計算,邊個節點先計算出來,Blockchain就屬於該節點,接著被算出來的數值可以向網路其他節點提交計算的工作量證明。
雖然Hashcash函數具有難破解性,但容易被驗證,因此只要數值被計算出來,其他參與節點便能容易地去驗證這個值是否有效。由於工作量證明運算具有相當高的計算成本,因此無誘因去偽造,只有遵守協議約定,才能收回成本並獲得收益。不過,工作量證明的結果在Blockchain交易紀錄中並沒有最終性 (Finality)。對於分散式網絡中的任何一個Blockchain而言,總是存在無限延伸的可能性,因而難以決定誰得到最多驗證。
股權證明演算法(Proof of Stake-PoS) 是另一種共識機制,採用類似股權證明與投票的機制,選出記帳人,由它來創建Blockchain。持有股權(Coin)愈多則具較大特權,並且負擔更多責任來產生Blockchain,同時獲得更多收益的權力,PoS希望實現一個減少運算資源消耗的共識機制。
除了PoS之外,DPoS(Delegate Proof of Stake) 採用類似股權授權證明,PoS是一幣一票的直選制度,DPoS則是間接民主的代議制。若以比特幣共識機制吞吐量的性能(Transaction per second - TPS)為例,
PoW的TPS只能達到7/s,而DPoS的TPS最高性能則達到10w/s。Ethereum(以太坊)未來將採用類似PoS機制代替現有使用的PoW共識機制。
實用拜占庭容錯演算法(Practical Byzantine Fault Tolerance - PBFT)的共識運作為訊息在分散式網絡中節點之間互相交換後,由各節點列出所有得到的信息,以大多數結果作為解決辦法,而在PBFT演算法中,主要依據法定多數(Quorum)決定,一個節點代表一票,以少數服從多數方式實現拜占庭容錯演算。至多容錯量以不超過全部節點數的1/3,意即如果有超過2/3正常節點,整個系統就可正常運作(R ≥ 3F + 1; R:節點總數,F:有問題節點總數)。
PBFT演算法的運作步驟為:
1.
取一個副本作為主節點,其他副本作為備份
2.
用戶端向主節點發送使用服務操作請求
3.
主節點通過廣播將請求發送給其他副本
4.
所有副本執行請求並將結果發回用戶端
5.
用戶端需要等待F+1個不同副本節點發回相同的結果,作為整個操作的最終結果。因此,PBFT演算法對所有非有問題之副本節點的請求執行順序可達成一致,據以保證安全性。
所有用戶端最終都會收到針對他們請求的回復,以確保活躍度(Liveness)。在沒有發生主節點有問題的情況下,演算法的正常執行流程(副本0是主節點、副本3是有問題的節點、C是用戶端)。
總言之,Blockchain共識機制的選擇會直接影響商業活動實際應用的效果,因此在即將孕育而生的各領域Blockchain服務的設計上,應慎選適當的搭載共識管理引擎,以有效推動Blockchain信任機器的運轉,並達成以Blockchain為基礎的創新經濟發展境界。
沒有留言:
張貼留言