当前位置:首页 > 物联网 > 区块链
[导读] 以太坊是仅次于比特币的第二重要、最受欢迎的加密货币。通常被认为是比特币在加密货币领域的竞争对手。 和比特币一样,以太坊也是分散式的,运行在区块链技术上,是一个开源项目。然而,以太坊比比特

以太坊是仅次于比特币的第二重要、最受欢迎的加密货币。通常被认为是比特币在加密货币领域的竞争对手。

和比特币一样,以太坊也是分散式的,运行在区块链技术上,是一个开源项目。然而,以太坊比比特币更具灵活性和适应性。任何有知识的人都可以在该平台上创建新的应用程序。随着第二版本Ethereum Homestead的发布,这些应用程序已经可以安全使用。

Homestead为用户提供了创建任何他们想要的应用程序的自由,不管这些应用程序有多复杂。它还成为了一个平台,用于启动除加密货币之外的新的分散的区块链应用程序。

所有这些过程的核心是以太坊虚拟机(EVM),这是一种准图灵机,可以编写任意复杂的随机算法代码。

什么是虚拟机及其工作原理

为了更好地理解EVM是什么以及它是如何工作的,我们需要理解术语“准图灵”的含义。“准”是“部分”的意思,“图灵”是指“现代计算机科学之父”、因为图灵机器的创造者是艾伦·图灵。

在计算机世界中,有许多访问和修改数据的系统。这些系统包括中央处理单元和编程语言。

一个系统或机器,可以在数学上执行任何计算或问题,被认为是图灵完备。

以太坊虚拟机被标记为准图灵机,因为它可以解决的计算是由gas约束的,这意味着它可以执行的计算数量是有限的。

在以太坊网络上,天然气相当于一笔费用。你在以太坊网络上进行的每笔交易都有一个价格,而gas就是支付方式。

以太坊网络上的gas概念有两个方面——gas和gas价格。gas是测量工具:它标识执行特定计算所需的费用。天然气价格是用户愿意为每单位天然气支付的以太币。

Wei是汽油价格的计量单位。Wei以太币的最小单位,一个以太币=10¹⁸Wei。

在任何交易发生之前,必须设定燃气限额和燃气价格。如果你作为试图完成交易的人,没有足够的燃气,交易就会无效。

由于计算依赖于gas,因此EVM无法执行某些计算。这些问题包括采空区瓦斯限值太低,计算非常复杂,在经济上被认为是不切实际的。

EVM编程语言称为EVM字节码。如果使用更高级的编程语言,比如以太坊的 Solidity,来编写特定的代码,那么这些代码将被添加到EVM字节码中,以便EVM能够理解它。

EVM , 一个基于事务的状态机

EVM有很多用途;其中两个主要是处理网络上的计算和内部状态,以及处理与用户姓名和地址、当前油价、余额和块信息相关的帐户信息。

EVM是基于事务的状态机,这意味着它管理网络上的内部状态。没有EVM,就无法跟踪完成事务所需每个组件的状态。这些成分共同作用来调节复杂以太坊区块链的变化水平。

作为基于事务的状态机,EVM需要监视帐户状态、世界状态、存储状态、运行时环境信息和块信息。

帐户状态

以太坊网络由许多相互作用的小账户组成——合约账户或外部拥有的账户。

在两个外部拥有的帐户之间发生的通信称为价值转移。这两个帐户都可以使用私钥通过数字签名的事务相互发送消息。

外部拥有的帐户与合约帐户之间的通信使后者能够使用其代码执行不同的操作,例如创建和传输代币。

外部拥有的帐户可以促使合约帐户采取行动;合约帐户是反应性的。这意味着它们不能发起事务,只能响应它们接收到的其他事务。

合约帐户具有与之关联的代码或编程语言,并且此合约代码可以控制帐户。

外部拥有的帐户没有代码,但可以使用私钥进行控制。

任何外部拥有的帐户都可以向其他外部拥有的帐户发送消息,也可以向合约帐户发送消息。这种类型的帐户有一个用于签署帐户事务的私钥。

帐户状态有四个主要组件:nonce、balance、storageRoot和codeHash

- Nonce -在外部拥有的帐户中,Nonce表示从帐户地址发送的事务数量。在合约帐户中,它是由该帐户创建的合约数量。

- balance -账户地址所拥有的余额

- storageRoot - Merkle Patricia树根节点的256位哈希值。默认情况下,树是空的,它对帐户的存储内容进行编码。

- codeHash -这段代码是不可变的:没有人可以在它创建之后改变它。这个帐户的EVM的codeHash也是在这个地址接收到消息调用时执行的代码。

World State

World State由帐户状态和160位地址标识符之间的映射组成。该信息存储在Merkle Patricia树中。

存储状态

存储状态是EVM上运行时管理的特定于帐户的信息。

这是执行事务所需的信息。它包括:

-来源-交易的原始发件人的地址

-调用方-执行事务的帐户的地址

-燃气价格-交易发起者指定的燃气的当前价格

-代码大小-事务代码库有多大

块的信息

这些是支持事务所必需的状态值。信息包括:

- Blockhash -最近完成的块的哈希

- Coinbase -收件人地址

-当前块的时间戳

-当前块的编号

-当前块的难度级别

-电流块的气体极限

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