掌桥专利:专业的专利平台
掌桥专利
首页

使用智能合约的区块链交易安全性

文献发布时间:2023-06-19 10:46:31



本申请要求于2019年7月19日递交的第16/516,948号美国专利申请的优先权,其要求于2018年7月20日递交的第62/700,989号美国临时申请案的权益。上述每个申请的内容以引入的方式并入本文。

技术领域

本发明涉及在区块链交易中提供防范欺诈的保护措施。

背景技术

加密货币(例如,比特币)可以为假名/匿名加密货币交易者提供交换媒介。加密货币可以在根据区块链协议操作的所有计算设备的去中心化网络中进行操作。去中心化网络可以控制包括不同区块链地址之间的交易列表的区块链交易分类账。去中心化网络中的交易可以通过密码进行验证。交易者可以使用钱包应用程序与去中心化网络交互。在一些情况下,交易者可以经由数字货币交易所与去中心化网络交互。

发明内容

在一个示例中,一种方法包括在节点服务器处采集区块链网络中区块链地址的区块链数据。区块链数据包括区块链地址的多笔交易。该方法还包括基于区块链地址的区块链数据,生成区块链地址的本地节点信任分数。本地节点信任分数指示区块链地址涉及欺诈活动的可能性。该方法还包括从多个远程服务器接收区块链地址的多个其他本地信任分数,并基于本地节点信任分数和多个其他本地信任分数确定共识信任分数。共识信任分数指示节点服务器和多个远程服务器之间的本地节点信任分数的共识值。该方法还包括监视区块链网络中区块链分类账中的指定区块链地址的合约信任请求,并向区块链网络发送合约信任请求中指定的区块链地址的共识信任分数。

在一个示例中,系统包括一个或多个存储器组件以及一个或多个处理单元。存储器组件用于存储区块链网络中区块链地址的区块链数据。区块链数据包括区块链地址的多笔交易。一个或多个处理单元用于执行使一个或多个处理单元基于区块链地址的区块链数据生成区块链地址的本地节点信任分数的计算机可读指令。本地节点信任分数指示区块链地址涉及欺诈活动的可能性。一个或多个处理单元用于从多个远程服务器接收区块链地址的多个其他本地信任分数。一个或多个处理单元用于基于本地节点信任分数和多个其他本地信任分数,确定共识信任分数。共识信任分数指示本地节点信任分数的共识值。一个或多个处理单元用于监视区块链网络中区块链分类账中的指定区块链地址的合约信任请求,并向区块链网络发送合约信任请求中指定的区块链地址的共识信任分数。

附图说明

根据具体实施方式和附图,将更加充分地理解本发明。

图1A至1E示出了与加密货币交易者计算设备、中间交易系统和自动交易系统通信的示例性信任网络;

图2示出了描述示例性信任网络的操作的方法;

图3示出了计算本地信任分数和共识信任分数的示例性节点的功能框图;

图4A示出了计算共识信任分数的示例性节点的功能框图;

图4B示出了用于计算共识信任分数的示例性方法的流程图;

图5示出了计算信誉值的示例性节点的功能框图;

图6示出了实现信任网络的代币制的示例性节点的功能框图;

图7示出了描述奖励协议的操作的示例性方法;

图8A至8B示出了用于请求和查看信任报告的图形用户界面(graphical userinterface,简称GUI);

图9示出了用于付款保险实现的信任网络的功能框图;

图10A示出了抵押代币和共识信任分数成本的示例性关系;

图10B示出了与不同级别的节点相关联的示例性服务;

图10C示出了节点数量、团数量、地址重叠与节点将在其控制下获得单个地址的概率之间的示例性关系;

图10D示出了示例性代币抵押金额和节点数量;

图11示出了示例性信任分数确定模块和本地信任数据存储器的功能框图;

图12示出了描述示例性信任分数确定模块的操作的方法;

图13示出了数据采集与处理模块的功能框图;

图14示出了区块链数据采集与处理模块的功能框图;

图15A至15B示出了区块链图形数据结构的生成与处理;

图16示出了评分特征生成模块与评分模型生成模块的功能框图;

图17示出了分数生成模块的操作的功能框图;

图18示出了包括执行智能合约的加密货币区块链网络的环境;

图19示出了描述图18的环境的操作的方法;

图20示出了发送者用户设备、中间交易系统、区块链网络与信任网络/系统之间的交互的功能框图;

图21A至21B示出了可以确定区块链地址的信任分数的示例性信任系统和示例性信任节点;

图22A至22B示出了用户设备上的示例性发送者接口;

图23示出了描述中间交易系统的操作的示例性方法;

图24示出了描述信任网络/系统的操作的示例性方法。

在附图中,可以重复使用附图标记来标识相似和/或相同的元件。

具体实施方式

尽管加密货币经历了增长,但由于缺乏对付款人的保护,加密货币作为交换媒介的主流效用可能会受到更多限制。例如,发送给欺诈方的加密货币资金可能不容易追回。本发明的信任网络100为加密货币交易者生成共识信任分数。共识信任分数可以为加密货币交易者提供防范欺诈的保护措施,同时保持用户匿名性和自主性。共识信任分数可以提供基线信任级别,在该信任级别上可以建立其它安全层,包括加密货币付款保险、保护和赔偿。

信任网络100为加密货币交易者生成共识信任分数。例如,对于基于区块链技术的加密货币,信任网络100可以生成在区块链上交互的不同区块链地址的共识信任分数。信任网络100可以基于从各种数据源(例如,欺诈/保管数据)检索的数据以及加密货币所基于的区块链数据来确定共识信任分数。信任分数(例如,共识信任分数)可以是指示区块链地址涉及欺诈活动的可能性的数字(例如,十进制或整数)。换句话说,信任分数可以表示区块链地址涉及欺诈活动的倾向。

加密货币交易者可以在参与在区块链上交易资金(例如,加密货币区块链代币)的加密货币区块链交易之前,从信任网络100请求共识信任分数。通常,加密货币交易者可以使用共识信任分数来确认他们正在交易的区块链地址是否可信。例如,打算向接收方汇款的交易者可以请求接收方的共识信任分数。在本示例中,交易者可以使用预期接收者的共识信任分数,以便评估预期接收者是欺诈方的可能性。

交易者可以使用共识信任分数来采取各种行动。例如,交易者可以使用共识信任分数来确定是继续还是取消区块链交易。再如,交易者(例如,数字交易所)可以使用共识信任分数来确定是否为交易投保。再如,组织可以使用共识信任分数来决定是否接受来自区块链地址的资金。因此,本文中描述的共识信任分数可以帮助保护交易者免受欺诈或接收欺诈资金的侵害。需要注意的是,共识信任分数会告知交易者任何加密货币地址可以被信任的程度,而无需交易者知晓该地址背后的一方的身份。因此,共识信任分数可以保持交易者匿名性。

图1A示出了经由通信网络108与加密货币交易者计算设备102、104、106(以下称为“交易者计算设备”)通信的示例性信任网络100。网络108可以包括各种类型的计算机网络,例如局域网(local area network,简称LAN)、广域网(wide area network,简称WAN)和/或互联网。信任网络100可以包括多个信任节点100-1、100-2至100-N(本文中称为“节点”)。节点100中的每一个可以包括实现本文描述的各种协议的一个或多个节点计算设备(例如,一个或多个服务器计算设备)。

节点100可以采集与加密货币区块链地址相关联的数据,并基于采集的数据来确定各种信任分数。基于采集的数据在节点处本地确定的信任分数可以称为“本地节点信任分数”或“本地信任分数”。节点100可以用于在彼此之间传送它们的本地信任分数,使得每个节点可以了解与其它节点相关联的本地信任分数。在节点获取多个本地信任分数之后,节点可以基于多个本地信任分数来确定候选共识信任分数(以下称为“候选信任分数”)。一个或多个节点可以基于多个候选信任分数来确定共识信任分数。共识信任分数可以指示多个节点之间的本地信任分数的共识值。加密货币地址的共识信任分数可以写入分布式共识分类账中,并且稍后从信任网络100中检索(例如,响应于信任请求)。

本文描述的信任分数(例如,本地、候选或共识)可以各种格式计算/提供。在一些实施方式中,信任分数可以是具有最小值和最大值的整数值。例如,信任分数可以在1-7的范围内,其中信任分数“1”指示区块链地址可能具有欺诈性。在本示例中,信任分数“7”可以指示区块链地址不太可能具有欺诈性(即,非常可信)。在一些实施方式中,信任分数可以是十进制值。例如,信任分数可以是指示欺诈可能性的十进制值(例如,在0-100%范围内的百分比值)。在一些实施方式中,信任分数可以在从最大负值到最大正值(例如,-1.00到1.00)的范围内,其中较大负值指示地址更可能具有欺诈性。在本示例中,较大正值可以指示地址更可能是可信的。客户可以选择他们喜欢的信任分数格式。

本文描述的分布式信任网络100在多个节点上分布信任分数计算工作负载,以产生抵抗故障/断电和攻击的弹性网络。在一些实施方式中,信任网络100可以包括由允许信任网络100分布计算工作负载的代币(例如,UTOKEN)调节的内置交易自主性。此外,在整个网络中分布信任计算可以提供对旨在破坏网络的欺诈/阴谋的抵抗。

交易者计算设备102、104、106包括可以与信任网络100交互的计算设备。示例性交易者计算设备可以包括用户交易者设备102,例如智能电话、平板电脑、膝上型计算机、台式计算机或其它计算设备。用户交易者设备102可以包括操作系统110和多个应用程序,例如Web浏览器应用程序112和附加应用程序114。

用户交易者设备102可以包括交易应用程序116,该交易应用程序可以与加密货币区块链网络118(以下称为“加密货币网络118”)进行交易,以执行区块链交易。交易应用程序116还可以从信任网络100请求共识信任分数。一些示例性交易应用程序可以称为“钱包应用程序”。在一些情况下,交易应用程序可以称为“去中心化钱包应用程序”,前提是该去中心化钱包应用程序不会与集中式服务器侧组件交互。

附加示例性交易者设备可以包含在中间交易系统104中。中间交易系统104(例如,一个或多个服务器计算设备)可以与加密货币网络118、用户交易者设备102和信任网络100通信。中间交易系统104可以代表用户交易者设备102执行加密货币交易。此外,中间交易系统104还可以代表用户交易者设备102从信任网络100获得共识信任分数。在一些实施方式中,中间交易系统104可以(例如,经由基于Web的界面和/或安装的交易应用程序116)为用户交易者设备102提供用户界面。示例性中间交易系统104可以包括数字货币交易所(例如,位于加利福尼亚州旧金山的Coinbase,Inc.)。在一些实施方式中,交易所可能是去中心化的。

附加示例性交易者设备可以包含在自动交易系统106中。自动交易系统106(例如,一个或多个服务器计算设备)可以与信任网络100和加密货币网络118通信。示例性自动交易系统106可以包括付款系统,例如进行重复付款的付款系统或网关(例如,位于加利福尼亚州旧金山的Stripe,Inc.或Plaid Inc.)。

交易者设备102、104、106可以参与加密货币网络118中的交易。加密货币网络118可以由计算设备的网络形成,每个计算设备根据加密货币区块链协议120操作。加密货币网络118可以控制加密货币区块链交易分类账122(以下称为“加密货币分类账122”)。加密货币分类账122包括不同加密货币区块链地址之间的交易列表。此外,加密货币分类账122还可以包括附加数据,例如交易元数据。示例性加密货币网络118可以包括但不限于比特币、比特币现金、以太币和莱特币。尽管在图1A中示出了单个加密货币网络,但信任网络100可以使用本文描述的技术提供多个不同加密货币区块链网络上地址的共识信任分数。

加密货币分类账122可以包括识别加密货币网络118中交易者的加密货币区块链地址。交易者可以指控制加密货币区块链地址的交易的一方。例如,交易者可以包括个人或组织,例如企业、非政府组织或去中心化的自治组织。交易者可以控制单个加密货币网络中的一个或多个加密货币区块链地址。此外,交易者还可以具有不同加密货币网络中的一个或多个加密货币区块链地址。

交易者可以发起区块链交易,其中交易者的区块链地址向/从另一区块链地址汇款/收款。向另一区块链地址汇款的区块链地址在本文中可以称为“区块链发送者地址”或“发送者地址”。收款的区块链地址在本文中可以称为“区块链接收者地址”或“接收者地址”。

交易者设备102、104、106可以向信任网络100发送信任请求,并从信任网络100接收信任响应(例如,参见图1B至1D)。信任请求可以指示交易者想要其信任报告(例如,一个或多个共识信任分数)的一个或多个加密货币区块链地址。在一些实施方式中,信任请求可以包括请求付款,例如区块链代币和/或法定货币(例如,美元)。请求付款可以作为用于提供共识信任分数的付款分布到信任网络100中的节点。

在一个示例中,交易者设备可以向信任网络100发送信任请求,并从信任网络接收信任响应(例如,信任报告)。交易者设备和信任网络100可以经由应用程序编程接口(application programming interface,简称API)进行通信。信任请求可以包括交易的另一方的交易者的加密货币区块链地址。例如,来自发送者的信任请求可以请求接收者区块链地址的信任报告。发送者可以基于接收的信任报告做出决定,例如是否参与接收者的加密货币区块链交易。

