选择'witness(证人)'这个词是因为它是法律中代表中立的词汇(在这里我用矿工表示)。通常的智能合约都是需要矿工的签名。对于尤其重要的合约是需要一个公共的公证员来签名。矿工和公正员都不是合约的一员,但是他们对于合同是在指定的时间由指定的个人签署的的认证中起着非常重要的作用。在比特股中,矿工有一个和认证块中包含的交易的签名和时间戳相似的作用。
在DPOS下,利益相关者可以选择任何数量的矿工来生成块,块是一组更新数据库状态的交易。每个账户允许给每个矿工投一票,这个过程被称为批准投票。通过总审批的前N名矿工被选中,证人的数量(N)被定义至少有50%的利益相关者认为这个数字可以分权。当利益相关者表达了他们期望的证人数字N,他们也必须给至少N个证人投票。利益相关者不能投票支持比实际投票的证人更多票。
矿工每生成一个区块,他们会得到一些奖励,他们的奖励由利益相关者通过他们选出的代表来决定。如果一个矿工生产区块失败,那么他将不回得到奖励,并且在未来可能被投出。
活跃矿工的名单在每次维护间隔(1天)内更新一次。然后被洗牌,并且每个矿工轮流在每2秒一个固定的时间表内产生一个块。所有的矿工都轮到以后,将进行一次洗牌。如果矿工在他们的时间段内没有产生一个区块,那么该时隙将被跳过,然后下一个矿工挖下一个区块。
任何人都可以监控网络健康通过观察矿工的参与率,任何时候矿工的参与低于一定水平,网络用户可以允许更多的时间进行交易确认,并且对他们的网络连接要格外警惕。此属性为BitShares提供了独特的优势,即在故障发生后不到1分钟,就可以提醒用户潜在的问题。
通过选定的代表进行参数更改
代表以与矿工类似的方式选出。 代表成为特殊帐户的共同签名者,该特殊帐户有权提出对网络参数的更改。 这个帐户被称为创始帐户。 这些参数包括交易费用,块大小,矿工工资和块间隔。 在大多数代表批准了拟议的变更之后,利益相关者被授予2周的审查期,在此期间他们可以对代表投票并使提议的变更无效。
这种设计的选择是为了确保代表在技术上没有直接的权力,网络参数的所有变化最终都得到了利益相关者的认可。 这样做是为了保护代表不受可能适用于加密货币的经理或管理员的规定的影响。 在DPOS下,我们可以确切地说,行政权力掌握在用户手中,而不是代表或证人。
与矿工不同的是,代表们不是有偿职位。 但是,这些参数预计不会经常变化。
起源账户在技术上可以执行任何其他账户可以执行的任何操作,这意味着可以将资金发送到起始账户或指定起始账户作为托管代理。 创始账户也可以用来发行新的资产。 选举代表可以帮助利益相关者执行需要高度信任和责任感的任务,其数量不胜枚举。
更改规则
有时需要升级网络来添加新的功能。 在DPOS下,所有的改变都必须由积极的利益相关者的批准来触发。 虽然矿工在技术上可能单方面串通和改变他们的软件,但这样做并不符合他们的利益。 矿工的选择是基于他们对区块链政策保持中立的承诺。 保持中立保护矿工免受网络的管理人员/管理人员/业主/经营人的指控。 矿工只是利益相关者的雇员。
开发人员可以实施他们认为合适的任何更改,只要这些更改取决于利益相关方的批准。 这一政策对开发者的保护就像保护利益相关者一样,并确保没有任何人单方面控制网络的方向。
改变规则的门槛与替换51%的当选矿工相同。 利益相关者参与选举矿工越多,就越难改变规则。
最终,更改规则取决于网络上的每个人升级他们的软件,没有区块链协议可以强制如何改变规则。 这意味着只要坚持代码普遍预期的行为,就可以在不需要利益相关方投票的情况下推出硬分支“错误修复”。
在实践中,只有安全关键的硬件应该以这种方式来实施。 开发商和矿工应该等待利益相关者批准即使是最微小的变化。
最大限度地分散
在DPOS下,每个利益相关者的影响力与其利益成正比,没有利益相关者被排除在影响之外。 市场上的其他每一个共识系统都不包括绝大多数利益相关者的参与。 有许多不同的方法可以替代利益相关者。 一些替代方案使用仅限邀请的系统。 其他人通过让参与费用高于他们的收入来排除参与。 其他的系统在技术上允许每个人都参与,但是他们可以安全地被一些产生绝大多数块的大型玩家所忽视。 只有DPOS确保块生产平均分配给大多数人,每个人都有一个经济上可行的方式来影响这些人是谁。
本文翻译自
https://bitshares.org/technology/delegated-proof-of-stake-consensus/ 的一部分
EOS中文社区:eosfans.io DPOS 区块生产者的选举