回覆列表
  • 1 # 江蘇鹽城嚴大姐

    比特幣如何防範“雙花”問題

    舉個例子來說。在礦工礦池的節點進行打包時,不會將兩個交易都打包。萬一不小心都打包了。即使找到隨機數。那其他節點也會驗證時,拒絕承認這個區塊打包成功。只有一個交易會從0確認到1確認。而有一個到1確認之後,另外一個就因不符合規則而失效了。 而假設我有1個比特幣,在兩臺機器上同時轉給a和b兩個人,這種情況是0確認雙花。0確認雙花一直都存在是系統原理,不是漏洞,不能也不需修復,因此呼籲位元應用,都要等待1確認,重要的交易甚至要等6確認,以避免孤立區塊的情況。判斷交易是否合理,不僅僅是礦池節點,任何一個核心節點都會進行。即查詢歷史區塊鏈,判斷交易的輸出是否不大於輸入。

  • 2 # 挖礦日記

    目前可知的零確認下主要存在三種雙重支付(雙花支付)的型別:快速的雙花,延遲的雙花和礦工輔助的雙花。

    快速的雙花

    快速雙花是指您向商家付款後很快又在幾秒鐘內嘗試將交易雙花。實現雙花的方式有很多,例如為交易設定非常低的費用或很高的費用,或者直接與礦工建立聯絡並給予礦工雙花。向商家顯示一項交易,但嘗試在網路傳播另一筆交易。

    使用雪崩協議(Avalanche),雙花可以在3秒左右的時間內解決,並且看起來雪崩有助於防止快速的雙花。如果詐騙者成功地使商家花了兩倍的錢,則最好的辦法是發出“檢測到詐騙”警報,並希望商家採取適當的行動。如果詐騙者嘗試花費雙倍但未成功,則雪崩協議(Avalanche)可以讓您選擇忽略警報。

    延遲的雙花

    不是直接進行雙花,而是等你購買完成以後。或許當你走出商店以後,你已經進行了雙花支付。由於礦工已經把交易資訊打包到區塊,這種情況下執行雙花是非常困難的。在網路中進行雙花支付的資訊傳播也是不容易的,節點會根據先見規則拒絕它。當然,這取決於節點設定,他們可以隨意忽略它們,這是共識前的主要論據之一。

    如果雪崩協議可以直接在每筆交易中執行,確實可以在一定程度上保證安全。如果僅僅是檢測到雙花時才執行,那麼使用者就不能確定他看到的交易是否已經被確認,直到騙子發起雙花支付。當然,還有其它的解決方案,例如,Storm提議中的弱塊或“增量塊”將足夠快(<1分鐘)以緩解這種情況。

    礦工輔助雙花

    礦工輔助雙花是最難以實現的,礦工不會把雙花支付資訊傳播到網路之中,而是私下保留雙花支付,並將其包含在塊中而不是原始支付中。騙子可能與礦工串通或者礦工可以設定“雙花即服務”。

    礦工輔助雙花成功的機率大小取決於礦工擁有的算力大小,礦工唯一的風險是被其它礦工孤立,挖出的塊成為孤塊。如果礦工透過多筆交易來完成,那麼成為孤塊的風險就會增加。這是由比特幣現金(BCH)共識機制決定的。Storm會極大地阻止礦工這樣做,因為薄弱的區塊得到了工作量證明的支援,並且使用了使比特幣首先發揮作用的激勵措施。

    假設雪崩協議允許孤塊的存在,礦工是不希望自己被孤立,挖出的塊成為孤塊。每筆交易都必須執行雪崩協議,否則我們不知道該塊中包含的交易是否應該孤立。

    在理論上,是不可能徹底的解決零確認存在的安全問題的,我們能做的就是儘可能提高其安全性。這就和比特幣永遠都會存在51%攻擊的風險是一樣。

  • 中秋節和大豐收的關聯?
  • In Flames的《in flames》 歌詞?