位元幣中的雙重支付問題

2021-10-01 02:16:19 字數 577 閱讀 9991

**本質:**位元幣是基於utxo的交易模式,每次交易都只是檢查前一次交易的合法性。

例如b是乙個惡意節點,前一次交易(a—>b)是合法的,

現在b已經向c支付了一定量的金額了(這筆金額是從a—>b中取得),但是b還想用這筆金額向d再支付一次,d只是檢查了一下(交易a—>b)是合法的,就接受了。

以上的描述就是我理解的double spending attack(雙重支付)了。

解決

在位元幣中,規定使用工作量證明演算法的共識機制,

就是很多礦主進行工作量證明挖礦,挖到礦的礦主才有資格決定哪個交易可以上鏈,只有上鏈了,這筆交易才算完成。

所以一旦上面的(交易b—>c)上鏈了,那麼(交易b—>d)就不會上鏈了

(這裡進行解釋為什麼?第一,礦主也是要檢驗每筆交易合法性的,作為第三方的礦主只能認為其中一筆交易合法而了另一筆必然就不合法了。第二,其他挖礦節點不光驗證交易合法性,還驗證礦主寫的區塊裡的交易合法性,只有通過其他節點的驗證並選擇了某個挖礦節點,該節點才有資格成為礦主)

這樣就避免了double spending attack

這是我的理解,歡迎指正!

自己理解的位元幣雙重支付

用乙個位元幣多次支付。發給a的交易成為交易a放在未確認的交易池 傳送b的交易成為交易b放在未確認的交易池 a先寫入區塊鏈驗證有效,這時b就驗證無效 但如果兩個交易驗證,區塊鏈就會產生兩個分支,等待下乙個區塊在哪個分支上先出現,區塊鏈分支更長的那乙個就是確認的那個,另乙個分支就無效,當然如果再次兩個分...

位元幣的小額支付通道

關於位元幣的小額支付通道 micropayment channel 網上大多說的雲裡霧裡。自己查閱了一些英文文件,整理彙總下吧。應用場景 比如a為b工作,從b取得報酬。由於各種原因 比如不信任b 所以a要求每完成乙份工作就取得乙份報酬,而不是最後一起支付。而b認為支付太多次會付出過多手續費。這種情況...

位元幣 位元幣中的共識協議

在位元幣系統中,hash指標有兩個用途 指向前乙個區塊和指向某筆交易。位元幣支付過程中,每筆交易都必須包含輸入和輸出。在交易時,首先會從區塊中驗證交易輸入,驗證通過後才會執行交易輸出。這一步可以防止 雙花 攻擊。區塊鏈是乙個去中心化的分布式賬本,既然是分布式,那就需要網路中的各個節點對賬本資訊達成共...