【链块技术 06期】共识机制:DPOS


POW机制和POS机制虽然都能有效地解决记账的一致性共识问题,但是现有的比特币POW机制纯粹依赖算力导致专业从事挖矿的矿工群体似乎已和比特币社区完全分隔,某些矿池的巨大算力俨然成为另一个中心,这与比特币的去中心化思想冲突

POS机制虽然考虑到了POW的不足,但依据权益结余来选择,会导致首富账户的权力过大,可能支配记账权。

股份授权证明(Delegated Proof of Stake, DPOS)的出现正是基于解决POW机制和POS机制的这类不足。

DPOS与POS原理相同,主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。

BitShares社区首先提出了DPoS机制

比特股是一类采用DPOS机制的密码货币,它期望通过引入一个技术民主层来减少中心化的负面影响。

比特股引入“见证人”的概念,见证人可以生成区块。每个持股人都可以投票选举见证人,得到总票数前N(通常为101)的候选者可以当选见证人。见证人的候选者名单每个维护周期(1天)更新一次。

见证人随机排列,每个见证人按序有2秒的权限时间生成区块,若见证人在给定时间内无法生成区块,区块生成权限交给下一个时间片对应的见证人。

DPoS这种设计使得区块生成更快捷,也更节能。投票选出的N个见证人的权利对等,如果它们宕机或者作恶,持股人可以随时投票更换见证人。

DPOS机制涉及如下几个问题:

1. 持有股票

直接在交易平台上购买比特股即可。

2. 成为代表

成为一名代表,你必须在网络上注册你的公钥分配到一个32位的特有标识符,该标识符会被每笔交易数据的“头部”引用。

3. 授权选票

每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将其分级。

一般情况下,用户不会创建特别以投票为目的的交易,因为那将耗费他们一笔交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。

4. 保持代表诚实

每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。

如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。

5. 抵抗攻击

在抵抗攻击上,因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权,并且,如果当前记账节点不记账则由下一个记账人记账。

因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上,毕竟,同时收买100个代表的难度很大。

因为有100名代表,可以想象一个攻击者很难对每名轮生产区块的代表依次进行拒绝服务攻击。

而且,由于事实上每名代表的标识是其公钥而非IP地址,使得确定拒绝服务攻击目标更为困难,这种特定攻击的威胁很容易被减轻。

6. 代表竞选

比特股还设计了另外一类竞选,代表竞选。

选出的代表拥有提出改变网络参数的特权,包括交易费用、区块大小、见证人费用和区块区间。

若大多数代表同意所提出的改变,持股人有两周的审查期,这期间可以罢免代表并废止所提出的改变。

这一设计确保代表技术上没有直接修改参数的权力以及所有的网络参数的改变最终需得到持股人的同意。

DPOS机制遵从如下几条基本原则:

1. 持股人依据所持股份行使表决权,而不是依赖挖矿竞争记账权。

2. 最大化持股人的盈利。

3. 最小化维护网络安全的费用。

4. 最大化网络的效能。

5. 最小化运行网络的成本 (带宽、CPU等)。

所以,概括来看:

1. DPOS机制相比于POS大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。

2. 在一定程度上解决拒绝服务攻击和潜在作恶节点联合作恶问题。

3. 但是,DPOS机制还是依赖于代币,然而很多商业应用是不需要代币存在的。

4. 另外,DPOS并没有解决首富作恶的问题。

参考文献:

[1]邹均,张海宁等.区块链技术指南[M].北京:机械工业出版社,2017

本文作者:魏红心,链块学院执行院长,清华大学电子系博士

链块学院:专注于区块链技术研发与教育



--------------END--------------

本文完,获取更多资讯,敬请关注区块链工程师。

猜你喜欢

转载自blog.csdn.net/liankuaixy/article/details/79820710