Go Ethereum Meitu 以太坊的 DPoS 算法实现 项目简介
Go Ethereum 项目是美图技术团队在以太坊上实现的 DPoS 算法,是以太坊协议的 Go 语言实现,目前尚处于实验阶段。查看官方的实现版本>>>https://www.oschina.net/p/go-ethereum基于 Ethereum(1.7.3版本) 实现 DPoS 共识算法以太坊当前代码里面已经包含了几种共识算法的实现:PoW 在主网使用FakePow 在单元测试使用PoA(Proof of Authority) 在测试网络中使用为了在代码中实现多种共识算法,以太坊抽象了一套共识算法接口,实现不同的共识算法只要实现几个接口即可。另外由于 DPoS 为了避免每次选举都从创世块开始回放历史数据,增加了几个全局状态树用来记录选举和投票的状态, 并把树对应的 root 存储到块头,其中包括:EpochTrie 记录每个周期的验证人列表VoteTrie 记录投票人对应验证人CandidateTrie 记录候选人列表DelegateTrie 记录验证人以及对应投票人的列表MintCntTrie 记录验证人在周期内的出块数目