链资讯 链资讯
Ctrl+D收藏链资讯
首页 > UNI > 正文

ATO:ETH2.0 都要来了你还不知道 Casper 吗?(二)_LID

作者:

时间:

在上篇文章中,我们介绍了Vitalik原始论文中的CasperFFG,其借助PoS对PoW产生的区块进行确认来提高系统的安全性,但这只是一种过渡的方案,在以太坊2.0中会使用一个纯PoS的Casper协议,这篇文章中将为大家介绍在以太坊2.0中将要使用的Casper协议。如何成为Validator

首先我们看看以太坊2.0的架构是什么样子,如图1所示,在以太坊2.0中会有一条称之为Beaconchain的主链,其通过PoS的Casper产生。在beaconchain下,存在1024个分片,每个分片可以独立地处理数据。

图1以太坊2.0架构从图1可以看出,以太坊2.0和以太坊1.0将会是两条链,在2.0分片实现之后,1.0将作为以太坊2.0的一个分片继续运行。在上一篇文章中,我们介绍过可以通过抵押stake成为Validator参与到PoS共识中,为了使以太坊平稳得过度到2.0,如何通过抵押以太坊1.0中的stake成为以太坊2.0中的Validator是Casper需要解决的一个重要问题。在以太坊2.0中,原有的用户可以通过抵押以太坊1.0中的ETH成为Validator,参与到2.0的PoS中,并且可以通过赎回操作,在2.0的以太坊中取回代币。这里需要注意的是,以太坊1.0和2.0中的代币并不相同,用户抵押的是1.0中的ETH,赎回的是2.0中的代币。用户想要成为Validator,首先要向以太坊1.0中的一个特殊合约发送一笔交易抵押一定数量的ETH,然后用户会得到关于这笔交易的一个证明。用户通过向以太坊2.0展示这个证明,在验证通过后成为Validator,如图2所示:

数据:10,404枚ETH从Gemini转移到未知钱包:金色财经报道,Whale Alert数据显示,10,404枚ETH从Gemini转移到未知钱包。[2022/8/16 12:27:39]

图2抵押以太坊1.0中的ETH成为以太坊2.0中的Validator过程为了验证用户抵押交易的正确性,以太坊2.0中需要保存当前以太坊1.0中的区块信息、抵押合约中当前所有交易构成的Merkle的根哈希<root>,用户向以太坊2.0展示其抵押交易,以及该抵押交易到<root>完整的Merkle树的证明,就可以验证这币交易的合法性。通过验证的用户成为以太坊2.0中的Validator。以太坊2.0中Capser的出块过程

在上一篇文章中,我们介绍的Casper是通过PoW进行出块,使用PoS对区块进行最终的确定。因此,纯PoS的Casper一个需要解决的问题是如何产生区块。在正式介绍协议过程前,我们先明确几个定义:Validators集合:V=V1…Vn,假设每个Validator拥有相同的stake;slot:基本的时间单位,目前设定为6s;epoch:64个slot组成一个epoch;随机数生成器:根据需要产生一个随机数;在明确了上述的定义之后我们来进一步描述以太坊2.0中的Capser出块过程,如图3所示。

图3以太坊2.0中Casper共识过程1、每一个epoch开始,通过随机数生成器产生随机数,将Validator集合V平均分为64份,得到S1、S2,…,S64。2、在一个epoch中,每一个sloti根据步骤1中产生的随机数,选取Si中的一个Validator提交一个候选区块,在sloti中提交候选区块的Validator写作proposer_i,提交的候选区块写作B_i。3、对于每一个sloti,Si中除proposer_i外的剩余Validator对B_i进行投票,该投票写作attestation。4、在每一个sloti中,proposer_i负责将上一个slot中的attestation信息打包到当前slot的候选区块中。即

数据:超过14万枚ETH已被销毁,单个区块销毁均值0.86 ETH:据欧科云链链上大师数据显示,当前以太坊销毁量为14.29万ETH,单个区块销毁均值为0.8637 ETH。昨日以太坊销毁量9068 ETH,环比上升18.22%;EIP-1559模式下的交易笔数为61.73万笔,占比51.72%。[2021/8/31 22:48:43]

5、对于每一个sloti,Si中除proposer_i外的剩余Validator在收到了sloti的block或等待了3s后,其公布一个在他看来的当前链的头部。

