以太坊 2.0 中的信标链是什么?
2021-06-22 17:34:46
以太坊 2.0 意在解决以太坊的共识问题和扩展性问题,基于共识问题提出了一个新概念就是信标链( Beacon Chain ),而基于扩展性问题提出的是分片链(Shard Chains)。今天大白就和大家科普一下什么是信标链以及信标链具有怎样的功能。01信标链是什么?信标链,英文名叫 Beacon Chain,Beacon ,意思就是灯塔,信号浮标。它其实是以太坊 2.0 系统的核心。信标链是一种全新的权益证明( PoS )区块链,它是为了解决共识问题,而分片链( Shard Chains )的目的是解决以太坊的扩展性问题。分片链之所以能解决性能问题,它相当于是通过多片技术处理交易等,提高了系统的效率和性能,下图展示的是信标链和分片链的结构图,其中信标链处于协调层,负责协调和管理工作,而分片链处于数据层,负责数据部分的工作。在图中我们可以看到,为什么我们需要信标链呢?信标链像是一个核心脊骨,支撑和联系着各分片链。事实上,信标链是给整个以太坊 2.0 系统注入生命力的核心,负责指挥协调系统的所有参与者。那么它能做些什么呢?02信标链可以做什么?首先,这条链是权益证明( PoS )区块链,它可以让验证者可以参与质押系统、替代矿工的角色而成为链的构建者。也就是说信标链上管理着验证者的名单,以及分片验证者任务。怎么样才可以成为信标链的验证者呢?首先你需要向当前以太坊主链上的一个合约发送押金( 32 个以太币),然后经过一系列的审核检查之后,你就会收到一张电子收据(以太坊智能合约中的事件),这个收据就相当于一张 vip 卡,有了这张卡,你就拥有了验证资格,成为了验证者。如果你很“活跃”,就可能被选中成为区块提议者。成为验证者之后,信标链就会给你安排任务了。它会将你随机分配到一到两个分片中去做验证。我们知道,在工作量证明机制下,也就是我们现在的以太坊主链上,矿工通过挖矿生成下一个区块,但是在权益证明机制下,不存在挖矿,下一个区块的产生是由验证者们选择出来的。这个选择具有随机性,不是一个验证者所能掌控的,这也体现了去中心化的特点。假如你不是很“活跃”,信标链将你分配到分片之后,你需要同该分片的其它验证者一起选择出新的区块。然后该分片的区块提议者就会为这个分片收集交易,并且将这些交易纳入到刚刚验证者们选出的区块中去,虽然由于你不是区块的提意者,也就没有将交易纳入新区块的权力,但是作为验证者的你这个时候可以验证这个过程中区块提议者是否行为妥当。如果你表现良好,做了身为验证者应该做的事就会得到奖励,相反,如果你违反规则就受到惩罚,惩罚就是从你抵押的 32 ETH 中扣除一部分,当抵押金低于 16 个以太币之后,信标链就会将你从验证者列表中移除。如果有一天你不想当验证者了,你抵押的以太币加上你得到的奖励以及减去你因惩罚而扣除的以太币将不会回到你之前的以太坊主链中,而是会被存进某一个分片链中。除了管理验证者之外,信标链还需要存储一些认证( Attestation )。我们知道当前的以太坊区块链上存储了我们平时的那些资产转移等交易的数据信息,但是信标链不同于当前的以太坊主链,它存储的是一系列经过计算的字符串。这个字符串的产生基于计算机中的一种哈希运算,它就像生活中你将豆子放进豆浆机处理之后,你不能根据得到的豆浆去判断之前豆子的形状大小等特征。而且假设你多加了一颗豆子,得到的豆浆就会发生很大的改变,你无法确定你这颗豆子是豆浆中的哪个微粒,这个豆浆机就像是哈希算法,不能通过哈希之后的结果去推导去哈希之前的样子,而且只要哈希之前的数据有一点改变,哈希之后的结果就会发生很大的变化。在信标链中,验证者验证并签名交易,比如一笔转账交易,然后经过哈希变成一段字符串,将这个字符串存到信标链中,此时这个字符串就代表了一笔交易的数据,这样做的好处就是,你不用去深入探究这笔交易到底在哪个分片中发生。分片中的状态一旦发生改变(比如某个账户余额发生了丁点改变),验证者都会把这个变化汇报给信标链。因此,信标链实时跟踪者分片的变化,也建立起了个分片间的联系与通信。03小结总的来讲,信标链就像信号灯一样,指挥着系统的各种行为,存储着大量的认证数据。但是这种指挥是去中心化的,如参与其中的验证者的投票行为是由验证者本身自己所决定的,信标链是不能左右的。最后,信标链以及分片链还涉及许多的的技术难点,以太坊团队也在砥砺前行。