在区块链网络上通信、存储和处理数据的基于区块链的系统和方法

摘要:

公开了一种用于向区块链传输和/或提交诸如实体反馈的数字内容的计算机实现的方法。例如,这可以是比特币区块链。所述方法在第一节点处实现,包括:向所述区块链提交第一交易(Tc),所述第一交易用于提交第一数量(x)的令牌以转移到与所述实体相关联的第二节点,所述第一交易(Tc)具有第一输出;生成用于提交到所述区块链的第一内容;以及向所述区块链提交第二交易所述第二交易将所述已提交的第一数量(x)的令牌的第二数量(d)返回到与所述第一节点相关联的地址,所述第二交易具有所述第一交易(Tc)的第一输出作为输入,其中所述第一内容用于解锁所述第一交易(Tc)的第一输出。

申请号: CN201880060108.6 专利名称: 在区块链网络上通信、存储和处理数据的基于区块链的系统和方法 申请(专利权)人: [区块链控股有限公司] 发明人: [西尔维娅·巴托鲁奇, 波林·贝尔纳特, 丹尼尔·约瑟夫] 其他信息:
1.一种用于在区块链网络中向区块链传输数据的计算机实现的方法,所述区块链网络包括多个节点,所述方法包括: 向所述区块链传输第一事务(Tc),所述第一事务用于指派第一数量(x)的令牌以转移到与实体相关联的第二节点,所述第一事务(Tc)具有第一事务的输出; 生成第一内容以传输到所述区块链;和 向所述区块链传输第二事务所述第二事务将已指派的所述第一数量(x)的令牌的第二数量(d)返回到与第一节点相关联的地址,所述第二事务具有所述第一事务(Tc)的第一输出作为输入, 其中,所述第一内容用于解锁所述第一事务(Tc)的第一输出。 2.根据权利要求1所述的方法,其中,所述第二事务的解锁脚本包括所述第一内容。 3.根据权利要求2所述的方法,其中,所述第一事务(Tc)的第一输出的锁定脚本包括一组允许的内容条目,并且所述第一内容与所述允许的内容条目之一对应。 4.根据权利要求3所述的方法,其中,所述一组允许的内容条目包括一个或多个允许的内容值的散列。 5.根据权利要求4所述的方法,还包括: 接收所述一个或多个允许的内容值的指示,其中,生成所述第一内容包括选择所述允许的内容值之一。 6.根据权利要求2所述的方法,其中,所述第二事务的解锁脚本包括签名,所述签名与所述第一节点相关联的公钥对应。 7.根据权利要求4所述的方法,其中,所述一个或多个允许的内容值包括一个或多个离散的评级。 8.根据权利要求1所述的方法,其中,所述第二事务的元数据包括与所述实体提供的产品相关联的标识符。 9.根据权利要求1所述的方法,其中,所述第一事务(Tc)具有不同于所述第一输出的第二输出,所述方法还包括: 确定事务已经在第一时间(nLockTime)传输到区块链,所述事务具有所述第一事务(Tc)的第二输出作为输入;和 响应于所述确定,传输第三事务给所述区块链,所述第三事务将已指派的所述第一数量(x)的令牌的第三数量(x-d)传输到与所述第一节点相关联的地址。 10.根据权利要求9所述的方法,其中,所述第三事务包括指定时间点的事务参数(nLockTime),在所述指定时间点之后所述第三事务有资格传输到所述区块链。 11.根据权利要求10所述的方法,其中,所述事务参数(nLockTime)指定时间(T)之后的固定时间长度(s)的时间点,在所述时间点所述第一事务(Tc)传输给所述区块链。 12.根据权利要求9所述的方法,其中,在将所述第一事务(Tc)传输到所述区块链之前,所述实体创建并签名所述第三事务 13.根据权利要求9所述的方法,其中,所述第三数量(x-d)等于所述第一数量(x)和所述第二数量(d)之间的差。 14.一种参与将实体的内容传输到区块链的过程的计算设备,所述计算设备用于执行权利要求1至13中任一项所述的方法。 15.一种非暂时性的处理器可读的介质,所述介质存储处理器可执行的指令,所述处理器可执行的指令参与向区块链传输内容的过程,其中,所述处理器可执行的指令在由处理器执行时使得所述处理器执行权利要求1至13中任一项所述的方法。

在区块链网络上通信、存储和处理数据的基于区块链的系统和方法

技术领域

本发明总体上涉及安全通信系统,更具体地,涉及以仅允许授权节点对所请求的数据/内容进行通信的安全方式使用区块链账本向网络上的节点通信数据/内容的系统和方法。数据/内容可以数字形式提供和存储,并且可以包括各种类型的数据或信息,以及各种格式。

背景技术

在本文中,使用术语“区块链(Blockchain)”来包括所有形式的电子的、基于计算机的分布式账本(Distributed Ledgers)。这些包括但不限于区块链和事务链技术、许可及未许可的账本、共享账本及其变型。应当指出的是,本发明不限于与特定区块链一起使用,其他的区块链实现和协议也落入本发明的范围内。

区块链是基于共识的电子账本,该账本实现为由区块组成的基于计算机的去中心化的分布式系统,而区块由事务(transaction)组成。每个事务是对区块链系统中参与者之间的数字资产的控制的转移进行编码的数据结构,包括至少一个输入和至少一个输出。每个区块包含前一区块的散列,如此,这些区块被链接在一起,以创建一个永久的、不可更改的所有事务的记录,这些事务自区块链诞生之始写入区块链。事务包含小程序,这些小程序称为脚本,嵌入至所述事务的输入和输出中,这些小程序指定了如何以及由谁来访问事务的输出。在一些平台上,这些脚本是使用基于堆栈的脚本语言编写的。

为了将事务写入区块链,必须对其进行“验证”。网络节点执行工作以确保每个事务有效的,其中,无效事务则被网络拒绝。安装在节点上的软件客户端通过执行其锁定和解锁脚本对未花费的事务(UTXO)执行此验证工作。如果锁定和解锁脚本的执行评估为真(TRUE),则该事务有效,可将该事务写入区块链。因此,为了将事务写入区块链,该事务必须:(i)由接收事务的第一节点进行验证——如果事务验证通过,则该节点将该事务中继到网络中的其他节点;(ii)添加到网络节点建造的新区块中;(iii)被添加到过去事务的公共账本中。一旦被记录,任何给定区块中的数据不能被追溯更改,除非更改所有后续区块和网络多数的共谋。

事务涉及一个或多个令牌从一个节点到另一个节点的转移。令牌可代表对网络资源的未来控制。在某些情况下,令牌可代表资产或价值,但不是一定的。然而,本申请被更广泛地理解为涉及用于控制令牌的分布式转移的区块链网络。

区块链充当公共账本,可以以可验证的永久方式记录各方之间的事务。区块链具有许多特性,例如链上存储的信息的不可撤销性和通过去中心化的共识建立的信任,这使得它们适用于各种不同类型的应用。例如,区块链可以发现作为记录和发布数字内容的平台的实际应用。

在一个非限制性示例中,这可以是客户反馈(诸如产品、服务和/或其提供商的用户评论)。例如,以评论或数字评级的形式的客户反馈可以影响消费者对产品和服务的信任,同时也告知了制造商、零售商和服务提供商的质量保证工作。从本质上讲,企业出于财务动机试图获得积极的客户反馈,从而导致各种参与者参与评论操纵的可能性。区块链可以通过允许在公开的、分布式账本上公开和永久地记录评论/反馈,为阻止评论/反馈操纵(如评论修正、删除等)提供适当的环境,无需依赖中央机构来验证评论/反馈。

