通过计算,信任一个人、一台机器或万物(Beings)并不是天方夜谭。1992年,Marsh开创性的对信任建立了形式化的数学模型,并提出"计算信任"(Computational Trust)概念后,信任的量化研究自此迅速发展。如今,计算信任已经广泛应用于互联网、电子商务和人工智能领域。计算信任不仅支撑着每年数万亿美元的数字交易,而且我们的生活、工作以及社会的正常运行也离不开它。
信任如此重要,但"什么是信任",至今尚不存在一个统一的定义。主要原因是,信任是一个高度抽象和结构复杂的概念,在不同领域的定义不甚相同。尽管如此,自出现人类社会以来,关于信任还是有一个基本的、重要的共识:信任是一切价值交换(交易)的基础。
显而易见,这个共识是和经济活动紧密相关的。一笔交易达成前,交易双方首先需要信任彼此。双方都非常清楚,他们之间信任的强度、深度这些模糊的、定性的度量,以及一些诸如凭证、证明等可定量的度量,不仅决定了交易能否达成,也决定了交易的速度、规模以及可持续性。
本文仅对数字经济活动中,交易双方如何通过计算建立信任的微观基础做一些分析,并对其中涉及的隐私、数据安全问题做一些初步讨论。
一、计算信任的基础原理解析
首先从几个方面对计算信任的基础原理,以及一些基本概念进行解析。
1.1 信任的形式化公理或假设
信任通常指的是信任主体(Truster)和信任客体(Trustee)之间的关系,示意图如下:
为了构建信任模型,提出和逐步形成了六条形式化公理:
公理1:信任是关系。信任,是和之间的一个关系,信任主体是,信任客体是。
信任客体可以是个人、组织、政府或物(Things)。
公理2:信任是非对称的。信任,不等于信任。
公理3:信任是独立的。对的信任,独立于对信任。反之亦然。
公理4:信任是在一定语境(Context)下的。在语境下信任,但在语境下可以不信任。这里的语境是关于的一些属性。
公理5:信任度量是偏序、有界的。在语境,存在一个信任度量。当达到一个临界值时(信任下确界),就信任。但这个度量是有极限的,记为。
信任度量是偏序集,指的是假设对有三个信任度量,如果, 那么。
即便在相同语境下,对不同客体的的信任度量临界值以及极限都可能是不同的。
公理6:在一定的有界条件下,信任是可以传递的。如果在语境下信任,并且在同一语境下信任,那么可以在语境下有界的信任。
1.2 计算信任的简化模型
A通过计算信任,是指对的数据进行计算,并得出信任度量的过程。这些数据构成的集合,称之为数据空间( 记为 )。每一个交易主体都拥有自己的数据空间。例如A的记为,B的记为。
考虑到数据可获得性、时效以及隐私保护等限制条件,对是否信任进行决策,实际上是对的数据空间的某个子集进行计算后的信任度量满足对信任的条件。同样的,对的信任,指的是基于对的数据空间的某个子集进行某种计算的信任度量满足对信任的条件。为简化,我们将上述信任度量计算记为。根据公理2,如果将对的信任度量计算记为,对的信任度量计算记为,则。示意图如下:
可以看到,对数据空间的子集进行的信任度量计算,是的函数,称为计算信任函数,记为。信任度量记为,即。对的信任度量记为。
需要明确的是,计算信任是一个过程,完成一次计算信任,可能需要多个计算信任函数,即。为简化,本文假设一次计算信任仅使用一个计算信任函数,即。
由公理5,信任必须满足一个最小度量------信任下确界(记为 )。即,要信任,那么对的信任度量,必须大于其信任下确界:
-------- (式3.1.1)
如果和要达成交易,根据公理,则需要同时满足两个条件:
信任下确界的最简单例子是支付中,收款方(Alice)如何信任付款方(Bob)能够足额支付。在此情况下,Alice对Bob的数据空间子集()就是Bob的账户金额。而Bob需要支付给Alice的金额就是Alice对Bob的信任下确界。通过计算,Alice如果得到 ,则Alice就可以信任Bob。即便,Alice和Bob完全是陌生人,也从来没有交易历史,彼此双方都没有任何关于对方的信息,通过计算信任,也能实现交易。上述过程示意图如下:
上述简单的支付语境下的计算信任例子,是单变量情形。借助数学工具可以推广到多变量,以及更复杂的高维数据空间的情形。在这些情形下,计算信任函数将变得复杂,计算的复杂度会成倍增加。
于此同时,考虑数据空间动态、时变的特性,计算信任还存在信任记忆、信任管理、信任塌缩(奇点)等问题。限于篇幅,本文不展开描述。
1.3 信任度量空间和计算信任函数空间
最早的、也是最简单的信任度量是布尔型的,即要么信任,要么不信任。的信任度量空间可以表示为。引入语境后,则可能的情形是,在语境下信任,但在语境下,不信任。此时,信任度量空间延拓为离散向量空间。
更一般的情形下,每个语境下的度量值为离散或连续的。这样就可以分别计算不同语境下的信任度量值。
很显然,如果考虑将语境扩展到足够大,以及时间动态变化的因素,那么信任度量空间可以近似的看作维流形。自此,不能简单的说是不是信任,而是需要更精确、更细致的描述:例如,需要更细致的说明在哪些语境下、在什么时间段信任。反之亦然。
综上,可以将对的计算信任过程简单的形式化表述如下:
上述每个计算信任函数及其对应的度量可以看作计算信任泛函的分量,即对进行偏微分得到的值。当某个分量的信任度量满足式3.1,称为"偏信"。
完全信任,是指每个信任度量分量都满足式3.13.1。不完全信任,则指部分信任度量分量满足式3.1。
大多数情况下,要满足完全信任是非常困难的事情。计算信任揭示出一般信任关系的本质是"偏信",而不是"全信"。
计算信任函数和对应的信任度量,大致可以分为两大类:
数值型;
语义型。
例如,前文所述的支付的例子的计算信任函数和度量,是数值型。但在实际场景中,还有大量需要语义计算的场景。很多基于客体行为的计算,大多数都是语义型。很多实际的场景,采用的都是语义和数值混合的算法来进行。
1.4 数据空间的结构
可以看出,计算信任本质是信任主体对客体数据的处理来建立信任关系。考虑到数据的特性,我们可以把信任客体数据空间简单的划分为三层结构:
私密数据层:包含个人隐私,或其他数据安全要求的私密数据。
可用数据层:在获得信任客体或其他第三方数据所有人授权同意下,可以用于计算信任的数据。
公开/公共数据层:公开或公共数据。
给定一个信任客体的数据空间,微观层次看,计算信任是一个动态的过程:首先从最外层的公开/公共数据层,搜索足够的数据子集,进行计算,如果满足(式3.1)即终止;如不满足,一方面在此层继续搜索其他数据子集,另一方面可以进一步搜索可使用数据层的数据子集,直到满足(式3.1)为止。示意图如下:
搜索的路径即需要先验知识,也需要耗费时间。因此,计算信任必须在一定的约束条件下完成。例如,必须在一个有限时间、有限的数据搜索空间里完成计算。
由于数据隐私保护、安全等约束条件,数据空间的访问存在很多的限制。由此,计算信任并不能做到全局最优,而是有界最优。
随着隐私计算技术的成熟,信任主体对客体的隐私数据的处理成为可能。由于增加了计算信任的可用、高价值数据子集,信任度量满足条件的概率也增加。但需要明确的是,不是隐私透露的越多,信任就会越强。相反,由于某些隐私的披露,反而造成信任度量的急剧减小,形成所谓的信任奇点。信任与隐私是一种非线形、动态的关系。
除此之外,考虑到信任客体数据不充分、不完备、不可信等情景,除了在计算信任函数上持续改进之外,巧妙的采用信任微观基础结构的组合/嵌套也是可行的办法。
三种信任微观基础结构分别是点对点、信任中介、信任三角。对基础信任结构的组合、嵌套,本质上是扩展、重构、优化信任客体的数据空间几何特性,从而实现计算信任的目的。
1.5 信任微观结构和信任几何
信任的微观结构指的是信任主体、客体之间信任的结构。主要有三种:点对点(Peer-to-Peer)、信任中介(Truse Intermediary)和信任三角(Trust Triangle)。
点对点结构(记为),指的是、交易双方,根据公理2,3,4,在一定的语境下彼此信任,不依赖任何第三方。
信任中介结构(记为),指的是交易双方、都信任一个第三方(信任中介),根据公理6,而建立彼此的信任。
信任三角结构(记为),指的是交易一方通过向另一方(验证方)展示由其信任的发行人发行的凭证,从而信任的某些声明是可以信任的。例如,一笔交易需要的年龄必须大于18岁。那么就可以通过提交身份证、驾驶证,这些信任的发行人发行的凭证进行验证即可。这种结构是根据公理1~6。
上述三种微观结构,是信任的原子级结构。实际上,交易双方信任的结构,不是靠上述某种单一的结构而建构,而往往是上述三种基础结构的组合或嵌套。
例如,由点对点结构的简单串联,形成的信任链结构。更为复杂的结构,比如考察一笔房地产按揭贷款交易,贷款人与银行之间的信任结构很显然就需要上述三种结果的嵌套来建构。按揭贷款的信任结构解析示意图如下:
宏观上,整个社会由数量庞大的主体构成的复杂社会网络中,信任网络是浸入(Ebedding)其中的子网。信任网络是高度动态演化和时变的。但无论信任网络多么复杂,都可以被分解为这三个基础微观结构。这三个基础微观结构就像乐高积木块一样,通过组合、嵌套以及其他方式,可以建构更复杂、更多层级的信任结构。
为什么有些情况需要采用复杂的信任结构,前面已经提到,本质上是扩展、重构、优化信任客体的数据空间,从而实现可计算信任的目的。可以推测,构造合理、精巧的信任结构,就像一个建筑,能够使得信任关系更稳固、可靠。反之,不合理的信任结构,能够让信任关系不稳定、可靠,很容易的瓦解、破碎。
如何构建最优的信任结构,即信任几何(Trust Gemotry)的课题研究还处于非常早期阶段。信任网络是信任几何早期研究的主要方向之一。
信任网络是指在一个区域/系统中,所有主体的信任关系构成的网络。信任网络可以形式化的表示为一个有向网络。网络中的每个节点代表一个主体,每条边代表信任关系,边的权重代表信任的程度。
网络中,主体数量很多,主体之间有直接信任关系的数量很少,表示信任网络的矩阵往往非常稀疏。但可以通过计算,使得原本没有信任关系的主体之间,通过信任网络中信任关系的传递来建立一定的信任关系,从而生成新的信任关系。
如下图所示,根据A与B以及A与D的直接相互信任关系(假设信任下确界均为0.5),可以推断B与D存在潜在的间接信任关系:。
信任几何另一个研究的主要课题是如何将浸入(embedding)在社会关系网络中的信任网络表示出来。由于每个主体的信任度量是私密、不可见的,但社会关系网络往往可以通过公开的数据可以获得,例如社交网络app,邮件列表,公司组织架构图等等。从公开的社会关系网络数据把主体之间的信任网络识别、挖掘,最终表达出来是非常有价值的。目前,很多推荐类算法通过识别标签的方法,标记主体的属性(语境),并进行聚类后,就可以表示出一些信任网络,例如兴趣群、主题群等等,进行推荐和广告精准投放,增加交易的机会。
1.6 信任欺骗和信任攻击
一般的,信任主体对于在任意语境下进行的计算信任函数是独立于信任客体的,但计算出来的信任度量是由信任客体的数据空间输入决定。由此可以得出一个重要的推论,即信任主体在某个语境下的信任下确界是独立于信任客体的。即,对于信任客体而言,信任下确界是先验的。信任度量的这个性质决定了信任欺骗存在的必然性。
信任欺骗指的是信任客体通过各种方法可以预测、获取信任主体在某个语境下的信任下确界后,通过伪造数据空间的输入数据,而实现"计算信任"的过程。信任欺骗是数据空间缺乏有效治理、不可信计算环境和缺乏可信数据来源造成的必然结果。
因此,尽管人们开发来很多计算信任模型,但在过去的十几年中,依然存在大量的欺诈交易、以及各种信任欺骗的行为,造成的损失也非常巨大。
区块链技术为解决计算信任的数据空间治理和可信数据源提供了可行的解决方案。计算信任模型结合区块链技术,能够很大程度的降低信任欺骗,提高欺骗的成本。但依然还没有完全杜绝。
信任攻击是指伪装成信任客体,通过大量的信任度量计算请求,从而通过机器学习等方法,逼近信任主体计算的过程。将信任主体信任度量计算"白盒化"。由此,就获得与近似的后,信任攻击就可以通过策略构建出信任攻击策略,实现其攻击目的。
防范信任欺骗、抵御信任攻击,除了在算法上进行改进和优化,还可以通过构建有效的信任结构来实现。构建有效的计算信任结构,简单的说就是通过组合、嵌套信任基础结构,形成复杂的计算信任几何结构,从而增加欺骗者、攻击者的难度。因为在这些复杂的结构前,欺骗者、攻击者需要同时对多个节点和计算信任函数进行欺骗、攻击,显然会增加难度和时间,从而达到防范和抵御的作用。
构建有效、安全的计算信任结构是信任工程(Trust Engineering)需要实现的目标。限于篇幅,本文不对此展开叙述。
二、计算信任面临的主要问题和解决方案
计算信任面临的主要问题是在不确定的环境下,对不确定的客体进行信任计算。不确定的环境,主要指不可信的计算环境、不可信的数据空间以及不可信的软件代码。不确定的客体,主要指的是客体数据空间的可访问性、数据质量等。
目前的解决方案是增加可信计算环境、可信数据集,并采用计算智能合约来控制和管理计算信任函数。
我们通过一个示例方案来说明。示例方案如下:
即,将计算信任函数运行在可信计算环境(TEE)中。于此同时,对信任客体的数据空间,采用可信数据集(Orcale)架构来治理和使用其中的子集。并同时,对计算信任过程用计算智能合约来管控。
这样的方案,是将计算信任的全过程置入可信(Trusted)大环境下,即计算的核心三要素均可信:数据可信、算法可信和算力可信。这是非常理想的情况,实际情况很难满足这些条件。因此,需要信任工程来构建一个整体的、全局的计算信任环境。
信任工程是一个繁杂且实践性很强的工作。还没有形成一个通用的理论和方法。但可以用一个简单的示例来说明其基本原理。
我们假设数据空间中有三个数据子集,其中一个数据子集是可信数据子集;而另外两个数据子集不是可信数据子集。选择的计算信任函数是,分别计算三个数据子集的信任度量为:
但。即分别计算三个数据子集,无法让信任。
但通过信任工程的方法,通过构造一个新的信任结构,从而使得数据子集之间形成一些关联(覆盖)。从而得到。而得到:
, 从而信任。
结论:
信任是一切经济活动的前提和基础。计算信任构建了区别于传统社会信任的新范式。通过计算信任彼此,不仅变得可行,而且已经成为数字世界的基础范式。由可信计算、隐私计算和区块链等技术构建起来的计算信任设施(信任机器),将能够显著的降低交易成本、提高交易效率,能够帮助每个人、机构以前所未有的速度、效率扩大其经济活动的疆域。
编辑:黄继彦
校对:林亦霖