技術專家眼中的ETHS:本質是金融投機而非產品創新

作者:吳越,極客Web3

簡介:目前的ETH銘文仍然是來自Ordinals的新瓶裝舊酒,並沒有真正的新範式。 ETHS仍然存在安全風險,雖然它確實比Rollup更加分散,但其提款過程仍然依賴於第三方公證人/管理員,並且存在被盜的風險。 顯然,ETHS仍然主要基於金融投機,而不是說它可以帶來ETH Layer 2無法帶來的創新。 **

技术人眼中的ETHS:本质是金融炒作而非产品革新

最近BTC生態銘文的流行促使其他鏈的開發人員建立類似的系統。 不同鏈上的銘文系統在如何實現和可以實現什麼方面略有不同,但有一些共同點:

1.銘文使用轉印所附的文字資訊來表達您要完成的操作,例如,在消息中寫上“轉1枚硬幣到XXX”。 請注意,此資訊為純文本,不會涉及鏈上智慧合約執行等操作。 2.開發人員將設計一套規範和標準來規範所有文本資訊。 3.開發者提供了一套索引器索引器,用於收集鏈上所有銘文的文本資訊,計算銘文系統的狀態。 索引器是一個任何人都可以運行的鏈下開源元件。

BTC銘文序數在BTC上建立了發行NFT和代幣的機制,也引發了對BTC L2的大規模思考,從這個意義上說,我們可以認為序數具有一定的前沿性和探索性。 然而,Ordinals 在技術和產品體驗方面受到BTC本身架構的限制,也因為粉塵污染和數據佔用而受到BTC社區OG的批評。

畢竟ETH ETH本身就有複雜的智能合約,ERC20和NFT也是ETH研討會的內容,這些銘文專案會對ETH的生態產生什麼影響,BTC上會不會有爭議和動蕩?

Ethions 的技術實現

我們來看看Ethions的實現情況,這是ETH工作室中一個著名的銘文專案,主要使用Calldata進行操作。

**調用數據是在ETH事務中傳輸的原始輸入數據。 **一般用於傳輸智慧合約交互所需的參數,但也可用於向EOA地址發送簡訊(消息、銘文、轉帳單等)。 在圖中,輸入數據是調用數據。

技术人眼中的ETHS:本质是金融炒作而非产品革新

如果要使用 Ethions 在事務中雕刻「Hello world」,則需要構建包含以下調用數據的事務:

技术人眼中的ETHS:本质是金融炒作而非产品革新

當鏈下索引器聽到交易時,它會更新資料庫並通知使用者已生成新銘文,該銘文讀取 Hello world。 銘文還可以包含更複雜的內容,例如base64,它表示圖像資訊。

Ethions目前採用了6個ESIP(改進Ethions協定的提案),類似於EIP提案,以定義銘文在不同情況下的使用。 但是,這些只是基本的銘文規範,例如從EOA發起的銘文交易的格式,合約發出事件等。

由於 Ethions 是 ETH 上的一個專案,它也可以使用 ETH Fang 的智慧合約來實現一定程度的邏輯。 需要注意的是,直接與智慧合約交互並不是Ethions推薦的方式。

雖然官方的NFT市場等,也是直接用智慧合約實現的。 根據官方文檔,Ethions 想要為使用者提供的是“去中心化且價格合理的計算服務”:剝離計算鏈下將顯著降低使用ETH的成本。 **

讓我們仔細看看調用智能合約的成本,它可以分為三個部分:

基本交易成本:任何ETH交易均需支付,目前為 21000 gas。

    • 資料傳輸成本 (calldata) :* * calldata 一般用於提交與智慧合約交互的數據和參數。 調整 EIP-2028 後,調用數據每位元組消耗 16 gas(0 個數據的位元組消耗 4 gas)。 合約執行成本:如果交易調用智慧合約中的函數,那麼根據函數執行的複雜程度,也有計算成本。 例如,如果涉及狀態更新(例如更新ERC-20合約中的餘額資訊),調用SSTORE將消耗高達5,000~20,000 gas。

