数据处理装置和数据处理方法制造方法及图纸

技术编号:38462051 阅读:12 留言:0更新日期:2023-08-11 14:39
本公开涉及用于将可执行的源代码转化为用于验证该源代码的执行过程正确性的零知识证明的数据处理装置和数据处理方法。根据本公开的数据处理装置包括:运算电路约束生成单元,被配置成自动地分析源代码以将源代码分解为代码结构,并且生成描述代码结构的运算电路约束;以及零知识证明生成单元,被配置成使用运算电路约束生成零知识证明,其中零知识证明基于运算电路约束形成的多项式来构造。根据本公开的数据处理技术,能够将例如区块链的复杂的链上业务逻辑转移到链下计算,并且自动地为链下的计算以及相关的数据生成零知识证明,从而在保证安全性的同时降低区块链的计算代价。而在保证安全性的同时降低区块链的计算代价。而在保证安全性的同时降低区块链的计算代价。

【技术实现步骤摘要】
数据处理装置和数据处理方法


[0001]本公开总体上涉及数据处理的
,更具体地,涉及用于将可执行的源代码转化为用于验证该源代码的执行过程正确性的零知识证明的数据处理装置和数据处理方法。

技术介绍

[0002]在现有的各种数据处理技术中,当数据处理所涉及的业务逻辑比较复杂时,数据处理的性能会显著下降,数据处理的相关代价也会相应增加。

技术实现思路

