區塊鏈原理:交易流程、節點、挖礦
隨著網路世界迅速發展,我們在網路上有大量交互的數據,這些數據都是透過一個中心單位來提供服務並保管,像是銀行提供存錢、交易的服務,銀行就是中心者的角色;即便這些中心單位是受到信任的機構,卻也存在某程度的風險。
區塊鏈並非由某一單位、某個人提供,而是由所有參與者共同提供、共同使用。將區塊鏈原理應用於「錢」,就創造了加密貨幣,並且加密貨幣交易不再需要像銀行的中心角色,所有加密貨幣的節點能共同管理每一筆交易,也因為這些記錄在區塊鏈上的資料,是由節點共同保管,能防止任一方隨意篡改交易紀錄,讓交易的每一個過程,能更加透明、安全地被記錄。
區塊鏈是如何公開透明、且安全地運作?本章我們也將為各位介紹區塊鏈的原理、交易流程、區塊鏈的系統架構,以及區塊鏈如何應用在日常生活、跨領域應用。
#1 區塊鏈原理是什麼?簡單看交易流程圖
我們可以將區塊鏈想像成一個非常長的帳本,整個區塊鏈上記錄了詳細的交易細節。每隔一段時間就會將該時間段發生的交易打包成塊做封存,因此形成一長串的資料塊,也就被稱為「區塊鏈」。區塊鏈的去中心化運作方式,會將每筆交易發布到全世界每一個使用者手中,也因每個人手裡都有一份資料,且使用者眾多,使得交易資訊難以被篡改。
以加密貨幣交易舉例:某 B 跟 A 買東西,當 B 發送加密貨幣的交易資訊時,會將該交易廣播給參與區塊鏈網路的維護電腦(也稱為節點),每個節點都會在規範的時間內收到許多待驗證的交易,並儲存於「待審核區塊」,接著區塊鏈透過特定規則來決定採用某個節點的區塊作為「確認版本」(特定規則有很多種,最常見的是PoW),並廣播給其他節點;而其他節點會放棄自己的「待審核區塊」,轉而確認這個「確認版本」區塊內中交易是否有效(檢查是否重複花費或者數位簽章是否有效),當確認無誤後,此區塊就會接上鏈,並重複以上流程。在這個過程中,參與驗證的電腦被稱為礦機,而參與維護區塊鏈的行為即是挖礦,這是因為區塊鏈原始的設計會提供獎勵給願意維護的電腦。
#2 區塊、節點、PoW工作量證明
這裡解釋交易過程常見名詞:
- 區塊鏈
可以解析為「區塊」和「鏈」的組成,而每一個區塊裡面都有三個元素:資料、哈希(Hash)值,以及哈希值區塊。- 資料
區塊裡的資料可以是任何類型的數據。 - 哈希(Hash)值
區塊的哈希值就如同每個人的指紋,是獨一無二的。我們在手機設定了指紋解鎖,那麼就只有設定的那個指紋可以解開手機,區塊的哈希值就是用於認證每一個特定的區塊。 - 哈希值區塊
每一個區塊都是按時間順序產生,而每一個區塊都包含了上一個區塊的哈希值,並按照時間順序連接,最後形成一條鏈。
- 資料
- 節點
就像是獨立自主的電腦,以網狀的方式相互連結,並儲存資料,是維護區塊鏈的核心單位。 - PoW(Proof of Work) 工作量證明
在分散式系統當中達成共識,需要有所謂的「共識機制」,來確保每個節點所擁有的資料是一致的。
最常見的共識機制就是 PoW 工作量證明機制,它的原理是讓每個節點,在記帳過程,透過電腦演算,解開當下區塊的哈希(Hash)值,來取得打包區塊的權利。參與運算的電腦,擁有越高的演算能力,自然能有更高的機會被選擇到,並獲得系統給予的加密貨幣做為報酬。
我們可以想像每一個節點就是一個數學解題者,區塊的哈希(Hash)值是一個非常非常難解數學題目,沒有辦法用任何投機取巧的解法來解開,必須透過演算、帶入的方式,來得到一樣的答案,成功解題的人就擁有產生區塊和打包交易的權利。
#3 帳本、交易紀錄
區塊鏈的帳本是什麼?與傳統的帳本有什麼差異?我們可以透過下方說明了解:
- 傳統的銀行帳本
在現今企業或個人中,當有交易發生,交易雙方就會將此筆交易紀錄在雙方各自的帳本,也就是存摺上。為維護交易的公平性或避免任何一方偽造交易紀錄,則會透過第三方機構來維護並查證帳本內容的真實性。以網路匯款為例,假設 A 匯給 B 一千元,電子存摺上就會顯示了 A 的帳戶少了一千元、 B 的帳戶多一千元,並且會有資料庫記錄了 A 匯給 B 一千元的交易資訊,這個資料庫就是我們知道的銀行等第三方金融機構。然而,透過第三方機構仍有可能有紀錄出錯或被駭客竊取、竄改的情形,像是如果是一般銀行的存摺,產生了爭議就只能跟銀行核對,誰對誰錯就比較難以釐清。 - 區塊鏈中的「帳本」
不同於傳統帳本是由中心金融機構的單點式管理交易資訊,在區塊鏈上,A 匯給 B 一千元的這筆交易,將記錄在此貨幣所有使用者的帳本上,且交易紀錄對所有人公開,所有人也都可以擁有交易紀錄的副本。一旦這筆交易有爭議,所有連線的電腦都可以跟這本存摺進行核對,不僅能避免紀錄出錯,更能防止駭客竊取、竄改的情形,這就是區塊鏈的分散式公開帳本。區塊鏈的存摺記錄了每一筆交易是如何產生、交易對象是誰、曾經有哪些人擁有,中間又發生了哪些交易等所有交易發生的細節。
#4 挖礦、礦工、礦機
- 挖礦
當一個區塊被成功打包時,節點就會收到來自於系統所給予的獎勵與交易手續費,這個過程也被稱為「挖礦」,對比上傳統金融,就像是我們使用銀行交易所需負擔的手續費,只不過在區塊鏈當中,這個費用是交給成功打包區塊的節點。 - 礦工
一般我們透過銀行轉帳,就是透過銀行驗證交易資料的正確性,而區塊鏈的交易則是透過如上面提及的節點來進行驗證,而這架設這些節點以賺取獎勵的人,就被我們稱為「礦工」。 - 礦機
礦機是指專門用設計來挖礦用的電腦設備,由於在 PoW 共識運算時,對顯示卡的需求特別高,因此2021年比特幣大漲的時期,全世界陷入了顯示卡大缺貨的問題。
#5 區塊鏈的 6 層模型架構
區塊鏈的系統其實非常複雜,為了簡化和更好地理解區塊鏈,我們將組成區塊鏈分解為 6 層。
- 資料層(包含各數據資料,是區塊鏈的最底層)
資料層包含了每個區塊的數據資料、資料時間戳記、引用交易的哈希(Hash)值、默克爾樹(Merkle Tree)等資訊的鏈式結構,是整個區塊鏈的最底層。 - 網路層(負責節點間通信)
網路層也稱為 P2P 層,是負責節點間通信的層,保持區塊鏈網路的有效狀態,也可以稱為傳播層。 網路層透過確保節點間能相互通信、傳播和資訊同步,並確保交易的驗證、分散式組網機制的執行和交易的發送。 - 共識層(區塊鏈達成一致狀態的共識機制)
區塊鏈系統中的共識層定義了在網路節點之間,區塊鏈達成一致狀態的共識機制演算法,PoW(Proof of Work)工作量證明機制就是其中一種共識方法,此機制決定了哪個節點有資格生成下一個區塊,資料附加到區塊鏈分散式帳本的方式、生成新區塊的頻率以及如何解決當節點具有多個不同分散式帳本的副本時可能發生的潛在衝突。 - 激勵層(獎勵維護區塊鏈的節點)
激勵層利用區塊鏈的加密貨幣建立激勵機制,將獎勵分配給參與維護區塊鏈帳本的礦工。參與驗證的礦工若取得紀錄新帳本的權力,就能獲得該區塊的加密貨幣做為激勵。 - 合約層(透過合約協定實現應用功能)
合約層包含了各種演算法和智能合約,讓約定事項能夠在生效後自動於區塊鏈中運作。倘若合約定義不明確或執行不力,就有可能會產生損失,因此必須確保合約的程式語言協定要可驗證、安全和可靠。 - 應用層(區塊鏈的跨領域應用)
應用層是區塊鏈開發跨行業、跨領域應用的解決方案,由最終用戶與區塊鏈網路交互應用組成。這些應用方案透過 API (應用程式介面)與區塊鏈網路連接來發送指令、驗證和執行。
#6 日常生活中區塊鏈的 3 大應用
透過上述內容我們瞭解了區塊鏈原理,但究竟日常生活中我們可以怎麼應用?以下 3 種就是常見的運用方式:
- 加密貨幣
加密貨幣現今熱度很高的比特幣等加密貨幣就是以區塊鏈原理產生的運用。不同於我們使用的實體貨幣,都是由銀行或政府所發行的。如果銀行被駭客入侵、銀行倒閉,存放在這間銀行的錢財就會面臨損失的風險;或是如果國家政府不穩定,貨幣的價值也有可能受到影響。加密貨幣在不需要中央機構的情況下運行,不僅降低了風險、消除了許多處理和交易費用,還可以為貨幣或金融基礎設施不穩定的國家/地區提供更穩定的貨幣。 - 租賃或銷售合約
將生活中的合約數據化記錄在區塊鏈中,一旦觸發約定條件,就會自動執行此合約的協議條款。若將智能合約應用在租賃房屋合約上,假設潛在房客想使用智能合約租賃公寓,雙方可以在智能合約上設立交易條件,並將各自的交易條件資訊發送到智能合約。- 房客:想以「保證金」作為條件。
- 房東:以「門禁密碼」作為條件,房客支付押金後立即提供公寓的門禁密碼給房客。而如果房東沒有在智能合約生效日提供門禁密碼,那麼智能合約將退還押金給房客。
透過智能合約不僅能保障雙方,也能消除交易過程中產生爭議所需的第三方調解員或律師等相關費用和流程。
- 財產資料紀錄
確保財產不被竄改、偽造一般來說,當我們發生財產糾紛,需透過政府等中心單位來核對財產。這些過程不僅成本高且耗時,而且還容易出現人為錯誤。若將土地、財產等資料儲存在區塊鏈中,財產所有權在區塊鏈上儲存和驗證,就能避免資料遭到偽造或竄改,特別是對於一些因長期戰爭沒有政府或金融基礎的國家或地區,透過區塊鏈來記錄財產資料,就不會發生因國家政權更迭而損失財產的情形。
#7 如何跨領域應用區塊鏈原理?
將區塊鏈原理應用最廣也最常見的是加密貨幣,但其實有許多產業、領域都能整合區塊鏈原理提升或創造出新的商業模式。
醫療領域利用區塊鏈原理,能安全地儲存就診者的醫療記錄。所有醫療記錄完成並簽名後,就可以寫入區塊鏈,使患者的醫療記錄無法被竄改,也能防止個人資料外洩及保險詐騙。若應用在農產品上,就能記錄農產品的生產履歷,溯源的資訊可信度也更高。消費者可以透過區塊鏈上的資訊,了解購買的農產品的生產過程是否安全。
未來任何領域都有機會透過應用區塊鏈,為人類生活帶來改變及影響。不論是從物聯網、資產、智慧財產權等認證系統,或是投票決策、智慧合約或共享經濟,區塊鏈將有機會更廣泛地大量運用並改造我們的生活。