虽然部署使用区块链收集内容的平台的潜力是有吸引力的,但许多挑战(诸如例如防止内容的多次提交、鼓励内容提供者提交以及保护用户隐私)仍有待解决。用于收集内容(例如,产品和服务的客户评论)的现代平台通常使用输入界面(例如,图形用户界面)来实现,用户(内容提供者)可以与该输入界面交互以提交其内容。这些输入界面可以例如在商家的网站或移动应用上找到,或者在为多个不同的收集组织(例如商家)汇总内容提交的公共平台上找到。示例可能包括消费者报告网站、易趣(eBay)等。用于提交内容的输入界面可以与对应于数字或描述性评级(例如,“喜欢”的按钮或代表五星评级等级的一组按钮)的图形用户界面(GUI)元素一样简单,或者它可以以用于接收输入文本的文本框的形式显示给内容提供者。内容项一旦提交,就由平台的相关计算机系统(例如,由商家拥有或用于操作在线市场(例如,亚马逊)的服务器)进行处理。通常,就评论而言,提交的评论将由被评论的实体或评论收集平台的主持人“幕后(behind-the-scenes)”处理,然后被发布供公众查阅。例如,在具体意见的提交和其公开披露之间可能会有延迟。这种“暗箱(black box)”处理模式表面上可能是有问题的,在该模式中,内容仅作为输入提交给对评论内容有既得利益的各方控制的计算机网络。特别地,这种模型可能为潜在地篡改内容或选择性地发布某些项目(例如正面评论)的实体打开大门,导致对正在建立的实体和/或其产品/服务的歪曲和不准确的感知。

在与提交评论相关的场景中,随着针对特定产品/服务收集更多的评论,可以呈现更大的观点多样性,并且偏见或异常印象对产品/服务的质量、用户体验等概览的影响可以减轻。通过确保消息/数据只能由实际购买和/或使用产品/服务的人来传输,可以增强为产品/服务收集更多评论的好处。仅接受过去的购买者和用户提交的评论,可以增加评论内容的可信度,并在服务提供商和实际客户之间建立有用的联系。然而,验证评论的有效性(即检查评论是否来自授权来源)可能会涉及繁琐的过程,阻碍用户提交评论。

评论和反馈提交系统中存在的问题不限于此类系统。事实上,类似的问题存在于各种类型的系统中。上文提到的问题通常可能应用于消息传递系统,因此,希望提供一种改进的消息传递或通信传输系统,该系统限制或约束未授权发送者参与的能力。这种改进的消息传递系统可以用于例如内容收集系统或依赖于消息传递的其他系统。例如,这种消息传递系统可以限制被允许提供消息的各方,并且可以防止或禁止不需要的或未经授权的消息(例如垃圾邮件)。

因此,可能期望提供提供改进的消息传递技术的方法和系统。此类方法和系统可以用于例如以透明和可靠的方式收集和/或传输数字内容和/或数据。

现在已经设计出这样一种改进的解决方案。

发明内容

根据本发明,提供了如所附权利要求中定义的方法和设备。

本发明可以提供一种计算机实现的方法和相应的系统。该方法/系统可描述为区块链实现的方法/系统。本发明可描述为安全方法或加密方法/系统。本发明可提供数字资产的安全转移或传输。附加地或替代地,本发明可提供用于控制数字资产的转移的控制机制。

附加地或替代地,本申请描述了一种用于提供安全消息传递的计算机实现的方法。该方法可以被描述为安全通信和/或传输解决方案(方法/系统)。例如,本申请可以描述一种用于向区块链转移、传输或通信数据的计算机实现的方法。数据可以被提交到实体的区块链。数据可以是数字内容或者一些其他数字资源。它可以与实体、组织、产品或服务有关。为了方便起见,本文中可以使用术语“数据”、“数字资源”或“反馈”来代替“内容”。术语“反馈”或“评论”不是限制性的。术语“提交(submitting)”在本文中可以用作“传输(transmitting)”或“通信(communicating)”的替代。

上述方法可以在第一节点处实现,该方法可以包括:向区块链传输第一事务(Tc),该第一事务用于将第一数量(x)的令牌指派(committing)给与实体(可以是节点)相关联的第二节点,第一事务(Tc)具有第一输出;生成数据的第一部分(为方便起见,在下文中称为“内容”)以传输到区块链;以及向区块链传输第二事务该第二事务将所指派的第一数量(x)的令牌的第二数量(d)返回到与第一节点相关联的地址,第二事务具有第一事务(Tc)的第一输出作为输入,其中第一内容用于解锁第一事务(Tc)的第一输出。

在一些实施方式中,第二事务的解锁脚本可以包括第一内容。

在一些实施方式中,第一事务(Tc)的第一输出的锁定脚本可以包括一组允许的数据(“内容”)条目,并且其中第一内容对应于允许的内容条目之一。在一些实施方式中,该组允许的内容条目包括一个或多个允许的数据(“内容”)值的散列。

在一些实施方式中,上述方法还可以包括在第一节点处接收一个或多个允许的内容值的指示,并且生成第一内容包括选择允许的内容值之一。

在一些实施方式中,第二事务的解锁脚本可以包括对应于与第一节点相关联的公钥的签名。

在一些实施方式中,一个或多个允许的内容值可以包括一个或多个离散评级。

在一些实施方式中,第二事务的元数据可以包括与实体提供的产品相关联的标识符。

在一些实施方式中,第一事务(Tc)可以具有不同于第一输出的第二输出,并且上述方法还可以包括:确定具有第一事务(Tc)的第二输出作为输入的事务已经在第一时间(nLockTime)被传输到区块链;以及响应于该确定,向区块链传输第三事务该第三事务将已指派的第一数量(x)的令牌的第三数量(x-d)传输到与第一节点相关联的地址。在一些实施方式中,第三事务包括事务参数(nLockTime),该事务参数指定第三事务变得有资格传输到区块链之后的时间点。在一些实施方式中,事务参数(nLockTime)指定了时间点,该时间点是第一事务(Tc)被传输到区块链的时间(T)之后的固定时间长度(s)。

在一些实施方式中,第三事务可以在将第一事务(Tc)传输到区块链之前由实体创建并签名。

在一些实施方式中,第三数量(x-d)可以等于第一数量(x)和第二数量(d)之间的差。

附加地或替代地,本申请描述了一种参与将实体的内容(例如,可以是反馈)传输到区块链的过程的计算设备。该计算设备包括处理器、存储器、提供网络连接的网络接口、以及包含计算机可执行指令的区块链应用,当计算机可执行指令被处理器执行时,使得处理器执行本文描述的方法。

附加地或替代地,本申请描述了一种存储处理器可执行指令的非暂时性处理器可读介质,该处理器可执行指令参与向区块链传输内容的过程。处理器可执行指令在由处理器执行时,使得处理器执行本文描述的方法。

一些实施方式可用于提供安全的消息传递(即,通信或传输)系统,该系统实现对传输消息的节点的限制。例如,传输包括内容(例如,可以纯粹是反馈)的消息的节点可能必须在被授权传输此类内容之前执行预定义的操作。例如,在被允许传输包括内容的消息之前,节点可能需要传输第一事务(Tc)。传输第一事务(Tc)也可能只允许节点传输单个内容项(如单个评论),从而防止垃圾邮件。

本申请描述了基于区块链的系统和方法,这些系统和方法有助于安全有效地实现用于加密、验证和广播由参与评论平台的用户提交的评论的方案。在一些实施方式中,本申请提供了旨在防止恶意参与者的不合格提交影响产品和/或服务评论结果的协议。本发明的技术方案仅限于合法使用的情形。

附图说明

关于本发明的一个方面或实施方式所描述的任何特征也可以用于一个或多个其他方面/实施方式。参考本文所述的实施方式,本发明的这些和其他方面将变得清晰并得以阐明。现在将仅通过示例并参考附图来描述本发明的实施方式,其中:

图1示出了节点的示例区块链网络。

图2示出了根据本申请的实施方式的示例激励内容提交(传输)协议(CSP)的示意图。

图3以流程图的形式示出了根据本申请的实施方式的示例CSP的概要。

图4以流程图的形式示出了根据本申请的实施方式的用于向区块链提交实体的内容的示例方法。

图5以流程图的形式示出了根据本申请的实施方式的用于向区块链提交实体的内容的另一示例方法。

图6以框图形式示出了示例区块链节点。

具体实施方式

在本申请中,术语“和/或”旨在涵盖所列元素的所有可能的组合和子组合,包括任何一个单独列出的元素、任何子组合或所有元素,并且不一定排除附加元素。

在本申请中,短语“……或……中的至少一个”旨在覆盖任何一个或多个所列元素,包括任何一个单独列出的元素、任何子组合、或所有元素,不一定排除任何其他元素,并且不一定要求具有所有元素。

