用來管理加密貨幣的應用通常被稱為錢包,錢包地址類似於你的「銀行帳號」,可以公開給任何人用來接收轉帳,不同鏈上的錢包格式不同,如下
- 乙太坊區塊鏈錢包地址,0x 開頭:
0x32Be343B94f860124dC4fEe278FDCBD38C102D88
- Tron區塊鏈錢包地址,T 開頭:
TNSiV57C3zKD6bvmD7WSDsu92VZnjAdvjH
錢包分類
依錢包位置可分為
中心化錢包(Centralized Wallet)
- 由第三方(交易所或平台)代管私鑰與資產,用戶僅透過帳號密碼登入操作。私鑰不在用戶手上,平台擁有控制權。
- 例如:Binance、Coinbase、FTX 交易所內建錢包。
- 優點:操作簡單,適合新手。
- 缺點:資金受平台安全性影響,若平台被駭,資產可能受損(如 FTX 事件)。
去中心化錢包(Decentralized Wallet / Non-custodial Wallet)
- 用戶自行持有私鑰與資產的管理權,平台無法干預用戶資產。
- 例如:MetaMask、Trust Wallet、Phantom。
- 優點:資產完全掌握在自己手上,不受第三方限制。
- 缺點:私鑰或助記詞若遺失,資產無法找回;操作相對複雜。
去中心化錢包可分為2種:
熱錢包(Hot Wallet)
- 連線到網路的錢包,方便隨時進行交易與資產操作。
- 例如:MetaMask、Binance Wallet、Coinbase Wallet。
- 優點:即時交易便利性高。
- 缺點:因為長期連網,較易成為駭客攻擊目標,安全性較低。
冷錢包(Cold Wallet)
- 完全離線儲存私鑰的錢包,只有在簽名交易時才會短暫連線。
- 例如:Ledger Nano、Trezor 硬體錢包。
- 優點:安全性最高,不易受駭。
- 缺點:使用上較為不便,需額外裝置或步驟操作。
根據錢包的產生方式可以分為2種
確定性錢包(Deterministic Wallet / HD Wallet)
- 利用一組「種子(Seed Phrase / 助記詞)」即可生成所有私鑰與地址。這種方式是透過演算法從同一個種子推導出無限個地址。
- 只需要備份一次助記詞(通常12、18或24個單詞),就能隨時還原所有錢包地址與私鑰。
優缺點:
- 只需備份助記詞即可還原整個錢包。
- 易於管理大量地址。
- 大部分現代錢包(如 MetaMask、Ledger、Trezor)都是 HD 錢包。
非確定性錢包(Non-deterministic Wallet / Random Wallet)
- 每個私鑰都是「隨機獨立產生」的,無共同關聯性。每產生一個新地址,就會隨機生成一組新的私鑰。
- 備份方式是每一組私鑰都要單獨備份,否則遺失即無法找回該地址資產。
優缺點:
- 每個私鑰是獨立的,若一組私鑰洩漏,其他私鑰不受影響。
- 早期的錢包設計,多見於舊版 Bitcoin-Qt、Electrum(早期版本)。
- 備份與管理困難,生成一個新地址就要備份一次私鑰。
助記詞(Mnemonic Phrase)
- 在去中心化錢包中常會看到
- 如果忘記錢包密碼,只要你記住這些單詞,按照順序在錢包中輸入,就能恢復錢包並且進行任意操作
- 如果別人拿到了你的助記詞,就等於拿到了你的私鑰,就可以對你的資產進行掌控了。
- 助記詞是由錢包根種子(Seed)轉換而來的一組易於記憶的單詞(通常是 12 或 24 個英文字),可用來推導出錢包的主私鑰及其下所有衍生地址與子私鑰,符合 BIP32,BIP39,BIP44等規範。
- 範例:
toe little globe cousin miss wink thank vibrant arrive any clump hockey
轉帳流程
1. 發起交易請求
- 你在錢包輸入:
- 收款方地址
- 轉帳金額
- (有時會調整手續費 Gas Fee)
- 點擊「發送」或「確認」。
2. 錢包組合交易資料 (Transaction Data)
錢包會把這些資訊打包成一筆「待簽名的交易」,包含:
- 你的錢包地址(公鑰對應的地址)
- 目標地址
- 轉帳金額
- 手續費(Gas Fee)
- 其他區塊鏈需要的參數(例如 Nonce、鏈 ID)
3. 用私鑰進行數位簽名(本地完成)
- 錢包在本地裝置內部,用你的私鑰對交易資料進行簽名。
- 簽名過程只會產生一組數位簽章(Signature),私鑰本身不會離開裝置。
- 這個簽章是區塊鏈節點認證交易合法性的「憑證」,證明是你本人授權。
4. 廣播(Broadcast)簽名後的交易到區塊鏈網路
- 錢包將簽名後的交易資料傳送給區塊鏈節點(礦工 / 驗證者)。
- 節點會進行檢查:
- 簽名是否有效(透過公鑰驗證)
- 你的帳戶餘額是否足夠
- Nonce 是否正確(防止重播攻擊)
5. 交易打包進區塊(出塊)
- 節點將合法的交易打包進區塊,當區塊被鏈上其他節點確認(確認數足夠),交易就被視為完成。
- 這時候資產才正式從你的錢包地址轉到對方地址。
6. 錢包同步鏈上資料,顯示交易結果
- 你的錢包會去區塊鏈查詢交易狀態(例如區塊瀏覽器 API),一旦確認交易上鏈,就會顯示「交易成功」。
- 對方地址也會收到相對應的資產。
Nonce
Number used once
指的是「只使用一次的數字」,對於每個帳戶(Address),每筆交易都需要附上一個唯一的 Nonce 值,並且這個值必須是從 0 開始,依序遞增(不可以跳號)。
- 確保每筆交易唯一。
- 防止重放攻擊(Replay Attack)。
- 幫助區塊鏈維持交易順序。
上述指的是交易用的Nonce,使用POW鏈中的區塊也會出現Nonce,2個用途不同。另外POS鏈中的區塊不使用Nonce
Chain ID
鏈識別碼是用來識別不同區塊鏈網路的唯一編號。
- 每一條鏈(如 Ethereum mainnet、Ropsten 測試網、Polygon、BSC 等)都擁有一個唯一的 Chain ID。
- 在交易簽名中包含 Chain ID,可以防止交易在其他鏈上被重新播放。
- Chain ID 的概念定義在 EIP-15510
- EVM 相容鏈ID整理 https://chainlist.org/
Signature
從以太坊(Ethereum)和大多數 EVM 鏈的應用場景來看,常見的簽名方式可以大致分為三種:
Transaction Signature
- 用途:屬於交易簽名,用來簽署鏈上交易,例如轉帳、呼叫合約函數等。
- 格式:簽署的是一個 RLP 編碼後的交易資料(含 nonce、gas、to、value、data 等)。
- 執行後果:簽名後的交易可以被廣播到網路並寫入區塊鏈,實際會消耗 Gas。
- 用戶會看到的操作:轉帳 ETH、發送 ERC20、操作 NFT。
Sign Personal Message
- 用途:屬於訊息簽名,用來簽署「非格式化的純文字資料」。
- 格式:會自動加上前綴:”\x19Ethereum Signed Message:\n” + length + message,再進行雜湊與簽名。
- 常見用途:
- 用戶登入驗證(例如 “Login to DApp with this wallet”)
- 提供某些 off-chain 授權證明(例如「我同意某個聲明」)
- 執行後果:不會寫入區塊鏈,也不消耗 Gas。
- 特色:適合讓使用者簽「人類可讀」的字串,但無法被合約直接驗證。
Sign Typed Data (EIP-712)
- 用途:屬於訊息簽名,用來簽署「結構化資料」,通常是 JSON 對象。
- 格式:支援結構化資料與 domain separator,格式複雜但更安全、易於合約驗證。
- 常見用途:
- Meta-transactions(使用者簽名授權,Gas 由第三方代付)
- DEX 簽署訂單(如 0x Protocol, OpenSea)
- DAO 投票、DeFi 授權(如 Permit)
- 執行後果:本身不消耗 Gas,但產生的簽名可被合約驗證與執行後續操作。
小結:
類型 | 用途 | 是否進鏈 | 是否消耗 Gas | 特點 |
---|---|---|---|---|
Transaction Signature | 交易簽名:轉帳、合約互動 | Yes | Yes | 鏈上操作 |
Personal Message | 訊息簽名:登入、聲明 | No | No | 純字串簽名,簡單但無法合約驗證 |
Typed Data (EIP-712) | 訊息簽名:授權、Meta Tx、DEX訂單 | No | No | 結構化,可供合約驗證,安全性高 |
區塊鏈瀏覽器
區塊鏈瀏覽器是一種用來「查詢區塊鏈數據」的網站工具或平台,它讓用戶能夠直接查詢到區塊鏈上的公開資料,例如:
- 交易紀錄
- 錢包地址餘額
- 區塊資訊
- 智能合約內容
- 代幣流通狀況
- 網路狀態(Gas Fee、節點數量)
常見區塊鏈瀏覽器的官方網址:
Bitcoin 區塊鏈瀏覽器
- Blockchain.com Explorer: https://www.blockchain.com/explorer
- Blockstream Explorer: https://blockstream.info/
Ethereum 區塊鏈瀏覽器
- Etherscan: https://etherscan.io/
- Ethplorer: https://ethplorer.io/
Tron 區塊鏈瀏覽器
- Tronscan: https://tronscan.org/