[course] 不可錯過的時代趨勢:從自學區塊鏈到專家!
此篇為課程 不可錯過的時代趨勢:從自學區塊鏈到專家! 之筆記整理,非原創內容,資料來源可見下方連結與文後參考資料。
基本名詞與知識
幣
區塊鏈上的幣可以分成 Coin 和 Token:
- Coin 指的是改區塊鏈上的原生貨幣,像是比特幣或以太幣
- 一個 區塊鏈只會有一種原生貨幣,又稱做同質化代幣(Fungible Token)
- 除了直接拿來交易外,也可以用來支付區塊鏈上的服務,例如執行智能合約需要支付以太幣
- Token 則是開發者在區塊鏈上創造的貨幣
- 一個區塊鏈上可以有多個不同的 Token,例如非同質化代幣 NFT(Non-Fungible Token)就是一種 Token
- 可以使用智能合約來創造 Token
- 除了可以用來支付外,也可以由開發者自訂附加功能
區塊(Block)
在區塊中會紀錄交易資訊,其中區塊內會包含:
- 上一個區塊的哈希值(Prev_Hash):目的是確保上一個區塊的資料沒有被竄改
- 當下時間(Timestamp):記錄區塊被確認的時間,並可用來作為各區塊間的排序
- 數筆交易資料(Tx_Root)
- 隨機數(Nonce):由礦工產生的隨機數,可用來確保區塊內的資料並沒有被竄改
提示
區塊的概念很像是 Linked List 這種資料結構 中的 Node。
// 範例:一個區塊的資料結構
{
"size": 43560,
"version": 2,
"previousblockhash": "00000000000000027e7ba6fe7bad39faf3b5a83daed765f05f7d1b71a1632249",
"merkleroot": "5e049f4030e0ab2debb92378f53c0a6e09548aea083f3ab25e1d94ea1155e29d",
"time": 1388185038,
"difficulty": 1180923195.25802612,
"nonce": 4215469401,
"tx": [
"257e7497fb8bc68421eb2c7b699dbab234831600e7352f0d9e6522c7cf3f6c77",
//... many more transactions omitted ...
"05cfd38f6ae6aa83674cc99e4d75a1458c165b7ab84725eda41d018a09176634"
]
}
區塊鏈(Blockchain)
將多個區塊以線型的方式連接成一個鏈,即稱作區塊鏈。可以進一步參考 Blockchain Demo 這個網站。
資訊
區塊鏈簡單來說就是記錄交易的去中心化帳本(distributed ledger)。
地址
在區塊鏈中使用的是非對稱加密,因此會有一組獨特的公鑰和私鑰:
- 使用公鑰來產生「地址」,地址也就是在區塊鏈上的身分
- 「地址」 + 「私鑰」 = 「錢包」
資訊
在非對稱加密中,我們將機密的內容使用公鑰加密、私鑰解密。公鑰可以給任何人,但私鑰是解密用的,因為不能外流。
冷錢包與熱錢包
冷錢包:
- 不能與公開網路接觸
- 可能可以另外上鎖
- 壞處是使用上不方便,且一旦遺失就再也找不回來
熱錢包:
- 與網路連接,使用上方便
- 壞處是可能受到攻擊
節點(Node):區塊鏈的參與者
-
比特幣是一個點對點的網路(Peer-To-Peer, P2P)
-
節點的數量決定該區塊鏈的去中心化程度
-
節點可以分成
節點種類 錢包 完整區塊鏈 挖礦工具 網絡工具 備註 範本節點(Reference Client) V V V V 包含節點的所有功能 全節點(Full Node) V V 願意無償提供服務 輕節點(Lightweight SPV Wallet) V V 使用服務,但僅願意付出較少,例如,錢包 礦工節點(Mining Nodes) 含部分區塊鏈 V V 參與的目的是為了賺錢,目的就是挖礦(認證每一筆收到的交易,產生區塊後發布,以獲得獎勵) - 錢包:讓節點可以持有與轉送貨幣
- 完整區塊鏈:可以查詢所有區塊鏈發生的事
- 挖礦工具:當有交易出現時,可以進行挖礦來產生新的區塊,以維護網絡的安全性