『学概念找员外』Skycoin的Obelisk共识算法

在说Obelisk共识算法之前,得先拉两个垫背的做个铺垫,有了对比,理解起来才会更容易一些,既然是共识算法,就不得不提到PoW和PoS,所以接下来就拿这两位开刀,不说优点,只说缺点。

PoW的缺点

1

最臭名昭著的就是电力的“浪费”,为了实现去中心化,中本聪设计的PoW算法,只能依靠计算机不停地去猜哈希值的办法来保证,也就是俗称的挖矿。同时因为挖矿可以获得巨额的奖励,所以吸引越来越多的人投入计算机来进行挖矿。目前比特币已经吸引到全球大部分的算力,单单这一项的电力开销,就可以够某些中小国家一年的用电量了。矿工们为了赚取更多的比特币,而不得不引入更大的算力,然后消耗更多的电力,从这一点上面来看,应该不是中本聪想要看到的。

2

这种共识算法下的网络性能过于缓慢,每一笔比特币的交易,都需要等到若干个区块确认之后才能交易成功。所以导致比特币交易速度只能达到每秒8笔,这跟支付宝每秒八九万的交易量来说,简直没法比,无法达到商用效率。同时因为各种利益关系,还容易分叉,员外觉得这是在分散比特币的价值。

3

PoW共识算法还导致大量的某些矿池拥有过高的算力,虽然大家都很自觉,不会让自己的算力超过51%,但对于那些30%左右算力的矿池来说,这其实也算是一种中心化的体现了。虽然他们不会联合去作恶,但是他们是有绝对的话语权的团体。比如在比特币分叉上面,这些矿池是有一定的操控力的。

POS的缺点

1

相对于PoW算法来说,只是把打包区块的权利从矿工手中拿回来,放到了节点的手中,这其实并没有摆脱挖矿的束缚,只是换汤没换药而已。

2

对于每一笔交易的确认来说,并不像PoW那样可以确认每一笔交易都是真实有效的,而是一种概率上的表达,它只是在很大的概率上认为这笔交易是合理合法的,所以对于这种概率性的事情来说,是有一丝可能遭受恶意攻击的。比如以太坊的DAO事件造成了以太坊的硬分叉,因为这件事情还引发了ETC的出现,也从侧面证明了此次硬分叉的失败。

3

PoS的算法机制是需要所有的持币者来共同维护该网络的安全,因为你持有这个币种,才会相应的有投票权,如果你作恶,你持有的代币就会被没收还会接受相应的惩罚,同时不持有该币种的人,是无法对该网络造成任何威胁的,这种机制下的网络安全只跟持币者有关。同时在PoS算法机制下,打包权不仅仅是跟节点持有多少币有关系,还跟持币者持有币的币龄有关系,币龄越大,获得打包权的概率会越大。

这样造成的影响就是,持币越多的人,获取区块奖励的可能性就会越大,持币少的人几乎没有什么机会,会加剧贫富分化。如果有一天,某个组织拥有了超过50%的代币,这就意味着这个币种几乎完全的中心化了,这还是违背了区块链的初衷。(虽然这种情况不太可能出现,但是我们不能放过每一个可能的机会。)

信任之网

Obelisk公式算法为了保障整个网络真正的实现去中心化的信任网络,Obelisk分散了所有对网络影响的可能性因素。使得Skycoin的网络真正由节点组成,而不是矿机或者矿池,同时该系统中的所有节点都被放入一个互锁的网络系统中,然后在这个系统的基础上进行运作。

节点与节点之间也不再是简单的通过哈希算法相连,而是相互订阅,如果一个节点拥有很高的信任价值,那它就会获取到更多的节点来订阅它。有些类似于KOL一样,当这个KOL总是能持续的提供给粉丝有价值的内容,那么这个KOL就会吸引到更多的粉丝量,就会获得更大的影响力。如果这个节点的影响力太过于集中,势必会形成一定规模的中心化,所以这种情况下第三方就会介入,来重新平衡各个节点之间的信任关系。

当然如果某一个节点在持续提供有价值的信任网络,但是它没有的订阅者寥寥无几,第三方监督方依然会介入实施相应的平衡机制。这种行为就有些类似于币乎的一些大咖的行为了,发现好文收益不高,主动上去给几个暴击,并广而告之,帮助该作者获得更高的关注度。

作为Skycoin的每一个节点,都会分配到作为“公共广播渠道”的个人区块链上,也就是说他的一举一动都会被公开记录,而且任何人都可以随时查看。同时社区还可以很容易的对这些节点进行审核,防止节点间的作弊或恶意抱团,但同时不会影响这些节点的隐私。节点由其加密公钥编址,节点的IP地址只向其直接连接的节点公开。此外,没有固定的端口,也没有已知的有线格式的明文。如果在审核的过程中发现某个节点存在不良记录或者是恶意节点,那么网络有权切断与这些节点的联系,将这些节点隔离在外。

Obelisk的共识解决方案

伸缩性强、能耗低

Obelisk共识算法在PoW算法的基础上进行了改良,不在需要极高成本的算力设备来做挖矿行为了,而是通过一种可扩展的算法,在普通的计算机上面都可以运行且可成功生成区块。这样就使得矿工的成本大幅下降,普通人都可以参与进来,参与者越多,越能实现高度的去中心化。

有力地防御协同攻击

在用Skycoin进行交易的时候,支付的手续费是币时,然而币时几乎是零成本的,所以就有可能存在恶意节点通过发起大量的小额交易来攻击Obelisk共识网络,引发网络拥堵。然而Obelisk算法是非迭代的,能快速收敛,当发现恶意攻击的时候,能够迅速制止。

抵御“51%攻击”

Skycoin不依赖于采矿奖励,因此不用担心会受到51%攻击的影响。当然还是可能会有一些入侵者使坏,如果这些入侵者作恶,那么他们的记录就会被永久的保存在某个区块当中,当系统查到这个入侵者的记录后,可以在监测到问题时迅速将其与网络分离,把他驱逐出去。

隐藏IP地址

节点由其加密的公钥编址。一个节点的IP地址只向其直接连接的节点公开。

时钟同步独立

Obelisk共识算法里面没有使用传统的时间方式来记录时间,而是从有关信息的验证共识和区块来提供的区块序号来计算节点的内部时间,也就是区块时钟

存在两种类型的节点:共识和区块生成

在Skycoin网络中的每一个共识节点在最开始,都是需要从一个或多个节点上面来接受可以输入的数据,但是它在录入数据的同时,还需要对数据的来源进行验证,检测该数据是否合法、可信。如果监测到欺骗性的数据,那么就会自动将这些数据除掉,且该节点会永远的被切断,禁止以后与对等节点通信,其公钥也将会被禁止使用。

你可能感兴趣的:(『学概念找员外』Skycoin的Obelisk共识算法)