宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 中币下载 > 正文

Vitalik Buterin:论区块链验证去中心化与效率权衡

作者:

时间:1900/1/1 0:00:00

区块链如何在避免过度中心化的同时保障验证效率?

原文标题:《VitalikButerin:区块链验证的哲学》撰文:VitalikButerin,以太坊联合创始人编译:洒脱喜

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

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

为什么需要验证?

图:攻击者发动了51%攻击,而我们想要网络拒绝这条无效链

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

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

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

Vitalik Buterin:账户抽象升级可以吸引数十亿人使用以太坊:7月20日消息,以太坊创始人Vitalik Buterin最近在以太坊社区会议(EthCC)演讲中详细介绍账户抽象升级“paymasters”如何让用户用用于交易的代币支付Gas费,从而吸引数十亿人使用以太坊。账户抽象使用户能够从外部拥有的钱包(EOA)切换到基于智能合约的钱包。如果此次升级成功,钱包管理将比现在更加高效和轻松。Vitalik Buterin和社区相信,这可以使加密货币得到广泛采用。

此外,加密货币领域充斥着丢失助记词或助记词被盗的用户。通过账户抽象,用户可以创建充当可编程智能合约的非托管钱包。钱包恢复只是此次新升级带来的众多功能之一。[2023/7/20 11:06:21]

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

定义视图vs协调视图

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

以下是GavinAndresen提出的「按定义」视图的一个示例:

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

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

B-Harvest将于4月14日推出代替Gravity DEX的新项目Crescent:4月8日消息,Gravity DEX开发团队B-Harvest宣布代替Gravity DEX的新项目Crescent(CRE)计划于4月14日推出,并将由Cosmos Hub转向基于Cosmos的同名区块链Crescent。B-Harvest团队还计划通过一系列新功能充实该平台,包括跨区块链借贷工具以及新的订单簿DEX模型。一旦Crescent启动,B-Harvest的旧协议Gravity将继续运行,Crescent将向用户提供质押收益奖励,以吸引用户将流动性迁移到新协议。

此前报道,Gravity DEX开发团队成立代替Gravity DEX的新项目Crescent,Crescent已经公布了治理代币CRE分配模型,总量2亿枚,其中将向ATOM委托者(delegator)空投1亿枚,另外1亿枚作为战略储备。(CoinDesk)[2022/4/8 14:13:10]

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

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

Vitalik Buterin:已向阿桑奇的AssangeDAO捐款:2月7日消息,AssangeDAO是一个以维基解密创始人阿桑奇命名的去中心化自治组织,该组织宣称将筹集资金,帮助阿桑奇支付法律费用,并开展活动,提高公众对司法系统系统性故障的认识。据以太坊生态去中心化基础设施Gnosis联合创始人Martin K?ppelmann在推特透露,他已经向AssangeDAO捐赠了10 ETH,而以太坊联合创始人Vitalik Buterin回应道,「我也捐赠了」。不过,目前尚不清楚Vitalik Buterin的具体捐赠金额。现阶段,AssangeDAO 通过 JuiceBox 平台的第一轮融资已于北京时间 2 月 7 日 6 时 32 分结束,目前共筹集了12630个ETH,超过了ConstitutionDAO(People)筹集的11613枚ETH,第二轮融资将于北京时间2月9日6时32分结束。[2022/2/8 9:36:31]

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

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

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

然而,在区块链应用中,我们可利用协调问题来发挥自己的优势。我们正在利用协调问题造成的摩擦,以作为防止中央集权行为者渎职的一道屏障。我们可以构建具有属性X的系统,并且我们可以保证它们将保留属性X,因为将规则从X更改为非X,需要一大堆人同意同时更新他们的软件。即使有一个参与者可以强制改变,这样做也很困难。

动态 | Waves发布互操作性协议Gravity Hub:金色财经报道,俄罗斯开源区块链平台Waves正在推出Gravity Hub,这是一个与区块链无关的协议,旨在解决互操作性问题。它还会将来自外部世界的数据馈送到区块链。Gravity Hub本质上是一个没有任何代币的区块链,但是可以与Waves平台、Waves Enterprise或以太坊等其他区块链进行通信。[2019/12/12]

