加密貨幣

智能合約是否意味著“可更新”?是否由創建者來保護更新合約所需的任何終端或程式碼?

  • September 16, 2022

我正在考慮在乙太坊或 Solana 上創建智能合約,只是為了好玩。我在實踐中知道如何創建智能合約,但在這一點上我有一個兩難的選擇:

  • 一方面,通過更新智能合約來解決任何潛在問題是明智的
  • 另一方面,我最初用來創建智能合約的設置(或者密碼,因為我很確定它沒有綁定到特定的機器)很容易受到黑客或小偷的攻擊(不知何故)。

那麼它是什麼:智能合約是一成不變的,還是由創建者來保護他們更新合約的手段不被濫用?這通常是如何完成的?

智能合約是不可變的,這意味著一旦將它們部署到區塊鏈上,幾乎不可能更改它們。如果要更新合約,則必須編寫和部署另一個合約。這就是為什麼智能合約開發人員在部署到主網之前在測試網上測試他們的智能合約,遵循最佳實踐和安全設計,並檢查已知攻擊模式的程式碼如此重要的原因。

如果有人可以更改它,那將不是什麼契約,不是嗎?

為了允許更新,有時會使用代理合約。代理合約將其所有呼叫轉發到另一個合約,並且還允許所有者更改它轉發到的合約。因此,所有者可以部署新合約並將代理合約(不會更改)重定向到新合約。

您應該警惕這些,因為所有者可以拿錢逃跑。

其他時候,每個人都同意舊契約搞砸了,所以他們只是放棄它並使用新契約。

引用自:https://money.stackexchange.com/questions/152700