11月5日,北大软微-八分量协同创新实验室以“Trias共识技术研讨”为主题开展学术沙龙活动。Trias创始人团队、北京大学沈晴霓教授、杨雅辉教授以及实验室众多博士生出席了此次活动,双方就Trias的共识技术、合作研究方向等做了深入交流。在会上,Trias CTO 魏明详细讲解了Trias项目的共识部分。

为了帮助大家更好的了解这一部分内容,我们将呈现讲解内容的文字版,供大家学习。以下是讲解内容。

今天主要说的还是共识,大概从诞生、天体、传播、变化这四个方面来说。在这里我想和各位同学说一下,如果你选择了去中心化,就一定要把原来固有的思想丢掉。如果你在共识算法等技术中提到这些的话,大家一定觉得你不是在做链。

还有一点我要强调,在没有TEE的传统系统下,大家都选择让自己非明文,让别人不知道你。而在Trias里,设置的是一种挑战者模式,因为如果要选出整个网络里最可信的节点,就要让整个网络里的全部节点都认为我是最可信的。我们开发团队曾经开玩笑说,这个理念有点像刘慈欣《三体》里的黑暗森林法则。他认为,全世界的人都不希望被更高级的文明发现,。在Trias 里,如果你想要成为我们的超级节点,你必须是最强的,而且要能接受整个Trias网络里所有节点的挑战。目前其它链选择超级节点的方式,没有和我们一样的。比如说EOS,通过人为投票来选择超级节点。而Tiras是靠计算机,通过TEE的证实,来看你是不是有能力做超级节点,是不是全网最安全、最健壮的节点。

从整个链圈来看,Tiras的挑战者模式是独一无二的。当然,我们还有很多工程上的问题要解决。

图 1.  TEE共识过程状态机

目前我们的第一版状态机图已经是按照PPT现实开发完成了的,但是中间还存在一些BUG我们还在不断的改善。接下来我来介绍一下过程:第一步任何想加入Trias节点的,进来之后就好像刘慈欣《三体》中黑暗森林一个新的文明诞生了一样,你要加入一个群体就要广播,告诉整个网络我加入了,需要让所有人都知道你的地址。通过Gossip、P2P的方式告诉所有节点:首先我要加入Trias网络,其次我要成为最优秀的节点。该节点会将机器所有的信息发送出去,比如IP地址、机器可信状态哈希值以及机器现在可信的白名单。其他节点拿到这些信息之后就是挑战者。

我们要设置一个东西,来防止网络风暴。因为通过gossip传播时,实际上它是类似于小世界网络那样的跳转。当它在跳转的时候,你不可能每一秒都让全世界所有人都知道。所以我们现在实际上是通过两种,一个是网络状态,另外一个是时间戳。比如说我现在通过UTC知道现在的时间是12点,然后突然拿到了一个有人想要我向他挑战的挑战书,而发送时间是11点57分,已经过去了三分钟,说明我们隔得很远。从网络角度来说,我们肯定不是一个小世界的,我们两个距离不近,所以我们会涉及一个全址。因此,我收到一个挑战书,不能是一年前的,这样没有意义,我们必须在一个很近的距离。我们靠gossip来确定是不是一个小世界的人。

我拿到挑战书,一看这个时间,如果我们离的很近,我看到我身边还有一个新生的(节点),我打一下他,这一块地盘是我的,所以每一台机器上面默认可信节点都要通过serve挑战,所以每一台机器既可以挑战别人,又要受到别人挑战。这个状态机就是这样。

图 2.  节点状态更新题

上图中为什么有蓝色节点,因为怕有独立的地方军阀。如果单纯靠gossip去确定,即通过网络通讯来确定他的距离,会出现独裁的情况。在一定区域,总是这七个节点,如果你不改变它的网络状态,它总是最先拿到。这样,如果在Trias上运行一年的话,就很可能形成小团队,就像中心化那样,为了解决这个问题,我们会派出超级节点。也就是说,仅仅依靠gossip还是不够的,还要派出我们的超级代表,来做董事会的成员之一。所以说在这样一个团队中,他们在不断的相互证实。一旦发现其中有一个节点,不管之前它对了多少次,哪怕它对了十年,十年没犯过错,只要它有一个时间点计算出来的哈希值有问题,我们就会立刻把它踢掉。然后,我们会通过gossip找离这个团队更近的网络节点,然后把它加入进来。这里除了距离外,还要考虑TEE的值,TEE的值越高,证明在整个历史过程中,你基本没有犯过错,你的信誉,征信系统记录好。

