以太坊智能合约是怎么样运行的

当前位置:首页 > 币圈百科 > 以太坊智能合约是怎么样运行的

以太坊智能合约是怎么样运行的

2022-11-18币圈百科596

以太坊智能合约是怎么样运行的

Nick Szabo早在20世纪90年代就首次描述了智能合同的概念。当时,他将智能合约定义为一种工具,可以将协议与用户界面结合起来,从而规范和保护计算机网络。Szabo还讨论了智能合同在各个领域的潜在用途,如信用系统、支付流程和版权管理。

在加密货币领域,我们将智能合约定义为运行在区块链上的应用程序或程序。通常,它们是一组具有特定规则的数字协议,并且该协议可以被强制执行。这些规则是由计算机源代码预先定义的,所有网络节点将复制并执行这些计算机源代码。

本质上,区块链智能合约支持无信任协议的创建。这意味着执行合同的双方可以通过区块链做出承诺,而无需了解或信任对方。合同内容经双方确认后,如果不满足触发条件,则不执行合同。此外,使用智能合同可以消除对中介的需求,从而大幅降低运营成本。

多年来,虽然比特币协议一直支持智能合约,但智能合约一直很受以太坊联合创始人Vitalik Buterin的欢迎。值得注意的是,每个区块链网络可能提供完全不同的智能合约。

本文将重点介绍运行在以太坊虚拟机(EV)上的智能合约,它也是以太坊区块链的重要组成部分。

智能合同是如何工作的?

简单来说,智能合约是一个确定性的计划。当满足某些条件时,它执行特定的任务。因此,智能合同系统通常遵循条件语句“如果.然后……”。然而,即使智能合约成为主流技术,智能合约既不合法也不智能,它们只是运行在分布式系统上的一段代码(区块链)。

在以太坊网络上,当用户(地址)在区块链网络中进行交易时,智能合约负责执行和管理此类操作。不受智能合约管理的地址都称为外部帐户(EOA)。因此,智能合约由计算机源代码控制,EOA由用户自己控制。

基本上,以太坊智能合约通常由一个合约码和两个公钥组成。一个公钥是由合同创建者提供的公钥,另一个公钥是由合同本身创建的,作为每个智能合同的唯一数字标识。

任何智能合约的部署都是通过区块链事务执行的,并且只能在调用EOA(或其他智能合约)时激活。然而,智能合约的第一个触发器是由EOA(用户)引起的。

主要特点

以太坊智能合约通常具有以下特点:

分布式。智能合约在以太坊网络的所有节点进行复制和分发,这与其他基于集中式服务器的解决方案有显著区别。

一致性。当满足要求时,智能合约仅执行其预先设计的操作。而且,无论任何节点执行,结果都是一致的。

自动化。智能合约可以自动执行各种任务,就像自动执行程序一样。然而,在大多数情况下,如果智能合约没有被触发,它将保持“休眠”状态,不会做任何事情。

不可篡改。智能合同一旦部署,就不能更改。只有在预先实现了特定功能的情况下,才能执行删除。因此,我们可以说智能合约可以提供防篡改程序。

定制。在部署之前,智能合约可以用许多不同的方式进行编码。因此,它可以用来创建许多不同的分布式应用程序(DApps)。这与以太坊完全的图灵区块链特性有关。

不需要信任。两方或多方可以通过智能合约进行交互,而无需了解对方或获得信任。此外,区块链技术可以确保数据的准确性。

透明度。由于智能合约是基于公共区块链的,因此它的源代码不仅不可更改,而且对任何人都是透明的。

智能合同可以更改或删除吗?

以太坊智能合约一旦部署,就不能继续添加新功能。但是,如果它的契约创建者在代码中保留了一个名为自毁的功能,那么智能契约可以在未来被“删除”或替换为新的契约。如果合同代码中没有保留该功能,则不能删除它们。

值得注意的是,所谓的可伸缩智能契约(scalable 蓑衣网小编2022 smart contract)使开发者在不可篡改方面拥有更大的灵活性。有许多方法可以创建可伸缩的智能合约,每个合约可以有不同的复杂程度。

