STA:技术指南 | 以太坊 2.0 Phase 0 V0.8.0 技术规范详解(1)

目录

资源

概览

分叉选择规则

Finality

Crosslink

验证者职责

数据结构

注意

信标链操作

资源

Phase0技术规范

信标链状态转换

分叉选择

验证者指南

设计哲学

学术论文

CasperFFG

在PoS链上使用LMDGHOST来形式化FFG的相关论文正在协作中,即将发布

概览

信标链是居于以太坊2.0系统核心的一条链。叫这个名字是因为这条链会充当随机性的信标,但也可以就叫做“系统链”或者“脊柱链”,等等。这条链也是验证者“所在”的链,也就是说,验证者的?

责任?会在这条链上得到分配、验证者会在这个共识环境中运行协议层的随机数生成器、验证者也在这条链上为链顶端的区块投票并?

形成确定性检查点;这里也是验证者引用分片链状态、用作诸分片链的根并协助跨分片通信的地方。信标链既是系统运作背后的大脑,也是后续分片系统据以搭建的框架。

信标链的状态乃是技术规范所围绕的核心对象。?BeaconState?涵盖了所有有关的信息:验证者有那些人、他们分别处在什么状态中、这个状态属于区块树上的哪条链,以及对Eth1链的哈希值引用。

嘉盛集团:比特币上涨空间有限 “币圈”预计将会面临收缩:嘉盛集团全球研究主管马修·韦勒表示,在流动性泛滥的市场条件下,包括虚拟货币在内的很多资产都出现大涨,投机行为也更为频繁。具体到比特币,由于其价格已处于高位,普通投资者或投机者很难继续追涨,后市上涨空间有限。目前市场担心的是,高通胀数据下,美国或将调整货币政策,市场一旦面临流动性收紧,一度被流动性堆起来的“币圈”预计将会面临收缩。(金十)[2021/5/31 22:57:18]

从创世状态开始,每当有一个区块能够满足状态转换函数所设的所有条件,该块处理完成后的状态就被认为是有效状态。这样依赖,一个区块的前提条件就可以被递归地定义为在前一个区块上运行状态转换函数所得的有效后置条件,这样一路回溯到创世状态。

分叉选择规则

分叉选择规则的含义是:给定一棵区块树,总是能够根据这样的规则以及近期来自验证者形而消息,选出单一一条链以及终局状态。分叉选择规则接受该区块树以及相应的来自验证者集合的最新attestation,然后返回一个区块作为当前的链顶端区块。LMDGHOST,Eth2.0所用的分叉选择规则,仅考虑每一个验证者最新的attestation所指向的区块,并以此来计算递归地附加在树上每一区块的总见证数量。也就是说,区块树上的一个节点的“重量”,乃是将最新见证指向该区块或该区块的子孙区块的所有验证者的数量总和。GHOST算法会从区块树的底部开始,每到一个节点便选择子链中最重的,直至到达叶子节点。该叶子便是链的顶端,并递归地定义出了整条主链。

具体而言,在一个时段中的每一个被指定的时隙中,验证者都有机会产生一个?attestation。提交?attestation.data.beacon_block_root?就是一次分叉选择意义上的投票了。在计算分叉选择结果时,算法会将来自近期活跃验证者所有投票都考虑在内

Bitget金牌分析师“币圈最美”:尽量以投资稳定头部币种为主:金色财经报道,在1月20日举办的《金色百家谈 | 加密货币市场大洗牌 市值前10币种价值分析》的直播节目中,Bitget金牌分析师“币圈最美”表示,排名Top10的主流币排名不变是不可能的,一个好项目的落地,无数双投资者的目光会聚集,大家会根据该币种未来的应用性和潜在价值去投入并期待它未来带来潜在的回报。好的项目也会发展得更快,同时也会有新的竞争对手、新的热点出现。主流币种轮番换交椅,也说明了整个币圈内的投资者未来更青睐于选择核心技术、社区开发的活跃度、矿工参与等因素更好的一个币种。

对投资者来讲,选择正确的主流币种去投资是非常重要的,个人觉得ETH的潜在投资价值巨大。反之,主流币种如EOS这些老币种确实存在太多的套牢盘,市场内对EOS的信心也日益削弱,不过不排除主力资金会出手干预。所以我们还是需要保持一个相对客观的态度去看待主流币的大洗牌,尽量投资稳健的币种。灰度的持仓和看法可以作为我们的参考,我的建议是等待一个好的买入机会买入BTC、LTC和ETH,并长期持有。 好的项目必然会吸引到资金进场和场内资金的流入,但是否能构成长期价值非常难以判定,希望大家尽量以投资稳定头部币种为主,别的币种若存在很好的信用背书也可以投资。[2021/1/20 16:35:55]

