金色财经? 区块链8月19日讯? ?以太坊联合创始人Vitalik Buterin于8月17日在其个人网站发布《区块链验证的哲学》论文,金色财经将本文编译如下:
一个区块链最强大的一个特性,就是可以独立验证这个区块链执行的每个部分。即使大多数区块链矿工(或权益证明区块链中的验证人)被攻击者接管,如果该攻击者试图推送无效区块块,网络也会直接拒绝这些区块。即便用户在某个特定时间内没有验证那些区块,他们也会潜在地、自动地获得警告,而且可以检查攻击者的区块链是否无效并自动拒绝这些区块,然后再按照规则接受一条链。
但是,我们到底需要多少验证?需要一百个独立验证节点,或是一千个独立验证节点吗?我们是否需要一种文化,让全世界每个普通人都运行软件来检查每笔交易?如果我们要构建一个比“中本聪”最初创建的工作量证明单链更好的、具有共识机制的区块链,解决上述问题将会是一个非常重要的挑战。
区块链为什么要验证?
上图展示了“51%攻击”穿透一个无效区块,我们希望网络拒绝这条链!
验证区块链对用户非常有益,主要原因有二:
1、首先,验证区块链最大程度地提高了节点可以正确确定在规范链上发言的机会(金色财经注:所谓规范链就是社区认可的区块链)通常,规范链被定义为类似于“具有最多支持该链的矿工/验证人的有效区块链”(例如,比特币中的“最长有效链”)。根据定义,无效链将被拒绝,如果在多个有效链之间进行选择,那么获得矿工/验证人支持最多的那条链将获胜。因此,如果您有一个可以验证所有有效性条件的节点,从而检测到哪些链有效、哪些链无效,那么就可以最大程度地提高正确检测规范链的机会。
金色相对论 | Phala Network创始人佟林:kusama的卡槽适用于创新项目、实验项目、低成本项目去使用:金色财经报道,在今日举行的金色相对论中,针对“插槽拍卖的主网启动前最重要的里程碑,这个里程碑会带来什么联动效果?”等问题,Phala Network创始人佟林表示,Kusama在波卡主网上线之前很多人以为它是波卡的测试网,但实际上经过一年的运行,Kusama已经不仅仅是测试网了,而是一条和波卡功能一样的网络。比如波卡很多新的功能都会先在 KSM 上运行测试,运行没问题后再加入到波卡中。这有点像比特币和莱特币,比特币的很多新功能(比如隔离见证)都会先在莱特币上测试,没问题后再部署到比特币上。至于Kusama的卡槽数量,因为平行链插槽数量有限,上限大约会在 100 条左右,但是其中有一部分是公益卡槽,一部分是平行线程卡槽,最后一部分才是平行链拍卖。所以总体可能只有30-50个可以供拍卖,甚至波卡的会比Kusama的还更少。 拍卖机制上,每次仅会释放一个卡槽,下一个插槽的释放会有一定的时间间隔,所以需要项目方去参与拍卖。Kusama的平行链插槽拍卖,目标对象是想使用Kusama的平行链。因此其实是在拍卖平行链的租赁资源。平行链插槽只租不卖,波卡上的平行链插槽每个租赁期为 6 个月,拍卖时可竞标四个租赁期,也就是说项目方可拍下一个或者多个租赁期,KSM 上的平行链插槽租赁期时长会更短一些。目前已经有97条基于Substrate的链,都需要卡槽来完成平行链的上线。那么Kusama和波卡的区别是: kusama的卡槽会便宜些,适用于创新项目、实验项目、低成本项目去使用;而波卡更适合金融类、商业成熟的项目、大市值的项目去拍卖。[2020/12/11 14:56:19]
2、其次,验证区块链有效性还有一个更深层的原因:假设一个强大的参与者试图推动对协议的更改(例如更改代币发行),并得到大多数矿工的支持,如果没有其他人验证区块链,那么这种攻击就很容易成功,因为在默认情况下,每个人的客户端都会接受新链,等到人们看到正在发生的事情时,持不同意见的人才会来尝试协调拒绝那条链。但是,如果普通用户都在进行验证,那么协调问题就落在了另一边:那些试图更改协议的人将负责说服用户积极下载软件补丁以接受协议。
金色晨讯 | 9月16日隔夜重要动态一览:21:00-7:00关键词:美国、兴业银行、SEC、CFTC
1. 美国48个州将统一监管框架,或简化加密公司合规工作;
2. 美国上市公司MicroStrategy再次购买1.75亿美元BTC;
3. 法国兴业银行选择Tezos进行CBDC试验;
4. SEC专员:SEC对Unikrn ICO的执法行动或扼杀创新;
5. 中国工程院院士:区块链等为构建自然资源调查监测体系提供技术支撑
6. CFTC恢复Tassat Derivatives的无行动豁免;
7. Tether在波场网络销毁10亿枚USDT;
8. 以太坊侧链扩容方案MaticNetwork集成稳定币Dai;
9. Pantera Capital首席执行官:通货膨胀将推高比特币和其他加密资产价格。[2020/9/16]
如果有足够多的用户在验证,那么就会避免造成不必要的混乱,也不会因为强制更改协议而产生争议。混乱会造成很多破坏,而且需要带外数据社交协调(out-of-band social coordination)来解决,这其实就给攻击者设置了很大障碍,他们也因此没有足够的信心逃脱,继而使攻击者没有发动攻击的动力。如果大多数用户正在(直接或间接)进行验证,而攻击仅得到大多数矿工的支持,则该攻击将完全默认为失败,这是所有结果中的最佳结果。
定义观点 vs. 协调观点
请注意,这种推理与我们经常听到的另一种推理方式截然不同:“根据定义”,更改规则的那条链在某种程度上其实并不是正确的链,无论有多少其他用户接受某些新规则,重要的是你依然可以留在自己喜欢的且遵循旧规则的那条链。
节点资本创始合伙人杜均:金色算力云上线,助力矿圈生机蓬勃:7月3日20:00,由金色算力云、链上科技、金色财经主办;IPFS100.com、节点咨询承办的“金色算力云线下发布会”正式拉开帷幕。节点资本创始合伙人杜均指出,金色算力云是由金色财经推出的算力销售平台,公司与行业领先的矿业厂商合作,为用户提供便捷安全的挖矿服务。依托于金色财经的品牌和链上科技500余家交易所的渠道资源,在内测期间,金色算力云的产品在30余家交易所上架售卖,累计售出Filecoin算力超过3万余T。
挖矿是一个脏活苦活,现有的矿业服务平台质量参差不齐,特别是购买云算力的用户在这上面交了不少学费。我希望金色算力云能让用户赚钱,让合作伙伴更强,让矿圈更加生机蓬勃。[2020/7/4]
下图是加文·安德森(Gavin Andresen)“按定义”观点的一个示例:
请注意,这个观点有两个核心部分:
1、根据定义,不接受你认为基本且不可转让规则的那条链的版本不是比特币(或以太坊或任何其他区块链链),无论有多少其他人接受该链。
2、重要的是,你必须保持链上有你自己认为可以接受的规则。
但是,我相信这种“个人主义”观点是非常错误的。为了弄清原因,让我们看一下我们担心的情况:绝大多数参与者可能会接受对协议规则的一些更改,而这些更改是你认为不可接受的。举个例子,设想我们拥有了一个交易费用很低的未来,并且为了保证区块链安全,几乎其他所有人都同意更改为增加发行量的一组新规则,但是此时你却顽固地继续运行一个继续执行旧规则的节点,并且分叉到与大多数节点不同的链上。
金色沙龙 | 潘超:对于非底层公链的应用层而言,双币机制是必需的:在今日举行的《MakerDAO—双币机制如何取得更大发展》为主题的金色沙龙中,MakerDAO 中国区负责人潘超表示,MakerDAO 系统里有两种代币。一种是稳定币 Dai,一种是治理和权益代币 MKR,可以把 Dai 理解成 Maker 的产品,MKR 是系统的股票。MKR 持有者管理 Dai 系统的稳定,在系统运行良好时获得收益,管理不善时自动兜底。这是一种合理的激励机制。
对于非底层公链的应用层而言,双币机制是必需的。试图用单一的代币捕获和保障整个应用(尤其是金融应用)的价值,要么是目前没有可用的产品,要么是之后没有人对产品负责。[2020/4/22]
从你自己的角度来看,你仍然可以将代币放在可以接受的旧规则下运行的系统中。但是那又怎样呢?其他用户根本不会接受您的代币,交易所也不会接受您的代币。价格网站上会罗列出代币的价格,但他们的数据来源肯定会指向多数链上的那个代币,所以你的代币将毫无价值。加密货币和区块链从根本上说是一种社会建构,如果没有其他人相信它们,它们将毫无意义。
通常,我们所处世界里所遇到的协调问题大多不是好事,这里有几个例子:
1、对于大多数人来说,英语其实并不“协调”,因为英语高度复杂且有大量不规则的拼写系统和语音结构;
2、有些人认为美国如果改用公制计量可能会更好;
金色晚报 | 12月30日晚间重要动态一览:12:00-21:00关键词:央行、互金协会、可信区块链评测、火币CTO、区块链ETF
1.央行:出台个人金融信息保护、区块链等金融科技系列监管规则。
2.互金协会会议:移动金融框架下法定数字货币的应用场景研究。
3.中国信通院将于2020年启动第四批可信区块链评测。
4.国资委新闻中心与三家平台就区块链技术实践等签署合作协议。
5.火币CTO程显峰将离职 其工作暂由吴树鹏接替。
6.国内首只区块链指数基金 (ETF) 上报材料已被证监会接收。
7.新京报快评:对“区块链”需露头就打。
8.上期所与青岛海关合作 推动基于区块链的监管平台研发。
9.李国庆:区块链吸引我的不是技术 而是生产关系重构。[2019/12/30]
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
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。