[0003]为了解决现有技术中存在的上述问题,本公开提出了一种用于将可执行的源代码转化为用于验证该源代码的执行过程正确性的零知识证明的数据处理技术。
[0004]在下文中将给出关于本公开的简要概述,以便提供关于本公开的某些方面的基本理解。应当理解,此概述并非是关于本公开的穷举性概述,也并非意图确定本公开的关键或重要部分或者限定本公开的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
[0005]根据本公开的一个方面,提供了一种数据处理装置,用于将可执行的源代码转化为用于验证源代码的执行过程正确性的零知识证明,包括:运算电路约束生成单元,被配置成自动地分析源代码以将源代码分解为代码结构,并且生成描述代码结构的运算电路约束;以及零知识证明生成单元,被配置成使用运算电路约束生成零知识证明,其中零知识证明基于运算电路约束形成的多项式来构造。
[0006]根据本公开的另一方面,提供了一种数据处理方法,用于将可执行的源代码转化为用于验证源代码的执行过程正确性的零知识证明,包括:自动地分析源代码以将源代码分解为代码结构,并且生成描述代码结构的运算电路约束;以及使用运算电路约束生成零知识证明,其中零知识证明基于运算电路约束形成的多项式来构造。
[0007]根据本公开的另一方面,提供了一种能够实现上述的数据处理方法的计算机程序。此外,还提供了具有至少计算机可读介质形式的计算机程序产品,其上记录有用于实现上述的数据处理方法的计算机程序代码。
[0008]根据本公开的用于将可执行的源代码转化为用于验证该源代码的执行过程正确性的零知识证明的数据处理技术,能够将复杂的链上业务逻辑转移到链下计算,并且自动地为链下的计算以及相关的数据生成零知识证明,从而保证链下计算的正确性。特别地,该数据处理技术能够自动分析链下计算的源代码以将计算过程转化为电路约束,并且用优化的零知识证明协议为其生成证明。这样,可以在保证安全性的同时降低区块链的计算代价。
附图说明
[0009]参照下面结合附图对本公开实施方式的说明,会更加容易地理解本公开的以上和
其它目的、特点和优点,在附图中:
[0010]图1是示出根据本公开的实施方式的数据处理装置的框图;
[0011]图2是示出根据本公开的实施方式的数据处理装置执行的示例性处理的示意图;
[0012]图3是示出根据本公开的实施方式的运算电路约束生成单元的框图;
[0013]图4是示出根据本公开的实施方式的静态分析子单元执行的示例性处理的示意图;
[0014]图5是示出根据本公开的实施方式的静态分析子单元针对第一代码结构执行的示例性处理的示意图;
[0015]图6是示出根据本公开的实施方式的静态分析子单元针对第二代码结构执行的示例性处理的示意图;
[0016]图7是示出根据本公开的实施方式的静态分析子单元针对第三代码结构执行的示例性处理的示意图;
[0017]图8是示出根据本公开的实施方式的静态分析子单元针对第四代码结构执行的示例性处理的示意图;
[0018]图9是示出根据本公开的实施方式的动态分析子单元执行的示例性处理的示意图;
[0019]图10是示出根据本公开的实施方式的动态分析子单元针对第五至第八代码结构执行的示例性处理的示意图;
[0020]图11是示出根据本公开的实施方式的零知识证明生成单元执行的示例性处理的示意图;
[0021]图12是示出根据本公开的实施方式的零知识证明生成单元执行的示例性累加证明生成处理的示意图;
[0022]图13是示出根据本公开的实施方式的零知识证明生成单元执行的累加证明处理的示例的示意图;
[0023]图14是示出根据本公开的实施方式的数据处理方法的流程图;以及
[0024]图15是示出可用来实现根据本公开的实施方式的数据处理方法和数据处理装置的通用机器的结构简图。
具体实施方式
[0025]在下文中,将参照所附的说明性示图详细描述本公开的一些实施方式。在用附图标记指示附图的元件时,尽管相同的元件在不同的附图中示出,但相同的元件将由相同的附图标记表示。此外,在本公开的以下描述中,在有可能使本公开的主题不清楚的情况下,将省略对并入于本文中的已知功能和配置的详细描述。
[0026]本文中使用的术语仅用于描述特定实施方式的目的,而非旨在限制本公开。如本文所使用的,除非上下文另外指出,否则单数形式旨在也包括复数形式。还将理解的是,说明书中使用的术语“包括”、“包含”和“具有”旨在具体说明所陈述的特征、实体、操作和/或部件的存在,但是并不排除一个或更多个其他的特征、实体、操作和/或部件的存在或添加。
[0027]除非另有定义,否则本文中使用的包括技术术语和科学术语的所有术语具有与本专利技术构思所属领域技术人员通常理解的含义相同的含义。将进一步理解的是,诸如在常用
词典中定义的那些术语应该被解释为具有与其在相关领域的上下文中的含义一致的含义,除非在此明确定义否则不应以理想化或过于正式的意义来解释。
[0028]在下面的描述中,阐述了许多具体细节以提供对本公开的全面理解。本公开可以在没有这些具体细节中的一些或所有具体细节的情况下实施。在其他实例中,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的部件,而省略了与本公开关系不大的其他细节。
[0029]零知识证明可以在不暴露任何计算相关信息的情况下对通用计算的正确性进行验证。零知识证明将通用计算按照计算步骤转化为运算电路,对于每一个电路门进行约束,将所有电路门的约束进行形式化统一,整合形成运算电路约束系统。将通用计算的正确性转化为运算电路约束系统的可满足性。将运算电路约束系统转化为多项式表示,将通用计算的正确性再一次转化为多项式的正确性。通过对多项式在定义域上的取值进行抽样验证,从而实现对通用计算的正确性验证。在这个过程中,通过密码学方案,使得验证方能够在不获得任何通用计算相关信息的前提下对通用计算的正确性进行了验证。
[0030]区块链可被视为一种以去中心化方式进行操作的分布式数据库。区块链技术通过使用数据加密、时间戳、分布式共识和经济激励等手段,在分布式系统中的交易节点无需互相信任的情况下,实现基于去中心化的点对点交易、协调与协作,从而解决中心化机构普遍存在的高成本、低效率和数据存储不安全等问题。
[0031]近年来,区块链作为一种新形式的具有普适性的分布式底层架构,已被广泛应用于金融、经济、科技甚至本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理装置,用于将可执行的源代码转化为用于验证所述源代码的执行过程正确性的零知识证明,包括:运算电路约束生成单元,被配置成自动地分析所述源代码以将所述源代码分解为代码结构,并且生成描述所述代码结构的运算电路约束;以及零知识证明生成单元,被配置成使用所述运算电路约束生成所述零知识证明,其中所述零知识证明基于所述运算电路约束形成的多项式来构造。2.根据权利要求1所述的数据处理装置,其中,所述源代码用于在区块链架构中对与应用相关的数据进行链下预处理。3.根据权利要求1所述的数据处理装置,其中,所述运算电路约束具有所述源代码中包括的变量的乘法式的形式。4.根据权利要求1至3中任一项所述的数据处理装置,其中,所述运算电路约束生成单元包括:静态分析子单元,被配置成对所述源代码的静态代码结构进行分析以生成关于所述静态代码结构的运算电路约束,其中所述静态代码结构在所述源代码的执行期间不变;以及动态分析子单元,被配置成执行所述源代码的动态代码结构以生成关于所述动态代码结构的运算电路约束,其中所述动态代码结构在所述源代码的执行期间基于变量而动态变化。5.根据权利要求4所述的数据处理装置,其中,所述静态分析子单元被配置成分析所述源代码以查找具有不确定性的代...

【专利技术属性】
技术研发人员:张沈斌华松皮冰锋孙俊
申请(专利权)人:富士通株式会社
类型:发明
国别省市:

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

1