type
status
date
slug
summary
tags
category
icon
password
  • 账户
账户有以下两种:
1.外部所有权账户(Externally Owned Accounts, EOAs):这种账户由公私钥对控制,私钥用于签署交易。这些账户可以发送交易(发送以太或与智能合约互动),但不能拥有任何代码。外部所有权账户是由用户直接控制的账户,通常在以太坊钱包中创建和管理。
2.合约账户(Contract Accounts):这些账户有关联的智能合约代码,并由该代码控制。合约账户不能直接发起交易,但可以在被其他账户(EOA或其他合约账户)调用时“执行”交易。合约账户的行为完全由其关联的智能合约代码定义,这使得它们可以执行复杂的逻辑和操作。
这两种类型的账户都有自己的以太坊地址,可以接收以太。他们的主要区别在于,EOA可以由人类用户直接控制并发起交易,而合约账户只能由其关联的智能合约代码控制并响应外部调用。
前者就是我们日常使用的钱包账户的地址,后者就是我们利用库交互的合约实例的地址。
 
 
 
 
  • 节点
大致有以下三种
1.全节点
存储链上所有信息,包括每个区块及其含有的每一笔交易的数据,能提供最高级别的安全性和去中性化,但需要大量计算资源和存储空间。
2.轻节点
通常只存储区块头的信息,并通过查询全节点来获取更多的数据。轻节点不能验证所有的交易和区块,但它们需要的存储空间和计算资源远少于全节点。
3.存档节点
存档节点不仅存储整个区块链的数据,还存储网络中每个账户的每个状态。存档节点需要的存储空间最大,但可以提供最详细的历史数据。
 
如果你需要最高级别的安全性和去中心化,或者你想运行一个区块链浏览器,你可能需要运行一个全节点或存档节点。如果你只是想发送和接收交易,轻节点可能就足够了。
 
 
 
 
  • 共识机制
一下为一些具体内容
有效性
一个有效的区块需要包含两方面的有效:
1.每一笔交易有效
2. 区块头有效:区块头包含了区块的元数据,如前一个区块的哈希值,区块的时间戳,以及在工作量证明(Proof-of-Work)系统中,一个特殊的随机数(nonce)和一个满足当前难度目标的哈希值。如果区块头的信息不正确或不符合网络的规则,那么整个区块也会被视为无效。
当一笔交易生成时,节点将其传播给其他节点,收到该交易的节点会先对该交易进行一个简单的检查(以太坊执行客户端来进行,包括格式检查,签名验证,账户余额,gas,nonce检查等(注意一下什么是nonce)),检查合格后,便会将该交易放入交易池中。随后,Pos中的验证者,或是Pow中的矿工,会从交易池中选出一批交易(Pos中,会优先gas高的交易),对其进行更为严格的检查(包括),合格后,将其打包成区块,传播给所有节点,包括验证者和非验证者(以太坊上)。节点会对收到的区块进一步检查,若是没问题,便存储。异常情况中,以太坊上,若是出现错误的区块被传播,产生该区块的验证者受到惩罚,该区块无效,不会上链。若是因为种种原因,无效的区块被节点存储,传播,会产生分叉链,这时,依据权重链,选最大权重的链作为链,其余废弃,节点若是发现自己存储的链与真实的链不同,则重新存储真实的链。权重与抵押的以太币等有关。
另外需要注意,每个节点都有验证区块是否有效的能力,但这样需要计算力,往往有些节点选择只接受一些它们选定的,受信任的节点传播过来的区块。
 
 
 
 
 
以太坊状态树 chatgpt提问方式
Alex
Alex
某不知名青年|web2.5人士|喜欢猫与美少女
公告
type
status
date
slug
summary
tags
category
icon
password
有事请邮箱联系:alexwu7@outlook.com
🚀🚀🚀