Bitget App
交易“智”变
行情交易合约跟单策略理财Web3
以太坊智能合约(EVM)“三宗罪”

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

币界网2024/07/20 11:30
作者:币界网
币界网报道:

区块链是一个解决信任的革命技术,但可笑的是,每年都有约价值1000亿元加密资产蒸发,问题出在哪里呢?追根究底,我认为是以太坊智能合约出了问题,可能用V神的错误( EVM=Ethereum Vitalik Mistake)来描述更为贴切!

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

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

1.用户不能表达交易要求

法律上,双方意思一致才是合约。合约双方必需对各方的付出和获得都达成一致,合约才能成立。那么用户在调用智能合约时,他同意的是什么?是接受智能合约所产生的任何结果,还是合约发布者宣称会产生的结果?绝大多数用户都不是程序员,不可能知道程序会怎么运行,显然他们同意的是合约发布者宣称会产生的结果.

2.矿工不验证交易结果

以太坊矿工是不可能验证智能合约的执行结果是否与用户的预期 (也就是合约发布者宣称的结果)一致,因为以太坊节点根本就没有这方面的信息。所以以太坊中所记录的每一笔智能合约交易只是证明“智能合约产生了这样 的结果”,而不是“合约双方同意这样的结果”。混同这二者的后果是致命的。在以太坊中,用户调用智能合约时,节点会执行智能合约,只要智能合约成功返回,节点就认为交易合法并予以记录。对于作为去中心化账本的区块链来说,很重要的一条就是交易必须经过验证。正如中本聪所说的:不要信任,要验证。这是区块链的金科玉律,任何时候违反它必然导致安全性问题。但以太坊并不验证智能合约的交易结果,而只是验证智能合约的执行过程。这种模式有什么问题呢?毕竟智能合约调用是用户发起的,难道不应该接受智能合约调用的结果吗?这是以太坊的思维。

3.资产由合约保管,非去中心化

在以太坊及大批模仿者中,每个智能合约都管理自己发行的代币的账本。也就是说,在这些区块链上存在不止一个账本。原生币有一个账本。每一种代币又各有一个账本。他们都是去中心分布式账本吗?对于原生币的账本不存在争议,对于代币的账本,我们需要考察一下什么才是一个去中心。所谓去中心指的是每个记账者(矿工)独立地决定各自所纪录的账本内容, 而不是机械地复制他人的账本。这种独立性包括独立地决定每一笔交易是否合法,从而是否纪录该笔交易。只要网络中造假者不占优势,就可以通过这种方式阻止非法交易成为区块链网络的共识,从而达到保护资产安全的目的。如果一个区块链中的矿工不具有这种独立决定每一笔交易是否合法的能力,那么这个区块链就不是去中心的,矿工们都必须依赖一个中心化的权威决定来决定每笔交易是否合法,因此所有账本就是由一个中心来控制的,这个中心就可以任意决定资产的归属,区块链就不能为用户提供安全性保障。而根据以太坊的智能合约交易模式,智能合约代币的账本是由合约管理,而非矿工管理。而每个合约都是由单一的项目方发布,矿工虽然纪录合约所产生的数据,但矿工并不理解这些数据,只能是合约要求矿工记什么矿工就记什么。这就是把所有矿工从记账人变为记账的笔,而指挥这些笔的人是合约的项目方。因此这些代币的账本不是去中心的,而是中心化的账本。这是非常不安全的。 

既没有交易安全,因为以太坊不能保证合约执行的结果符合用户期望;也没有价值储存安全,因为智能合约可以不经用户同意就转走用户资产。因此我们看到以太坊自发布以来已经发生多起与智能合约有关的安全性事件。相比之下,比特币从未发生过安全性事件。大家都认为智能合约的安全问题 是开发者的错误和疏忽所导致,所以业内在规范智能合约开发流程,对于智能合约进行形式验证,代码安全性审计,开发安全的智能合约语言等方面作出了很大的努力。然而智能合约的安全问题从根本上说是自以太坊发布以来业界对于去中心合约的错误理解和由此而来的不当交易模式所导致。解决了这个问题就能杜绝迄今为止的大多数智能合约安全问题。而不解决这些问题,现今的各种努力终归不能杜绝智能合约的安全隐患。 

正确的做法-----零熵【明示合意智能合约】

1.用户表达交易要求

2.智能合约满足用户要求

3.矿工验证用户要求得到满足

4.用户以私钥保管资产

对于作为去中心化账本的区块链来说,很重要的一条就是交易必须经过验证。正如中本聪所说的:不要信任,要验证。这是区块链的金科玉律,任何时候违反它必然导致安全性问题!零熵区块链为各种价值形态提供了一种统一的表达方式,所有通证在交易中都有平等的地位,即节点接收含各种通证的交易对它们记账,并按其类型进行合法性验证。如:零熵区块链在比特币式的UTXO交易模型中增加了智能合约调用, 扩展UTXO交易中包含输入、定义、输出三个部分。其中输入部分的每个输入项与比特币交易的输入项类似包含对之前交易未使用输出的引用和签名。定义中的每个定义项或者定义一个几何体(边界线,多边形),或者定义一个权益项(权益三元组)或权益集(权益项哈希值的集合)。输出中的每个输出项包含一个通证和一个脚本。脚本可以是比特币中那种锁定脚本,也可以是智能合约调用脚本),并允许交易参与各方(自然人和智能合约)通过UTXO交易模型表达各自的意愿;且智能合约执行完成并不自动代表交易合法,节点会验证各方的意愿是否满足,如果任何一方的意愿没有满足,则交易不成功,交易的结果以UTXO输出的方式交付各方。由于用户得到了一个UTXO输出,所以无需依赖智能合约为其记账,即使智能合约仍然维持一个账本,这个账本也没有外部效力,不影响用户资产的所有权。因此无论是智能合约发布者还是黑客都不可能盗走用户的资产,各种智能合约安全问题得以避免。

