時間:2023-07-07|瀏覽:234
現(xiàn)在我們來說一說,什么是以太坊中的分叉攻擊,以及幽靈協(xié)議的設計是如何抵御分叉攻擊的。
那么什么是分叉攻擊呢?分叉就是鏈變成兩條,或者說賬本分成兩個,這意味著有人做了假賬,有些賬目被篡改,有些賬目則沒有被改動。舉個例子來說,假設你在網(wǎng)上發(fā)送了一筆消息,說你給張三轉了五塊錢。但是你想干壞事,你想要撤銷這筆轉賬,將錢取回。
于是你做了一個假賬本,并生成了一個區(qū)塊,區(qū)塊中的信息顯示你沒有進行這筆轉賬。這本來是非常困難的事情,但只要你擁有足夠大的計算力和足夠長的時間,通過一次又一次的嘗試,有可能一直搶到出塊的權力,從而成功篡改歷史。
實際上的情況是你已經(jīng)沒有這筆錢了,它已經(jīng)全部轉給了張三,但是你的賬目沒有這樣記錄,所以錢仍然存在你的賬戶上,你可以將其提取出來。這就是分叉攻擊。
上一次我們討論了幽靈協(xié)議,它是為了給分叉區(qū)塊提供一些好處,以便將分叉的區(qū)塊和鏈納入主鏈。然而,可能會有人問,分叉出來的區(qū)塊可能不只一個,后面可能還有其他區(qū)塊,從而形成了一個鏈,那么每個分叉出來的區(qū)塊是否都會得到獎勵呢?
答案是否定的,這樣的獎勵會帶來麻煩,為什么呢?想一想,如果你的鏈本來就不是主鏈,但是大家仍然繼續(xù)挖掘。而且如果挖掘還能得到獎勵,那么分叉攻擊的成本就太低了。
進行分叉攻擊的人可能會感到非常舒服,可以攻擊也可以守,如果繼續(xù)攻擊,只要挖掘出一條鏈,就可以篡改信息。如果無法挖掘出來,仍然可以獲得一定的補償獎勵。這種情況實在太爽了。
因此,為了防止分叉的發(fā)生,提高攻擊的成本,以太坊規(guī)定只對第一個分叉叔父區(qū)塊提供獎勵。
來源:扮豬不吃虎