ETH:一文详解信标链的创世

人生中能见证庞大的、分布式的多客户端区块链创世的机会是非常难得的。不久前的7月30日是以太坊1.0区块链创世的五周年——真正重大的创世事件很罕见且相隔甚远。

至于以太坊2.0,Medalla测试网已经在8月4日上线,这很可能是我们今年下半年唯一一次在以太坊2.0发布前的正式彩排。

Eth2的创世机制说来有点复杂,创世是一个区块链系统为自身注入生命的过程。我将用浅显易懂的语言尽可能准确地讲解它。至于真正技术上的说明,读者可以在Eth2 annotated spec上看我的注释。

在下文,“创世事件”指代信标链启动并开始处理证明和区块的确切时间。也是slot 0 epoch 0开始的时间。

(如果读者想看速览的话,可以直接跳到后文“创世的两种情况”部分)

首先,读者需要知道的一点背景知识是验证者在加入Eth2前需要将存款存进Eth1区块链上的合约里。对于每个Eth2的验证者来说,他们需要将32个ETH和其他一些数据发送到合约。

Stride已成功过渡为Cosmos Hub的链间安全(ICS)机制:金色财经报道,Stride是Cosmos生态系统中的流动质押代币提供商,已在区块4616678成功过渡到Cosmos Hub的链间安全 (ICS) 机制,这一变化是在 4月份成功提出提案后发起的,这意味着在Stride区块链上执行共识的整个验证器集立即全部切换到Cosmos Hub验证器。Stride联合创始人Aidan Salzmann表示,Stride现在由Cosmos Hub的23亿美元质押资产作为担保,这是“一项重大技术壮举”。[2023/7/20 11:05:39]

例如,读者可以通过Launchpad网站发送存款和数据到Medalla测试网。请记住Medalla现在在用Goerli测试网的ETH!不要发送主网的ETH到合约。当然,到了真正的信标链发布的时候,我们会用主网的ETH。

接下来,我们只关心有效存款:不少于32个ETH的单笔存款,或属于同一个验证者的、总计不少于32个ETH的多笔存款,为此需要额外的数据验证(加密签名)。任何无效或不足的存款都将在创世中被忽略不计。

ZachXBT:监控中的美国官方持币地址并无异动:5月11日消息,链上侦探ZachXBT在社交媒体上发文表示,其监控的美国官方丝绸之路案相关持币地址并无异动。Arkham官方在相关推文中同样回复显示,表示并没有看到异动。

此前“疑似美国官方地址转移9819枚比特币”的消息或为地址被错误标记,目前Arkham并未对本次事件发布详细澄清公告。[2023/5/11 14:56:03]

在创世前,在Eth2链上活跃的只有信标节点;在创世后,验证者会马上活跃起来。信标节点维持着系统的状态,并在点对点的网络里相互通信。

因此,在创世前,有大量的信标节点关注着以太坊1.0区块链,留意着存款合约上的有效存款。他们不需要24小时留意,因为Eth1的区块都被打上时间戳,因此节点可以在创世前的任何时间跟进最新情况。

现在,大家都知道Eth1的区块可以回滚,且可以改变主意,决定哪些交易是有效的。这就是为什么你在交易所转入ETH时需要等待30个区块的时间。回滚的范围通常非常小——大约一到两个区块;但一旦遇到网络攻击,回滚的范围可以变很大。为了尽量避免在Eth2上出现这种情况,我们在同步Eth1链上数据时非常谨慎地保持14 * 1024秒的延迟,大概是4小时。我把这称为Eth1的同步距离 (Eth1 follow distance)。

Coin FLEX联创承诺Roger Ver可在OPNX免费交易两年,以解决长期争执:4月6日消息,加密货币交易所CoinFLEX联合创始人Mark Lamb向Bitcoin.com创始人Roger Ver发出一封公开信,承诺他可在OPNX上进行两年的免费交易,旨在结束两者之间长期存在的争执,以使Roger Ver向CoinFLEX偿还据称未偿还的贷款。

此前去年6月Mark Lamb指控Roger Ver拖欠 4700 万美元的贷款,但Roger Ver驳回了这一说法,随后CoinFLEX披露损失金额上升至 8400 万美元,并表示已启动仲裁程序并在筹集资金。

此前报道,加密索赔交易和衍生品的公共市场 OPNX 于 3 月初收购了 CoinFLEX 的所有资产,包括人员、技术和代币,FLEX 将是他们的主要代币,可能的品牌重塑为:将以 1:1 的比例交换。此前,OPNX 首席执行官 Leslie Lamb 表示,CoinFLEX 重组计划获得批准,并将更名为 Open Exchange。[2023/4/6 13:47:13]

关于创世的两个问题“什么时候?”和“谁?”:什么时候开始,和谁会在创世块验证者大军里。这两个问题的答案定义着信标链的创世状态,所有其他的状态都由此衍生开来。

波士顿联储与MIT合作的CBDC项目“汉密尔顿计划”宣告结束:12月27日消息,美国波士顿联邦储备银行(Boston Fed)和麻省理工学院合作开展的研究项目“汉密尔顿计划”(Project Hamilton)在圣诞节前宣告结束。这个为期两年的项目研究了一种假想数字美元的技术问题。波士顿联储执行副总裁Jim Cunha在宣布“汉密尔顿计划”结束的声明中表示,该项目迈出了关键的一步,让人们更深入地理解货币如何更好地为所有人服务。

