全文
錢包顯示餘額,資產狀態由共同紀錄決定
比特幣不是在兩支手機之間搬動一個檔案。Bitcoin.org 的入門說明把帳本、簽章與挖礦串成支付流程:錢包提出交易,網路依共同規則判斷能否接受。這個差別解釋了為什麼刪除應用程式不會刪除公開交易紀錄,也解釋了為什麼只有一張顯示餘額的截圖不足以證明現在仍能支出。能否付款,取決於可花用的資產狀態與符合支出條件所需的控制能力。
一筆付款如何分成收款與找零
開發者文件以未花費交易輸出,也就是 UTXO,說明餘額的組成。假設錢包有一筆 100,000 聰的可用輸出,要付給對方 30,000 聰,並付出 1,000 聰手續費,便可產生 30,000 聰的收款輸出及 69,000 聰的找零輸出。數字純為教學,不代表目前費率。這有點像使用一張較大面額鈔票後收回找零,但找零仍是帳本中的新輸出,不是網路偷偷保留的一筆欠款。
簽章證明授權,不會替人核對交易目的
私鑰產生的數位簽章,讓其他參與者可以檢查支出是否符合授權條件,而不必取得私鑰。它不能代替使用者確認收款人。假設兩個地址在畫面上很相似,使用者卻選錯其中一個,數學上有效的簽章仍可能授權一筆不符合原意的付款。這說明正確授權與正確目的地是兩個檢查點。網路驗證規則無法知道螢幕外的口頭約定,也不會主動判定哪一家商店才是使用者原本想付款的對象。
廣播、收錄與後續確認是不同階段
交易送出後,還要等待被整理進有效區塊;其他節點會檢查該區塊是否符合規則。因此,錢包顯示已送出,只能描述流程中的一個階段,不能自動視為對方已取得足夠的付款確定性。以假設的商品交付為例,數位下載與高價實體貨物可能對等待時間有不同容忍度。確認要求是在延遲與風險之間作選擇,不能用一個放諸所有情境的秒數概括,也不應承諾固定時間必定完成。
共同規則讓驗證不必依賴付款者說法
這套流程的重要性,是收款方可以依據可驗證的紀錄判斷狀態,而不只相信付款者提供的訊息。仍需注意,地址、金額、費用與交易狀態描述不同事情。假設付款者傳來一個交易識別碼,對帳時還要確認裡面是否包含正確收款與數量;一筆存在的交易未必就是所等待的那筆付款。本站認為,把這些角色分清楚,比將整個流程簡化成挖礦產生貨幣,更能解釋日常轉帳為何需要多個確認步驟。