我們以一個非常簡單的USDT轉帳交易為例,總共消耗了63197個gas,調用數據為:

技术人眼中的ETHS:本质是金融炒作而非产品革新

讓我們解析調用數據以及它將花費多少gas:**

  • ETH calldata 採用十六進位格式,即每兩位數位一個字節 (16^2 = 2^8)。 一天開始時的 0x 表示數據採用十六進位格式。
  • 開頭 0x 後面的 a9059cbb 是一個函數選擇器,佔用 4 個非零位元組。
  • 接下來的 32 個字節是位址,前面是 12 個字節的零(因為ETH位址是 20 個字節,這裡左邊是用零到 32 個字節填充的),還有 20 個字節的非零地址數據。
  • 最後 32 個字節代表數量,左側有大量零,末尾有 3b9aca00 個非零數據,4 個字節非零。
  • 因此,28 個非零位元組和 40 個零位元組

因此,調用數據氣體 = 28 *16 + 40 *4 = 608 氣體。

總gas為63197,減去calldata成本和固定成本,執行交易的智慧合約計算成本為41589gas。 **合約計算成本占本次交易的大部分,而這隻是簡單的交易,在複雜交易中合約計算成本會進一步增加。 **

將計算過程放在鏈下確實大大降低了使用成本:如果您不想直接在鏈上調用智能合約,則可以發送預定的EOA位址

0x00000000000000000000000000000000000face7傳送交易資料

在交易的調用數據中,聲明你最初要調用的合約,以及相應的輸入參數。 由於上述位址是EOA帳戶,沒有合約代碼,前述操作不會觸發鏈上的計算任務,**只是發佈一條消息。 **

在鏈下,索引器偵聽此消息后,它將對其進行解析,以確定消息的發起者最初想要調用ETH鏈上的哪個合約,然後索引器將計算鏈下調用合約的結果。

如果離線索引器想要執行銘文和智慧合約操作,它必須有一組 STF(狀態轉換函數)規則和運行時,複雜的可以稱為虛擬機 VM。 Ethions在ESIP-4中推出了自己的VM,即Ethions VM,後來更名為Facet VM。

分面 - 有點像協處理器

Facet將自己定義為一個廉價,易於使用,安全和分散的計算平臺。 **在ETH車間監聽 Ethions 的調用數據,拉到虛擬機進行計算,最後將結果返回給使用者。 **分面由幾個關鍵元件組成:

  • Facet VM 是一組用 ruby 編寫的 VM,負責監聽 ETHS 事務、解析調用數據和執行操作。
  • Rubidity,Facet中的智慧合約程式設計語言,與Ruby有一定的相似性,但保留了大量的solidity用法和概念,希望開發者能夠快速上手。
  • 啞合約,一種在 Facet 上運行的合約。 這個名字充滿了幽默感。 有人稱它為啞合同是對的,啞巴本身就是一個雙關語,啞巴可以形容這種契約運作的無聲過程。 但另一方面,根據官方的說法“太笨了,他們很聰明”,有一種強烈的調用智慧合約的感覺,所以調用愚蠢的合約是沒有問題的。

愚蠢的合約本身實際上不會部署在ETH上,但它的代碼會以calldata的形式發佈到ETH鏈上。 下面是一個方面調用愚蠢合約的示例:

EOA黑洞地址的鑄幣交易

0x00000000000000000000000000000000000face7提交下圖中的calldata來聲明要鑄造的代幣和數量,這實際上與Ordinals或BRC-20相同:**

技术人眼中的ETHS:本质是金融炒作而非产品革新

讓我們看一下Rubidity和Solidity之間的視覺比較,如下圖所示。

技术人眼中的ETHS:本质是金融炒作而非产品革新