LMDGHOST

至此,我们介绍了Casper如何进行出块以及Validator对于候选区块的投票过程。需要注意的是,上文中提及到Validator需要对在它看来为链的头部进行投票,以太坊2.0使用了一种新的最优链选择算法来选择链的头部。在介绍这种新的最优链选择算法之前,让我们回忆一下以太坊1.0的最优链选择算法——GHOST。GHOST算法的主要思想是,对于一条区块链因为时间延迟和恶意节点的存在会产生许多的分叉,当发现分叉时,选择子树的总Difficulty最大作为最优链,如图4所示:

图4GHOST协议链在红色的点产生分叉,假设每个区块的Difficulty相同为1,蓝色子树的总Difficulty为8,紫色子树的总Difficulty为4,因此选择蓝色作为最优链上的点。GHOST协议在在PoW协议中是没有问题,但是PoS协议天然受到LangRange攻击的影响,即攻击者可以通过少量资金购买曾经拥有大量stake但是目前为空的账户,回到过去,在过去的位置进行分叉产生大量的非法的区块,GHOST协议将无法保证系统的安全性。如图5所示:

数据:火币ETH期货未平仓量达到5个月高点:Glassnode数据显示,火币的ETH期货未平仓量(1d MA)刚刚达到5个月高点,为210521835美元。上一次的5个月高点出现在今天早些时候,为210060251.67美元。[2020/7/25]

图5:LangRange攻击攻击者通过在过去位置产生黄色的区块,子树B的总Difficulty为10,紫色区块将成为最优链上的点。虽然在投票前需要抵押token,但是在赎回自己的token后,攻击者就可以在其还是Validator的epoch中肆意妄为,不担心token会被罚没。因此,为了解决这个问题,以太坊2.0设计了一个新的算法——LMDGHOST。LMDGHOST的主要思想是,对一条存在分叉的链,在找寻链的头部过程中,当其遇到分叉点时,选择当前epoch中Validator支持多的那棵子树。协议的主要过程为:对于一条存在分叉的链:1、H等于创世区块;2、M=是Validator的最新消息;3、选择M中支持率最多的孩子节点,将其设置为H;4、重复步骤直到没有孩子节点;虽然LMDGHOST的使用是为了解决LongRange攻击,但是笔者认为,购买曾经的账户相当于时光倒流,形成了一个新的平行宇宙,当一个新用户进入时,面对两条分叉链在不借助额外信息的情况下很难判断哪个是攻击者构造的链,因此LMDGHOST无法彻底抵御LongRange攻击。至此我们已经介绍链以太坊2.0中的Casper如何进行出块,接下来将是最后一个部分,如何对候选区块进行最终的确认。区块确认

公告 | 火币合约将在ETH分叉前10分钟暂停ETH资金划转:据火币公告,火币合约将在ETH分叉前10分钟暂停ETH资金划转操作,待硬分叉升级完成后恢复。[2019/2/28]

在上一篇文章中,我们解释了justified和finalized的checkpoint,finalized的checkpoint之前的节点被最终确认。概括的说,以太坊2.0中的Casper将每个epoch当成一个checkpoint,attestation对checkpoint进行投票,进而确定checkpoint的justified和finalized状态,确定justified和finalized的核心逻辑和上文中描述的类似。接下来,来说明一下block如何进入到justified和finalized状态。如何justifyblock现在Casper将一个epoch分成64个slot,最后一个slot称之为epoch_boundary_slot,用它的hash写作epoch_boundary_hash代表一个epoch,将一个epoch看作一个checkpoint。让链维护一个map,我们叫他justified_hashes,存储的格式是<slot,hash>。为Validator的attestation增加两个字段epoch_boundary_hash和latest_justified_hash,只有当attestation中的latest_justified_hash等于justified_hashes中的slot最新的hash,这个attestation才合法。链会跟踪最新的justifiedhash,因此选择相同epoch_boundary_hash会投票给相同的latest_justified_hash。现在我们来看看在一个epochboundary中,状态是如何转变的。假设对于一条链,最近的4个epoch的epoch_boundary_blockB1,B2,B3,B4其中B4是epoch最新的epoch_boundary_block,他们的slot写作B1_slot,B2_slot,B3_slot,B4_slot,B3_slot=B4_slot-64,etc。如果有超过2/3的Validator选择B4作为epoch_boundary_block,那么把<B4_slot,hash(B4)>加入justified_hashes。一个epoch_boundary_block成为justified的条件是超过2/3的Validator在其attestation中epoch_boundary_hash指向该block,当一个block被含在justified_hashes中表示,该block是justified,并且证明该block已经是justified的状态被记录到了链上。如何finalizeblock在确认了justified的状态后,下一步需要确定如何让block进入finalize状态。如果B4和B3在justified_hashes中,投票给B4作为epoch_boundary_block的attestation选择B3作为latest_justified_hash,finalizeB3。如果B4、B3、B2在justified_hashes中,投票给B4作为epoch_boundary_block的attestation选择B2作为latest_justified_hash,finalizeB2。如果B3、B2、B1在justified_hashes中,投票给B3作为epoch_boundary_block的attestation选择B1作为latest_justified_hash,finalizeB1。可以类比上一篇文章,Validator的投票为<v,s,t,h(s),h(t)>,可以将epoch_boundary_block看成h(t),latest_justified_hash看成h(s),这样能更方便的理解block的确认过程。其他的一些小事