图1B至1D示出了不同交易者设备/系统102、104、106、加密货币网络118与信任网络100之间的交互。在图1B中,用户交易者设备102包括与加密货币网络118进行交易的交易应用程序116(例如,钱包应用程序)。交易应用116包括与信任网络100连接的信任请求模块126。例如,信任请求模块126可以生成信任请求130(例如,Web请求)。此外,信任请求模块126还可以从信任网络100接收信任响应132。在一些实施方式中,信任请求模块126可以生成图形用户界面(graphical user interface,简称GUI),用户可以与其交互以便发送信任请求130并查看信任报告132。

在图1C中,交易者设备102可以经由中间交易系统104在加密货币网络118中进行交易。例如,在图1C中,交易者设备102可以包括与中间交易系统104交互的Web浏览器应用程序112。中间交易系统104(例如,Web服务器)可以向Web浏览器112提供用于在加密货币网络118中进行交易的界面。此外,中间交易系统104还可以为用户提供界面(例如,基于Web的界面),以便在参与区块链交易之前选择用户是否想要信任报告。

在图1D中,自动交易系统106控制加密货币网络118中的交易。此外,自动交易系统106还可以从信任网络100请求信任报告。在一些实施方式中,由自动交易系统106参与的交易可以取决于由信任网络100报告的共识信任分数。例如,如果信任分数指示地址不太可能进行欺诈活动,自动交易系统106可以进行交易。

尽管本文描述的设备/系统可以进行信任请求130,以便在进行加密货币区块链交易之前接收共识信任分数,但在一些实施方式中,其它设备/系统可以在其它情况下请求共识信任分数。例如,交易所合规官员可能出于合规原因而请求共识信任分数。

参照图1E,在一些实施方式中,信任网络100可以实现欺诈警报协议,该欺诈警报协议可以自动告知网络参与者(例如,欺诈警报请求设备)潜在的欺诈性加密货币区块链地址。例如,节点可以包括欺诈警报模块134,其用于根据可由用户配置的一组欺诈警报标准提供欺诈警报136。在一个示例中,欺诈警报模块134可以监视一个或多个加密货币地址,并且在任何地址的共识信任分数降至(例如,用户设置的)可信阈值水平以下的情况下提供欺诈警报136。在另一示例中,如果监视的信任分数的变化超出阈值百分比,可以发送欺诈警报136。在一些实施方式中,可以使用智能合约来实现欺诈警报协议,该智能合约监视共识信任分数并根据用户可以定义的一组业务规则来提供警报。在一些实施方式中,可能需要节点来抵押一定数量的UTOKEN才有资格接收欺诈警报。

在一些实施方式中,节点可以经由状态通道网络连接。当加密货币交易者发起信任请求和付款(例如,UTOKEN)时,可以传播该请求直至其到达具有请求的共识信任分数的节点。该节点可以将共识信任分数返回给加密货币交易者。然后,可以根据奖励协议准许付款。

示例性交易者可以包括但不限于保管交易所、非保管交易所、保管钱包、非保管钱包、新代币开发者和销售者、去中心化的应用程序、支持区块链的商家、节点操作者、算法供应商和工作证明安全供应商。

保管交易所可以指能够在代表其客户持有加密资产的同时交换加密资产的实体(例如,公司)。保管交易所可以使用共识信任分数来评估存放加密资产是否是欺骗性的,从而帮助确保其服务不被用于洗钱。此外,保管交易所可以接收警报,以监视它们保管的区块链地址。非保管交易所可以指能够在不代表代币购买者或销售者持有加密资产的情况下交换加密资产的实体(例如,公司)。非保管交易所可以使用共识信任分数来评估对方的可信性。

保管钱包可以指代表客户持有私钥并使他们能够发送和接收加密资产的实体(例如,公司)。保管钱包可以使用共识信任分数来评估正在存放的加密资产是否是欺骗性的,并接收欺诈警报。此外,它们还可以使用共识信任分数来保护其用户,防止用户向欺骗性地址发送加密资产。非保管钱包可以指使软件允许个人在个人设备上本地持有和交易加密资产的实体(例如,公司)。非保管钱包可以使用共识信任分数来保护其用户,防止用户向欺诈性地址发送加密资产和接收欺诈资金。

新代币开发者和销售者可以指创建软件的实体(例如,公司或个人),该软件在由对等网络运行时创建新的去中心化的代币。此外,该公司还可能会向感兴趣的购买者出售一些初始发行的代币。这些交易者可以执行首次硬币发行(initial coin offering,简称ICO)。新代币开发者和销售者可以使用共识信任分数来确保用于购买其代币的资金不具有欺诈性,从而确保以合规方式出售代币。

去中心化的应用程序可以指在去中心化网络中运行的应用程序。这些去中心化的应用程序可以包括管理资金的应用程序、涉及资金但需要另一部分的应用程序,以及包括投票和治理系统的其它应用程序。除保护参与者免遭欺诈之外,去中心化的应用程序还可以将共识信任分数用于涉及评估对方信任的任何活动。

支持区块链的商家可以指接受加密资产(例如,安全代币)形式的付款的实体(例如,公司)。支持区块链的商家可以使用共识信任分数来确保用作付款的资金不具有欺诈性。此外,它们还可以接收关于它们交互的地址的警报。

再次参照图1A,该环境包括信任网络100可以用来确定区块链地址是否具有欺诈性的数据源124。本文描述的示例性数据源124包括欺诈数据源和保管数据源。信任网络100可以基于数据源124中包含的数据以及加密货币分类账122中包含的数据来确定本地信任分数。

图2示出了描述图1A至1D中示出的环境的操作的示例性方法。例如,图2中示出的方法示出了单个加密货币区块链地址的本地信任分数、候选信任分数和共识信任分数的确定。图2中示出的方法可以执行多次,以确定多个加密货币区块链地址的本地信任分数、候选信任分数和共识信任分数。

在框200中,节点100采集并处理与加密货币地址相关联的欺诈和保管数据124。在框202中,节点100采集并处理与加密货币地址相关联的加密货币区块链数据。在框204中,节点100中的每一个基于在框200至202中采集的数据来确定加密货币地址的本地信任分数。

在框206中,节点100彼此传送加密货币地址的本地信任分数。在传送本地信任分数之后,每个节点可以包括由其它节点计算的多个本地信任分数。在框208中,节点100基于本地信任分数来确定加密货币地址的候选信任分数。在框210中,节点100基于加密货币地址的候选信任分数来确定加密货币地址的共识信任分数。在框212中,节点100可以更新分布式共识信任分数分类账,以包含计算的共识信任分数。在框214至216中,信任网络100从请求设备接收对加密货币地址的信任请求130,并向请求设备发送包含共识信任分数的信任响应132。

图3示出了本地信任分数的生成。图4A至4B示出了共识信任分数的生成。除生成信任分数之外,信任网络100还可以实现结合图5至7所述的附加特征。在一些实施方式中,信任网络100可以实现信誉协议,该信誉协议计算并存储指示与节点相关联的各种参数的信誉值,例如节点执行的工作量(例如,参见图5)。

在一些实施方式中,信任网络100可以实现作为信任网络100中的交换媒介操作的代币制。本文描述的代币制使用称为“UTOKEN”的代币。每个节点可以实现钱包模块(例如,参见图6),该钱包模块可以根据在信任网络中实现的协议来发送、接收、抵押和烧录UTOKEN。

在一些实施方式中,信任网络100可以实现跟踪节点的各种参数(例如,工作量)并使用UTOKEN奖励节点的奖励协议(例如,参见图6至7)。此外,信任网络100还可以实现确定节点功能并惩罚某些节点行为(例如,产生欺诈数据)的抵押协议。

信任网络100中的不同节点可以用于实现信任网络100的不同特征。例如,不同的节点可以用于实现本文描述的不同的协议或协议的部分。在一些实施方式中,抵押协议可以确定节点可以实现的特征。节点中包含的模块和数据存储可以表示由节点实现的协议和由节点存储的数据。每个节点可以包含一个或多个计算设备。在一些实施方式中,多个节点可以在单个计算设备上运行。

图3示出了包括信任分数确定模块300和本地信任数据存储器302的示例性节点100-1。信任分数确定模块300采集并处理本文描述的各种数据,例如欺诈和保管数据124以及区块链数据。本地信任数据存储器302可以存储用于多个加密货币地址的数据。

与单个加密货币地址相关联的数据在本附图中示出为区块链地址记录304。本地信任数据存储器302可以包括多个此类区块链地址记录,每个记录用于不同的加密货币地址。每个区块链地址记录304可以包括唯一地标识记录304的区块链地址306。此外,每个区块链地址记录304还可以包括与区块链地址306相关联的本地信任分数308。区块链地址记录304可以包括区块链地址随时间计算的本地信任分数的历史。

本文描述的区块链地址记录304表示存储在本地信任数据存储器302中的数据。节点100-1可以包括用于实现数据的各种不同的数据结构。因此,区块链地址记录304可以使用不同于本文中明确说明的一个或多个数据结构来实现。

在图3中,信任分数确定模块300采集并处理各种类型的数据,例如保管数据和欺诈数据124。示例性欺诈和保管数据可以包括提供关于加密货币地址的欺诈证据和/或指示拥有/控制加密货币地址的一方的数据。信任分数确定模块300可以将与加密货币地址相关的保管和欺诈数据存储在区块链地址记录304中。此外,信任分数确定模块300还可以基于采集的欺诈数据生成欺诈标签,其指示加密货币地址是否可能具有欺诈性。

信任分数确定模块300采集并处理区块链数据(例如,加密货币分类账122)。信任分数确定模块300可以将与加密货币地址相关的原始和处理后的区块链数据存储在区块链地址记录304中。示例性加密货币区链数据可以包括多个不同加密货币地址之间的多个区块链交易的数据。

信任分数确定模块300基于采集的区块链数据和欺诈/保管数据来确定加密货币地址的本地信任分数。在一些实施方式中,信任分数确定模块300可以基于区块链数据生成区块链图形数据结构(例如,参见图15B)。此外,信任分数确定模块300还可以处理该图形,以确定可用于生成本地信任分数的一个或多个基于图形的值(例如,重要性值)。

在一些实施方式中(例如,参见图16),信任分数确定模块300可以生成加密货币地址的评分特征,并且基于评分特征和其它数据(例如,标记的欺诈数据)生成一个或多个评分模型。在这些实施方式中,信任分数确定模块300可以使用一个或多个评分模型和与区块链地址相关联的评分特征生成区块链地址的一个或多个本地信任分数。图11至17示出了信任分数确定模块300和本地信任数据存储器302的更详细的实现。

多个节点可以彼此通信,以便获取加密货币地址的共识信任分数。每个节点可以通过节点标识符(node identifier,简称ID)进行标识。在一些实施方式中,在节点开始时生成公钥/私钥对。在这些实施方式中,节点公钥可以用作节点ID,尽管也可以使用其它标识符。

在不同的节点可以访问相同/相似的加密货币区链数据和欺诈/保管数据的情况下,不同的节点可以计算相同/相似的本地信任分数。在一些情况下,节点之间的本地信任分数可能不同。例如,在节点可以访问不同的欺诈和保管数据的情况下,本地信任分数可能不同。在特定示例中,位于不同管辖区(例如,国家)中的节点可以访问在其它管辖区中被阻止的数据源。在另一特定示例中,一些节点可以不同的速率访问信息。

节点100实现确定加密货币地址的共识信任分数的信任共识协议。共识信任分数可以存储在分布到信任网络100中节点的共识信任分数分类账400中。图4A示出了包括共识确定模块310和信任共识数据存储器312(以下称为“共识数据存储器312”)的示例性节点100-1。信任网络100可以包括多个节点,这些节点包括结合图4A至4B描述的功能。共识确定模块310可以与其它节点的其它共识确定模块(例如,经由通信模块310-1)通信,以确定共识信任分数。共识数据存储器312包括共识信任分数和共识信任分数分类账400中的其它数据。

共识确定模块310可以与其它节点(例如,其它节点的共识模块)通信。例如,每个节点可以通过传出信任共识消息402将其本地信任分数传送给其它节点。此外,每个节点可以通过传入信任共识消息404从其它节点接收本地信任分数。示例性信任共识消息可以包括节点ID、节点IP地址、加密货币区块链地址和相关联的本地信任分数。在一些情况下,信任共识消息可以指示本地信任分数尚未计算或正在计算,而不是指示相关联的本地信任分数。

共识确定模块310可以基于从其它节点(例如,使用列表构建模块310-2)接收的本地信任分数来生成本地信任分数列表406(“信任分数列表406”)。信任分数列表406可以包括节点ID的列表和加密货币地址的相应本地信任分数。共识确定模块310可以生成每个加密货币地址的本地信任分数列表406。每个节点可以将其信任分数列表传送给其它节点。例如,节点可以发送/接收包括信任分数列表的信任分数消息。节点可以基于其它接收的信任分数列表来更新本地信任分数列表。

