共识机制DPOS
发布于 3 个月前 作者 stvenyin 329 次浏览 来自 杂谈

比特股官方:

  • https://bitshares.org/technology/delegated-proof-of-stake-consensus/
  • 委托的证明共识
  • 强大而灵活的共识协议
  • 委托证明(DPOS)是最快,最有效,最分散,最灵活的共识模型。DPOS利用利益相关方批准投票的权力,以公平和民主的方式解决共识问题。所有网络参数,从费用表到阻止间隔和交易规模,都可以通过当选代表进行调整。块生产者的确定性选择允许在平均仅1秒内确认交易。也许最重要的是,共识协议旨在保护所有参与者免受不必要的监管干扰。
  • BitShares首先是一个全球分布式数据库,用作分类账来跟踪数字资产的所有权。必须验证分类帐的所有更新并按正确的顺序应用,以使数据库保持一致并得到普遍认同。达成关于应用更新顺序的共识是委托证明(DPOS)的目的。
  • 概观
  • 任何共识流程必须回答的问题包括但不限于:
  • 谁应该生成下一个更新块以应用于数据库?
  • 什么时候应该生产下一个块?
  • 块中应包含哪些事务?
  • 如何应用协议的更改?
  • 如何解决竞争交易历史?
  • 目标是找到这些问题的答案,以确保共识流程对于希望获得对网络的控制权的攻击者是强大的。在实践中,获得控制意味着获得单方面审查交易的能力。对于希望利用不同计算机上数据库状态的临时不一致的攻击者而言,该过程也应该是健壮的。
  • 被选中的证人阻止生产
  • 选择证人一词是因为它是一个不受监管的法律中立的词。传统合同通常有证人签字的地方。对于极其重要的合同, 有时会使用公证人。证人和公证人都不是合同的当事方,但他们在证明合同是在指定时间由指定人员签署时起着非常重要的作用。在BitShares中,证人通过将它们包含在块中来起到验证签名和时间戳事务的类似作用。
  • 根据DPOS,利益相关者可以选出任意数量的证人来产生障碍。块是一组更新数据库状态的事务。每个帐户允许每个证人每人一票,这个过程称为批准投票。选择完全批准的前N名证人。确定证人的数量(N),使至少50%的投票利益相关者认为有足够的权力下放。当利益相关者表达他们想要的证人数量时,他们也必须至少投票给那么多证人。利益相关者不能投票支持更多的权力下放,而不是他们实际投票的证人。
  • 每次目击者制作一个街区时,他们都会获得服务费。他们的工资率由利益相关者通过他们选出的代表设定(稍后讨论)。如果证人未能产生阻止,则他们不会获得报酬,并且可能在将来被投票。
  • 当计票结果时,每个维持间隔(1天)更新一次活跃证人的名单。然后将证人洗牌,并且每个证人轮流以每2秒一个街区的固定时间表产生一个区块。在所有目击者转过身后,他们再次洗牌。如果见证人在他们的时间段中没有产生一个阻止,则跳过该时间段,并且下一个证人产生下一个阻止。
  • 任何人都可以通过观察证人参与率来监控网络健康状况。从历史上看,BitShares一直保持99%的证人参与。任何时候证人参与都低于某个水平,网络用户可以留出更多时间进行交易确认,并对其网络连接保持警惕。此属性使BitShares具有独特的优势,能够在出现问题后不到1分钟内提醒用户潜在问题。
  • 选举代表的参数更改
  • 代表的选举方式与证人相似。委托人成为特殊帐户的共同签名者,该帐户有权提议更改网络参数。此帐户称为创世帐户。这些参数包括从交易费用到块大小,见证工资和块间隔的所有内容。在大多数代表批准了拟议的变更之后,利益相关者将获得2周的审核期,在此期间他们可以投票给代表并使提议的变更无效。
  • 选择此设计是为了确保代表在技术上没有直接的权力,并且所有对网络参数的更改最终都得到利益相关方的批准。这样做是为了保护代表免受可能适用于加密货币管理者或管理员的规定。根据DPOS,我们可以真实地说,行政权力掌握在用户手中,而不是代表或证人。
  • 与证人不同,代表不是有偿职位。但是,预计这些参数不会经常变化。
  • 的成因帐户在技术上可以执行任何其他帐户可以执行任何动作,这意味着它可以发送资金的成因帐户或指定成因帐户作为托管代理。该创世记也可用于发放新的资产。当选的代表可以帮助利益相关者执行需要高度信任和问责的任务,这些申请数量众多。
  • 改变规则(又名硬叉)
  • 有时,有必要升级网络以添加新功能。根据DPOS,所有变更必须由积极的利益相关方批准触发。虽然证人在技术上可以单方面串通和更改软件,但这样做并不符合他们的利益。根据他们对区块链政策保持中立的承诺来选择证人。剩余的中立者保护证人免受他们是网络的管理员/经理/所有者/运营商的指控。证人仅仅是利益相关者的雇员。
  • 开发人员可以实施他们认为合适的任何变更,只要这些变更取决于利益相关方的批准。该政策保护开发人员,同时保护开发人员,并确保任何人都无法单方面控制网络的方向。
  • 更改规则的门槛与替换51%的当选证人相同。利益相关者参与选举证人越多,改变规则就越难。
  • 最终,改变规则取决于网络上的每个人升级他们的软件,并且没有区块链级协议可以强制执行规则的更改。这意味着可以推出难以解决的“错误修复”而无需利益相关者的投票,只要他们仍然忠实于代码的普遍预期行为。
  • 实际上,只有安全关键的硬叉才能以这种方式实施。开发人员和证人应该等待利益相关者批准即使是最微小的变化。
  • 双重攻击
  • 只要区块链重组排除了之前包含的交易,就可以进行双重支出。这意味着证人因互联网基础设施中断而导致通信故障。使用DPOS,通信故障实现双重花费攻击的可能性非常低。
  • 网络能够监控自身的健康状况,并能立即发现任何通信中的丢失,这些损失表现为证人未能按计划生成阻止。当发生这种情况时,用户可能需要等到一半证人确认了他们的交易,这可能长达一两分钟。
  • 交易作为股权证明
  • 网络上的每个事务可以可选地包括最近块的散列。如果这样做,交易的签名者可以确信他们的交易可能不适用于任何不包括该块的区块链。这一过程的一个副作用是,随着时间的推移,所有利益相关者最终都会直接证明交易历史的长期完整性。
  • 区块链重组
  • 由于所有证人都是当选的,高度负责任的,并且授予专门的时间来制作街区,因此很少有任何情况可以存在两个竞争链。网络延迟会不时地阻止一个见证人及时接收到先前的阻止。如果发生这种情况,下一个证人将通过建立他们首先收到的任何一个块来解决问题。有99%的证人参与,一次交易有99%的机会在一名证人后得到确认。
  • 虽然该系统对于自然链重组事件具有强大的功能,但仍有一些潜在的软件错误,网络中断或无能或恶意证人可能会创建超过一两个块的多个竞争历史。软件始终选择具有最高见证参与率的区块链。独立运作的证人每轮只能产生一个区块,参与率总是低于大多数。任何证人(或少数证人)都无法制作出具有更高参与率的区块链。参与率的计算方法是将预期的块数与实际生产的块数进行比较。
  • 最大分散化
  • 根据DPOS,每个利益相关者都具有与其利益成正比的影响力,并且没有利益相关者被排除在行使这种影响之外。市场上的所有其他共识系统都不允许绝大多数利益相关者参与。替代品排除利益相关者的方式有很多种。一些替代方案使用仅邀请系统。其他人通过使参与成本高于他们的收入来排除参与。还有其他系统在技术上允许每个人参与,但是一些大型玩家可以安全地忽略它们,这些玩家生产绝大多数的块。只有DPOS才能确保大多数人能够平均分配块生产,并且每个人都有经济可行的方式来影响这些人。
回到顶部