由微小节点生成的GBT传送交易发送至超级节点。
3个超级节点会参照在线展示板,并按照排序来选定微小节点。
3个筛选型超级节点会按照顺序随机选择3%,作为微小节点验证者。
选择验证者的超级节点是按照超级节点登录的顺序进行排定的。当有新的超级节点加入时,则将其排到末尾。所有的排序结束后,新加入的超级节点则会按照此前的排序再次进入首位。
为知晓何种微小节点成为了验证者,超级节点则把结果值记录到区块中。
如果与交易时所需的金额相比,在余额不足的情况下,交易能否能被接收也可能因其排序的不同而产生变化。
在验证交易的过程中,哪些交易该优先处理,因此有必要对交易进行排序。
交易的排序是由一个超级节点根据超级节点间制定的顺序依次进行,顺序的排定则是按照超级节点登录的顺序进行, 所有的排序结束后,超级节点则会按照此前的排序再次进入首位。
超级节点按照接收到的交易顺序对交易进行排序,并制定对交易的处理顺序。
受到验证处罚的微小节点在生成交易时,该节点提交的交易在排序等待验证的过程中会被置于后位。
若同一时间接收到两个交易,则由超级节点来裁定其顺序。
当交易的排序数量较少,或是交易传播的数量增多时,通过验证池的生成确保网络的效率。
交易的排序数量较多时,交易处理的速度不会下降。
即使过了一定的时间,相应的(交易排序值)没有被排满,这一部分交易仍旧会被传送至微小节点。
微小节点将下载的交易同自身持有的状态值相比较,以此来判断该交易是否有效。
微小节点验证者把自身验证的有效交易置入到区块中。
相应区块的哈希值发送至参与选定验证者的3个超级节点中去。
此时,对于何种节点对应支付了多少值的投票结果则由超级节点来决定。
接收哈希值的超级节点,记录着哪个节点提交了什么值,以及哪个节点是否有反馈答案。
3名超级节点根据验证值投票决定是否生成GBT区块。如果超过 2/3以上同意,则会创建GBT区块。
超级节点认为经2/3以上节点同意的哈希值是可以信赖的,然后会下载微小节点对应的区块并将其连接起来。这些新连接的区块被定义为最新状态值。
接收到哈希值的超级节点中若有超过2/3拒绝该区块的创建,该区块的创建则会被视为无效。之后验证池会重新挑选哈希值进行验证。
若有超级节点反对2/3以上节点所同意的内容,该超级节点质押的代币会被削减。(详细内容请参照 参与者-超级节点)
超级节点会一直公开系统中的最新状态,并对微小节点们最新状态进行更新。
在100个验证者中,若有超过2/3的验证者未能在特定时间内达成共识,这种情况下则要重新选择验证池,整个验证过程也须重新进行。
若验证过程执行3次以上也未能够完成,则所有超级节点都要参与此次验证。
验证时间内未能验证出示的哈希值,或未能出示与2/3 验证者的相符的结果,以上这些情况被判断为是微小节点的错误验证。
超级节点会将微小节点的验证结果同区块中记录的内容相对照,超级节点会根据参照的结果运行相应的奖励合约。(详细内容请参照 GBT Protocol 智能合约验证机制)
进行错误验证微小节点,其发送的交易在处理的顺序中会被置于后位。其SC的驱动(运行)也会被置于后位。
例如,一般微小节点生成交易其指数为100,发生一次错误交易的微小节点其指数为99,指数为99的微小节点提出交易验证申请时,整个验证池则是在处理完其他交易后,再处其进行处理。
一周之后,节点的交易指数值恢复正常,便可获得正常的交易排序。