Go Ethereum Meitu 以太坊的 DPoS 算法实现开源项目

我要开发同款
匿名用户2018年06月15日
47阅读
开发技术Java
所属分类Web3、区块链
授权协议LGPL

作品详情

GoEthereum项目是美图技术团队在以太坊上实现的DPoS算法,是以太坊协议的Go语言实现,目前尚处于实验阶段。

查看官方的实现版本>>>https://www.oschina.net/p/go-ethereum

基于Ethereum(1.7.3版本)实现DPoS共识算法

以太坊当前代码里面已经包含了几种共识算法的实现:

PoW 在主网使用

FakePow 在单元测试使用

PoA(ProofofAuthority) 在测试网络中使用

为了在代码中实现多种共识算法,以太坊抽象了一套共识算法接口,实现不同的共识算法只要实现几个接口即可。另外由于DPoS为了避免每次选举都从创世块开始回放历史数据,增加了几个全局状态树用来记录选举和投票的状态,并把树对应的root存储到块头,其中包括:

EpochTrie记录每个周期的验证人列表

VoteTrie记录投票人对应验证人

CandidateTrie记录候选人列表

DelegateTrie记录验证人以及对应投票人的列表

MintCntTrie记录验证人在周期内的出块数目

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论