以太坊POA
以太坊的POA代表“Proof of Authority”,是一种共识机制。在POA共识算法中,区块的验证权不是基于计算能力(如Proof of Work)或者权益(如Proof of Stake),而是依赖于一组已知且可信任的验证人。
在POA网络中,一组称为“验证人”(Validators)的节点被授权验证和打包交易,并生成新的区块。验证人是由网络的管理员或相关权威机构预先选定的。他们必须经过身份验证,并承诺遵守网络的规则和安全协议。
POA共识算法具有以下特点:
- 高吞吐量和低延迟:由于验证人的授权,交易验证和区块生成速度更快。
- 网络安全性:由于验证人经过身份验证且受信任,网络更容易抵御恶意行为和攻击。
- 中心化管理:POA网络依赖于预先选择的验证人,因此较为中心化。这意味着验证人需要高度可信,并且可能存在一定程度的信任问题。
POA算法在一些私有链和联盟链场景中得到广泛应用,特别是在需要高效且可信任的交易验证的情况下。它提供了一种快速、安全和可扩展的共识机制,适用于特定的业务需求和共识模型。
服务器配置
推荐配置
- 具有 4 个以上内核的快速 CPU
- 16GB+ 内存
- 具有至少 300GB 可用空间的高性能 SSD
- 25+ MBit/sec 下载互联网服务
本教程使用配置及工具
- 虚拟机:VMware® Workstation 16 Pro
- 操作系统:Ubuntu20.04 x64 server
- 处理器:6核
- 内存:16G
- 硬盘:50G
- 网络模式:NAT
- 工具:Xshell 7
三个出块节点搭建
客户端
选择
根据以太坊客户端分布网站(Client Diversity | Ethereum),选择个geth客户端;
下载
sudo add-apt-repository -y ppa:ethereum/ethereum
更新可用软件包
sudo apt-get update
安装
Geth:以太坊客户端 ,Bootnode:用于引导节点连接到网络
sudo apt-get install ethereum bootnode
查看geth版本
geth version
卸载
sudo apt remove geth
创建节点目录
在同一台机器里面利用多进程启动三个节点用于POA共识,这里创建ethpoa/node1 node2 node3;