Contract-Debugging

被利用的智能合約是如何修復的

  • April 19, 2021

我們已經看到發生了許多 defi 黑客攻擊,我不明白的一件事是,鑑於智能合約是不可變的,合約中的錯誤是如何修復的。它是否與委託呼叫或介面有關。請提供詳細的答案。例如 furocombo hack、Cream Finance 閃貸黑客等

這取決於契約的執行方式。有兩種主要變體:

  1. 一個或多個相互互動的合約
  2. 一份代理合約,將呼叫委託給其他合約

使用第一個選項,您只能以某種方式部署新合約並將使用者遷移到這些合約。這通常不是一種有趣的方法,但通常是唯一可能的方法。

使用第二個選項,您可以很容易地升級一些基礎合約。這是通過部署新合約並告訴代理合約使用新合約切換來實現的。在那之後,完全相同的合約呼叫仍然有效,但有一個新合約在執行邏輯。是的,這與委託呼叫有關。

引用自:https://ethereum.stackexchange.com/questions/97472