信任网络100中的每个节点可以用于与不同节点集合通信。换句话说,信任网络100中的节点可以用于与非重叠节点集合通信。由于不同的节点可以与其它节点的不同集合通信,最终,彼此传送本地信任分数的每个节点可以知晓其它节点的本地信任分数计算结果。在这种情况下,不同的节点可以包括相似的信任分数列表。在一些示例中,信任分数列表中的信任分数可以在几分之一秒或几秒内收敛。

加密货币地址的信任分数列表406可以包括本地信任分数的频率(计数)分布。在一些情况下,信任分数列表406可以包括紧密分组内的大量本地信任分数。在一些情况下,信任分数列表406可以包括数值范围超出主分组的离群值信任分数。例如,离群值可能是由于用于产生本地信任分数的信息的变化而引起的。再如,一个或多个离群值可能是由正在产生/分布欺诈性信任分数的节点而引起。如本文所述,产生/分布欺诈性信任分数的节点可能会被追究责任(例如,通过烧录抵押资金)。

共识确定模块310基于信任分数列表406中包含的本地信任分数(例如,使用候选确定模块310-3)来确定候选信任分数。在一些实施方式中,共识确定模块310可以包括触发候选信任分数确定的“候选确定标准”。示例性候选确定标准可以包括存在阈值数目的节点和/或阈值分数的节点的本地信任分数。例如,共识确定模块310可以响应于存在信任分数列表中包含的阈值数目/分数的本地信任分数来确定候选信任分数。

在一些实施方式中,共识确定模块310可以响应于信任分数列表中的信任分数的分布模式来确定候选信任分数。例如,当信任分数集中在分布中(例如,紧密集中在单个分布中)时,可以触发共识确定模块310来确定候选信任分数。如果信任分数分布包括离群值,共识确定模块310可以继续与其它节点传送本地信任分数。在特定示例中,当分布方差小于阈值方差时,可以触发共识确定模块310来确定候选信任分数。在存在多个分布模式的情况下,共识确定模块310可以确定模式是否有效或者模式是否由欺诈性信任分数而引起。类似地,如果分布方差太大(例如,大于阈值),共识确定模块310可以确定该方差是否由计算变化和/或欺诈行为而引起。共识确定模块310可以在确定候选信任分数之前滤除(即,去除)可归因于欺诈行为的信任分数。

共识确定模块310可以使用各种技术来确定候选信任分数。在一些实施方式中,共识确定模块310可以在确定候选信任分数之前从信任分数列表中去除离群值本地信任分数。共识确定模块310可以基于信任分数列表406中的剩余本地信任分数的平均值(例如,混合平均值)来确定候选信任分数。例如,共识确定模块310可以通过使用基于节点计数的本地信任分数的统计加权平均值来确定候选信任分数。

节点可以彼此传送候选信任分数。此外,节点还可以存储候选信任分数408。一组共识确定模块可以基于多个候选信任分数来确定加密货币地址的共识信任分数408。在一些实施方式中,共识确定模块可以监视候选信任分数以确定候选信任分数是否收敛于相似信任分数。共识确定模块可以用于响应于与候选信任分数相关联的一个或多个共识触发器来确定共识信任分数。例如,共识确定模块可以用于在大于阈值数目/分数的候选信任分数一致(例如,在阈值方差内)的情况下,确定共识信任分数。

在一些实施方式中,共识确定模块可以执行与候选信任分数相关联的验证操作(例如,使用验证模块310-4)。例如,共识确定模块可以对候选信任分数进行错误检查。错误检查操作可以包括验证是否针对候选分数实际发生了本地信任分数的传送,或者是否发生了导致候选分数的阴谋。在一些实施方式中,共识确定模块可以查询参与本地信任分数传送和候选分数确定的多个节点,以确定彼此通信的节点。在一些实施方式中,节点可以选择领导节点来执行错误检查操作并确定节点是否一致。

在验证候选信任分数之后,共识确定模块310可以计算共识信任分数。在一些实施方式中,共识确定模块可以基于候选信任分数的平均值(例如,混合平均值)来确定共识信任分数。例如,共识确定模块可以通过使用基于计数的候选信任分数的统计加权平均值来确定共识信任分数。然后,共识确定模块310可以使用共识信任分数来更新共识分类账400。然后,共识确定模块310可以将更新的分类账分发给其它节点(例如,使用分类账更新模块310-5)。在一些实施方式中,尽管不参与生成共识分类账400的节点可以接收共识分类账400的更新版本,但只有节点子集可以将信任分数和其它数据写入共识分类账400。

共识分类账400包括不同加密货币地址随时间的共识信任分数。共识分类账400中包含的共识信任分数可以被提供给信任分数请求者。此外,共识分类账400还可以包括指示共识信任分数写入分类账400的时间的计时数据。对于确定的共识信任分数,共识分类账可以包括与共识信任分数相关联的验证信息,例如用于共识信任分数和经验证的节点的候选信任分数。存储共识信任分数的验证信息可使节点能够检查共识信任分数的验证方式。

节点100可以用于生成新加密货币地址的新信任分数,并随时间更新信任分数。例如,信任分数确定模块可以用于生成/更新加密货币地址的本地信任分数。再如,共识确定模块可以用于随时间生成/更新候选信任分数和共识信任分数。更新频率可以通过共识协议来设置。在一些情况下,与加密货币地址相关联的数据可以随时间改变。在一些情况下,加密货币区块链中包含的数据可以随时间改变。信任分数确定模块和共识确定模块可以用于响应于数据中的此类变化而生成新的信任分数。

在一些实施方式中,共识确定模块可以将新的本地信任分数和/或更新的本地信任分数传送给其它节点。例如,如果更新导致本地信任分数变化大于阈值,共识确定模块可以将本地信任分数更新传送给其它节点。本地信任分数更新可能会导致候选信任分数变化。反过来,候选信任分数变化可能会导致共识信任分数和共识分类账变化。通过这种方式,共识分类账400可以反映多个加密货币地址随时间的共识信任分数的历史。

关于信任分数的计算,不同的节点可以具有不同级别的功能。不同的功能可以基于由节点抵押的值(例如,UTOKEN)金额,其中较大抵押额可以授权更多功能。在一些实施方式中,所有节点可以获授权购买信任分数,并且包括共识分类账的副本。在这些实施方式中,节点子集可以用于计算本地信任分数、候选信任分数和共识信任分数。此外,该节点子集或另一子集可以用于将共识信任分数写入共识分类账。

图4B示出了描述从示例性节点100-1的角度计算共识信任分数的示例性方法。图4B中示出的方法可以执行多次,以确定多个加密货币区块链地址的本地信任分数、候选信任分数和共识信任分数。

在框410至412中,信任分数确定模块310采集并处理欺诈和保管数据124以及加密货币区块链数据。在框414中,信任分数确定模块310确定加密货币地址的本地信任分数。在框416中,共识确定模块310从其它节点接收本地信任分数。在框418中,共识确定模块310向其它节点发送本地信任分数。

在框420中,共识确定模块310确定是否计算候选信任分数(例如,基于候选确定标准)。如果不满足候选确定标准,共识确定模块310可以继续与框416-418中的其它节点传送本地信任分数。如果共识确定模块310确定满足候选确定标准,在框422中,共识确定模块310可以基于信任分数列表406中的本地信任分数来确定候选信任分数。在框424中,共识确定模块310可以基于多个候选信任分数来确定共识信任分数。在框426中,共识确定模块310可以更新共识信任分类账400以包含共识信任分数。

参照图5,信任网络100可以实现信誉协议,其中多个节点中的每一个都可以计算一个或多个信誉值。节点的信誉值可以指示与该节点相关联的各种参数,例如该节点在信任分数计算和分发期间执行的工作量、执行的工作质量(例如,准确度)以及节点操作一致性(例如,节点正常运行时间)。信誉值可以由信任网络100中的其它协议使用。例如,节点可以基于与一个或多个节点相关联的信誉值来确定候选和/或共识信任分数。再如,可以根据其信誉值奖励和/或惩罚节点。

节点100-1包括确定节点的信誉值的信誉确定模块500。在一些实施方式中,节点100可以向其它节点发送信誉消息504-1、504-2。信誉消息504可以包括信誉数据,例如与一个或多个节点相关联的信誉值。通过这种方式,每个节点可以接收多个其它节点的信誉值。在特定示例中,每个节点可以用于与其它节点的集合传送信誉数据。在该特定示例中,每个节点可以直接从该节点集中的任何节点请求信誉数据。此外,每个节点还可以从该节点集中的任何节点请求多个其它节点的信誉数据。

该节点包括存储多个节点(例如,信任网络中的节点子集)的信誉数据的信誉数据存储器502。信誉数据可以存储在信誉分类账506中,该信誉分类账包含多个节点ID以及相关联的信誉值。此外,信誉数据存储器502还可以存储附加信息508,例如用于生成信誉值的数据以及与生成共识信任分数相关联的数据。

信誉确定模块500可以确定每个节点的多个不同的信誉值。在一些实施方式中,信誉确定模块500可以确定节点关于计算信任分数而执行的工作量的一个或多个工作信誉值。例如,信誉确定模块500可以基于计算的本地信任分数的数目、计算的候选信任分数的数目以及与计算共识信任分数相关的工作量来确定一个或多个信誉值。一个或多个工作信誉值也可以基于由该节点执行的通信量(例如,信任共识消息)。

此外,信誉确定模块500还可以基于节点执行的计算的质量来确定节点的多个质量信誉值。例如,质量信誉值可以基于由节点产生的多个信任分数离群值以及产生信任分数的速度。此外,信誉确定模块500还可以基于共识信任分数向请求者的分布和信任分数作为欺诈警报的分布来确定节点的多个分布信誉值。

此外,信誉确定模块500还可以基于诸如节点带宽、节点处理能力、节点吞吐量和节点可用性之类的各种节点参数来确定多个节点性能信誉值。与节点可用性相关联的示例性信誉值可以基于正常运行时间值、平均无故障时间(mean time between failure,简称MTBF)值和/或平均修复时间(mean time to repair,简称MTTR)值。

信誉确定模块500可以基于存储在节点处的数据量(例如,历史数据)和数据存储时间量来确定一个或多个数据存储信誉值。此外,信誉确定模块500还可以确定指示该节点已包含(例如,在线)在信任网络100中的时间量的一个或多个信誉值。信誉确定模块500可以基于节点抵押的金额来确定一个或多个抵押信誉值。此外,信誉确定模块500可以确定一个或多个离群值信誉值,所述一个或多个离群值信誉值指示与节点相关联的多个离群值以及离群值是否被视为具有欺诈性还是拥有证据支持。

在一些实施方式中,信誉确定模块500可以计算一个或多个复合信誉值,每个复合信誉值可以是本文描述的任何单独信誉值的函数。例如,复合信誉值可以是一个或多个组件信誉值的加权计算值。

除信誉分类账之外,信誉数据存储器502还可以存储其它信息。例如,信誉数据存储器502可以存储历史信任分数数据或用于确定信誉值的其它数据。在一个示例中,信誉数据存储器502可以存储每个信任分数的历史以及对每个节点的信任分数的贡献。在更具体的示例中,历史数据可以包括参与共识计算的节点的数量、在计算中使用的分数的范围以及共识分数所基于的其它因素。

在一些实施方式中,共识确定模块310可以基于一个或多个信誉值来确定候选信任分数和/或共识信任分数。例如,共识确定模块310可以基于与节点相关联的信誉来确定信任分数是否是离群值。在一些实施方式中,共识确定模块310可以在验证操作期间考虑信誉值。

参照图6,在一些实施方式中,信任网络100可以实现作为信任网络100中的交换媒介操作的代币制。例如,信任网络节点可以包括实现实用代币协议602的实用代币模块600。实用代币协议602可以由代币(例如,本地实用代币)支持。实用代币可以分配一个名称(例如,杜撰的名称)。例如,实用代币在本文中称为“UTOKEN”,尽管也可以使用其它名称。

信任网络100包括实用代币区块链分类账606,其可以存储在跨节点的实用代币数据存储器604中。实用代币分类账606可以是集成到信任网络100中的公共交易分类账的版本。实用代币分类账606可以包括不同实用代币区块链地址之间的UTOKEN交易列表。例如,实用代币分类账606可以指示与节点100相关联的各种交易,例如购买UTOKEN、购买信任分数、向奖励协议支付、根据奖励协议支付的奖励以及节点抵押的资金量。此外,实用代币分类账606还可以包括附加数据,例如交易元数据。

UTOKEN可以在信任网络100中以多种方式使用。在一些实施方式中,UTOKEN可以用作访问信任分数和欺诈警报的付款。在一些实施方式中,UTOKEN可以用于奖励节点以执行工作。在一些实施方式中,节点可以抵押UTOKEN,以便实现信任网络100内的附加功能。尽管本文将UTOKEN描述为信任网络100中的交换媒介,但也可以将其它付款类型用作信任网络100中的交换媒介。例如,可以使用其它类型的付款/代币来获取信任分数、获取欺诈报告、支付奖励和抵押。在一些实施方式中,实用代币模块600可以实现信任网络100的智能合约。601处示出了在实用代币协议实现期间节点之间的通信。