在本申请中,术语“实体(Entity)”是指接收或能够接收诸如反馈(例如,以评论、评级、评估、意见等形式的客户反馈)的内容的任何实体。“实体”可以附加地或替代地指代被授权代表实体接收内容的代表。例如,“实体”可以是:组织(诸如零售商、服务提供商或产品制造商);组织的代表(例如公司的客户服务部);或个人(例如经销商、独立承包商等)。本文描述的内容传输协议的上下文中,实体可以由区块链网络中的一个或多个节点来表示。在某些情况下,实体可以要求其产品/服务的用户和购买者提交评论或反馈或其他内容。实体的评论/反馈/内容由用户提交,表示为参与节点,并通过在区块链公共账本上广播而公开披露。

在本申请中,“评论者(Reviewer)”是指提交内容(例如对实体的反馈和/或对实体的产品/服务的评论)的组织或个人。例如,评论者可以是本文公开的内容提交协议(Content Submissions Protocol,简称CSP)的参与者。根据本发明的CSP,“评论节点(reviewing node)”是(在区块链网络中)与特定评论者相关联的节点,而“用户节点(usernode)”是与提交产品/服务的合适评论的产品/服务的用户相关联的节点。

但是,术语“评论者”仅因为本文选择的说明性实施例的上下文而被使用。更一般地说,“评论者”本质上是某些内容/消息的提供者。因此,术语“提供者(provider)”在本文中是“评论者”的更一般的术语。

首先参考图1,图1以框图形式示出了与区块链相关联的示例区块链网络100。区块链网络100是一个点对点的开放式会员网络,任何人都可以加入,无需邀请,无需经其他会员同意。运行区块链协议(区块链网络100在区块链协议下运行)实例的分布式电子设备可以参与区块链网络100。这种分布式电子设备可以称为节点102。

运行区块链协议并形成区块链网络100的节点102的电子设备可以是各种类型的,包括例如计算机(如台式计算机、笔记本电脑、平板电脑、服务器)、移动设备(如智能手机)、可穿戴计算机(如智能手表)、或其他电子设备。

区块链网络100的节点102使用合适的通信技术彼此连接,该通信技术可以包括有线和无线通信技术。在许多情况下,区块链网络100至少部分地在互联网上实现,并且一些单独的节点102可以位于地理上分散的位置。

节点102维护区块链上所有事务的全局分类账。全局分类账是分布式分类账,每个节点102可以存储全局分类账的完整副本或部分副本。节点102影响全局分类账的事务由其他节点102验证,从而保持全局分类账的有效性。本领域的普通技术人员将会理解实现和操作区块链网络的细节。

每个事务通常具有一个或多个输入和一个或多个输出。嵌入到输入和输出中的脚本指定了如何以及谁可以访问所述事务的输出。事务的输出可以是令牌作为事务的结果被转移到的地址。然后,这些令牌与该输出地址相关联,作为可用的事务输出。可用的事务输出可以被称为未花费的事务输出(UTXO)。后续事务可以引用该地址作为输入,以便将这些令牌转移到一个或多个其他地址。

节点102可以根据其功能而具有不同的类型或类别。已经提出了与节点相关联的三个基本功能:钱包、全区块链维护和网络路由。这些功能可能有所不同。节点102可具有功能中的多个。例如,“全节点(full node)”提供了所有功能。轻量级节点,例如可以在数字钱包中实现,并且可以仅具有钱包和网络路由功能。数字钱包可跟踪区块头,而不是存储全区块链,区块头在查询区块时用作索引。节点102使用面向连接的协议(例如传输控制协议(Transmission Control Protocol,简称TCP/IP))相互通信。

在大多数区块链网络中,无论管理协议如何,确保新事务通过网络快速传播是有利的,这样维护未确认事务池(通常称为“存储池(Mempool)”)的所有节点都有最新且准确的事务数据库,该事务等待包含在新区块中。网络节点利用此未确认事务池来构建潜在的新区块。在某些情况下,网络节点在本地维护全存储池,以便它们可以将未确认事务组装到新的区块中。在一些实施方式中,存储池可以由单独的节点网络(其可以被称为验证者节点等)来管理和维护,并且那些节点可以将一组未确认的事务从存储池传输到网络节点。在一些实施方式中,存储池可以存储在多个节点之间的分布式散列表中。无论结构如何,都希望任何新事务通过网络传播,以尽快到达必要的节点。还希望任何新的区块尽可能快地通过网络传播,以减少孤立区块(orphan block)的出现。

在一些区块链网络的当前实现中,例如,接收新事务的每个节点验证该新事务,然后将新事务传输到它所连接的所有节点(如果这些节点尚未接收到新事务)。就一些区块链而言,节点使用传输控制协议(Transmission Control Protocol,简称TCP/IP)。接收新事务的节点向每个对等节点发送带有关于可用新事务的数据的INV消息,并将从感兴趣接收新事务的每个节点接收回GETDATA消息。然后,节点通过(单独的)TCP消息将事务发送到请求该事务的每个节点。

本发明提供了一种基于区块链的消息传递协议,该协议可以用于例如内容提交/传输。在消息传递协议用于内容提交的情况下,其可以被称为内容提交协议。用于说明目的的示例是评论或反馈内容的提交。然而,本发明不限于此应用,其他类型的数字内容或消息将落入本发明的范围内。

更具体地,出于说明的目的,公开了一种使用区块链账本提交内容(诸如对实体的反馈或对其产品/服务的评论)的协议。根据协议的示例实施方式,当用户从实体获取产品或接收服务时,用户节点在规定的时间段内提交对产品/服务的评论。评论本身直接插入到用户创建的区块链事务的解锁脚本中。通过将为了从实体获得某种产品/服务而执行的区块链事务与为了提交产品/服务的评论而执行的区块链事务相联系,协议确保只有授权参与者(即实体的产品/服务的实际用户和购买者)能够提交他们的评论,并使这些评论在区块链上公开广播和存储。因此,协议有助于防止未授权的用户试图控制多个不同的身份以人为地影响评论和操纵对产品/服务的感知(例如,提交多个旨在故意损害实体/产品声誉的虚假评论)的情况。

提议的协议利用区块链概念来提供用于收集客户评论或其他消息的系统/平台,该系统/平台要求及时提交内容/消息,仅接受源自授权来源的消息/内容,并增加收集内容和消息的过程的透明度。

在本文的描述中,可以使用术语“用户节点”、“输入地址”和“输出地址”。对节点“地址”的引用并不意味着引用物理节点的网络地址。相反,“地址”是在具有令牌分配的区块链上的事务中指定的地址,物理节点可以通过拥有对应于事务签名的密钥来主张对该地址的所有权。从这个意义上来说,“输出地址”不是用户节点的地址,而是用户节点拥有或与之相关联的区块链事务输出地址。同样地,“输入地址”是用户节点拥有或与之相关联的可用事务输出(在一些术语中,即UXTO)的地址。

术语“反馈”和“评论”在整个说明书中可以互换使用,并且将被理解为指的是对实体和/或其产品/服务的一个或多个属性(如感知的质量等)的反应或印象的适当格式的表达(如数字或描述性评级、意见等)。

内容提交协议(CSP)

本申请描述了用于使用区块链提交客户评论和反馈的方法和系统。特别地,本申请提出了一种内容提交协议(Content Submissions Protocol,或简称CSP),其利用区块链概念以允许用户提交内容和消息(例如产品和服务的评论),并且将这些评论公开地和永久地记录在分布式账本上。CSP通过为用户提供申请与获取产品/服务的事务直接相关的特定奖励的可能性,旨在促进内容(例如对产品和服务的评论)的提交。通过这种方式,CSP确保只有“批准的”内容——即源自授权用户(诸如产品/服务的购买者和过去的用户)的内容(如评论)——被接受并被考虑在区块链账本中披露。此外,通过促进内容(例如评论和反馈)的公开披露,CSP可以有助于防止相关方对所提交内容的任何操纵。

现在参考图2,图2示出了CSP的示例实施方式的示意图。CSP包括一个或多个用户节点(对应于用户/评论者)和至少一个实体节点(可以对应于接收反馈或其产品/服务被评论的实体)。例如,提供者(即评论者/内容提交者)可以是已经购买或使用产品/服务的客户,实体可以是参与产品/服务提供的制造商、销售商或服务提供商中的至少一个。

