详解信标链,分片连
发布于 3 年前 作者 ethan 721 次浏览 来自 以太坊

信标链使用POS共识算法,其是以太坊2.0的基础架构。在以太坊2.0的第二阶段,分片链将在信标链的帮助下运作。

信标链的工作方式是,为每个分片随机分配不同的验证者,以发布区块,同时还为每个分片链分配一个委员会。该委员会的职责是对分片链验证者产生的区块进行投票。

分片链的区块需要一半以上的委员会成员同意。分片链还可以使用信标链来完成跨分片的操作。信标链启动后将与以太坊1.0链并行运行,在此期间并将依赖以太坊1.0链的状态。

信标链使用PoS算法。在PoS算法中,每个矿工产生区块的概率与矿工的权益成正比。但是,信标链中的每个矿工实际上都具有相同的权利。

每个矿工只能向信标链抵押32个ETH。要成为信标链验证者,您需要将交易发送至以太坊1.0上的存币合约(Deposit Contracts),这要求您拥有32个ETH。以太坊1.0上的存币合约(Deposit Contracts)的公开方法(public method)有两个参数:

Pubkey,信标链中验证者的签名公钥

Withdrawal_credentials,用于以后取回抵押的ETH

成功调用存币合约后,合约返回一个日志事件(log event),信标链将自动被告知以太坊1.0链上的事件。

信标链会将新添加的验证者标记为“等待验证者”(Pending Validators)。一段时间后,他们将成为活跃验证者(Active Validators),这意味着他们可以参与区块生成。

信标链将对长期不活动的或坏的验证者进行处罚。当验证者的权益减少到16ETH时,他们将无法参与POS协议的运作。最后,信标将排除权益低于16ETH的验证者。

信标链区块需要维护以下信息:

登记验证者

等待验证者,这些帐户将添加到验证者列表中

活跃验证者,这些账户已添加到验证者列表中

退出验证者,这些帐户离开验证者列表

轮询信息

验证者投票

随机数,用于随机选择提案人和委员会

提案人选择

在提交区块之前,需要选择验证者作为提案人。以太坊1.0中提交下一个区块的权力取决于矿工的算力。如果矿工的处理能力很大,则该矿工有很大可能被选为下一个区块的生产者。

在以太坊2.0中,产块节点的选择基于随机数;在区块链系统中很难生成高质量的随机数。但是,POS协议要求随机数的源是分布式的,可验证的,不可预测的和不可替代的。

使用随机数从一组验证者中选择提案人,使验证者无法知道谁被选中。这样可以防止它们合谋发起攻击。

在信标链中每6秒生成一个区块。这6秒也称为时间槽间隔期(slot gaps)。在每个间隔期间,选定的提案人从信标链的先前区块的验证者那里收集所有选票,并使用它们形成一个新区块。

委员会

在将提案人提议的区块输入信标链的主链之前,需要对其进行投票。

委员会可以对提案人提议的区块进行表决,通过表决的区块可以收到最终确认。理想情况下,如果可以快速收集选票,则委员会中的成员最好都是系统中的活跃验证者。

主链选择规则

在以太坊中,最长链由算力决定,而以太坊2.0的信标链则使用POS算法。因此,将需要一套不同的规则来确定每个人都需要遵循的分叉链(注:即主链)。信标链通过使用LMD GHOST(Latest Message Driven GHOST)来解决此问题。此方法涉及一种基于消息或换句话说通过投票运行的算法。一般来说,票数最高的分叉链将被视为主链。

分片链 分片链是以太坊2.0网络未来可扩展性的核心特征。

分片是指将数据库中多个节点(例如去中心化数据库或其他类型的数据库)的数据处理职责分开,从而允许同时进行交易、存储和信息的处理。

分片的概念与当前以太坊1.0的模型有很大不同,后者需要所有全节点来处理和验证每个交易。

信标链将监视分片链的运行。

验证者抵押32个ETH后,将其随机分配给某个分片链以进行验证(此处的随机性可确保验证者的分配路径不可预测,否则将面临被操纵的风险)。

eWASM

在第二阶段,随着新虚拟机eWASM(以太坊版WebAssembly)的引入,分片链将从相当基本的数据标记形式演变为完全的交易链,从而承担起扩展以太坊网络的职责。

为了维持区块链生态系统的正常运行,节点必须在虚拟机中执行交易和智能合约。以太坊1.0的虚拟机为EVM。切换到以太坊2.0后,以太坊网络的虚拟机将升级到eWASM,这是一个基于WebAssembly的虚拟机。按万维网联盟(W3C)的标准WebAssembly是开源的。

由于WASM支持多种编程语言,因此eWASM可以让任何语言编写的智能合约都能运行在以太坊上。与Ethereum 1.0的EVM相比,EVM仅允许以Solidity编程语言编写的智能合约运行在以太坊上。

欢迎使用OKX交易所
8 回复

好长一大段,学习了,懂技术就是好啊,可以编程。

好长一大段,学习了,懂技术就是好啊,可以编程。

感谢楼主分享,认真看了内容,感觉很有帮助,涨知识了

@ht2020 直接复读机,真的可以

@jwlibrary 这两个链以后都有用。。。。

发觉完全不知道应该评论什么东西,所以就随便疯狂这样水贴吧,差不多到一定数量的字数我就不会再打了,就像这样,不过好像数量不是很对,还是多打几个吧

回到顶部