首先要跟大家明确的一点是,21个超级节点是投票选举出来的,并不是系统在创立之初就已经确定好了的。那么相信大家也一定很好奇,这21个超级节点是通过什么方式产生?

NGK.IO对分布式超级节点使用了一个自创的选举算法DSNE,来保证选举能够在最短的时间内完成。因为NGK智能合约本身就是个P2P的信任机制,然后再参考现实世界的交际方法,最后再通过考察超级节点的总信任度来评选出超级节点由谁担任,同时,在计算信任度的过程中,系统会启动奖励或惩罚因子和时间衰减因子的机制。

另外,为了减轻在拥有大量节点的网络组进行超级节点的评选所带来的的网络负荷,普通节点会首先经历一波阈值过滤算法来进行筛选,然后从剩下的节点中组成超级节点组,最后从超级节点组中选出最优秀的一批来担任。

NGK的超级节点选举算法对目前的网络动态变化是有全方面的考虑的。在选举过程中,参与节点可以随时加入或者离开,也有可能出现随机的故障(可被修复),也有可能发生消息丢失或者延迟的情况;领导人选举服务包括组选举算法、故障检测和维护这三个模块,使用速度(选举服务占用的时间)、平均错误率和领导人可用性三个QOS指标来衡量选举服务的性能。

超级节点的选举会通过分布式最小生成树算法来实现对所有节点的筛选,最小生成树算法也由此直接变成了选举算法。分布式最小生成树(MST)算法,具有最优的通信复杂度和较好的时间复杂度,并在此基础上MST算法引入一些非常基本的思想和概念。

一个节点作为根节点启动算法,发送“follow-me”消息。收到“follow-me”消息的节点,如果消息传递变是它邻近边中的最小权重边,则够到MST树上。如果有的节点没有把它们自己勾到MST树上,就选择一个新的根,旧根“迁移”到新的根上,继续上述过程。

最坏情况下,算法需要(n/2-1)次根迁移时间的复杂度是(dn),消息复杂度是(2m+dn/2-1)。这里的参数n、m和d分别是网络组的节点数量、边数量和网络直径。

NGK公链:在规则明确的环境下运行超级节点机制的更多相关文章

  1. NGK公链:夯实基础设施 实现产业大规模应用

    当前,区块链已经成为全球技术角逐的前沿,大国及科技巨头竞相在该领域布局,引导区块链服务实体经济,激发市场经济活力.据市场相关研究机构预测,2020年,基于区块链的业务将达到1000亿美元. 对于区块链 ...

  2. NGK公链依靠技术创新推动数字经济产业发展

    数字经济更让人们的生活发生了翻天覆地的变化.数字经济的发展要依靠技术的创新,发展出生态新模式.同时数字经济的发展要利用新技术对传统产业进行全面的的改造升级,释放数字对经济发展的放大.倍增作用.打造数字 ...

  3. NGK以强大的创新能力赋予NGK公链超级实用的特性

    公链从大趋势看是一个不断迭代的过程,不管是共识算法.网络架构.开发者协议都在一代一代不断完善跟创新. NGK公链作为公链赛道上的后起之秀,对于主流公链技术的局限性以及下一代公链技术的发展方向都有非常清 ...

  4. NGK公链账本技术浅析

    NGK公链账本是一个去中心化加密账本,运行在分布式网络上.分布式账本是区块链技术中最重要的组成部分之一.NGK作为公链资产,在公链中起到桥梁作用,可以促进其他资产(法币.数字资产.股权以及实物资产)交 ...

  5. NGK公链:去中心化交易+挖矿生态体系共舞

    NGK生态公链是一个安全.透明.专业的去中心化商业应用平台.作为一条具有技术信任甚至是公众信任的公链,NGK以区块链技术为支撑,利用区块链透明.公正.公开.数据不可篡改.分布式存储.可追溯等技术优势, ...

  6. NGK公链生态所如何保障用户的数字资产隐私安全?

    距离NGK生态所正式上线已经没剩下几天时间了,NGK全网算力总量正在持续猛增,NGK日活账户也在大幅度增多.可以看出,币圈的生态建设者们是十分看好NGK生态所的.那么,有这么多的生态建设者涌入NGK生 ...

  7. VAST助推NGK公链热度升温,日活超过以太坊!

    在区块链市场,如果说过去是比特币和以太坊的时代,那么现在和未来绝对是NGK的时代. NGK公链的出现,让区块链市场看到了新的希望.它不仅仅是开放的和可编程的,而且是低Gas燃耗的,以及创新共识机制的. ...

  8. NGK生态所即将启程!助力NGK公链建立全方位区块链生态系统!

    据NGK官方消息,NGK生态所将暂定于2月15日正式上线.据了解,这是全球首个基于公链打造的生态所,也是NGK生态重要的应用之一. 此前,NGK灵石团队CTO通过多方媒体透露,NGK生态所采用去中心化 ...

  9. 科普NGK公链生态板块旗下的BGV、SPC、NGK、USDN四大币种

    众所周知,NGK公链所有数据上链.公开透明,NGK公链生态板块目前主要分为四个板块---BGV.SPC.NGK.USDN四大币种,笔者以时间上倒叙手法来一一科普. 首先,是2021新年刚推出的SPC侧 ...

