LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 以太坊2.0的设计原则(下)

以太坊2.0的设计原则(下)

2020-06-07 爱乐牛 来源:区块链网络

无需许可


以太坊2.0与其他“下一代”区块链之间的显著差异在于如何确定参与共识。以太坊2.0对验证者的唯一要求是拥有32枚ETH。这里没有代理,不需要投票去选择验证节点,没有中心化的宪法来决定谁参加。更重要的是,以太坊2.0中的验证者都被平等对待:每个实体参与的硬性要求都是32个ETH。

但是,任何个人都可以拥有多个验证者身份。这仅仅是为简化共识协议的安全性和紧凑性而做的决定。从激励设计角度考虑,且为了形式化建模,在对区块进行投票验证时,平等对待所有参与者是非常重要的。1个验证者= 质押32个ETH,不能比这个多。其他链旨在通过采用更中心化的验证方法来解决可扩展性问题。然而,对于以太坊而言,不考虑这种选择

简洁,但最具表现力


以太坊2.0在其核心定义和实现目标上,力求简洁和紧凑。从根本上讲,它是一个可扩展的、无需权限的平台,用于搭建去中心化的应用程序。


没有必要在以太坊2.0中引入应用程序逻辑,这是有充分理由的。人们可以将以太坊2.0系统类比为一个精简的Linux内核 - 它不是由操作系统来决定其所包含的功能或假设的用例,而是由为内核搭建应用程序的开发人员决定。

“假设意图”这种做法是有限制性的。旧的以太坊格言说“我们没有任何特征”,这理念同样适用于以太坊2.0。

安全性


以太坊2.0的PoS模式,也就是Casper the Friendly Finality Gadget,在一系列旨在保持高度活跃度和网络参与度的激励措施下运作。

以太坊2.0扩展了Casper,以利用其属性来保护分片区块链网络的安全。也就是说,以太坊2.0使用“链终结性阈值”的概念来确保系统中的1024个分片共享与信标链相同的安全池。

PoS的核心前提是,验证者都会因为按预期完成指定工作而获得奖励,或因为处于离线状态而损失质押金,或因为恶意违反协议而受到严厉处罚(质押金被没收)。

虽然前提很简洁,但细节决定成败。一旦我们意识到我们不仅要考虑每个验证者的行为,而且要且要考虑整个验证者委员会行为,Casper的经济学很快变得更加复杂。

一般来说,PoS链的一个开放性问题是,应该何时惩罚行为,以及如何根据某些验证者行为的严重性来进行不同的处罚。也就是说,我们需要找到一种足够全面的惩罚措施,以便在保持简洁的同时涵盖所有边缘案例。

鉴于协议依赖于验证者活动,且依赖于对运行时间的持久观测,那么可能存在诚实的验证者无法参与的情况。诚实的验证者可能会由于停电、网络不稳定或其他因素而离线,但我们需要明确区分离线处罚和恶意行为造成的处罚。



以太坊2.0的部分设计理由是,攻击者为任何企图破坏协议的尝试付出巨大代价。也就是说,在其他链中常发生的51%攻击,在以太坊2.0上应该是成本巨大的,甚至结果会适得其反。

也就是说,在具有明确最终性的协议中,“将最终性逆转将”会使攻击者对于诚实的验证者来说显而易见,这就使得社区可协调一致地进行软分叉,以移除恶意行为者并使其攻击无效。

当然,即使攻击成功并且这种社区协调不成功,如果攻击者的唯一目的是破坏系统并造成巨大损失,系统的完整性会减少。

基于PoS机制系统的另一个限制是验证者困境,也就是说,系统中的验证者是懒惰的、并且简单地信任协议中的其他人正在正确地完成其工作,因此不验证他们本该负责验证的消息。

除非面临重大处罚,否则这些验证者可以通过不履行其责任来节省带宽或一般的计算要求。通过为网络中丢失的数据或错误签名的信息添加极其强大的惩罚和质询机制,可以缓解这种问题。

以太坊2.0的验证者激励

验证者离线: Quadratic Leak


以太坊2.0依赖于拜占庭容错阈值,必须保证网络中三分之二的验证者是诚实参与者。对不参与验证的验证者的处罚被称为“inactivity leaks”。如果一条链超过4个epoch时期还未能最终确定,那么协议对验证者奖励就会尽可能严格。也就是说,最大期望奖励会变为0,因此验证者需要表现得很完美,否则就会面临更多的惩罚。惩罚的大小与上一次链实现最终性以来的时间成正比,以阻止验证者离线。

某些验证者离线的时间越长,这种惩罚就会呈现指数增长,这种就被称为“Quadratic Leak”。之所以涉及这种惩罚,是希望不会对短期离线造成不利影响,但考虑到预期的现实世界行为,较长时间离线会有很大的不利。这种罚款而损失的资金会被销毁,而不会重新分配给诚实的验证者。