Finality

分叉选择规则让我们可以在一棵区块树中选出一条主梁,而“Finality”则给了我们一种保证:特定的一些区块会一直保持在主链上。信标链使用改进版的CasperFFG来实现确定性。Casper提供了“可审计的安全性”,特定的一些区块会一直保持在主链上,除非一定比例的验证者烧掉他们锁定的资本。这就是我们认为有别于传统共识算法中的传统“安全性”定义的、“密码经济学”意义上的“安全性”。

P网Poloniex 投资人孙宇晨:P网Poloniex 致力于打造“币圈高盛”:8月7日,P网Poloniex 在深圳南山区华侨创意园举办中国首次见面会。P网Poloniex 投资人孙宇晨表示:P网Poloniex 是华尔街首批合规交易平台,曾接受知名投资银行高盛集团的投资,后接受自己本人投资。P网Poloniex 致力于打造币圈高盛,为整个行业投资人提供华尔街般的投资体验。

据了解,P网Poloniex成立于2014年,是注册于塞舌尔的一家全球化数字资产交易平台,自P网Poloniex创立以来,安全高效的服务便得到用户的认可,真实交易量长期位列全球TOP3,独创的TrollBox系统让用户获得更有趣的交易体验。[2020/8/7]

具体而言,在一个时段中的每一个被指定的时隙中,验证者都有机会产生一个?attestation。提交?attestation.data.source?会作为FFG的sourcepair,而提交?attestation.data.target?则会作为FFG的targetpair,前者在“CombiningGHOSTandCasper”处有更深入的讨论。

Crosslink

Crosslink即是在信标链上保存的、对分片链近期状态/区块的引用。这些引用既是分片链在做分叉选择时候的树根,也是分片链之间异步通信的工具。在正常情况下,每一个分片每一个时段都可以交联到信标链一次。

虽然在Phase1之前我们不会加入分片链,但Phase0中系统还是会给交联委员会分配一个分片并尝试每个时段生成一个交联。在Pahse0中,交联中的数据根会简单地存根为?0x00。

陈伟星怒怼“币圈大佬”割韭菜,称其手段恶心:今日凌晨,泛城资本董事长陈伟星连发两条朋友圈,怒怼“一些币圈大佬割韭菜手段太恶心”。他说自己从不收免费token帮站台,甚至冒着极大风险帮区块链大声呼吁,没想到一些币圈大佬却一直在用极恶心手段割韭菜。他说:“所谓币圈大佬,请早点擦干净屁股,哪天资产全部上链,你根本不可隐藏。”[2018/4/8]

验证者职责

关于Phase0中的验证者职责,更详细的讨论可以看

此处。

验证者的两种主要职责是:每个时段给信标链做见证;偶尔在被选中时产生信标链区块。每一个时段,验证者都会被分成不同的“交联委员会”。每一个委员会都会被分配到一个时隙和一个分片。在给定时隙中,验证者为信标链顶端区块做attestation。每一个时隙都会从被安排到该时隙的委员会中选出一个信标链区块提议者。

只要定期给信标链主链和分片链做见证,验证者就可以得到奖励;反之,如果不能完成职责,他们也会被惩罚。如果一个验证者违反了CasperFFG规则,或者他们在同一时段中创造了两个信标链区块,他们就会被?罚没。更多关于罚没条件的细节请看此处。

数据结构

注意

信标链内的数据街哦股以及数据结构的哈希值都被编码为?

SimpleSerialiZe(SSZ)?对象。使用SSZ哈希方法的一个好处是:在给底层数据生成默克尔树时,树的深度可以是不均匀的。这一点以及SSZ其余聪明设计的结果就是:一个SSZ对象,无论该对象的子对象是完整表现的还是仅由部分默克尔根值来表现的,该SSZ对象的哈希树根值都是一样的。

分析 | 部分技术指标显示比特币正处于买入周期:据彭博报道,GTI Vera收敛差异指标显示,比特币正处于6个月来最长的购买周期。如果买盘压力像过去13天那样持续,在去年下跌74%之后,比特币价格可能继续上涨。eToro分析师Mati Greenspan认为,从图表技术分析上看,“我们更接近底部,而不是顶部”。此外,彭博加密指数正处于自9月上涨以来最长的“买入周期”。Bloomberg Intelligence分析师Mike McGlone表示,与应税亏损相关的抛盘结束,可能是周三反弹的原因之一。[2019/1/3]

信标链操作

信标链操作就是一个区块提议者可以加入?BeaconBlock?的数据结构,也是与系统层验证/构建相关的多种消息的合并方式。这些操作本质上都是验证者层级的信标链状态机事务。每一种操作在一个区块中都有数量上限,由?

