信标链使用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编程语言编写的智能合约运行在以太坊上。