Etherrum 学习笔记(1)

in cn •  5 months ago 

什么是以太坊(Ethereum)

以太坊是一个由世界各地的计算机组成的网络,遵循一套称为以太坊协议的规则。以太坊网络提供了一个基础,任何人都可以在上面构建和使用社区、应用程序、组织和数字资产。

image.png

个人理解,以太坊是区块链2.0,毫无疑问1.0是比特币,但是比特币实际上是空气币,什么实用功能也没有,但是它是一个个区块链,所以他的价值还是很高。而以太坊相当于是一个基于区块链技术的分布式计算平台,用户可以开发自己的分布式应用,也有相应的编程语言solidity。

实际上,以太坊被视作一个“状态机”,通过智能合约的代码更新其状态。执行这些智能合约代码,需要消耗以太币(ether),而这个过程是通过一种名为“权益证明”(Proof of Stake, PoS)的共识机制进行验证并在整个网络中广播同步的。

这里涉及到几个词:状态,智能合约,代币,共识机制。后续内容我们将深入了解这些概念。

账户模型

在以太坊中,主要有两种类型的账户:外部拥有账户(Externally Owned Accounts, EOAs)和合约账户(Contract Accounts)。这两种账户共同构成了以太坊的经济和应用生态系统。

外部账户相当于普通用户,买了以太币,存在里面。合约账户是可以运行智能合约代码的账户,以太坊区别于比特币的地方,就是可以部署,编写,运行智能合约软件。

外部拥有账户(EOAs)

  • 控制方式:任何拥有私钥的人控制。
  • 功能:用户可以通过创建和签署交易来发送消息,进行 ETH 转移或与智能合约互动。
  • 地址:20 字节,由其公钥派生而来。
  • 特点:EOAs 直接由用户控制,安全性依赖于私钥的保管。这类账户是以太坊网络中与人类用户直接相关的账户类型,允许用户参与以太坊网络的经济活动和应用生态系统。

账户字段

  • Nonce:用于记录外部账户发起的交易数量或合约账户创建的合约数量。

外部账户的 nonce 从0开始计数,合约账户的 nonce 从1开始。

  • Balance:账户拥有的以太币数量,以Wei为单位(1 ETH = 1e+18 Wei)。
  • CodeHash:合约账户的 EVM 代码的哈希值。对于合约账户,CodeHash代表可执行的智能合约代码,该代码在账户接收到消息调用时执行。

对于外部账户,此字段为空字符串的哈希。

  • StorageRoot:也称为存储哈希,是 Merkle Patricia Trie 根节点的256位哈希,编码了账户的存储内容。这个 Trie 树以键值对形式存储账户的数据,对于新账户,默认为空。
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!