GHOST协议和PoW挖矿

By | 2018年12月1日

窃以为这两个东西应该可以放在一起来讲——GHOST协议和PoW挖矿两者是相辅相成的关系,前者用于确保网络的统一(防止分叉),它的安全性由后者保障。

GHOST

GHOST=Greedy Heaviest Observed Subtree

实际上,以太坊网络时时刻刻都在分叉——世界上那么多矿工,网络每15秒出一个块,同一秒内超过一个矿工挖到合法区块的情况非常常见(或者说,几乎必然会发生),也就是说以太坊主链每个时刻都存在着朝向数个方向前进的可能性,网络中的节点也都会收到不同的人广播的、朝向不同方向前进的区块——这时就需要节点来确定“哪条路才是主链前进的道路”。

思路非常暴力——我们假设网络中好人多,那么我们也可以假设好人力量大,那么既然好人力量大,好人在PoW机制中算块的速度就会更快,那么好人集中的地方区块数量就多——所以我们得出结论,区块多的方向就是好人们在的方向,即主链方向。

GHOST协议做的就是这个,GHOST协议要求我们必须选择“拥有最多算力的方向”。我们可以通过检查最近的区块的区块号(区块头中的一个字段,表明该块在链上的次序)来实现“找路”的目标。节点将会选择它收到的数个区块中区块号值最大的那个块所在的方向为自己的方向。

 

PoW挖矿

PoW挖矿的具体内容不再赘述,在此仅重提一下重点:算力越大,挖出区块的速度越快。

想要篡改整个区块链网络的数据,唯一的攻击方法就是朝着攻击者想要的方向进行网络分叉。

加上上面的GHOST一起来考虑,我们可以推导出:想要网络分叉(成功实施攻击),就需要在自己设置的方向上比所有人都挖得更快。PoW就是通过极大地提高“挖得比大家更快”的成本来确保网络安全。

PoW用于确保整个网络只有一个前进方向——算力最强的方向。人多力量大,我们上文假设了好人比坏人要多得多——虽然好人的算力不一定强,但是在参与者极多的情况下,我们可以大致认为:算力和人数成线性对应的关系。那么好人既然那么多,算力也就非常强了。

想要孤零零地自己一个人打败那么多的好人,就要让自己的力量比大家都大。当坏人的算力超过全网51%的时候,就能妥妥的得逞了——这就是所谓的“51%攻击”。


写博不易,如果读的开心,可以考虑请我吃包辣条 ~

人间自有真情在,五毛一块也是爱

点击量:474

发表评论

邮箱地址不会被公开。 必填项已用*标注