Trias的挑战者模式相关推荐

  1. 【腾讯Bugly干货分享】经典随机Crash之二:Android消息机制

    为什么80%的码农都做不了架构师?>>>    本文作者:鲁可--腾讯SNG专项测试组 测试工程师 背景 承上经典随机Crash之一:线程安全 问题的模型 好几次灰度top1.top ...

  2. zhengyang:全面了解风控决策引擎

    说明 上篇我们讲了金融信贷业务流程,今天我们讲讲金融信贷风险点及量化风险管理. 过去400年间,只有保险公司始终积极从事风险管理活动:150年前,风险管理的范围开始扩大到信用风险和市场风险:最近40年 ...

  3. 全面了解量化风险管理-转载 风控搭建的可以一看

    8 过去400年间,只有保险公司始终积极从事风险管理活动:150年前,风险管理的范围开始扩大到信用风险和市场风险:最近40年,市场剧变让风险变得越来越复杂,潜在成本和未来机遇难以把握,企业开始有意识地 ...

  4. 大淘宝服务端技术干货沉淀和总结

    网络基础 TCP三次握手 三次握手过程 客户端--发送带有SYN标志的数据包--服务端 一次握手 Client进入syn_sent状态 服务端--发送带有SYN/ACK标志的数据包--客户端 二次握手 ...

  5. python 各种模块学习

    from:https://blog.csdn.net/weiwangchao_/article/details/70570508 转载:.... Python的模块大全,很全,有详细介绍! 另外附Py ...

  6. 总编下午茶:挑战者心态能否帮助微软重回云计算巅峰?

    ["总编下午茶"是51CTO总编老杨主持的关注技术应用和IT前沿的访谈栏目.想和老杨一起喝下午茶?欢迎联系老杨."总编下午茶"专栏网址:http://zhuan ...

  7. 《华尔街日报》专访雷军:小米如何应对挑战者身份的变化

    上周五雷军在办公室接受了<华尔街日报>专访,讲述了小米从挑战者变为被挑战者的心理感受.为什么管理内部和外部期望是小米最大的挑战,在市场增长放缓.同质化竞争加剧的新形势下如何创新,以及他为什 ...

  8. 职业化之可以固化的六个工作模式

    郑昀 汇总 20130320 职业化所包含的行为模式 --总有一些工作套路是可以带走的 (1) 任务已读回执模式 示范A 数据中心的应答 收到数据提取邮件后立即应答:  应答人:某某  数据提取时间: ...

  9. 互联网大鳄的成长模式

      /*版权声明:可以任意转载,转载时请务必标明文章原始出处和作者信息 .*/                                                        互联网大鳄 ...

最新文章

  1. C# WinForm 通过URL取得服务器上的某图片文件到本地
  2. myeclipse:web项目不能显示Web App Libraries
  3. Linux的进程间通信-消息队列
  4. 前端调试工具Browser-sync(Windows)安装指南
  5. 将AX寄存器中的16位数据分成4组(从高到低),每组4位,然后把这4组数作为数当中的低4位分别放在AL,BL,CL,DL中。
  6. 三种强大的物体识别算法——SIFT/SURF、haar特征、广义hough变换的特性对比分析
  7. Redis Cluster集群的搭建与实践
  8. js html转盘点名,原生JS实现简易随机点名功能
  9. 6.凤凰架构:构建可靠的大型分布式系统 --- 分布式共识
  10. xgboost与LightGBM的区别
  11. 蚁人2:黄蜂女现身全集百度云资源
  12. Urgent VS Relex
  13. Jenkins集成GitHub
  14. vue-3d-model vue 实现3D 图像显示
  15. 《构建之法》读书笔记——第1章 概论
  16. 基于JPEG压缩编码的数据压缩算法的研究与实现(转)
  17. 雪都阿勒泰滑雪爱好者首选地
  18. HCSA-08 威胁防护介绍、ARP防护、网络攻击防护、病毒过滤、入侵防御、边界流量过滤
  19. 塔罗牌怎么引流?如何利用塔罗牌引流?做塔罗牌如何引流?
  20. php程序主入口,主:(index.php)入口

热门文章

  1. Windows驱动匹配详解
  2. 使用FileSystemWatcher 实现对指定路径下指定文件的监视
  3. 进阶课程㊳丨Apollo平台的快速入门
  4. TIME_WAIT状态总结
  5. 搜索旋转排序数组(JAVA 二分查找)
  6. Java --- 堆空间大小设置与OutOfMemoryError(OOM)
  7. 风辰的CUDA入门系列教程
  8. MySQL连接数据库命令
  9. 「机箱」酷冷至尊 海王星II(RC-631)
  10. java 录音和播放_java 播放录音