译者按:假若你拥有EOS的Token,那么在这个系统中,你最多可以给30个节点候选人投票。为何EOSIO采用这种不同于常见一人一票的机制,设计成1票30投的权重方式呢?本文作者Thomas Cox,知名区块链治理专家,从投票理论、模拟计算、以往的成功经验、区块链法则与现实世界的差异、简易性和效率等方面,给出了介绍和解释。
前言
很多人找到我提建议,把现在EOSIO默认的「同意投票」(Approval Voting)机制,换成其他的什么方式。
具体而言,EOSIO软件默认地给每一个账户投票30个节点的权力。对给定的N个候选人,每个账户的投票者最多可为节点投30张票。这个系统(这里是默认状态;该系统可定制化)会选出得票最高的21个节点作为「活跃节点」,接下来的49个节点作为「备选节点」,而获票第71名及以下的节点将被系统忽略。
此外,每个账户投票权相应于其持有权益Token数量。所以若Alice有100枚权益Token,她就有100票,去投出她中意的30个节点。若Bob有50枚权益Token,他就有50票,去投出他中意的30个节点。若候选节点「EOSfoo」被Alice和Bob投中,则「EOSfoo」得到150分。
为何是「同意投票」机制?
以我对投票机制的理解,「同意投票」并不比「分数投票」效率高,但是两者都优于「排序投票」。
对「排序投票」的研究可追溯到1950年代;可参加「阿罗悖论(Arrow’s Impossibility Theorem)」
因为「阿罗悖论」的发现,我们排除了「排序投票」。我们用贝叶斯分析法(Bayesian analysis)考察了其余的几种投票方式,比较的结果如下图。
图片出自:William Poundstone著作《投票博弈(Gaming the Vote)》一书的239页。 来源: Electology.org
待选的投票机制如下:
随机选取(Random Winner)
多数制(Plurality voting)(目前美国的标准)
波达计数法(Borda count)
孔多塞方法(Condorcet method)
积分投票(Score voting)
同意投票(Approval voting)
显而易见,「积分投票」优于「同意投票」,但「同意投票」更简单,胜于其他其他投票机制。
这是对单一首选人的模拟,用这种方法选出21个节点的的话,就很困难了。因此,我们选择「同意投票」是兼顾了简易和效率
这就是为何我们将「同意投票」作为EOSIO默认的机制。
如果你想要EOSIO采用不同的投票系统,我鼓励你在主网上线后,提交章程修正案,或说服多数节点和投票者安装其他默认的系统。(如果你用EOSIO作为私有链或衍生链(alternative chain),当然可以自由选择自己偏爱的默认投票系统。)
为何每个账户有30张选票,而非1张?
EOSIO社区的合伙人Todor,在模拟了EOSIO 节点的「同意投票」,从每个账户可投1张到50张不同情况。他的数学模拟表明,比起每账户1票,30票的风险更小,特别是该区块链被少数派把持时。
对我来说,过去几年BitShares和SteemIt的区块链上,每个账户有多枚选票,而取得稳定和成功的事实,是个好的迹象。
为何是基于权重的投票机制?
现实中,我们习惯了一人一票,至少理论上如此。许多基于DPOS共识的区块链,如Bitshares和Steemit,都采用了基于权重的投票机制。这或许能成为「一代币,一选票」,但每个账户实际有30张选票,每张选票(如上所述)的投票权相应于其持有权益Token数量。每个节点的总票数等于投给它们的权益Token数量。
这样不就是寡头垄断和金权政治,由富人统治么?
好吧,的确。区块链是专属于财富的;它不设监狱,不能因人们暴力犯罪而起诉,不能界定或保卫国界,或是维持军力。「一人一票」在现实世界如此重要,以致这样的制度不会出现在基于财富的区块链世界里。拥有越多的Token或许带来越大的权力,也暴露在更大的风险中。拥有越多Token也意味着受区块链上负面的影响更大。
不止是金权政治
尽管如此,还有些建议称,EOSIO软件应该允许多样的「重心」参与投票。当前基于Token的投票模型,应被额外且无关的投票机制所平衡。这样的机制下,拥有投票权的包括。
一位「强身份」的投票者投一票(「强身份」符合证明其是人类的一些标准)
一位DApp开发者投一票(票权是浮动的,由该DApp的热度决定)
一个节点投一票
一个链上供应商投一票
等等…
在基于Token的投票系统中,这些平行相关的机制都是浮动变化的。以Token量为投票权重的投票者与英国上议院议员相似,而其他的制衡机制下的投票者,则如同下议院议员(或是Dapp议员之类的)。
投票系统的总体规划服从于整个系统的的决策(修订章程,升级协议等),以使得大多数甚至绝大多数选票投向这两个议院。
这些关于多议院的设想,还没有在公链上验证过,不过我非常想看到,一旦施行它们会有怎样的进展。
在六月EOS主网上线时,这些设想也不会作为默认软件设置得到充分开发。
幸运的是,EOS社区被授权以两种方式调整既定的章程。一是,在主网上线之际采用不同的章程。二是通过修正流程,在主网上线后修改已采用的章程。
总结
最重要的是,我们期望在Token数量为权重的限制范围内投票,从而更好地选择节点。
总之,我们能够期待基于区块链的EOSIO软件采用「同意投票」。在其他的基于DOPS共识的区块链中,「同意投票」有着良好的过往成就,而且根据先前遇到的问题做过相应调整。
我们也能期待「同意投票」会有相当好的结果(远好于其他投票机制),我们期待它有相当简约的用户体验(因为每个账户最多投30票),这取决于社区创建的接口(或只用命令行工具)。
最重要的是,我们期待这种在权重系统范围内的投票,能够有足够好的节点选择结果。
参考链接:
同意投票(Approval voting),又称为“认可投票”或“赞成投票”,是一种在选举中可以多选的投票制度。https://en.wikipedia.org/wiki/Approval_voting
阿罗悖论(Arrow’s Impossibility Theorem),是说如果成员具有不同的偏好,又面临多种备选方案,那么在多数票规则下,不可能得到所有人都满意的结果。https://en.wikipedia.org/wiki/Arrow%27s_impossibility_theorem
领取专属 10元无门槛券
私享最新 技术干货