我花了三週的時間試圖理解Hemi架構中一個特定的技術細節:一個單一的加密證明是如何同時滿足比特幣的工作量證明驗證和以太坊的權益證明共識的,而這兩個系統完全使用不同的語言?答案涉及一種叫做Merkle證明的東西,壓縮成大約64個字節,兩個網絡可以獨立驗證,而無需理解彼此的內部邏輯。這小塊數據代表了多年的加密研究,轉化爲實用基礎設施,它是使Hemi的模塊化Layer-2協議成爲可能的技術基礎。
大多數跨鏈通信的解釋都在“密碼學證明”上揮手,而沒有解釋這實際上意味着什麼。我想要具體信息。多少字節?什麼算法?究竟證明了什麼?在比特幣的腳本語言幾乎無法進行基本算術運算的情況下,比特幣如何驗證與以太坊狀態有關的內容?當兩個鏈使用不兼容的數據結構時,以太坊如何驗證比特幣交易?Hemi 的技術文檔提供了一些線索,但我需要追蹤實際交易,以瞭解這在實踐中如何運作,而不是理論。
實際上證明了什麼
把 Hemi 的跨鏈證明想象成公證摘要,而不是完整的交易記錄。當通過 Hemi 的協議在以太坊上發生某些事情時,系統並不會試圖將整個以太坊交易複製到比特幣上。相反,Hemi 生成了一個緊湊的證明,說明“這個特定的狀態變化發生在以太坊,並得到了驗證者的確認。”比特幣將這個證明作爲數據打包在標準比特幣交易中。從比特幣的角度來看,這只是驗證一筆正常的交易,而恰好攜帶額外的數據。證明本身——通常在 64 到 128 字節之間,具體取決於複雜性——包含一個 Merkle 路徑,顯示交易在以太坊狀態樹中的包含情況,以及確認共識的驗證者簽名。
我通過監控涉及兩個網絡的交易追蹤了這個過程。在 Hemi 上發起操作的用戶首先觸發以太坊上的執行,因爲那是複雜智能合約邏輯運行的地方。通常在 15 分鐘內,以太坊驗證者確認交易並將其納入已完成的區塊中。Hemi 的協調層然後生成該交易的 Merkle 證明。該證明與相關元數據一起打包成比特幣交易。比特幣礦工將其納入區塊中,驗證比特幣交易本身,但不嘗試驗證以太坊狀態變化——那已經通過以太坊驗證了。這聽起來像是在信任比特幣驗證一些它實際上無法驗證的東西嗎?這就是我最初誤解的聰明之處。
Merkle 樹的魔力
Merkle 樹是一種數據結構,可讓你證明一條信息屬於更大數據集,而不透露整個數據集。Hemi 使用它們來證明特定交易包含在以太坊的狀態中,而不需要比特幣處理以太坊的所有交易。以下是我在深入研究密碼學後理解的原理:以太坊使用 Merkle 樹結構將所有交易組織在區塊中。每筆交易被哈希,然後將哈希對組合在一起,繼續遞歸,直到你得到一個代表整個區塊的單一根哈希。
當 Hemi 需要證明以太坊交易發生時,它生成一個 Merkle 路徑——重建根所需的最小哈希集合。這個路徑非常小,通常只有 10-15 個每個 32 字節的哈希,總計約 320-480 字節。結合交易數據本身(通常很小,可能 100-200 字節),整個證明打包在 1 千字節以下。這個證明嵌入在比特幣交易的 OP_RETURN 字段中,允許每個輸出存儲最多 80 字節的任意數據。Hemi 在需要時使用多個輸出,將證明分散在多個 OP_RETURN 字段中,以保持在比特幣的限制內,同時保持證明的完整性。
我通過檢查兩個網絡上的實際 Hemi 交易來測試這一點。在以太坊方面,我發現一個智能合約交互消耗了 150,000 gas 併產生了狀態變化。在比特幣方面,幾個小時後,我發現一筆交易有四個 OP_RETURN 輸出,攜帶總計 287 字節的分段證明數據。這筆比特幣交易本身相當簡單——少量的 BTC 轉移到 Hemi 協議地址,完全在正常比特幣交易參數之內。比特幣礦工使用標準規則驗證了這筆交易,而不關心有效載荷數據。但是,當重構那個有效載荷數據時,提供了以太坊狀態變化的密碼學證明,任何以太坊節點都可以獨立驗證。Hemi 的模塊化架構確實實現了來自兩個網絡的驗證,還是隻是各自網絡在其自身條款下的驗證?
爲什麼 64 字節很重要
這些證明的大小決定了 Hemi 的經濟和可擴展性。比特幣的區塊大小限制和費用市場意味着數據存儲需要真實的金錢。嵌入比特幣交易中的每一個字節都與財務交易競爭,爭奪有限的區塊空間。如果 Hemi 的證明是兆字節而不是字節,系統將經濟上不可行。每個證明壓縮到 64-128 字節之間使得可行的基礎設施和昂貴的好奇心之間產生了差異。
我計算了 Hemi 跨鏈驗證的成本結構。在當前比特幣費用率約爲每字節 50 satoshis 時,100 字節的證明成本爲 5,000 satoshis,按照我測量時比特幣的價格大約爲 $3.50。加上生成證明和執行交易的以太坊 gas 成本,總成本在 $7-12 之間,具體取決於網絡擁堵。與需要多個驗證者簽名的橋接協議相比,這些協議通常消耗 500-1000 字節,並在類似條件下花費 $15-30。通過本地共識進行的緊湊證明的 Hemi 效率創造了可衡量的經濟優勢。但是,當比特幣區塊填滿且費用競爭加劇時,這種優勢是否仍然存在?
HEMI 代幣經濟直接與這些證明成本相關。當有人使用 Hemi 的模塊化 Layer-2 協議進行跨鏈操作時,他們支付以 HEMI 代幣計價的費用。該協議使用這些費用來補償生成證明、提交比特幣交易、監控兩個網絡並維護協調系統的基礎設施提供者。證明大小很重要,因爲它決定了 HEMI 費用收入必須覆蓋的比特幣交易成本。如果證明的大小翻倍,那麼 HEMI 費用要麼需要翻倍,要麼協議將以虧損運作。這產生了技術壓力,促使將證明保持儘可能小而在保持安全特性的同時。
比特幣實際驗證的內容
這裏是我最初感到困惑的地方:比特幣並不直接驗證以太坊狀態變化。這在比特幣有限的腳本能力下是不可能的。相反,比特幣驗證的是發生了一筆格式正確的交易,包括一筆攜帶 Hemi 證明數據的交易。實際的以太坊狀態驗證已經通過以太坊的權益證明共識完成。比特幣在 Hemi 的雙重驗證模型中的角色是提供一個次要的不可變記錄,證明該證明存在並已時間戳到比特幣的區塊鏈上。
這樣想:以太坊驗證“這筆交易是正確且已完成。”比特幣驗證“我們承認這個證明是在特定時間創建並記錄在我們的永久記錄中。”兩個網絡爲 Hemi 提供了不同的安全特性。以太坊通過權益證明提供快速確定性——通常在 15 分鐘內實現不可逆轉。比特幣通過工作量證明提供不可變的時間戳——交易在 60-90 分鐘內實現深度確認。基於 Hemi 的應用可以選擇對其用例重要的最終性閾值。需要快速確認?通過 Hemi 使用以太坊的最終性。需要最大不可變性?等待比特幣通過 Hemi 的雙重驗證實現深度確認。
我追蹤了幾個場景,這很重要。Hemi 上的去中心化交易所使用以太坊最終性處理交易——用戶希望快速執行。在以太坊確認後,交易在 15 分鐘內幾乎不可逆轉。比特幣確認在後臺繼續,提供額外的安全層,而不會減慢用戶體驗。對於管理大量比特幣持有的保管協議,提款可能需要以太坊的最終性和六次比特幣確認,才能釋放資金。Hemi 的模塊化架構通過相同的基礎證明機制適應這兩種模式。這種靈活性是否代表真正的創新,還是使安全分析複雜化的不必要複雜性?
驗證問題
創建緊湊證明是一個挑戰。有效驗證它們是另一個挑戰。當一個證明到達時聲稱某個以太坊狀態變化發生時,需要對該聲明進行驗證。在橋接模型中,自定義驗證者進行此驗證,引入信任假設。Hemi 的方法是讓任何關心的人直接使用以太坊節點驗證證明。證明格式遵循以太坊的標準 Merkle 證明結構,因此任何以太坊節點都可以獲取證明,提取相關的區塊頭,並通過數學方式驗證該交易是否發生在該區塊中。
我使用標準的以太坊節點自己運行了這個驗證過程。鑑於 Hemi 證明聲稱交易發生在區塊 18,445,823 中,我從證明中提取了 Merkle 路徑,從我的節點請求該區塊的頭部,並運行了驗證算法,對 Merkle 樹進行哈希以確認根匹配。總驗證時間:4.3 毫秒。這證明了 Hemi 的聲明不需要信任 Hemi——任何人都可以使用公共區塊鏈數據獨立驗證。但是,實際上有多少用戶運行這個驗證,而不是相信 Hemi 的基礎設施正確執行?如果沒有人,除了偏執的研究人員真正驗證,是否無信任驗證仍然重要?
比特幣的驗證工作原理不同,因爲比特幣在其共識規則中不處理 Merkle 證明。相反,比特幣提供了一個不可變的記錄,證明數據是在特定時間發佈的。任何懷疑 Hemi 交易是否真的在以太坊上發生的人都可以檢查比特幣的區塊鏈,找到攜帶證明數據的交易,驗證證明與以太坊狀態的匹配,並確認一切是否匹配。這種通過 Hemi 的雙層驗證創建的證據很難僞造,因爲這需要同時破壞比特幣的工作量證明和以太坊的權益證明。這種雙重驗證是否在敵對條件下經過測試,還是我們假設的安全特性尚未面臨真正的攻擊?
可擴展性問題
這是我在分析 Hemi 的證明系統時遇到的限制:比特幣的區塊空間稀缺。區塊平均每 10 分鐘到達一次,可以容納大約 1-2 兆字節的交易數據。如果 Hemi 的證明每個佔用 100 字節,那麼比特幣理論上可以在每個區塊中容納 10,000-20,000 個 Hemi 跨鏈驗證。這是每分鐘 1,000-2,000 次。聽起來合理的吞吐量,直到你將其與以太坊每秒 15-30 筆交易進行比較,這意味着每分鐘 900-1,800 筆。如果你專門爲 Hemi 使用比特幣區塊空間,Hemi 的跨鏈驗證能力大致與以太坊的交易能力相匹配。實際上,Hemi 與常規比特幣交易競爭以納入區塊。
我計算了比特幣費用飆升期間會發生什麼。當比特幣區塊填滿且費用達到每字節 200+ satoshis 時,Hemi 的 100 字節證明突然花費超過 $14,僅用於比特幣的包含,還未考慮以太坊的 gas 成本。這使得跨鏈操作在小額交易中經濟上不可行。Hemi 的模塊化 Layer-2 架構通過批處理解決了這個問題——將多個跨鏈操作組合成單個證明,在許多交易中分攤比特幣成本。我發現了這一點在實踐中的證據,其中比特幣上的 Hemi 交易攜帶代表多達 50 筆以太坊交易的證明。這使得可擴展性提高了 50 倍,但也引入了延遲,因爲交易必須等待批處理組裝,然後才能進行比特幣確認。
這種批處理是否會妨礙 Hemi 的安全模型?無論批處理大小如何,證明仍然是密碼學上可靠的。但實際的最終性取決於比特幣確認,而這現在需要等待足夠的交易積累以便經濟批處理。在低活動期間,這可能意味着等待批次填滿的延遲超過 30 分鐘。在高活動期間,批次迅速填滿,但比特幣費用競爭會推高成本。Hemi 通過雙重驗證的可擴展性面臨來自比特幣有限區塊空間的限制,而以太坊單鏈的 Layer-2 解決方案不會遇到這些限制。這些限制是否可以通過技術改進克服,還是它們代表了 Hemi 設計中的基本權衡?
64 字節實際上解鎖了什麼
Hemi 證明系統的技術細節很重要,因爲它們決定了實際可能實現的內容。緊湊的證明使經濟跨鏈驗證能夠擴展到有意義的交易量。通過比特幣和以太坊共識的本地驗證消除了對自定義驗證者集的信任。通過雙重驗證的靈活最終性使應用程序能夠針對其安全需求進行優化。但是,這些優勢伴隨着限制:比特幣區塊空間限制了吞吐量,費用波動影響經濟,批處理引入延遲。使 Hemi 的模塊化 Layer-2 協議工作的 64 字節證明代表了在多個權衡之間進行仔細工程平衡,而不是跨鏈通信的完美解決方案。
我花了三週時間理解這個技術細節,因爲它揭示了 Hemi 能夠和不能夠實現的許多內容。密碼學證明系統在數學上是可靠的——我通過自己運行算法驗證了這一點。與比特幣和以太坊共識的集成很聰明——它利用現有的安全性,而不創造新的信任假設。在當前條件下經濟是可行的——交易成本與替代方案保持競爭力。但來自比特幣有限區塊空間的可擴展性限制造成了 Hemi 增長的天花板,這並不是立即顯而易見的,直到你深入瞭解這 64 字節證明的實際功能。Hemi 的架構是否代表跨鏈集成的未來,還是比特幣的可擴展性限制將迫使其他方法,不能依賴於在昂貴的工作量證明區塊中銘刻證明?

