什麼是區塊鏈?

Read me silly
May 30, 2021

--

區塊鏈(Blockchain)自2008年誕生;比特幣(Bitcoin)在2009年創造,在2016-17聲名大噪。而2021的今天,各種新興加密貨幣(cryptocurrency)之多讓人眼花撩亂,原始人如我今年(你沒看錯,就是今年)才開始接觸這個領域,想整理一下目前為止我對區塊鏈和加密貨幣的認識,給同樣還沒受到加密貨幣恩寵/荼毒的人類們(有嗎?),快速認識這個神奇的新世界。

文章目的:快速瞭解區塊鏈、虛擬貨幣的基本知識
適用對象:對區塊鏈和虛擬貨幣有點陌生,剛踏入虛擬宇宙的小夥伴

文章分三個Part:
Part 1 — 解釋區塊鏈技術的願景,遇到的難題,和基本機制
Part 2 — 簡單解釋比特幣的基礎機制和挖礦
Part 3 — 簡單解釋以太幣和比特幣的差別

Part 1:什麼是區塊鏈?

簡單來說,區塊鏈是一種去中心化的儲存資料技術,能在不需要特定機構維護,且不必信任特定機構或個人的前提下,在網路上儲存資料(可用作交易、合約等等)。以金融交易舉例,可以想像一個大家共用的記帳簿,每個人都能在上面記錄交易訊息,但這樣的帳簿會有許多問題:

  1. 交易資訊如果不存在銀行,要存在哪裡?
    現在大多數的交易紀錄(如金融卡提款、刷卡、轉帳等等)資訊都會經由你的卡片所屬銀行系統儲存管理,這是所謂的中心化金融(Centralized Finance)。但你這麼做的前提是因為信任這家銀行會保管好帳本、不會作假帳、或被駭客攻擊導致資料流失等問題。去中心化金融(DeFi = Decentralized Finance)的交易資訊會廣播給所有節點,分散存取至每個節點,達到了去中心化的目的,同時可以免去諸如中心化金融身分驗證、手續費等問題。
  2. 怎麼避免未經本人確認(假冒)的交易資訊被核可?
    就像簽約的時候會需要你的親筆簽名或私章一樣,能被系統認可的交易資訊也需要你的數位簽名。每個人都會有一個數位私鑰(Private Key = Secret Key = SK),SK+Message(交易資訊)就會產生一組獨特的數位簽名,同時每個節點都可以用公鑰(Public Key = PK)驗證這個訊息和數位簽名是否符合系統規範,以此避免偽造的交易資訊。
  3. 如何避免已上傳資料被竄改?
    首先要先瞭解區塊鏈,依字面上的意思,我們可以分成何謂"區塊"和何謂"鏈"來討論。區塊可以想像是一組包含特定內容的資訊堆,裡面包含上一個區塊的雜湊值Hash Value(可以視為一組特定亂碼,由上個區塊的資訊經函數轉換而成)、Message(例如交易資訊+數位簽名)、和一串特定數字(此特定數字的目的是要讓被函數轉換後的雜湊值符合特定系統要求,這個區塊才會被認可,非常難找XD)。區塊內的所有資訊會被函數轉換成下一個雜湊值,成為下一個區塊的內容,因為這樣的特性每個區塊的內容像被鏈子一樣串起來,所以稱為區塊鏈。(參考上圖)
    若駭客想要改變某一區塊的內容,勢必會影響它的雜湊值,而改變下一個區塊的內容和其雜湊值,然後再下一個…要找到這個區塊以後的所有區塊的特定數字非常難,以此保護了區塊的安全性。
  4. 作為節點,怎麼信任被廣播的資訊區塊是否為真?
    這要說到一個看起來很有歷史感的拜占庭將軍問題:若是一個團體中存在間諜,團體的好人要怎麼信任傳遞的資訊? 應用在區塊鏈上,即若是網路上有壞節點(駭客),其他節點要怎麼辨認被廣播的資訊是真是假?
    我們已經有區塊鏈的基本概念,這裡舉一個例子來幫大家理解:
    假設有一個偽造的區塊B被廣播並串在原有的鏈上(區塊A的後面),其他的善良節點想串上新的區塊C時會進行驗證,發現B是假的,因此它會把新的區塊放在真的區塊A後面,此時區塊A後的鏈就發生了分叉。駭客可能會繼續偽造新的區塊串在B的後面,而其他善良節點會在區塊C的後面繼續串上新的區塊。依據一個前提我們可以選擇只相信最長的鏈,這是因為我們認為駭客無法握有全世界一半以上的算力(別忘了要找到特定數字非常難,而有特定數字才能獲得認可並上鏈)。
    這也是說我們不必馬上相信一個剛被串上的區塊,但如果在那之後又有很多區塊串上,代表我們可以大可以放心,以上機制即和特幣的共識機制Proof of Work(PoW)有關,下一Part會詳細說明。

