
Vitalik Buterin亲笔:《区块链验证的哲学》全文
金色财经 区块链8月19日讯 以太坊联合创始人Vitalik Buterin于8月17日在其个人网站发布《区块链验证的哲学》论文,金色财经将本文编译如下:
一个区块链最强大的一个特性,就是可以独立验证这个区块链执行的每个部分。即使大多数区块链矿工(或权益证明区块链中的验证人)被攻击者接管,如果该攻击者试图推送无效区块块,网络也会直接拒绝这些区块。即便用户在某个特定时间内没有验证那些区块,他们也会潜在地、自动地获得警告,而且可以检查攻击者的区块链是否无效并自动拒绝这些区块,然后再按照规则接受一条链。
但是,我们到底需要多少验证?需要一百个独立验证节点,或是一千个独立验证节点吗?我们是否需要一种文化,让全世界每个普通人都运行软件来检查每笔交易?如果我们要构建一个比“中本聪”最初创建的工作量证明单链更好的、具有共识机制的区块链,解决上述问题将会是一个非常重要的挑战。
区块链为什么要验证?
上图展示了“51%攻击”穿透一个无效区块,我们希望网络拒绝这条链!
验证区块链对用户非常有益,主要原因有二:
1、首先,验证区块链最大程度地提高了节点可以正确确定在规范链上发言的机会(金色财经注:所谓规范链就是社区认可的区块链)通常,规范链被定义为类似于“具有最多支持该链的矿工/验证人的有效区块链”(例如,比特币中的“最长有效链”)。根据定义,无效链将被拒绝,如果在多个有效链之间进行选择,那么获得矿工/验证人支持最多的那条链将获胜。因此,如果您有一个可以验证所有有效性条件的节点,从而检测到哪些链有效、哪些链无效,那么就可以最大程度地提高正确检测规范链的机会。
2、其次,验证区块链有效性还有一个更深层的原因:假设一个强大的参与者试图推动对协议的更改(例如更改代币发行),并得到大多数矿工的支持,如果没有其他人验证区块链,那么这种攻击就很容易成功,因为在默认情况下,每个人的客户端都会接受新链,等到人们看到正在发生的事情时,持不同意见的人才会来尝试协调拒绝那条链。但是,如果普通用户都在进行验证,那么协调问题就落在了另一边:那些试图更改协议的人将负责说服用户积极下载软件补丁以接受协议。
如果有足够多的用户在验证,那么就会避免造成不必要的混乱,也不会因为强制更改协议而产生争议。混乱会造成很多破坏,而且需要带外数据社交协调(out-of-band social coordination)来解决,这其实就给攻击者设置了很大障碍,他们也因此没有足够的信心逃脱,继而使攻击者没有发动攻击的动力。如果大多数用户正在(直接或间接)进行验证,而攻击仅得到大多数矿工的支持,则该攻击将完全默认为失败,这是所有结果中的最佳结果。
定义观点 vs. 协调观点
请注意,这种推理与我们经常听到的另一种推理方式截然不同:“根据定义”,更改规则的那条链在某种程度上其实并不是正确的链,无论有多少其他用户接受某些新规则,重要的是你依然可以留在自己喜欢的且遵循旧规则的那条链。
下图是加文·安德森(Gavin Andresen)“按定义”观点的一个示例:
另一个观点来自Wasabi钱包,从解释完整节点为何有价值的角度来看,这一点更为直接:
请注意,这个观点有两个核心部分:
1、根据定义,不接受你认为基本且不可转让规则的那条链的版本不是比特币(或以太坊或任何其他区块链链),无论有多少其他人接受该链。
2、重要的是,你必须保持链上有你自己认为可以接受的规则。
但是,我相信这种“个人主义”观点是非常错误的。为了弄清原因,让我们看一下我们担心的情况:绝大多数参与者可能会接受对协议规则的一些更改,而这些更改是你认为不可接受的。举个例子,设想我们拥有了一个交易费用很低的未来,并且为了保证区块链安全,几乎其他所有人都同意更改为增加发行量的一组新规则,但是此时你却顽固地继续运行一个继续执行旧规则的节点,并且分叉到与大多数节点不同的链上。
从你自己的角度来看,你仍然可以将代币放在可以接受的旧规则下运行的系统中。但是那又怎样呢?其他用户根本不会接受您的代币,交易所也不会接受您的代币。价格网站上会罗列出代币的价格,但他们的数据来源肯定会指向多数链上的那个代币,所以你的代币将毫无价值。加密货币和区块链从根本上说是一种社会建构,如果没有其他人相信它们,它们将毫无意义。
那么替代的观点是什么?这里给出的一个核心思想是通过协调问题将区块链视为工程安全(engineering security)。
通常,我们所处世界里所遇到的协调问题大多不是好事,这里有几个例子:
1、对于大多数人来说,英语其实并不“协调”,因为英语高度复杂且有大量不规则的拼写系统和语音结构;
2、有些人认为美国如果改用公制计量可能会更好;
3、还有人觉得如果在经济衰退的情况下立即将所有价格和工资降低10%将会帮助国家渡过难关,那么其实这么做需要每个人都同意,通常也非常困难达成。
但是,在区块链应用程序中,我们利用协调问题来发挥自己的优势,并利用协调问题造成的摩擦来抵制中心化执行者的渎职行为。再举个例子,我们可以构建具有属性X的系统,并且可以保证该系统始终保留属性X,但是如果想把规则从X更改为not-X则需要一大堆人同意同时更新其软件。即使有一个执行者强制进行更改,这种做法也将非常困难——远比用户负责协调异议者抵制变更要困难得多。
请注意,这种观点会带来一个特殊后果:你的全节点核心目的并不是仅仅为了保护你,在有争议的硬分叉情况下,拥有完整节点的人会更安全,而没有完整节点的人则很容易受到攻击。相反,这里的观点更多地体现出一种群体豁免权的观点,即:验证的人越多,每个人所拥有的安全性就越高,即使只有一部分人在进行验证,结果也会让每个人都得到了更高程度的保护。
深入分析区块链验证
现在,我们进入下一个主题,这个主题与轻客户端和分片之类的主题相关性非常高:通过验证,我们将会完成什么工作?为了理解这一点,让我们回到更早的时候——如果区块链发生攻击,那么攻击的发生方式可能具有以下优先顺序:
默认为失败>默认为混乱>默认为胜利
这里的“>”代表的含义是“优于”。最好是攻击完全失败;第二好是攻击导致混乱,每个人都对正确的链持不同意见,最糟糕的是攻击成功。这里的问题是:为什么混乱比胜利要好得多?事实上,这是一个动机问题,即:混乱会增加攻击者的成本,这意味着攻击者肯定会获胜的可能性会大幅降低,因此攻击者从一开始就不鼓励进行攻击。默认为混乱的环境意味着攻击者不仅需要赢得进行51%攻击的区块链战争,还要说服社区跟随这场“社会战争”,这比仅仅发起51%攻击并通过单纯攻击取得胜利要困难得多,吸引力也要低得多。
验证的目标则是让从默认状态从胜利变成混乱(理想情况下),再从混乱变成失败(不太理想的情况下)。如果您有一个完全验证的节点,并且攻击者尝试使用不同的规则推入一条链,则攻击将会失败。如果某些人具有完全验证的节点,而其他许多人没有,则攻击就会导致混乱。但是,现在我们肯定会想到另一个问题,即:到底还有没有其他方法可以达到相同的效果吗?
轻客户端和欺诈证明
这方面的自然发展是拥有欺诈证明的轻客户端(light clients with fraud proofs)。当前市场上大多数区块链轻客户端的工作原理是:只需验证大多数矿工是否支持特定的区块,而不必费心检查其他协议规则是否得到执行。也就是说,客户端基于大多数矿工是诚实的信任假设运行。如果发生争议分叉,那么在默认情况下,客户端会遵循多数链,如果用户希望遵循旧规则,则由用户自己采取积极的措施。因此,如今受到攻击的轻客户端都是默认胜利。但是借助防欺诈技术,情况看起来开始有了很大不同。
最简单形式的欺诈证明工作方式如下:
通常而言,区块链中的单个区块仅接触区块链“状态”的一小部分(比如账户余额、智能合约代码、等等…)。如果经过完全验证的节点处理了一个区块并发现它是无效的,则他们可以生成一个包含该区块的包(package)——也就是欺诈证明,这个包中将包含足够的、处理该区块的区块链状态数据。之后,区块链会将此包广播给轻客户端,轻客户端便可以接收该包并使用相关数据来验证区块本身,即使他们没有链中的其他数据也没有问题。
如上图所示,区块链中的独立区块仅涉及几个账户。欺诈证明将包含这些帐户中的数据以及证明该数据正确的Merkle证明。
这种技术有时也称为无状态验证:客户端可以只保留区块头,而不必保留完整的区块链状态数据库,并且可以通过向其他节点要求任何期望状态的Merkle证明来实时验证任何区块,此外区块验证的条目也可以被访问。
这项技术的强大之处在于,轻客户端仅在侦听到警报时才会验证独立区块(并且警报是可验证的,因此如果轻客户端听到虚假警报,那么他们只能停止侦听该节点的警报)。所以在正常情况下,轻客户端仍然是轻客户端,他们只会检查大多数矿工/验证者支持哪些区块。然而在特殊环境下,比如在多数链包含一个轻客户端不会接受区块的情况下,只要有一个诚实节点来验证欺诈区块,那么该节点就会发现该区块是无效的,只要这个节点广播欺诈证明,那么网络中的其他节点就会拒绝它。
分片
分片可以看做是一种网络验证的自然扩展:在分片系统中,系统中的交易太多,大多数人无法持续进行直接验证,但是如果系统设计良好,则可以检测到任何一个无效的独立区块,而且这种无效性往往会带有欺诈证明的证据,该证明可以在整个网络中传播。我们可以把共享网络看做是每个人都是轻客户端,只要每个分片都具有一定量的参与者最小阈值数,那么网络就具有群体免疫力。
此外,在分片系统中,区块生产(而不仅仅是区块验证)是高度可访问的,甚至可以在家用笔记本电脑上完成,这一事实也非常重要,因为这意味着网络核心不依赖高性能硬件,也确保了少数链可以用较低标准来执行,而且使得多数链驱动的协议更改“默认获胜”、以及欺负其他人变得更加困难。
这就是可审计性在现实世界中通常的含义:不是每个人都一直在验证所有事情,而是:
(i)每个特定部分都有足够的眼睛,如果有错误,它将被发现;
(ii)当检测到一个错误,可以确保让所有人都清楚可见。
也就是说,从长远来看,区块链肯定可以改善这一点。改进的一个特殊来源是ZK-SNARK(或者说是“有效性证明”):有效验证的加密证明,使区块生产者可以向客户端证明区块已经满足了某些任意复杂的有效性条件。有效性证明比欺诈证明更强,因为它们不依赖于交互式游戏来捕获欺诈。另一个重要技术是数据可用性检查,它可以防止区块执行未完全发布的数据。不过,数据可用性检查基于非常保守的假设,即网络中某处至少存在少量诚实节点,好消息是:即便存在存在大量攻击者,网络中总是会有诚实节点。
时间和51%攻击
现在,让我们分析下“默认混乱”思维方式可能会造成的最严重后果:51%的攻击他们自己。许多社区中的当前规范是,如果51%攻击获胜,那么那个遭受51%攻击的链必然是有效链。一般来说,我们会严格遵守这个规范,比如最近以太坊经典(Ethereum Classic)遭到51%攻击就说明了这一点。攻击者还原了3000多个区块(在此过程中,通过双花支付窃取了807,260 ETC),这使得该链的历史比两个ETC客户端之一(OpenEthereum)在技术上能够还原的时间更远,结果导致Geth节点与攻击者的链保持一致,而OpenEthereum节点则与原始链保持一致。
可以说,这次攻击的确造成了“默认混乱”,尽管这是一次偶然事件,而不是ETC社区故意设计所决定的。但不幸的是,以太坊经典社区随后选择接受(较长的)攻击链作为规范,以太坊经典官方推特账户将其描述为“遵循预期的工作量证明”,因此到最后,社区居然在积极帮助攻击者获胜。
但是,我们可以就规范链定义达成不同的共识:特别是,想象一个规则,一旦客户接受了一个区块作为规范链的一部分,并且该区块有100个以上的后续区块,那么客户端其实完全可以从那时开始永远不要接受不包含该区块的链。或者,在具有最终确定性的权益证明设置中(例如,以太坊2.0),假设有一个规则,一旦确定了某个区块,就永远无法还原。
本文编译自vitalik.ca
来源:金色财经 Jason.
比推快讯
更多 >>- 安全提醒:尽快升级 iOS、iPadOS 及 macOS 至最新版,以防止漏洞攻击
- 摩根士丹利预计欧洲央行将分别在 12 月和明年 3 月降息
- 鲍威尔将于今日 22:00 在杰克逊霍尔央行年会上发表演讲
- ANAP Holdings 增持 6.26 枚 BTC,总持仓量升至 1,006.31 枚 BTC
- Binance Alpha 新空投 XPIN 门槛:至少 200 分
- 澳大利亚 ASIC 两年内已下架约 3015 个加密货币诈骗网站
- 近期多个比特币远古巨鲸大举换仓 ETH,关联地址持仓高达 8.3 万枚 BTC
- 业内人士:多家在港中资金融机构接到总部要求探索 RWA 项目
- 数据:超过 32% 的比特币产自上市矿企
- 数据:上证指数站上 3800 点,续创近 10 年新高
- 某新地址增持 1,046 枚 BTC,价值近 1.2 亿美元
- 美国总统特朗普次子计划 9 月访问日本推动加密货币
- 英伟达已指示合作公司暂停与 H20 芯片相关的生产
- Jupiter:提醒社区警惕市场出现冒充官方的虚假电邮、私信和账户
- 普华永道:建议香港建立以区块链原生资产注册制,以助推资产代币化
- 某巨鲸过去两周增持 537.66 枚 BTC,价值超 6000 万美元
- 美国稳定币法案促使欧盟加快数字欧元规划
- 数据:以太坊现货 ETF 昨日总净流入 2.88 亿美元,连续四日流出后转为净流入
- Ripple 联合 SBI Holdings 在日推广 Ripple USD(RLUSD)
- 澳大利亚下令审计币安在当地的业务
- 比特币提币趋势恢复,过去 24 小时 CEX 净流出 1,858.51 枚比特币
- 某交易员为其 ENA 多单补充 170 万美元保证金,当前浮亏近 170 万美元
- SBI Holdings 将与 Startale 合作推出链上代币化股票交易平台
- 链上隐私解决方案 Vanish 完成 100 万美元种子轮融资,Colosseum 领投
- Bio Protocol 推出代币启动平台,分配额度取决于已质押的 BioXP 份额
- Project Hunt:Web3 通信平台 Push Protocol 为过去 7 天被 Top 人物取关最多的项目
- 某巨鲸 10 小时前清仓 2417 枚 ETH,单次获利 141 万美元
- Hemi 公布代币经济学模型:总量 100 亿枚,社区及生态分配 32%
- 昨日 ARKB 净流出 4330 万美元,FBTC 净流出 3180 万美元
- 观点:ETH 像“iPhone 平台”,或将追随 BTC 上涨至 8000-10000 美元
- Grvt 成为首个向散户开放做市费返佣的链上交易平台
- 以太坊 PoS 网络退出队列降至约 84.1 万枚,加入队列升至约 21.4 万枚
- 美 SEC 任命法官 Margaret Ryan 为执法部主任
- 加密恐慌与贪婪指数较昨日持平,市场仍处于中性状态
- 比特币回升触及 11.3 万美元
- 游戏资产交易平台 OVERTAKE 公布 TAKE 代币经济学,空投占比 7.5%
- 美国司法部宣布不再以 1960(b)(1)(C)罪名起诉去中心化软件开发者
- 数据:Ark Invest 昨日减持价值约 158 万美元的 Robinhood 股票
- BitMine 转发 Arthur Hayes 最新预测:以太坊本周期将涨至 2 万美元
- 欧洲刑警组织对俄罗斯加密勒索软件团伙的悬赏实为骗局
- 首位 YZY 买家身份曝光,曾靠 TRUMP 获利超 1 亿美元
- Camp Network 已开放空投资格检查工具
- 鲍威尔在杰克逊霍尔讲话或影响美元走势
- 美国股市上涨掩盖经济放缓,未来衰退概率达 35%
- 宾夕法尼亚议员提议禁止公职人员交易加密货币
- 反央行数字货币条款被纳入美国众议院必通过的国防法案
- 美 CFTC 宣布启动新一轮加密冲刺计划
- 美联储 9 月降息概率 75%,维持利率不变概率 25%
- 美联储柯林斯预计通胀率年底前将继续上升
- 美联储柯林斯:就业趋势风险加大,关税影响消费者支出
比推专栏
更多 >>观点
比推热门文章
- 鲍威尔将于今日 22:00 在杰克逊霍尔央行年会上发表演讲
- ANAP Holdings 增持 6.26 枚 BTC,总持仓量升至 1,006.31 枚 BTC
- Binance Alpha 新空投 XPIN 门槛:至少 200 分
- 澳大利亚 ASIC 两年内已下架约 3015 个加密货币诈骗网站
- 近期多个比特币远古巨鲸大举换仓 ETH,关联地址持仓高达 8.3 万枚 BTC
- 业内人士:多家在港中资金融机构接到总部要求探索 RWA 项目
- 数据:超过 32% 的比特币产自上市矿企
- 数据:上证指数站上 3800 点,续创近 10 年新高
- 某新地址增持 1,046 枚 BTC,价值近 1.2 亿美元
- 美国总统特朗普次子计划 9 月访问日本推动加密货币