注意,这个观点会带来一个特别的结果:全节点的目的并不是为了保护你,在有争议硬分叉的情况下,拥有全节点的人是安全的,而没有全节点的人是容易遭受攻击的。相反,这里的观点更多的是群体免疫:验证的人越多,每个人就越安全,即使只有一部分人在验证,每个人都会因此得到高水平的保护。

深入研究验证

现在我们进入下一个主题,这个主题与轻客户端、分片等主题非常相关:通过验证,我们实际上实现了什么?为了理解这一点,让我们回到前面的一点,如果攻击发生了,我认为攻击的发生方式具有以下优先顺序:

默认为失败>默认为混乱>默认为胜利

这里的「>」当然是「优于」。最好的情况是攻击完全失败,其次是攻击导致混乱,每个人都不同意正确的链是什么,而最糟糕的则是攻击成功。为什么混乱要比胜利好得多?这是一个动机问题:混乱增加了攻击者的成本,并降低他们肯定会获胜的确定性,因此从一开始就阻止了攻击的企图。默认为混乱环境,意味着攻击者除了要赢得51%算力竞争,还需要说服社区跟随,这要比简单发起51%攻击要困难地多,也没有那么吸引人。

验证的目标是从默认胜利改为默认失败,或者默认混乱。如果你们都有一个全验证节点,并且攻击者试图推行一条具有不同规则的链,则攻击就会失败。如果有一些人有一个全验证节点,而其他人没有,那么攻击会导致混乱。但现在我们可以思考:有没有其他方法可以达到同样的效果?

动态 | 区块链医疗公司SimplyVital Health获得美国国家科学基金会22.5万美元的经费:总部位于新英格兰的区块链公司SimplyVital Health获得来自美国国家科学基金会(NSF)的225,000美元的经费。SimplyVital将用该笔资金进行研究和开发,以将石墨烯协议集成到其区块链协议Nexus中。(cointelegraph)[2019/10/11]

轻客户端和欺诈证明

在这方面,一个自然的发展是带有欺诈证明的轻客户端。目前存在的大多数区块链轻客户端的工作原理,是验证大多数矿工支持的特定区块,而不必费心检查其他协议规则是否正在实施。客户端基于大多数矿工是诚实的信任假设运行。如果发生了一次争议分叉,则默认情况下,客户端会遵循多数链,如果用户希望遵循旧规则,则由用户采取积极的措施。因此,今天受到攻击的轻客户端会默认承认攻击是成功的。但有了欺诈证明技术,情况就开始不太一样了。

欺诈证明最简单的形式如下。通常,区块链中的单个区块只触及区块链「状态」的一小部分。如果一个全验证节点处理一个区块,并发现它是无效的,则它们可生成一个package包。它们把这个package包广播给轻客户端。然后,轻客户端可以获取package包并使用该数据来验证区块本身,即使它们没有来自区块链的其他数据。

图:区块链中的单个区块只涉及少数账户。欺诈证明将包含这些账户中的数据以及证明数据正确的Merkle证明

这种技术有时也被称为无状态验证:客户端可以只保留区块头,而不是保留完整的区块链状态数据库,它们可通过向其他节点请求区块验证正在访问的任何所需状态项的Merkle证明来实时验证任何区块。

这种技术的强大之处在于,轻客户端只有在听到警报时才可以验证单个区块。因此,在正常情况下,轻客户端仍然是轻客户端,它们仅检查大多数矿工/验证者支持哪些区块。但在那些例外情况下,多数链包含轻客户端不会接受的区块,只要至少有一个诚实节点来验证欺诈区块,该节点就会发现它是无效的,然后在它广播欺诈证明后,网络的其余部分就会拒绝它。

分片

分片是这一点的自然延伸:在分片系统中,系统中的事务太多,大多数人无法一直直接验证,但如果系统设计良好,则可以检测到任何单个无效区块,并用欺诈证明证明其无效,这个证明可以在整个网络上传播。一个分片网络,我们可概括为每个人都是一个轻客户端。而且只要每个分片有一定的最小阈值参与者数,网络就具有群体免疫性。

