译文/Translated:
创造比特币的初衷在于分散管理区块制造,因此,不存在单点失败或单点控制。其思维逻辑在于随机从人群中择出制造区块的人,并为其贡献提供奖励。为防止通过制造“虚假机器”玩弄选择过程,中本聪引入了工作量证明(proof of work)。每台电脑必须进行无法造假的计算机乐透(碰运气)。
假设计算机能力在人群中平均分配,其结果是真实的去中心化系统,其中没人受到控制,并且它需要51%的人勾连才能删除数据。而对于中本聪和社会而言,不幸的是计算能力平均分配的假设从一开始就是无效的,因此,此上所建立的一切都是无从谈起。
生活及自然界中大多数事物的分配都是依据帕累托法则(Pareto Principle),该法则指出,大多数资源、技能、效率、能力都在少数人的掌控中。多数情况下,这一法则可以极端地视为1%的人拥有51%的资源。使用工作量证明只有少数人能够获取便宜的运算能力、高效的芯片和所需的技术技能。
而更糟糕的是,工作量证明可以轻易地授权/外包;由此,矿池被占领。规模经济意味着只有少数的矿池有意义,最终,51%区块制造仅仅由少数人执行,并且这一部分的人是由数量稍多但仍然算少的专业挖矿团体所选出。由此可合理假设,99.99%的区块是由0.01%的比特币使用人群所制造。
权益证明(Proof of Stake)也受到帕累托法则的限制
任一系统的权益分配也是依据帕累托法则进行。这意味着权益证明网,包括授权的权益证明网也被潜在资源的自然分布所“中心化”。虽然更多的人有投票的机会,但相较于大量的利益相关者,少数利益相关者之间的协调较少,并且不太有动力参与投票。其结果便是只有顶端活跃的代币持有者在控制之中,而这些顶端持有者通常为控制其他人的交易所。因此,虽然如EOS般,区块链上有“21”个区块制作者席位,但很可能是由少于21位的各方进行选择。
似乎对于任何客观的计算方法而言,区块链可以选择,但帕累托法则会发挥作用,将控制权集中至少数个体手中。如果我们希望制作出增加受控独立方数量的东西(并由此将控制权去中心化),我们必须将帕累托法则计算在内。
去中心化与多重独立帕累托分布
每一个帕累托分布都将控制权集中至少数拥有天然优势的人手中;但如果使用多重独立或理想的多方独占测量,便可以以帕累托分布的数字成倍增加去中心化的水平。
想象一下,您有一个ASIC优化算法、一个GPU优化算法、一个CPU优化算法、一个权益加权算法、一个权益-时间加权算法,并确保矿池的建造不会对所有算法产生影响。在这种模式下,同一个人不可能在所有指标上都享有同等优势。 因此,有更多的人参与其中。
去中心化的EOS治理
亚洲社区所选出的21位区块制作者引起了极大的关注。通过指控选票买卖,该社区从大型交易和合作中获益。事实上,亚洲社区控制着授权的权益证明,就像他们控制比特币挖矿那样。即便能够实现一人一票,无中心化身份验证,亚洲中心化的情况仍将继续。
去中心化区块链管理的挑战在于将多重矩阵相结合。举例而言,如果可将区块制作者以一国一位的基础进行分配,无视人口密度或任何指定国家的财富情况,由此可以将该网络在全球规模上进行去中心化。这就是美国参议院及众议院的基础,防止纽约和加利福利亚控制其他48州。
虽然我们无法使用主观矩阵实现区块链的去中心化,但我们可以使用多重客观矩阵实现控制权的去中心化。
预防女巫攻击(Sybil attack)
去中心化网络所要做的第一件事就是必须让人们不再通过多个账户分拆资源,以此愚弄系统。在权益投票方面,这意味着我们希望鼓励用户巩固自身资源,而不是分拆。最简单的方法是通过计算将STAKE提升到1.x的帐户的投票权重来按比例调整影响。 在此模型下,具有2个代币的一个帐户比具有1个代币的2个帐户具有更大的影响力。
然后让每个账户选择,为唯一的一个区块制作者投票。拥有2个代币支持一位制作者的人比分拆代币支持两位制作者拥有更大的影响力。
从可证明的去中心化角度而言,我们必须假设所有为制作者投票的权益均为该名制作者所有。虽然一名制作者可以拥有1000名支持者,我们不知道他们是否“真实”,或仅仅是通过购买投票而“出租的”。因此,我们必须假设一名制作者祈求、借用、偷取或购买选票,以此使自己中选。
依据此“保守”假设,我们可以构建DPOS模型,用以选出顶端的21位权益持有者控制该网络。帕累托分布为递归型,因此顶端的4位权益持有者将拥有顶端21位的80%权益,而位于首位的权益持有者将拥有51%的权益。若该名权益持有者将自身权益分拆进21个账户,那么依据线性投票权重,他们很可能制造21个账户,每一个账户的票数都超过他人。而依据非线性投票权重,拆分代币的影响力惩罚抵消了比他人拥有更多代币所创造的优势。
因此,去中心化的第一步就是确保至少顶端的21个席位是由最富有的21个人所掌控,而不是由最富有的人所持有的15/21个马甲所掌控并让其余个人争抢剩下的7个席位,这并不足以抵御拜占庭故障。
显然帕累托分布拥有多个等级,而EOS的权益分配并不如以上那么极端;但是,可以合理假设,使用线性投票权重,少于21个真正的独立方会最终处于控制状态。它可能反应出比特币矿池所见的中心化,由少数人控制21个席位的现象。
规模经济
之所以购买投票会导致中心化是因为规模经济。虽然21位制作者可能了解区块链,但却无法强迫这些制作者在独立硬件上操作。因此,一方可以捕获足够的票数,购买两个马甲,用固定的支出获得两倍收入,相较于只能获得21个席位之中一个的人,他能够购买更多票数。
这对于比特币矿池而言也一样。虽然可能存在2个不同的“记录池”,却无法确切地知道其背后是否存在单一节点。
去中心化需要能够对抗规模经济的方案,因为说到底正是规模经济创造了帕累托分布。为此,我们必须实施多重独立经济,以不同的方式界定规模。
为RAM赋予投票权重
试想,RMA持有者选出几个区块制作者的情况。随着网络规模和RAM供应的增加,持有RAM存在经济成本。除非真的需要RAM,否则购买RAM仅仅为了增加影响力,长此以往会是一件非常昂贵的交易。一些人无法同时持有EOS和RAM中的财富;因此,他们必须进行选择,而由于存在上述的超级线性投票权重系统,分拆自身财富的做法也会削弱他们在系统中的总影响力。
持有RAM是实际使用网络的人的一种代理,而赋予这些人影响部分区块制作者的能力十分有用,这能有效将关心代币价格(EOS)和关心实用性(RAM)中投票者的利益去中心化。
赋予权益-时间投票权重
拥有大量权益的人被分拆进了两个阵营,一边需要流动性(交易),而另一边则作长期打算,并不需要流动性。我们可以通过赋予长久持有代币的人更多的影响力,以此增加去中心化。给每个用户的投票权重与权益-天数*(权益2)成比例。持有一个代币1000天的人的影响力将是持有一个代币一天的人的1000倍。如果权益-时间投票用户能够选出一些制作者,我们便可以保证最富有的那部分人无法控制所有席位,除非他们也是持有最长久的人。此外,富有的个人若想要使用权益-时间和权益-权重投票则必须分拆自身权益,这将总体弱化他们的影响力。
显然,持有时间存在逐渐降低的回报。持有1代币一万亿年并不会超越一起。因此,应当存在数年的最长持有时间。
无限的权益-时间投票权重
试想,若有人刻意将自身持有的代币永久锁定。这种行为就相当于焚烧代币或直接在前21席中买入一个位置。这种焚烧行为有益于其他所有代币持有者,并且增加了话语权。为保持这一位置,则必须不断焚烧比其他人更多的代币。这便是工作量证明的经济等效行为,此行为并不是为了电力公司的经济效益而烧电,而是焚烧代币为代币持有者带来经济效益。这种方法的优点是可以进行工作量证明,而不会偏向那些有权使用特定资源和技能的人。
奖励未投票的用户
奖励未投票的人是从治理方程式中移除不感兴趣的各方,并且统一意见的最佳方式。在这种机制下,想要收钱卖控制权的人能自愿与想拿钱买的人进行交易。为劝阻人们不要只取现金而无视风险,投票奖励的分发将与权益-时间投入成比例。投入1000天的人将比投入1天的人获得更多比例的未投票奖励。由此,未投票者对网络的投入获得了回报,并且相信长期治理处于良好的掌控之中。持有时间应设有限制,以防止长期持有者垄断。
摘要
总体而言,我建议社区审查的是将21个制作者分为4类:
- 8 — 权益²
- 8 — 天数*权益²
- 3 — RAM
- 2 — (平均焚烧/天数)²
选举团
相较于制作者必须选择一个类别,并且限制21个席位中的数量,网络应该选择100位代表,并且使用一人一票的赞同投票,以此选出21位区块制作者。这增加了间接水平,赋予人们更多的话语权,而不用牺牲区块链表现,且能防止制作者不得不选择一个类别。
这种治理结构主要的挑战在于复杂性。我们应该说最简单的治理结构就是中心化的王权。我相信,复杂性和去中心化之间存在一个连续统一体,任何简单的系统都将由于帕累托法则的存在而被中心化。而复杂性如果使规则复杂得难以执行便会很危险。
区块链工作量证明
在一种工作量证明模式下,一条区块链应当在每个区块之后变换哈希算法,而选择的算法应当不被矿池的创建所影响。通过要求使用私钥来控制比区块奖励更多的资金,以用作工作证明的一部分,以此使上述行为成为可能。任一矿池将不得不将自身私钥分配给所有矿池的成员,其中任何人都可以带着资金离开。其结果便是再无矿池存在。
结论
我希望这篇文章能引发更多必要的讨论,商讨如何增加去中心化、突破规模经济和帕累托分布,并打破其所产生的影响。
免责声明:此间观点皆为我个人所有,并不代表我的雇主(block.one)的意见,我可能随时对其进行变更。
原文/Original:
Bitcoin was created with the intent of decentralizing control over block production so that there is no single point of failure or control. The idea is to randomly select people from the population to produce blocks and reward them for their contribution. To prevent gaming the selection process by creating “fake machines”, Satoshi introduced proof of work. Each computer had to perform a computational lottery that cannot be faked.
Under the assumption that computational power is evenly distributed among the population, the result is a truly decentralized system where no one is in control and it requires 51% of the population to collude to censor data. Unfortunately for Satoshi and society, the assumption of evenly distributed computational power is fundamentally invalid and therefore everything built upon it is invalid.
Most things in life and nature are distributed according to the Pareto Principle where the majority of the resources, skills, efficiencies, and capabilities are in possession of the minority. In many cases this can be as extreme as 51% owned by 1%. With proof of work, only a small percentage of people have access to cheap power, efficient chips, and technical skills required.
To make things worse, proof of work is something that is easily delegated / outsourced; therefore, mining pools have taken over. Economies of scale mean that only a small number of mining pools make sense and ultimately 51% of block production is performed by just a handful of people and this handful is selected by a slightly larger, but still quite small, group of professional miners. It would not be unreasonable to assume that 99.99% of blocks are produced by 0.01% of the Bitcoin using population.
Proof of Stake is also limited by Pareto Principle
Stake in any system is also distributed according to the Pareto Principle. This means that proof of stake networks, including delegated proof of stake networks, are also “centralized” by the natural distribution of the underlying resource. While more people have the opportunity to vote, the small stake holders are less coordinated than the large stake holders and have less incentive to participate in voting. The result is a situation where only the top active token holders are in control, often these top holders are exchanges holding other peoples. So while there may be “21” producer slots on blockchains like EOS, they are potentially selected by fewer than 21 parties.
It seems that for any given objective metric that a blockchain could choose, the Pareto Principle will act to centralize the control into a handful of individuals. If we want to engineer something that increases the number of unique parties in control (and therefore decentralizes control), then we must account the the Pareto principle.
Decentralize via Multiple Independent Pareto Distributions
Each Pareto distribution centralizes control into a few parties who have natural strengths; however, if you utilize multiple independent or ideally mutually exclusive measurements, then you can multiply the level of decentralization by the number of Pareto distributions.
Imagine for a moment that you had an ASIC-optimized algorithm, a GPU-optimized algorithm, a CPU-optimized algorithm, a stake-weighted algorithm, a stake-time weighted algorithm and ensured that all such algorithms are resistant to the creation of mining pools. Under such a model it is unlikely that the same people can be equally advantaged in all metrics; therefore, there are many more people involved.
Decentralizing EOS Governance
There has been considerable concern over the 21 block producers being selected by the asian community. This community has the advantage of major exchanges and cooperation via accusations of vote buying. The reality is that the asian community is controlling delegated proof of stake like they control bitcoin mining. Even if it were possible to implement o one-person-one-vote without centralized identity validation, the asian centralization would continue.
The challenge of decentralizing blockchain governance is to combine multiple metrics. For example, if it were possible to allocate block producers on a one-per-country basis, then the network could be decentralized on a global scale regardless of concentrations of population or wealth in any given country. This is the basis of the Senate and House in the United States, which prevents New York and California from controlling the other 48 states.
While we can not utilize subjective metrics to decentralize blockchain, we can use multiple objective metrics to decentralize control.
Preventing Sybil Attacks
One of the first things a decentralized network must do is discourage people from gaming the system by dividing their resources among multiple accounts. When it comes to stake voting this means that we want to encourage users to consolidate their own resources rather than divide. The easiest way to do this is to bias the influence to scale by calculating the vote weight for an account to be STAKE raised to 1.x. Under this model one account with 2 tokens has more influence than 2 accounts with 1 token.
Then give each account the option to vote for only one block producer. Someone with 2 tokens can have more influence supporting one producer than dividing their tokens and supporting 2 producers.
From the perspective of provable decentralization, we must assume that all stake that votes for a producer is owned by that producer. While one producer may have 1000 supporters, we don’t know whether they are “real” or merely “rented” via vote buying. Therefore, we must assume that a producer has either begged, borrowed, stolen, or purchased the stake that is used to get them elected.
Under this “conservative” assumption, we can model DPOS as electing the top 21 stake holders to control the network. The Pareto distribution is recursive, so the top 4 stake holders would have 80% of the stake owned by top 21 and that the top stake holder will have over 51% of the stake. If this stake holder were to divide their stake among 21 accounts, then under a linear voting weight they could likely produce 21 accounts each of which has more votes than any of the others. Under non-linear vote weight, the influence penalty for dividing their tokens neutralizes their advantage created by having more tokens than everyone else.
So the first step toward decentralizing is to ensure that at the very least, the top 21 slots are controlled by the 21 richest people and not 15/21 sock puppets owned by the richest person while everyone else fights over the last 7 slots which is not enough to prevent byzantine failure.
It should be obvious that there are various degrees of Pareto distribution and that EOS stake distribution isn’t as extreme as used above; however, it is not unreasonable to assume that with a linear vote weight that fewer than 21 real unique parties will end up in control. It would probably mirror the centralization seen in Bitcoin mining pools with just a handful of people controlling all 21 slots.
Economies of Scale
The reason vote buying results in centralization is due to economies of scale. While the blockchain may know about 21 producers, it has no way to enforce that those producers are operating on independent hardware. Therefore, a party who can capture enough votes to buy two sock puppets has twice the revenue with fixed expenses and can afford to pay more for votes than a party that can only capture 1 of 21 slots.
The same is also true for Bitcoin mining pools. While there may be 2 different “pools of record”, there is no way to know for certain that there isn’t a single node behind it all.
Decentralization requires solutions that can counteract economies of scale because it is economies of scale that creates the Pareto distributions in the first place. To do this we must implement multiple independent economies that define scale differently.
Giving RAM Voting Weight
Imagine if RAM holders got to elect several block producers. Holding RAM has economic cost as the network scales and RAM supply increases. Unless you really need RAM buying RAM just to gain influence is a very expensive trade over the long-term. Someone cannot hold their wealth in both EOS and RAM at the same time; therefore, they must choose and the result of dividing their wealth also reduces their total influence in the system because of the super linear vote weighting system proposed above.
RAM holding is a proxy for those who are actually using the network and giving these parties influence over some of the block producers is useful in decentralizing the interests of voters between those who care about token price (EOS) and those who care about utility (RAM) holders.
Giving Stake-Time Voting Weight
Those who are have a large stake are divided into two camps, those who need liquidity (exchanges), and those who are in it for the long-haul, and don’t need liquidity. We can increase decentralization by allowing those who stake their tokens for longer time more influence. Give each user vote weight proportional to stake-days*(stake²). Someone who stakes 1 token for 1000 days will have 1000x the influence to someone who stakes 1 token for 1 day. If stake-time voting users can elect some producers then we can guarantee that the wealthiest cannot control all the positions unless they are also the most-long-term committed. Furthermore, a wealthy individual would have to divide their stake if they wanted to use stake-time and stake-weighted voting which would make their influence weaker overall.
Clearly there are diminishing returns to staking time. Clearly staking 1 token for a trillion years shouldn’t outweigh everything. Therefore, there should be a maximum staking period of a couple of years.
Infinite Stake-Time Voting Weight
Imagine if someone could lock up their tokens forever. This is equivalent to burning tokens or out-right buying a position in top 21. Those who do this are benefiting all other token holders through their burning and can gain a seat at the table. To maintain this position you must continuously burn more tokens than everyone else. This is the economic equivalent of proof-of-work where instead of burning electricity to the economic benefit of power companies, you burn tokens for economic benefit of token holders. This method has the benefits of proof-of-work without biasing influence toward those with access to specific resources and skills.
Rewarding Non-Voting Users
Paying people who don’t vote is the best way to remove disinterested parties and uninformed opinions from the governance equation. Under this system those who take cash transfer control voluntarily to those who want it. To discourage people from just taking the cash without risk, the voting rewards should be distributed proportional to stake-time commitment. Someone who commits to 1000 days would get a larger share of non-voting rewards than someone staking for 1 day. In this way non-voters are rewarded for their commitment to the network and must trust the long-term governance is in good hands. Limits must be placed on the length of time one can stake to prevent monopoly by long-term holders.
Summary
To summarize the proposal my suggestion for community to review is to divide the 21 producers into 4 categories:
- 8 — STAKE²
- 8 — DAYS * STAKE²
- 3 — RAM
- 2 — (AVG BURN/DAY)²
Electoral College
Rather than producers having to choose one of these categories and limiting the number of slots to 21, the network could select 100 delegates and then use approval voting of 1-vote per delegate to select 21 block producers. This added level of indirection gives people more voice without sacrificing blockchain performance and prevents producers from having to pick a category.
The primary challenge with this governance structure is complexity. We could say the simplest governance structure is a centralized king. I believe that there is a continuum between complexity and decentralization and that any simple system will be centralized due to Pareto Principle. Complexity can be dangerous if it enables complex hard-to-follow gaming of the rules.
Proof of Work Blockchains
Under a proof of work model, a blockchain should switch the hashing algorithm after every block and the algorithms selected must be resistant to creation of mining pools. This is made possible by requiring a private key in control of more funds than the block reward to be used as part of the proof of work. Any mining pool would have to distribute their private key to all the members of the pool, any of which could walk off with the funds. The end result is that there would be no mining pools.
Conclusion
It is my hope that this post will spark some much needed discussion on objective means of increasing decentralization and breaking through economies of scale and the Pareto distribution of power and influence it creates.
Disclaimer: This opinion is my own and not that of my employer (block.one) and I may change it at any time.
原文链接/Original URL: