区块链是所有数字货币的基础,并且它也是个快速发展的技术,其中会有很多应用或者项目来解决很多问题。作为数字货币爱好者,也许你听过类似智能合约和以太坊虚拟机(EVM)这些概念。但是你知道它们到底是什么,而且是怎么运作的吗?

什么是以太坊虚拟机?

就好像所有区块链技术那样,以太坊会使用在自己计算机上运行的节点,来保证安全性同时也维持信任。每个参与到以太坊协议中的节点都会在各自电脑上运行软件,这就被称为以太坊虚拟机(EVM)。

首先,以太坊虚拟机会通过防止DOS攻击,来确保安全性,这个攻击是数字货币领域的挑战。

其次,以太坊虚拟机会编译以太坊程序语言,并且保证这之间的通信不会有任何的干扰。

更详细地来看,以太坊虚拟机可以很容易就被理解,我们可以当作一个系统用来为以太坊智能合约创建运行环境。我们都知道,智能合约可以让世界各地的人们进行交互和交换价值,并且无需中心化的机构。并且毫无疑问,这个技术会在不远的未来,颠覆很多产业。

账号

在以太坊中有两种账号共享地址空间:外部账号和合约账号。外部账号是由公钥和私钥控制的(如人),合约账号是由账号存储的代码所控制。

外部账号的地址是由公钥决定的,而合约地址是在智能合约被创建的时候决定的(这个地址由创建者的地址和发送方发送过来的交易数字衍生而来,这个数字通常被叫做“nonce”)不管是否账号存有代码(合约账号存储了代码,而外部账号没有),对于EVM来说这两种账号是相等的。

交易

交易是一个账号和另外一个账号之间的信息交换。它包含了二进制数据(消费数据)和以太数据。如果目标账号包含了代码,这个代码一旦被执行,那么它的消费数据就会作为一个输入数据。如果目标账号是一个0账号(地址为0的账号),交易会生成一个新的合约。这个合约的地址不为0,但是是来源于发送方,之后这个账号的交易数据会被发送。

当以太坊区块链上有转账的时候,以太坊虚拟机会按照下面的步骤来执行:

1.确认转账是否有正确的数值,确认签名的有效性以及是否转账nonce符合特定转账数量的nonce。如果有误差,转账会被作为错误返回。

2.计算转账需要的费用,并且收取燃料费用

3.执行数字资产转账到特定地址。以太坊虚拟机会检测,发出者有足够的手续费用,不然转账就会退回。而且转账费用不会退回,这会支付给矿工。

但是,如果转账失败是因为接受者地址有问题,以太坊虚拟机会把发出的资金数量以及相关的手续费,退还给发出者(没有矿工收到费用)。

总结

以太坊虚拟机是以太坊区块链中,非常重要的部分。它在智能合约存储,执行和验证过程中,都有非常重要的作用。有了以太坊虚拟机和智能合约,你可以通过简单地点击按键,就可以在全球进行交易,而且还无需任何中介,因此也避免了多余的费用。


分享到: