雙重支付是什麼?
在貨幣逐漸數位化的時代,交易型態也逐漸使用數位的方式進行,而雙重支付就是以數位化的貨幣進行數次的交易問題,簡單來說就是同樣的錢可以付兩次或者是更多次!這樣的問題會影響數位金融交易的大麻煩,因為我們無法確定哪一筆交易才是正確的,哪一筆則是無效的。
傳統的雙重支付場景,金融市場怎麼做?
在交易的過程中我們透過被信任的第三方機構(銀行)幫忙驗證與確認帳戶中的餘額並確保每一筆的交易都有確實的更新,最明顯的例子就像是VISA,我們可以把整個流程區分為:
- 使用VISA卡進行支付
- 連線到銀行確認所屬的帳戶餘額
- 銀行從帳戶中扣押預計支付的金額
- 銀行驗證交易後再行扣除帳戶扣押的金額
未來的雙重支付場景,看看區塊鏈怎麼做?
假設今天 Carl 使用 Bitcoin 向 Bob 購買了一杯超商的咖啡,我們在進行雙重支付的過程中一定有一個交易事先被進行並且完成。
此時交易再還沒有被出塊被驗證前,帳戶中的錢仍然擁有付款錢的那顆比特幣,此時我們再利用同樣的錢去向 Alice 買了一包餅乾。
而這個故事中可以看到 Carl 針對同一個比特幣進行了兩次的交易,我們可以稱這個結點發起了雙重交易。由於區塊鏈中的共識機制(Consensus),有關共識機制的相關基礎知識將會有令一篇文章來介紹,而這時的網路機制只能接受第一筆交易的交易,第二筆交易將會被拒絕。但分散式的系統中的網路是多結點的連接因此可能會有一部份的人也接受了第二筆資料,區塊鏈將會進行臨時分叉,而最後只會有一個最長的鏈將會被留下來。
(小知識:比特幣區塊鏈中一筆交易的確認(Finality)需要等待六個區塊才能被確定)
下個部分,我們會介紹DAY6 公鑰私鑰原理與技術?,歡迎大家追蹤我們!
如果喜歡看更多與區塊鏈技術、應用、科技新知相關的內容,記得留下您的Email並追蹤我們的粉專,那麼新文章上線時,我們將在第一時間通知您,不用再擔心錯過最新消息。