交易確認
Confirmation
Last updated
Confirmation
Last updated
交易確認(英文:Transaction Confirmation)表示一筆交易已經過區塊鏈礦工驗證,登錄在區塊裡並被記錄在帳本之中,是交易完成的絕對信號。
如果一筆交易在鏈上或錢包裡顯示確認,基本上就已經沒有竄改的可能,除非發生雙花交易或帳本不同步,否則這筆交易已經永久記錄在鏈上了。
當「確認(Confirmation)」寫作「確認次數(Confirmations)」的時候,即是在說那筆交易完成後又有多少個區塊(帳本頁)被登錄上鏈。例如「這筆交易已經有一次確認(1 Confirmation)」代表這筆交易在區塊鏈上已經過礦工的確認並放在新的一頁/新的一個區塊上(見 區塊鏈),接著礦工會廣播這個更新結果,並等待下一個新的塊(可以想成帳本的下一頁/新的一頁)在後面接續掛上來。如果後面又有一個塊掛上,就表示剛剛那塊更加沒有問題了(因為並沒有礦工回報錯誤,而且還有新的塊被掛上去),此時原先的交易記錄就會變成「兩次確認(2 Confirmations)」。
越多次的確認,表示越安全;也就是那筆交易後面已經累積夠多新的資料,不可能被改動了。許多服務例如交易所,或是比特幣付款按鈕,都會認定當確認數達到 6 個及以上時,才算一筆交易「被確認(英文:Confirmed)」。這個 6 次是在中本聰的比特幣原始論文中提到的,他認為計算中顯示,如果一個區塊,後面已經接上六個新的被驗證塊(等於是這本帳本頁面後面已經又再新增了六頁),就應該已經完全無誤了,可以避免掉雙花的可能性。這也是為何有的服務你明明在區塊鏈瀏覽器已經看到 1 Confirmation 一次確認,但服務頁面卻還是顯示未確認,因為該服務要求更多次的確認,才算確認。
有的服務甚至要求要 25 或 30 次以上的確認才算確認喔。
「零確認交易階段(英文:Zero confirmation)」則是比較特殊的作法,亦即只要送出即確認。有的服務認為會攻擊或作弊的人很小、機率很低,損失也不大,希望能讓交易快一點顯示交易確認,讓使用者體驗好一些,此時該服務就可以設定為「零交易確認」這麼一來消費者就不必等待,只要一送上鏈顯示「Pending」也就代表帳本已經確切的記錄下,而且經過檢查,雙方交易前後的餘額都和帳本先前的紀錄一致,就算交易成功了。