maxoperationsperblock?定义为常量。

ProposerSlashing

如果一个信标链区块提议者在同一时段中提议了两个不同的信标链区块,TA可以被罚没。

这一数据结构包含了对可罚没事件已然发生的证明。

hash_tree_root(block)==hash_tree_root(block_header)?,因此,签名对所有数据结构来说都是有效的。?BeaconBlockHeader?因此可以用作证明来降低消息的大小。

字段

proposer_index?——即提议要惩罚的验证者的?ValidatorIndex

header_1?——两个需罚没信标链区块中第一个的区块头

header_2?——两个可罚没信标链区块中第二个的区块头

AttesterSlashing

如果一个信标链见证者签署了两个相互冲突的见证

字段

attestation_1?——两个需罚没attestation中的第一个,注意这个字段的形式也是索引形式的

attestation_2?——两个需罚没attestation中的第二个,注意这个字段的形式也是索引形式的

Attestation

验证者为共识过程创建的最基本的消息形式。虽然每个时隙只有一个验证者可以创建信标链区块,但每个时段中所有验证者都有一次创建一个attestation的机会。正常情况下,所有在线的验证者每逢一个时段都能创建一个attestation,并且都有一个attestation被纳入区块中。

AttestationData?就是验证者签署的主要部分。

外部的数据结构包含了聚合后的签名以及为了验证签名所必须的参与者字段。

字段

aggregation_bits?为委员会的成员存储一个bit,委员会会为每个参与该聚合签名的验证者赋值为?1。注意,这是按委员会的顺序来排列的。

data?就是该验证者或者验证者委员会签名的?AttestationData?。

beacon_block_root?——在被指定的时隙处,被视为链顶端的信标链区块的区块根

source?——在被指定的时隙处,最近在?BeaconState?中被确定的检查点

target?——试图敲定的检查点

crosslink?——试图为指定分片构建的交联

custody_bitfield?表示每一个委员会成员的“保管证明”bit。在Phase0阶段,该值必然为0。。

signature?就是相关数据的BLS聚合签名。

AttestationDataAndCustodyBit?是验证者签署的实际消息。给定?Attestation?,验证者可能签署的消息有两种——带有0或1的custodybit的?AttestationDataAndCustodyBit?。根据?custody_bitfield,我们可以从每个参与的验证者处,恢复出需要的被签过名的消息。在Phase0中,所有的custodybit都是0。

Deposit

表示从Eth1链的保证金合约中即将到来的验证者保证金。

字段

proof?——对?BeaconState?中的当前?eth1_data.root?的默克尔证据。注意向量长度的?+1?是因为SSZ长度混合到了根中。

data?——?DepositData?提交给保证金合约,以便被验证,验证时使用depositroot的证明。

pubkey?——验证者用以对消息签名的BLS12-381公钥

withdrawal_credentials?——用于取出质押资金的离线公钥的哈希值。该密钥不会主动用于验证,可以保存在冷钱包中。

amount?——存储的Gwei数量

signature?——使用?pubkey?对应的?privkey?对?DepositData?的签名数据。这一数据也被用作一次性的“proofofcustody”,以保证安全地使用BLS秘钥。

VoluntaryExit

消息类型,验证者可借发送此类消息而主动解除验证者职责

字段

epoch?——本次退出行动上链处理所需的最小时段数。这一字段可以防止在链重组/分叉时对本功能

validator_index?——验证者退出活动的索引

signature?——相关验证者用公钥对?VoluntaryExit?的签名。

Transfer

让验证者可以转移余额。

基本上就是为了让Eth2在Phase0和Phase1阶段也能具有货币流动性。

余额转移必须包括在准确指定的?slot?中,以避免重放攻击。

正在承担职责的验证者不能转移余额,除非TA的余额高于?MAX_EFFECTIVE_BALANCE

MAX_TRANSFERS?在Phase0启动阶段预计会被设置为0,只有在Phase0看起来已经稳定可用之后才会提高

字段

sender?——发送资金的验证者的索引

recipient?——接收资金的验证者的索引

amount?——发送的Gwei数量

fee?——用Gwei为单位计算的、交给区块提议者的手续费

slot?——这笔签名的?Transfer?可以上链的特定时隙。防止重放攻击

pubkey?——?sender?取出的?pubkey?。该公钥的?hash?必须匹配?sender?的withdrawal_credentials。

signature?——对该?Transfer?的签名,来自?transfer.pubkey

(未完)

原文链接:?https://notes.ethereum.org/jDcuUp3-T8CeFTv0YpAsHw?view#Beacon-state作者:?DannyRyan翻译:?阿剑

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-8:641ms