市值: $2.1293T 1.44%
體積(24小時): $75.2309B -48.28%
恐懼與貪婪指數:

15 - 極度恐懼

  • 市值: $2.1293T 1.44%
  • 體積(24小時): $75.2309B -48.28%
  • 恐懼與貪婪指數:
  • 市值: $2.1293T 1.44%
加密
主題
加密植物
資訊
加密術
影片
頂級加密植物

選擇語言

選擇語言

選擇貨幣

加密
主題
加密植物
資訊
加密術
影片

什麼是 CREATE2 操作碼以及它如何啟用確定性合約地址?

CREATE2 enables predictable contract addresses in Ethereum, allowing off-chain systems to reference contracts before deployment.

2025/11/13 23:40

了解以太坊中的 CREATE2 操作碼

1. CREATE2操作碼是在君士坦丁堡升級期間通過EIP-1014引入以太坊的。它可以作為傳統 CREATE 操作碼的替代方案,傳統 CREATE 操作碼使用發送者的隨機數來部署智能合約,以確定生成的合約地址。與 CREATE 不同,CREATE2 允許開發人員在部署之前通過考慮除隨機數之外的特定輸入來計算合約的地址。

2. 在需要合約地址可預測性的場景中,該功能至關重要。例如,鏈下系統或第 2 層解決方案可能需要引用尚未部署的合約。通過啟用地址預計算,CREATE2 支持無需信任的交互並改善去中心化組件之間的協調。

3. CREATE2 生成的地址結構依賴於涉及四個元素的加密哈希:部署者的地址、用戶定義的鹽(32 字節值)、合約的字節碼(也稱為 init_code)以及該字節碼的 keccak256 哈希。由於這些輸入都不依賴於發送者的交易計數,因此相同的組合將始終產生相同的地址。

4. 該機制的一個顯著優點是能夠有條件地部署合約。僅當滿足某些條件時才能部署合約,但其未來地址仍然是提前已知的。這使得諸如反事實實例化之類的用例成為可能,其中應用程序甚至在合約上線之前就假設合約存在於已知位置。

確定性地址生成解釋

1. 確定性合約地址意味著給定相同的輸入集,輸出地址將始終相同。對於 CREATE2,使用的公式為keccak256(0xff + 地址 + salt + keccak256(init_code))[12:] 。前綴 0xff 確保名稱空間與通過 CREATE 創建的地址分離,從而降低衝突風險。

2. 鹽參數起著至關重要的作用。它由開發人員選擇,可以對有意義的數據進行編碼,例如用戶標識符、時間戳或特定於應用程序的密鑰。只要鹽和其他組件保持不變,從同一創建者地址重新部署相同的字節碼就會產生完全相同的目的地。

3. 由於地址取決於初始化代碼而不是運行時代碼的哈希值,因此構造函數參數或編譯字節碼的任何更改都會改變最終地址。這使得部署對編譯細節高度敏感,需要仔細的版本控制和可重現的構建。

4. 開發人員經常利用錢包工廠的確定性尋址,每個用戶都會獲得一個唯一派生的智能合約錢包。這些錢包可以預期在鏈外,甚至在部署發生之前就可以正確路由交易。

去中心化金融和二層系統中的應用

1. 在去中心化交易所和自動化做市商中,CREATE2 有助於創建具有可預測地址的礦池。這簡化了前端和機器人的集成,前端和機器人可以查詢池數據,而無需等待事件日誌或依賴註冊表。

2. 狀態通道和匯總等第 2 層擴展解決方案利用 CREATE2 進行反事實合約部署。通道中的參與者可以與虛擬合約實例進行交互,準確地知道它在鏈上實現後將駐留在哪裡。這減少了鏈上足跡,同時保留了安全保證。

3. 智能合約錢包,例如符合 ERC-4337(賬戶抽象)的錢包,依賴確定性地址來實現無縫的用戶體驗。用戶可以在未來的錢包地址存在之前將資金接收到該地址,因為資金交易的目標是預先計算的位置。

4. 另一個用例涉及可升級的代理模式,其中確定性地部署實施契約。儘管代理通常使用 CREATE,但將它們與基於 CREATE2 的工廠相結合可以增強跨部署的模塊化和可審核性。

常見問題解答

問:可以使用CREATE2在同一地址多次部署同一個合約嗎?

答:不可以。如果計算出的 CREATE2 地址已存在合約,則嘗試在那裡部署另一個合約將會失敗。 EVM 可以防止覆蓋現有代碼,確保地址被佔用後的不變性。

問:salt 值如何影響 CREATE2 部署中的安全性?

答:鹽一定要慎重選擇。可預測的鹽可能允許攻擊者在預期地址預先部署惡意合約。使用安全隨機性或唯一標識符可以減輕這種風險,特別是在未經許可的環境中。

問:就 Gas 而言,CREATE2 比 CREATE 貴嗎?

答:是的。由於計算確定性地址需要額外的哈希操作,CREATE2 通常會消耗更多的 Gas。確切的成本取決於 init_code 的大小和部署時的網絡狀況。

免責聲明:info@kdj.com

所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!

如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。

相關知識

在Bybit上進行BTC交易如何選擇線性永續合約和反向永續合約?

