Go-Ethereum
一個地址是否可以同時由智能合約和密鑰控制?
合約所在的地址是根據建構子參數(加上其他一些東西)計算的,並且可以隨機生成密鑰。有沒有勾結過?協議如何處理儲存在雙方控制的地址的值?
不久前我也有同樣的問題,答案在EIP-3607中。
乙太坊地址目前只有 160 位長。這意味著有可能使用估計的 2**80 計算操作在合約賬戶和外部擁有賬戶 (EOA) 之間創建衝突,這在現在考慮到大量預算(約 100 億美元)是可行的。此 EIP 中的修復可防止最壞的攻擊,其中部署了看起來安全的合約(例如令牌包裝器或 AMM 類型的合約)以吸引使用者資金,然後可以使用 EOA 密鑰將其用於同一地址。
我不知道關於這件事的任何先例,但也許其他人可能知道一個。所以是的,理論上是可能的.. 但是 EIP-3607 會從已部署程式碼的帳戶中驅逐 tx,因此,從技術上講,即使 EOA 擁有證明其身份的所有密鑰,也不允許 EOA 代表 CA 行事, CA 有優先權。
這個 EIP 已經實現,檢查可以在 go-ethereum 中找到。