以太坊智能合約(EVM)“三宗罪”

2024-07-20 16:07:40

區塊鏈是一個解決信任的革命技術,但可笑的是,每年都有約價值1000億元加密資產蒸發,問題出在哪裏呢?追根究底,我認為是以太坊智能合約出了問題,可能用V神的錯誤( EVM=Ethereum Vitalik Mistake)來描述更為貼切!

---------------------------------------

以太坊智能合約(EVM)“三宗罪”

1.用戶不能表達交易要求

法律上,雙方意思一致才是合約。合約雙方必需對各方的付出和獲得都達成一致,合約才能成立。那么用戶在調用智能合約時,他同意的是什么?是接受智能合約所產生的任何結果,還是合約發布者宣稱會產生的結果?絕大多數用戶都不是程序員,不可能知道程序會怎么運行,顯然他們同意的是合約發布者宣稱會產生的結果.

2.礦工不驗證交易結果

以太坊礦工是不可能驗證智能合約的執行結果是否與用戶的預期 (也就是合約發布者宣稱的結果)一致,因為以太坊節點根本就沒有這方面的信息。所以以太坊中所記錄的每一筆智能合約交易只是證明“智能合約產生了這樣 的結果”,而不是“合約雙方同意這樣的結果”。混同這二者的後果是致命的。在以太坊中,用戶調用智能合約時,節點會執行智能合約,只要智能合約成功返回,節點就認為交易合法並予以記錄。對於作為去中心化账本的區塊鏈來說,很重要的一條就是交易必須經過驗證。正如中本聰所說的:不要信任,要驗證。這是區塊鏈的金科玉律,任何時候違反它必然導致安全性問題。但以太坊並不驗證智能合約的交易結果,而只是驗證智能合約的執行過程。這種模式有什么問題呢?畢竟智能合約調用是用戶發起的,難道不應該接受智能合約調用的結果嗎?這是以太坊的思維。

3.資產由合約保管,非去中心化

在以太坊及大批模仿者中,每個智能合約都管理自己發行的代幣的账本。也就是說,在這些區塊鏈上存在不止一個账本。原生幣有一個账本。每一種代幣又各有一個账本。他們都是去中心分布式账本嗎?對於原生幣的账本不存在爭議,對於代幣的账本,我們需要考察一下什么才是一個去中心。所謂去中心指的是每個記账者(礦工)獨立地決定各自所紀錄的账本內容, 而不是機械地復制他人的账本。這種獨立性包括獨立地決定每一筆交易是否合法,從而是否紀錄該筆交易。只要網絡中造假者不佔優勢,就可以通過這種方式阻止非法交易成為區塊鏈網絡的共識,從而達到保護資產安全的目的。如果一個區塊鏈中的礦工不具有這種獨立決定每一筆交易是否合法的能力,那么這個區塊鏈就不是去中心的,礦工們都必須依賴一個中心化的權威決定來決定每筆交易是否合法,因此所有账本就是由一個中心來控制的,這個中心就可以任意決定資產的歸屬,區塊鏈就不能為用戶提供安全性保障。而根據以太坊的智能合約交易模式,智能合約代幣的账本是由合約管理,而非礦工管理。而每個合約都是由單一的項目方發布,礦工雖然紀錄合約所產生的數據,但礦工並不理解這些數據,只能是合約要求礦工記什么礦工就記什么。這就是把所有礦工從記账人變為記账的筆,而指揮這些筆的人是合約的項目方。因此這些代幣的账本不是去中心的,而是中心化的账本。這是非常不安全的。 

既沒有交易安全,因為以太坊不能保證合約執行的結果符合用戶期望;也沒有價值儲存安全,因為智能合約可以不經用戶同意就轉走用戶資產。因此我們看到以太坊自發布以來已經發生多起與智能合約有關的安全性事件。相比之下,比特幣從未發生過安全性事件。大家都認為智能合約的安全問題 是开發者的錯誤和疏忽所導致,所以業內在規範智能合約开發流程,對於智能合約進行形式驗證,代碼安全性審計,开發安全的智能合約語言等方面作出了很大的努力。然而智能合約的安全問題從根本上說是自以太坊發布以來業界對於去中心合約的錯誤理解和由此而來的不當交易模式所導致。解決了這個問題就能杜絕迄今為止的大多數智能合約安全問題。而不解決這些問題,現今的各種努力終歸不能杜絕智能合約的安全隱患。 

正確的做法-----零熵【明示合意智能合約】

1.用戶表達交易要求

2.智能合約滿足用戶要求

3.礦工驗證用戶要求得到滿足

4.用戶以私鑰保管資產