为了获得产品或接收服务,用户节点将固定数量的令牌转移到与提供产品/服务的实体相关联的实体节点。特别地,用户节点可以创建事务Tc以将固定数量x的数字资产(即令牌)转移到实体节点,换取从实体获取产品/服务。根据CSP的示例实施方式,“获取(acquisition)”事务Tc具有两个及以上的事务输出。包括令牌的d数量的第一输出表示提供给用户用于提交内容(例如对所获得的产品或服务的评论)的激励令牌。也就是说,用于转移到实体节点的令牌的已指派数量x的一部分被留出,以用作产品或服务的客户/用户(即用户节点)提交内容(例如评论)的激励。“折扣(discount)”的数额由用户和实体商定,并且可以由用户节点在提交内容(例如,评论)时兑现。包括x-d个令牌的Tc的第二输出表示在内容由授权用户节点提交的情况下,可以由实体节点兑换的令牌的折扣转移。特别地,实际转移到实体节点的令牌的总量可以小于初始指派的数量x,从而可以向用户节点提供适当的激励——以令牌的“返回”转移的形式——以提交内容(例如对产品/服务的评论)。

现在参考图3,图3示出了概括CSP的示例实施方式的流程图300。流程图300示出了为了实现CSP而创建的各种区块链事务。用户获得由实体提供的产品或服务。在步骤302,实体节点向用户节点通信内容指南(例如产品/服务的反馈指南)。更准确地,实体节点将产品/服务的一组可接受的内容值传达给用户节点。例如,内容值的选项可以是数字的(例如,按数字标度)或描述性评级(“优秀-良好-一般-差”),其在用户提交特定产品/服务时,由实体预先定义为可接受的。

在步骤306,用户节点通过承诺事务(commitment transaction)来指派x个令牌以转移到实体,作为对所获得的产品或所接收的服务的支付。在此初始承诺事务之后,用户节点和实体节点可以分别在步骤308和310独立地兑现它们各自的令牌已指派数量x(分别为d和x-d)的份额。具体地,用户节点可以收集d个令牌作为其提交适当内容(例如对实体提供的产品/服务的适当评论)的“激励”,实体节点可以为其向用户销售产品/服务要求x-d的“折扣”支付。

在至少一些实施方式中,用户节点和实体节点可以各自具有固定的时间范围,在该时间范围期间,它们被允许收集其各自的初始指派的x个令牌的份额。例如,对于用户节点何时必须提交内容(例如对产品/服务的评论)以便有资格接收其激励令牌的时间可能存在时间限制。时间限制可以有助于确保内容被及时地提交到区块链,例如,在获得产品或收到服务后不久。类似地,实体节点可能对其何时必须为产品/服务的销售要求“折扣”支付具有时间限制。在某些情况下,用户节点和实体节点可以具有相同的资格时间范围来要求它们各自的已指派令牌的份额。例如,用户节点和实体节点中的每一个可以仅被允许在“获取”事务中的令牌的初始指派时间之后的固定时间长度(例如一个月)内赎回它们各自的份额。如图3所示,如果其中一个节点未要求(或者在合适的时间范围内未要求)各自份额中的任何一个,则另一个节点可以收集未要求数量的令牌。更具体地,在步骤314,如果实体节点没有要求“折扣”支付,则用户节点可以兑现x个已指派令牌的全部数量;类似地,如果用户节点未能提交对产品/服务或其他内容的适当评论(在指定的时间范围内),则在步骤312,实体节点可以收集作为“激励”分配的令牌的数量,从而接收对产品/服务的x个已指派令牌的全额支付。

现在参考图4,图4以流程图的形式示出了用于提交内容(例如向区块链提交实体的反馈)的示例方法400。方法400可以例如由区块链网络(例如图1的网络100)中的节点(“用户节点”)来执行。特别地,节点可以与希望参与CSP的产品/服务的用户相关联。在一些实施方式中,用户节点是钱包或其他这类区块链实体。方法400可适用于收集由各种不同商业实体(例如,制造商、零售商、服务提供商等)提供的产品和服务的评论的系统/平台。例如,方法400可以被并入内容提交平台(例如用于在线市场的反馈提交平台)。提供产品/服务的实体至少部分地基于方法400的操作,可以允许过去的购买者和用户使用记录在区块链上的事务提交他们的评论。

在操作402中,用户节点提交第一事务Tc,用于指派第一数量x的令牌x以转移到与实体相关联的第二节点。例如,令牌的初始指派可以表示从实体获取的产品/服务的令牌的完全转移。第一事务Tc由用户节点创建,拥有公钥-私钥对(PkU,SkU)的用户签署第一事务Tc。第一事务Tc具有个输出。第一输出对应于要转移到用户节点以提交内容(例如对产品/服务的评论)的激励令牌。例如,第一输出可以表示对产品/服务的全额支付的“折扣”,该折扣将被转回用户节点。在一些实施方式中,第一输出的锁定脚本可以指定与特定产品/服务可接受的评论或其他内容相关的条件。例如,锁定脚本可以包括被视为适合于产品/服务的一组预定义内容值(例如评论值)。锁定脚本留置第一输出,使得第一输出可以使用包括以下两者的事务进行解锁:1)对与用户节点相关联的公钥有效的签名;以及2)包括在该组预定义内容值中的内容(例如,包括在一组预定义评论值中的评论值)。不同于第一输出的第二输出将“折扣”数量的令牌转移到实体节点,该实体节点具有相关联的公钥-私钥对(PkSP,SkSP)。特别地,令牌的“折扣”数量表示用户的第一数量x和令牌的激励数量d之间的差。因此,第二输出被锁定脚本锁定,该锁定脚本允许实体节点使用从与实体节点相关联的私钥生成的签名来要求折扣数量的令牌。

在操作404,生成提交给区块链的第一内容(例如,第一评论/反馈)。内容可以是与实体和/或实体的产品/服务相关的评论,该评论是由与节点相关联的用户获取的。在操作406,第二事务被提交给区块链,其中第二事务将已指派的第一数量x的令牌的第二数量d返回给与用户节点相关联的地址。第二事务具有第一(承诺)事务Tc的第一输出作为输入。换句话说,第二事务是将激励令牌转移到用户节点以提交适当内容(例如对从实体获得的产品/服务的适当评论)的事务。为了确保只接受来自授权用户的内容,与内容提交的“激励”相关联的第一输出通过指定花费“激励”d令牌必须满足的条件来进行锁定。特别地,第一内容用于解锁第一事务Tc的第一输出。也就是说,只有在成功提交适当的内容(例如用户从实体获得或接收的产品/服务的合适评论)时,用户节点才能获得激励令牌。例如,在一些实施方式中,第二事务的解锁脚本(其将“激励”数额转移给用户)可以包括第一内容(或第一内容的散列)。通过将第一内容直接插入解锁脚本中,一旦用户节点将第二事务提交给区块链(即,当奖励令牌被要求时),第一内容可以在区块链上永久广播。在一些实施方式中,第二事务的解锁脚本还可以包括对应于与用户节点相关联的公钥的签名。另外,第二事务的元数据可以包括由实体提供的特定产品或服务的标识符,将诸如评论提交的内容链接到相关产品/服务。

为了便于验证用户提交的内容(例如,评论)的有效性的过程,并使得对提交的内容的跟踪易于处理,在一些实施方式中,实体可以决定只允许有限数量的预定义内容值(例如,数字评级、描述性文字等)用于其产品/服务。也就是说,实体可以指定将被视为有效的一个或多个允许的内容值的预定集合。在这种情况下,第一事务Tc的第一输出的锁定脚本可以包括一组允许的内容条目(例如一个或多个离散评级)。为了被接受为有效提交,第一内容需要对应于允许的内容条目之一。在一些实施方式中,该组允许的内容条目将包括一个或多个允许的内容值的散列。换句话说,每个可能的内容值可以被散列并在锁定脚本中使用,以锁定第一输出(激励令牌)。然后,可以通过提交与第一输出的锁定脚本中的至少一个散列值相对应的内容,以多种方式解锁第一输出。因此,可以简单地通过选择由实体指定的允许的内容值之一(可以称为反馈值或评论值)来生成适当的内容(例如适当的评论/反馈)。例如,可以在用户节点处接收一个或多个允许的内容值的指示,并且可以由用户节点选择对应于这些可接受选项之一的内容并将其提交给区块链。