最初,信任网络100可以包括设定数量的UTOKEN。例如,最初可能有1,000,000,000个UTOKEN。UTOKEN最初可获准和/或出售给节点。在一些实施方式中,UTOKEN的供应可以通货紧缩的方式扩展,这可以跟踪经济指标,包括节点总数、交易量、抵押金额以及UTOKEN代币的分解。

每个节点可以包括钱包模块614,该钱包模块可以用于在实用代币区块链606上执行交易。钱包模块614可以实现各种功能。在一些实施方式中,钱包模块614可以用于购买信任分数。如本文所述,可以将对信任分数的付款投入奖励协议。在一些实施方式中,钱包模块614可以用于发送/接收UTOKEN(例如,与其它节点一起)。在一些实施方式中,钱包模块614可以用于抵押UTOKEN。在一些实施方式中,钱包模块614可以锁定UTOKEN,从而向信任网络100指示,锁定的UTOKEN在解锁之前无法发送。在一些实施方式中,钱包模块614可以用于烧录UTOKEN。烧录UTOKEN可以防止烧录的UTOKEN在将来用于任何功能。

信任网络100可以实现奖励协议,该奖励协议接收各种活动的付款,例如购买信任分数和购买欺诈警报。信任网络100可以基于各种因素向节点(例如,节点钱包)支付UTOKEN。节点包括实现奖励协议的奖励模块608和奖励数据存储器610。例如,奖励模块608可以接收UTOKEN付款,并向节点支付UTOKEN作为奖励付款(例如,根据执行的工作)。奖励数据存储器610可以存储奖励分类账616,该奖励分类账指示接收到奖励付款的节点以及与奖励付款相关联的相应因素(例如,执行的工作)。例如,奖励分类账616可以提供对奖励协议接收的UTOKEN的数量、奖励的计算以及响应于计算而向不同节点支付的UTOKEN的数量的核算。与奖励协议相关联的UTOKEN付款可以根据实用代币分类账606中的一个或多个奖励地址进行存储。

奖励协议可以从各种来源接收UTOKEN。例如,奖励协议可以接收过去用于购买信任分数报告的UTOKEN。再如,奖励协议可以接收用于购买欺诈警报的UTOKEN。

奖励协议可以基于与节点相关联的各种因素向节点支付奖励。在一些实施方式中,奖励协议可以基于与节点相关联的信誉值向节点支付奖励。奖励协议可以检查一个或多个信誉分类账506以确定与节点相关联的信誉值。奖励支出计算可以是包括一个或多个信誉值的多因素计算。在一些情况下,奖励计算和付款可以定期进行。

在一些实施方式中,奖励协议可以基于一个或多个工作信誉值来支付奖励,所述一个或多个工作信誉值指示节点关于计算/传送信任分数而执行的工作量。奖励协议可以向关于计算和传送信任分数而执行更多工作的节点支付较大部分的奖励。在一些实施方式中,奖励协议可以基于节点执行的计算的质量来向节点支付基于一个或多个质量/分布信誉值的奖励。奖励协议可以向产生离群值信任分数的节点支付较小部分的奖励。

在一些实施方式中,奖励协议可以基于共识信任分数向请求者的分布和信任分数作为欺诈警报的分布来向节点支付基于一个或多个分布信誉值的奖励。奖励协议可以向分布较大数量的信任分数的节点支付较大部分的奖励。在一些实施方式中,奖励协议可以基于一个或多个性能信誉值来支付奖励。例如,奖励协议可以向具有更大带宽、处理能力、吞吐量和可用性的节点支付更多奖励。

在一些实施方式中,奖励协议可以基于一个或多个数据存储信誉值来支付奖励。例如,奖励协议可以向存储更多数据的节点支付更多奖励。在一些实施方式中,奖励协议可以基于一个或多个信誉值来支付奖励,所述一个或多个信誉值指示该节点已包含(例如,在线)在信任网络100中的时间量。例如,奖励协议可以向在信任网络100中已在线更长时间的节点支付更多奖励。在一些实施方式中,奖励协议可以基于一个或多个抵押信誉值来支付奖励。例如,奖励协议可以向已抵押更多UTOKEN的节点支付更多奖励。

在一些实施方式中,算法供应商可能会因提供对生态系统贡献算法的节点而获得UTOKEN奖励。在一些实施方式中,可以使用工作证明共识算法来验证UTOKEN分类账的工作证明安全供应商可以接收UTOKEN作为区块奖励来激励它们参与生态系统。603处示出了在奖励协议实现期间节点之间的通信。

图7示出了描述奖励协议的操作的示例性方法。在框700中,奖励协议接收对信任分数和欺诈警告的付款。在框702中,奖励协议检索多个节点的信誉值。在框704中,奖励协议基于与节点相关联的信誉值来确定对多个节点的奖励支出。在框706中,奖励协议根据确定的支出向节点付款。在框708中,奖励协议更新奖励分类账616,以反映付款计算(例如,基于信誉值)和付款金额。奖励协议可以定期重复图7中示出的方法,从而可以定期奖励节点对信任网络100的相对贡献。

信任网络100可以实现其中每个节点可以抵押一定数量的UTOKEN的抵押协议(例如,使用抵押模块612)。抵押的UTOKEN的数量可以确定提供给节点的功能级别。抵押的UTOKEN可以反映在实用代币分类账606中。

抵押的UTOKEN可以处于信任网络100的临时控制之下。例如,在一些实施方式中,奖励协议可以通过去除抵押的UTOKEN来惩罚节点。在一些实施方式中,抵押功能可以实现为智能合约,其中违反合约导致放弃(例如,烧录)一些抵押的UTOKEN。在这些实施方式中,智能合约的履行导致UTOKEN被退还给抵押方。在一些实施方式中,如果离群值分数被确定为具有欺诈性,奖励协议可以因节点产生离群值信任分数而惩罚该节点。

在一些实施方式中,当网络参与者抵押一定数量的UTOKEN(例如,所需数量)时,可以形成节点。节点抵押的UTOKEN的数量可以确定节点可以实现的功能数量。例如,抵押更多UTOKEN可使节点能够实现更多数量的网络功能。在这些情况下,可以为节点分配不同级别的功能。较低级别的节点可以具有限于请求信任分数的功能。较高级别的节点可以参与计算本地信任分数、候选信任分数和共识信任分数。可能会存在可以在信任网络100中执行任何数量的服务的任何数量的节点级别。如果信任网络惩罚一节点并烧录该节点的抵押,该节点可能会降级并失去相应的功能。605处示出了在抵押协议实现期间节点之间的通信。

在一些实施方式中,需要节点来支付信任分数的成本可以随节点抵押的UTOKEN的数量的增加而降低。在这些情况下,节点抵押的数量越多,获取信任分数所需的UTOKEN越少(例如,通过实时报告)。图10A的表格中描述了抵押的UTOKEN与共识信任分数成本的示例性关系。在一个特定示例中,为了有资格获得折扣,可能需要在一段时间内(例如,至少90天)抵押所述抵押的UTOKEN的数量。

图8A至8B示出了可以由交易应用程序116或中间交易系统104在用户交易者设备102上生成的示例性GUI。示出的GUI可以用于加密货币交易中的发送者。可以假定,图8A至8B中示出的在其中发生区块链交易的加密货币网络使用交易单位“硬币”。GUI的顶部包括指示发送者信息的字段,例如发送者的区块链地址和它们的余额(例如,10个硬币)。此外,GUI的顶部还包括发送者可以在其中指定接收者地址并指示潜在交易的交易金额(例如,5个硬币)的字段。GUI包括“发送硬币”GUI元素,其可以启动发送者与接收者之间的指定交易。

图8A至8B中示出的GUI的下部向发送者提供在参与交易之前从信任网络100获取信任报告的选项。例如,在图8A中,用户可以选择(例如,触摸/点击)“请求信任报告”GUI元素,以向信任网络100发送信任请求。信任请求可以包括接收者地址,如上面的“接收者:”框中所指定的。图8B示出了响应于信任请求而接收的示例性信任报告。

在图8B中,接收的信任报告指示接收者已获得-0.90的信任分数。在这种情况下,可以假定接近-1.00的负值信任分数指示接收者地址可能具有欺诈性。类似地,接近1.00的正值信任分数可以指示接收者地址不太可能具有欺诈性。除-0.90的数值分数之外,信任报告还总结了信任分数数字的含义。具体地,信任报告指示“信任分数指示接收者可能已参与欺诈活动”。此外,GUI还提供发送者可以选择(例如,触摸/点击)以取消指定交易的“取消交易”GUI元素。

在一些实施方式中,可以因发送者请求共识信任分数而向发送者收取费用。在发送者经由交易所进行交易的实施方式中,该交易所可以将UTOKEN投入奖励协议,以检索共识信任分数。在发送者未经由中间交易系统104进行交互的实施方式中,发送者可以从信任网络100购买UTOKEN,以用于获取共识信任分数。

图9示出了其中作为付款保险流程的一部分查询信任网络100的示例。在图9中,用户交易者设备102经由中间交易系统900在加密货币区块链网络118中进行交易。中间交易系统900包括可以从信任网络100检索信任报告的信任请求模块126。此外,中间交易系统900还可以向交易者提供付款保险。

图9中示出的中间交易系统900包括可以确定是否为交易投保的付款保险模块902。中间交易系统900的所有者/操作者和付款保险系统904的所有者/操作者(例如,承保人系统)可以就交易可投保条款达成一致。在一些实施方式中,可以为交易提供付款保险,其中交易区块链地址具有指示欺诈低可能性的信任分数。付款保险系统904可以出于审计目的而采集与交易相关的数据(例如,信任分数、计时等)。

在图9中,交易者设备102最初可以发起与中间交易系统900的交易。响应于发起的交易,中间交易系统900(例如,信任请求模块126)可以检索接收者和/或发送者的信任报告。然后,中间交易系统900可以确定交易是否可投保。例如,付款保险模块902可以确定交易区块链地址是否具有指示欺诈低可能性的信任分数。在一些实施方式中,付款保险模块902可以将共识信任分数与指示欺诈的最大可容忍可能性的信任分数阈值进行比较。在这些实施方式中,如果共识信任分数小于信任分数阈值,付款保险模块902可以指示交易可投保。如果共识信任分数大于欺诈的可容忍水平,付款保险可能会被拒绝。

在一些实施方式中,付款保险模块902可以查询付款保险系统904,以确定交易是否可投保。该查询可以指示交易方的共识信任分数。在这些实施方式中,付款保险系统904可以确定是否为交易投保。然后,付款保险系统904可以告知中间交易系统900交易是否可投保。

信任网络100除在付款保险流程中扮演角色之外,信任网络100还可以在其它财务流程中扮演角色。例如,可以使用由信任网络100生成的信任分数/报告,以便冻结交易和/或追回资金。

信任网络100可以包括任何数量的节点。如本文所述,节点100可以具有不同级别的功能(例如,基于抵押)。节点的级别可以是可变的,并且不同级别的节点可以有资格参与不同的服务。图10B示出了与三个不同级别的节点相关联的示例性服务。

在一些实施方式中,1级节点可以在一段时间(例如,至少90天)内抵押最小数量的UTOKEN(X)。在一些实施方式中,1级节点可以执行所有节点活动。除执行信任分数更新并参与实时报告之外,1级节点可以参与信任分数处理和信任定额,从而收集和验证欺诈和保管证据,以及发送交易者欺诈警报。在一些实施方式中,1级节点可能是最重要的节点。在一些情况下,为了保持信任网络的安全性,应存在最小数量的1级节点(例如,100个1级节点)。去中心化的自治组织(decentralized autonomous organization,简称DAO)可以包括在未满足最小值的情况下运行附加1级节点的任务。

在一些实施方式中,2级节点可以在一段时间(例如,至少90天)内抵押最小数量的UTOKEN(例如,与X/2成比例),以执行信任分数更新并参与信任定额。此外,2级节点可以更新UTOKEN分类账,向区块链添加保管证据,并传送欺诈警报。3级节点可以在一段时间(例如,至少90天)内抵押最小数量的UTOKEN(例如,与X/5成比例),以验证欺诈和保管证据。

信任报告请求可以存储在节点的交易存储池中,用于处理和确定优先级。每个节点级别可以具有单独的交易存储池。例如,在一些实施方式中,3级节点可能不存储报告请求。然而,1级可以存储报告请求(例如,状态通道更新)。在一些实施方式中,参与欺诈和保管验证的节点可以出于这些目的使用单独的存储池。

节点可以因执行服务而获得奖励。例如,节点可以获得与其级别成比例的奖励。当加密货币交易者访问信任分数时,UTOKEN可以在授予的节点之间拆分。此外,当在实用代币区块链中保护区块时,节点可以获得挖矿奖励的百分比(例如,45%)。

节点级别可以具有相应的奖励队列。每个节点接收的挖矿奖励的数量(例如,挖矿奖励的45%)可以与它们抵押的数量(例如,它们的节点级别)成比例。当节点加入信任网络100时,它可能会被放置在队列底部。只要它在信任网络100中主动提供服务(例如,服务证明),它就可以向上排队。当它到达队列顶部(例如,前10%)时,它可以有资格进行奖励选择。在特定示例中,随机选择概率可以是1/n,其中n是队列前10%中节点的数量。