此外,在分片系统中,区块生产是高度可访问的,甚至它可以在普通的笔记本电脑上完成,这一事实非常重要。网络核心不依赖高性能硬件,这使得多数人驱动的协议变更,更难以「默认获胜」。

这就是可审计性在现实世界中的含义:不是每个人都一直在验证所有事情,而是每个特定部分都有足够的眼睛,如果有错误,它将被发现,以及检测到一个错误,则所有人都清楚可见。

也就是说,从长远来看,区块链肯定可以在这方面有所改进。一个特别的改进来源是ZK-SNARKs:有效可验证的密码学证明,允许区块生产者向客户端证明区块满足某些任意复杂的有效性条件。有效性证明比欺诈证明更强大,因为它们不依赖于交互式游戏来捕获欺诈。另一重要技术是数据可用性检查,它可防止数据未完全发布的数据区块。数据可用性检查确实依赖于一个非常保守的假设,即在网络的某个地方至少存在少量诚实节点,好消息是,这个最小诚实阈值很低,并且即使存在大量攻击者也不会增长。

时间和51%攻击

现在,让我们来了解下「默认为混乱」思维方式最糟糕的后果:自行进行51%攻击。目前很多社区的标准是,如果一次51%攻击成功,那么发生51%攻击的区块链必然会成为有效链。这一标准经常被严格遵守,最近发生的ETC51%攻击就很好地说明了这一点。攻击者恢复了3000多个区块,结果是,Geth节点使用了攻击者的区块链,而OpenEthereum节点仍然保留在原始链上。

我们可以说,这次攻击实际上是默认混乱。不幸的是,ETC社区随后选择接受攻击链作为规范链,这一举动被eth_classic描述为「遵循预期的工作量证明」。因此,社区规范积极帮助攻击者获胜了。

但我们可以设想一个规则,一旦客户端接受了一个区块作为规范链的一部分,并且该区块有超过100个后续区块,那么客户端从此将不再接受不包含该区块的区块链。或者,在具有最终确定性的权益证明设置中,想象一个规则,一旦完成一个区块,就永远无法还原。

5个区块还原限制仅用于说明目的,实际上,限制可能会更长,例如100-1000区块。

明确地说,这对规范性的确定方式带来了一个重大改变:客户端不再只查看它们自己接收到的数据,客户端还会查看数据是何时收到的。这引发了由于网络延迟而导致客户端不同意的可能性:如果由于一次大规模攻击而同时完成两个冲突的区块A和B,有些客户端首先看到了区块A,而有些客户端首先看到了区块B,该怎么办?但我会说这很好:这意味着,尝试恢复交易的51%攻击不会默认为胜利,而是默认为混乱,而带外应急响应,则可以帮助选择正确的链。

如果协议设计得很好,强制升级到带外应急响应,应该是非常昂贵的:在权益证明中,这样做需要1/3的验证者牺牲他们的存款并遭到罚没。

有可能,我们可以扩展这种方法。我们可以尝试让51%审查交易攻击也默认为混乱。对及时性检测器的研究,进一步推动了所有类型的攻击都默认为失败方向,尽管由于时间检测器不能帮助那些连接不好且在线的节点,因此仍然存在一些混乱。

对于一个重视不变性的区块链社区来说,实施这种还原限制可以说是上乘之选。很难诚实地宣称区块链是不可变的,无论一笔交易在一条区块链中被接受了多长时间,总有可能有一些强大参与者的意外活动出现,并将其还原。当然,我会声称,即使是BTC和ETC,也已经在极端情况下设置了还原限制。如果发生的攻击使活动恢复了数周,则社区可能会采用用户激活软分叉来拒绝攻击者的区块链。

结论

首先,如果我们接受社会协调的合法性,并且接受涉及「1-of-N」信任模型的间接验证合法性,那么我们可以创建可扩展性更高的区块链。

