一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对区块链激励的分散数据流式传输和交付提供微支付支持的方法和系统与流程

2022-04-09 10:59:15 来源:中国专利 TAG:


1.本发明的实施方案属于分散数据交付领域,并且具体地,涉及通过分布式混合网络对区块链激励的分散数据流式传输和交付提供微支付支持的方法和系统。
2.发明背景
3.本节中的陈述可以作为帮助理解本发明及其应用和用途的背景,但不构成现有技术。
4.根据思科2019年2月可视化网络指数(cisco vni
tm
)对2017年至2022年全球ip流量的预测,互联网视频占目前所有互联网流量的四分之三以上,并且到2022年将进一步增加到82%。同一份报告预测,从2017年到2022年,全球互联网视频流量将增长四倍,直播互联网视频将增长15倍,虚拟现实和增强现实流量将增长12倍,而互联网游戏流量将增长9倍。在美国,年龄在18至34岁之间的千禧一代通过使用youtube、netflix、hulu和hbo等服务而推动视频流式传输的增长。根据ssrs媒体和技术调查,这一群体中的流式传输视频从平均每周1.6小时跃升至每周5.7小时,增长了256%,并且移动装置在视频消费方面处于领先地位。
5.内容交付网络(cdn)是分布式服务器系统,cdn通过减小服务器与用户之间的地理距离来最大限度地减少向用户交付数据的延迟,思科预测到2022年cdn将承载72%的互联网流量,并且它们通过提供主干网基础设施以向最终用户交付数据流而在分布网络内容和流式传输视频数据方面发挥着重要作用。当今cdn网络的一个主要限制是所谓的“最后一英里”交付问题,其中有限数量的存在点(pop)数据中心与最终用户之间的“最后一英里”链路在数据流式传输和交付管道中存在瓶颈,并且通常会导致不太理想的用户体验,包括链路故障、明显延迟、流断断续续、图像质量差以及频繁重新缓冲。另一个主要问题是cdn带宽成本,对于热门网站来说,很容易达到每年数千万美元。随着高分辨率数字媒体(例如4k、8k和360
°
vr流式传输)的到来以及即将到来的光场流式传输等技术,这些问题会变得更加突出。例如,对于较新的系统,当今主流720p/hd流的带宽要求跃升了几个数量级。
6.为了克服这些带宽限制,基于自组织和自配置网状网络开发了分散的对等数据流式传输和交付平台。最终用户可以共享冗余的或未使用的计算、带宽和存储资源。鼓励和激励用户积极共享可用资源需要与对等网络的分散性相容的安全且延迟最少的奖励系统或支付方法。同样重要的是能够经济地处理对于向一个或多个对等方传输或从一个或多个对等方接收的小型单个数据块的频繁、微小的支付。
7.因此,鉴于上述困难,针对包括分散视频流式传输的分散数据流式传输和交付设计支持超高交易吞吐量的支付系统是尚未解决的需求。另外,还需要检测、预防和惩罚重复付款等欺诈活动。
8.正是在这种背景下开发了本发明的各种实施方案。


技术实现要素:

