用于区块链背书的零知识证明制造技术

技术编号:25995491 阅读:51 留言:0更新日期:2020-10-20 19:05
示例操作可包括以下中的一个或多个:从区块链的一个或多个背书者节点接收对针对区块链的存储请求的一个或多个响应,提取在该一个或多个响应中包括的存储请求的交易数据,基于所提取的交易数据和该一个或多个响应来生成背书的零知识证明,并向区块链节点发送零知识证明,以用于将零知识证明包括在散列链接的数据区块链的数据区块中。

【技术实现步骤摘要】
用于区块链背书的零知识证明
本申请总体上涉及区块链背书过程,并且更具体地涉及在隐藏背书者节点的身份和背书策略的同时可用作背书的证明的零知识证明。
技术介绍
集中式数据库在位于一个位置的单个数据库(例如,数据库服务器)中存储和维护数据。该位置通常是中央计算机,例如,台式中央处理器(CPU)、服务器CPU、或大型计算机。通常可以从多个不同点访问存储在集中式数据库中的信息。例如,基于客户端/服务器配置,多个用户或客户端工作站可以在集中式数据库上同时工作。集中式数据库易于管理、维护和控制,特别是出于安全目的,因为它位于单个位置。在集中式数据库中,由于所有数据的单个存储位置也暗示给定的一组数据仅具有一个主记录,因此数据冗余被最小化。然而,集中式数据库遭受重大缺陷。例如,集中式数据库具有单点故障。因此,如果发生硬件故障,则数据库中的所有数据都将丢失,并且所有用户的工作都会中断。此外,集中式数据库高度依赖于网络连接。结果,连接速度越慢,每次数据库访问所需的时间量就会增加。另一个缺点是当集中式数据库由于单个位置而遇到高流量时,会出现瓶颈。此外,由于数据库仅维护数据的一个副本,因此集中式数据库提供了对数据的有限访问。结果,多个设备无法同时访问同一段数据而不造成严重的问题或产生覆盖已存储数据的风险。此外,由于数据库存储系统的数据冗余很小甚至没有,因此,除了通过手动操作从备份存储中恢复之外,很难恢复意外丢失的数据。区块链为与常规数据库相关联的此类缺点和局限性提供了一种解决方案。区块链提供了一种分布式数据库,在该数据库中,只有在被称为背书节点的一组不信任方背书(同意)后,才可将数据添加到区块链中。为了提供一定程度的可审计性,背书节点将其身份(例如公钥)及其背书结果/决定存储在区块链上。公开的背书提供公共可验证性,但会导致潜在风险,例如攻击和数据泄漏。例如,通过挖掘交易历史,攻击者可识别活动的(active)背书者(endorser)或背书特定类型的交易的背书者并发起针对性的攻击(例如,拒绝服务攻击等)。作为另一个示例,因为递交(submitting)客户端有权选择遵循预定义背书策略的背书对等体,挖掘与特定客户端ID相关的所有交易可揭示敏感信息,例如客户端对背书者的偏好、通过选择顺序体现的对不同背书者的信任级别、地理位置等。这样,需要一种解决方案,该解决方案通过隐藏背书者节点身份同时仍使由生效节点和客户端执行的背书/验证具有可审计性来克服这些缺点和局限性。
技术实现思路
一个示例实施例提供了一种系统,该系统包括以下中的一个或多个:网络接口,该网络接口被配置为从区块链的一个或多个背书者节点接收对针对区块链的存储请求的一个或多个响应;以及处理器,该处理器被配置为执行以下中的一个或多个:提取在该一个或多个响应中包括的存储请求的交易数据;基于所提取的交易数据和该一个或多个响应来生成背书的零知识证明;以及控制网络接口以向区块链节点发送零知识证明,以用于将零知识证明包括在散列链接的数据区块链中的数据区块中。另一示例实施例提供了一种方法,该方法包括以下中的一个或多个:从区块链的一个或多个背书者节点接收对区块链的存储请求的一个或多个响应;提取在该一个或多个响应中包括的存储请求的交易数据;基于所提取的交易数据和该一个或多个响应来生成背书的零知识证明;以及向区块链节点发送零知识证明,以用于将零知识证明包括在散列链接的数据区块链中的数据区块中。另一示例实施例提供了一种方法,该方法包括以下中的一个或多个:接收包括区块链存储请求的背书的零知识证明的消息,以用于将零知识证明包括在区块链中的数据区块;通过对区块链的链码的应用程序编程接口(API)调用来读取加密背书策略;基于加密背书策略和零知识证明的多个属性确定零知识证明是否有效;以及响应于确定零知识证明是有效的,在区块链上的数据区块的数据部分内存储区块链存储请求。附图说明图1是示出了根据示例实施例的实现零知识证明背书的区块链网络的图。图2A是示出了根据示例实施例的示例区块链体系结构配置的图。图2B是示出了根据示例实施例的传统区块链交易流程的图。图3A是示出了根据示例实施例的经许可的网络的图。图3B是示出了根据示例实施例的另一经许可的网络的图。图4A是示出了根据示例实施例的用于背书的通信序列的图。图4B是示出了根据示例实施例的生成背书的零知识证明的过程的图以及图4C是示出了根据示例实施例的验证背书的零知识证明的过程的图。图5A是示出了根据示例实施例的生成用于背书的零知识证明的方法的流程图。图5B是示出了根据示例实施例的验证用于背书的零知识证明的方法的流程图。图6A是示出了根据示例实施例的被配置为执行本文所述的一个或多个操作的示例系统的图。图6B是示出了根据示例实施例的被配置为执行本文所述的一个或多个操作的另一示例系统的图。图6C是示出了根据示例实施例的被配置为利用智能合约的另一示例系统的图。图6D是示出了根据示例实施例的被配置为利用区块链的又一示例系统的图。图7A是示出了根据示例实施例的用于将新区块添加至分布式账本的过程的图。图7B是示出了根据示例实施例的新数据区块的内容的图。图7C是示出了根据示例实施例的用于数字内容的区块链的图。图7D是示出了根据示例实施例的可以表示区块链中的区块结构的区块的图。图8是示出了支持一个或多个示例实施例的示例系统的图。具体实施方式容易理解的是,如在本文附图中一般描述和说明的示例组件可以以各种不同的配置来布置和设计。因此,如附图中所示的方法、装置、非暂态计算机可读介质和系统中的至少一个的实施例的以下详细描述并非旨在限制所要求保护的本申请的范围,而是仅代表所选实施例。贯穿本说明书描述的示例特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合或移除。例如,贯穿本说明书,短语“示例实施例”、“一些实施例”或其它类似语言的使用是指结合该实施例描述的特定特征、结构或特性可包括在至少一个实施例中的事实。因此,贯穿本说明书出现的短语“示例实施例”、“在一些实施例中”、“在其它实施例中”或其它类似语言不一定是指相同的一组实施例,并且所描述的特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合或移除。另外,尽管在实施例的描述中可能已经使用术语“消息”,但是本申请可应用于许多类型的网络和数据。此外,尽管在示例性实施例中可描绘某些类型的连接、消息和信令,但是本申请不限于特定类型的连接、消息和信令。示例实施例提供了方法、系统、组件、非暂态计算机可读介质、设备、和/或网络,其实现了用于区块链存储系统的零知识证明背书机制。在一个实施例中,本申请利用作为分布式存储系统的分散式数据库(例如,区块链),该分布式存储系统包括彼此通信的多个节点。分散式数据库包括类似于分布式账本的仅附加(append-only)的不可篡改数据结构,分布式账本能够维持互不信任的各方之间的记录。不本文档来自技高网
...