在特定实施方式中,节点服务成本的目标面值可以是1UTOKEN,而节点收益的面值可以是1.2UTOKEN。在该特定实施方式中,共识信任分数价格设置为高于成本,以帮助确保节点奖励。

节点贡献程序可以使节点能够共同开发用于共识信任分数的算法。该程序可以是贡献路径,其使节点能够更好地保证分配信任分数的算法(例如,预测算法)的准确性。该程序可以使网络能够演进,以便最适合区块链上的新用例和开发利用。对贡献者的奖励可以由DAO通过奖金计划控制。

实用代币协议可以由DAO管理。DAO可以使协议能够与新的开发保持一致。参与者可以使用UTOKEN在DAO中投票。DAO可以由初始代币供应的捐赠(例如,5%)提供资金,并获得一定百分比的挖矿奖励(例如,每个挖矿奖励的10%)。如果1级节点的数量低于设定数量(例如,100),DAO可以使用DAO资金来运行最低所需节点。

DAO可以确定协议更新,包括调整供应系数、设定协议更新奖金、改进或调整与合作伙伴的现有集成以及在完成时接受工作。DAO可以分配和奖励奖金计划。如果恶意行为者试图利用信任网络100,可以开放算法的漏洞奖金来解决该特定模式,从而加强整个生态系统。此外,DAO还可以批准对开源bot软件的更改。

DAO可以控制关键系统变量,包括每个节点级别抵押的UTOKEN的数量、抵押周期以及每个抵押金额的加密货币交易者折扣。

适当成比例的节点抵押可以实现健康的代币制。DAO可以调整协议以确保循环中有足够的UTOKEN来促进交易,并且有足够的抵押来促进健康和平衡的代币速度。图10D示出了示例性UTOKEN抵押金额和1级节点数量。例如,该图表可以描述在循环中存在介于35%至50%的UTOKEN时的示例性节点数量。

节点可以基于区块链的有机基本图拓扑将更新信任分数的工作分离成团。然后,可以将团分配给节点进行更新和报告。将图形分离成团可以防止各个节点完全访问所有信任数据。这可以保护代币制的完整性,同时仍然保持完整的图形。在团内可能存在地址重叠。随着节点数量的增加,团重叠可能会增加。

图10C的表格示出了节点数量、团数量、地址重叠与节点将在其控制下获得单个地址的概率之间的示例性关系。在这里,重叠可以与节点的数量成比例。信任网络100的安全性可以与信任网络100中节点的数量成比例。节点获得特定地址的最大概率是5%,每团最少有5个重叠地址。

节点获得单个地址的概率可以通过以下方式确定:P(地址A)=(具有地址A的团的数量)/(团的总数)。

然而,获得对特定地址的控制的概率可能会不同于获得对任何地址的控制的概率。如果参与者只具有一个节点,该参与者无法获得对单个地址的控制,因为其它节点也在其团中包含该地址。

成为节点的高成本可以是网络防止Sybil攻击的一种方式。由于团的放置可能是伪随机的,在一些情况下,恶意行为者必须平均控制51%的节点才能获得对单个地址的51%控制。

下面描述的超几何分布可以用于计算节点随机获得对单个地址或任何地址的51%控制的概率。

N=节点的数量

B=坏节点(希望控制地址)

O=重叠

C=获得51%控制的节点的数量=(O/2)+1

节点越多,UTOKEN的成本越高,发起此类攻击的难度越大。对于具有5个重叠的100个节点的基本情况,获得对地址的51%控制的概率可以是:

当团的数量增加到1,000且重叠增加到50时,概率变为1.7e-10。随着节点和团的数量增加,控制任何单个地址的信任分数的51%攻击的概率接近于0。

图11示出了信任分数确定模块300(以下称为“信任模块300”)和本地信任数据存储器302的示例性详细功能框图。图12示出了描述信任模块300的操作的方法。参照图11,信任模块300采集并处理本文描述的各种数据。处理后的数据可以包含在本地信任数据存储器302中。与单个加密货币区块链地址相关联的数据在本附图中示出为区块链地址记录304。记录数据存储器1110可以包括多个此类区块链地址记录304,每个记录用于不同的区块链地址。每个区块链地址记录304可以包括唯一地标识记录的区块链地址306。本文描述的区块链地址记录304表示存储在本地信任数据存储器302中的数据。本地信任数据存储器302可以包括用于实现数据的各种不同的数据结构。因此,区块链地址记录304可以使用不同于本文中明确说明的一个或多个数据结构来实现。

图12示出了描述图11中示出的信任模块300的操作的方法。在框1200中,数据采集与处理模块1100采集并处理各种类型的数据124,例如保管数据和欺诈数据(参见图13)。数据采集与处理模块1100可以将与区块链地址相关的保管和欺诈数据1118存储在区块链地址记录304中。此外,数据采集与处理模块1100还可以基于采集的欺诈数据生成欺诈标签1120,其指示区块链地址是否可能具有欺诈性。

在框1202中,区块链采集与处理模块1102采集并处理区块链数据(例如,区块链分类账122)(例如,参见图14)。区块链采集与处理模块1102可以将与区块链地址相关的原始和处理后的区块链数据1122存储在区块链地址记录304中。在框1204中,图形生成与处理模块1104基于区块链数据生成区块链图形数据结构(例如,参见图15A至15B)。区块链图形数据结构可以存储在图形数据存储器1112中。此外,图形生成与处理模块1104还可以处理该图形,以确定可用于生成本地信任分数的一个或多个基于图形的值1124(例如,重要性值)。

在框1206中,特征生成模块1106生成用于区块链地址的评分特征1126(例如,参见图16)。在框1208中,评分模型生成模块1108基于评分特征和其它数据(例如,标记的欺诈数据)生成一个或多个评分模型。一个或多个评分模型可以存储在评分模型数据存储器1114中。在框1210中,分数生成模块1116使用一个或多个评分模型和与区块链地址相关联的评分特征生成区块链地址的一个或多个本地信任分数308(例如,参见图17)。与共识信任分数的请求和响应相关的数据可以存储为区块链地址记录304的请求数据1128。

现在,结合图13至15A和图16至17描述信任模块300和本地信任数据存储器302的详细示例。为了说明起见,在附图中省略了各种模块和数据存储器。例如,省略了各种模块和数据存储器,以集中于与示出的模块和数据存储器相关联的功能。

图13示出了欺诈和保管数据源的数据采集与处理。图14示出了区块链数据的采集与处理。图15A至15B示出了区块链图形数据结构的生成与处理。图16示出了评分特征生成与评分模型生成。图17示出了使用区块链地址的评分模型与评分特征生成区块链地址的本地信任分数。

参照图13,数据采集与处理模块1100包括从欺诈和保管数据源124采集数据的数据采集模块1100-1。此外,数据采集与处理模块1100还包括处理采集的数据的数据处理模块1100-2。原始和处理后的数据1118可以存储在记录数据存储器1110中。数据采集模块1100-1可以多种方式采集数据。在一些实施方式中,数据采集模块1100-1可以采集精选数据,例如由合作伙伴/客户提供的精选/购买数据。在一些情况下,数据可以是用户经同行评议的结构化数据。

在一些实施方式中,数据采集模块1100-1可以用于自动采集数据(例如,爬行/抓取网站)。例如,数据采集模块1100-1可以用于进行目标数据采集,例如采集特定社交媒体账户的数据。再如,数据采集模块1100-1可以执行更通用的数据采集,例如更通用的网站爬行/抓取。

数据采集模块1100-1可以从保管数据源124-1采集保管数据。保管数据可以指示拥有/控制区块链地址(例如,密钥)的一方。可以保管区块链地址的示例性方可以包括但不限于交易所、钱包和银行。在一些实施方式中,保管源124-1可以提供保管数据。

在一些实施方式中,信任模块300可以实现保管人特定信任分数生成。例如,信任模块300可以基于与区块链地址相关联的保管人来选择特定评分模型。在一些实施方式中,信任模块300可以实现区块链地址的客户/保管人特定报告(例如,基于与区块链地址相关联的保管人)。例如,可以针对特定保管人以特定方式格式化信任报告。

数据采集模块1100-1从各种欺诈数据源124-2采集可以提供欺诈证据的数据。信任模块300可以基于欺诈数据来确定区块链地址的欺诈可能性。例如,信任模块300可以基于欺诈数据将区块链地址标记为欺诈。随后,信任模块300可以基于标记的区块链地址生成评分特征和评分模型。

在一些实施方式中,信任模块300可以用于采集指示与区块链地址相关联的欺诈活动的数据库和列表。在一个示例中,欺诈数据源124-2可以包括欺诈信息数据库,例如第三方欺诈信息数据库和/或客户提供的欺诈信息数据库。数据库可以由公共实体(例如,政府观察名单)和/或私有实体(例如,公司生成的观察名单)提供。

在一些示例中,可以黑名单的形式提供欺诈信息数据库,该黑名单包括已被标识为已参与欺诈的区块链地址的列表。在该示例中,数据采集模块1100可以采集公共黑名单、购买黑名单和/或从客户接收黑名单。在一些情况下,黑名单可能已由受信方(例如,专家)社区进行了同行评议。在一些实施方式中,如果地址包含在黑名单中,数据处理模块1100-2可以将地址标记为欺诈。在其它实施方式中,黑名单中存在区块链地址可以用作评分特征,用于确定列入黑名单的区块链地址是否可能具有欺诈性。

在一些实施方式中,数据采集模块1100-1可以用于从目标位置采集欺诈数据,例如由Web统一资源定位符(uniform resource locator,简称URL)和/或用户名(例如,特定社交媒体账户)指定的互联网中的位置。在一些实施方式中,可以提供数据采集模块1100-1可以监视欺诈活动的位置(例如,WebURL)。例如,客户可以向与特定区块链地址相关联的社交媒体页面提供Web地址。在该示例中,如果Web地址的Web内容中出现不同于所指定区块链地址的区块链地址,数据处理模块1100-2可以标识欺诈行为。在另一示例中,如果存在首次硬币发行(initial coin offering,简称ICO)的已知贡献地址,可以检测欺诈性地尝试获取资金(例如,钓鱼)的账户和区块链地址。信任网络100可以告知用户欺诈性地址并使用本文描述的欺诈活动证据。

尽管数据采集模块1100-1可以用于从目标位置采集欺诈数据,但在一些实施方式中,数据采集模块1100-1通常可以爬行和抓取其它数据源(例如,社交媒体站点)以采集欺诈数据和其它数据。在这些示例中,数据处理模块1100-2可以基于跨社交媒体平台的行为来标识欺诈性区块链地址,例如从多个社交媒体用户请求资金的欺诈、直接向其它用户请求资金的新账户以及虚假的首次硬币发行欺诈。

在一些实施方式中,信任模块300(例如,数据处理模块1100-2)可以将区块链地址标记为欺诈(例如,在1120处)。例如,数据处理模块1100-2可以基于欺诈数据将区块链地址标记为欺诈。在一特定实例中,如果区块链地址包含在一个或多个黑名单中,数据处理模块1100-2可以将区块链地址标记为欺诈。如果区块链地址未标记为欺诈,区块链地址的欺诈状态可能未知。换句话说,未标记的区块链地址不一定表示区块链地址不具有欺诈性。在一些情况下,区块链地址可以标记为不具有欺诈性的已知良好地址。例如,交换钱包或经验证的智能合约可以是已知良好地址的示例。

对于被分配一个或多个信任分数并被标记为欺诈的区块链地址,区块链地址的欺诈标签在区块链地址的欺诈问题方面具有决定性作用。因此,在这些实施方式中,信任模块300可以忽略区块链地址的信任分数和/或将区块链地址的信任分数设定为100%的欺诈确定性。在其它实施方式中,信任模块300可以继续计算标记为欺诈的区块链地址的信任分数。

此外,欺诈标签1120还可以包括欺诈标签元数据。欺诈标签元数据可以指示用于将区块链地址标记为欺诈(例如,特定黑名单)的信息的来源。此外,欺诈标签元数据还可以指示欺诈的类型(例如,钓鱼式欺诈)。此外,欺诈标签元数据还可以包括欺诈行为的内容,例如与欺诈相关联的文本(例如,在线或通过电子邮件发布的文本)。信任模块300可以将欺诈标签元数据退回到请求设备,以清楚地阐明信任模块300已将区块链地址标记为欺诈的原因。

参照图14,区块链数据采集模块1102-1(以下称为“区块链采集模块1102-1”)可以从区块链网络118采集区块链数据。例如,区块链采集模块1102-1可以采集区块链交易分类账122。区块链采集模块1102-1可以将原始区块链数据1122存储在记录数据存储器1110中。区块链处理模块1102-2可以处理区块链交易分类账122,并将处理后的区块链值1122(例如,交易金额、休眠等)存储在记录数据存储器1110中(例如,在区块链地址记录304中)。