随机推荐

  1. 十:SpringBoot-配置AOP切面编程,解决日志记录业务

    SpringBoot-配置AOP切面编程,解决日志记录业务 1.AOP切面编程 1.1 AOP编程特点 1.2 AOP中术语和图解 2.SpringBoot整合AOP 2.1 核心依赖 2.2 编写日 ...

  2. scala中List、Array、ListBuffer、ArrayList、Set

    scala中List.Array.ListBuffer.ArrayList.Set 一.List 二.Array 三.LIstBuffer 四.ArrayBuffer 五.Set 一.List Lis ...

  3. Spring框架——AOP面向切面编程

    简介 AOP练习 使用动态代理解决问题 Spring AOP 用AspectJ注解声明切面 前置后置通知 利用方法签名编写AspectJ切入点表达式 指定切面的优先级 基于XML的配置声明切面 Spr ...

  4. SparkStreaming算子操作,Output操作

    SparkStreaming练习之StreamingTest,UpdateStateByKey,WindowOperator 一.SparkStreaming算子操作 1.1 foreachRDD 1 ...

  5. 【Java】构造方法

    成员变量声明时初始化和构造方法中初始化的区别 声明时为成员变量赋值,那每次创建这个类的对象都是同一个值. 构造方法初始化,每次创建对象时可以为每一个对象赋不同的值(此时要通过有参构造). 无返回值类型 ...

  6. 2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage(11/12)

    2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage A. Coffee Break 排序之后优先队 ...

  7. Codeforces Round #622 (Div. 2) A. Fast Food Restaurant(全排列,DFS)

    Codeforces Round #622 (Div. 2) A. Fast Food Restaurant 题意: 你是餐馆老板,虽然只会做三道菜,上菜时还有个怪癖:一位客人至少上一道菜,且一种菜最 ...

  8. 【洛谷 p3379】模板-最近公共祖先(图论--倍增算法求LCA)

    题目:给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 解法:倍增. 1 #include<cstdio> 2 #include<cstdlib> 3 #include ...

  9. 【noi 2.6_9275】&【bzoj 3398】Bullcow(DP){Usaco2009 Feb}

    题意:一共有N只牡牛(公牛)和牝牛(母牛),每2只牡牛间至少要有K只牝牛才不会斗殴.问无斗殴发生的方案数. 解法:f[i][j]表示一共i只牛,最后一只是j(0为牝牛,1为牡牛)的方案数.f[i][0 ...

  10. hdu 6814 Tetrahedron 规律+排列组合逆元

    题意: 给你一个n,你需要从1到n(闭区间)中选出来三个数a,b,c(可以a=b=c),用它们构成一个直角四面体的三条棱(可看图),问你从D点到下面的三角形做一条垂线h,问你1/h2的期望 题解: 那 ...