You need to enable JavaScript to run this app.
Bankless Academy

區塊鏈基礎

瞭解區塊鏈技術的基礎架構。
開始課程

引言

區塊鏈技術是一種革命性的資料儲存與追蹤方式,同時讓任何人都能檢視這些資料。它把資料整理成一份公開的歷史交易清單,人人可看,但誰都無法修改。這份公開的交易清單統稱為區塊鏈帳本

瞭解區塊鏈的各個層次之後,你就能讀懂區塊瀏覽器這個工具所展示的結構:區塊的列表、這些區塊裡的交易,以及每一筆交易的細節。想親眼看看,可以試試 Etherscan,這是以太坊上很常用的區塊瀏覽器。

區塊鏈的結構

「區塊鏈」既可以當名詞用(比特幣區塊鏈),也可以當形容詞用(區塊鏈技術)。無論哪種用法,區塊鏈指的都是加密貨幣賴以建立的整個結構。

從外往裡看,區塊鏈有 3 個層次:

  1. 整條區塊鏈由按順序連線在一起的區塊組成
  2. 區塊由一組組交易彙集而成
  3. 交易是網路上地址之間的價值轉移,或是發給程式的指令

這三層結構合在一起,構成一份密碼學帳本:網路上所有交易的、不可更改的歷史記錄。

知識檢測 1

什麼是區塊鏈?

  • [ ] 由交易整理而成的一組組區塊

  • [ ] 一份人人可看、誰都無法修改的共享記錄

  • [ ] 按順序連線在一起的區塊

  • [ ] 以上都對

細看帳本

在常見的貨幣體系裡,我們信任銀行這類第三方去記錄每個人有多少錢。但要真正做到 Bankless,我們想要一個不必信任某個實體來管理帳本的體系。

帳本是區塊鏈上有史以來所有交易的清單;對於公開區塊鏈,任何人都能檢視它。帳本里一批批相互獨立的交易組成區塊,區塊又共同組成區塊鏈。

新交易被記入帳本後,每個地址上的餘額隨之更新;過去的交易無法改動。這就像允許任何人隨時檢視所有人歷來的銀行帳戶交易記錄。

帳本上的交易

我們來看幾筆示例交易:

  • Alice 向 Bob 傳送 5 ETH
  • Bob 向 Charlie 傳送 2 ETH

單筆交易顯示的是每個地址上加密貨幣數量的變化,因此所有交易的累計結果,就是每個地址持有的加密貨幣數量。


⇒ Alice 減少了 5 ETH

⇒ Bob 淨增加了 3 ETH(收到 5,發出 2)

⇒ Charlie 增加了 2 ETH

知識檢測 2

關於公開區塊鏈的帳本,下面哪一項是正確的?

  • [ ] 所有交易都公開,過去的交易無法更改

  • [ ] 帳本記錄著每個地址當前持有多少加密貨幣

  • [ ] 帳本會隨著新交易的加入而增長

  • [ ] 以上都對

去中心化

寫進區塊鏈帳本的交易不僅無法更改,還會在一個龐大的計算機網路裡被共享和分發。為了確保沒有任何單一實體有權改動資料,區塊鏈帳本的副本被儲存在網路中的許多臺計算機上,這些計算機叫節點

正是這種資料共享,讓區塊鏈帳本變得去中心化。沒有任何單一權威或實體控制這些資料。像以太坊這樣的區塊鏈還是公開的,因為帳本人人可查。

這一課你只需要記住:帳本資料被共享在執行以太坊網路的眾多計算機上。

知識檢測 3

是什麼讓區塊鏈去中心化?

  • [ ] 只有一個實體可以向區塊鏈寫入資料

  • [ ] 它符合政府設定的去中心化要求

  • [ ] 沒有單一實體控制帳本,帳本存在許多計算機上

  • [ ] 帳本儲存在一臺安全的伺服器上

區塊的構造

區塊鏈有一個重要特性:交易資料一旦被寫進區塊,就無法再更改。原因在於每個區塊都有一個獨一無二的區塊雜湊,像指紋一樣,用來把區塊一個接一個地串起來。誰要改動過去的交易,就必須同時改掉那個指紋,以及它之後每一個區塊的指紋,因為每個指紋都依賴前一個。

所以每個區塊其實就是一組交易,加上一個由區塊內容算出的獨特指紋(它的區塊雜湊)。區塊之所以連成一條鏈,是因為每個區塊都引用了前一個區塊的獨特指紋,從而形成一條完整相連的區塊

知識檢測 4

區塊雜湊的用途是什麼?

  • [ ] 加密區塊資料,讓別人讀不到

  • [ ] 把區塊串聯起來,讓過去的交易資料無法更改

  • [ ] 確保交易被髮送到正確的地址

  • [ ] 確保區塊鏈保持去中心化

區塊內部

記住,區塊資料就是一組打包在一起的交易。深入單個區塊看,我們會看到一份交易清單,以及一些關於誰建立了這個區塊的資料。

回到前面討論區塊鏈帳本時的例子,那兩筆交易可能被歸進同一個區塊,也可能隨著時間被分散到多個區塊裡。但無論落在哪個區塊,它們最終都會被記入整個區塊鏈帳本。

  • Alice 向 Bob 傳送 5 ETH
  • Bob 向 Charlie 傳送 2 ETH

別忘了,每個區塊還必須引用上一個區塊的區塊雜湊,才能把區塊鏈連起來。

知識檢測 5

一個區塊裡包含哪些資訊?

  • [ ] 之前所有區塊裡包含的全部資訊

  • [ ] 與區塊鏈相關的一切,因為區塊大小沒有限制

  • [ ] 交易資料,以及對上一個區塊的引用

  • [ ] 固定時間段內產生的全部交易資料

單筆交易

任何區塊鏈上的資料,本質上都是一份交易清單,記錄著貨幣在使用者之間的轉移。每一筆交易都必須有傳送方的數位簽章才有效。

你在錢包裡確認交易時做的就是這件事:用你的數位簽章來授權一筆交易。可以把它想成在支票、收據或刷卡單上簽字的數位版。

交易可以很簡單,比如轉出加密資產;也可以更復雜,比如兌換加密資產,甚至部署一段被觸發時才執行的特殊程式碼,也就是智能合約

最後,每筆交易都有一個獨一無二的數位標識,叫交易雜湊,其他交易都不會與它相同。這讓人們日後可以方便地指認任何一筆交易,也確保這筆交易的細節事後無法被改動。

知識檢測 6

區塊鏈上的資料就是一份被打包進區塊的交易清單。這樣的交易例如:

  • [ ] 傳送或接收加密資產

  • [ ] 改變區塊的大小

  • [ ] 編輯過去的區塊鏈資料

  • [ ] 以上都對

使用者地址

地址是一個公開標識,任何人都能在區塊鏈上查到它。就像電子郵箱地址一樣,誰都可以往裡面轉帳,但只有掌握私鑰的人,才能解鎖並動用該地址上的資金。

在以太坊上,地址總是以 _0x__________ 開頭,由 42 位數字和字母組成,從該地址的公鑰推導而來。

在區塊瀏覽器裡檢視單筆交易時,我們能看到 From: 和 To: 兩個地址。這並不能告訴我們控制這些地址的是誰,但讓任何使用者都能追蹤加密貨幣在區塊鏈帳本中的流動。

知識檢測 7

關於區塊鏈地址,下面哪一項是正確的?

  • [ ] 它們是區塊鏈上不同主體的公開標識

  • [ ] 在以太坊上它們總是以 0x 開頭

  • [ ] 誰掌握私鑰,誰就能動用該地址上的資金

  • [ ] 以上都對