错误的 以太坊智能合约

时间:2024-09-30 编辑: 浏览:(755)

2013至2014年间,Vitalik Buterin 发表了以太坊白皮书提出用区块链储存程序,用户可以在节点上调用这些程序,通过这种方式,程序可以作为创建者的代理人自动执行交易而无需人的参与。这就是智能合约。Buterin 认为这种机制足以安全地进行程序化的交易。这是一个百亿级的错误。仅2020一年,由于智能合约安全性的问题就导致价值900亿元加密资产的蒸发。

在以太坊及大批模仿者中,每个智能合约都管理自己发行的代币的账本。也就是说,在这些区块链上存在不止一个账本。原生币有一个账本。每一种代币又各有一个账本。他们都是去中心分布式账本吗?对于原生币的账本不存在争议,对于代币的账本,我们需要考察一下什么才是一个去中心。

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

以太坊的智能合约甚至都不能称为合约。没错,合约可以通过程序执行,但并不是每个程序的执行都是一个合约。一个程序的执行要构成合约还需要额外满足一些条件。对于作为去中心化账本的区块链来说,很重要的一条就是交易必须经过验证。正如中本聪所说的:不要信任,要验证。这是区块链的金科玉律,任何时候违反它必然导致安全性问题。但以太坊并不验证智能合约的交易结果,而只是验证智能合约的执行过程。在以太坊中,用户调用智能合约时,节点会执行智能合约,只要智能合约成功返回,节点就认为交易合法并予以记录。这种模式有什么问题呢?毕竟智能合约调用是用户发起的,难道不应该接受智能合约调用的结果吗?这是以太坊的思维。

法律上,双方意思一致才是合约。合约各方必需对各方的付出和获得都达成一致,合约才能成立。那么用户在调用智能合约时,他同意的是什么?是接受智能合约所产生的任何结果,还是合约发布者宣称会产生的结果?绝大多数用户都不是程序员,不可能知道程序会怎么运行,显然他们同意的是合约发布者宣称会产生的结果。但是以太坊是不可能验证智能合约的执行结果是否与用户的预期(也就是合约发布者宣称的结果)一致,因为以太坊节点根本就没有这方面的信息。所以以太坊中所记录的每一笔智能合约交易只是证明“智能合约产生了这样的结果”,而不是“合约双方同意这样的结果”。混同这二者的后果是致命的。

更糟糕的是,以太坊将智能合约的交易结果作为合约的数据来储存。即,用户从智能合约那里获得的资产是记录在智能合约自己的账本中,而不是公共账本中。以太坊节点本身不会验证这些资产的转移。这些资产的转移是由智能合约处理和验证的。用户不能直接控制这些资产。是智能合约在控制它们。这简直就是开门辑盗。所以结果就是以太坊用户只能任凭智能合约处置,在智能合约面前没有任何安全保障。既没有交易安全,因为以太坊不能保证合约执行的结果符合用户期望;也没有价值储存安全,因为智能合约可以不经用户同意就转走用户资产。

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

