当前位置:首页区块链V上帝:区块链验证的哲学

V上帝:区块链验证的哲学

观区块链最强大的一个特质就是我们能独立验证其执行中的每一个部分。

作者:维塔利克

区块链最强大的特点之一是我们可以独立验证其实现的每一部分。即使大多数区块链矿工(或感兴趣的验证者)受到攻击,如果攻击者试图在链上放置无效区块,网络也会拒绝。即使没有实时验证块的用户也可以收到验证块的用户发出的警告(此过程可以自动进行),然后自我验证,发现攻击者的链无效,自动拒绝接收此链,然后与其他节点协调接收另一个遵循规则的链。

但实际上,我们需要多少验证器?100个独立验证的节点?一千?我们是否需要让世界上每一个普通人都运行软件来检查所有交易?回答这些问题对我们来说是一个挑战,尤其是如果我们想建立一个共识机制的区块链,而事实证明,共识机制比中本的单链工作量更为有利,那么解决这些问题就显得尤为重要。

为什么要验证

V上帝:区块链验证的哲学

-51%的攻击者试图让网络接受无效块,我们希望网络不会接受无效链!-

用户验证区块链有两大好处。首先,它允许节点参与确定法律链的过程(即被整个社区接受并具有合法性的链)。一般来说,法律链被定义为“拥有最多矿工或验证者的有效区块链”,如比特币中的“最长有效链”将根据定义拒绝无效链。如果存在多个有效的链竞争,那么得到矿工或验证人员支持最多的链将获胜。因此,如果您运行一个节点来验证所有块的有效性,您将能够检测到哪些链是有效的,哪些是无效的,这将**限度地提高检测合法链的机会。然而,用户验证区块链还有一个更深层次的好处。如果一个强大的参与者试图让网络接受对协议的更改(例如流通量的改变),并且大多数矿工都支持这种改变,那么攻击可以很容易地实施,而无需其他人验证区块链。此外,默认情况下,所有客户都将接受新链。当每个人都回来意识到这一点时,就由反对者通过协调来拒绝新链。但如果普通用户也参与验证,情况就完全不同了。试图更改协议的攻击者需要说服身份验证用户下载他们的软件补丁来更改协议。

如果有足够的用户参与验证,当有人试图对协议进行有争议的更改时,默认值不是成功,而是混乱。自然的混沌也会对网络造成破坏,网络需要协议层面之外的社会协调来解决。然而,这也给攻击者带来了更大的障碍,使他们无法相信自己能一蹴而就,从而大大降低了他们发动攻击的意愿。如果大多数用户参与直接或间接认证,而攻击者只有大多数矿工的支持,那么攻击自然会失败,这对每个人来说都是**的结果。

定义视角与协作视角

需要注意的是,上述推理的逻辑与我们经常听到的其他推理大不相同:他们说,只要更改协议规则的链是“按定义”的,它就不是一个合法的链,重要的不是有多少用户愿意接收新的规则集,而是你可以一直留在这里在链条上使用你喜欢的旧规则。

看看这个从定义的角度讨论这个问题的例子,来自Gavin Andresen:

V上帝:区块链验证的哲学1

我想为比特币提出一个全面的技术定义

比特币”是一种交易分类账,它以区块链的形式记录交易,并带有先前未使用过的合法签名。该链从Genesis block开始,哈希为0.000019d6689c085ae165831e934ff763a46a2a6c172b3f1b60a8ce26f,在链上发出了2100万条比特币,双sha256工作负载证书数量最多。

wasabi wallet的另一个定义更直接地解释了整个节点的价值:

V上帝:区块链验证的哲学2

运行比特币完整节点时,可以定义您同意的确切货币规则。没人能强加给你。因此,任何一个追求财务自由的个人都应该经营整个节点。在确定了自己的规则后,全节点软件可以在比特币点对点网络中找到符合我们规则的节点。根据它们的规则,这些节点向我们发送它们确定有效的事务,然后我们根据自己的规则验证它们。如果接收到不符合规则的事务,可以将其标记为无效事务,并将其与无效事务的源节点断开连接。

