以太坊中的账户、交易、Gas和区块Gas Limit等概念
什么是账户 以太坊账户与我们所知的账户概念有一定相似之处,却又有很大的区别,更不同于比特币中UTXO。 账户分两类: - 外部拥有账户(EOA),也就是普通账户 - 合约账户 普通账户 所谓的普通账户就是我们存放以太币的账户,可以随意生成,它具有以下特性: - 拥有以太币余额(以太币存放的地方,与比特币的UTXO模式不同)的balance。 - 用于确定每笔交易只能被处理一次的计数器(nonce)。 - 发送交易(以太币转账、发布合约、调用智能合约) - 通过私钥控制 - 没有相关联的代码 合约账户 合约账户也是最激动人心的概念和底层代码实现,它是功能和数据的集合,存在于以太坊的特定地址(发布智能合约的地址上),拥有一下特性: 拥有以太币余额 有相关联的代码 通过交易或消息调用的方式触发并由以太坊虚拟机(EVM)解释执行 当被执行时: 运行在随机复杂度(图灵完备性) 只能操作其拥有的特定储存,例如可以拥有其永久state 可以call其他合约 所有以太坊区块链上的操作都是由各账户发起的交易来出发。智能合约账户收到一笔交易,交易所带的参数都会成为代码的入参。合约代码会被以太坊虚拟机(EVM)在每一个参与网络的节点上运行,以作为它们新区块的验证。 交易和消息 交易 “交易”术语通俗来讲就是一个账户向另外一个账户发送一笔被签名的消息数据包的过程,区块链会记录并存储相应的数据。延伸一下