以太坊账户

作者: 磨链社区 | 来源:发表于2018-05-07 09:26 被阅读55次

以太坊本质

作者-磨链社区出品

以太坊的本质就是一个基于交易的状态机(transaction-based state machine)。在计算机科学中,状态机是指可以读取一系列的输入,然后根据这些输入,会转换成一个新的状态出来的东西。

以太坊账户

以太坊的全局“共享状态”是有很多小对象(账户)来组成的,这些账户可以通过消息传递架构来与对方进行交互。

每个账户都有一个与之关联的状态(state)和一个20字节的地址(address)。

以太坊有两种类型的账户:

外部账户

外部账户没有代码,可以通过创建和签名一笔交易从一个外部账户发送消息。

合约账户

与外部拥有的账户不同,合约账户不能自行发起新的交易,合约帐户只能触发交易以响应其他交易。每当合约账户收到一条消息,合约内部的代码就会被激活,允许它对内部存储进行读取和写入,和发送其它消息或者创建合约。

外部账户与合约账户的比较:

一个外部拥有账户可以通过创建和用自己的私钥来对交易进行签名,来发送消息给另一个外部拥有账户或合约账户。

在两个外部拥有账户之间传送的消息只是一个简单的价值转移。

从外部拥有账户到合约账户的消息会激活合约账户的代码,允许它执行各种动作。

不像外部拥有账户,合约账户不可以自己发起一个交易。相反,合约账户只有在接收到一个交易之后(从一个外部拥有账户或另一个合约账户接),为了响应此交易而触发一个交易。

因此,在以太坊上任何的动作,总是被外部控制账户触发的交易所发动的。

账户状态

以太坊的账户包含四个部分:

nonce:用于确定每笔交易只能被处理一次的随机数。如果账户是一个外部拥有账户,nonce代表从此账户地址发送的交易序号;如果账户是一个合约账户,nonce代表此账户创建的合约序号

balance:账户目前的以太币余额

storageRoot:Merkle树的根节点Hash值。Merkle 树会将此账户存储内容的Hash值进行编码,默认是空值

codeHash:此账户EVM代码的hash值,对于合约账户,就是被Hash的代码并作为codeHash保存;对于外部拥有账户,codeHash域是一个空字符串的Hash值

世界状态

以太坊的全局状态由账户地址和账户状态的映射组成,这个映射被保存在一个叫做Merkle Patricia树的数据结构中。

Merkle Patricia树由大量叶子节点、一系列中间节点、一个根节点组成。

树的底部包含了源数据的大量叶子节点

中间节点是两个子节点的Hash值

根节点同样是两个子节点的Hash值,代表着整棵树

这棵树要求存在里面的值(value)都有一个对应的key。从树的根节点开始,key会告诉你顺着哪个子节点可以获得对应的值,这个值存在叶子节点。在以太坊中,key/value是地址和与地址相关联的账户之间状态的映射。

关于磨链和相关合作

磨链”---取磨炼之意,旨在普及区块链技术,磨炼技术,更好投身区块链行业。有兴趣一块琢磨区块链技术,联系笔者微信(jackyjin09)。

磨链社区是一个纯粹的技术社区,欢迎相关技术合作,在不违反原则的前提下,积极参与合作。

你可以在这里找到我们:

磨链社区公众号:

相关文章

  • 以太坊中如何判断一个地址为合约账户地址

    0x01 以太坊中的两类账户 对以太坊稍微了解一些朋友,应该知道,以太坊中有两类账户,一类是普通的由私钥控制的外部...

  • 【知识】以太坊中如何判断一个地址为合约账户地址

    0x01 以太坊中的两类账户 对以太坊稍微了解一些朋友,应该知道,以太坊中有两类账户,一类是普通的由私钥控制的外部...

  • 以太坊的工作原理

    概览 以太坊(Ethereum)是一个去中心化的平台,可以在上面部署Dapp 以太坊账户 以太坊使用椭圆曲线加密算...

  • 以太坊账户

    以太坊的账户包含四个部分: 随机数,用于确定每笔交易只能被处理一次的计数器 账户目前的以太币余额 账户的合约代码,...

  • 以太坊账户

    以太坊本质 作者-磨链社区出品 以太坊的本质就是一个基于交易的状态机(transaction-based stat...

  • 以太坊账户

    以一个账户举例: 路径: m/44'/60'/0'/0 助记词: 私钥: 公钥: 地址: 以太坊钱包使用户用来管理...

  • 以太坊-账户

    在比特币中,人们把储存比特币的地方称为 “地址(address)”,它就像银行账户,只不过存的是比特币。在以太坊中...

  • 以太坊入门学习-运行原理四

    以太坊运行原理笔记: (参考以太坊黄皮书) 合约创建 之前的文章说到过外部账户和合约账户,那么合约的创建,理解为以...

  • 第三课 以太坊术语说明

    EVM-以太坊虚拟机 是以太坊中智能合约的运行环境。 以太坊客户端 也称钱包,提供账户管理、挖矿、转账、智能合约的...

  • 第2章 以太坊

    1.1 以太坊基本概念 以太坊由大量的节点组成,节点有账户与之对应,两个账户之间通过发送消息进行一笔“交易”。交易...

网友评论

    本文标题:以太坊账户

    本文链接:https://www.haomeiwen.com/subject/mpcmrftx.html