现在参考图5,图5以流程图的形式示出了用于为实体提交内容的另一示例方法500。方法500可以由区块链网络(诸如图1的网络100)中的节点来执行。特别地,节点可以与希望参与CSP的产品/服务的用户(“用户节点”)相关联。在一些实施方式中,节点是钱包或其他这类的区块链实体。

操作502、504和506分别对应于并且在范围上类似于方法400的操作402、404和406。如前所述,第一事务Tc指派代表产品/服务的全额支付的初始数量x的令牌以转移到实体,具有两个输出:代表内容/评论提交的“激励”的第一输出,和代表对实体的“折扣”支付的第二输出。例如,如果实体重视来自实际购买者和用户的对其产品/服务的评论的累积,那么实体可能会同意该产品或服务的较低得最终接收数额(即低于“标签”价格)。

在操作508中,确定具有第一事务Tc的第二输出作为输入的事务是否已经在第一时间提交给区块链。特别地,用户节点可以检查实体节点(例如服务提供商)是否在特定时间点之前已经收集了“折扣”支付x-d。例如,节点可以直接与该实体相关联的第二节点进行通信,或者发起对区块链的搜索,以确定将第二输出的UTXO转移到与实体节点相关联的地址的事务是否已经被提交给区块链。

在操作510中,如果实体在预定时间之前还没有要求其已指派数量x的令牌的份额,则节点提交将数量x-d的令牌转移到与用户节点相关联的地址的第三事务值得注意的是,第三事务是时间锁定的,以允许实体有足够的时间来要求其“折扣”支付。也就是说,第三事务包括事务参数nLockTime,该事务参数nLockTime指定第三事务变得有资格提交到区块链的时间点。该参数可以由用户、实体选择,或者在双方同意的情况下选择,以在为各方提供足够的时间量来要求其各自的已指派数量x的令牌的份额与确保用户节点及时提交评论或其他内容之间达到合理的平衡。在一些实施方式中,事务参数nLockTime可以指定时间点,该时间点是在第一事务被提交给区块链(即,当指派了初始数量时)的时间(T)之后的固定时间长度(s)。也就是说,

nLockTime=T+s                       (1)

由于这些参数很可能在事务之前由实体及其最终用户(即客户)商定,所以第三事务可以在向区块链提交第一承诺事务Tc之前由实体创建并签名,该第三事务将未被要求的“折扣”支付导向用户节点。也就是说,实体节点包括对第三事务的时间锁定,并且使其对用户节点是可访问的,使得用户节点可以提交第三事务并且使用用户的签名解锁数量x-d的令牌。

通过说明的方式,将描述承诺事务的第一输出的示例锁定脚本。例如,锁定脚本可以将一组描述性评级(“差-平均-好-优秀”)指定为可接受的内容值(即,可接受的评论或反馈值)。用户节点可以通过提交内容(例如对应于可接受内容值之一的评论)来解锁与第一输出相关联的令牌数量()。因此,锁定脚本将提供四个选项来释放令牌。该脚本通过检查用户节点提交的内容是否对应于四个允许的评级之一以及用户节点提供的签名是否对应于用户的公钥,来评估包含旨在解锁锁定脚本的内容的解锁脚本。可以在解锁脚本中指定对应于实体退款事务的额外选项。在示意图中,锁定脚本的选项可以是:

退款:OP_2<pubkey U><pubkey Sp>OP_2OP_CHECKMULTISIG

评级1:OP_HASH160<H(poor)>OP_EQUALVERIFY<pubkey U>OP_CHECKSIG

评级2:OP_HASH160<H(average)>OP_EQUALVERIFY<pubkey U>OP_CHECKSIG

评级3:OP_HASH160<H(good)>OP_EQUALVERIFY<pubkey U>OP_CHECKSIG

评级4:OP_HASH160<H(excellent)>OP_EQUALVERIFY<pubkey U>OP_CHECKSIG

正如用户节点可以收取实体节点未要求的“折扣”支付一样,如果用户节点在特定时间点之前没有提交合适的内容(例如合适的评论),则实体节点可以要求初始指派数量x的令牌的全部。也就是说,如果用户节点没有在预定义的时间段内提交适当的内容(例如对产品或服务的适当评论/反馈),则实体节点可以收集用户的份额(即内容提交“激励”)。特别地,实体节点可以提交退款事务该退款事务将已经被分配作为激励令牌的d个令牌转移到实体节点。退款事务可以包括指示退款事务可以提交给区块链的时间点的参数。退款事务由用户节点在区块链上的提交第一(承诺)事务之前创建并签名。特别地,用户节点用于准备和签名包括与参数相对应的时间锁定的退款事务并且将退款事务提供给实体节点,使得实体节点可以在时间锁定到期后将退款事务提交给区块链网络。

方法400和500可以被实现为基于区块链的内容收集平台(例如基于区块链的评论和反馈收集平台)的一部分。特别地,可以提供用于汇总通过区块链事务共享的评论的平台520(未示出)。平台520可以例如收集和组织针对特定实体或多个不同的被评论实体的提交的内容/反馈/评论。平台520可以被实现为网络门户、计算机软件和/或移动软件模块。平台520可以提供各种不同的功能,例如分类、组织和搜索包含实体及其产品/服务的评论的区块链事务。例如,可以使用诸如事务脚本元数据、输入和输出地址等信息来执行对区块链的搜索,以定位包含嵌入式评论和反馈的事务。搜索结果(即区块链事务)可以通过例如被评论的实体、产品/服务类型、产品/服务标识、评论提交的技术、最高到最低(或最低到最高)的数字评级等来排序。

附加地,在一些实施方式中,平台520可以允许内容(例如评论)的过滤,以识别可能无效或伪造的评论或其他内容。例如,在方法400和500的所提出的技术中,节点通过将内容(例如评论)包括在向节点返回一定数量的“激励”令牌的事务的事务脚本中来提交内容(例如评论)。如果未授权的用户获得了关于向实体转移产品/服务的支付的承诺事务的信息的访问权,则用户可能提交满足承诺事务的锁定脚本的条件的事务,并且因此还提交对实体和/或其产品/服务的无效评论。平台520可用于基于由被评论的实体传达给平台520的标准过滤这类未授权的评论。例如,平台520可以用于检测未从实体购买产品/服务的评论者,并且丢弃由与那些未授权的评论者相关联的节点提交的评论。

现在将参考图6,图6以框图形式示出了节点600的简化示例,该节点600在本发明的上下文中可以是参与节点和/或实体节点。节点600包括处理器602,处理器602可以包括一个或多个微处理器、专用集成芯片(ASICs)、微控制器或类似的计算机处理设备。节点600还包括存储器604和网络接口606,存储器604可以包括持久和非持久存储器,以存储值、变量以及在某些情况下存储处理器可执行程序指令,网络接口506通过有线或无线网络提供网络连接。

节点600包括包含处理器可执行指令的处理器可执行区块链应用608,当处理器可执行指令被执行时,使得处理器602执行本文描述的一个或多个功能或操作。

应当理解的是,本文描述的设备和过程以及实现所描述的用于配置区块链节点的方法/过程的任何模块、例程、过程、线程、应用或其他软件组件可使用标准计算机编程技术和语言来实现。本申请不限于特定处理器、计算机语言、计算机编程约定、数据结构或其他这类实施细节。

应当说明的是,上述实施方式说明而非限制本发明,在不脱离本发明的由所附权利要求限定的范围的情况下,本领域技术人员将能够设计出许多替代性实施方式。在权利要求中,括号中的任何附图标记不应解释为对权利要求的限制。词语“包括(comprising)”和“包括(comprises)”等并非在整体上排除其他元件和步骤的存在,尽管这些元件和步骤并没有在任何权利要求或说明书中列出。在本说明书中,“包括(comprises)”意指“包括(includes)或由......组成(consists of)”,“包括(comprising)”意指“包括(including)或由......组成(consisting of)”。元件的单数引用不意味着排除这些元件的复数引用,反之亦然。本发明可以借助包括若干不同元件的硬件,以及借助适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干个可以由硬件的同一个部件来体现。不争的事实是,在相互不同的从属权利要求中列举了某些方法,并不代表这些方法的结合不能获得有益效果。

在本申请中,术语“和/或”旨在涵盖所列元素的所有可能的组合和子组合,包括任何一个单独列出的元素、任何子组合或所有元素,并且不一定排除附加元素。

