首发 | 深度解析ETH2.0 Serenity “宁静”阶段
Principles Serenity的设计哲学
Simplicity 简单
基于加密经济学里权益证明和Sharding分片技术的内在复杂性,Serenity在设计的时候尽可能的追求最大简单性,以便:1)最小化开发成本;2)降低不可预见的安全问题的风险;3)让之后的开发者在设计协议时,更容易的对其使用者说明协议的细节和合法性。(关于第三点,在某些协议的复杂性不可避免时,优先顺序应该服从:Layer2协议>客户端实现>协议规范)
Long-term stability 长期稳定性
底层协议的建设必须足够的完美和有预见性,只有这样在未来的10年或更长的时间内都不需要对其进行任何更改,任何创新都可以基于这些底层,在更高的协议层发生和建设。
Sufficiency 充分性
Serenity将会从基础性上保证尽可能多的应用程序可以构建在她协议的顶层。
Defense in depth 深度防御
协议可以在各种可能的安全假设下无差别的工作。(例如,网络延迟,故障计数,以及用户的邪恶动机。
Full light- client verifiability 全轻节点可验证
在给定的假设中(诸如网络延迟,攻击者的预算限定,1/n或者s/n的少数诚实节点),一个验证客户端,即使在51攻击之下,应该也是可以获得整个系统的所有有效数据。(其实这点也是深度防御的一个子集)
The Layer1 VS Layer2 一层协议与二层协议的权衡
在任何区块链协议中,都存在着在Layer1中放入更多的特性将,还是尽可能的将Layer1设计的简单而在Layer2上进行更多的特性建设的争论。
其中,支持Layer2的理由包括:
a.降低了共识层的复杂性
b.减少了修改共识层的需要
c.减少共识层失败的风险
d.减少协议治理的负载和政治风险
e.随着时间的推移,将会更具有灵活性和实施新想法的能力
而支持Layer1的理由是:
a.减少由于缺乏机制迫使每个人升级到一个新的协议(硬分叉)而导致的发展停滞的风险
b.可能降低整个系统的复杂性
c.如果第一层没有足够强大,在第二层协议上构建多么复杂庞大的机制是不可能的(就像你永远有没有办法在比特币的网络上构建以太坊)
以太坊2.0的大部分内容都是在Layer1和Layer2之间小心权衡,在Layer1上所做出的努力包括以下三点:
1)准图灵完备、全状态代码执行
2)可拓展和可计算
3)高速区块完成时间
具体而言:
如果没有1),就不能使用完备的可信模型去构建Layer2的应用程序;
如果没有2),拓展性能就会被局限在某种状态通道和像Plasma的某些技术中,而这些技术往往面临着资金锁定和大规模资金退出的问题;
如果没有3),就不能实现在不用状态通道的情况下及时交易的要求,而这通用也会从产生资金锁定和大规模资金退出的问题;
除了上述特性,ETH2.0将1)隐私、2)高级编程语言、3)可伸缩状态存储、4)签名方案,留给了Layer2,因为它们都是快速创新的领域,现有的许多方案都具有不同的特性,未来不可避免的要在更多更好的方案之间进行权衡。例如:
1) 隐私 :环签名+机密值VS Zk snark VS Zk starks;rollup VS ZEXE VS …
2) 高级编程语言 :声明性与命令性、语法、形式验证特性、类型系统、保护特性以及本地支持隐私功能
3) 扩拓展的状态存储 :账户VS UTXOs,不能的租借方案,raw Markle branch见证人VS Snark/Stark 压缩VS RSA累加,spares Markle trees VS AVL trees VS 基于使用的imbalanced trees;
4) 签名方案: M/N多重签名,社交密钥的撤销和恢复,Schnorr签名,BLS签名,Lamport签名
从10月4号以太坊开发团队发布ETH2.0的启动条件并公布存款地址以来,各路ETH深度参与者们纷纷祭出了自己的32个或者更多的ETH支持其启动,终于在10月24号超额完成了V神设定的至少16384笔32-eth验证者存款总共不低于52.4万个 ETH 的启动要求,ETH2.0主网在12月1号凌晨准时上线。
主网上线后第一阶段被命名为“Serenity”,运行的主链为Beacon chain,即现在所运行的信标链(如下图所示,目前已经进行到第357个Epoch),那么关于这条pos链,有哪些设计哲学和创新点,他们是否又足以支撑ETH向Pos过渡呢?
Why Casper 为什么选择Casper做POS的方案
目前一共有三种主流的POS的共识算法:
a.Nakamoto-inspired,如Peercoin,NXT,Ouroboros…
b.PBFT-inspired,如Tendermint,Casper FFG,Hotstuff
c.CBC Casper
在后两种方案中存在着一个问题,即是否以及如何使用安全质押与惩处(Security deposits and Slashing)(第一种方案与质押惩处是不兼容的)。所有的三种方案都是优于工作证明的,我们将具体介绍一下ETH2.0的做法。
Slashing
以太坊2.0使用的Slashing机制,即在验证者被发现有不当行为时,将会罚没其质押在网络中充当验证节点的代币,最好的情况下是约有1%的验证者会受到惩罚,最坏的情况是全网所质押的ETH都会面临惩罚。这种做法的意义在于:
1)提高攻击的成本
2)克服验证者们存在的问题,使验证者偏离诚实行为的最大动机是懒惰(不做验证就对一切交易都进行签名),对自相矛盾和不正确的签名的进行大额的惩罚可以在很大程度上解决这一问题。关于这一点,有一个很典型的案例:2019年7月,一个在cosmos上的验证者因为签署了两个相互冲突的块而受到了质押金的罚没,而这个验证者出现这种失误的原因就是因为它同时运行了一个主节点和备份节点(以确保其中一个离线不会组织它们获得奖励),而这两个节点在同一时间以外打开,导致它们最终相互矛盾。
共识算法的选择
在出现大规模的验证节点作恶(1/3inBPFT-inspired,1/4in CBC),只有BFT-inspired和CBC学派的一致性算法能够有较好的最终性,Nakamoto-inspired共识算法无法在这种前提下实现最终性。最终性的确认需要大多数的验证节点都在线,这个要求在Sharding分片机制中也是需要满足的,因为分片要求必须要有2/3的随机验证者在跨片沟通时进行签名。
ETH2.0选择Casper FFG就是因为它可以用最简单的算法在协议的最终部分实现最终性,但是未来会在第三阶段逐步转向CBC Casper。
Sharding分片--为什么ETH2.0讨厌超级节点
对于Layer1而言,分片的主要方法是使用超级节点--通过要求每一个共识节点都拥有超强的服务器,来保证它们能够单独处理每个事物。基于超级节点的拓展是很方便的,因为它实现起来很简单:它只是在现有的区块链的工作方式的基础上,加入了一些更加平行运作的软件工程层面的工作。
而对于这种做法,面临的主要问题如下:
1)抵押池集中化风险: 运行节点的固定成本很高,因此可以参与的用户很少。如果运行验证节点的固定成本占据了回报的大部分,那么较大的池子相较于小池子就能够节省更小的费用,这将会使得小池子不断被挤出,从而加剧集中化的趋势。相比较而言,在分片系统中,抵押了更多ETH的更大的节点需要验证更多的交易,所以其费用并不是固定的。
2)AWS集中化风险: 在超级节点的体系下,家庭作坊式的抵押形式几乎是不存在的,大部分的抵押都将会在云计算的环境中,这将会大大增加单点故障的风险。
3)可拓展性的问题: 随着事务吞吐量的增加,上述风险增加,而在分片系统中增加的负载可以被更容易的处理而减少上述风险。
这些集中化分险也是ETH2.0没有选择格外追求超低延时(<1s)< span="">的原因,他们将这个延时设定在一个相对保守的数据。
在ETH2.0的分片系统中,不管你有多少的ETH和算力,你都能够参与到ETH的验证系统中。固定成本被最小化,即便你拥有非常庞大的ETH的量,你面临的费用依然是次线性的。
安全模型
ETH2.的深度防御与分片方法是将随机委员会抽样结合起来,以实现诚实多数者模型下的有效性和可用性,同时提供保管证明以防止懒惰的行为者,并提供欺诈证明和数据可用性证明,以便在不下载和核实所有数据的情况下检测无效或不可用的链条; 这将允许客户拒绝无效或不可用的链。
下表是当前预期的安全属性:
Casper的奖励机制是如何设计的?
在每一轮Epoch中,每一个验证者都会给出自己的证明,这个证明指的是验证者指出哪个是区块头并为之签名。如果这个证明被打包, 验证者将会获得以下奖励:
1)证明被打包入内的奖励
2)指定正确的Epoch checkpoint的奖励
3)指定正确链头的奖励
4)证明被迅速打包上链的奖励
5)指定正确shard block的奖励
在不同的场景中,具体的回报计算方式如下:
B=基础回报,P=做出正确判断的验证者的比例
任意做出正确判断的验证者将会获得B*P的奖励,
B的计算公式为:
其中,D1…Dn表示质押量大小,k是一个常数,
Beacon chain/shard chain 的结构
分片系统包含了64个逻辑分片“shards”,该系统以beacon chain为中心,协调所有的活动。
一笔交易在这个系统中得到最终确认的 流程 如下:
1)交易被包含在一群shard的某个shard block中
2)随机选择出来的验证委员会被分配到这个shard中并进行验证和签名
3)委员会的签名被打包进下一个beacon block
4)下一个beacon chain通过Casper FFG进行最终性确认
将每个shard block都通过hash连接到下一个beacon chain,使shard能够迅速识别彼此的Markle根,从而能够相互验证收据:
如上图所示,如果shard n没有被立即被打包到n+1beacon chain中,n+2beacon chain的委员会可以尝试打包这个shard和下一个shard。
尾---关于ETH2.0的未来
“宁静”仅仅只是ETH2.0浩瀚征途的第一步,但是从他们在第一步中所做的取舍可以看出来整个团队过去三年对于公平和效率的深入思考,并没有一味的追求所谓百万TPS,而是在保证安全的前提下对实用性和可行性进行更大的实践。
我相信未来在很长的一段时间内,ETH都将会整个区块链网络的基石,今年的Defi只是在不成熟的网络条件下的一场伟大的社会实践,2.0在2021-2022愈臻完善的时候,必然会迸发出更大的商业价值和社会价值。
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류
위믹스3.0 최초의 DAO ‘원더다오’, 노드 카운슬 파트너 합류 l 탈중앙화 자율조직 형태로 결성…구성원 모두가 위믹스3.0 운영에 참여 가능l 스마트 컨트랙트 기반 모듈화 ...
[주간톡톡] 양의 탈을 쓴 늑대는 양일까? 늑대일까?
주간톡톡은 한주간의 블록체인 소식을 재구성해 독자들과 재미있게 이야기해보는 코너입니다. 이번주는 페이스북의 스테이블 코인 프로젝트 '디엠(Diem)'에 대해 알아보겠습니다. 그럼 ...
IBM, 블록체인 와인 추적 서비스 '빈어슈어(Assure)' 공개
IBM이 재배지부터 매장까지 와인 공급망을 추적할 수 있는 블록체인 기반 플랫폼을 공개했다.10일(현지시간) 발표에 따르면 IBM은 와인 모니터링 업체 e프로브넌스(eProven...