在纯经济模型中,去中心化其实并不重要。 如果你创建了一个“一旦发生51%攻击,验证者就会损失5000万美元”的协议,那这个验证者是由一家公司还是由100家公司控制并不重要。5000万美元是保证这个协议的经济安全的边际成本,那么5000万美元就是5000万美元。
事实上,博弈论还会告诉我们,中心化系统甚至可以最大化这种经济安全边际成本的概念(现有的区块链的交易选择模型也反映了这一观点,因为矿工/区块提出者将交易打包到区块中,实际上正是一个非常迅速的轮换独裁的过程)。
但如果是在一个更丰富的经济模型中,特别是如果这个经济模型里存在胁迫的可能性(或者说针对节点的目标 DOS 攻击),那么,去中心化就会变得非常重要。
当一个人的生命安全受到威胁时,5000万美元对他而言就是身外之物,你可以很容易抢走他的钱,但如果这5000万美元是十个人分散持有的,那么你必须威胁勒索的人数,瞬间就飙到了10倍,而且这10倍的工作量,还要在同一时间里完成,这对任何一个抢劫犯来说,都是噩梦。
不过在大部分情况下,我们所生活的这个世界,有一个特点是: “攻击/防御”具有不对称性,攻击者往往更占优势。 比如,一幢花费1000万美元建造起来的大楼,可能10万美元的攻击成本就可以轻松摧毁它。
但这种攻击/防御的杠杆效应往往是次线性的:摧毁1000万美元的大楼需要10万美元,100万美元的大楼则需要3万美元,再往下,更小型的大楼则需要更高的比率。
这个道理至少可以让我们懂得区块链机制设计的三个关键点:
第一,相比工作量证明机制(POW),权益证明机制(POS)更安全。POW需要挖矿的计算机,这些硬件很容易被检测、管理或攻击,而POS针对的则是权益证明,也就是代币,而币相对计算机硬件而言更容易隐藏;
第二,开发区块链的团队,分布得越广泛(包括地理位置上的分布)就越有利;
第三,在设计共识协议时,需要同时考虑经济模型和容错模型。
抗勾结性
最后,我们终于可以讨论以上三点中最复杂的一点了:抗勾结性。
抗勾结性这个词听起来有点怪,因为“勾结”这个词本身就挺难定义的。简单点说,我们可以认为, “勾结”就是“我们所不喜欢的协调方式”。 在理想状态下,我们希望每个人之间都能拥有完美的协调关系,但当某一部分人能够完美协调、而另一部分人无法协调时,情况就会变得很危险。
比如,反垄断法就是一个例子。为了防止市场的参与者聚集起来,互相勾结、实施垄断,损害市场消费者和社会的利益、以此获得超额利润,反垄断法就在市场运行中故意设置了监管上的障碍。
还有一个小例子是一些象棋比赛制定的规则,这些规则用来防止两名选手为了提高各自的分数而频繁和对方进行比赛。
可以看到,这种“反勾结”的尝试,在现实世界的各种复杂系统里其实无处不在。
而在区块链协议里,建立共识安全背后的数学原理和经济学原理,通常也依赖于这种“反勾结”的设定。
“反勾结”就是尽可能避免节点之间相互产生协调,换句话说,它假设一个区块链网络是由许多独立决策的节点组成的。
区块链的拥护者相信区块链更安全,因为区块链网络中的任何个体都不能任意去改变协议本身的规则。但如果软件和协议的开发者都服务于同一家公司、同属于同一个家族、都在同一个办公大楼上班,这种情况下其实是很难防范的。
要真正保证安全,最关键的一点是防止系统变成一个自私自利的集权垄断体。 因此,如果一个区块链网络越松散,它们就越难相互勾结在一起,也就安全。
但是,这里面其实揭示了一个根本性的矛盾。
很多社区(包括以太坊)之所以存在,是因为它们拥有一个强大的社区精神,在执行、发布和激活硬分叉上拥有快速协调的优势。 我们需要思考的问题是,应该如何去培育和改善这种良好的协调关系,同时,又要防范那些糟糕的协调关系,防止它们不小心演变成“互相勾结” (比如,矿工们试图通过互相勾结,反复进行51%的攻击,以此实行欺诈)。
要解决这个问题,可能需要做到以下三点:
别试图减少勾结,要用协议的方式彻底消灭勾结。
试着找到一个平衡点,这个平衡点可以提供足够的协调关系帮助协议更好的发展,但同时又不足以演变成勾结关系、发动进攻。
试着去区分清楚“好的协调关系”和“有害的协调关系”,然后想办法让前者更容易,让后者更难。
其中的第一个方法,在以太坊的 Casper 机制的设计中,有很多地方都用到了这种指导思想。但是,只有第一点本身是不够的,因为仅仅依靠经济学的方式并不能解决去中心化的其他两类困扰;
第二个方法很难进行明确的设计,但它经常会自己意外产生。比如, 比特币的核心开发人员一般说英语,而矿工一般说中文,这几乎可以被称作为一个“幸福的意外”了,因为它在无意中创造了一种“两院制”的治理机制,一方面它让彼此之间的勾结变得很困难,另一方面则减少了共模故障的风险 ——英文社区和中文社区,因为沟通困难,从某种程度上来说,他们更容易拥有各自的独立的思考,因此不太可能同时犯相同的错误。
第三个方法则代表了一个社会学挑战,它需要做到的可能包括:
社会干预措施,即试图提升参与者对该区块链社区整体的忠诚度,以替代或抑制市场各个参与者对彼此产生的直接的忠诚度的影响。
促进不同的的市场参与者在同样的语境下进行沟通,这样一来,不管是验证者、开发者还是矿工,他们就不太会把自己归类为某一种阶层,这样就能减少他们协调起来对抗其他阶层、保护自己阶层利益的可能性。
在设计协议时,尽量避免或者减少验证者和矿工彼此形成一对一的“特殊关系”,或者是形成中心化的中继网络,以及其他类似的超级协议机制。
关于协议应具备的基本属性,以及哪些事情不该做,或者哪些事情只能在非常极端的情况下才能做,这些协议本身都应该规范得非常清晰、清楚。
防止勾结、抗勾结性的去中心化,可能是目前最难实现的了。 要真的实现它,一些权衡和取舍也是不可避免的。或许,最好的解决方案,可能是去重度依赖于最能够保证去中心化程度的一个群体:也就是协议的用户。
欢迎加入BiBiNews telegram 群:https://t.me/bibinews01
【地瓜科普】玩转数字货币,你还需要这几款必备工具!
【地瓜科普】认祖归宗,数字货币有哪些派系?
【地瓜科普】你还应该知道的币圈赚钱好方法——看一看自己在币圈属于哪一类小韭菜还是老司机
【地瓜科普】数字货币交易遭全球围剿,去中心化时代或将到来
【地瓜科普】数字货币以及区块链各路资源大盘点
【地瓜科普】哔哔课堂重磅:智能合约-区块链,终于等到你,还好我没放弃
【地瓜科普】USDT、bitCNY、DAI等锚定代币知多少,合格韭菜必备姿势!
【地瓜科普】公有链、联盟链、私有链,同一区块链不同演绎
【地瓜科普】马化腾diss PoW,共识机制哪家强
【地瓜科普】监管来袭行情动荡,要锁仓的朋友请看这篇数字货币钱包攻略
【地瓜科普】实操版挖矿教程