在本申请中,短语“……或……中的至少一个”旨在覆盖任何一个或多个所列元素,包括任何一个单独列出的元素、任何子组合、或所有元素,不一定排除任何其他元素,并且不一定要求具有所有元素。

在本申请中,术语“实体(Entity)”是指接收或能够接收诸如反馈(例如,以评论、评级、评估、意见等形式的客户反馈)的内容的任何实体。“实体”可以附加地或替代地指代被授权代表实体接收内容的代表。例如,“实体”可以是:组织(诸如零售商、服务提供商或产品制造商);组织的代表(例如公司的客户服务部);或个人(例如经销商、独立承包商等)。本文描述的内容传输协议的上下文中,实体可以由区块链网络中的一个或多个节点来表示。在某些情况下,实体可以要求其产品/服务的用户和购买者提交评论或反馈或其他内容。实体的评论/反馈/内容由用户提交,表示为参与节点,并通过在区块链公共账本上广播而公开披露。

在本申请中,“评论者(Reviewer)”是指提交内容(例如对实体的反馈和/或对实体的产品/服务的评论)的组织或个人。例如,评论者可以是本文公开的内容提交协议(Content Submissions Protocol,简称CSP)的参与者。根据本发明的CSP,“评论节点(reviewing node)”是(在区块链网络中)与特定评论者相关联的节点,而“用户节点(usernode)”是与提交产品/服务的合适评论的产品/服务的用户相关联的节点。

但是,术语“评论者”仅因为本文选择的说明性实施例的上下文而被使用。更一般地说,“评论者”本质上是某些内容/消息的提供者。因此,术语“提供者(provider)”在本文中是“评论者”的更一般的术语。

首先参考图1,图1以框图形式示出了与区块链相关联的示例区块链网络100。区块链网络100是一个点对点的开放式会员网络,任何人都可以加入,无需邀请,无需经其他会员同意。运行区块链协议(区块链网络100在区块链协议下运行)实例的分布式电子设备可以参与区块链网络100。这种分布式电子设备可以称为节点102。

运行区块链协议并形成区块链网络100的节点102的电子设备可以是各种类型的,包括例如计算机(如台式计算机、笔记本电脑、平板电脑、服务器)、移动设备(如智能手机)、可穿戴计算机(如智能手表)、或其他电子设备。

区块链网络100的节点102使用合适的通信技术彼此连接,该通信技术可以包括有线和无线通信技术。在许多情况下,区块链网络100至少部分地在互联网上实现,并且一些单独的节点102可以位于地理上分散的位置。

节点102维护区块链上所有事务的全局分类账。全局分类账是分布式分类账,每个节点102可以存储全局分类账的完整副本或部分副本。节点102影响全局分类账的事务由其他节点102验证,从而保持全局分类账的有效性。本领域的普通技术人员将会理解实现和操作区块链网络的细节。

每个事务通常具有一个或多个输入和一个或多个输出。嵌入到输入和输出中的脚本指定了如何以及谁可以访问所述事务的输出。事务的输出可以是令牌作为事务的结果被转移到的地址。然后,这些令牌与该输出地址相关联,作为可用的事务输出。可用的事务输出可以被称为未花费的事务输出(UTXO)。后续事务可以引用该地址作为输入,以便将这些令牌转移到一个或多个其他地址。

节点102可以根据其功能而具有不同的类型或类别。已经提出了与节点相关联的三个基本功能:钱包、全区块链维护和网络路由。这些功能可能有所不同。节点102可具有功能中的多个。例如,“全节点(full node)”提供了所有功能。轻量级节点,例如可以在数字钱包中实现,并且可以仅具有钱包和网络路由功能。数字钱包可跟踪区块头,而不是存储全区块链,区块头在查询区块时用作索引。节点102使用面向连接的协议(例如传输控制协议(Transmission Control Protocol,简称TCP/IP))相互通信。

在大多数区块链网络中,无论管理协议如何,确保新事务通过网络快速传播是有利的,这样维护未确认事务池(通常称为“存储池(Mempool)”)的所有节点都有最新且准确的事务数据库,该事务等待包含在新区块中。网络节点利用此未确认事务池来构建潜在的新区块。在某些情况下,网络节点在本地维护全存储池,以便它们可以将未确认事务组装到新的区块中。在一些实施方式中,存储池可以由单独的节点网络(其可以被称为验证者节点等)来管理和维护,并且那些节点可以将一组未确认的事务从存储池传输到网络节点。在一些实施方式中,存储池可以存储在多个节点之间的分布式散列表中。无论结构如何,都希望任何新事务通过网络传播,以尽快到达必要的节点。还希望任何新的区块尽可能快地通过网络传播,以减少孤立区块(orphan block)的出现。

在一些区块链网络的当前实现中,例如,接收新事务的每个节点验证该新事务,然后将新事务传输到它所连接的所有节点(如果这些节点尚未接收到新事务)。就一些区块链而言,节点使用传输控制协议(Transmission Control Protocol,简称TCP/IP)。接收新事务的节点向每个对等节点发送带有关于可用新事务的数据的INV消息,并将从感兴趣接收新事务的每个节点接收回GETDATA消息。然后,节点通过(单独的)TCP消息将事务发送到请求该事务的每个节点。

本发明提供了一种基于区块链的消息传递协议,该协议可以用于例如内容提交/传输。在消息传递协议用于内容提交的情况下,其可以被称为内容提交协议。用于说明目的的示例是评论或反馈内容的提交。然而,本发明不限于此应用,其他类型的数字内容或消息将落入本发明的范围内。

更具体地,出于说明的目的,公开了一种使用区块链账本提交内容(诸如对实体的反馈或对其产品/服务的评论)的协议。根据协议的示例实施方式,当用户从实体获取产品或接收服务时,用户节点在规定的时间段内提交对产品/服务的评论。评论本身直接插入到用户创建的区块链事务的解锁脚本中。通过将为了从实体获得某种产品/服务而执行的区块链事务与为了提交产品/服务的评论而执行的区块链事务相联系,协议确保只有授权参与者(即实体的产品/服务的实际用户和购买者)能够提交他们的评论,并使这些评论在区块链上公开广播和存储。因此,协议有助于防止未授权的用户试图控制多个不同的身份以人为地影响评论和操纵对产品/服务的感知(例如,提交多个旨在故意损害实体/产品声誉的虚假评论)的情况。

提议的协议利用区块链概念来提供用于收集客户评论或其他消息的系统/平台,该系统/平台要求及时提交内容/消息,仅接受源自授权来源的消息/内容,并增加收集内容和消息的过程的透明度。

在本文的描述中,可以使用术语“用户节点”、“输入地址”和“输出地址”。对节点“地址”的引用并不意味着引用物理节点的网络地址。相反,“地址”是在具有令牌分配的区块链上的事务中指定的地址,物理节点可以通过拥有对应于事务签名的密钥来主张对该地址的所有权。从这个意义上来说,“输出地址”不是用户节点的地址,而是用户节点拥有或与之相关联的区块链事务输出地址。同样地,“输入地址”是用户节点拥有或与之相关联的可用事务输出(在一些术语中,即UXTO)的地址。

术语“反馈”和“评论”在整个说明书中可以互换使用,并且将被理解为指的是对实体和/或其产品/服务的一个或多个属性(如感知的质量等)的反应或印象的适当格式的表达(如数字或描述性评级、意见等)。

内容提交协议(CSP)

本申请描述了用于使用区块链提交客户评论和反馈的方法和系统。特别地,本申请提出了一种内容提交协议(Content Submissions Protocol,或简称CSP),其利用区块链概念以允许用户提交内容和消息(例如产品和服务的评论),并且将这些评论公开地和永久地记录在分布式账本上。CSP通过为用户提供申请与获取产品/服务的事务直接相关的特定奖励的可能性,旨在促进内容(例如对产品和服务的评论)的提交。通过这种方式,CSP确保只有“批准的”内容——即源自授权用户(诸如产品/服务的购买者和过去的用户)的内容(如评论)——被接受并被考虑在区块链账本中披露。此外,通过促进内容(例如评论和反馈)的公开披露,CSP可以有助于防止相关方对所提交内容的任何操纵。

现在参考图2,图2示出了CSP的示例实施方式的示意图。CSP包括一个或多个用户节点(对应于用户/评论者)和至少一个实体节点(可以对应于接收反馈或其产品/服务被评论的实体)。例如,提供者(即评论者/内容提交者)可以是已经购买或使用产品/服务的客户,实体可以是参与产品/服务提供的制造商、销售商或服务提供商中的至少一个。

