Ethereum

Ethereum

ethereum architecture

beacon chain是一个单独的链,它协调所有的sharding chain. 一个beacon chain的block 负责管理1~100的shard block。它需要validator通过pos共识算法给每一个block投票,每12秒会有一个时间同步slot, 每个slot里面会产生一个block. 32个slot组成一个epoch.

在每轮epoch里,validator将会被随机分配到一个committee进行投票。每个slot会随机选择一个proposer做block producer,其它的validator会投票(pos)验证成这个块是否合法。如果超过2/3就同意,否则无法达成共识. 一个validator有可能同时兼具proposer和validator两种角色

为防止共谋发生,每轮epoch中validator只会被随机分配到一个committee里面,每个 committee 不会让他们连续投相邻两个区块的票。

从以上我们可以看出 slot 的作用是给 validator 之间的分布式环境做同步用的,还有就是每个 slot 的分割投票减少 validator 的共谋,每轮 epoch 后 validator 和 committee 会重新进行洗牌投票。

Intro to Ethereum

Accounts

Transactions

Blocks

EVM

Gas

Ethereum Node

  • 搭建节点

    ./geth --syncmode full --ws --http --mainnet  --datadir "/data/ethereum" --authrpc.jwtsecret /root/tt/jwtsecret
    ./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --jwt-secret=/root/tt/jwtsecret  --checkpoint-sync-url https://sync.invis.tools
    
  • 节点论述

    以太坊协议是以太坊节点运行的一组规则,这些节点体现了数千个去中心化应用程序的核心基础设施。

    以太坊上的交易由全节点签署,它们将签名的交易广播到验证节点网络,验证节点执行交易(执行层),其资格并达成状态共识(共识层/信标链)。然后,新的商定状态再次存储在具有最新块的完整节点中。

    而执行层运行在全球数千台计算机上的执行客户端管理,它们维护以太坊区块链的整体状态,同时还使用evm完成交易。

    共识层则是由运行在同一台计算机上的共识客户端管理,它们在数千台计算机之间就以太坊区块链的最新状态达成共识,同时验证其准确性。

    以太坊节点分为全节点和验证节点:

    • 全节点

      全节点执行以太坊协议的共识规则,这样它们就不会被欺骗接受不遵循它们的区块,节点将会进行:

      • 签署交易
      • 存储完整的区块链数据
      • 验证所有区块和状态
      • 将签名的交易广播到验证者节点
    • 验证节点

      验证者节点接收来自全节点的广播交易,然后执行交易,验证其资格并达成状态共识(在共识层)。

      由于客户端软件,所有节点仅与协议工作和交互。客户端是以太坊的实现,它根据协议规则验证数据并保证网络安全。以太坊网络中的每个验证者都必须使用这些客户端,无论用户是在家中质押还是通过某种服务,客户端都需要使用以太坊协议并与之交互,它们构成了质押堆栈的第一级。

      合并后的以太坊有两部分:执行层和共识层,两个层都运行不同的客户端并扮演特定的角色。

      • Execution Client

        监听网络中广播的新交易,在以太坊虚拟机中执行它们,并保存一个数据库和当前以太坊数据的最新状态。以下是一些主要执行客户端: Besu , Erigon , Geth , Nethermind

      • Consensus Client

        实现PoS共识算法,使网络能够根据来自执行客户端的经过验证的数据达成一致。一些客户端: Lighthouse , Lodestar , Nimbus , Prysm , Teku

      客户端多样性是建立弹性网络的重要组成部分。要在网络上达到最终确定行,则需要66.6%的验证者。如果客户拥有超过 66.6% 的市场份额并且他们分叉到自己的链上,他们便能够完成。一旦发生分叉并最终确定,验证者将无法返回原始(真实)链,并不会受到惩罚;如果 66.6% 的链同时被 slash,则 slashing 惩罚为 32 枚 ETH。

Smart Contract

- https://ethereum.org/en/developers/docs/smart-contracts/formal-verification/

Ethereum client API

Data and analytics

Decentralized Storage

Briges

MEV

Oracles

Scaling

以太坊线路