Part 2:什麼是比特幣(BTC=bitcoin)? 什麼是挖礦?

比特幣是一種加密貨幣(Cryptocurrency),也可以說是一種藉由密碼學保護、以分散式儲存為基礎的虛擬貨幣。所有使用比特幣的交易資訊會以區塊鏈的技術和模式儲存在區塊裡,同時存在每個節點中,形成了分散式共用帳本。

  1. 比特幣的特徵?
    法定貨幣如台幣或美金是由印鈔機產生,並由央行控制數量;比特幣則是隨著新區塊的誕生會給予算出新區塊者的獎勵而產生,並由最初的程式設計者限定了比特幣可產生的總量(2100萬個)。隨著在市面流通的比特幣數量增加,因新區塊產生獎勵的比特幣也會週期性的減半。因為總量的限制產生稀少性,有人認為比特幣因此具有保值性,可比為虛擬世界的黃金。
  2. 什麼是挖礦?
    還記得剛剛打包資訊成為區塊的時候需要一串特定數字嗎? 挖礦即是指藉由電腦運算(猜)出那個特定數字的過程,依比特幣的規範大約每十分鐘能找到一組符合規範的特定數字,而產生一個新區塊。挖礦的成本即是電腦的運算能力、時間、和電費,而收穫是交易的手續費和系統給的比特幣獎勵。因為會產生新的比特幣(而且很難Q_Q),所以有人把這個過程比喻為挖礦,挖礦的人也稱為礦工。
    全世界的礦工會負責不停地聆聽新廣播的交易資訊並打包,並盡快的算出特定數字,第一個算出的人才能獲得獎勵和交易手續費,但上傳的區塊沒有通過驗證則不會獲得獎勵(白繳電費了),也因此我們可以信任被廣播上鏈的區塊(而且越長越好),這樣的共識機制稱為Proof of Work(Work = 猜數字的工作)。
  3. 如何買賣比特幣或其他加密貨幣?
    現在網路上有各種加密貨幣交易所可以註冊,註冊後就能在上面購買加密貨幣或交易各式各樣的加密貨幣,詳細流程可以參考這篇

Part 3:以太幣和比特幣有什麼差別?

以太幣(ETH=Ether)是由以太坊(Ethereum)研發的一套區塊鏈技術使用方式。以太幣和比特幣相同的地方在於挖礦的方式,也同樣屬於加密貨幣的一種,但因為分屬不同平台,因此有些交易並不接受另一種幣別。ETH和BTC不同的地方有以下幾個:

  1. 以太幣沒有數量上限
  2. ETH 2.0 不是採取Proof of Work(PoW),而使以Proof of Stake(PoS)最為其共識機制。不像比特幣的開採過程要搶第一,在以太坊區塊鏈要產生新區塊的任務會指定給特定節點(礦工),要成為節點需要質押以太幣(有點成為挖礦會員要先壓押金),依據質押量的多寡會決定被指定的機率(押金越多被指派任務的機會越高)。PoS與PoW相比有幾個好處:
    第一,大家不會競爭同時運算一個區塊,減少能源的浪費;
    第二,相較於PoW,PoS更安全,更不可能發生51% attack(即是說掌握全世界一半以上的財富比掌握全世界一半以上的算力更難)(對我來說都很難啊啊…)。
  3. 以太坊除了提供以太幣的交易外,還有智慧合約、分散型app(Dapp)等等,為DeFi的世界規畫了一系列讓人不敢想像的神奇未來,而這部份我也還在努力的認識中,有空的話(?)再來跟大家分享。

今天就說到這,只能說虛擬宇宙的資訊量實在太大了,作為剛入門的小韭菜也是看得暈頭轉向。但DeFi(去中心化金融)的魅力和未來的趨勢還是讓人忍不住想繼續研究下去,如果你們對區塊鏈和加密貨幣的運作機制細節有興趣的話很推薦下面這部影片!

--

--

Read me silly
Read me silly

Written by Read me silly

A psychiatrist, but also attracted by behavioral economics and game theory.

No responses yet