为了获得产品或接收服务,用户节点将固定数量的令牌转移到与提供产品/服务的实体相关联的实体节点。特别地,用户节点可以创建事务Tc以将固定数量x的数字资产(即令牌)转移到实体节点,换取从实体获取产品/服务。根据CSP的示例实施方式,“获取(acquisition)”事务Tc具有两个及以上的事务输出。包括令牌的d数量的第一输出表示提供给用户用于提交内容(例如对所获得的产品或服务的评论)的激励令牌。也就是说,用于转移到实体节点的令牌的已指派数量x的一部分被留出,以用作产品或服务的客户/用户(即用户节点)提交内容(例如评论)的激励。“折扣(discount)”的数额由用户和实体商定,并且可以由用户节点在提交内容(例如,评论)时兑现。包括x-d个令牌的Tc的第二输出表示在内容由授权用户节点提交的情况下,可以由实体节点兑换的令牌的折扣转移。特别地,实际转移到实体节点的令牌的总量可以小于初始指派的数量x,从而可以向用户节点提供适当的激励——以令牌的“返回”转移的形式——以提交内容(例如对产品/服务的评论)。

现在参考图3,图3示出了概括CSP的示例实施方式的流程图300。流程图300示出了为了实现CSP而创建的各种区块链事务。用户获得由实体提供的产品或服务。在步骤302,实体节点向用户节点通信内容指南(例如产品/服务的反馈指南)。更准确地,实体节点将产品/服务的一组可接受的内容值传达给用户节点。例如,内容值的选项可以是数字的(例如,按数字标度)或描述性评级(“优秀-良好-一般-差”),其在用户提交特定产品/服务时,由实体预先定义为可接受的。

在步骤306,用户节点通过承诺事务(commitment transaction)来指派x个令牌以转移到实体,作为对所获得的产品或所接收的服务的支付。在此初始承诺事务之后,用户节点和实体节点可以分别在步骤308和310独立地兑现它们各自的令牌已指派数量x(分别为d和x-d)的份额。具体地,用户节点可以收集d个令牌作为其提交适当内容(例如对实体提供的产品/服务的适当评论)的“激励”,实体节点可以为其向用户销售产品/服务要求x-d的“折扣”支付。

在至少一些实施方式中,用户节点和实体节点可以各自具有固定的时间范围,在该时间范围期间,它们被允许收集其各自的初始指派的x个令牌的份额。例如,对于用户节点何时必须提交内容(例如对产品/服务的评论)以便有资格接收其激励令牌的时间可能存在时间限制。时间限制可以有助于确保内容被及时地提交到区块链,例如,在获得产品或收到服务后不久。类似地,实体节点可能对其何时必须为产品/服务的销售要求“折扣”支付具有时间限制。在某些情况下,用户节点和实体节点可以具有相同的资格时间范围来要求它们各自的已指派令牌的份额。例如,用户节点和实体节点中的每一个可以仅被允许在“获取”事务中的令牌的初始指派时间之后的固定时间长度(例如一个月)内赎回它们各自的份额。如图3所示,如果其中一个节点未要求(或者在合适的时间范围内未要求)各自份额中的任何一个,则另一个节点可以收集未要求数量的令牌。更具体地,在步骤314,如果实体节点没有要求“折扣”支付,则用户节点可以兑现x个已指派令牌的全部数量;类似地,如果用户节点未能提交对产品/服务或其他内容的适当评论(在指定的时间范围内),则在步骤312,实体节点可以收集作为“激励”分配的令牌的数量,从而接收对产品/服务的x个已指派令牌的全额支付。

现在参考图4,图4以流程图的形式示出了用于提交内容(例如向区块链提交实体的反馈)的示例方法400。方法400可以例如由区块链网络(例如图1的网络100)中的节点(“用户节点”)来执行。特别地,节点可以与希望参与CSP的产品/服务的用户相关联。在一些实施方式中,用户节点是钱包或其他这类区块链实体。方法400可适用于收集由各种不同商业实体(例如,制造商、零售商、服务提供商等)提供的产品和服务的评论的系统/平台。例如,方法400可以被并入内容提交平台(例如用于在线市场的反馈提交平台)。提供产品/服务的实体至少部分地基于方法400的操作,可以允许过去的购买者和用户使用记录在区块链上的事务提交他们的评论。

在操作402中,用户节点提交第一事务Tc,用于指派第一数量x的令牌x以转移到与实体相关联的第二节点。例如,令牌的初始指派可以表示从实体获取的产品/服务的令牌的完全转移。第一事务Tc由用户节点创建,拥有公钥-私钥对(PkU,SkU)的用户签署第一事务Tc。第一事务Tc具有个输出。第一输出对应于要转移到用户节点以提交内容(例如对产品/服务的评论)的激励令牌。例如,第一输出可以表示对产品/服务的全额支付的“折扣”,该折扣将被转回用户节点。在一些实施方式中,第一输出的锁定脚本可以指定与特定产品/服务可接受的评论或其他内容相关的条件。例如,锁定脚本可以包括被视为适合于产品/服务的一组预定义内容值(例如评论值)。锁定脚本留置第一输出,使得第一输出可以使用包括以下两者的事务进行解锁:1)对与用户节点相关联的公钥有效的签名;以及2)包括在该组预定义内容值中的内容(例如,包括在一组预定义评论值中的评论值)。不同于第一输出的第二输出将“折扣”数量的令牌转移到实体节点,该实体节点具有相关联的公钥-私钥对(PkSP,SkSP)。特别地,令牌的“折扣”数量表示用户的第一数量x和令牌的激励数量d之间的差。因此,第二输出被锁定脚本锁定,该锁定脚本允许实体节点使用从与实体节点相关联的私钥生成的签名来要求折扣数量的令牌。

在操作404,生成提交给区块链的第一内容(例如,第一评论/反馈)。内容可以是与实体和/或实体的产品/服务相关的评论,该评论是由与节点相关联的用户获取的。在操作406,第二事务被提交给区块链,其中第二事务将已指派的第一数量x的令牌的第二数量d返回给与用户节点相关联的地址。第二事务具有第一(承诺)事务Tc的第一输出作为输入。换句话说,第二事务是将激励令牌转移到用户节点以提交适当内容(例如对从实体获得的产品/服务的适当评论)的事务。为了确保只接受来自授权用户的内容,与内容提交的“激励”相关联的第一输出通过指定花费“激励”d令牌必须满足的条件来进行锁定。特别地,第一内容用于解锁第一事务Tc的第一输出。也就是说,只有在成功提交适当的内容(例如用户从实体获得或接收的产品/服务的合适评论)时,用户节点才能获得激励令牌。例如,在一些实施方式中,第二事务的解锁脚本(其将“激励”数额转移给用户)可以包括第一内容(或第一内容的散列)。通过将第一内容直接插入解锁脚本中,一旦用户节点将第二事务提交给区块链(即,当奖励令牌被要求时),第一内容可以在区块链上永久广播。在一些实施方式中,第二事务的解锁脚本还可以包括对应于与用户节点相关联的公钥的签名。另外,第二事务的元数据可以包括由实体提供的特定产品或服务的标识符,将诸如评论提交的内容链接到相关产品/服务。

为了便于验证用户提交的内容(例如,评论)的有效性的过程,并使得对提交的内容的跟踪易于处理,在一些实施方式中,实体可以决定只允许有限数量的预定义内容值(例如,数字评级、描述性文字等)用于其产品/服务。也就是说,实体可以指定将被视为有效的一个或多个允许的内容值的预定集合。在这种情况下,第一事务Tc的第一输出的锁定脚本可以包括一组允许的内容条目(例如一个或多个离散评级)。为了被接受为有效提交,第一内容需要对应于允许的内容条目之一。在一些实施方式中,该组允许的内容条目将包括一个或多个允许的内容值的散列。换句话说,每个可能的内容值可以被散列并在锁定脚本中使用,以锁定第一输出(激励令牌)。然后,可以通过提交与第一输出的锁定脚本中的至少一个散列值相对应的内容,以多种方式解锁第一输出。因此,可以简单地通过选择由实体指定的允许的内容值之一(可以称为反馈值或评论值)来生成适当的内容(例如适当的评论/反馈)。例如,可以在用户节点处接收一个或多个允许的内容值的指示,并且可以由用户节点选择对应于这些可接受选项之一的内容并将其提交给区块链。

