专栏首页本体研究院本体技术视点 | 我该怎么信赖“朋友的朋友”?

本体技术视点 | 我该怎么信赖“朋友的朋友”?

01

引言

上次我们讲到 Celo 中采用了<地址,公钥>关系映射的方式,方便用户进行转账等操作。具体来说,Celo 把用户的电话号码和公钥进行了绑定。而电话号码和公钥的绑定关系可以用来帮助用户确定与之交互的其它用户是否值得信赖。

图 | 网络

用户可以根据一些条件,比如是否是自己好友、是否有转过帐等其它特定方法对他通讯录里面的人进行信任评价或评分,这些信任评价都在用户本地,即用户手机上等进行维护,并不会分享给其它人。这就事实上形成了一个去中心化的信任网络,每一个用户自己维护对其他用户的信赖度。之所以说这个信任网络去中心化,是因为不存在对整个信任网络的单点存储,也没有单点可以访问整个信任网络。我们今天就来简单聊聊 Celo 的去中心化聚合声誉评价体系。

02

声誉评价算法 EigenTrust

Celo 的去中心化聚合声誉评价体系是在 EigenTrust 的基础上改进得来。EigenTrust 是 P2P 系统中颇负盛名的信任度算法之一。它利用信任传递的关系,根据节点的历史交互行为,由节点之间的相互信赖度的本地声誉值计算出全局声誉值。我们稍微具体地介绍一下该算法。

(EigenTrust:https://nlp.stanford.edu/pubs/eigentrust.pdf

在 P2P 数据分享系统中,每个节点可以对与之交互的节点进行评价。

比如:

若一个节点 i 从另一节点 j 获取到了有效的数据,可以对其赋予正面评价(+1);

反之,若获取到非法数据,则可给予负面评价(-1)。

评价记录在节点 i 本地。在多次进行数据交互后,节点 i 对节点 j 的评价 s_{ij} 可以简单的定义为多次交互的评价之和。为了将评价同步到整个网络中,往往需要依赖于中心化的可信服务来收集并统计节点声誉。

EigenTrust 是一个对本地声誉评价进行聚合的算法。该算法假设节点对向其提供有效数据的节点具有较高信任度,进而信任其声明的本地评价。该算法的基本思路是:一个节点的全局声誉值为该节点从其他节点获得的评价值的加权,权重则为做出评价的节点自身的声誉。本地评价会经过归一化处理,防止恶意节点提高非法的高评价。评价聚合时,节点首先向其信任的朋友节点询问关于其他节点的信任度,即节点 i 对节点 k 的信任度为其所有朋友节点 {j} 对 k 的评价的加权。这种传递方式可以递归进行下去,即节点 i 询问其朋友节点的朋友节点。

图 | 网络

当递归深度较大时,i 将能够得到关于整个网络的信任度。每个节点仅需计算与其交互的节点的信任度,并发布到网络中。所有节点报告的信任度即可聚合成为全局声誉。

03

Celo 的改进思路

EigenTrust 的信任传递是靠将本地声誉得分传送给其它节点实现。为了防止恶意节点提供虚假数据,在 EigenTrust 中每个节点的信任度由其他节点(评分管理节点)计算,且计算节点不止一个,以作为比对。在社交支付场景中,这样的一个解决方案可能不是特别理想,因为这要求交易信息的共享。因此,在 Celo 中,这种计算还是由节点本身来做,但会采用零知识证明等方式附加一个正确计算的证明。

图 | 网络

另外考虑到恶意行为的影响,EigenTrust 中预设了一组受信节点(pre-trusted peers)。在 Celo 中,将不会采用这样的全局受信节点方式,而是采用个性化的方式,即每个节点站在自己的视角上为其它节点计算个性化全局声誉评分,这可以通过用户将自己通讯录中的可信联系人作为 pre-trusted peers,在此基础上运行传统 EigenTrust 算法来实现。

04

结 语

在区块链中,去中心化声誉评价体系在交易、去中心化数据交换和去中心化身份应用等有着重要作用。在本体信任生态中,声誉体系也是网络中的一个重要组成部分,将本体信任网络和本体业务应用结合起来。

图 | 网络

一方面,通过受信者声誉评价为应用验证者导流,提升应用对于用户交互体验的设计,更好地服务用户;另一方面,用户使用不同的业务应用,应用作为施信者为受信者用户提供信任背书,良好的声誉可以帮助用户得到更多更好的服务,受信者通过持续地积累本体生态中的声誉,促进整个生态应用的用户质量良性发展。


我们将持续关注 Celo,也希望和对 Celo 技术特点感兴趣的小伙伴进行交流。

* 参考链接:https://celo.org/

本文分享自微信公众号 - 本体研究院(ontologyresearch),作者:0x6d78

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Facebook主导的Libra所基于的共识HotStuff是如何工作的?

    共识协议 HotStuff 由 VMware Research 等团队于2018年3月提出,其预印版经过五轮迭代修改,并将于并行与分布计算领域著名的国际会议 P...

    本体Ontology
  • 本体战略投资bloXroute,携手助力零层网络扩容及区块链分发网络构建

    2019年10月,我们宣布与 bloXroute 就部署零层网络扩容解决方案展开合作,共同构建区块链分发网络(BDN)。今年,我们对 bloXroute 进行了...

    本体Ontology
  • 本体节点现已登陆Libra协会创始成员Bison Trails的基础设施平台

    近日,本体北斗节点基础设施已集成至专注于 IaaS (Infrastructure as a Service)服务的 Bison Trails 平台。这一战略性...

    本体Ontology
  • Redis源码学习之压缩列表

    压缩列表是列表对象、哈希对象和有序集合对象的底层实现之一。以列表对象为例,当列表节点都是比较小的整数或者比较短的字符串的时候,Redis就会选择压缩列表来做底层...

    里奥搬砖
  • 深入学习Redis:集群

    在前面的文章中,已经介绍了Redis的几种高可用技术:持久化、主从复制和哨兵,但这些方案仍有不足,其中最主要的问题是存储能力受单机限制,以及无法实现写操作的负载...

    beifengtz
  • 后端开发之Redis必会概念

    RDB持久化是指将当前进程中的数据生成快照的方式保存到硬盘中。保存的文件名后缀时rdb。Redis重新启动的时候会读取快照中的文件进行恢复数据;

    陌无崖
  • 【GCN】图卷积网络入门(一)

    图是一种数据结构,可对一组对象(节点)及其关系(边)进行建模。近年来,由于图的强大表达能力,利用机器学习来分析图的研究受到越来越多的关注,即图可以用作包括社会科...

    yuquanle
  • 离散存储【链表】

        1、n个节点离散分布     2、彼此通过指针相连     3、每个节点只有一个前驱节点,每个节点只有一个后续节点     4、首节点没有前驱节点...

    Sky_Mao
  • Redis6.0主从、哨兵、集群搭建和原理

    由于单机Redis存储能力受单机限制,以及无法实现读写操作的负载均衡和读写分离,无法保证高可用。本篇就来介绍 Redis 集群搭建方案及实现原理,实现Redis...

    王知无
  • Redis Cluster 原理分析

    继上次分享的Redis服务平台化之路,这次着重来分享下Redis Cluster浅析,欢迎大家互相多交流学习。

    Lucien168

扫码关注云+社区

领取腾讯云代金券