扩大你的货币**

使用完整节点,我们有权定义、验证和执行比特币货币规则。

我们应该注意两个核心的“定义”视角

1如果一个链不符合你定义的基本的、不可协商的规则,不管有多少人接受这个链,根据定义,这个链不是比特币(或以太坊或其他)链。

2最重要的是你要坚持自己的规则。

然而,我认为这种“个人主义”观点是非常有问题的。在解释我的理由之前,让我们想想我们不想看到的:绝大多数参与者已经接受了你不想接受的协议。例如,有一天,交易费用变得非常便宜。为了维护公链的安全,几乎所有人都同意改变规则,发行新硬币。你固执地按照旧的规则运行链条,然后你自己从大军中脱离出来。

但你如何认同你所拥有的货币体系呢?其他人不会再接受你的货币了。交易所不会接受的。网站可能会显示新货币的价格正在上涨,但新货币指的是与大多数用户有联系的货币链上的货币,你的货币将变得一文不值。加密货币和区块链本质上是社会结构。如果没有人相信,它们将变得毫无意义。

V上帝:区块链验证的哲学3

那么我们应该从什么角度来看待这个问题呢?这一观点的核心是将区块链视为使用协调问题实现安全的一个例子。

总的来说,现实世界中的协调问题是很困难的:尽管对大多数人来说,如果英语将其高度复杂和不规则的拼写系统改为拼音拼写会更好;尽管如果美国改用公制,那会更好;尽管我们在经济衰退中立即将所有物价和工资降低了10%;这会更好,但实际上它要求每个人同时同意这些变化,这是很难实现的。

然而,在区块链的应用中,协同已经成为我们的优势。我们利用协调问题来防止核心玩家的渎职行为。我们可以构建具有X属性的系统,并确保保留X属性,因为将规则从X属性更改为非X属性需要一群人同意并同时更新他们的软件。即使有一个参与者可以强制改变,他也很难做到,比对手主动协调和**变革要困难得多。

我们应该注意这种观点的特殊后果:运行整个节点的目的不仅仅是为了保护自身利益。在发生有争议的硬分叉时,运行完整节点的用户是非常安全的,但是没有整个节点,就不安全。在更大程度上,这可以看作是一种群体免疫。核实的人越多,每个人就越安全,即使只有一部分人核实,每个人都能得到更高程度的保护。

深入讨论验证

让我们继续下一个主题,这对于诸如lightclient和slicing这样的主题非常重要:验证时我们在做什么?要理解这一点,我们需要回到以前的时间点。对于攻击,我有以下优先顺序:

默认为失败>默认为混乱>默认为成功

这里的“大于号”表示前者比后者好。**情况是攻击直接失败,次优情况是攻击导致混乱,使人们无法在法律链条上达成一致,最坏的情况是攻击成功。为什么混乱比成功的攻击要好得多?这可以归因于激励机制。混乱还会给攻击者带来成本,使他们无法确定攻击能否成功,从而降低攻击者发动攻击的动机。自然,攻击者的混乱环境意味着他们需要赢得区块链战争(51%的攻击成功发起)以及“舆论战”,以说服整个社区跟进攻击链。这使得攻击变得极其困难,比发起51%的攻击更不赚钱。

验证的目标是使攻击从自然成功状态变为自然失败状态(**),或自然混沌状态(次优)。如果运行的节点完全验证所有块,并且攻击者试图让网络接受一系列不同的规则,则攻击将失败。如果一些用户运行完全节点身份验证,而其他许多用户没有,则攻击将导致混乱。但我们还是要思考,有没有其他方法可以达到同样的效果?

轻客户和欺诈证明

