Trias的节点管理和准入原则

Java基础

浏览数:46

2019-8-21

在此前的多篇文章中,我们对Trias节点的特点和优势都作出过详尽的描述。在Trias网络中,每个节点都参与维护了网络中节点之间的证实信息,每个节点的可信状态,也是用来计算天榜变更的重要依据。

当一个新的节点加入网络时,就具有验证数据同步,并对其他节点状态进行基本检校等功能。随着评分的不断上升,节点可以开启更多的功能,承担起更重要的角色职责,如成为共识节点,承担共识出块的职责等,在这个过程中,不会受到人为因素的干扰。

今天我们主要介绍一下节点是如何加入Trias网络和被管理的。

一、节点的准入原则

在节点主机准备加入Trias主网中,要满足基本的硬件和服务,具备TEE状态,具体配置参数通过社区官方模板生出。验证环境服务状态满足mBZ(t),St为获取标准,主机提交状态,n为目前使用的版本,Ct为最大损害程度。

值得一提的是,与BTC,ETH,EOS等区块链网络相比,这是Trias的一个显著的改良,一般的公链不具备对运行环境的筛选,只能仅仅依靠大量的节点来稀释恶意节点的数量。Trias通过TEE将一批具有潜在威胁的节点拒之门外,可以说是Trias网络的第一道安全防线。

二、节点的升级维护

后续版本或数据格式在升级后,每个节点均会维护当前版本信息,它随着节点之间的版本标准而更新,在协议中具有强制位的标识。

节点的第一次选择是完全独立自由的,但第一次选择过后,多数派版本将会发起后续的强制性数据检查和更新,这样能够很大程度上避免因为分叉对数据造成的影响。

另外,如果当前有两个版本都不能达到显著的多数派条件,那么将会遵循对等自愿的原则,在同一个网络中广播不同协议数据,自由组织选举共识。

这有点像美国总统大选。每个州都有若干票数,共计538票,各州选民同样遵循平等自愿的原则,决定把本州的票投给谁,只要有人得票过半即可获得本州全部的票数,得票超过270即可当选总统。 

三、协议同步与分化

· 同步

一个节点升级后,暂停选举共识出块,接受P2P的广播,达成预设条件(如新版节点数,同步区块高度,同步协议等),开始选举共识节点,在达成共识后,出块同步。

定义tnew代表下次开启的预设,toriginal代表目前版本条件,新版节点数可信状态表示为nk,当前区块为Blocki,同步协议设定为P,那么节点Si对节点Sj的框定的判断同步记录可表示为:

如果节点条件达到多数派,那么数据将会以强一致性的形式进行公示同步。

· 分化

当链组织完成升级后,确认当今版本并没有达成多数派条件。那么就会按照预设条件同步的条件,进行选举共识节点,丢弃不同版本的数据包,达成共识算法后,按当前版本出块同步到当前版本的平民节点。

定义t代表当前版本开启协议,t(original)代表目前版本条件,当前版节点数可信状态表示为nk,当前区块为Blocki,同步协议设定为P , 那么节点Si对节点 Sj的框定的判断同步记录可表示为:

在此状态下,运行协议分化后,当前共识正常完成后的记录,将在后期版本变更后失效。

四、结语

关于节点的合理升级维护规定,它虽然不像共识算法、挖矿难度那样引人瞩目,但其影响力决不可小觑。对每一个去中心化网络后续的发展而言,刚上线的时候似乎并不是特别引人关注,但每当升级分歧的时候,关于升级的规定,就成了决定分叉与否及后续影响的关键所在。

我一直认为,门罗币(Monero,代号XMR)是非常可惜的一款匿名币,当时它火爆的时候,在世界范围内得到了广泛的认同,但最后却高开低走,因为频繁的分叉泯然众“币”矣,实在可惜。

Trias在升级的同步与分化上做出的改变,在解决此类问题的层面,显然有着非常积极的意义,能够很大程度上避免因分叉对数据造成的影响。

作者:Trias