哲学研究

Vitalik:区块链“验证”的哲学 

来源:哲学研究 【在线投稿】 栏目:综合新闻 时间:2020-09-01

区块链最强大的特性之一,就是可独立验证区块链执行的每个部分。即使大多数区块链矿工被攻击者接管,但如果该攻击者试图推送无效区块,网络也可以简单地拒绝它们。即使是某些时间段未验证区块的那些用户,也可以获得验证用户的警告,此时他们可检查攻击者的链是否无效,并自动拒绝它,然后协调接受遵循规则的区块链。

但我们实际上需要多少验证呢?我们需要100个独立的验证节点,还是1000个?我们是否需要一种文化,使得全世界的普通人都能运行检查每笔交易的软件?这些问题是一个挑战,尤其是当我们要构建一个比“中本聪”最初创建的工作量证明共识机制更好的区块链,那解决上面这些问题就显得非常重要。

为什么需要验证?

有两个主要原因可以解释,为什么用户去验证区块链是有益的。

1、首先,它最大限度地提高了节点能够正确地确定,并辨识规范链的机会。通常,规范链被定义为“拥有最多矿工/验证者支持的有效链”。而无效链会被定义拒绝,如果在多个有效链之间进行选择,那么从矿工/验证者那获得最多支持的区块链就会获胜。因此,如果你有一个节点来验证所有的有效条件,从而检测出哪些链是有效的,哪些链是无效的,那你就可以最大限度地检测出规范链到底是什么。

2、验证区块链是有益的,还有另一个更深层次的原因。假设一个强大的参与者试图对协议发起更改,并且其得到了大多数矿工的支持。如果没有其他人验证这条链,那么这种攻击就很容易成功:每个人的客户端都会默认地接受新链,当任何人看到发生的事情时,将由持不同意见者来协调对这一区块链的拒绝。但是,如果普通用户正在进行验证,那么协调问题就落在另一面:现在,无论是谁试图更改协议,都有责任说服用户主动下载软件补丁,以接受协议更改。

如果有足够多的用户在验证,那么一个有争议的协议更改尝试,将默认为混乱,而不是默认为胜利。默认混乱仍然会造成很多混乱,这需要社区协调来解决,但它在攻击者面前设置了一个更大的障碍,它大大降低了攻击者的信心,从而降低其试图发动攻击的积极性。如果大多数用户正在验证,而攻击只获得了大多数矿工的支持,那么攻击将完全默认为失败,这会是所有攻击中最好的结果。

请注意,这种推理与我们经常听到的另一种推理方式截然不同:根据“定义”,改变规则的链在某种程度上不是正确的链,而且不管有多少其他用户接受一些新规则,重要的是你个人可以继续使用你喜欢的旧规则。

以下是Gavin Andresen提出的“按定义”视图的一个示例:

下面则是来自Wasabi 钱包的另一个示例,从解释全节点为何有价值的角度来看,这一点更为直接:

请注意此视图的两个核心组件:

1、根据定义,不接受你认为基本、不可协商规则的链不是比特币,而不管有多少人接受这条链。

2、重要的是,你要留在一条你认为有可接受规则的区块链上。

然而,我认为这种“个人主义”的观点是非常错误的。为了了解原因,让我们看看我们所担心的场景:绝大多数参与者接受了协议规则的某些更改,而这些改变是你所无法接受的。例如,设想一个交易费用非常低的未来,为了保证区块链的安全,几乎所有其他人都同意修改一套增加发行量的新规则。然后你顽固地继续运行一个执行旧规则的节点,并且分叉到与大多数节点不同的区块链上。

从你的角度来看,你仍然可以将币放在可接受规则下运行的系统中。但是那又怎样呢?其他用户将不会接受你的币,交易所将不接受你的币,公共网站可能会显示新币的价格,但他们指的是大多数人接受的那条链,而你的币是没有价值的。

本质上,加密货币和区块链是社会结构,如果没有人相信它们,那它们就毫无意义。

那么,另一种观点是什么呢?其核心思想是通过协调问题将区块链视为工程安全。

通常情况下,我们遇到的协调问题不会是什么好事:对于大多数人来说,如果英语能摆脱其高度复杂和不规则的拼写系统,或者如果美国改用公制,或者如果经济衰退时我们可以立即把所有的物价和工资降低10%,那么在实践中,这需要所有人同时就转换达成一致意见,而这通常是非常困难的。

然而,在区块链应用中,我们可利用协调问题来发挥自己的优势。我们正在利用协调问题造成的摩擦,以作为防止中央集权行为者渎职的一道屏障。我们可以构建具有属性X的系统,并且我们可以保证它们将保留属性X,因为将规则从X更改为非X,需要一

上一篇:杨振宁:物理学影响哲学,但哲学从来没有影响
下一篇:没有了