当然,一个更好的方法是使用一个有欺诈证据的轻客户。目前大多数区块链轻客户端只验证大多数矿工是否支持特定区块,而不验证是否符合协议规则。这些客户的正常运作假设大多数矿工是诚实的。一旦出现有争议的分歧,这种客户自然会跟风。在旧的规则下,用户需要采取积极的措施来保持在少数群体链中。因此,对于目前的轻客户端攻击,攻击者自然可以得逞。但有了防欺诈技术,情况就大不一样了。

简言之,欺诈证据的作用如下。一般来说,区块链中的单个区块只涉及区块链“状态”(账户余额、智能合约代码……)的一小部分。如果整个节点处理一个块并发现它无效,它可以生成一个包(即防欺诈),并将其广播给light客户端。数据包只包含块和足够的数据来处理块。在接收到包之后,轻客户端可以自己验证块,而不需要链上的任何其他数据。

V上帝:区块链验证的哲学4

-一个区块只涉及多个账户,欺诈证明可以包含这些账户的数据,再加上其默克尔证明,以证明数据的正确性-

有时也称为无状态验证,客户端只能记录块头而不记录完整的区块链状态数据,并且可以通过请求Merkel证明其他节点的任何状态条目来实时验证正在处理的块。

该技术的强大之处在于,light客户端在收到警报后只能验证单个块(警报是可验证的)。如果light客户端发现一个错误的警报,他们可以停止监听节点的警报)。因此,在正常情况下,light客户端将是light,并且只检查大多数矿工或验证器支持哪些块。但在特殊情况下,如果大多数人的链中包含一个轻客户端不接受的块,只要至少有一个诚实的所有节点验证有问题的块,就可以知道它是无效的并广播欺诈证明,这样网络中的其他节点也会拒绝它。

剖切

碎片化是在此基础上的自然延伸。在碎片化系统中,系统中的事务太多,大多数用户无法一直直接验证。但是,如果系统设计良好,任何无效块都可以被检测出来,并通过防欺诈验证其无效性,并在整个网络中进行广播。只要每个用户超过一定的阈值,网络就可以获得群免疫。

此外,还有一点非常重要:在切片系统中,块生成的阈值(不仅仅是验证)非常低,甚至可以在家用笔记本电脑上完成。网络的核心不依赖高性能硬件,这就保证了反对派成为少数的门槛足够低,这就使得多数人主导的协议更难变成“自然攻击成功”的状态(迫使其他人屈服于其攻击)。

这也是审计在现实世界中的意义:不是每个人都在任何时候都在验证一切,但首先,每个具体的部分都有足够的人来检查,任何错误都可以发现。其次,一旦发现错误,每个人都能清楚地看到错误在哪里。

再者,从长远来看,区块链在这方面肯定会走得更远。ZK-snarks(或“有效性证明”)是一种有效且可验证的密码证明,它使块生产者能够向客户证明块满足任意复杂的有效性条件。有效性证明比欺诈证明更有效,因为它不依赖于互动游戏来捕捉作弊行为。另一项重要的技术是“数据可用性检查”,它可以检测未完全暴露的块。数据可用性的证明确实依赖于一些安全假设,但这种假设非常保守:网络中仍有少量可用节点是诚实的(“愿意遵守协议”);好消息是诚实验证器的最小数量非常低,而且即使攻击者数量很大,也不需要增加要求。

时机和51%的攻击

现在,让我们来看看“自然混沌”模最强大的后果:51%的攻击开始攻击自己。在今天的许多社区中,如果51%的攻击发生并且攻击者获胜,那么51%的攻击链将成为合法链。每个人都严格遵守本标准。最近以太坊经典版受到51%的攻击就是一个例证。攻击者后退了3000多个街区,并用双花攻击偷走了807260等。由于以太坊的两个经典客户端之一(OpenETHon)无法返回攻击链的历史高度,因此gETH节点可以运行在攻击链上,而OpenETHi只能被困在原始链中。