明示合意智能合约中合约不是单纯地满足用户要求,合约也可以表达自己的要求。例如在货到付款的场景中,用户发起交货的合约调用,合约执行时就可以通过向交易中添加以合约为付款对象的输出来提出付款的要求,用户如果没有提供相应的输入,则交货不成功。

明示合意智能合约由于采用UTXO模式,因此允许在一个交易中有多个智能合约调用,从而实现多方合约的组合。比如货到付款的场景中,参与方包括买方、卖方、货运方三方,其中卖方和货运方都可以以智能合约参与,而整个交易依然是原子化的。这在目前以太坊智能合约模式中是难以做到的,需要至少二个独立的智能合约调用,因而存在欺诈风险。

明示合意智能合约安全的关键在于用户不经手智能合约直接控制自己的资产。有人可能会说如果坚持这么做,很多DEFI应用就无法进行。如果张三不先把钱给智能合约,智能合约怎么能代表张三把钱借给李四?这种论点误解了控制权与所有权的差别。从法律上说,张三把钱给智能合约,转的是控制权而不是所有权,是控制未来将钱转给李四的权利。因此如果有一种机制能转移控制权而不转所有权,就依然能实现DEFI的目的;零熵区块链中包含二种转移控制权而不转所有权的机制,完美的解决了这个问题!

零熵内置货币的发行,相关的5项专利技术早已申请,并获得了多项国际专利。

0

免责声明:文章中的所有内容仅代表作者的观点,与本平台无关。用户不应以本文作为投资决策的参考。

PoolX:锁仓获得新代币空投
不要错过热门新币,且APR 高达 10%+
立即参与!

你也可能喜欢

Clayton (CLAY):TON 生态系统充满乐趣的吉祥物和游戏中心

什么是Clayton Project(CLAY)? Clayton (CLAY) 是 Telegram 中的一款小程序,提供有趣、易玩的游戏和 CL 积分形式的奖励。作为吉祥物,Clayton 象征着 TON 中的游戏、互动和成长精神,鼓励用户深入游戏、获得奖励并邀请朋友加入。 这个概念简单而强大:用户与 Clayton 互动、玩游戏并赚取 CL 积分,这是生态系统内的一种应用内货币。这些积分以后可用于各种目的,尤其是当 Clayton 团队扩展其功能时。 谁创立了 Clayton (CLAY)? Clayton 的创始人依然未知。 哪些风险投资支持 Clayton Project(CLAY

Bitget Academy2024/11/05 12:33

比特币的未来:2024 年美国大选对加密货币市场意味着什么

随着 2024 年美国总统大选临近,金融界充斥着关于它将如何影响比特币和更广泛的加密货币市场的预测。特别是,比特币最近的价格走势、历史趋势以及主要候选人唐纳德·特朗普和卡马拉·哈里斯的立场,让人们再次关注选举将如何影响下一次价格大涨。 要了解可能发生的情况,必须了解比特币的历史行为、政治气氛以及一些关键的市场因素,例如它与标准普尔 500 指数的关系以及对比特币看涨期权的需求不断增长。让我们分析一下这些因素,并探讨它们对比特币的未来意味着什么。 比特币和 2024 年美国总统大选 不同的候选人,不同的加密货币政策 候选人对加密货币的立场显示出鲜明的对比。唐纳德·特朗普公开拥抱加密货币行业,倡

Bitget Academy2024/11/05 12:27

Swell Network (SWELL):让每个人都能享受以太坊质押和重新质押的便利

什么是Swell Network(SWELL)? Swell Network (SWELL) 是一个流动性质押平台,允许用户通过质押或重新质押 ETH 赚取被动收入。质押涉及锁定一定数量的 ETH 以帮助验证以太坊区块链上的交易。作为回报,用户将获得奖励。Swell 使这个过程更容易、更容易实现,即使对于那些没有大量 ETH 或技术专长的人来说也是如此。 谁创立了 Swell Network (SWELL)? Swell Network 由 Swell Labs 开发,该团队致力于创造安全、去中心化和透明的金融未来。Swell Labs 的目标是让每个人都能享受金融自由,不受歧视或审查。 哪

Bitget Academy2024/11/05 10:41

【首发上币】Swell(SWELL)将上线 Bitget,参与瓜分 23,440,000 SWELL!

我们非常高兴地宣布,Swell(SWELL)将在创新区和 LSD 区上线。详情如下: 充值开放时间:已开放 交易开放时间:2024年11月7日18:00(UTC+8) 提现开放时间:2024年11月8日19:00(UTC+8) 现货交易链接:SWELL/USDT 活动1:Launchpool——锁仓 BGB 和 USDT,瓜分 19,500,000 SWELL 锁仓时间:2024年11月7日18:00至2024年11月14日18:00(UTC+8) 立即锁仓 SWELL 总奖池 19,500,000 SWELL BGB 奖池 16,000,000 SWELL USDT 奖池 3,500,00

Bitget Announcement2024/11/05 10:00