区块链交易分类账122包括多个区块链交易的数据。每笔交易可以包括:1)发送者地址;2)接收者地址;以及3)价值金额(例如,硬币数量)。此外,交易还可以包括唯一地标识区块链上交易的交易标识数据。交易标识数据在本文中可以称为交易标识符(transactionidentifier,简称ID)。在一些实施方式中,交易哈希可以用作交易的唯一标识符。交易哈希可以是唯一地标识交易的伪随机字符串。此外,一些区块链还可能会包括可以存储和处理的附加数据。示例性附加数据可以包括内部交易数据,例如在以太坊智能合约中执行的程序。

区块链交易分类账可以包括多个区块。每个区块可以包括交易集合。区块可以包括在特定时间段内在区块链上发生的交易集合。区块可以包括可以充当该区块的标识符的区块编号(例如,按顺序分配的编号)。在比特币的情况下,交易可以包括发送方地址、接收方地址、发送的金额以及描述速度的各种参数。如果执行了函数,以太坊可以包括相似的交易数据,以及关于智能合约中执行的函数的原始数据。

不同的区块链网络可以包括不同类型的区块链分类账。例如,不同的区块链分类账可以包括不同格式的区块链交易数据。再如,不同的区块链分类账可以包括与交易相关联的附加或替代数据。区块链采集模块1102-1可以用于采集不同区块链的区块链交易数据。例如,区块链采集模块1102-1可以包括不同的模块,每个模块可以用于采集不同区块链网络的区块链交易数据。

在一些情况下,区块链网络可以包括指示区块链交易时间(例如,相对/绝对时间)的计时数据。在这些实施方式中,区块链采集模块1102-1可以使用提供的计时数据来指示交易发生的时间。在其它情况下,区块链网络可能不会包括计时数据。在这些实施方式中,区块链采集模块1102-1可以生成交易的时间戳。在一些情况下,可以从分配给交易的区块生成计时数据。区块可以作为挖矿流程的一部分进行分配,区块链中行动者由此进行竞争以验证一组交易的有效性。挖掘区块且验证交易之后,可以根据其它挖矿者的共识意见假定计时数据。

区块链处理模块1102-2可以基于采集的区块链数据来确定多个值。信任模块300(例如,分数生成模块1116)可以使用确定的值作为用于确定信任分数的评分特征。此外,信任模块300(例如,模型生成模块1108)还可以基于确定的值生成评分模型。区块链地址的区块链值可以存储在区块链地址记录(例如,在1122处)中。

区块链处理模块1102-2可以包括用于确定本文描述的不同区块链值的功能。例如,图14中示出的区块链处理模块1102-2包括可以确定区块链地址休眠值的休眠确定模块1400。此外,区块链处理模块1102-2还包括行为标识模块1402,其可以确定区块链地址是否与一个或多个行为模板(例如,模式或指纹)相匹配。图14中示出的区块链处理模块1102-2中包含的模块1400、1402仅是示例性模块。因此,区块链处理模块1102-2可以包括除图14中示出的那些模块之外的附加/替代模块。另外,图14中示出的区块链数据1122中包含的区块链值仅是示例性值。因此,区块链地址的区块链数据可以包括附加/替代值。

在一些实施方式中,区块链处理模块1102-2可以确定与由区块链地址交易的资金量相关联的值。例如,区块链处理模块1102-2可以确定:1)由区块链地址接收的资金总量;2)由区块链地址发送的资金总量;3)区块链地址中转入和转出的资金总量;以及4)区块链地址的平均交易金额。

在一些实施方式中,区块链处理模块1102-2可以确定与区块链地址相关联的交易计时相关联的值。例如,区块链处理模块1102-2可以确定区块链地址的活动级别,例如该地址在交易中涉及的频率(例如,交易之间的平均时间和方差)。再如,区块链处理模块1102-2可以确定与地址相关联的交易的年限。与计时相关的另一示例性评分特征可以包括资金从区块链地址转入和转出的时间(例如,单次交易的计时或多次交易的平均时间)。在某些情况下,欺诈活动可能不会立即退出地址。

再如,休眠确定模块1400可以确定区块链地址的休眠概率。示例性休眠概率可以指示区块链地址与交易不相关的时间量。例如,休眠概率可以指示相对于交易之间地址预期时间,区块链地址与交易不相关的时间量。换句话说,示例性休眠时间可以指示区块链地址休眠的概率。关于休眠可能性,在一些情况下,欺诈性地址可能不会长时间保持活动。

在一些实施方式中,区块链处理模块1102-2可以确定与交易计时和交易金额相关联的值。例如,区块链处理模块1102-2可以确定:1)在一段时间内接收的资金总量;2)在一段时间内转账的资金总量;以及3)在一段时间内交易的资金总量。

在一些实施方式中,区块链处理模块1102-2可以确定和区块链地址与其它区块链地址的交互方式相关联的值。例如,区块链处理模块1102-2可以确定已与区块链地址交互的地址列表和/或已与区块链地址交互的地址总数(例如,作为发送者和/或接收者)。可以迭代地计算该值,以确定地址对其本地邻域和区块链整体的重要程度。

区块链处理模块1102-2包括行为标识模块1402,其可以确定区块链地址是否与可能指示欺诈的特定行为模板相匹配。如果行为标识模块1402标识出区块链地址行为与行为模板相匹配,该匹配可以存储在区块链地址记录304中。在一些实施方式中,本地信任数据存储器302可以存储一组行为模板。在这些实施方式中,行为标识模块1402可以确定区块链地址的行为是否与该组行为模板中的一个或多个相匹配。

行为模板可以包括一组条件,如果满足的话,该组条件使得行为模板与区块链地址相匹配。行为模板可以包括基于本文描述的任何区块链值的条件。例如,行为模板可以包括基于以下各项中的至少一个的条件:1)转账的资金量;2)交易数量;3)交易计时(例如,交易速率);4)区块链地址与其它地址(例如,不同发送者/接收者的数量和交易模式)的交互方式;以及5)地址的休眠可能性。

在一个特定示例中,行为模板可以阈值速率定义阈值数目的交易(例如,转入和转出5笔交易)。在该示例中,如果区块链地址以快速连续(例如,短暂快速突发)的方式参与少量交易(例如,小于或等于阈值数目),可以匹配行为模板。行为模板的另一示例性条件可以是高休眠概率,因为任何交易都可以限制为突发。在另一特定示例中,行为模板可以定义高阈值数目的交易(例如,对于区块链来说异常高)。在该示例中,如果区块链地址参与数目大于交易阈值的交易,可以匹配行为模板。在该示例中,行为模板还可能需要高重要性值,从而区块链地址需要具有最小重要性值以匹配模板。此外,行为模板可能需要低可能性休眠,因为欺诈行为可能遵循常规交易模式。

如果区块链地址与行为模板相匹配,该匹配可以作为区块链值存储在区块链地址记录304中。例如,区块链地址记录可以存储指示行为模板是否匹配的每个行为模板的二进制值(例如,0/1)。在行为标识模块1402确定指示区块链地址与行为模板匹配程度的值(例如,十进制或整数值)的实施方式中,该值可以存储在区块链地址记录304中。

参照图15A至15B,图形生成模块1104-1基于多个不同的区块链地址的区块链交易生成区块链图形数据结构。图形数据结构包括区块链地址和区块链地址之间的交易。例如,对于每个区块链地址,图形数据结构可以描述与区块链地址相关联的每笔交易以及交易的方向,例如区块链地址是发送者还是接收者。此外,图形数据结构还可以包括每笔交易的交易金额。在一些实施方式中,图形数据结构可以包括欺诈数据(例如,欺诈标签)。欺诈标签可以指示该地址已涉及欺诈活动(例如,已知欺诈地址)。

图15B示出了图形数据结构的示例性表示。在图15B中,图形数据结构由节点和边缘表示。图形数据结构包括作为图形的节点的区块链地址。区块链地址之间的交易是节点之间的边缘,其中箭头指示交易的方向(例如,接收者在箭头头部)。每笔交易的金额邻近箭头标记。每个区块链地址的欺诈标签包含在节点上方。图15B包括具有区块链地址A、X、Y和Z的4个交易者。区块链地址Y已被标记为欺诈性地址。其它区块链地址具有未知欺诈状态。该图形示出了3笔区块链交易。第一笔交易是从区块链地址X到区块链地址A的第一数量(即数量1)。第二笔交易是从区块链地址Y到区块链地址A的第二数量(即数量2)。第三笔交易是从区块链地址A到区块链地址Z的第三数量(即数量3)。

图形数据结构存储在图形数据存储器1112中。图形生成模块1104-1可以随时间更新图形数据结构,使得图形数据结构包括区块链网络118中包含的交易的最新表示。

图形处理模块1104-2可以使用图形数据结构生成基于图形的值1124。基于图形的值1124可以存储在区块链地址记录304中。图形处理模块1104-2可以随时间更新基于图形的值1124。

在一些实施方式中,图形处理模块1104-2可以确定每个区块链地址的一个或多个重要性值。重要性值可以指示区块链地址相对于其它区块链地址(例如,相对于所有区块链地址)的重要性。在一些实施方式中,图形处理模块1104-2可以基于相邻区块链地址来确定区块链地址的重要性值。在一些实施方式中,图形处理模块1104-2可以根据区块链地址的重要性来加权相邻区块链地址的贡献。

在一些实施方式中,图形处理模块1104-2可以根据对属于区块链地址范围的交易的数目进行计数来确定重要性值。在该特定示例中,与具有较少传入交易的其它区块链地址相比,较多交易可以指示该区块链地址更重要。在一些实施方式中,图形处理模块1104-2可以通过确定与区块链交互的不同区块链地址的数目来确定重要性值。在一些实施方式中,图形处理模块1104-2可以确定重要性值,其指示相对于转出区块链地址的资金量转入该区块链地址的资金量(例如,转出量除以转入量)。在另一示例中,图形处理模块1104-2可以确定相对于转出区块链地址的交易量(例如,转入交易总数除以转出交易总数)来指示转入区块链地址的交易的数量的重要性值。在另一示例中,图形处理模块1104-2可以基于转入区块链地址的交易量、转出区块链地址的交易量、输入的资金数量以及输出的资金量来确定重要性值。在一些实施方式中,图形处理模块1104-2可以实现其它处理技术,例如网页排名(PageRank,简称PR)和/或个性化命中时间(personalized hitting time,简称PHT)。

在一些实施方式中,图形处理模块1104-2可以确定指示区块链地址与图形中欺诈的距离的欺诈距离评分特征。例如,欺诈距离评分特征可以包括与欺诈的最小距离、与欺诈的平均距离和/或与区块链地址交互的欺诈性区块链地址的数量。

参照图16,特征生成模块1106可以生成每个区块链地址的评分特征。信任模块300(例如,分数生成模块1116)可以基于与区块链地址相关联的评分特征来生成区块链地址的一个或多个本地信任分数。评分特征可以是数值(例如,整数或十进制值)、布尔值(例如,0/1)、枚举值或其它值。

特征生成模块1106可以基于本文描述的任何区块链值来生成评分特征。例如,区块链地址的评分特征可以基于1)与交易相关联的数量;2)与交易相关联的计时数据(例如,休眠);3)与区块链地址相关联的基于图形的值(例如,一个或多个重要性值);和/或4)与区块链地址相关联的基于行为的数据。

关于基于行为的数据,特征生成模块1106可以生成布尔评分特征,其指示区块链地址是否与任何行为模板相匹配。在另一示例中,特征生成模块1106可以生成每个行为模板的布尔评分特征,使得评分特征标识相匹配的行为模板。在另一示例中,特征生成模块1106可以生成指示匹配的行为模板的数目(例如,全部可用的百分比)的评分特征。在另一示例中,特征生成模块1106可以不生成布尔特征,而是生成指示区块链地址与行为模板匹配程度的值,例如指示行为模板匹配程度的十进制值(例如,0.00-1.00)。

信任模块300包括评分模型生成模块1108(本文中称为“模型生成模块1108”),其可以生成用于生成区块链地址的本地信任评分的评分模型1600。例如(例如,参见图17),评分模型可以接收区块链地址的评分特征,并输出区块链地址的本地信任评分。模型生成模块1108可以基于训练数据生成评分模型。训练数据可以包括评分特征以及相关联的欺诈标签。模型用作输入的一组评分特征在本文中称为“特征向量”。在一些实施方式中,信任模块300可以使用深度神经网络进行评分,其中分类由已知好/坏地址来确定。神经网络可以在特征向量上进行训练。在一些实施方式中,信任模块300可以基于随机森林、决策树以及逻辑回归来利用模型,并且以“专家共识”的形式进行组合。

模型生成模块1108可以基于训练数据生成评分模型(例如,机器学习模型),该训练数据包括特征向量的集合及其相应的欺诈标签(例如,欺诈:0/1)。在该示例中,生成的评分模型可以输出本地信任评分(例如,十进制值),该本地信任评分指示区块链地址具有欺诈性的可能性。在一些实施方式中,训练数据还可以包括主动指示区块链地址是已知良好地址(例如,非欺诈)的标签。

