竹笋

注册

 

发新话题 回复该主题

以太坊虚拟机原理简析 [复制链接]

1#
白癜风的治疗 https://disease.39.net/bjzkbdfyy/230414/13532265.html

在回答“什么是以太坊虚拟机?”时,您会遇到图灵完整性等术语。这到底是什么意思?这个概念来自著名的计算机科学家艾伦·图灵。他围绕假设的计算机或思维机器可以做什么提出了想法。他认为,计算机不像人一样思考或处理思想,而是遵循一套数据处理规则来解决问题。

//图灵完整性//

图灵机,曾被图灵称为a-machine(“自动机”),是一种假设的机器,体现了他的非人类或机器思维概念。思维过程通过算法运行。他在图灵的论文中提到,这样的机器必须处理一卷磁带,其中包含一行可以前后移动的符号或功能。人们还可以想象一个在这些函数之间移动的读/写头,这台机器将能够处理或更改符号。这种机器一次只能将注意力集中在一个“状态”上。

这种磁带没有拟议的限制。假设它是无限的,并且只受到物理限制。磁带对应于计算机的内存。因此,可以通过增加磁带卷轴的长度来无限地添加内存。因此,当计算机必须遵循一组指令时,应用于此类指令的数据仅受物理约束。

这些想法对于理解“什么是以太坊虚拟机”至关重要,因为它们包含其概念和架构的基本原则。从图灵对机器处理的基本“物理”想法中,其他人得出了一个虚拟对应方,其操作原理基本相同。

//ETH中的JavaScript//

图灵完成系统可以执行计算函数的任何逻辑步骤。编程语言,而不仅仅是机器,使用图灵完整性。智能合约通常使用高级语言Solidity来进行编写,其代码风格类似JavaScript与C++。JavaScript是与以太坊和EVM合作所需的重要编程语言,也是理解以太坊智能合同Solidity编程语言背后的语法。

其他语言例如Vyper和Bamboo也可以用来编写智能合约。当创建一个智能合约时,包含数据信息(payload)的交易被发送至空地址时,其数据信息将作为输入在EVM中执行,其输出将作为代码永久地保存在合约地址中。需要注意的是:Solidity这样的高级语言是无法在EVM中被直接执行的,代码会被编译成更加接近机器的低级语言—操作码(opcode)来执行。

要了解有关JavaScript及其与以太坊的关系的更多信息,您可以阅读我们对JavaScript和Web3.js的介绍。如果您感兴趣,可以访问我们的

分享 转发
TOP
发新话题 回复该主题