基于泰岳链实现Tendermint POS的细节 (一):选举

本文探讨了基于泰岳链的Tendermint POS共识机制中的选举过程,包括成员通过随机数生成或质押量选择的方式产生,以及如何通过发送节点的nodeinfo信息实现委员会成员间的互联。此外,介绍了epoch的概念以及创世成员如何在下一届生效并建立充分连接。
摘要由CSDN通过智能技术生成

对于公有区块链来说,由于委员会成员会更迭,自然会有成员的退出和更新,本文介绍的是一种POS的实现,委员会之间的通信使用Tendermint,普通节点使用devp2p会存在两个p2p连接。

选举

  • 成员的产生可以通过随机数生成如ETH2.0
  • 通过从POW矿工中寻找满足一定算力的成员 混合共识
  • 通过Balance质押量选择排行前20的成员
获取委员会信息

选举出了委员会成员后,一般只知道它的公钥,并不知道它的IP端口,如何实现委员会成员之间的互联呢。

//CommitteeNode contains  main info of committee node
type CommitteeNode struct {
	IP        string
	Port      uint32
	Port2     uint32
	Coinbase  common.Address  //reward address
	Publickey []byte
}
发送节点nodeinfo信息

将本节点信息用所有委员会成员的公钥加密一遍,

	for _, member := range committeeInfo.GetAllMembers() {
		pubkey, _ := crypto.UnmarshalPubkey(member.Publickey)
		encryptNode, err := ecies.E
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值