尽管信任模块300可以生成用于生成本地信任分数的评分模型,但信任模块300可以其它方式生成本地信任分数。例如,信任模块300可以使用评分函数(例如,加权评分函数)和/或根据规则生成本地信任分数的启发式模型来生成本地信任分数。

图17示出了生成区块链地址的本地信任分数的示例性分数生成模块1116。分数生成模块1116可以通过使用区块链地址的特征向量和评分模型来生成区块链地址的本地信任分数。例如,分数生成模块1116可以将区块链地址的特征向量输入到输出本地信任分数的评分模型中。

区块链地址的本地信任分数308可以存储在区块链地址记录304中。分数生成模块1116可以生成每个区块链地址的本地信任分数。分数生成模块1116还可以随时间更新本地信任分数,例如当获取附加数据时。区块链地址记录304可以包括最近计算的本地信任分数,以及历史计算的本地信任分数。在一些实施方式中,信任模块300可以利用本地信任分数(和历史分数)的变化来提供实时警报系统,使得如果地址的信任分数下降(例如,如在组织通过它们控制的地址接收欺诈资金的情况下),可以通知一方。信任模块300可以提供能够接入其服务的API,其能够冻结交易并警告该组织的相关人员(例如,通过电话、电子邮件等)。

分数生成模块1116可以用于以各种格式提供本地信任分数。在一些实施方式中,本地信任分数可以是具有最小值和最大值的整数值。例如,本地信任分数可以在1-7的范围内,其中信任分数“1”指示区块链地址可能具有欺诈性。在本示例中,信任分数“7”可以指示区块链地址不太可能具有欺诈性(即,非常可信)。在一些实施方式中,本地信任分数可以是十进制值。例如,本地信任分数可以是指示欺诈可能性的十进制值(例如,在0-100%范围内的百分比值)。在一些实施方式中,本地信任分数可以在从最大负值到最大正值(例如,-1.00到1.00)的范围内,其中较大负值指示地址更可能具有欺诈性。在本示例中,较大正值可以指示地址更可能是可信的。客户可以选择他们喜欢的信任分数格式。

在一些实施方式中,区块链地址记录304可以存储每个信任请求的请求数据1128。请求数据1128可以包括与接收的信任请求和/或提供的信任响应相关联的任何数据。请求数据1128可以存储在相关联的区块链地址记录304中。在一些实施方式中,区块链地址记录可以在每次对区块链地址作出信任请求时存储请求数据1128。在这些实施方式中,请求数据1128可以指示对区块链地址作出信任请求的次数。此外,请求数据1128还可以指示作出信任请求的区块链地址、报告给请求者的共识信任分数以及请求时间。因此,请求数据1128可以显示关于请求区块链地址的信任分数的各方随时间的趋势。在一些实施方式中,区块链地址的评分特征可以包括基于请求数据1128的评分特征。一个示例性评分特征可以是对区块链地址作出信任请求的总次数。另一示例性评分特征可以是对区块链地址作出信任请求的多个不同的区块链地址。其它示例性特征可以包括对区块链地址作出信任请求的频率(例如,一段时间内的请求数量)。

尽管信任模块300可以计算每个区块链地址的单个本地信任分数,而不管区块链地址是发送者还是接收者,但在一些实施方式中,信任模块300可以计算每个地址的接收者信任分数和发送者信任分数。在一个示例中,与不经常成为欺诈受害者的区块链地址相比,经常成为欺诈受害者的区块链地址的发送者信任分数可以设定为较不可信。在另一示例中,当没有迹象指示与在区块链地址处接收资金相关联的恶意活动时,经常成为钓鱼式欺诈受害者的区块链地址可能不具有修改后的接收者信任分数。

图18至24针对加密货币区块链网络1800可以在其中执行由信任网络1802-1(例如,包括信任节点1802-1a、1802-1b至1802-1N)或集中式信任系统1802-2(例如,参见图18和21A)提供的智能合约的环境。例如,区块链网络1800可以提供执行智能合约的虚拟机(virtual machine,简称VM)1804(例如,去中心化的虚拟机)。本文描述的智能合约可以包括多种功能。例如,智能合约可以从信任网络/系统1802请求潜在接收者地址的信任分数,然后基于接收者地址的可信性完成或取消区块链交易。使用依据图18至24的智能合约提供了使用区块链网络1800的原生加密货币(例如,加密货币区块链代币)而不是使用UTOKEN来获取信任分数。

图18示出了包括执行智能合约的加密货币区块链网络1800的环境。加密货币区块链网络1800可以从诸如去中心化的信任网络1802-1或集中式信任系统1802-2(以下称为“信任系统1802-2”)之类的各种来源接收智能合约。区块链网络1800包括加密货币区块链协议1806和加密货币区块链分类账1808,如上述结合图1所述。图18中示出的加密货币区块链协议1806可以创建执行智能合约1810的虚拟机1804(例如,流程虚拟机)。例如,虚拟机1804可以在区块链网络1800的一个或多个节点上执行智能合约1810。在区块链网络中的示例性虚拟机是在以太坊区块链上运行的以太坊虚拟机。

图18中示出的分布式信任网络1802-1可以提供与本文描述的图1中示出的信任网络100相似的功能。此外,信任网络1802-1还可以提供与智能合约相关联的功能。例如,信任网络1802-1可以提供用于在区块链网络1800中执行的智能合约。在一些实施方式中,信任网络1802-1可以包括智能合约模板2100(例如,参见图21A),其可以提供给各方(例如,交易所/钱包),以便在区块链网络1800中执行。在一些实施方式中,信任网络1802-1还可以提供用于完成具有诸如发送者地址、接收者地址和指定的交易信任级别之类的数据的智能合约模板的接口(例如,API)。此外,信任网络1802-1还可以用于向在区块链网络1800中实例化的智能合约提供信任分数。智能合约可以基于接收的信任分数来完成或取消交易。

在一些实施方式中,一方(例如,公司)可以操作信任系统1802-2,该信任系统提供与本文描述的智能合约相关联的功能。在一些实施方式中,同一方(例如,公司)可以操作信任网络1802-1中的一个或多个节点,并且还操作信任系统1802-2。例如,该方可以为不同的商业合作伙伴/客户提供不同的信任节点/系统。在其它实施方式中,不同方(例如,公司)可以操作信任网络节点和一个或多个信任系统。此外,可以为不同的加密货币区块链网络实现不同的信任系统/网络。

信任系统1802-2可以提供与信任网络1802-1相似的功能。信任系统1802-2(例如,服务器)为加密货币交易者(例如,用户设备102、中间系统104和自动交易系统106)生成信任分数。例如,信任系统1802-2可以生成在区块链网络1800中交互的不同区块链地址的信任分数。信任网络1802-2可以基于从各种数据源检索的数据以及加密货币所基于的区块链数据来确定信任分数。例如,信任系统1802-2可以与关于信任节点100-1所描述的相似方式来确定区块链交易的信任分数。加密货币交易者可以在参与在区块链上交易资金(例如,区块链代币)的区块链交易之前,从信任系统1802-2请求信任分数。

图21A示出了可以确定区块链地址的信任分数的示例性信任系统1802-2。图21A中示出的信任系统1802-2包括执行与关于信任节点100-1描述的功能相似的模块。图21A中示出的详细示例性信任系统1802-2仅是示例性信任系统。因此,信任系统可以包括除图21A中示出的功能之外的附加/替代功能。

数据采集与处理模块2102采集并处理各种类型的数据,例如保管数据和欺诈数据,该数据可以存储在信任系统数据存储器2101中。此外,数据采集与处理模块2102还可以基于采集的欺诈数据生成欺诈标签,其指示区块链地址是否可能具有欺诈性。区块链采集与处理模块2104采集并处理可以存储在信任系统数据存储器2101中的区块链数据。此外,信任系统数据存储器2101还可以包括多个区块链地址记录。图形生成与处理模块2106基于区块链数据生成区块链图形数据结构。图形生成数据结构可以存储在图形数据存储器2103中。此外,图形生成与处理模块2106还可以处理该图形,以确定可用于生成信任分数的一个或多个基于图形的值(例如,重要性值)。特征生成模块2108生成区块链地址的评分特征。评分模型生成模块2110基于评分特征和其它数据(例如,标记的欺诈数据)生成一个或多个评分模型。评分模型可以存储在评分模型数据存储器2105中。信任分数生成模块2112使用一个或多个评分模型和与区块链地址相关联的评分特征生成区块链地址的一个或多个信任分数。

信任系统1802-2包括交易者接口模块2114,其从请求设备接收对区块链地址作出的信任请求。信任请求可以指除合约信任请求之外的请求。交易者接口模块2114向请求设备发送包括信任分数的信任响应。

如结合信任网络1802-1所述,信任系统1802-2还可以向请求方提供智能合约模板2100和完成的智能合约,以便在区块链网络1800中执行。此外,信任系统1802-2还可以用于向在区块链网络1800中实例化的智能合约提供信任分数。

图19示出了描述图18的环境的操作的方法。图20示出了根据图19的发送者用户设备102、中间交易系统104(例如,交易所或集中式钱包系统)(以下称为“中间系统104”)、区块链网络1800与信任网络/系统1802之间的交互的功能框图。图21A-21B示出了实现与智能合约相关联的功能的示例性信任系统1802-2和信任节点1802-1a。例如,图21A至21B示出了实现与智能合约相关联的功能的合约分布模块2120-1、2120-2、合约模板数据存储器2122-1、2122-2以及合约接口模块2124-1、2124-2。

现在,结合图20至22B描述图19中示出的方法。在框1900中,智能合约模板2100由信任网络/系统1802提供,以便完成和分布。合约分布模块2120和合约模板数据存储器2122为信任系统1802-2和信任节点1802-1a提供智能合约完成和分布功能。合约模板数据存储器2122存储智能合约模板。合约分布模块2120提供接口(例如,API),一方(例如,交易所)可以使用该接口来修改/完成智能合约模板2100并获取完成的智能合约,以便在区块链网络1800中实例化。在信任网络1802-1中,智能合约模板存储、智能合约生成和智能合约分布可以跨多个信任节点去中心化。图21B中示出的信任节点1802-1a是示例信任节点。因此,信任节点可以包括附加和/或替代功能(例如,参见图6)。

参照图21A,智能合约模板2100可以包括在区块链网络1800中执行的智能合约代码2130。智能合约代码2130可以包括可以由一个或多个处理单元执行的计算机可读指令。智能合约可以用一种或多种语言编写,并编译成部署在区块链网络1800中以供执行的字节码。关于以太坊区块链,智能合约可以用一种或多种编程语言(例如,Solidity)编写,并编译成以太坊虚拟机字节码,以便部署在以太坊区块链上。智能合约代码可以在区块链网络1800中执行,以实现属于本文描述的智能合约的功能。例如,智能合约代码2130可以包括在区块链网络1800中运行的一系列规则(例如,业务规则)。由智能合约代码2130执行的示例性功能可以包括但不限于:1)生成合约信任请求;2)接收信任分数;3)确定信任分数是否指示接收者可信;以及4)基于信任分数完成/取消交易。由于智能合约可以在区块链网络中实现,智能合约也可以称为“区块链智能合约”或“基于去中心化的区块链智能合约”。

智能合约模板2130可以包括用于接收可以完成智能合约模板2130的值的字段。中间系统104(例如,交易所)可以提供用于完成智能合约中的字段的值。示例性智能合约字段可以包括但不限于:1)合约信任阈值字段2132;2)发送者地址字段2134;3)接收者地址字段2136;4)交易金额字段2138;5)信任费字段2140;以及6)信任费付款地址2142。发送者交易者可以向中间系统104提供用于完成智能合约的一些/所有值(例如,参见图22A)。合约分布模块2120可以根据从中间系统104接收的值来完成智能合约模板。中间系统104可以在区块链网络1800中实例化完成的智能合约。

在框1902中,向发送者交易者提供用于安排具有接收者地址的交易的接口。例如,中间系统104(例如,交易所)可以为发送者交易者提供用户界面(例如,GUI),以与接收者建立受信任保护的交易。该接口可以接收发送者输入,用于建立和完成交易。例如,接口可以包括用于接收一个或多个地址、硬币数量以及指定的合约信任阈值的GUI元素。在一些实施方式中,信任系统/节点管理员可以与各方(例如,交易所/钱包)合作建立接口(例如,交易所/钱包接口)。

图22A至22B示出了用户设备102上的示例性发送者接口。发送者接口使发送者能够指定要发送给接收者地址的交易金额(例如,5个硬币)。在图22A中,GUI包括发送者可以用来选择是否使用信任保护的GUI元素。示例性GUI元素是向用户提供“是”/“否”选择的单选按钮。如果选择了受信任保护的交易,存在可以接收用户指定的交易信任级别的GUI元素。例如,发送者可以选择低、中或高GUI按钮来选择低、中或高风险级别交易。在图22A中,用户已经选择了中等信任级别,如深色的“Med.”GUI元素所示。可选择的风险级别可以对应于合约信任阈值。例如,与中、高风险级别相比,低风险级别可能需要更高的信任分数(例如,更高可信性)来完成交易。在一些实施方式中,中间系统104可以包括预设的合约信任阈值(例如,由交易所设定),而不是向用户提供用于选择风险级别的GUI元素。在一些实施方式中,智能合约模板2100可以包括预设的合约信任阈值。