雖然官方說Rubidity有一個類似於Solidity的概念和結構,讓開發者可以快速上手。 但我們知道,這對開發方的發展有負面影響。 而目前 Facet VM 只支援官方白名單中的愚蠢合約,說明官方對這組語言和 VM 沒有充分的信心。 我不知道重用 EVM 是否比開發新 VM 和新語言更困難。 但有一點是肯定的:一種新的語言,一種新的契約,一種新的生態,一種新的ETH使用方式,確實有足夠的噱頭。

Facet 對智能合約的抨擊

Facet文檔對ETH和智慧合約有以下強有力的評論:「智慧合約被認為是使乙太坊與眾不同的所有其他功能,但Facet的論點是智慧合約是以太坊的 最大的設計缺陷。

他們認為ETH方的智慧合約是最大的設計缺陷,因為只要給出輸入(calldata),合約本身就是確定性的,所以不應該在鏈上計算,無緣無故浪費金錢。 結合 Ethions 所謂的“去中心化且價格合理的計算服務”,很明顯,Ethions 和 Facet 熱衷於營造“我們正在創造一種新的ETH擴展範式和使用方式”的市場印象,但實際上,ETHS 自己的一些技術解決方案並不是很可靠。

從產品的角度來看,Facet可以間接調用鏈下智能合約,並且擁有自己的鏈下愚蠢合約系統,這確實在正式踐行其口號。

但從經濟角度來看,沒有免費的午餐,存儲和計算肯定要花錢。 那麼 Indexer 是如何解決這部分成本的呢?**這個官方沒有明確的解釋,我們可以想像:

  • 向使用者收費。 例如,NFT 市場向買家收取費用,但我們不能用簡單的項目費用模型來看待類似 L2 網路的長期收費方式。 *依靠自己的生態炒作致富。 這當然是可行的,但這只是一個短期的解決方案,讓專案方暫時感覺良好。 如果Ethions要成為一種新的ETH範式,Indexer必須有一個長期的,基於網路的經濟機制來確保其運行。
  • 如果是非營利性公益,那麼什麼樣的組織會捐贈? 我不認為ETH基金會會特別活躍,因為ETH基金會本身有一個非常好的計劃——Rollup。

分面和愚蠢合約出現的根本原因

如果我們只需要一種簡單形式的ETH方銘文,那麼只需要一件Ethion就足夠了。 那麼,為什麼它的ESIP-4提案會產生Facet呢?

因為銘文系統不能用於複雜的交易邏輯。 我們可以檢查 Ethions 官方 NFT 市場合約的操作邏輯,該合約使用掛單機制。

技术人眼中的ETHS:本质是金融炒作而非产品革新

如果要將銘文 NFT 存入合約,只需將調用數據寫入銘文的 EthionId 並調用市場合約即可。 由於此操作故意選擇無效的函數調用形式,因此預設情況下會觸發 fallback()。

技术人眼中的ETHS:本质是金融炒作而非产品革新

最終,一個名為 PotentialEthionDeposited 的事件將在 ETH Place 上拋出,索引器節點將在鏈下聽到事件後將 NFT 的擁有權轉移到本地市場合約。

技术人眼中的ETHS:本质是金融炒作而非产品革新

為了節省gas,ETHS交易市場不會在ETH合約中存儲賣家掛單的一些參數,如價格和到期時間,而是以消息的形式將它們離線,應該存儲在dApp伺服器上。 一旦買家監控了消息,他們就可以發出buyWithSignature() 命令進行購買。

技术人眼中的ETHS:本质是金融炒作而非产品革新

