信标链由区块和不断递进的状态组成;区块被产出、签名、传遍网络,然后用于更新状态。下图展示了主要的相互关系:
-实线表示聚合关系,虚线表示依赖关系。即发出箭头的部分是聚合/依赖于箭头所指向的内容的-
此图基于以太坊2.0详述的0.10.1版所绘。与刚发布的0.11.0版本相比,上图描述的内容在计算Domain的部分有些微区别,但整体关系与前一版本一致。
创建一个新的区块
创建区块,要从当前的区块链顶部开始。
IMF今日发布的加密货币科普视频实为两年前旧闻,且存在诸多疏漏:国际货币基金组织IMF今日在推特上发布了一条关于加密货币的科普视频,这段时长两分钟的视频最初发布于2018年6月。该视频称加密货币是“货币进化的下一步”,但没有特别提到DLT、区块链,甚至是代币名称等术语。BTC、XRP和ETH只出现在说明加密交易的图形中。尽管这段视频到目前为止已经获得了超过13.7万的点击量和2900个赞,但来自加密社区的许多反应都是批评的,他们指出了信息中的漏洞和似乎具有误导性的措辞。
Reddit用户nanooverbtc称:“他们犯了很多错误,比如把私钥称为密码。”该视频也没有讨论挖矿或加密货币供应。Kraken策略师Pierre Rochard等知名人士表示:“可证明的稀缺性是比特币有趣的原因,你忘了提这一点。”(Cointelegraph)[2020/8/24]
如果当前存在一条短的分叉链,则由分叉选择算法,帮你选出“最合适”的区块链头。
TRON数字钱包科普资料《波场钱包的现在过去与未来》已上线:据最新消息显示,由TokenPocket联合波场TRON官方,以及 TokenPocket 社区志愿者共同撰写的《波场钱包的现在过去与未来》已正式上线。《波场钱包的现在过去与未来》又称为波场钱包小白书,详细介绍了当前TRON钱包与TRON生态密切结合的实例,是目前市面上最为详细的TRON数字钱包科普资料。波场钱包作为波场公链生态中极为重要的入口,是波场生态的重要构成要素。波场钱包从一开始只提供权限管理、转账收款、节点投票等基础功能,到如今不仅可以为用户提供法币交易、闪兑和去中心化交易所等方便快捷的交易服务,还能让用户直接在钱包上体验波场上DApp,挖矿、DeFi、Staking等资产增值服务。详情见原文链接。[2020/8/20]
此外,即使某些slot被跳过,状态仍会推进。
动态 | 央行官微旧文重发“再科普”:范一飞详解数字货币:据中国经济网消息,今日,央行官微公众号头条重新发布央行副行长范一飞在2018年1月25日题为《关于央行数字货币的几点考虑》的文章,对央行数字货币再次进行科普。同时,微信公众号第二条发布支付司副司长穆长春8月10日在第三届中国金融四十人伊春论坛上的演讲。近年来,各主要国家和地区央行及货币当局均在对发行央行数字货币开展研究,新加坡央行和瑞典央行等已经开始进行相关试验,人民银行也在组织进行积极探索和研究。[2019/8/21]
BeaconBlockBody会包含所有需要被执行的操作。这些操作会被用于改变状态、生成新的BeaconState。
中科院自动化研究所将面向大中小学生开展区块链等主题的科普讲座:5月21日,新华网讯,今年,中国科学院自动化研究所将举办第十四届“自动化之光”公众科学开放日活动。届时,自动化所将面向大中小学生分别开展《脑与智能》、《区块链技术与平行智能》、《大数据时代的视觉智能》、《动画真奇妙》等4个主题报告,用实例和生动的演示深入浅出地为大家揭示智能技术的原理和奥妙。[2018/5/21]
时隙、父区块根、操作的根哈希会作为BeaconBlockHeader的组成元素被添加进状态。要注意的是,BeaconBlockHeader组成元素之一的状态根是零,因为状态不能递归包含自己的哈希,否则会出现死循环。
最终状态的根哈希被算出并加入区块,然后区块哈希得到Blockroot并跟链的Domain放在一起,经过签名后在网络中传播。Domain的意义是防止区块被传播到其他主网或测试网上发生碰撞。
应用状态转换
节点收到SignedBeaconBlock后,要执行一些验证,包含:确认签名的有效性,及是否有对应父区块的状态。
通过将状态时隙推进到区块所在时隙,然后执行BeaconBlockBody所包含的操作,我们便可以更新状态。
要注意的是,出现被跳过的时隙时,也会产生新的内部状态,并推进当前状态至下一个时隙,区别只是不会有其他附带的执行动作。
结果状态应该与区块生产者得到的状态相同,因此我们能通过计算新的BeaconState的哈希值,与收到的区块所记载的状态根进行校验。
*BeaconBlockHeader?**
信标链状态包含了四个区块基础组成信息中的三种——时隙、父区块根哈希,和BeaconBlockBody的根哈希。
在计算内部状态时,最新的区块时隙要和最新的状态时隙要有所区别,因为如果出现被跳过的时隙,会使得最新的区块时隙和状态时隙不一致。比如,如果时隙7被跳过,则我们仍会以时隙6作为最新区块,父区块根和区块体根哈希都仍将指向时隙6的区块。
这几个元素作为一个集群,使用和BeaconBlockHeader相同的结构,不过使用的区块根状态永远为零,因为状态不能递归包含自己的哈希;在图中表示为“BeaconBlockHeader”。
这么做的好处是,我们可以轻易的计算出区块根的状态——通过计算状态的根哈希,然后创建区块头的副本并插入正确的根状态,最后计算整个区块头的哈希。
链接的区块能增加信任
区块链的重要特征就是,它以系统性信任取代了原来个体间的信任。
系统性信任又可以通过以下几个特征描述:
大量处理器——这些处理器去中心化程度越高,可信程度也越高。
客户端多样性——如果有多种客户端供使用者选择,就越能避免算法被集中掌控。
开源——既可以让公众检查算法,又可以进行分叉。
将区块链接在一起也可以增强系统信任——因为越早产出的区块,它具有的权重就越大。在一般的分布式账本/分布式数据库中,因为不需要系统性信任,所以不需要这种链接。
仅对最新区块发动51%攻击也许会成功,但是如果你想改动100个时隙之前的一个区块,则攻击者必须在这100个时隙都拥有控制着绝对多数的处理器。
对于短程的分叉攻击,整个网络可能会对“哪条链才是主链”产生疑惑——例如,两个竞争的区块以不同的速度在网络中传播。
但好消息是,由于区块被链接在一起,因此真正的主链会更快被确认,而其他分叉链都不再有机会反客为主。
如此一来,安全性可以得到保证,系统也可从容允许验证者撤出自己的资金,不必担心“无利害关系”攻击。
原文链接:?https://sgryphon.wordpress.com/2020/03/17/eth-2-0-state-transition/作者:?SlyGryphon翻译&校对:?IANLIU&阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。