其次,客户端验证对于所有这些工作都至关重要。只有少数人运行节点,而其他人依赖这些节点的网络,很容易被特殊利益集团接管。然而,避免这样的命运并不需要走到相反的极端,即无需让所有人总是验证一切!允许单独验证每个区块的系统,因而用户只在其他人发出警报时验证区块,这是完全合理的,并具有相同的效果,但这需要接受验证的「协调视图」。

第三,如果我们允许规范性的定义,包括时间,那我们将为提高拒绝51%攻击的能力打开很多大门。最容易获得的属性是弱主观性:这种想法是,如果客户端需要至少每3个月登录一次,并且拒绝恢复时间超过这个时间,那么我们可以在权益证明中添加罚没规则,使得攻击变得昂贵。但我们可以走得更远:我们可以拒绝恢复最终区块的链,从而保护不变性,甚至可以防止审查。因为网络是不可预测的,依赖时间确实意味着攻击在某些情况下「默认为混乱」,但好处是非常值得的。

考虑到所有这些想法,我们可避免(i)过度中心化,过度冗余的验证导致效率低下,以及错误的规范意外地使攻击变得更容易,并更好地构建更具弹性、性能以及安全的区块链。

来源链接:vitalik.ca

比特币

比特币

比特币Bitcoin,一种去中心化、非普遍全球可支付的加密数字货币,而多数国家则认为比特币属于虚拟商品,并非货币。比特币的概念,诞生于2008年署名为中本聪的一篇论文,并于2009年1月3日,基于无国界的对等网络,用共识主动性开源软件发明创立。比特币协议数量上限为2100万枚,以避免通货膨胀问题。使用比特币是通过私钥作为数字签名,允许个人直接支付给他人,不需经过如银行、清算中心、证券商等第三方机构,从而避免了高手续费、繁琐流程以及受监管性的问题,任何用户只要拥有可连接互联网的数字设备皆可使用。比特币BTCBitcoin查看更多以太坊

标签:区块链VITVITAITA区块链技术通俗讲解知乎VITY币vita币官网SAITAMURAI币

中币下载热门资讯
谈币大师:比特币多次试探高位,后市行情及时解析!

喜欢就关注,认同就点赞,受用就收藏。有疑问可咨询,留言,欢迎交流技术、方法、心得;稳健在于积累,交易中短线结合!致力于给出最准确的交易策略!比特币已经三次试探历史性高位,中间的回撤也有两次达到一千余点,最近多空转换快,操作上切勿恋战,

1900/1/1 0:00:00
HashKey:探究公链与联盟链连通趋势与发展阻碍

公链与联盟链之间的界限将进一步模糊,在公链的基础上搭建联盟链将是常见方案。原文标题:《连通公链和联盟链的研究》撰文:郝凯,就职于HashKeyCapitalResearch审核:邹传伟,万向区块链与PlatON首席经济学家本文研究公链.

1900/1/1 0:00:00
【公示】“NEX交易赛”12.19获奖名单

尊敬的LBank用户: LBank现公示从12月18日20:00至12月19日20:00交易量排名前三的中奖名单,具体情况如下:*为保证活动公平,LBank严禁刷单、对敲等作弊行为.

1900/1/1 0:00:00
中国比特币矿工控制着全网 65%的算力

币友们好!在今天的《推特大咖说》第118期中,你将看到:01TheBlock中国比特币矿工控制着全网65%的算力,比特大陆的市场份额持续下滑.

1900/1/1 0:00:00
矿机涨价,排行第三交易所申请上市

点击上方"蓝字"关注作者哦~本文章介绍今天币圈整体行情以及币圈相关热门资讯为你筛选币圈最重要的信息 话不多说直入主题吧~ 币圈暴涨后的震荡: 24小时涨跌榜: 再来看看今天币圈整体情况:24小时全网累计爆仓24.

1900/1/1 0:00:00
Matic Network 联合创始人:刚从噩梦中醒来

币友们好!在今天的《推特大咖说》第115期中,你将看到:01MaticNetwork联合创始人兼COO刚从噩梦中醒来,因为有人打电话来求救了。。。真相很快会浮出水面,我们不是这件事的幕后黑手,因为一些散布恐慌的帐户正试图映射这一点.

1900/1/1 0:00:00