Hardforks
不是所有接受價值並在 HF 之後部署的合約都極易受到重放攻擊嗎?
假設我部署了一個帶有接受一些值的簡單函式的合約,並將其部署到分叉鏈上。合約最終會到達一個不可預測的地址 U。然後人們開始向合約發送一些帶有 ETH 價值的交易,同時呼叫該函式。一切都好。
但是所有這些傳入的交易都是可重放的,並且可能實際上是重放的,在 ETC 鏈上(假設發送方地址上有 ETC 餘額,這可能在未來的任何時間發生,例如,某些第 3 方不小心在那裡發送資金) . 這裡的問題是,在 ETC 鏈上,地址 U 沒有合約(即使我在這條鏈上部署相同的合約,它最終也會在另一個地址上),所以地址 U 被視為外部控制賬戶,因此價值將被轉移並且不會呼叫任何函式(似乎交易中的數據欄位對於外部控制賬戶的交易被忽略)。因此,ETC 值進入了無效狀態,無法恢復。
這是真的還是我做錯了什麼?似乎這種情況經常發生。
我並不是說這會導致明顯的價值損失方式,但它可能是潛在的攻擊媒介,或者只是造成混亂。
答案是不。合約地址是確定性地創建的,例如。如果合約部署交易在另一條鏈上重放,合約將在兩條鏈上擁有相同的地址 U。