现在参考图5,图5以流程图的形式示出了用于为实体提交内容的另一示例方法500。方法500可以由区块链网络(诸如图1的网络100)中的节点来执行。特别地,节点可以与希望参与CSP的产品/服务的用户(“用户节点”)相关联。在一些实施方式中,节点是钱包或其他这类的区块链实体。

操作502、504和506分别对应于并且在范围上类似于方法400的操作402、404和406。如前所述,第一事务Tc指派代表产品/服务的全额支付的初始数量x的令牌以转移到实体,具有两个输出:代表内容/评论提交的“激励”的第一输出,和代表对实体的“折扣”支付的第二输出。例如,如果实体重视来自实际购买者和用户的对其产品/服务的评论的累积,那么实体可能会同意该产品或服务的较低得最终接收数额(即低于“标签”价格)。

在操作508中,确定具有第一事务Tc的第二输出作为输入的事务是否已经在第一时间提交给区块链。特别地,用户节点可以检查实体节点(例如服务提供商)是否在特定时间点之前已经收集了“折扣”支付x-d。例如,节点可以直接与该实体相关联的第二节点进行通信,或者发起对区块链的搜索,以确定将第二输出的UTXO转移到与实体节点相关联的地址的事务是否已经被提交给区块链。

在操作510中,如果实体在预定时间之前还没有要求其已指派数量x的令牌的份额,则节点提交将数量x-d的令牌转移到与用户节点相关联的地址的第三事务值得注意的是,第三事务是时间锁定的,以允许实体有足够的时间来要求其“折扣”支付。也就是说,第三事务包括事务参数nLockTime,该事务参数nLockTime指定第三事务变得有资格提交到区块链的时间点。该参数可以由用户、实体选择,或者在双方同意的情况下选择,以在为各方提供足够的时间量来要求其各自的已指派数量x的令牌的份额与确保用户节点及时提交评论或其他内容之间达到合理的平衡。在一些实施方式中,事务参数nLockTime可以指定时间点,该时间点是在第一事务被提交给区块链(即,当指派了初始数量时)的时间(T)之后的固定时间长度(s)。也就是说,

nLockTime=T+s                       (1)

由于这些参数很可能在事务之前由实体及其最终用户(即客户)商定,所以第三事务可以在向区块链提交第一承诺事务Tc之前由实体创建并签名,该第三事务将未被要求的“折扣”支付导向用户节点。也就是说,实体节点包括对第三事务的时间锁定,并且使其对用户节点是可访问的,使得用户节点可以提交第三事务并且使用用户的签名解锁数量x-d的令牌。

通过说明的方式,将描述承诺事务的第一输出的示例锁定脚本。例如,锁定脚本可以将一组描述性评级(“差-平均-好-优秀”)指定为可接受的内容值(即,可接受的评论或反馈值)。用户节点可以通过提交内容(例如对应于可接受内容值之一的评论)来解锁与第一输出相关联的令牌数量()。因此,锁定脚本将提供四个选项来释放令牌。该脚本通过检查用户节点提交的内容是否对应于四个允许的评级之一以及用户节点提供的签名是否对应于用户的公钥,来评估包含旨在解锁锁定脚本的内容的解锁脚本。可以在解锁脚本中指定对应于实体退款事务的额外选项。在示意图中,锁定脚本的选项可以是:

退款:OP_2OP_2OP_CHECKMULTISIG

评级1:OP_HASH160OP_EQUALVERIFYOP_CHECKSIG

评级2:OP_HASH160OP_EQUALVERIFYOP_CHECKSIG

评级3:OP_HASH160OP_EQUALVERIFYOP_CHECKSIG

评级4:OP_HASH160OP_EQUALVERIFYOP_CHECKSIG

正如用户节点可以收取实体节点未要求的“折扣”支付一样,如果用户节点在特定时间点之前没有提交合适的内容(例如合适的评论),则实体节点可以要求初始指派数量x的令牌的全部。也就是说,如果用户节点没有在预定义的时间段内提交适当的内容(例如对产品或服务的适当评论/反馈),则实体节点可以收集用户的份额(即内容提交“激励”)。特别地,实体节点可以提交退款事务该退款事务将已经被分配作为激励令牌的d个令牌转移到实体节点。退款事务可以包括指示退款事务可以提交给区块链的时间点的参数。退款事务由用户节点在区块链上的提交第一(承诺)事务之前创建并签名。特别地,用户节点用于准备和签名包括与参数相对应的时间锁定的退款事务并且将退款事务提供给实体节点,使得实体节点可以在时间锁定到期后将退款事务提交给区块链网络。

方法400和500可以被实现为基于区块链的内容收集平台(例如基于区块链的评论和反馈收集平台)的一部分。特别地,可以提供用于汇总通过区块链事务共享的评论的平台520(未示出)。平台520可以例如收集和组织针对特定实体或多个不同的被评论实体的提交的内容/反馈/评论。平台520可以被实现为网络门户、计算机软件和/或移动软件模块。平台520可以提供各种不同的功能,例如分类、组织和搜索包含实体及其产品/服务的评论的区块链事务。例如,可以使用诸如事务脚本元数据、输入和输出地址等信息来执行对区块链的搜索,以定位包含嵌入式评论和反馈的事务。搜索结果(即区块链事务)可以通过例如被评论的实体、产品/服务类型、产品/服务标识、评论提交的技术、最高到最低(或最低到最高)的数字评级等来排序。

附加地,在一些实施方式中,平台520可以允许内容(例如评论)的过滤,以识别可能无效或伪造的评论或其他内容。例如,在方法400和500的所提出的技术中,节点通过将内容(例如评论)包括在向节点返回一定数量的“激励”令牌的事务的事务脚本中来提交内容(例如评论)。如果未授权的用户获得了关于向实体转移产品/服务的支付的承诺事务的信息的访问权,则用户可能提交满足承诺事务的锁定脚本的条件的事务,并且因此还提交对实体和/或其产品/服务的无效评论。平台520可用于基于由被评论的实体传达给平台520的标准过滤这类未授权的评论。例如,平台520可以用于检测未从实体购买产品/服务的评论者,并且丢弃由与那些未授权的评论者相关联的节点提交的评论。

现在将参考图6,图6以框图形式示出了节点600的简化示例,该节点600在本发明的上下文中可以是参与节点和/或实体节点。节点600包括处理器602,处理器602可以包括一个或多个微处理器、专用集成芯片(ASICs)、微控制器或类似的计算机处理设备。节点600还包括存储器604和网络接口606,存储器604可以包括持久和非持久存储器,以存储值、变量以及在某些情况下存储处理器可执行程序指令,网络接口506通过有线或无线网络提供网络连接。

节点600包括包含处理器可执行指令的处理器可执行区块链应用608,当处理器可执行指令被执行时,使得处理器602执行本文描述的一个或多个功能或操作。

应当理解的是,本文描述的设备和过程以及实现所描述的用于配置区块链节点的方法/过程的任何模块、例程、过程、线程、应用或其他软件组件可使用标准计算机编程技术和语言来实现。本申请不限于特定处理器、计算机语言、计算机编程约定、数据结构或其他这类实施细节。

应当说明的是,上述实施方式说明而非限制本发明,在不脱离本发明的由所附权利要求限定的范围的情况下,本领域技术人员将能够设计出许多替代性实施方式。在权利要求中,括号中的任何附图标记不应解释为对权利要求的限制。词语“包括(comprising)”和“包括(comprises)”等并非在整体上排除其他元件和步骤的存在,尽管这些元件和步骤并没有在任何权利要求或说明书中列出。在本说明书中,“包括(comprises)”意指“包括(includes)或由......组成(consists of)”,“包括(comprising)”意指“包括(including)或由......组成(consisting of)”。元件的单数引用不意味着排除这些元件的复数引用,反之亦然。本发明可以借助包括若干不同元件的硬件,以及借助适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干个可以由硬件的同一个部件来体现。不争的事实是,在相互不同的从属权利要求中列举了某些方法,并不代表这些方法的结合不能获得有益效果。

个性化你的检索平台
使用键盘键 进行切换