我们可以说这次攻击确实导致了混乱,但这是一个意外,不是以太坊经典社区故意设计的。遗憾的是,这条链条被选为一条较长的攻击链。以太坊经典的twitter帐户称之为“严格按照我们最初的意图进行工作负载证明”因此,社区规范积极帮助攻击者获胜。

但事实上,我们可以就法律链的定义达成另一种共识。例如,我们可以建立一个规则。一个区块拥有100多个后代区块后,其合法性就无法被颠覆。一旦A60成为**的证据,它就永远不会被退回。

V上帝:区块链验证的哲学5

-为了便于说明,最多只能备份5个框图。实际上,回退限制在100-1000个块-

让我们清楚地看到,这对链合法性的定义带来了一个重大的变化:客户不仅需要看到他们接收到的数据,还需要在收到数据时进行检查。这也将带来新的局面。由于网络延迟,在大规模攻击中,两个冲突块a和B同时获得最终结果。有些客户先看到a,另一些客户先看到B,然后就无法达成协议。但我不认为这是好事,因为这意味着攻击不会自然得逞,即使51%的攻击退出街区,自然也会导致混乱,社区层面的应急反应可以在这两条链条中选择继续。如果社区认为这是正当的,那就意味着社区应该为他们辩护。

还有发展潜力。我们可以尝试创建51%的攻击来专门检查可能导致混乱的事务。对及时性验证器的研究也使各种攻击朝着自然失败的方向发展。然而,由于实时性验证器无法帮助那些离线或网络连接不良的节点,因此仍然存在一些困惑。

对于重视不可伪造性的区块链社区来说,可以说这种限制退避的措施是一个不错的选择。如果网络不管多久前接受了某一笔交易,但仍有可能意外地被退回,那么区块链就不能声称享有不可伪造性。当然,我相信在极端情况下,即使是BTC和etc也有有限的回退。如果一个攻击试图将一个块历史回滚数周,社区可以启动一个软分叉,要求用户积极参与来拒绝攻击者的链。但对这项措施达成更明确的协议并使之正式化,可以走得更远。

结论

这个故事告诉我们什么?首先,如果我们接受社会协作的合法性,接受基于“1-of-N”信任模的间接验证的合法性,即假设网络中始终存在诚实的参与者,而不是假设某个参与者(如Infra)总是诚实的,然后我们可以创建一个更具伸缩性的区块链。

第二,客户端身份验证是上述内容的关键步骤。只有少数人运行(验证)节点而其他人依赖验证节点的信任的网络在涉及特殊利益时非常脆弱。但避免这样的命运并不意味着矫枉过正,让大家随时核实一切。一个允许单个块被隔离和验证的系统,这样用户只需要验证被警告的块,也是合理的,可以达到同样的效果。但这需要我们用上面提到的“协作视角”来看待核查的作用。

第三,如果我们在法律链的定义中包含“机会”,那么我们抵抗51%攻击的能力树就会打开。**的可接受属性是弱主观性,即要求客户至少每三个月在线一次,并且拒绝超过三个月的退避。然后在权利证明中加入惩罚机制,使得攻击成本较高。我们可以更进一步,我们可以拒绝回滚所有已获得最终性的块,从而保护不可伪造性和防止审查。因为网络是不可预测的,在某些情况下依靠“时机”确实意味着攻击自然会导致混乱,但好处是显而易见的。

牢记这些要点,我们可以避免以下陷阱:

1过度中心化;

2校验冗余过多,网络效率低;

3误导性规则意外地使攻击变得更容易;并朝着更具弹性、更强性能和更安全的区块链发展。

温馨提示:

文章标题:V上帝:区块链验证的哲学

文章链接:https://www.btchangqing.cn/95106.html

更新时间:2020年08月31日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

区块链

彤欣言币:8.31市场震荡行情常有,怎样才能稳健获利

2020-8-31 16:28:22

区块链行情

【市场知名专家】比特币市场在调整接近尾声后或将上涨

2020-8-31 17:14:51

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索