9.提供了用于通过分布式网状网络进行数据传播和微支付的链外区块链交易处理的方法和系统。
10.更具体地说,在一个方面,本发明的一个实施方案是一种从支付服务模块接收基于区块链的支付以换取与至少两个查看器共享数据资源的方法,包括以下步骤:在所述支付服务模块在区块链上创建微支付池时接收通知,其中所述微支付池通过向所述区块链提交资金交易来创建,所述资金交易包括用于与所述至少两个查看器共享所述数据资源的押金;与第一查看器共享所述数据资源的第一部分;接收由所述第一查看器为所述数据资源的所述第一部分签署的第一服务回执;向所述支付服务模块提交所述第一服务回执;从所述支付服务模块接收第一链外交易,其中所述第一链外交易包括针对所述数据资源的所述第一部分,第一支付金额从所述微支付池到所述缓存器的第一转移;与第二查看器共享所述数据资源的第二部分;接收由所述第二查看器为所述数据资源的所述第二部分签署的第二服务回执;向所述支付服务模块提交所述第二服务回执;从所述支付服务模块接收第二链外交易作为对第一链外交易的更新,其中所述第二链外交易包括针对所述数据资源的所述第一部分和所述数据资源的所述第二部分,第二支付金额从所述微支付池到所述缓存器的第二转移;以及向所述区块链提交所述第二链外交易,以从所述微支付池中索取所述第二支付金额。
11.在一个实施方案中,所述方法还包括加入对等方组,以便与至少两个查看器共享所述数据资源;以及接收支付授权证书,所述支付授权证书授权与所述第一查看器和所述第二查看器共享所述数据资源。
12.在一个实施方案中,所述方法还包括向所述支付服务模块提交所述支付授权证书。
13.在一个实施方案中,所述区块链利用挖掘节点的验证器委员会在区块结算过程中挖掘新区块。在一个实施方案中,所述区块链还利用守护者节点在区块最终确定过程中在检查点区块处验证所述区块链,并且其中所述检查点区块是所述区块链中区块的子集。
14.在一个实施方案中,在所述资金交易已包括在新区块中之后,所述通知包括所述资金交易的merkle证明。
15.在一个实施方案中,所述微支付池与所述数据资源的资源id、时间锁以及可消减抵押品相关联。
16.根据另一方面,本发明的另一实施方案是一种缓存器系统,用于从支付服务模块接收基于区块链的支付,以换取与至少两个查看器共享数据资源,所述缓存器系统包括:至少一个处理器;和非暂时性物理介质,其用于存储可由所述至少一个处理器访问的程序代码。所述程序代码在由所述处理器执行时使所述处理器:在所述支付服务模块在区块链上创建微支付池时接收通知,其中所述微支付池通过向所述区块链提交资金交易来创建,所述资金交易包括用于与所述至少两个查看器共享所述数据资源的押金;与第一用户共享所述数据资源的第一部分;接收由所述第一查看器为所述数据资源的所述第一部分签署的第一服务回执;向所述支付服务模块提交所述第一服务回执;从所述支付服务模块接收第一链外交易,其中所述第一链外交易包括针对所述数据资源的所述第一部分,第一支付金额从所述微支付池到所述缓存器的第一转移;与第二查看器共享所述数据资源的第二部分;
接收由所述第二查看器为所述数据资源的所述第二部分签署的第二服务回执;向所述支付服务模块提交所述第二服务回执;从所述支付服务模块接收第二链外交易作为对第一链外交易的更新,其中所述第二链外交易包括针对所述数据资源的所述第一部分和所述数据资源的所述第二部分,第二支付金额从所述微支付池到所述缓存器的第二转移;以及向所述区块链提交所述第二链外交易,以从所述微支付池中索取所述第二支付金额。
17.在一个实施方案中,所述程序代码在由所述处理器执行时进一步使所述处理器:加入对等方组,以便与至少两个查看器共享所述数据资源;以及接收支付授权证书,所述支付授权证书授权与所述第一查看器和所述第二查看器共享所述数据资源。
18.在一个实施方案中,所述程序代码在由所述处理器执行时进一步使所述处理器向所述支付服务模块提交所述支付授权证书。
19.在一个实施方案中,所述区块链利用挖掘节点的验证器委员会在区块结算过程中挖掘新区块。在一个实施方案中,所述区块链还利用守护者节点在区块最终确定过程中在检查点区块处验证所述区块链,并且其中所述检查点区块是所述区块链中区块的子集。
20.在一个实施方案中,在所述资金交易已包括在新区块中之后,所述通知包括所述资金交易的merkle证明。
21.在一个实施方案中,所述微支付池与所述数据资源的资源id、时间锁以及可消减抵押品相关联。
22.根据另一方面,本发明的另一实施方案是一种用于存储程序代码的非暂时性存储介质,所述程序代码由缓存器用于从支付服务模块接收基于区块链的支付以换取与至少两个查看器共享数据资源,所述程序代码可由处理器执行,并且其中所述程序代码在由所述处理器执行时使所述处理器执行本文中描述的步骤。
23.本发明的其他方面包括包含本文描述的步骤的方法、过程和算法,并且还包括本文描述的系统和服务器的操作过程和模式。根据结合附图阅读本发明的详细描述时,本发明的其他方面和实施方案将变得显而易见。
附图说明
24.本文描述的本发明的实施方案是示例性的,而不是限制性的。现将参考附图通过举例来描述实施方案,在附图中:
25.图1是示出传统内容交付网络(cdn)的网络图。
26.图2是传统点对点流式传输网络的网络图。
27.图3是示出根据本发明的一个实施方案将点对点网络与传统cdn相结合的混合网络架构的网络图。
28.图4a是示出根据本发明的一个实施方案的具有智能跟踪器和支付服务器的分散数据流式传输和交付网络(“混合网络”)的示意性网络图。
29.图4b示出根据本发明的实施方案的混合网络内各个节点之间的示例性交互。
30.图5是示出根据本发明的一个实施方案的分散数据流式传输和交付框架的不同组件的软件架构模型图。
31.图6是根据本发明的示例性实施方案的用于实现查看器或缓存节点的用户计算实体的示例性示意图。
32.图7是根据本发明的示例性实施方案的用于实现服务器的管理计算实体的示例性示意图。
33.图8是示出通过面向资源的微支付池进行交易的图,其示出了根据本发明的一些实施方案向多个边缘缓存器进行链外支付的查看器。
34.图9是示出通过由内容分发器建立的面向资源的微支付池进行交易的图,其示出了根据本发明的一些实施方案从多个查看器接收链外支付的边缘收银台。
具体实施方式
35.在下文描述中,出于解释的目的,阐述众多特定细节以便于提供对本发明的透彻理解。然而,对于本领域技术人员而言将显而易见的是,可在没有这些特定细节的情况下实践本发明。在其他情况下,为了避免模糊本发明,使用示意图、用例和/或流程图来示出结构、装置、活动和方法。尽管以下描述包含用于说明目的的许多细节,但是本领域任何技术人员将了解,对所提出细节的许多改变和/或更改都在本发明的范围内。类似地,尽管本发明的许多特征相对于彼此或结合彼此进行了描述,但是本领域技术人员将了解,这些特征中的许多特征可独立于其他特征而提供。因此,对本发明的这种描述在不存在任何一般性损失并且未对本发明强加限制的情况下进行阐述。
36.theta是带有本发明实施方案的商标名称,因此,前述商标名称可以在说明书和附图中互换使用,以指代本发明实施方案提供的产品/服务。术语theta在本说明书中可用于描述整体分散数据流式传输网络或平台、用于支付带宽使用或数据内容共享的公共分类账系统,以及提供所述网络、平台或服务的公司。参考附图,现将详细地描述本发明的实施方案。
37.综述
38.从广义上讲,本发明的实施方案涉及用于面向资源的链外微支付池的方法和系统,其促进用于通过分布式混合网络进行区块链激励的分散数据流式传输和交付的超高交易吞吐量微支付。具体地,本发明的实施方案实现在多方之间进行基于区块链的加密货币微支付,而无需建立专用的支付通道或支付路由网络。从一个接收方到多个来源方(“一对多”)以及从多个接收方到一个来源方(“多对一”)的链外交易可以在没有通常的区块确认时延的情况下进行汇总,并在以后提交到区块链,而不会有损加密货币的隐私性、安全性且无重复付款性质。
39.本发明的各种实施方案适用于(但不限于)分散点对点数据内容交付系统和平台,它们通常侧重于根据严格的近乎实时的参数及时交付数据内容。对等节点可以充当最终用户,也可以将源数据内容缓存中继到附近的对等方,并且仅在地理位置较近的对等源不可用时连接到中央内容服务器。为了激励最终用户作为缓存节点加入以共享冗余带宽和存储资源,并且为了鼓励内容平台和内容创建者更积极地参与,公开了新颖的分散式公共分类账系统(以下称为“theta区块链分类账系统”或“theta区块链”),其中可以在非常精细的粒度级促进缓存和中继数据内容到对等用户的奖励或补偿,并且实现对内容平台和广告商的支持,以推动新的收入同时减轻内容分发成本。
40.更具体地说,本发明的实施方案涉及通过首先在theta区块链上建立微支付池,授权选定的一组对等方共享数据内容,为共享的每个数据块分布服务回执,然后汇总和积累
各个服务回执以便向theta区块链提交支付交易来促进加密货币中的大量一对多和多对一微支付,而不会产生显著的验证、确认或结算延迟。此外,本发明的一些实施方案包含防止重复付款的抵押品,其中重复付款者获得的净值在所有情况下都保证为严格负数。
41.与需要复杂地设置双向支付通道和/或中间交换的现有支付网络相比,根据本发明的分类账系统提供显著地降低时延和复杂性的新颖和创新的解决方案,从而将可支持的吞吐量放大几个数量级。此外,通过将大多数微支付交易移到链外,本发明的实施方案减少了存储在区块链中的交易数量,从而减少了用于维护分类账系统的存储空间。
42.在下文中,首先公开用于点对点内容分布的混合网络基础设施,并呈现混合网络中各个节点的软件架构。然后公开theta区块链分类账系统的设计以及微支付池和处理。在下文中,仅出于说明性目的在示例性实施方案中讨论视频流式传输,而不限制本文公开的方法、系统和装置的范围,本文公开的方法、系统和装置能够交付具有各种可靠性和时延要求的其他数据内容类型。
43.用于数据流式传输和交付的分布式混合网络
44.图1是示出传统内容分布网络(cdn)100的网络图,其中单个查看器经由存在点(pop)数据中心直接连接到cdn服务器。查看器节点由字母“v”表示。图2是传统点对点流式传输网络200的网络图。在本文公开的示例性实施方案中,查看器表示接收和消费例如视频和音频数据流的数据内容的最终用户。
45.点对点(p2p)流式传输通常侧重于根据严格的近乎实时的参数及时交付音频和视频内容。当许多人同时收看同一流时,p2p直播交付效果最佳。高并发用户数意味着有更多的对等资源可用,因此对等节点可以更有效地从彼此中提取数据流。随着更多对等节点变得可用,整体系统容量也会增加。此外,当与传统的cdn相比时,p2p网络中系统的稳健性增加,因为节点不需要依赖集中式服务器来检索内容。这在服务器发生故障的情况下尤其重要。相反,对于如图1所示的基于cdn的集中式交付,大量并发用户反而会给cdn服务器带来可扩展性压力。
46.纯p2p流式传输的一个缺点是可用性。对等节点随时来来去去,这使得很难预测任何给定对等节点的可用性。节点中还存在固有的差异和不对称性,例如上传和下载容量。另一方面,cdn服务更可靠且更稳健,因此当对等节点无法提供请求的数据时,它可以用作可靠的“备份”。
47.利用p2p网络和cdn网络两者的优势,图3示出根据本发明的一个实施方案将两者相结合的分散式数据交付“混合网络”的网络图300。在网络300中,查看器(“v”)和边缘缓存器(“ec”)之间的点对点连接在现有cdn之上运行,cdn本身包括一个或多个存在点(“pop”)服务器。在本公开中,查看器是消费交付数据的网络节点,而边缘缓存器是缓存和/或中继数据到相邻对等节点的中间中继器。尽管在图3中将单个节点标记为查看器或边缘缓存器,但节点也可以同时是查看器和边缘缓存器节点。例如,网络边缘上的查看器301与303之间的虚线表示数据链路,节点301和303中的每一者可以通过所述数据链路将缓存的数据传输到另一者。
48.混合网状流式传输利用两个p2p节点(v和ec)和一个或多个cdn服务器进行数据交付,从而结合了两者的优点,即p2p基础设施的高可扩展性以及cdn交付主干网的高可用性。这种混合系统的一个目标是在不牺牲对netflix、youtube、twitch、facebook等已建立的流
式传输平台至关重要的服务质量(qos)的情况下实现最大的cdn带宽降低。在图1所示的传统cdn 100中,每个节点直接从pop服务器提取数据流。在混合网络300中,只要有可能,对等节点可以从彼此提取数据而不是从pop服务器提取数据。也就是说,仅节点的子集从pop服务器提取数据流;其他节点仅从其对等缓存节点提取数据流,从而提供更佳且更高效的连接。因此,缓存节点通过更多的缓存层来增强传统的cdn主干网,以便最终查看器在地理位置上远离cdn主干网的pop。此混合架构适用于视频点播和实时流式传输方案,以及其他数据流式传输和交付设置。
49.更具体地说,图4a是示出根据本发明的一个实施方案的分散式混合网络400的示意性网络图。在此说明性示例中,混合网络400包括cdn服务器或主干网402、查看器节点404、406和408、边缘缓存器412、智能跟踪器414和支付服务器440。查看器404、406和408以及边缘缓存器412各自可能通过pop服务器(未示出)定向连接至cdn 402;查看器404和406直接连接;查看器406和408也定向连接,并且都链接至边缘缓存器412。在此混合结构中,查看器节点可首先尝试从对等节点提取数据,并且仅依靠从cdn 402下载作为防故障备份。除了专用的边缘缓存器412之外,每个查看器节点也可以用作边缘缓存器。
50.如前所述,p2p流式传输侧重于根据严格的近乎实时的参数及时交付数据内容,而传统的cdn架构侧重于内容的普遍可用性。混合网络400被设计为在现有cdn之上运行,所述cdn向例如404、406和408的多个对等节点提供内容。尽管为了简单起见仅示出一个cdn服务器402,但混合网络400可以与多个cdn服务器一起运行。当足够数量的对等节点在网络内以足够数量的数据运行时,混合网络400还可以独立于cdn服务器402运行。
51.在各种实施方案中,混合网络400支持传输各种类型的数据内容和文件,例如但不限于实时流多媒体数据、视频点播(vod)、大型静态数据文件,例如数据二进制大对象、系统更新、游戏补丁、广告等,并且可以由对等节点或查看器节点404、406和408访问和共享。在一个示例中,不同类型的数据可全部被视为文件,其中每个文件被分成小片段。混合网络400可以存储片段而不是整个文件。实时流可以被视为同时生成和流式传输的文件。在一个示例中,查看器和边缘缓存器可以支持web rtc(实时通信)http/https协议。
52.因此,对等节点404、406和408可以包括能够处理不同数据内容类型的不同类型的查看器和/或边缘缓存器客户端。尽管图4a示出边缘缓存器412与查看器节点404、406和408分开,但对等节点404、406和408中的一个或多个可以使用例如404a、406a和408a的theta软件开发工具包(sdk)同时实现边缘缓存器以及最终用户软件,以便查看器可以经由p2p连接存储和分布内容,同时还消费内容。与需要安装例如视频播放器的专有内容查看器的一些流式传输服务不同,theta sdk可以集成到第三方应用程序或装置中,以便可以在第三方应用程序中查看或播放由对等节点访问的数据内容。软件开发工具包(sdk)是用于为特定平台创建应用程序的一组软件开发工具或编程包。sdk可以被编译为开发的应用程序的一部分,以提供专用接口和功能。替代地,sdk可以是单独编译的模块,可作为插件、附加件或扩展件合并到现有应用程序或播放器中,以便向应用程序添加特定功能而无需访问其源代码。
53.在各种实施方案中,对等节点404、406和408可以各自实现不同类型的客户端软件,从而实现不同的功能。实现边缘缓存器的对等节点412可以存储要交付的内容片段或片段中的切片。可以根据需要将切片传输到请求对等方。充当边缘缓存器412的对等节点可以
被视为具有两个本地缓存层,即存储器和硬盘驱动器。此对等节点412可以实现统一的缓存查找策略,其中首先访问存储器,然后可以访问硬盘驱动器以检索所请求的内容。然而,可以注意到,一些客户端可能没有硬盘驱动器存储装置(例如手机),在这种情况下,边缘缓存器412可以被实现为单个本地缓存。因此,可以启用抽象的缓存接口,以便具有或不具有硬盘驱动器的装置可以充当混合网络400中的边缘缓存器节点。此类节点可用于共享存储在存储器中的实时流和并发vod。在补丁更新的情况下,通常需要硬盘驱动器,因为补丁更新存储在硬盘驱动器上。
54.混合网络400支持的各种内容类型可以具有不同的延迟或时延要求。例如,直播需要实时或近乎实时的交付,而vod可能需要用户当前正在观看的部分的实时交付。数据二进制大对象可能不需要实时支持,但仍需要将下载时间降至最低。为了支持大文件的中继或传播,混合网络400可以支持“范围请求”,其中内容片段可以进一步被划分成更小的切片并且只请求和发送切片。例如,cdn服务器402可以支持范围请求,即使数据二进制大对象可以作为完整的大文件提供。
55.另外,混合网络400包括一个或多个智能跟踪器414,用于管理混合网络400内的内容的存储和消费。智能跟踪器414提供指导边缘缓存器412存储和交付数据的智能,并且可以并发地处理无限数量的实时流、vod数据或数据二进制大对象。智能跟踪器414可以用微服务架构实现,所述微服务架构包括信令服务462和发现服务464,如关于图4b详细地描述。
56.在智能跟踪器414的指导下,缓存器节点(边缘缓存器和查看器)可以基于其地理位置自组织成半随机连接的网络。在实例中,可以估计物理距离,并且可以基于某个阈值距离内的节点的地理位置将所述节点分类到网络中。例如,图4b示出根据本发明的实施方案用于基于地理位置和其他因素在缓存器节点之间分布数据二进制大对象/片段的智能跟踪器/发现服务的示意图。
57.此外,图4a所示的对等节点可以通信地耦合到支付服务器440,当数据内容作为文件或文件片段分布时,所述支付服务器促进和管理查看器404、406和408与边缘缓存器412之间的支付交易。支付服务器440的一个或多个实例可作为专用网络节点在混合网络400中实现,或与例如cdn服务器402、智能跟踪器414或混合网络400内的任何对等节点的另一个网络节点物理上位于同一位置。例如,支付服务器440可以与智能跟踪器414位于同一位置,其中每一者被实现为软件模块。虽然智能跟踪器414基于例如地理距离和资源可用性的因素确定对等节点之间的p2p连接,但其也可以确定支付授权群组,其中仅群组的成员可以交换参与p2p内容分布的支付。在各种实施方案中,支付服务器440可以被实现为独立的支付服务软件模块,或作为theta sdk的一部分。在图4a所示的示例性实施方案中,对等节点404、406、408和412各自分别连接至支付服务器440。此外,在一些实施方案中,支付服务器440可以由第三方提供,不同于由内容分布平台和最终用户查看器或缓存节点拥有的源cdn 402;在又一些实施方案中,内容分布平台本身可以运行支付服务器440。
58.图4b示出根据本发明的一些实施方案的例如混合网络400的混合网络内各个节点之间的示例交互。在此网络图450中,示出了网络实体的说明性功能。对等节点406、408和412各自连接至由智能跟踪器414提供的信令服务462和发现服务464。信令服务462例如基于web rtc标准经由javascript会话建立协议(jsep)促进查看器408与查看器/边缘缓存器406和412之间的握手。发现服务464基于各种对等方属性确定要相互连接的对等方,所述对
等方属性包括但不限于地理位置、文件类型或内容类型、互联网协议(ip)地址等。
59.为了访问混合网络上的内容,查看器408最初可以例如经由http请求向信令服务462传输id请求471,以分配其自身的id以在混合网络内使用以便访问内容。信令服务462跟踪活动的对等节点,并且可以用分配给查看器408的id 477进行响应。然后,查看器408传输id 477以及例如其ip地址、其地理位置和所请求的文件类型的其他属性,以及对可以服务于请求内容的相邻对等节点的对等方列表472的请求。发现服务464然后可以基于提供的ip地址、地理位置、所请求的文件类型等473从智能跟踪器414的数据库468访问对等方列表。发现服务464然后可以选择并返回包括一个或多个对等节点的对等方列表474,例如查看器406和查看器412,它们在此示例中都充当边缘缓存器节点,查看器408可以连接至所述查看器以访问所请求的内容。
60.在此实施方案中,信令服务462和发现服务464共同位于同一智能跟踪器414内。信令服务462可以将用于查看器408的id 477直接传送到发现服务464,并且发现服务464可以用所选对等节点列表474和id 477响应查看器408。在一些实施方案中,发现服务464可以传输对等方列表474中的所选对等节点的属性,例如,查看器406和查看器412的属性,例如其ip地址,以便查看器408可以将内容/切片请求传输到对等缓存器节点406和412,并出于它们相应的ip地址处。因此,查看器408使用id 477来获得直接通过查看器406和/或查看器412打开数据通道以接收内容所需的信息。对等节点之间的数据通道可持续存在,直到完成数据共享/中继操作。另外,查看器408与边缘缓存器406和412之间的任何支付交易可以由支付服务器440处理,包括用于个别内容片段或切片的微支付。
61.在此示例性实施方案中,每个对等节点406、408和412以及支付服务器440都可以访问公共区块链分类账490,即theta区块链。theta区块链提供theta代币,作为激励混合网络中的边缘缓存器的加密货币的形式。参考图8和图9公开了有关theta区块链的更多细节。
62.在一些实施方案中,每个边缘缓存器还可以包括统计服务、真实性服务和私有应用程序编程接口(api)服务。在cdn服务器402不提供实体标签的情况下,真实性服务可以提供每个数据片段的散列。私有api服务可以提供对私有api的访问,用于发布内容、配置更改、强制发布内容等功能。
63.图5是示出根据本发明的一些实施方案的分散数据流式传输和交付框架的不同层的软件架构模型图500。应用程序层502可以包括实现与应用程序的用户期望相一致的应用程序级程序逻辑的用户接口(ui)和程序代码、用于构建混合网络400的theta javascript网流媒体库,以及用于将应用程序与现有查看器/播放器/装置集成的theta sdk。
64.加密经济基础设施504涵盖了混合网络400内的支付过程实现方式,包括支付服务器440,其促进了查看器和边缘缓存器(例如402、406、408和412)之间的支付。可以为开发人员提供一组api/库来构建加密钱包,包括客户端和服务器端软件基础设施。还可以提供缓存器软件/库来构建基于webrtc的桌面客户端。
65.theta协议层506包括交付协议508和分类账协议510。交付协议508可以支持智能跟踪器服务器,其确定混合网络400中的对等方404、406、408和412之间的流式传输方法/带宽共享策略。分类账协议510可以包括共识机制、链上和链外交易的构建和处理规则,以及定义基于theta区块链的分类账系统的其他通信和加密协议。
66.使用计算机程序产品、方法和计算实体的实现方式
67.示例性系统架构
68.本公开的示例性实施方案可以包括一个或多个最终用户计算实体600、一个或多个网络、以及一个或多个cdn、跟踪器服务器、支付服务器或其他管理计算实体700,如图6和图7所示。本文中使用的这些组件、实体、装置、系统和类似词中的每一个可以互换地例如通过相同或不同的有线或无线网络彼此进行直接或间接通信。此外,虽然图6和图7示出了作为单独的独立实体的各种系统实体,但各种实施方案并不限于这种特定的架构。
69.示例性用户计算实体
70.图6是根据本发明的示例性实施方案的用于实现查看器节点或缓存器节点的最终用户计算装置的示例性示意图。能够查看或缓存流式传输的视频的最终用户计算装置600包括如图所示的一个或多个组件。将认识到,这些架构和描述仅提供用于示例性目的而并不限于各种实施方案。
71.一般而言,术语装置、系统、计算实体、实体和/或本文可互换使用的类似词语可指例如一个或多个计算机、计算实体、台式机、手机、平板电脑、平板手机、笔记本、笔记本电脑、分布式系统、游戏机(例如xbox、play station、wii)、手表、眼镜、钥匙扣、射频识别(rfid)标签、耳机、扫描仪、相机、腕带、信息亭、输入终端、服务器或服务器网络、刀片式服务器、网关、交换器、处理装置、处理实体、机顶盒、继电器、路由器、网络接入点、基站等和/或适于执行本文描述的功能、操作和/或过程的装置或实体的任何组合。此类功能、操作和/或过程可以包括例如传输、接收、检索、操作、处理、显示、存储、确定、创建、生成、监测、评估、比较和/或本文中可互换使用的类似术语。在各种实施方案中,这些功能、操作和/或过程可以对数据、内容、信息和/或本文中可互换使用的类似术语执行。另一方面,内容、跟踪器或支付服务器可以根据图7所示的示例性示意图实现,可能在云中实现,并且可能通过逻辑或物理分布式架构实现。
72.如图6所示,用户计算实体600可以包括天线670、无线电收发器620以及向收发器提供信号和从收发器接收信号的处理单元610。向收发器提供和从收发器接收的信号可以包括根据适用无线系统的空中接口标准的信令信息。在这点上,用户计算实体600可能够利用一个或多个空中接口标准、通信协议、调制类型和访问类型操作。更具体地,用户计算实体600可以根据许多无线通信标准和协议中的任何一种进行操作。在一些实施方案中,用户计算实体600可以根据多个无线通信标准和协议操作,例如5g、umts、fdm、ofdm、tdm、tdma、e-tdma、gprs、扩展gprs、cdma、cdma2000、1xrtt、wcdma、td-scdma、gsm、lte、lte演进、edge、e-utran、evdo、hspa、hsdpa、mdm、dmt、wi-fi、wi-fi直连、wimax、uwb、ir、nfc、zigbee、wibree、蓝牙等。类似地,用户计算实体600可以根据多种有线通信标准和协议经由网络和通信接口622操作。
73.经由这些通信标准和协议,用户计算实体600可以使用例如非结构化补充服务数据(ussd)、短消息服务(sms)、多媒体消息服务(mms)、双音多频信令(dtmf)和/或用户身份模块拨号器(sim拨号器)的概念与各种其他计算实体进行通信。例如,用户计算实体600还可以将更改、附加件和更新下载到其固件、软件(例如,包括可执行指令、应用程序、程序模块)和操作系统。
74.在一些实现方式中,处理单元610可以几种不同的方式体现。例如,处理单元610可以体现为一个或多个复杂的可编程逻辑装置(cpld)、微处理器、多核处理器、协处理实体、
fi接入点、蜂窝塔、附近的计算装置(例如,智能手机,笔记本电脑)等。例如,此类技术可能包括ibeacons、gimbal接近度信标、蓝牙低功耗(ble)传输器、nfc传输器等。这些室内定位方面可用于各种设置,以确定某人或某物的位置在几英寸或几厘米以内。由此获得的位置信息可用于确定附近的对等方以进行数据分布和检索。
79.在一些实施方案中,两个或多个用户可以使用先前列出的网络协议,以及包括bittorrent的任何点对点协议,或者由theta混合网络提供的协议中的任一个在其计算装置之间建立连接。在一些实施方案中,用户计算装置可以使用例如622的网络接口来与各种其他计算实体通信,以交换可以进行传输、接收、操作、处理、显示、存储等的数据内容、信息和/或本文中可互换地使用的类似术语。
80.在一些实施方案中,当装置访问例如无线接入点或热点的网络连接时,可以由一个或多个用户计算装置将数据(例如,音频、视频等)下载到如图7所示的服务器。可以使用文件传送协议(ftp)、mq遥测传输(mqtt)、高级消息队列协议(amqp)、超文本传送协议(http)和http安全(https)等协议执行数据传送。这些协议可以通过传输层安全性(tls)和/或安全套接字层(ssl)实现安全。
81.示例性管理计算实体
82.图7是根据本发明的示例性实施方案的用于实现theta网络的例如cdn或跟踪服务器的管理计算实体700的示例性示意图。术语计算实体、计算机、实体、装置、系统和/或本文可互换地使用的类似词语参考用户计算实体600详细地进行解释。
83.如所指示,在一个实施方案中,管理计算实体700可以包括一个或多个网络或通信接口720,用于例如通过传送可以进行传输、接收、操作、处理、显示、存储等的数据、内容、信息和/或本文中可互换地使用的类似术语与各种计算实体通信。例如,管理计算实体700可以与用户计算装置600和/或各种其他计算实体通信。网络或通信接口720可以利用有线数据传输协议,例如光纤分布式数据接口(fddi)、数字用户线(dsl)、以太网、异步传送模式(atm)、帧中继、电缆数据业务接口规范(docsis)或任何其他有线传输协议。类似地,管理计算实体700可以被配置成使用如参考用户计算装置600所讨论的各种标准和协议中的任一个经由无线外部通信网络进行通信。
84.如图7所示,在一个实施方案中,管理计算实体700可以包括一个或多个处理单元710(也称为处理器、处理电路、处理元件和/或本文中可互换地使用的类似术语)或与其进行通信,所述处理单元与管理计算实体700内的其他元件通信。如将理解,处理单元710可以以许多不同的方式体现。例如,作为一个或多个cpld、微处理器、多核处理器、协处理实体、asip、微控制器和/或控制器,其形式为集成电路、专用集成电路(asic)、现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、硬件加速器、其他电路等。因此,将理解,处理单元710可以配置成用于特定用途或配置成执行存储在易失性或非易失性介质730和740中的指令。因此,无论是通过硬件或计算机程序产品配置,还是通过它们的组合来配置,处理单元710在相应地进行配置时都能够执行根据本公开实施方案的步骤或操作。
85.尽管没有明确示出,但管理计算实体700可以包括一个或多个输入元件或与其通信,所述输入元件例如键盘、鼠标、触摸屏/显示器、用于运动和移动输入的摄像头、用于音频输入的麦克风、操纵杆等。管理计算实体700还可以包括一个或多个输出元件或与其通信,所述输出元件例如扬声器、屏幕/显示器等。
86.在各种实施方案中,管理计算实体700的一个或多个组件可以远离其他管理计算实体组件定位,例如位于分布式系统中或云中。此外,一个或多个组件可以组合在一起,并且执行本文描述的功能的附加组件可以包括在管理计算实体700中。
87.基于theta区块链的分类账系统
88.为了鼓励和激励对等节点贡献其计算、带宽和存储资源,可以设置一个支付或奖励系统,其中缓存节点在将视频流中继给其他查看器时获得奖励。此类支付系统还可以通过允许广告商直接吸引查看器并且通过为流式传输和内容平台提供新的和增量的收入机会而大大提高流式传输市场效率。
89.基于区块链的加密货币支付系统
90.虽然可以考虑传统的支付处理解决方案来促进上述奖励系统,但与分散数据流式传输和交付自然兼容的安全且延迟最小的替代方案是例如基于区块链的分散的分布式公共分类账支付服务系统。区块链是通过密码学链接的公共交易记录或区块的列表,并且通常由具有节点间通信和区块验证协议的点对点网络管理。虽然传统的支付系统需要中央机构来验证和清算交易以维持信任,但区块链分类账系统在没有这种中央机构的情况下实现了全球性的分散的共识。区块链是不可变的,对交易数据的修改几乎是不可能的,这种属性使其适合被加密货币用作上述奖励系统中的支付方法。
91.更具体地说,基于区块链的公共分类账系统是分散的分布式公共分类账或交易数据库,其中公共交易记录或交易的列表被写入数据块并通过加密技术链接。交易是一种对从一个用户到另一个用户的值传送进行编码的数据结构或记录。交易被捆绑到区块中,并且每个区块都通过称为挖掘的加密计算过程并基于区块链网络的所有节点遵循的一组共识规则进行验证。区块链通常通过点对点加密货币网络进行管理,其中每个对等方维护区块链的完整或部分副本。区块链依赖于所有对等方之间的分散的加密共识来实现不可变性,其中交易记录一旦写入区块中就无法修改,并且区块被对等方验证和接受。区块挖掘和验证是指分布式共识过程中的特定步骤,每当将新交易添加到区块链时都需要这些步骤。
92.基于区块链的加密货币支付系统与传统的银行和支付系统从根本上不同,因为它基于分散的信任机构而不是中央信任机构。也就是说,尽管传统的法定货币通常以数字方式存储和传输,但通过中央机构(例如各个银行机构或清算所)清算和结算电子转账或支付可以防止欺诈、重复付款以及其他问题和争议。相比之下,基于区块链的加密货币支付系统依赖于密码学和分布式共识来信任交易的合法性或价值索取,而不依赖于第三方。
93.交易记录或交易是包括一个或多个输入和一个或多个输出的数据结构,可以将其视为针对交易中涉及的不同实体的借方和贷方。一个交易的输出用作另一个交易的输入。在区块链上记录的用户余额是由用户通过加密密钥控制的所有交易输出的汇总,并且尚未用作其他交易的输入。区块链作为公共分类账全部或部分地由加密货币网络中的各个对等节点存储。这与传统的、集中的、私有的、基于账户的支付系统非常不同,在传统的、集中的、私有的、基于账户的支付系统中,一个中央服务器或中央机构记录用户的账户余额,并在发生资金转账时更新此余额。
94.分布式数据交付的基于theta区块链的分类账系统
95.与查看器以订阅或按次付费的形式直接向中央服务器付费的集中式视频流式传输平台不同,补偿多个对等方且每个对等方向点对点网络中的多个其他对等方提供小视频
数据片段的替代方案带来了严重的扩展问题。典型的视频片段只有几秒钟长,而以这样的粒度付费时,对于仅具有中等数量的一万个并发查看器的实时流,每秒可以产生数千笔交易,远远超过当今公共区块链的最大吞吐量。例如大型电子竞技锦标赛的流行实时流可以吸引超过一百万个查看器同时观看一个流,更不用说多个并发实时流了,这可能会将所需的交易吞吐量进一步推高到每秒数百万的范围。
96.为了克服上述困难,提出和实施新颖的分散式公共分类账系统,即基于theta区块链的分类账系统,以用于分散数据流式传输和交付。例如,图4b所示的区块链490可以根据theta协议在theta代币挖掘网络上实现,所述协议建立在以下三种新颖设计的基础上。
97.首先,采用多级拜占庭容错(bft)共识机制,允许数千个节点参与共识过程,同时仍然支持例如每秒1000多个交易的范围内的非常高的交易吞吐量。数据流式传输应用程序通常需要快速达成共识。对于带宽共享奖励,贡献冗余带宽的用户通常希望在发送下一个数据片段之前确认支付。为了最大限度地减少交易确认延迟,theta协议使用一小组节点来形成验证器委员会,从而使用实际的bft(pbft)式流程尽可能快地产生区块链。在具有足够数量的验证器,例如10到20个节点的情况下,验证器委员会可以快速产生区块,同时仍然保留高难度,以防止对手损害区块链的完整性。一旦交易包括在新区块中,它就会被“提交”。为了有资格加入验证器委员会,节点可以在一段时间内锁定一定量的股份。如果检测到恶意行为,则可以削减锁定的股份。委员会达成共识的区块被称为已结算区块,并且它们产生区块链的过程被称为区块结算过程。
98.接下来,称为守护者节点的数千个共识参与者可以验证并最终确定验证器委员会在检查点区块生成的链。守护者网络是验证器委员会的超级集合,其中验证器也是守护者。在一段时间内进行一定量的代币锁定后,网络中的任何节点都可能立即成为守护者。守护者可以下载并检查验证器委员会生成的区块链,并尝试就检查点达成共识。“最终确定”是指说服每个诚实的守护者:所有其他守护者中超过一定部分(例如,2/3)看到相同的区块链。守护者节点已经达成共识的区块被称为最终确定区块,并且它们最终确定区块链的过程被称为区块最终确定过程。检查点区块是满足一组给定条件的所选区块子集,例如,其高度是某个整数的倍数。这种“跨越式”的最终确定策略利用了区块链数据结构的不变性特性,其中只要两个守护者节点以压倒性概率就区块的散列达成一致,它们将具有一直到所述区块的整个区块链的完全相同副本。验证器/守护者部门提供多级安全保障。验证器委员会提供第一级共识,并且守护者池形成第二道防线。对于数千个节点,基本上更加难以损害网络完整性,因此提供了更高级别的安全性。这种共识机制在交易吞吐量、一致性和分散程度之间实现了良好的平衡。
99.其次,theta区块链使用聚合签名八卦方案来显著降低消息传递复杂性。每个守护者节点不断组合来自其所有相邻者的部分聚合签名,然后八卦聚合的签名。以此方式,每个节点的签名份额可以以某一指数率到达其他节点。此外,签名聚合使节点到节点消息的大小保持较小,从而进一步降低了通信开销。
100.第三,theta区块链为数据内容流式传输和交付提供了链外“面向资源的微支付池”。链外微支付池使用链外交易实现一对多和多对一支付。对于视频流式传输,查看器可以为从多个缓存器中提取的视频内容付费,并且缓存器可以因向多个查看器交付视频数据而得到付费,所有这些都只需要有限数量的链上交易。将大量交易下线可以显著提高区块
链的可扩展性。
101.此外,根据本发明的theta分类账系统解决了数据流式传输应用特有的几个挑战。
102.首先,本发明支持超高的交易吞吐量。虽然许多区块链项目都面临着交易吞吐量问题,但实时视频流式传输的扩展是不同的,甚至可能更复杂。在每个视频片段的代币奖励微支付的粒度下,对于通常与数百万个并发查看器建立多个实时流的流行电子竞技锦标赛,每秒可以生成数百万个微交易,远远超过例如比特币和以太坊的当今公共链的最大吞吐量。据报道,dfinity和zilliqa等新代区块链解决方案每秒可处理数千甚至数万笔链上交易。然而,对于这些其他系统来说,每秒数百万笔交易仍然是遥不可及的目标。为了更接近,例如支付网络的二级可扩展性解决方案可能是追求的一种选择。支付网络是指设计成允许用户无需将所有交易提交到区块链即可进行多项交易并提高底层区块链的可扩展性的一类技术。尽管如此,此类支付网络依赖于底层支付通道和/或中间交换以及专用的支付路由路径,具有累积的延迟和复杂性。相反,根据本发明的分类账系统经由“面向资源的微支付池”以链外扩展的形式提供了新颖且创新的解决方案,其将可支持的吞吐量放大了几个数量级。
103.其次,交易吞吐量高的副产物是快速增长的存储消耗,而存储微支付交易对存储的要求很高。在每秒有数百万笔交易添加到分类账的情况下,普通计算机的存储空间可能会很快耗尽。本发明通过将大多数微支付交易移到链外来减少需要存储在区块链中的交易数量。
104.第三,本发明可以结合抵押品以防止重复付款。也就是说,本发明可以检测重复付款,并确保重复付款者得到的净值在所有情况下都严格地为负。在一些实施方案中,可以在没有信任的情况下进行微支付,最大风险是丢失非常有限数量的微支付,例如对于单个数据包的微支付。
105.在下文中,首先描述了支付通道和支付网络,以突出它们在交易吞吐量高的p2p数据流式传输中使用的优缺点。将在下一小节中公开面向资源的链外微支付池。
106.支付通道和支付网络
107.支付通道是允许用户在不提交到区块链的情况下交换多笔交易的一类现有机制。这种“离线”交易可以稍后在区块链上结算,从而产生最小的交易确认延迟。支付通道是一种状态通道,其中首先通过资金交易将两个用户之间共享的状态锁定到区块链上,并且其中所述状态是加密货币金额或余额。后续承诺交易在两个用户之间离线交换,以更新初始状态。最终结算交易在提交给区块链进行确认时单方面或双方面关闭状态通道。由于状态更新或承诺交易可以在用户之间离线交换,因此一旦创建并签名,就可以在资金和结算交易之间交换更多交易。将链上交易的数量减少到两个也大大降低了与非常频繁的微支付相关的成本。
108.作为支付通道的简单的说明性示例,考虑这样的案例:alice想在一个月内每天使用加密代币从bob处购买食品。由于alice需要为每笔代币交易支付交易费,她更倾向于在月底向bob支付一笔一次性付款,但bob更倾向于每件食品进行一笔代币交易,因为他并不完全相信alice会在月底支付一次性付款。
109.支付通道是打破僵局的可行选择。在第一天,alice可以将30个代币存入单独的钱包w,所述钱包通过要求alice和bob双方的交易签名只允许bob从中取款。在这笔押金交易
记录在区块链上之后,bob确认alice已经预留了足够数量的代币来支付他整个月的费用,并且他是唯一允许从这个钱包中取款的人。在第n天(1≤n≤30),bob给了alice一件食品,并作为回报得到了部分签名的承诺交易,交易将n个代币分配给bob,并将剩下的30-n个代币作为找零返回给alice。因此,bob可以在任何m天签署并发布从alice收到的最新承诺交易作为区块链上的结算,以索取m-1或m个代币,这具体取决于alice是否已为第m个食品签署了最新的结算交易。一旦结算,押金资金就会耗尽,m个代币发送给bob,并且其余的代币返回给alice。如果每日购买过程持续到第30天,bob可以签署alice的最后一笔交易并将其提交给区块链,以一次从钱包w中索取所有30个代币。因此,bob不需要担心alice不支付任何食品,并且bob被激励只向区块链提交最后一笔交易,因为区块链已经给了他大多数代币。另外,alice不能通过发布任何这些交易来作弊,因为它需要alice和bob两个人的签名。
110.因此,支付通道可以显著提高区块链的可扩展性,因为它减少了链上交易的数量。在以上示例中,它将链上交易的数量从30个减少到2个。以上示例是单向支付通道的简化说明。实际支付通道需要如时间锁的更多定制以及相关功能。
111.当以上示例中的食品被替换为视频片段时,通过支付通道,查看器只需一个链上结算交易即可为许多视频片段付费。然而,需要考虑两个问题。首先,缓慢的节点切换时间不利于将数据片段从多个缓存器流式传输给多个查看器。如上文所讨论,需要链上交易才能在任何双方之间建立支付通道,这可能需要至少几秒钟才能在区块链上确认。通常,在实时流会话(一到两个小时长)中,查看器节点可以从10多个缓存中继节点中提取流片段。每次查看器需要从新的中继或缓存节点中提取流时,其需要首先进行链上交易,这非常耗时。此外,在确认链上交易之前,查看器节点无法从缓存/中继节点提取流。这可能会停止视频流,从而导致用户体验下降。其次,需要预留大量代币。每个支付通道需要预先预留一定数量的代币。因此,从一个查看器到多个中继节点或从多个查看器到一个中继节点创建10多个支付通道可能并不总是可行的,特别是如果查看器没有足够的代币时。因此,即使对等缓存节点具有所需的流片段,查看器也可能无法从对等节点进行提取,从而导致网络利用不足,并且内容分布平台节省的成本较低。
112.除了在查看器-中继对之间创建直接支付通道外,还可以使用链外“支付网络”通过中间方进行支付。例如,闪电网络是双向支付通道网络,其允许将支付从一个支付通道路由到下一个支付通道,而无需信任中间对等方。但是,通过支付通道网络进行路由涉及发现查看器与缓存器之间的间接路由,但这种间接路由可能并不总是存在。即使查看器与缓存器之间确实存在间接路由,通过额外的跃点发送微支付也会增加时延和复杂性。
113.用于分散的数据流式传输和交付的面向资源的微支付池
114.为避免在激励对等节点参与分散的p2p数据流式传输和交付时出现与支付通道和支付通道网络相关联的上述问题,可以构建新颖的“面向资源的微支付池”,多个用户可以使用链外交易对其进行存款或取款,同时防止重复付款。也就是说,尽管查看器和缓存器可能连接以进行数据传输,但当受到基于区块链的加密货币的激励时,两者也可能连接到支付服务器和/或区块链进行支付结算,以及连接到一些对等节点以进行可能的路由微支付。图4b中示出了这种设置。在theta区块链分类账框架内,所公开的微支付池有助于多方之间的微支付,而无需连接的支付网络。
115.用于多源数据流式传输和交付的一对多微支付处理
116.如前所述,在典型的实时流会话中,查看器节点可以从多个中继或缓存节点提取数据流片段。使用一对多微支付池,查看器无需指定在创建微支付池时哪些账户可以提前取款。与传统的链外支付通道相比,这样的系统要灵活得多。具体地,对于分散视频流式传输和交付,其允许查看器为从多个缓存节点提取的视频内容付费,而无需中间链上交易,也无需维护与每个个别缓存节点的支付连接。通过将链上交易替换为链外支付,内置的“面向资源的微支付池”显著提高了区块链的可扩展性。
117.图8是示出通过面向资源的微支付池进行交易的图800,示出了查看器802alice为视频块向缓存器804bob和806carol进行链外支付。也就是说,多个缓存器与同一查看器alice共享数据,并通过alice在theta区块链上创建的微支付池进行支付。在此特定示例中,将执行以下步骤。
118.步骤1.创建微支付池:alice可能使用以下命令810发布链上交易以创建具有时间锁和可消减抵押品的微支付池:
119.createpool(resourceid、押金、抵押品、持续时间)
120.为了创建池,alice可指定唯一地表示她想要检索的数字内容的“资源id”resourceid。它可能是指视频文件或实时流。押金金额至少可以是要检索的资源的总价值。例如,如果资源是价值10个代币的视频文件,那么押金必须至少是10个代币。抵押品阻止了alice进行重复付款。如果区块链的验证器检测到来自alice的重复付款尝试,则可以消减抵押品。在后面的章节中将讨论,如果抵押品》押金,则重复付款的净回报总是负数,因此任何理性的用户都没有动力进行重复付款。持续时间是类似于标准支付通道的时间锁。从支付池中取款必须在时间锁到期之前进行。区块链在已将createpool交易提交到区块链后向alice返回merkle证明,以及createpool交易的交易散列值createpooltxhash。
121.步骤2.对等方之间的初始握手:每当alice想要从对等方(例如bob、carol或david等)检索指定的资源时,她都会向所述对等方发送820链上createpool交易810的merkle证明和交易散列值。接收方对等方可以验证merkle证明,以确保池中有针对请求的资源的足够押金和抵押品,并且双方都可以继续进行后续步骤。
122.步骤3.链外微支付:alice对servicepayment交易进行签名,并将其发送给链外对等方,以换取数据块或指定资源的部分(例如,一段视频文件、实时流片段等)。servicepayment交易可能包含以下数据:
123.targetaddress、transferamount、createpooltxhash、targetsettlementsequence、sign(ska,targetaddress||transferamount||createpooltxhash||targetsettlementsequence)。
124.targetaddress是alice从中检索资源的对等方的地址,且transferamount是alice想要发送的代币付款金额。targetsettlementsequence是为了防止重放攻击。这类似于以太坊交易中的“nonce”参数。如果目标将servicepayment交易发布到区块链(请参阅下一步),则其targetsettlementsequence需要递增1。接收方对等方验证链外交易和签名。验证后,接收方对等方可以向alice发送由createpool交易指定的资源830或832。此外,链外servicepayment交易可以在两个对等方之间直接发送。因此,此步骤没有可扩展性瓶颈。
125.步骤4.链上结算:从alice接收servicepayment交易840或842的任何对等方(即bob、carol或david等)都可以在时间锁到期之前的任何时间将签名的交易发布到区块链以
提取代币。发布的servicepayment交易也可以被称为“链上结算”交易。接收方对等方需要支付链上结算交易的燃气费。为了支付更少的交易费用,他们将有动力仅在必要时发布链上结算,这有利于网络的可扩展性。
126.请注意,当alice从一个对等方切换到另一个对等方以检索资源时,不需要新的链上交易。在视频流式传输上下文中,这意味着查看器可以在任何时间切换到任何缓存节点,而不会进行可能阻止或延迟视频流交付的链上交易。如图8所示,在bob离开的情况下,alice可以在从bob处接受到k个块后切换到carol,并在没有链上交易的情况下继续接收视频块或片段。
127.此外,创建微支付池所需的代币总数是(抵押品 押金),无论alice从多少对等方检索资源,所需的代币总数都可以低至所请求资源价值的两倍。使用计算复杂性语言,与单向支付通道方法相比,预留代币的量从o(n)减少到o(1),其中n是alice从中检索资源的对等方的数量。
128.重复付款检测和罚款分析
129.与任何加密货币一样,根据本发明的一些实施方案,恶意行为者可能试图进行重复付款并在被检测到后受到处罚。
130.在此示例中,网络能够检测到微支付池的创建者alice进行重复付款,并且可以确保alice从重复付款中获得的净值严格为负数。为了检测重复付款,验证器节点可以检查每笔链上交易。如果微支付池中的剩余押金无法覆盖由alice和另一个对等方签署的下一笔合并支付交易,则验证器可认为alice进行了重复付款,并确保alice在进行重复付款时情况更糟。
131.在一个更具体的示例中,对等方bob、carol和david可为诚实的,而alice是恶意的。更糟糕的是,她可能与另一个恶意的对等方edward串通。alice与bob、carol和david交换指定资源的部分签名交易。由于alice没有获得重复资源的额外价值,因此她从bob、carol和david那里获得的最大价值最多是押金金额。由于alice与edward串通,她可以向edward发送全额押金。然后,她要求edward在其他人之前提交结算交易,并在之后向她退还押金。换句话说,在检测到重复付款之前,alice免费获得了价值为最多押金金额的资源。之后,当bob、carol或david提交结算交易时,检测到重复付款,并且将消减全部抵押品金额。因此,alice的净回报是netalice=押金-抵押品。因此,对于这种情况,只要抵押品》押金,alice的净回报为负。因此,如果alice是理性的,她就不会有任何动力进行重复付款。同样,对其他案例的分析表明,如果alice进行重复付款,她的净回报总是负数。
132.在另一个示例中,alice很诚实,但她的一些对等方是恶意的。在alice向其中一个对等方发送微支付后,可能不会向alice返回她想要的资源。在这种情况下,alice可以转向另一个对等方来获取资源。由于理论上每一笔增量微支付都可以无限小,因此alice的损失可以任意小。
133.视频平台参与p2p流式传输的多对一微支付处理
134.除了促进查看器与多个缓存节点之间的p2p流式传输之外,根据本发明实现的theta分类账系统在视频平台上具有进一步的实用性和功能性。例如,最终用户查看器可以直接向内容提供商和受欢迎的网红赠送礼物,或者购买虚拟物品和商品,然后可以赠送给网红。广告商和品牌赞助商还可以资助他们的广告活动,以自动奖励视频流中将显示这些
广告的网红,并且任选地,广告商可以奖励查看器对流内容和广告的关注。最终用户还可以购买优质内容、虚拟商品和其他付费产品和服务。
135.此外,视频平台可鼓励其用户通过基于共享的带宽向用户付费来共享带宽。在说明性示例中,根据本发明的一个实施方案,alice可以与多个对等方bob、carol和david等共享数据,并且视频平台可以通过微支付池奖励alice加密货币代币,其处理协议如下所述。在此说明性实施方案中,支付服务模块可以验证已签名的服务回执和跟踪器授权,并将更新的链外交易发送到中继/缓存节点,以便最终进行链上结算。
136.图9是示出通过由内容分发器或视频平台901建立的面向资源的微支付池进行交易的图900,示出了根据本发明的一些实施方案接收用于向多个查看器(包括804bob和806carol)交付数据内容的链外支付的边缘缓存器802alice(“对等方a”)。在此特定示例中,将执行以下步骤。
137.步骤1.建立用于数据共享的对等方组:跟踪器和支付服务器903将查看器802、804和806一起合并为组,并向每个参与的对等方提供一个或多个支付授权证书910。例如,可以将授权证书auth(alice,bob)提供给alice,这可确保对等方或查看器只能在跟踪器服务器建立的查看器组内交换支付。如先前参考图4b所讨论,支付服务器或支付服务模块可以与跟踪器服务器或跟踪器服务模块位于同一位置。支付服务器也可以由视频平台901直接运行。
138.步骤2.创建微支付池:视频平台901可以使用以下示例性命令920通过支付服务模块创建具有时间锁和可消减抵押品的微支付池:
139.createpool(resourceid、押金、抵押品、持续时间)。
140.再次,为了创建池,视频平台901指定唯一地表示要检索的数字内容的“资源id”resourceid。它可能是指视频文件或实时流。押金金额需要至少是要检索的资源的总价值。例如,如果资源是价值10个代币的视频文件,那么押金将至少是10个代币。需要抵押品来阻止重复付款。如果区块链网络的验证器检测到重复付款尝试,则可以消减抵押品。持续时间是类似于标准支付通道的时间锁。从支付池中取款必须在时间锁到期之前进行。在实时流的情况下,已删除的押金可能会自动重新填充,以避免任何重复付款混淆。
141.为了视频平台901奖励其查看器进行带宽共享,支付服务器或此处的支付服务模块903可以由第三方维护,为视频平台901提供代币托管服务。视频平台901可以从市场上购买加密货币,并将购买的代币存储在支付服务器中。当视频平台901需要提交资金交易时,它可以调用支付服务器903提供的api来启动过程。在一些其他实施方案中,视频平台901可以直接运行支付服务器903,并且资金交易提交可以实现为内部调用。
142.在已提交资金交易之后,支付服务器903向视频平台901返回信息922,包括已提交之后的createpool()交易的merkle证明,以及createpool()交易的交易散列值createpooltxhash。视频平台901在通知消息924中将merkle证明传递给alice,以便alice知道微支付池的创建。在一些实施方案中,替代地,通知消息可以包含其他数据类型和/或结构。
143.步骤3.数据共享:alice与对等方bob共享数据块930,且并发或异步地与对等方carol共享数据块932。数据930和932可以各自是先前指定的数字内容数据资源的一部分。例如,它们可以各自是视频文件的片段或切片、单个数据包、实时流片段等。
144.步骤4.链外微支付:bob签署了servicereceipt 940并将其链外发送给alice,以换取指定资源的部分。同样,carol签署了servicereceipt 942,并将其链外发回给alice。
145.步骤5.微支付回执提交:当alice从其服务的对等方接收到微支付回执时,alice将微支付回执与授权证书一起提交给支付服务器903,作为上传数据950。支付服务器903需要验证1)每个对等方签署的servicereceipt,以及2)跟踪器服务器已授权每个对等方与alice之间的共享。
146.更具体地说,在alice向bob提供或共享数据930并接收到servicereceipt 940之后,alice将servicereceipt 940提交给支付服务器903,且又从支付服务器903接收链外交易,所述交易记录用于与bob共享的数据930的从微支付池到alice的支付转账金额。接下来,在alice向carol提供或共享数据940并接收到servicereceipt 950之后,alice将servicereceipt 950提交给支付服务器903,且又接收更新的交易,或更新上一个离线交易的另一个离线交易。此更新的交易记录了从微支付池到alice的针对与bob共享的数据930和与carol共享的数据940的另一更新的支付转账金额。
147.类似地,当与bob,carol或其他查看器共享更多数据片段时,支付服务器903在由一个或多个新的servicereceipts触发时将相应的更新离线交易发送给alice,每个更新的离线交易记录相应的更新付款转账金额,所述金额涵盖了alice迄今为止与对等方共享的所有数据,这些数据尚未通过链上结算交易支付。
148.步骤6.链上结算:支付服务器903向alice发送更新的链外交易960,所述交易累积了alice迄今为止收到的付款总额,因此alice可以随时将其作为链上交易970提交给区块链,并索取奖励972的更新余额。交易960可能包含以下数据:
149.targetaddress、transferamount、createpooltxhash、targetsettlementsequence,sign(ska,targetaddress||transferamount||createpooltxhash||targetsettlementsequence)。
150.对于链上结算,视频平台或alice可以在时间锁到期之前的任何时间定期将签名的交易发布到区块链,以奖励alice代币。发布的servicepayment交易也可以被称为“链上结算”交易。无论共享的数据块或片段的数量,只需要单个链上结算交易即可索取涵盖所有各个微支付的付款总额。也就是说,后续交易更新了之前的交易,并且只有最后一笔交易被提交给区块链,以索取涵盖与所有查看器共享的所有未付费数据块的成本的付款总额。由于与多个查看器共享两个以上的数据块,因此链上结算交易的数量一致地保持不变,从而摊销并显著减少与加密货币微支付相关联的交易确认时间延迟。
151.同样,链上结算交易需要支付燃气费。为了支付更少的交易费用,会有强大的动力仅在必要时发布链上结算,这有利于网络的可扩展性。
152.此外,当alice同时与多个对等方共享视频流时,不需要链上交易。在视频流式传输上下文中,这意味着查看器可以随时切换到任何缓存节点,而不会进行可能阻止或延迟视频流交付的链上交易。
153.此外,在一些实施方案中,支付流可以在不信任重复付款的情况下运行。对等方只有在看到在区块链中创建了微支付池时才能提供数据共享服务。随后,对于每个数据包,对等方可以检查视频平台/支付服务器是否签署了对应的微支付交易。如果对等方检测到微支付签名失败,它可以停止带宽共享。因此,对等方可能会面临单笔微支付的风险。由于理
论上每一笔增量微支付都可以无限小,因此,此损失可以任意小。替代地,对等方可能仅在接收到数据包的签名支付之后发送所述数据包,而丢失的风险则由视频平台承担。
154.支付服务器或支付服务模块的使用以及上述流程步骤的组合是对区块链激励的点对点数据共享技术的改进,从而通过减少缓存器向多个查看器交付数据时所需的链上结算交易数量,显著减少了与加密货币微支付相关联的交易确认时间延迟。在处理高吞吐量微支付方面的这种显著性能改进在时间敏感性高和实时要求高的实时流式传输方案中尤其有利。在采用这种微支付池的直播平台的一个特定实现方式中,每天可以处理超过100,000个汇总的链上支付交易,而每个链上交易平均对应于大约30到40个链外微支付。因此,可以处理300万到400万笔微支付,但这仍然远远低于系统设计的可实现的吞吐量限制。
155.总之,针对数据交付和数据流式传输微支付的独特要求,本发明的实施方案有关两个竞争目标谨慎地折衷:使用公共分类账系统的分散信任以及在低交易成本下的快速可扩展的交易速度。也就是说,在使用支付服务器或支付服务模块以及基于区块链的支付系统的分散性时存在权衡,这依赖于分散的信任而不是中央信任机构。虽然仍然依赖于区块链提供的分散信任,但在以上说明性实施方案中,每个缓存器节点都需要与支付服务器通信连接,并且这种叠加拓扑可以被视为额外的中心化层,这与纯点对点数据共享相悖。尽管如此,如前所述,支付服务器结合到新颖的混合数据交付网络中,并允许视频平台奖励缓存器以便与多个查看器共享数据,同时仍然最大限度地减少交易确认时间延迟。
156.视频流式传输之外的微支付池的应用
157.在上面的讨论中,在视频交付上下文中呈现面向资源的微支付池。只要可以识别资源,微支付池也可以用于其他应用,其中当用户从不同的对等方获取资源的多个副本时,用户无法获得额外价值。以下是一些示例:资源可以是通用文件,因此面向资源的微支付池可以促进通用文件共享/存储。在应用程序分布(例如apple appstore、googleplay等)的上下文中,应用程序可以被视为资源。资源也可以是某种类型的服务,例如,文件压缩服务、视频转码服务、求解一组线性方程等。对于这些服务,请求者不会通过从两个供应商处获取相同的服务而获得额外的价值。
158.结论
159.本领域普通技术人员将了解,用例、结构、示意图和流程图可以其他次序或组合执行,但是本发明的发明构思仍然没有脱离本发明的较宽泛的范围。每个实施方案可能是唯一的,并且方法/步骤可被缩减或扩充,与其他活动重叠,推迟,延迟并且在某一时间间隙之后继续进行,使得服务器适应每个最终用户装置来实践本发明的方法。
160.本发明可以在硬件和/或软件中实现。为了不模糊本发明,并未示出所述系统的许多组件(例如,信号处理模块或网络接口等)。然而,本领域普通技术人员将了解,所述系统必然包括这些组件。如图6所示,计算装置是包含耦合至存储器的至少一个处理器的硬件。处理器可表示一个或多个处理器(例如,微处理器),并且存储器可表示包括硬件的主存储装置的随机存取存储器(ram)装置,以及任何补充层级的存储器,例如缓存存储器、非易失性或备份存储器(例如,可编程存储器或闪存)、只读存储器等。另外,存储器可被视为包括物理地位于硬件中其他位置的存储器存储装置,例如处理器中的任何缓存存储器,以及用作虚拟存储器,例如存储在大容量存储装置上的任何存储容量。
161.计算装置的硬件通常还接收多个输入并且进行输出以在外部传达信息。对于与用
户的介接,硬件可包括一个或多个用户输入装置(例如,键盘、鼠标、扫描仪、传声器、摄像头等)和显示器(例如,液晶显示器(lcd)面板)。对于额外的存储装置,硬件还可包括一个或多个大容量存储装置,例如软盘驱动器或其他可移动盘驱动器、硬盘驱动器、直接存取存储装置(dasd)、光盘驱动器(例如,压缩盘(cd)驱动器、数字通用盘(dvd)驱动器等)和/或磁带驱动器等等。另外,硬件可包括到一个或多个网络(例如,局域网(lan)、广域网(wan)、无线网络和/或互联网等等)的接口以准许与耦合至网络的其他计算机进行流式传输内容和信息的通信。应当了解,硬件通常包括合适的模拟和/或数字接口以彼此通信。
162.在本发明的一些实施方案中,在所谓的云实现方式中,可实现整个系统并且通过互联网将整个系统提供到终端用户和操作者。将不需要软件或硬件的本地安装,并且将允许终端用户和操作者使用客户端上的网络浏览器或类似的软件直接通过互联网来访问本发明的系统,所述客户端可为台式计算机、膝上型计算机、移动装置等等。这消除了客户端侧上对自定义软件安装的任何需求并且提高了服务(软件即服务)交付的灵活性,而且提高了用户满意度和易用性。设想本发明的各种业务模型、收入模型和交付机制,并且所有这些都应被视为处在本发明的范围内。
163.硬件在操作系统的控制下进行操作,并且执行各种计算机软件应用程序、组件、程序代码、库、对象、模块等,以执行上文描述的方法、过程和技术。
164.一般而言,执行以实现本发明的实施方案的方法可被实现为以下各项的一部分:操作系统或特定应用程序、组件、程序、对象、模块、或者被称为“一个或多个计算机程序”或“一个或多个程序代码”的指令序列。计算机程序通常包括一个或多个指令集,所述指令集在不同的时间存在于计算装置或计算机中的不同的存储器和存储装置中,并且在由计算机中的一个或多个处理器读取并执行时致使计算机进行执行涉及本发明的各方面的元件所需的操作。此外,虽然已经在功能完善的计算机和计算机系统的上下文中描述了本发明,但是本领域技术人员将了解,本发明的各种实施方案能够作为程序产品以各种形式进行分布,并且无论实际上用于实现所述分布的机器或计算机可读介质的具体类型如何,本发明都同样适用。计算机可读介质的实例包括但不限于:可记录类型介质,例如易失性和非易失性存储器装置、软盘和其他可移动盘、硬盘驱动器、光盘(例如,压缩盘只读存储器(cd-roms)、数字通用盘(dvd)等)以及数字和模拟通信介质。
165.尽管已经对本公开的具体实施方式进行了描述,但本领域普通技术人员将认识到,许多其他修改和替代实施方案都在本公开的范围内。例如,关于特定装置或组件描述的任何功能和/或处理功能可由任何其他装置或组件执行。此外,虽然已经根据本公开的实施方案描述了各种说明性实现方式和架构,但本领域普通技术人员将理解,对本文描述的说明性实现方式和架构的许多其他修改也在本公开的范围内。
166.框图和流程图的块支持用于执行指定功能的构件的组合,用于执行指定功能的元素或步骤的组合,以及用于执行指定功能的程序指令构件。还应理解,框图和流程图的每个框以及框图和流程图中的框的组合可由执行指定功能、元素或步骤的基于硬件的专用计算机系统或专用硬件和计算机指令的组合实现。
167.软件组件可以用各种编程语言中的任何一种进行编码。说明性编程语言可以是较低级别的编程语言,例如与特定硬件架构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在硬件架构和/或平台执行之前由汇编程序转换为可执行的
机器代码。
168.软件组件可以存储为文件或其他数据存储结构。类似类型或功能相关的软件组件可以存储在一起,例如,存储在特定的目录、文件夹或库中。软件组件可以是静态的(例如,预先建立的或固定的)或动态的(例如,在执行时创建或修改)。
169.软件组件可以通过各种机制中的任何一种调用或由其他软件组件调用。已调用或调用的软件组件可以包括其他定制开发的应用程序软件、操作系统功能(例如,装置驱动程序、数据存储(例如,文件管理)例程、其他常见例程和服务等)、或第三方软件组件(例如,中间件、加密或其他安全软件、数据库管理软件、文件传送或其他网络通信软件、数学或统计软件、图像处理软件和格式转换软件)。
170.与特定解决方案或系统相关联的软件组件可以驻留在单个平台上并在其上执行,也可以分布在多个平台上。多个平台可能与多于一个硬件供应商、底层芯片技术或操作系统相关联。此外,与特定解决方案或系统相关联的软件组件最初可以用一种或多种编程语言编写,但可以调用以另一种编程语言编写的软件组件。
171.计算机可执行程序指令可以被加载到专用计算机或其他特定机器、处理器或其他可编程数据处理设备上以产生特定机器,使得在计算机、处理器或其他可编程数据处理装置上执行指令使得执行在流程图中指定的一个或多个功能或操作。这些计算机程序指令也可存储在计算机可读存储介质(crsm)中,其在执行时可以引导计算机或其他可编程数据处理设备以特定方式运行,使得存储在计算机可读存储介质中的指令产生制品,包括实现流程图中指定的一个或多个功能或操作的指令构件。计算机程序指令还可以被加载到计算机或其他可编程数据处理设备上,以使一系列操作元素或步骤在计算机或其他可编程设备上执行以产生计算机实现的过程。
172.尽管已用特定于结构特征和/或方法动作的语言描述了实施方案,但是应理解,本公开不必限于所述特定特征或动作。相反,公开了特定特征和动作作为实现实施方案的说明性形式。除非另外特别说明,或在所使用的上下文中以其他方式理解,否则如“能够”、“可以”、“可能”或“也许”等的条件语言通常旨在传达:尽管其他实施方案不包括,但某些实施方案可包括某些特征、元素和/或步骤。因此,此类条件语言通常并非意图暗示无论如何所述特征、元件和/或步骤都是一个或多个实施方案必需的,或者并非暗示一个或多个实施方案必须包括用于在借助和不借助用户输入或提示下决定是否包括这些特征、元件和/或步骤或者是否在任何特定实施方案中实施这些特征、元件和/或步骤的逻辑。
173.虽然已经参考特定示例性实施方案描述了本发明,但是将明显的是,在不脱离本发明的较宽泛的范围的情况下,可对这些实施方案进行各种修改和改变。因此,说明书和附图应被视为具有说明性意义而非限制性意义。对于技术人员还将显而易见的是,上文描述的实施方案是单个较宽泛发明的特定实例,本发明可具有比所教导的任何单一描述更大的范围。在不脱离本发明的范围的情况下,可对描述进行许多更改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献