← 回到 DEVCON 8

ENSv2 如何保留舊名稱,並降低遷移與交易風險

Designing for Irreversibility: Lessons from Shipping ENSv2

場次摘要

Makoto 與 workemon.eth 回顧以太坊名稱服務(ENS)第二版的重建與上線。早期高昂的交易手續費促使團隊研究第二層網路,但名稱服務對狀態確認速度與抗審查能力另有要求。Makoto 表示,第一層網路費用下降,加上名稱交易頻率低,使團隊最後選擇留在第一層,並重新設計子名稱的所有權與權限。 遷移由使用者自願發起,舊版名稱仍可解析與續期,但切換期間曾暫停續期。團隊先在新版保留既有名稱,再持續同步異動,避免他人搶先註冊。新版會在權限變動時更換代幣識別碼,使原掛單不再對應變更後的代幣,另提供可選擇繞過安全預設的轉移方式。核心合約部署後難以修復,因此團隊進行多輪稽核與測試;上線當天仍發現約 250 個名稱漏列,凸顯資料交叉核對的重要性。

值得記下的 5 件事

  1. [6:20]
    留在第一層不只是手續費考量 Makoto 表示,團隊採用的跨鏈讀取方式需要快速取得可驗證的狀態;若必須等待樂觀式第二層網路的確認期,名稱更新便無法即時透過儲存證明在第一層查詢

    他也指出,抗審查要求、第一層費用下降,以及名稱交易頻率低,共同影響了部署選擇。

  2. [9:40]
    自願遷移需要先保留既有名稱 workemon.eth 表示,使用者不必強制升級,舊版名稱仍能解析與持續續期,但切換控制合約期間曾暫停續期

    團隊先在新版保留有效名稱,再同步新增與續期紀錄;尚未遷移的名稱,則轉回舊版查詢。

  3. [13:00]
    權限變動會更新代幣識別碼 workemon.eth 說明,授予或撤銷名稱權限時,原代幣會銷毀,再以不同識別碼重新發給同一持有人,使原掛單不再對應變更後的代幣

    這是降低交易風險的機制之一;新版也提供可選擇繞過安全預設的轉移方式,不能視為所有交易都受到相同保障。

  4. [10:40]
    難以修復的核心合約需要事前驗證 workemon.eth 表示,智慧合約沒有後門,彼此的參照也不可變更,因此危險缺陷在部署後可能難以補救,或須付出高昂代價

    團隊進行多輪稽核、公開稽核競賽,以及複製主網狀態的模擬測試;測試階段也曾因缺少角色設定而重新部署根註冊表。

  5. [18:40]
    名稱清單不能只靠單一資料來源 workemon.eth 透露,上線當天發現約 250 個名稱未納入預先遷移,原因是一個提供鏈上資料的服務(RPC)漏報事件

    Makoto 補充,這類遺漏屬於作業風險,不是只檢查智慧合約就能發現;團隊透過多個資料來源交叉核對,才偵測到問題。

下載摘要 下載 Word 摘要(.docx)

更多來自 DEVCON 8

訂閱