举个简单的例子,我们假设智能合约分为几个更小的合约。其中一些被设计成不可变的,而另一些则启用了“删除”功能。这意味着一些代码(智能合同)可以被删除和替换,而其他功能保持不变。

优势及相关案例

作为一种可编程代码,智能合约具有高度的可定制性,可以通过许多不同的方式进行设计,以提供不同的服务和解决方案。

作为一个去中心化、自动化的程序,智能合约可以提高透明度,降低运营成本。根据不同的实施情况,还可以提高执行效率,降低业务运营费用。

智能合约在两方或多方之间转移资金或交易资金时特别实用。

换句话说,智能合约可以针对各种应用情况进行设计。包括创建代币资产、投票系统、加密钱包、分布式交换、游戏和移动应用。它们还可以与其他区块链解决方案一起部署,这些解决方案涉及医疗保健、慈善、供应链、政府管理和分布式融资(DeFi)等领域。

ERC-20

蓑衣网小编2022

在区块链以太坊发行的令牌遵循ERC-20的协议标准。该标准描述了基于以太坊令牌的所有核心功能。因此,这些数字资产通常被称为ERC-20令牌,占现有加密货币总量的很大一部分。

许多区块链公司和初创公司已经部署了智能合约,以便在以太坊网络上发行数字令牌。发行之后,这些公司中的大多数通过初始令牌发行(ICO)来分发他们的ERC-20令牌。在大多数情况下,智能合约使用户能够以可信和有效的方式交换资金和分发令牌。

限制

智能合约由人编写的计算机代码组成。这也带来了很多风险,代码容易受到攻击,容易出现漏洞。理想情况下,它们应该由有经验的程序员编写和部署,尤其是当涉及敏感信息和大量资金时。

除此之外,有人认为集中式系统也可以提供智能合约的大部分解决方案和功能。主要区别在于,智能合约在分布式对等网络中运行,而不是在集中式服务器上运行。因为它们基于区块链系统,所以通常是防篡改的。

在某些情况下,smart contract的不可篡改性优势很明显,但在其他情况下,就很不好了。例如,由于其智能合约代码的缺陷,名为“The DAO”的分布式自治组织(DAO)在2016年被黑客攻击时损失了数百万以太坊(ETH)。

因为他们的智能合约是不可更改的,所以开发者无法修复代码。这最终导致了硬分叉的出现和第二条以太坊链的诞生。简而言之,一个链条“回滚”并将资金归还给合法所有者(这是当前以太坊区块链的一部分)。而另一家连锁店决定不受这次攻击的影响,坚持认为区块链上发生的事情永远无法改变(这家连锁店现在被称为以太坊经典)。

需要注意的是,这个问题不是以太坊区块链的原因,是智能合约执行错误造成的。

智能合同的另一个局限性与其不确定的法律地位有关。智能合约在大多数国家仍处于灰色地带,不适应当前的法律监管框架。

比如很多合同都要求双方互相实名认证,且年满18周岁。 但是区块链技术提供的匿名性,加上没有中间人,可能会影响这些要求。虽然有潜在的解决方案,但目前,智能合同的法律可执行性是一个真正的挑战,特别是在没有边界的分布式网络中。

批评

一些区块链爱好者将智能合约视为一种解决方案,并认为它们将以自动化的方式取代我们现有的商业和政府系统。虽然这个想法有可能实现,但是还有很长的路要走。

不可否认,智能合约是一项非常有趣的技术。但在某些情况下,分布性、确定性、透明性和不变性会降低其吸引力。

本质上,人们的批评是针对智能合约解决不了的实际问题。事实上,目前一些组织最好使用传统的基于服务器的解决方案。

与智能合约相比,集中式服务器更容易维护,成本更低,在速度和跨网络通信(互操作性)方面往往具有更大的优势。

总结

毫无疑问,智能合约对加密货币领域产生了深远的影响。它确实可以彻底改变区块链的技术。虽然最终用户不会直接与智能合同交互,但在不久的将来,智能合同将有更广泛的应用,涵盖从金融服务到供应链管理的各个领域。

智能合约和区块链将共同颠覆我们社会的几乎所有领域。但这种突破性的技术是否强大到可以克服大规模推广带来的诸多壁垒,只有时间才能证明。

以太坊智能合约是怎么样运行的 | 分享给朋友: