相比其他区块链项目,Trias共识节点有哪些优势?

服务器

浏览数:180

2019-8-21

 一、区块链的隐忧

区块链的核心思想是去中心化。去中心化意味着,区块链网络中的节点们进行的信息互换,无需通过第三方中心机构。一般认为,相比起中心化处理方案,去中心化的速度更快,而且能避免中央数据库出错造成的系统瘫痪,最终实现效率和安全的双重提升。

然而,区块链也并非包治百病的良药。在实践的过程中,人们发现,虽然区块链能够很大程度上解决单一节点出错带来的负面影响。但同样的,区块链网络中众多节点的自身安全性也难以得到保障,并由此带来新的安全问题。

现有的区块链系统,普遍不对节点的运行环境进行安全检查,而是通过部署大量的节点来稀释恶意节点的比例,亦即只要恶意节点的比率不高于一定限制就不会影响共识结果。如比特币的全节点数量在2018年基本稳定在10000个左右,比特币网络并不要求这些节点全是好节点,只要恶意节点占比不足以影响大局就好了。

然而这样也会带来新问题,那就是参与共识的节点数量过多,而没有对质量进行判断,这样会大大拖慢系统的效率。众所众知,比特币的tps大概是7-10,而以太坊则在20上下,这显然太慢了。

 二、Trias节点的优势

基于上述问题,Trias致力于打造一套安全可靠的底层框架。简单说来,就是在共识过程中,优先选择可信状态好的节点做为共识的参与节点。这样既提高了节点的安全可信性,又减少了参与共识的节点数,从而实现了安全与效率的同时提升。

有的朋友可能会说,这不就是DPoS嘛!

虽然Trias节点在共识中有和DPoS机制相似的地方,但这是两回事。最根本的区别在于,EOS的DPoS机制中的超级节点是通过投票选出来的,至于节点自身是不是真的安全,谁也不知道。以美国总统大选来理解,就是竞选时说的比唱的好听,选上之后当初的承诺能兑现几何,那就去问上帝吧。

而Trias节点的共识,是结合TEE的共识,是技术的共识。人可能会说假话,而技术不会。

首先,如果有共识节点想要加入Trias网络,条件是得有TEE的基础,比如SGX、TrustZone、TXT等。这样做的意义在于由TEE先对节点的安全性做了评估,初步保证了Trias节点的安全性。

第二,在Trias网络中,每个节点在不断的证实其他节点可信度的同时,自身也在不断的被证实。所有收集到的信息都会在其它节点间传播,形成一个信誉关系网,彼此相互背书,相互证明。

下面我们简要介绍一个这个过程:

每个节点均维护了网络中节点之间的证实信息,被称之为Kernel,它随着节点之间的证实而更新,代表网络中节点的可信状态。Kernel中的每一个元素包含三部分:证实记录、征信记录和节点状态

证实记录代表一个节点对另一个节点最近一段时间的证实结果。如果证实发现节点存在问题,那么将增加该值,增加结果储存在征信记录里。如果某次证实成功且节点状态正确,那么征信记录将保持不变。征信记录值越大,代表被证节点的可信状态越差。节点状态表示该节点是在线还是离线。

在节点发起证实后,将更新过的Kernel发送给网络中的其它节点。这样一来,一旦有一个节点想要撒谎,其它节点会立刻发现并予以指正。

第三,每隔指定时间根据Kernel重新计算所有节点的可信状态,并据此对所有节点进行排名,这个排名的结果我们称之为“天榜”。在这份榜单中,排名越靠前的节点的可信状态越好,并为少数这些节点分发智能合约程序,从而实现高效、健壮、高并发的运行环境。

 三、关于常见问题的解答

看到这里,相信大家会对Trias节点的安全性有一个大概的了解。感兴趣的朋友可能会产生更深入更专业的问题,这里我们就常见问题做一下解答。

 如果天榜排名靠前的共识节点被攻击怎么办?

它会立刻被认为是恶意节点,并被动态的从共识节点集合中移除。此时,将通过这一周期发布的天榜,顺序选择出一个排名最高且安全的非共识节点,来替换这一存在问题的节点。 

② 什么情况下会改变共识节点?

周期变更,每隔一段时间会启动新一轮的“天榜”计算,对天榜进行周期性的更新;另外就是像上个问题说得那样,一旦共识节点作恶,它会立刻被替换掉。

③ 更新后的Kernel如何发送给网络中的其它节点?

这个过程将通过Gossip算法构建的P2P网络进行传播。关于Gossip此前我们在“为什么八卦消息传得快”中介绍过,感兴趣的朋友可以看一下。

作者:Trias