NFT 使用製造商訂單機制是正常的,因為 NFT 本身並不是同質的。 那麼如果是同質化的代幣銘文,能不能使用合約的AMM機制呢? 答案是否定的。 銘文 NFT 或代幣的狀態不在 L1 上,類似於序數和 BRC-20。 這與一些社區的宣傳截然相反,每個人都需要注意這樣一個事實,即銘文並不是鏈上真正的ETH資產。 我們不能說生成資產的調用數據在 L1 上,你可以在 L1 上聲明操作指令,在 L1 上稱為原生資產,否則我們也可以在 Rollup L1 資產上調用 L2 原生資產,因為 Rollup 的調用數據在 L1 上。 顯然,將此資產稱為 L1 原生資產是荒謬的。

實際上,這個合約只負責收錢、轉帳、拋出事件,供鏈中的 Indexer 節點監聽並觸發相應的操作。 在ETH EVM看來,銘文之類的狀態無法在“世界狀態”中恢復,世界狀態是專用於在ETH中存儲狀態的資料庫,合同也無法引用它。

無論資產的形式如何,無論是代幣還是 NFT 或者任何離奇的東西,我都可以給出一個非常簡單的標準來區分 L1 資產和 L2 資產:它的狀態是否可以在ETH的“世界狀態”上恢復,L1 EVM 是否可以引用、調用、查詢、修改資產的狀態,如果不能,那麼它就不是 L1 資產。

所以你也可以看到,存款事件的名稱是PotentialEthionDeposit,這是“可能的銘文存款”,而不是確定性的存款,因為合同無法確定這個銘文是否存在,也無法驗證其真實性。 如果您訂購不存在的銘文或其他人的銘文,合同不會拒絕您,但索引器不會包含您的行為。

因此,銘文系統只能實現這種簡單的偽合約邏輯,掛單就是其中之一。 **掛單的本質是交易雙方約定提供對方在一條規則下提供對方提供的資訊,其實可以在沒有智慧合約的情況下用純文本表達,這類似於銘文的原理。

我們可以想像,在不使用智慧合約的情況下,上述過程是如何完成的:賣家在普通交易中刻下一條消息,用附言 123 轉帳給我 1 ETH的人可以得到我的題詞 NFT,編號為 123。 這樣,索引器只需要支持這個邏輯,如果聽到有人用附言BCH將 1 ETH轉給賣家,可以直接轉移到鏈下索引器資料庫。

當然,這個例子實際上會帶來一些問題,比如重複交易可能導致多人搶購一個NFT等,賣家收到多次轉帳,但最終NFT只能由索引器分配給一個人。 這應該也是官方明確批評智能合約的原因之一,而是用合約來實現NFT市場,所以大家也應該能夠理解,官方說通過Facet調用智能合約而不經過計算是不靠譜的宣傳。

當然,掛單理論上可以使用純文本,而不必使用合約,但AMM相對複雜的邏輯必須使用智能合約,因為它需要的不是雙方的p2p協定,而是合約協定。 作為可靠審查者的合約需要檢查餘額和流動性等基本資訊,並進行計算,並且他需要的任何資產數據都必須可供合同使用。

AMM只是DeFi的一種相對簡單的形式,任何其他複雜的邏輯都無法單獨在Ethion上實現。 這就是推出 Facet 的原因——Facet 的首要任務是跨域!它實際上是一個 L2,但它沒有塊結構,所以我們不叫它跨鏈,它是跨域的。 當所有L1資產都跨域到Facet時,不存在跨域調用的問題,所有鏈下資產都可以用笨合約操作,支援複雜的合約邏輯。

與匯總

從上面的長篇大論中,你應該能夠看到Ethions的方案與Rollup有些相似。 但這只是“類似”,如果嚴格來說,它只能實現 Rollup 核心功能的一個子集。 癱瘓的功能對其敘述是致命的,或者使用戶面臨嚴重風險。

技术人眼中的ETHS:本质是金融炒作而非产品革新匯總是複雜的系統,我們不會在這裡展開它們。 它與Ethions有一些共同點:

  • 在ETH廣場上提交L2交易的調用數據。

  • 所有操作都在鏈下處理。

共同點非常明顯,我們需要詳細說明差異。

匯總批量提交調用數據