對於作為去中心化账本的區塊鏈來說,很重要的一條就是交易必須經過驗證。正如中本聰所說的:不要信任,要驗證。這是區塊鏈的金科玉律,任何時候違反它必然導致安全性問題!零熵區塊鏈為各種價值形態提供了一種統一的表達方式,所有通證在交易中都有平等的地位,即節點接收含各種通證的交易對它們記账,並按其類型進行合法性驗證。如:零熵區塊鏈在比特幣式的UTXO交易模型中增加了智能合約調用, 擴展UTXO交易中包含輸入、定義、輸出三個部分。其中輸入部分的每個輸入項與比特幣交易的輸入項類似包含對之前交易未使用輸出的引用和籤名。定義中的每個定義項或者定義一個幾何體(邊界线,多邊形),或者定義一個權益項(權益三元組)或權益集(權益項哈希值的集合)。輸出中的每個輸出項包含一個通證和一個腳本。腳本可以是比特幣中那種鎖定腳本,也可以是智能合約調用腳本),並允許交易參與各方(自然人和智能合約)通過UTXO交易模型表達各自的意愿;且智能合約執行完成並不自動代表交易合法,節點會驗證各方的意愿是否滿足,如果任何一方的意愿沒有滿足,則交易不成功,交易的結果以UTXO輸出的方式交付各方。由於用戶得到了一個UTXO輸出,所以無需依賴智能合約為其記账,即使智能合約仍然維持一個账本,這個账本也沒有外部效力,不影響用戶資產的所有權。因此無論是智能合約發布者還是黑客都不可能盜走用戶的資產,各種智能合約安全問題得以避免。

明示合意智能合約中合約不是單純地滿足用戶要求,合約也可以表達自己的要求。例如在貨到付款的場景中,用戶發起交貨的合約調用,合約執行時就可以通過向交易中添加以合約為付款對象的輸出來提出付款的要求,用戶如果沒有提供相應的輸入,則交貨不成功。

明示合意智能合約由於採用UTXO模式,因此允許在一個交易中有多個智能合約調用,從而實現多方合約的組合。比如貨到付款的場景中,參與方包括买方、賣方、貨運方三方,其中賣方和貨運方都可以以智能合約參與,而整個交易依然是原子化的。這在目前以太坊智能合約模式中是難以做到的,需要至少二個獨立的智能合約調用,因而存在欺詐風險。

明示合意智能合約安全的關鍵在於用戶不經手智能合約直接控制自己的資產。有人可能會說如果堅持這么做,很多DEFI應用就無法進行。如果張三不先把錢給智能合約,智能合約怎么能代表張三把錢借給李四?這種論點誤解了控制權與所有權的差別。從法律上說,張三把錢給智能合約,轉的是控制權而不是所有權,是控制未來將錢轉給李四的權利。因此如果有一種機制能轉移控制權而不轉所有權,就依然能實現DEFI的目的;零熵區塊鏈中包含二種轉移控制權而不轉所有權的機制,完美的解決了這個問題!

零熵內置貨幣的發行,相關的5項專利技術早已申請,並獲得了多項國際專利。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

推薦文章

Layer2 格局劇變:Base 生態有哪些關鍵亮點?

在激烈競爭的 L2 賽道中,原本穩坐釣魚臺的 Arbitrum 和 Optimism 似乎面臨着前...

加密泡泡啊
70 1個月前

XRP 漲至 7.5 美元?分析師告訴 XRP 大軍為純粹的煙火做好准備!

加密貨幣分析師 EGRAG 表示,XRP 即將迎來關鍵時刻,價格可能大幅上漲,這取決於能否突破關鍵...

加密泡泡啊
72 1個月前

以太坊ETF通過後 將推動山寨幣和整個加密生態大爆發

比特幣ETF通過後市場動蕩,以太坊ETF交易前景分析 比特幣ETF通過後,市場出現了先跌後漲的走勢...

加密泡泡啊
77 1個月前

ZRO為啥這么能漲?

ZRO概述 ZRO代幣,全稱為LayerZero,是LayerZero協議的本地代幣,旨在作為治理...

加密泡泡啊
64 1個月前

今晚ETH迎來暴漲時代 op、arb、metis等以太坊二層項目能否跑出百倍幣?

北京時間7月23日晚上美股开盤後 ETH 的ETF开始交易。ETH的裏程碑啊,新的時代开啓。突破前...

BNBCCC
74 1個月前

Mt Gox 轉移 28 億美元比特幣 加密貨幣下跌 ETH ETF 提前發行

2014 年倒閉的臭名昭著的比特幣交易所 Mt Gox 已向債權人轉移了大量比特幣 (BTC),作...

加密圈探長
69 1個月前