研究人员表示,他们计划在未来几个月发布更多关于该项目的研究成果。今年2月,“汉密尔顿计划”发布了一份白皮书和开源研究软件OpenCBDC,当时,组织者承诺将继续研究“隐私性、可审计性、可编程性、互操作性等”。本月初,九位美国议员在致波士顿联储主席Susan Collins的一封信中称,汉密尔顿项目与私营部门之间的互动一直缺乏足够的能见度。(Cointelegragh)[2022/12/27 22:09:50]

大致的过程如下:

关注Eth1区块链上的存款情况

美股三大指数收盘涨跌不一,道指周线8连跌:5月21日消息,美股尾盘快速拉升,三大指数收盘涨跌不一。纳指跌0.3%,本周累跌3.82%,创周线7连跌;标普500指数涨0.01%,本周累跌3.04%,创周线7连跌,为2001年来最长连跌纪录;道指涨0.03%,本周累跌2.9%,创周线8连跌。[2022/5/21 3:31:30]

当经历了足够长的时间和存款达到一定数量时,创建创世状态

两天后,在创世时间启动区块链

在第2步,我们在寻找Eth1上第一个区块时需要特别注意两点:

是否有足够的存款;

时间是否太早。

符合这两个条件的第一个区块将被设为创世状态。

时间和角色的受以下三个关键参数设置的影响:

MIN_GENESIS_TIME?是创世事件可以发生的最早时间。对Medalla来说,就是1596546000 Unix time——2020年8月4日UTC时间13:00:00,采用RFC2822规范。

GENESIS_DELAY?是172800秒,48小时整。这是创建创世状态和区块链与创世事件启动之间的时间间隔。这段延迟是为了让客户端团队将创世状态写进他们的信标节点里,这样即使他们不运行验证者节点也不再需要关注Eth1的区块链。这也为举办一般的创世事件直播和聚会活动预留时间。

MIN_GENESIS_ACTIVE_VALIDATOR_COUNT?是在创建创世状态前我们在Eth1的存款合约里所需的最低有效验证者数量。在Medalla测试网(和主网),这个参数是16384个验证者。

创世状态所基于的第一个Eth1区块需要满足以下两个条件:

至少有16384 (MIN_GENESIS_ACTIVE_

VALIDATOR_COUNT)?个验证者已经在这个或之前的区块上进行了注册;以及

它的时间戳不会太早 (不早于MIN_GENESIS_TIME - GENESIS_DELAY这段时间)。

根据这两个要求得到满足的顺序,创世过程会以下面两种情况进行:

1.存款数先得到满足

在这种情况下,条件1先得到满足。我们在最早创世时间前收到的足够的存款。

Medalla测试网在MIN_GENESIS_TIME - GENESIS_DELAY间的时间点是周日8月2日UTC 1300。

我们的启动区块是这个时间后挖到的第一个Eth1上的区块,也就是在13:00:05挖到的(1pm后的5秒)。

如果截止到该区块存款合约收到的有效存款达到或超过16384笔,那么至今收到的所有存款都会包含在创世状态里。因此,验证者数量可能会远超出16384(在Altona测试网上,我们将MIN_GENESIS_ACTIVE_VALIDATOR_COUNT设为640,但结果有685个创世验证者)

这个Eth1区块启动创世状态的运算,而Medalla的创世事件将在区块时间戳的48小时整后开始。在这个例子里,就是8月4日周二的13:00:05。

红色区块是满足两个条件的第一个Eth1区块

请注意,由于Eth同步距离,我们直到4小时后才真正知道创世状态。也就是说,在这种情况下,我们将在8月2日周日UTC1700知道Medalla的创世状态。

总结

如果存款数额首先满足要求,那么创世事件会在最早创世时间后几秒启动。创世状态包含这个时间点48小时以前的所有注册了的验证者。

2.时间戳满足条件早于存款数

这种情况在条件2先得到满足的时候发生。存款数增长缓慢,且没有在预定时间内达到最低有效数额。

在这种情况下,打包第16384笔存款的Eth1区块成为启动区块。我们假设这个区块是在8月5日周三UTC 12:34:56被挖到的。

现在,区块状态将包含16384个验证者和在那个区块里任何其他有效的存款。因此,如果那个区块包含多笔存款的话,那么将会有比最低存款数更多的验证者包含在内。

创世时间将会是该区块的时间戳加48小时。在这个例子里,就是8月7日周五UTC 12:34:56。

红色的区块是满足两个要求的第一个Eth区块

同样,由于Eth1同步距离,直到这个Eth1区块被挖出的4小时后我们才知道创世状态或创世时间。

如果存款增长慢,在包含第16384笔存款的Eth1区块被挖出48小时,创世事件会启动。创世状态包含16834个验证者,加上在同一个Eth 1区块里的其他一些验证者。

文章写到这里,大家是不是已经了解了信标链创世的基本情况??

如果你没赶上Medalla创世状态的敲定,那么你的验证者将会按照存款时间顺序进入排队队伍,并在创世后被慢慢安排到验证者集里。排队可能会花上几个小时或几天的时间。

期待在Medalla上见到你们!

原文链接:https://hackmd.io/@benjaminion/genesis

作者 |?Ben Edgington

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

地球链

[0:0ms0-1:58ms