-
bitcoin $99097.524802 USD
-3.18% -
ethereum $3190.458287 USD
-7.51% -
tether $0.999648 USD
-0.03% -
xrp $2.309178 USD
-4.17% -
bnb $921.186688 USD
-3.96% -
solana $144.106489 USD
-6.12% -
usd-coin $0.999837 USD
-0.02% -
tron $0.291415 USD
-1.32% -
dogecoin $0.163935 USD
-4.54% -
cardano $0.526269 USD
-4.77% -
hyperliquid $37.814277 USD
-2.92% -
bitcoin-cash $509.826264 USD
-1.40% -
chainlink $14.448349 USD
-5.83% -
stellar $0.267630 USD
-4.87% -
unus-sed-leo $9.178879 USD
0.52%
如果區塊鍊是不可變的,智能合約如何更新?
Smart contracts can be upgraded without breaking blockchain immutability by using proxy patterns that redirect logic to new implementations while preserving data and address.
2025/11/09 21:20
了解不可變區塊鍊和智能合約更新的悖論
1. 區塊鏈技術建立在不變性原則之上,這意味著數據一旦寫入區塊鏈,就無法更改或刪除。這一特性確保了去中心化系統的透明度、安全性和信任。然而,智能合約(在區塊鏈上運行的自動執行程序)通常會隨著錯誤的發現或功能需要改進而不斷發展。不變性和更新需求之間的矛盾提出了獨特的挑戰。
2. 開發人員設計了架構模式和機制,允許在不破壞區塊鏈完整性的情況下升級智能合約邏輯。這些方法不會更改原始代碼,而是將執行重定向到新的實現,同時保留合約的狀態和地址。
3. 一種常見的方法涉及使用代理模式,其中代理合約保存狀態並充當接口,而實際邏輯駐留在單獨的、可升級的實現合約中。通過更改對實現的引用,開發人員可以有效地更新功能。
4. 另一種策略是合約遷移,即部署新版本的智能合約,並指示或激勵用戶將其資產和交互遷移到更新的合約。這種方法通過保持舊合約不變而將活動轉移到新合約來保持不變性。
5. 一些區塊鏈平台(例如以太坊)支持 ERC-1967 等標準,該標准定義了實施可升級合約的安全方法。這些標準有助於確保升級透明且可驗證,從而降低與惡意更改相關的風險。
代理模式:可升級合約背後的核心機制
1.最廣泛採用的更新智能合約的解決方案是代理模式。在此設置中,涉及兩個合約:代理合約和實施合約。代理存儲所有關鍵數據並通過 delegatecall 將函數調用轉發給實現。
2.當需要更新時,開發人員部署新的實現合約並更新代理中的指針以引用新地址。這允許邏輯改變,同時保持相同的合約地址和存儲的數據。
3. 代理模式有多種變體,包括透明代理、UUPS(通用可升級代理標準)和鑽石模式。每種方案在 Gas 成本、控制和復雜性方面都提供了不同的權衡。
4. 在透明代理中,指定的管理地址擁有升級實現的專有權利,而普通用戶與合約交互而不會注意到任何差異。這種分離有助於防止未經授權的升級。
5. UUPS 將升級邏輯移至實施本身,從而減小了代理的大小和成本。然而,這需要仔細審核,因為實施中的漏洞可能允許攻擊者劫持升級機制。
可升級智能合約的風險和注意事項
1. 可升級性帶來靈活性的同時,也帶來了中心化風險。如果單個實體控制了升級密鑰,他們就獲得了對合約行為的重大權力,可能會破壞去中心化。
2.惡意升級可能導致盜竊、資金凍結或功能意外改變。由於安全性較差的升級機制被利用,發生了一些備受矚目的事件,導致了巨大的經濟損失。
3. 透明度至關重要。用戶必須能夠驗證升級過程中進行了哪些更改。開源代碼、鏈上公告和社區治理有助於維護信任。
4. 一些項目使用多重簽名錢包或去中心化自治組織(DAO)來管理升級,在應用任何更改之前需要達成共識。這分散了控制權並符合去中心化原則。
5. 儘管有保障措施,升級機制的存在本質上會使合約變得更加複雜並增加其攻擊面。審計、正式驗證和限時升級是減輕這些風險的推薦做法。
常見問題解答
任何人都可以升級智能合約嗎?不可以,只有通過治理系統有權訪問升級密鑰或權限的實體才能發起升級。大多數係統限制這種能力以防止濫用。
可升級合約會破壞區塊鏈的不變性嗎?它們不會改變現有代碼。相反,它們將執行重定向到新代碼。原始合約在區塊鏈上保持不變,保持數據層面的不變性。
合約升級期間用戶資金會發生什麼變化?用戶資金和數據通常存儲在代理合約中,該合約仍然有效。只要存儲佈局兼容,升級後資金仍然安全且可訪問。
有沒有原生支持合約升級的區塊鏈?是的,EOS 和 Tezos 等一些平台提供了對可升級智能合約的原生支持,允許開發人員直接在協議層中構建更新機制。
免責聲明:info@kdj.com
所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!
如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。
- 加密貨幣大屠殺:在狂野的市場中應對拋售和清算
- 2025-11-14 16:50:01
- 穆罕默德·西拉傑 (Mohammed Siraj) 的第一個法術困境:一位印度隊友的批評
- 2025-11-14 14:40:02
- BTC、ETH 和山寨幣精選:探索加密貨幣格局
- 2025-11-14 14:50:01
- 拋硬幣故事:Temba Bavuma 的賭注以及印度與南非的對決
- 2025-11-14 12:50:01
- 舒布曼·吉爾 (Shubman Gill)、WTC 決賽和拋硬幣:紐約人的看法
- 2025-11-14 15:05:01
- Aerodrome 起飛:統一跨鏈以太坊 DeFi 流動性
- 2025-11-14 15:10:02
相關知識
區塊鍊和分佈式賬本技術(DLT)有什麼區別?
2025-11-14 20:59:45
了解區塊鍊和DLT的核心結構1. 區塊鍊是一種特定類型的分佈式賬本技術,它將數據組織成塊,然後使用加密哈希將這些塊鏈接在一起。每個塊包含一個交易列表、一個時間戳和對前一個塊的引用,形成一個不可變的序列。 2. 分佈式賬本技術(DLT)是一個更廣泛的術語,指的是數字數據跨多個位置或節點存儲而無需中央機...
區塊鏈如何處理數據存儲?
2025-11-14 16:40:27
了解區塊鏈數據結構1. 區塊鏈將數據存儲在連續的塊中,每個塊包含一個交易或記錄列表。這些塊使用加密哈希鏈接在一起,形成一條不可變的鏈。 2. 每個塊都包含對前一個塊的哈希值的引用,確保前一個塊中的任何更改都會使所有後續塊無效。這種設計確保了整個網絡的數據完整性。 3. 區塊鏈的去中心化特性意味著賬本...
投資區塊鏈項目有哪些風險?
2025-11-14 10:19:40
與加密貨幣市場波動相關的風險1. 由於投機、新聞周期或宏觀經濟因素,數字資產的價格可能在幾分鐘內發生巨大變化。如果投資者對這種波動沒有做好準備,他們可能會遭受重大損失。 2. 許多區塊鏈代幣與投資者情緒而非基本財務表現密切相關,這使得它們更容易受到拉高拋售計劃和 FOMO 驅動的交易的影響。 3. ...
區塊鏈在創建循環經濟中發揮什麼作用?
2025-11-15 02:19:57
提高供應鏈的透明度1. 區塊鏈技術提供了一個不可變的分類賬,記錄供應鏈上的每筆交易,確保數據無法追溯更改。這種透明度使利益相關者能夠驗證產品中使用的材料的來源和旅程。 2.企業可以使用區塊鏈來跟踪原材料從提取到處置的整個生命週期,從而更容易地識別資源利用效率低下和需要改進的領域。 3. 消費者可以獲...
區塊鏈技術如何應用於醫療健康領域?
2025-11-14 19:39:48
安全的患者數據管理1. 區塊鏈可以實現醫療記錄的去中心化存儲,確保患者保持對誰訪問其數據的控制。每筆涉及記錄訪問的事務都帶有時間戳且不可變,從而降低了未經授權更改的風險。 2. 醫療保健提供者可以在適當授權的情況下立即檢索患者病史,從而最大限度地減少治療延誤。 3. 區塊鍊網絡中內置的加密協議可保護...
區塊鏈如何影響投票系統的未來?
2025-11-14 22:00:23
通過區塊鏈增強數字投票的安全性1. 區塊鏈技術引入了加密哈希,確保每次投票一旦記錄就不可更改。這可以防止投票數據被篡改和未經授權的更改。 2. 區塊鏈的去中心化特性消除了單點故障,使惡意行為者更難破壞選舉系統。 3. 每筆交易或投票都帶有時間戳並鏈接到前一個區塊,從而創建透明且可審計的跟踪,而不會洩...
區塊鍊和分佈式賬本技術(DLT)有什麼區別?
2025-11-14 20:59:45
了解區塊鍊和DLT的核心結構1. 區塊鍊是一種特定類型的分佈式賬本技術,它將數據組織成塊,然後使用加密哈希將這些塊鏈接在一起。每個塊包含一個交易列表、一個時間戳和對前一個塊的引用,形成一個不可變的序列。 2. 分佈式賬本技術(DLT)是一個更廣泛的術語,指的是數字數據跨多個位置或節點存儲而無需中央機...
區塊鏈如何處理數據存儲?
2025-11-14 16:40:27
了解區塊鏈數據結構1. 區塊鏈將數據存儲在連續的塊中,每個塊包含一個交易或記錄列表。這些塊使用加密哈希鏈接在一起,形成一條不可變的鏈。 2. 每個塊都包含對前一個塊的哈希值的引用,確保前一個塊中的任何更改都會使所有後續塊無效。這種設計確保了整個網絡的數據完整性。 3. 區塊鏈的去中心化特性意味著賬本...
投資區塊鏈項目有哪些風險?
2025-11-14 10:19:40
與加密貨幣市場波動相關的風險1. 由於投機、新聞周期或宏觀經濟因素,數字資產的價格可能在幾分鐘內發生巨大變化。如果投資者對這種波動沒有做好準備,他們可能會遭受重大損失。 2. 許多區塊鏈代幣與投資者情緒而非基本財務表現密切相關,這使得它們更容易受到拉高拋售計劃和 FOMO 驅動的交易的影響。 3. ...
區塊鏈在創建循環經濟中發揮什麼作用?
2025-11-15 02:19:57
提高供應鏈的透明度1. 區塊鏈技術提供了一個不可變的分類賬,記錄供應鏈上的每筆交易,確保數據無法追溯更改。這種透明度使利益相關者能夠驗證產品中使用的材料的來源和旅程。 2.企業可以使用區塊鏈來跟踪原材料從提取到處置的整個生命週期,從而更容易地識別資源利用效率低下和需要改進的領域。 3. 消費者可以獲...
區塊鏈技術如何應用於醫療健康領域?
2025-11-14 19:39:48
安全的患者數據管理1. 區塊鏈可以實現醫療記錄的去中心化存儲,確保患者保持對誰訪問其數據的控制。每筆涉及記錄訪問的事務都帶有時間戳且不可變,從而降低了未經授權更改的風險。 2. 醫療保健提供者可以在適當授權的情況下立即檢索患者病史,從而最大限度地減少治療延誤。 3. 區塊鍊網絡中內置的加密協議可保護...
區塊鏈如何影響投票系統的未來?
2025-11-14 22:00:23
通過區塊鏈增強數字投票的安全性1. 區塊鏈技術引入了加密哈希,確保每次投票一旦記錄就不可更改。這可以防止投票數據被篡改和未經授權的更改。 2. 區塊鏈的去中心化特性消除了單點故障,使惡意行為者更難破壞選舉系統。 3. 每筆交易或投票都帶有時間戳並鏈接到前一個區塊,從而創建透明且可審計的跟踪,而不會洩...
看所有文章