【技术保护点】
1.一种计算系统,包括:/n网络接口,其被配置为从区块链的一个或多个背书者节点接收对针对所述区块链的存储请求的一个或多个响应;以及/n处理器,其被配置为提取在所述一个或多个响应中包括的所述存储请求的交易数据,以及基于所提取的交易数据和所述一个或多个响应来生成背书的零知识证明;/n其中,所述处理器还被配置为控制所述网络接口以向区块链节点发送所述零知识证明,以用于将所述零知识证明包括在散列链接的数据区块链中的数据区块内。/n

【技术特征摘要】
20190405 US 16/3759711.一种计算系统,包括:
网络接口,其被配置为从区块链的一个或多个背书者节点接收对针对所述区块链的存储请求的一个或多个响应;以及
处理器,其被配置为提取在所述一个或多个响应中包括的所述存储请求的交易数据,以及基于所提取的交易数据和所述一个或多个响应来生成背书的零知识证明;
其中,所述处理器还被配置为控制所述网络接口以向区块链节点发送所述零知识证明,以用于将所述零知识证明包括在散列链接的数据区块链中的数据区块内。


2.根据权利要求1所述的计算系统,其中,所述零知识证明隐藏所述一个或多个背书者节点的身份,并且隐藏所述区块链的背书策略。


3.根据权利要求2所述的计算系统,其中,所述零知识证明保留了验证所述一个或多个响应满足所述背书策略的能力。


4.根据权利要求1所述的计算系统,其中,所述交易数据包括由所述处理器从所述一个或多个响应中识别出的由所述一个或多个背书者节点生成的交易ID、链码ID以及一个或多个读取/写入集。


5.根据权利要求1所述的计算系统,其中,所述处理器还被配置为用区块链监管者的公钥对所述一个或多个响应进行加密,以及基于所述一个或多个加密的响应来生成所述零知识证明。


6.根据权利要求1所述的计算系统,其中,所述处理器还被配置为控制所述网络接口以向所述区块链节点发送所述一个或多个加密的响应和所述区块链监管者的所述公钥,以用于将所述一个或多个加密的响应和所述区块链监管者的所述公钥包括在所述散列链接的数据区块链中的所述数据区块中。


7.根据权利要求1所述的计算系统,其中,所述处理器还被配置为取得由所述背书者节点遵循的加密背书策略,其中,所述处理器基于所述加密背书策略来生成所述零知识证明。


8.根据权利要求7所述的计算系统,其中,所述处理器被配置为基于在从所述一个或多个背书节点接收的所述一个或多个响应中包括的数据来重构所述加密背书策略。


9.一种客户端节点的方法,包括:
从区块链的一个或多个背书者节点接收对针对所述区块链的存储请求的一个或多个响应;
提取在所述一个或多个响应中包括的所述存储请求的交易数据;
基于所提取的交易数据和所述一个或多个响应,生成背书的零知识证明;以及
向区块链节点发送所述零知识证明,以用于将所述零知识...

【专利技术属性】
技术研发人员:胡彦彦袁园曹圣皎A·德卡罗
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1