首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EVM -它是如何连接到Blockchain的?

EVM -它是如何连接到Blockchain的?
EN

Ethereum用户
提问于 2018-08-03 21:51:19
回答 3查看 786关注 0票数 3

我在理解Blockchain的软件架构时遇到了一些问题。对我来说,Blockchain是存储所有交易、收据、余额等的数据库。但是如何连接到EVM呢?EVM是否负责更改Blockchain数据库?当完整节点接收到事务或新块时。它使用EVM处理事务。EVM的内部存储是Blockchain,还是EVM的内部存储?如果不是Blockchain,EVM是否只负责处理事务并将收据发回区块链以便进行更新?有两个实例--块链(数据库)和evm (处理器)--还是包含块链数据库的evm实例?我希望你知道我想说什么。

EN

回答 3

Ethereum用户

发布于 2018-08-04 10:51:15

块链是一个更普遍的概念的例子,称为分布式状态机。

状态机是具有一组状态的系统,是一种在这些状态之间传递的函数。

在EVM中,状态是帐户状态树,转换函数以块作为输入,运行EVM上块中的所有事务,并转换到EVM执行所产生的新状态。

因此,您可以将EVM看作块之间转换函数的一部分。

票数 4
EN

Ethereum用户

发布于 2018-08-03 23:54:02

托马斯的回答很有帮助。

如果有帮助,可以将区块链看作类似于所有节点都同意的数据库重放日志,这一点可能是有用的。EVM是规范对日志中包含的事务进行解释的协议。

该协议的范围足以在巧尽心思构建的事务中启用嵌入契约。契约是用简单的机器代码(字节码)编写的,协议涵盖了如何解释它们。因此,事务历史记录了可执行代码的部署。

契约的语言包括内部存储,因此一些输入可以触发更改持久值的函数。

给定一个足够描述性的协议,并给出一组被认为是正确的事务(协商一致是另一个主题),每个正常运行的节点都可以就必须满足的状态得出自己的结论。

我认为用数据“生命”在输入中来概括是合理的。区块链本身就是一个系统,它使所有节点确信它们拥有输入的有效、真实的历史,这就是它们需要知道的全部。

希望能帮上忙。

票数 2
EN

Ethereum用户

发布于 2018-08-03 22:29:07

EVM是否负责更改Blockchain数据库?

在事务发生之前,“区块链”表示某种状态。在事务处理期间,状态从事务前更改为事务后(除非有反转)。EVM实现了“从一种状态到另一种状态的改变”。有些更改只是将魏先生从一个帐户发送到另一个帐户。另一些则更复杂,运行一个智能契约来更改存储值。(虽然有些人可能会说简单的发送不需要EVM,但效果是一样的。)

当一个完整的节点接收到一个事务或一个新的块时,它将使用EVM处理事务。EVM的内部存储是Blockchain,还是EVM的内部存储?

区分EVM (完成状态更改)到状态本身,状态本身是数据库中所有数据的当前值(或者大多数人称之为--链上所有数据的当前值)。

如果不是区块链,那么EVM是否只负责处理事务并将收据发回区块链以便进行更新?

我觉得你被这个词挂断了。通过在当前块中包含一个引用(父哈希),可以将blockchain看作一个数据结构,其中blockschained。我认为数据结构是块链,但同时我也认为整个事情是块链。所以,这是一个多方面的词。也许最好把它看作是数据结构。EVM处理状态变化,并将状态更改存储在一个链式块列表中。

有两个实例--块链(数据库)和evm (处理器)--还是包含块链数据库的evm实例?

见前面的答案。

票数 1
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/55792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档