在Bybit上進行BTC交易如何選擇線性永續合約和反向永續合約?

2026-06-06 02:54:55

合約結算機制1. Bybit的線性永續合約以USDT結算,這意味著所有盈虧計算、保證金要求和清算門檻均以穩定幣單位計價。 2.反向永續合約以BTC本身結算,因此每筆交易都會直接影響交易者的BTC餘額-收益會增加BTC持有量,而損失會減少BTC持有量。 3. 反向合約的定價引擎使用 BTC/USDT ...

如何辨識避免停損、欺騙等期貨市場操弄行為?

如何辨識避免停損、欺騙等期貨市場操弄行為?

2026-06-07 14:20:10

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少了新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下次減少將達到 3.125 BTC...

如何在Bybit上設定風險管理規則來限制我的每日最大損失?

如何在Bybit上設定風險管理規則來限制我的每日最大損失?

2026-06-04 16:40:15

帳戶級損失限額配置1. 使用雙重認證透過網路或行動應用程式登入您的 Bybit 帳戶。 2. 導覽至「資產」部分,然後從左側選單中選擇「風險管理」。 3. 選擇「每日損失限制」並將該功能切換為「開」以啟動控制。 4. 輸入代表目前交易日 USDT 最大允許淨虧損的數值。 5. 使用您的電子郵件驗證碼...

如何在幣安上啟用投資組合保證金模式以降低我的保證金要求?

如何在幣安上啟用投資組合保證金模式以降低我的保證金要求?

2026-06-05 04:59:43

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少每個區塊新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下一次減少將使其達到 3.1...

如何將我的未平倉期貨部位從幣安遷移到Bybit而不平倉?

如何將我的未平倉期貨部位從幣安遷移到Bybit而不平倉?

2026-06-04 03:59:47

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少了新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下次減少將達到 3.125 BTC...

如何處理美國加密貨幣期貨交易利潤的稅務影響?

如何處理美國加密貨幣期貨交易利潤的稅務影響?

2026-05-29 18:19:59

Bitcoin 減半機制1. Bitcoin 的協議強制規定 2,100 萬枚代幣的固定供應上限,並透過區塊獎勵引入新單位。 2. 每 21 萬個區塊(大約每四年)區塊獎勵就會減少一半,這個過程稱為減半。 3. 最近一次減半發生在 2024 年 4 月,每個區塊的獎勵從 6.25 BTC 減少到3....

在Bybit上進行BTC交易如何選擇線性永續合約和反向永續合約?

在Bybit上進行BTC交易如何選擇線性永續合約和反向永續合約?

2026-06-06 02:54:55

合約結算機制1. Bybit的線性永續合約以USDT結算,這意味著所有盈虧計算、保證金要求和清算門檻均以穩定幣單位計價。 2.反向永續合約以BTC本身結算,因此每筆交易都會直接影響交易者的BTC餘額-收益會增加BTC持有量,而損失會減少BTC持有量。 3. 反向合約的定價引擎使用 BTC/USDT ...

如何辨識避免停損、欺騙等期貨市場操弄行為?

如何辨識避免停損、欺騙等期貨市場操弄行為?

2026-06-07 14:20:10

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少了新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下次減少將達到 3.125 BTC...

如何在Bybit上設定風險管理規則來限制我的每日最大損失?

如何在Bybit上設定風險管理規則來限制我的每日最大損失?

2026-06-04 16:40:15

帳戶級損失限額配置1. 使用雙重認證透過網路或行動應用程式登入您的 Bybit 帳戶。 2. 導覽至「資產」部分,然後從左側選單中選擇「風險管理」。 3. 選擇「每日損失限制」並將該功能切換為「開」以啟動控制。 4. 輸入代表目前交易日 USDT 最大允許淨虧損的數值。 5. 使用您的電子郵件驗證碼...

如何在幣安上啟用投資組合保證金模式以降低我的保證金要求?

如何在幣安上啟用投資組合保證金模式以降低我的保證金要求?

2026-06-05 04:59:43

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少每個區塊新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下一次減少將使其達到 3.1...

如何將我的未平倉期貨部位從幣安遷移到Bybit而不平倉?

如何將我的未平倉期貨部位從幣安遷移到Bybit而不平倉?

2026-06-04 03:59:47

Bitcoin 減半機制1. Bitcoin 的協議強制執行固定的發行時間表,其中大約每 210,000 個區塊,區塊獎勵就會減少一半。 2. 該事件大約每四年發生一次,直接減少了新進入流通的 BTC 數量。 3.截至2020年減半,礦工每區塊獲得6.25 BTC;下次減少將達到 3.125 BTC...

如何處理美國加密貨幣期貨交易利潤的稅務影響?

如何處理美國加密貨幣期貨交易利潤的稅務影響?

2026-05-29 18:19:59

Bitcoin 減半機制1. Bitcoin 的協議強制規定 2,100 萬枚代幣的固定供應上限,並透過區塊獎勵引入新單位。 2. 每 21 萬個區塊(大約每四年)區塊獎勵就會減少一半,這個過程稱為減半。 3. 最近一次減半發生在 2024 年 4 月,每個區塊的獎勵從 6.25 BTC 減少到3....

看所有文章

User not found or password invalid

Your input is correct