最新 更多 >
  • 1 PROP币历史价格走势怎么样?

    PROP币历史价格走势怎么样?PROP币是一种基于区块链技术的数字货币。它的创立旨在为全球的旅游业和酒店业提供一个更加透明、快速和安全的支付方式。PROP币所搭建的区块链网络能够让酒店和旅游业者之间的交易流程更加高效,同时也可以保护用户的个人隐私。那么,PROP币的历史价格走势如何呢?我们来看一下。2018年PROP币在2018年初上市,最初的价格徘徊在0.2美元左右。但是不久之后,它的价格就开始

  • 2 PP币最高的时候是多少钱?

    PP币最高的时候是多少钱?PP币是一种虚拟货币,集中了比特币、莱特币和狗狗币等多种加密货币的特点。它不仅可以用来交易商品和服务,还可以作为投资资产。那么,PP币最高曾经达到过多少钱呢?下面就为大家简单介绍一下。PP币于2014年推出,当时最高价突破了每枚10元的大关,一度成为当时加密货币中的热门币种之一。不过很快,PP币的价格开始下跌,徘徊在每枚1元左右,并短暂爆发过数次小牛市。随着市场资金的减少

  • 3 PNDR币最高的时候是多少钱?

    PNDR币最高的时候是多少钱?PNDR币是一个独特的数字货币,于2020年8月正式上线交易所,采用TRC-20协议。该数字货币以其高效性、安全性和匿名化等优点备受关注。自上线以来,PNDR币的价格经历了不少波动。那么,PNDR币的最高价格是多少呢?PNDR币是一种新兴数字货币,因此其价格波动幅度较大。在2021年1月普遍爆发的“区块链领域热潮”中,PNDR币也开始经历了火爆的涨幅。截至2021年1

  • 4 PXP币最高的时候是多少钱?

    PXP币最高的时候是多少钱?关于PXP币最高的价格,需要先简单了解一下PXP币的背景。PXP币是一种基于POS共识机制的加密货币,于2018年发行。它是由PXP Financial Pte Ltd发行的,在新加坡注册。在PXP币发行初期,它的价格一直稳步上涨。在2019年初,它的价格一度超过了0.3美元。然而,在随后的几个月里,价格一直下跌,最低点甚至跌破了0.01美元。这样的价格波动给投资者带来

  • 5 POWR币最高的时候是多少钱?

    POWR币最高曾经达到的价格是多少?POWR币,即Power Ledger(能源密码),是澳大利亚的一家公司开发的一种基于区块链技术的能源交易平台。POWR币的最高价出现在2018年1月9日,当时的价格是4.14美元(约合27.5元人民币),创下了历史最高点。 POWR币的历史POWR币的历史可以追溯到2016年,当时Power Ledger公司于澳大利亚佛罗里达市成立,旨在通过区块链技术提高能源

  • 6 PHL币的创始人是谁

    PHL币的创始人是谁?在数字货币领域中,比特币和以太币等区块链技术的代表性数字货币已经成为人们茶余饭后的热门话题,但是少数人知道的是,还有一种新型的数字货币PHL币。这种数字货币的出现引起了不少人的好奇心,他们都想了解关于它的种种信息,PHL币的创始人是谁?下面就是关于PHL币创始人的介绍。谁是PHL币的创始人?PHL币的创始人是一位自称为“迪达拉”的数学家,他在2017年创立了PHL币。他是一位

  • 7 PRARE币的创始人是谁

    PRARE币的创始人是谁?PRARE币是一个开源、去中心化的区块链项目,其创立者为一位匿名的团队,由此使其更能符合去中心化的理念。团队背景PRARE币团队是一群区块链开发者、加密学家、市场营销专家和投资者,他们有多年的区块链和加密货币背景。PRARE币的发起人保持着匿名不露,像比特币的匿名发明者一样,通过互联网发布白皮书并设立电子邮箱与社区成员交流,遵循着区块链技术的协作精神,推动并完善PRARE

  • 8 PROP币最高的时候是多少钱?

    PROP币最高的时候是多少钱?PROP币是一个以房地产租赁为核心,搭建于以太坊区块链上的去中心化租赁平台项目。其推出当初备受关注,极具潜力,因此一度引起市场热议。那么PROP币最高的时候是多少钱呢?下面将为大家介绍具体情况。PROP币于2017年11月16日上线交易,最高价为1.29美元。当时的市值和成交量都非常可观,吸引了大量投资者的关注,市场表现一度走高。像很多新型项目一样,PROP币此后进入

  • 9 RedFlokiCEO币历史价格走势怎么样?

    RedFlokiCEO币历史价格走势怎么样? RedFlokiCEO币是一种新型的数字货币,自2021年起开始上市交易。作为一种较新的币种,它的价格走势一直备受关注。 在2021年初,RedFlokiCEO币刚刚上市时,其价格处于低谷。但是,由于市场需求的增加和投资者的兴趣,价格开始迅速上涨。到2021年5月,RedFlokiCEO币的价格达到了历史新高,一度冲上每个币种10美元以上的价格。

  • 10 QUA币历史价格走势怎么样?

    QUA币历史价格走势怎么样?QUA币是基于区块链技术的数字货币,它以高效、安全、实用为宗旨,自2018年2月开始发行。下面我们来看一下QUA币的历史价格走势。2018年2月-6月QUA币在2018年2月14日正式发行,当时的价格为0.004美元。在接下来的几个月内,QUA币价格波动较大,但整体呈现上涨趋势。截止到6月份,QUA币的价格已经涨到0.01美元以上。2018年7月-12月从7月份开始,Q