在大多數情況下,匯總中的使用者不會直接向 L1 提交交易,而是將它們提交給鏈下排序器,該排序器對所有交易進行排序、打包和壓縮,並將調用數據批量發送到 L1。 這樣,多個使用者的呼叫數據在單個交易中提交,可以稀釋21,000 gas的基本成本。

Ethions中沒有這樣的機制,所有使用者都直接向L1提交調用數據。

讓我們使用上面的USDT示例(calldata為608 gas),假設100個用戶發起100筆交易,並非常鬆散地計算兩者之間的成本差異:

*註冊使用者需要支付每人21608 gas(608 + 21000)。 其餘的計算沒有支付,因為計算是鏈下。

  • 匯總使用者每人支付 818 gas ((608*100+21000)/100)。 算術部分同上。

當然,每個匯總使用者還需要向排序器支付 L2 計算和存儲費用,但它比 L1 便宜得多,在這種情況下可以忽略不計。 此外,匯總還需要一些額外的特殊欄位來增加體積,但同時還有更好的數據壓縮,這裡就不展開了。

通過這個粗略的估計,可以發現Ethions在成本方面與第2層相比沒有任何優勢。 另外,在專案的社區宣傳中,我看到過類似“4000個銘文可以批量轉移,約0.11ETH,平均轉移只需要0.05U”之類的東西來證明使用Ethion非常便宜,這實際上並沒有闡明ETHS的原理和交互細節。

鏈下預確認

借助鏈下排序器,用戶可以在1秒內預先確認匯總請求。 這比銘文系統在L1、UX上的12秒或更長時間要好得多。 當然,銘文的支援者也可以爭辯說,在調用數據提交到ETH鏈之前,這種交易的最終性是不可靠的。

審查抵抗和權力下放

Rollups中的使用者可能會被鏈下排序器審查,而Ethions則不能審查使用者。 但是,精心設計的匯總將具有強制聚合功能來對抗音序器的審查,最終音序器將根本沒有權力審查使用者。

因此,當使用者使用 Rollup 時,他們也可以直接在 L1 上繞過排序器。 匯總為使用者提供了不同的選項,要麼使用更快的排序器,要麼直接使用 L1。 但 Ethions 只能使用 L1,並沒有給使用者選擇的自由。

此外,Ethions批評Rollup的音序器是集中式的。 但索引器本身也是一個高度集中的元件。 Ethions 解釋說,Indexer 不是中心化的,因為它可以由任何人運行和驗證,但實際上絕大多數人並不運行自己的節點。 因此,ETHS 只有在極端情況下,才會比 Rollup 展現其去中心化的一面,畢竟 Rollup 排序器可能會宕機或出現故障,但只要有社區成員運行多個索引器,ETHS 就可以繼續運行。 **

盈利模式

任何專案都不可能用愛發電,長期發展的專案必須認真考慮盈利模式的問題,無論是中心化實體還是分散實體的組合,都必須盈利才能長期保護網路安全。

Rollup 的音序器有一個明確的盈利模式:過度充電、擠壓 MEV 等。 排序器具有保持網路運行的能力。 由於 Ethions 直接向 L1 提交調用數據,因此 Indexer 不容易收費。

開發人員友好性

Rollup 的大部分合約開發語言和工具鏈都可以被ETH直接使用,開發者可以無縫遷移到 Rollup。 這些在Ethions中都不存在,需要掌握新的Rubidity,需要構建新的掃描,需要熟悉新的VM,等等。 當然,這些阻力反過來也是新生態發展可能帶來的開拓性機遇。

退出和身份結算

這是Facet的致命問題。 我們知道,Rollup 不僅會批量向 L1 提交調用數據(輸入),還會定期將 N 次操作后的狀態結算(輸出)提交給 L1。 ZKR和OPR有不同的證明來判斷輸入和輸出之間的關係是否正確,無論採用哪種證明方法,最終判斷的是L1上的合約。 匯總上的輸出和輸入是可跟蹤的,無法偽造。