故意恶意活动:罚没


在针对以太坊PoS的早期提案中,恶意验证者将遭受大规模的惩罚,称为罚没(slashing),通常这些机制只讨论个别恶意验证者的处罚,而不讨论验证者串谋起来的严重性。如果大部分验证者协同恶意攻击网络,网络就会受到影响。

根据拜占庭容错,对恶意行为者的处罚将是在特定时间间隔内恶意行动的验证者数量的3倍。这有助于惩罚大型协同攻击,并且还可以阻止恶意验证者池的产生。也就是说,在网络上执行聚合攻击,对恶意验证者有利而对普通验证者不利。通过举报机制进行罚没,激励验证者发现其他验证者的可罚没的违法行为。

验证者奖励


根据Vitalik的以太坊Serenity 设计原理,他在每个epoch时期中概述了验证者基本奖励的4个特定组成部分:

1.通过证明以确定正确的 epoch 检查点而获得的奖励的 1/4;
2.通过证明以确定正确的 chain head 而获得的奖励的 1/4;
3.通过证明使区块得以快速进入链中而获得的奖励的1/4;
4.通过证明以确定正确的分片区块而获得的奖励的1/4;

根据正确参与的验证者数量,在基本奖励之外还有额外奖励。这个额外奖励是激励每个验证者做正确的事情,为诚实的行为创造集体推动力。奖励的发布时间表应该是一致并直接的。增加更多的复杂性只会使系统更容易出错,并且从宏观经济的角度来看更难理解。

把应用程序复杂性与协议复杂性分开

“以太坊2.0路线图令人生畏”的说法并不确切,因为以太坊2.0可能是最雄心勃勃且历时多年的计划之一,它可以从行业中获得最好的经验教训,并创建一个优雅地解决扩展性三难困境的协议,并且,该协议将能够持久运行下去。关于“分片如何显著降低开发人员体验”已经进行了大量讨论。其依据是,在以太坊2.0协议内部结中剥离应用程序开发人员的需求是非常困难的,因为高度复杂的分片系统需要彼此交互(跨分片交易)。

乍一看,以太坊2.0从外部看起来令人生畏,并且,在以太坊2.0中智能合约如何执行仍不甚清晰。然而,事实要更加微妙。



应用程序开发人员只需要知道一小部分以太坊2.0协议。普通智能合约开发人员无需了解验证者注册表或信标链终端小工具的内部结构。

因此,阶段0从应用层中完全移除。最近阶段1和阶段2也提出了非常有力的提案,主张对执行环境进行更高程度的抽象化,使以太坊2.0更强大、更简洁。

最坏的情况是,钱包/应用程序开发人员需要了解跨分片交易的某些细节,以通过一些技巧显示即时交易结算。如今的计算机操作系统和内部设备比10年前复杂得多,但是,大多数应用程序开发人员无需了解隐藏的内部结构,即使这些内部结构构成强大的计算机体系。这种“将关注点区分开”,是良好架构设计的核心,人们可以把它作为在构建以太坊2.0时应该牢记的设计不变量。

构建真实的世界计算机


总而言之,以太坊是图灵完备的,这意味着它可以像今天的计算机一样,运行任何类型的可想象的代码,尽管它还是一台缓慢的、单线程的计算机。

今天的以太坊类似于早期的弱处理器。如今在以太坊运行应用程序是昂贵的,因为该协议已建立机制,以防止困扰公共事业的公地悲剧的出现。

以太坊充满活力的开发者社区从未停止对当前网络的改进创新,无论是在核心层还是在layer 2。但是,从治理的角度来看,未来计划的升级可能会出现问题且很痛苦。

如果以太坊2.0上线几年后,我们感到受限,并希望建立一个以太坊3.0,那就表示我们在前者的核心设计上失败了。

可升级性应该以不需要有风险的硬分叉的方式被纳入协议。也就是说,一旦系统长期处于运行中,layer 1 的创新应该是最小的或接近于零。

我们还有很长的路要走,但我们谨慎提醒自己为什么要构建这个软件,以及我们希望在10年内看到它走向何方,以编写出更具鲁棒性的、可以经得起时间的考验的代码。

本译文发文时尚未取得作者的翻译授权,如侵权,请告知删除。

作者:Raul Jordan
译者:爱乐牛
原文链接:https://www.tokendaily.co/blog/design-principles-of-ethereum-2-0

【区块链中文字幕组】
致力于前沿区块链知识和信息的传播,为中国融入全球区块链世界贡献一份力量。 如果您懂一些技术、懂一些英文,欢迎加入我们,加微信号: w1791520555。点击查看项目GITHUB,及更多的译文…
【译者简介】
我是爱乐牛,欢迎关注我的主页; 微信号hofolht,欢迎交流

—-

编译者/作者:爱乐牛

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...