Web3智网 / 知識讀本 · 以太坊 · 2 分鐘閱讀
地址是一個識別方式,帳戶則包含餘額與狀態。看懂外部帳戶、合約帳戶及交易序號,可以避免把錢包介面、金鑰與鏈上資產混為一談。
運作原理
外部帳戶傳統上由私鑰簽署交易,合約帳戶則由部署的程式規則決定如何處理呼叫。兩者都能持有原生資產,也能在代幣合約的帳本中擁有餘額。錢包是協助使用者管理帳戶與簽署的軟體,刪除應用程式並不等於刪除鏈上帳戶。
交易序號稱為 nonce,用來區分同一帳戶發出的交易及安排執行次序。對一般外部帳戶交易而言,後面的序號不能跳過前面尚未執行的序號直接完成。因而一筆卡住的低序號交易,可能讓後續付款一起等待,形成看似全部失效的情況。
假設案例:把數字放回流程
假設小陳帳戶下一個可用序號為十二,先送出序號十二的低費率轉帳,再送出序號十三的高費率交易。後者不能只憑費率高就忽略前者。小陳若利用錢包支援的功能替換序號十二,應先核對新交易的收款人與內容;這個案例只展示排序機制,不保證替換後立即被收錄。
判讀與實務
同樣外觀的地址可能出現在多條相容網路,但每條網路的帳戶狀態與資產紀錄各自獨立。切換網路後看到零餘額,可能只是查詢了另一條鏈;然而把資產送進不支援的合約地址,則可能無法取回。地址一致並不免除網路與合約檢查。
帳戶功能也可能透過智慧帳戶或委派機制擴展,因此不能永遠以「此地址有沒有程式碼」判斷其所有行為。實務上應查明誰能發起操作、誰能改變簽署規則、是否有恢復權限,以及授權是否受期限與額度限制。控制權模型比介面上的名稱更重要。
若多台裝置或不同應用同時操作同一帳戶,序號管理容易互相衝突。保留待處理交易清單,逐筆核對已確認與待處理序號,通常比反覆按送出更能解決問題。任何要求提供私鑰來「修復序號」的客服流程,都沒有必要取得這種權限。
交易序號並不是私人密碼,不需要保密;但公開序號可以幫助查核交易歷史。它的用途是排序與防止重複執行,而不是代替簽章驗證。
操作前檢查清單
- 確認目前網路、原生費用資產與完整收款地址。
- 核對待處理交易序號,避免不同工具重複管理同一序列。
- 研究智慧帳戶的擁有者、恢復者與委派權限。
常見問題
知道地址就能花費資產嗎?
不能。地址可公開接收資產;發起有效操作還需要符合帳戶或合約的授權規則。公開資訊與控制秘密必須分清。
合約帳戶會自己定時執行嗎?
程式不會只因時間到了就憑空啟動。通常仍需交易或其他呼叫觸發,再由程式檢查時間與執行條件。