那麼身份結算有什麼用呢? 它用於提款,即將資金從L2提取到L1。 當 L1 上的狀態發佈時,我們可以使用 Merkle 證明和其他方式來證明我在 L2 上的提款請求包含在狀態根中。 一旦合同通過驗證,資產就可以在L1上釋放。

**Facet 沒有狀態結算機制,因此他無法實現從 L2 到 L1 的無許可、去中心化提款。 **如上所述,他需要一個 L2 層來執行更複雜的合約邏輯。 比如他的AMM Swap FacetSwap。

我們可以看到,在 FacetSwap(一個在 Facet 上用愚蠢的合約構建的 dex)中,顯然有兩個動作:存款和取款。 通常,掉期沒有存款和取款,因為Facet要求您跨境才能使用它。

技术人眼中的ETHS:本质是金融炒作而非产品革新

在 Facet 中,存款需要將 L1 資金鎖定在 L1 橋接合約上,併發出相應的事件 ethions_protocol_CreateEthion 供索引器索引。 這與其他 L2 充值方法一致。

**另一方面,提款存在嚴重的安全問題。 **由於 Facet 上沒有狀態結算機制,因此無法使用合約自動確定提款在 L2 到 L1 上是否有效。 那麼 Facet 使用什麼方法呢? 管理員發佈或見證機制,類似於之前被盜的 Axie 橋。

讓我們直接看看Facet的橋,位址

0xD729345aA12c5Af2121D96f87B673987f354496B。

技术人眼中的ETHS:本质是金融炒作而非产品革新

hashedMessage 是由簽名者簽名的消息,其中包含一些已撤回的內容。 簽名者是預設的管理員位址。 因為沒有狀態結算,所以沒有辦法做任何驗證,比如帳戶在L2上是否有這麼多幣。 因此,合同上的所有資金都可以用簽名者簽名提取,無論專案方是邪惡還是駭客攻擊來獲取私鑰。 **

在 Rollup 中,不需要見證人釋放資產,在側鏈中,如果見證人想要更加去中心化,可以選擇自己共識體系的一部分作為代理,並使用質押等方式進行一定的經濟威懾來遏制邪惡。

在Ethions和Facet中,什麼都沒有。 它很簡單,毫不掩飾地是一個管理員位址。 對於一個經常喊“智能合約是一個設計缺陷”、“Rollup 是中心化”和“我們是下一代計算平臺”的類似 L2 的項目來說,這可能太草率了。 顯然,他身上還有更多的缺陷,但我們可以對它們保持觀望態度,儘管它們不容易彌補,並且可能也存在於第 2 層BTC。 **

總結

目前的Ethions中存在一定數量的“虛假宣傳”,主要有幾點:

  • Ethions和Facet上的資產不是在L1上發行的資產。
  • 為了擁有複雜的合約能力,Facet的L2實體已經進化,但存在很大的財務安全風險。
  • 官方聲稱基於L1上的合同甚至沒有用於自己的頂級應用程式。
  • Ethions 類似於一個非常不完整的匯總。 既不是匯總的便宜和速度,也不是匯總的安全性。 他能實現什麼,Rollup可以做什麼,Rollup可以實現它無法提供的非常重要的功能。
  • 如果他想解決上述問題,他需要開發一個狀態結算機制,加上一個排序器,L2 塊,那麼它最終會變成一個匯總。

利用BTC銘文,Ethions依靠概念在新瓶中炒作舊酒,但尚未發現新的範式。 目前,ETHS 仍然以金融投機為主,並不是說這個產品本身可以帶來ETH第 2 層所沒有的東西。 這種東西的長期價值顯然還有待挖掘,**但以目前的形式,ETHS已經承擔了“生命無法承受的重量”,他的宣傳口號遠非其實際效果。 **

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)