动态 | Tether任命新首席合规官:Tether宣布已任命前蒙特利尔银行质量控制经理Leonardo Real为Tether新的首席合规官。[2018/7/12]

为了Casper完整的运行,还有一些小事需要解决,由于篇幅比较短小我们放在一起来说吧。惩罚条件为了抵御notingatstake攻击,用户通过抵押token成为Validator进行PoS,当Validator非法操作时,没收其抵押的token,来防止坏人作恶。Validator的惩罚条件为:1、同一个Validator不能在相同的epoch中发出两个不同的attestation。2、同一个Validator不能发出两个attestation,他们的epoch_boundary_block分别为t1和t2,latest_justified_hash为s1和s2,且s1<s2<t2<t1。这个惩罚条件和上一篇文章中的惩罚条件是相同的。Validator更换条件dynasty(B)表示从blockB开始到创世区块之间,finalizedepoch的个数。两个dynasty之间可以更换1/64的Validator。分叉选择条件从最新的finalizedblock开始,进行LMDGHOST。《求真区块链》本系列关于Casper的文章到此为止就结束了,如果大家觉得有疑惑的地方可以搜索FractalPlatform公众号加入社区讨论,Fractal的技工们在线解疑。

标签:ATOLIDSTIJUSTomatoTokenBLID价格Magic Beastiesjustice币最新消息

UNI热门资讯
区块链:通证经济:成也激励,败也激励_KEN

激励作用是通证经济的核心之一,之前大多是在讨论通证可能产生的正面意义,但在实际的通证化改造过程中,我们发现了通证化改造的很多问题,本文对这些问题进行了探讨.

KEN:币市微凉,矿业冬储_iExpress Token

编者按:本文来自 蜂巢财经News ,作者:JXkin,编辑:文刀,Odaily星球日报经授权转载.

区块链:6大思维模型, 揭秘硅谷高管如何做区块链应用决策_比特币是什么怎么挖

编者按:本文来自区块链大本营,作者:Readwrite,编译:火火酱Odaily星球日报经授权转载。说起硅谷,最引人注目的特点之一要数它从不受困于传统的底线.

ALI:行情日报:二线币种上演接力好戏, BTC已蓄势待发?_InterValue

1.产业解读小编昨日在调研比特币地址的时候有最新发现。根据BitInfoCharts的比特币富豪榜显示,截至昨天,共有157210个比特币地址至少拥有10个比特币,最多高达100万个.

COI:交易所周报 | 火币“借壳”桐成控股;Coinbase取代Bitfinex占据BTC/USD头把交椅;1.25亿保单为Bakkt保驾护航(9.9-9.15)_nhbtc币发行总量

作者|康康编辑|郝方舟Odaily星球日报出品头部交易所纷纷追求“合规”。CoinbaseIEO平台或在几个月后推出。Coinbase取代Bitfinex占据BTC/USD头把交椅.

COIN:不瞒你们了,我有85947个比特币_BTC

我不想隐瞒大家了。其实我有85947个比特币,位居比特币地址富豪榜的第五名。这个是我的地址:183hmJGRuTEi2YDCWy5iozY8rZtFwVgahM我知道你们得知这个消息很震惊,并且.