【區塊鏈懶人包】區塊鏈節點是什麼?運行在雲端有什麼好處?

區塊鏈概述

區塊鏈是近幾年來炙手可熱的話題,虛擬貨幣及智慧合約等應用都是使用區塊鏈技術來達成的。區塊鏈是一種以點對點 (Peer to Peer) 網路形成的分散式帳本。每一個帳本中都記錄著許多交易資料,記錄完後就會將交易資料打包成為區塊,而每一個區塊都會記錄著前一個區塊的資料,因此稱之為區塊鏈。在了解區塊鏈之前我們需要先了解區塊鏈類型跟區塊鏈節點。

區塊鏈類型

隨著使用場景不同會考慮隱私性、去中心化程度及信任程度等需求標準去選擇合適的區塊鏈類型,如今區塊鏈分成了三大類,分別為公有鏈、私有鏈及聯盟鏈,以下是簡單介紹:

  1. 公有鏈:不論是誰都可以存取公有鏈上的資訊,所有的資訊都是公開透明的,參與者可自由選擇加入或退出,例如:以太坊、比特幣
  2. 私有鏈:一般用於企業內部的情境,區塊打包者及記帳規則都是由機構中的參與者決定,較像是公司的私有帳本,隱密性較公有鏈高
  3. 聯盟鏈:用於多個企業間傳輸資料,這些企業組成聯盟,由所有機構共同管理,隱密性介於公有鏈跟私有鏈之間

區塊鏈節點

不管前面提到的哪種區塊鏈類型在區塊鏈中節點是非常重要的組成元件,因為這些節點都是區塊鏈上的參與者,而這些節點實際上都是代表著一台計算機,但什麼樣的計算機能夠作為節點呢?

作為節點的計算機需具備以下條件:

  1. 擁有儲存空間:用於儲存區塊鏈上所有的交易副本
  2. 有連網的能力:同步並參與區塊鏈上的所有事件

除此之外,節點還分成很多種類,以下針對節點類型做介紹:

  1. 全節點 (Full Node):基本的節點類型,具有完整的區塊鏈數據,並會參與到共識機制中。
  2. 輕量節點 (Lightweight Node):每個輕量節點都需要連結到一個全節點,只會記錄特定的區塊鏈交易資料,主要用於查詢資料或與其他區塊進行通信,但不參與共識機制。
  3. RPC Node:讓客戶端通過網路遠程訪問來操作節點,使其可以去記錄及讀取區塊鏈上的交易。但因為 RPC 節點需要開放 API 供使用者使用,所以須採取必要的安全防護。
  4. 驗證節點 (Validator Node):用於驗證客戶端提交的交易,但無法像採礦節點一樣參與新區塊的打包。
  5. 歸檔節點 (Archive Node):紀錄著整個區塊鏈的交易紀錄,跟全節點 Full Node 的主要差異在於 Archive Node 可以對所有歷史紀錄進行保存,如此便可助於區塊鏈的相關分析,但相對的 Archive Node 也會佔用較多的儲存空間。
  6. 採礦節點 (Mining Node):藉由解開數學問題來產生新的區塊,所以通常會需要非常強大的電腦計算能力。

因為區塊鏈中的節點是分散式的存在,這也為區塊鏈帶來了一些特別的好處:

  1. 去中心化:在區塊鏈中帳本是由每個節點共同管理,並非由單一中心節點集中管理
  2. 資料完整性:帳本會在每個節點都儲存一份,因此可以防止單一節點被入侵而造成資料毀損

Google Cloud for Blockchain

區塊鏈的運行會受到區域法令限制以及節點機器的性能影響,因此通常面臨運行上的困難並且也會耗費大量的營運成本,還有安全方面的維護也是不可忽視的。例如:上述提到的 RPC 節點需要適當的安全措施進行保護、DApp 的節點需要低延遲等等都是非常需要重視的問題。

而如今隨著上雲的趨勢崛起,Google Cloud 也為 Web3 提供了相應的服務讓區塊鏈節點方便運行在雲端上。其中包括關於節點管理、節點安全的解決方案,讓開發人員能夠專注在 DApp (Decentralized Application)的開發上,並為區塊鏈運行困難的問題提供了解決方案。為此 Google Cloud 推出了 Blockchain Node Engine 的節點託管服務,讓區塊鏈節點可以快速部署。除此之外,整個 Blockchain 運行的過程中還可以結合 Google Cloud 上的其他雲服務來因應不同的需求,進而讓整個Blockchain運作更加完整。 

節點部署與管理

Google Cloud 上有許多服務可以幫助區鏈節點在雲端上更好的運行,也針對不同的需求有不同程度的選擇,可讓使用者建立較彈性的運作環境。

以下是您可以選擇的環境配置:

  1. 可結合 Cloud Load Balancer 幫助節點進行負載平衡
  2. 可將節點遷移至 Google Kubernetes Engine (GKE) 的 Node Pool 中進行管理,也可以一開始就在 GKE 裡面運行
  3. 若想降低延遲讓使用者可以更快速的取用節點資料也可配合 Cloud CDNMemoryStore 做使用

節點安全

節點安全也是非常重要的議題,因此 Google Cloud 也可以讓您搭配 Cloud Armor 來保護節點安全。

Cloud Armor 是 Google Cloud 的網路應用程式防火牆的服務,這項服務提供分散式阻斷服務(DDoS)的防護機制,或可設定 VPC 的防火牆來過濾流量防火牆來過濾流量,只讓受信任機器即使用者可以存取到節點,讓節點多一層保護。

除此之外,在 Google Cloud 上的 Cloud KMS 金鑰管理服務也可以提供管理加密金鑰的服務,您可以以這些加密金鑰簽署交易藉此保護交易資料。

區塊鏈資料分析

近年來大數據的搜集及分析也非常重要,如此可將資料價值最大化,若再進一步結合機器學習也可做出未來趨勢預測。因此 Google Cloud 也提供了可透過 Pub/Sub 的服務將區塊鏈節點上的資料即時串流至 Big Query 中,再藉此進行數據分析,甚至可以做 ML 的預測,創造更多豐富的應用。

以上是 Google Cloud 針對 Web3 所提供的支援, 託管、安全防護及資料分析方面都有相對應的解決方案,希望能為開發人員提供更多的便利。若您想使用 Google Cloud 的 Blockchain Node Engine 請聯繫 Google Cloud 團隊,若是想了解更多 Web3 in Google Cloud 的資訊請參考 Web3 適用的 Google Cloud

撰文者:Joanne Chen/目前專注於 infra 及 security 的領域,協助客戶雲端架構的執行

資料參考來源:

Node hosting on Google Cloud: a pillar of Web3 infrastructure

Web3 適用的 Google Cloud

Google Cloud Armor

Introducing Blockchain Node Engine: fully managed node-hosting for Web3 development

訂閱 CloudMile 電子報

所有 CloudMile 最新消息、產品動態、活動資訊和特別優惠,立即掌握。