图22A中示出的GUI提供受信任保护交易的总金额的概要。例如,GUI分别指示信任报告和合约执行的信任费和网络费。GUI包括用户可以选择以根据智能合约开始进行交易的“发送硬币”按钮GUI元素。图22B示出了由中间系统104提供的指示交易已完成的示例性GUI。在图22A至22B中示出的GUI可以由中间系统104(例如,经由基于Web的界面)和/或安装在用户设备102上的应用程序提供。

在框1904中,智能合约根据发送者的输入生成,并在区块链网络1800中实例化。例如,中间系统104可以将输入到发送者接口(例如,参见图22A)的值发送给合约分布模块2120。合约分布模块2120可以使用接收的值和智能合约模板2100生成完成的合约。合约分布模块2120可以将完成的合约发送给中间系统104。然后,中间系统104可以在区块链网络1800中实例化智能合约。

中间系统104可以用不同的已完成字段来实例化智能合约。例如,在一些实施方式中,中间系统104可以用指定的合约信任阈值来实例化智能合约。在另一示例中,中间系统104可以在没有指定合约信任阈值的情况下实例化智能合约。在该示例中,在智能合约在区块链网络1800中实例化之后,合约信任阈值可以发送给合约(例如,由中间系统104发送)。通过相似的方式,中间系统104可以将本文描述的任何值包含在实例化智能合约中,或者可以在智能合约实例化之后提供任何值。智能合约中包含的定义值的数量可以基于由中间系统104的操作者选择的实现和/或区块链网络1800的能力而变化。在下文中可以假定完成的智能合约包括合约信任阈值、发送者地址、接收者地址、交易金额、信任费和信任费付款地址的值。

其它智能合约实现可以基于由中间系统104的操作者作出的决定和/或区块链网络1800的能力而变化。例如,在一些情况下,智能合约可以保留在区块链网络中并基于新接收的值(例如,新的接收者地址和交易金额)运行后续交易,而不是检索每笔交易的新智能合约并完成智能合约。在一些情况下,中间系统可以从信任网络/系统检索智能合约的单个版本,并针对多笔交易对其进行修改。

在一些实施方式中,发送者支付网络费,以便在区块链网络1800中实例化智能合约。在这些实施方式中,可以从发送者地址支付网络费,以实例化智能合约。区块链网络1800可以在支付网络费之后开始执行智能合约。在一些情况下,网络费可以称为“gas”。在一些实施方式中,网络费可以由区块链网络1800设定。随着时间的推移,区块链网络1800可以修改网络费。尽管发送者地址可以为智能合约的实例化和执行支付网络费,但在一些实施方式中,网络费可以由现有中间系统地址支付。

实例化的智能合约1810与区块链网络1800中的智能合约地址相关联。在智能合约实例化之后,发送者资金(例如,交易金额和信任费金额)可以转移到合约区块链地址。智能合约1810可以根据本文描述的智能合约1810持有并分配资金。中间系统104可以向信任网络/系统1802发送实例化的合约地址。信任网络/系统1802可以监视实例化的合约地址以验证信任费付款,并针对合约信任请求监视区块链分类账1808。

如本文所述,信任网络/系统1802可以接收用于提供信任报告的信任费付款。关于提供给智能合约1810的信任报告,信任网络/系统1802可以在区块链网络1800中的信任费付款地址处接收付款。信任费付款地址可以由信任网络/系统1802控制。合约地址可以使用区块链的原生代币(本文中称为加密货币区块链代币)来支付信任费。在一些实施方式中,信任网络/系统1802可以包括用于接收信任费付款的一个或多个区块链地址。信任网络/系统1802可以从信任费付款地址获取一个或多个信任费付款。对于信任系统1802-2,信任费可以由信任系统1802-2的操作员设定/修改。对于信任网络1802-1,奖励协议可以设定/修改信任费。

在框1906中,智能合约1810从信任网络/系统1802获取信任分数。为了获得信任分数,智能合约1810可以针对接收者地址生成合约信任请求。合约信任请求可以是对接收者地址的信任报告(例如,接收者地址的一个或多个信任分数)的请求。智能合约1810可以多种方式生成合约信任请求。在一些实施方式中,智能合约1810可以将合约信任请求写入合约地址下的分类账(例如,区块链分类账1808)。合约信任请求可以包括写入分类账1808的代码,其将分类账条目标识为对信任网络/系统1802的合约信任请求。此外,合约信任请求可以指示为其请求信任报告的接收者地址。尽管智能合约1810可以将信任请求写入分类账1808,但在一些实施方式中,如果区块链网络1800支持该功能,智能合约1810可以用于将请求发送给信任网络/系统1802(例如,经由API)。

信任网络/系统1802(例如,合约接口模块2124)可以用于扫描区块链分类账1808,以标识由智能合约1810作出的合约信任请求。在(例如,由中间系统104)向信任网络/系统1802报告合约地址的实施方式中,信任网络/系统1802可以用于扫描报告的合约地址,以寻找合约信任请求。

在一些实施方式中,在向智能合约1810提供信任分数之前,信任网络/系统1802确定是否已支付信任费。信任网络/系统1802(例如,合约接口模块2124)可以扫描区块链分类账1808,以确定是否已支付信任费。例如,信任网络/系统1802可以通过针对信任费金额标识合约地址与信任费付款地址之间的交易来确定是否已支付信任费。

在标识合约信任请求并验证信任费付款之后,信任网络/系统1802(例如,合约接口模块2124)可以标识/计算合约信任请求中指示的接收地址的信任分数。然后,信任网络/系统1802可以将信任分数发送给智能合约1810。根据区块链网络的不同,向智能合约中输入数据的方式可能会有所不同。例如,在以太坊网络中,可以根据以太坊征求意见(Ethereum Request for Comments,简称ERC)技术标准,向智能合约中输入数据。

在框1908中,智能合约1810基于接收的信任分数来确定接收者是否可信。在一些实施方式中,智能合约1810可以将接收的信任分数与合约信任阈值进行比较,以确定接收者是否可信。例如,在较大的信任分数指示更可信的地址的情况下,当接收的信任分数大于合约信任阈值时,智能合约1810可以确定接收者地址可信。在该示例中,当接收的信任分数小于合约信任阈值时,智能合约1810可以确定接收者地址不够可信。在特定示例中,在信任分数是指示欺诈可能性的十进制值(例如,从0%到100%的百分比值)的情况下,示例性合约信任阈值可以设定为0.35(即35%)。如本文所述,在一些实施方式中,信任分数可以在从最大负值到最大正值(例如,-1.00到1.00)的范围内,其中较大负值指示地址更可能具有欺诈性。在该特定示例中,合约信任阈值可以设定为介于-1.00到1.00的范围内的某个值。

如果在框1908中,智能合约1810确定接收者地址可信,在框1910中,智能合约1810将交易金额发送给接收者地址。如果在框1908中,智能合约1810确定接收者地址不可信,在框1912中,智能合约1810将交易金额退还给发送者地址。

在框1914中,将交易报告发送给汇总交易的发送者。例如,中间系统104可以从区块链网络1800读取交易数据,例如交易是否完成/取消以及交易中发送的代币数量。然后,中间系统104可以为发送者用户设备102生成交易报告。图22B中示出了示例性交易报告。图22B中示出的交易报告指示交易已完成,因为接收者地址足够可信。

图23示出了描述图18的中间系统104的操作的示例性方法。在框2300中,中间系统104为发送者用户设备102生成界面(例如,基于Web的GUI)。在框2302中,中间系统104从发送者用户设备102接收合约值,例如插入到该界面中的值。在框2304中,中间系统104基于合约值检索由信任网络/系统1802完成的智能合约。

在框2306中,中间系统104在区块链网络1800中实例化完成的智能合约。在框2308中,中间系统104向信任网络/系统1802报告智能合约地址。在框2310中,中间系统104基于与实例化的智能合约相关联的交易的完成/取消来为发送者生成交易报告。

图24示出了描述图18的信任网络/系统1802的操作的示例性方法。在框2400中,信任网络/系统1802从中间系统104接收智能合约模板的合约值。在框2402中,信任网络/系统1802基于接收的合约值生成完成的智能合约。在框2404中,信任网络/系统1802将完成的智能合约发送给中间系统104。

在框2406中,信任网络/系统1802从中间系统104接收实例化的智能合约的合约地址。在框2408中,信任网络/系统1802监视区块链分类账1808的信任费付款。在框2410中,信任网络/系统1802监视区块链分类账1808,以寻求与合约地址相关联的合约信任请求。在框2412中,信任网络/系统1802将接收者地址的信任分数发送给智能合约。

信任网络/系统中包含的模块和数据存储器表示可以包含在本发明的信任网络/系统中的特征。本文描述的模块和数据存储器可以通过电子硬件、软件、固件或其任意组合来实现。将不同的特征描述为单独的模块和数据存储器并不一定意味着模块和数据存储器是由公共还是单独的电子硬件或软件组件来实现。在一些实施方式中,与本文描述的一个或多个模块和数据存储器相关联的特征可以通过公共的电子硬件和软件组件来实现。在一些实施方式中,与本文描述的一个或多个模块和数据存储器相关联的特征可以通过单独的电子硬件和软件组件来实现。

模块和数据存储器可以由电子硬件和软件组件实现,包括但不限于一个或多个处理单元、一个或多个存储器组件、一个或多个输入/输出(input/output,简称I/O)组件以及互连组件。互连组件可以用于提供一个或多个处理单元、一个或多个存储器组件以及一个或多个I/O组件之间的通信。例如,互连组件可以包括用于在电子组件之间传输数据的一条或多条总线。此外,互连组件还可以包括用于控制电子组件之间通信的控制电路(例如,存储器控制器和/或I/O控制器)。

一个或多个处理单元可以包括一个或多个中央处理单元(central processingunit,简称CPU)、图形处理单元(graphics processing unit,GPU)、数字信号处理单元(digital signal processing unit,简称DSP)或其它处理单元。一个或多个处理单元可以用于与存储器组件和I/O组件通信。例如,一个或多个处理单元可以用于经由互连组件与存储器组件和I/O组件通信。

存储器组件(例如,主存储器和/或存储设备)可以包括任何易失性或非易失性介质。例如,存储器可以包括但不限于电介质、磁介质和/或光介质,例如随机存取存储器(random access memory,简称RAM)、只读存储器(read-only memory,简称ROM)、非易失性RAM(non-volatile RAM,简称NVRAM)、电可擦除可编程ROM(electrically-erasableprogrammable ROM,简称EEPROM)、闪存、硬盘驱动器(hard disk drive,简称HDD)、磁带驱动器、光存储技术(例如,光盘、数字多功能盘和/或蓝光盘)或任何其它存储器组件。

存储器组件可以包括(例如,存储器)本文描述的数据。例如,存储器组件可以包括数据存储器中包含的数据。此外,存储器组件还可以包括可以由一个或多个处理单元执行的指令。例如,存储器可以包括计算机可读指令,当由一个或多个处理单元执行时,该计算机可读指令使得一个或多个处理单元执行属于本文描述的模块和数据存储器的各种功能。

I/O组件可以指提供与各种不同设备通信的电子硬件和软件。例如,I/O组件可以提供其它设备与一个或多个处理单元和存储器组件之间的通信。在一些示例中,I/O组件可以用于与计算机网络通信。例如,I/O组件可以用于使用各种不同的物理连接、无线连接和协议在计算机网络上交换数据。I/O组件可以包括但不限于网络接口组件(例如,网络接口控制器)、中继器、网桥、网络交换机、路由器和防火墙。在一些示例中,I/O组件可以包括用于与各种人机接口设备通信的硬件和软件,包括但不限于显示屏、键盘、指针设备(例如,鼠标)、触摸屏、扬声器和麦克风。在一些示例中,I/O组件可以包括用于与诸如外部存储器(例如,外部HDD)之类的附加设备通信的硬件和软件。

在一些实施方式中,信任网络/系统可以包括用于实现本文描述的技术的一个或多个计算设备(例如,节点计算/服务器设备)。换句话说,属于本文描述的模块和数据存储器的特征可以由一个或多个计算设备实现。一个或多个计算设备中的每一个可以包括上述电子硬件、软件和/或固件的任意组合。例如,一个或多个计算设备中的每一个可以包括上述处理单元、存储器组件、I/O组件和互连组件的任意组合。信任网络/系统的一个或多个计算设备还可以包括各种人机接口设备,包括但不限于显示屏、键盘、指针设备(例如,鼠标)、触摸屏、扬声器和麦克风。此外,计算设备还可以用于与诸如外部存储器(例如,外部HDD)之类的附加设备通信。

在一些示例中,一个或多个计算设备可以驻留在单个地理位置的单台机器内。在其它示例中,一个或多个计算设备可以驻留在单个地理位置的多台机器内。在其它示例中,信任网络/系统的一个或多个计算设备可以分布在多个地理位置。

相关技术
  • 使用智能合约的区块链交易安全性
  • 资产与合约分离的区块链智能合约交易方法
技术分类

06120112678264