Network
是否可以使用低探勘複雜度來刪除過去的某些交易?
我有一個困擾我很久的問題。它關係到區塊鏈應用的安全性和可靠性。
假設我想建構一個使用乙太坊或其他區塊鏈平台的應用程序。起初只有一台礦機,因此為了保持足夠的挖礦時間,區塊挖礦的複雜性不應該太高。我知道比特幣一個區塊的探勘時間大約是 10 分鐘。一段時間後,另一台礦機加入我的礦機,因此應自動調整復雜性。
假設我的應用程序負責房地產銷售,因此它應該非常可靠且使用安全。但是,如果一些黑客在交易被確認後決定作弊並從區塊鏈中刪除一些特定的銷售事實,添加到區塊鏈並且資金也已經轉移了怎麼辦。一旦他們的散列能力大於這兩台機器的散列能力,他們就可以通過重新計算他們感興趣的塊和隨後的塊的散列來做到這一點。做起來不會太難,因為複雜度還沒有太高。並且在他們建構了自己的區塊鏈版本之後,他們可以繼續支持它並探勘新的區塊,以使所有其他參與者都接受這個版本的區塊鏈。這是可能的,因為需要接受整個去中心化網路中最長的區塊鏈。為了保持最長的攻擊者只需要有足夠的雜湊能力,他們已經做到了。因此,買家沒有錢和他支付的房子。
此範例可以投影到任何類型的區塊鏈應用程序。
所以問題是——如何防範這種類型的攻擊?乙太坊有沒有辦法消除這種異常情況?如果是,我在哪裡可以讀到它?
這是所有公共區塊鏈最初啟動時的問題。當第一次發布創世塊時,網路上的雜湊算力通常很低,節點連接性也很低,因此叔叔/重組會不斷發生,直到雜湊算力很大。乙太坊/比特幣目前否定了這個問題,因為它需要如此大量的資金才能獲得一半的網路雜湊算力,這幾乎是不可能的,而且成本可能會高於他們在攻擊中獲得的收益。
乙太坊希望通過引入最終確定性來解決 Casper 的這個問題,這意味著客戶不會恢復最終確定的區塊(區塊由 2/3 的驗證者投票決定。)