当前位置: 首页 > 专利查询>余炀专利>正文

基于区块链的计算验证方法及系统技术方案

技术编号:21369826 阅读:28 留言:0更新日期:2019-06-15 11:14
本发明专利技术实施例涉及区块链技术领域,公开了一种基于区块链的计算验证方法及系统。其中,基于区块链的计算验证方法,包括:在所述区块链上发布应用服务,为每个所述应用服务进行编号;获取用户向Bounty合约发送的服务请求,所述服务请求中至少包括所述用户的身份信息和所述用户请求的应用服务编号,所述Bounty为一种运行在所述区块链上的智能合约;将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算;获取计算结果并生成与所述计算结果一一对应的工作量证明;将所述工作量证明发送至所述区块链进行验证。本发明专利技术实施方式所提供的基于区块链的计算验证方法及系统具有保证了计算的完整性的同时,提升计算验证效率以及数据的隐私性的优点。

Computational Verification Method and System Based on Block Chain

The embodiment of the invention relates to the technical field of block chain, and discloses a calculation verification method and system based on block chain. Among them, the block chain-based computing verification method includes: publishing application services on the block chain and numbering each of the application services; obtaining service requests sent by users to the Bounty contract, which include at least the user's identity information and the application service number requested by the user. The Bounty is an application service number running on the block chain. Intelligent contract; assign the service request to a trusted computing module running in a trusted execution environment for calculation; obtain the calculation results and generate workload certificates corresponding to the calculation results one by one; and send the workload certificates to the block chain for verification. The block chain-based computational verification method and system provided by the embodiment of the present invention have the advantages of ensuring computational integrity, improving computational verification efficiency and data privacy.

【技术实现步骤摘要】
基于区块链的计算验证方法及系统
本专利技术实施例涉及区块链
,特别涉及一种基于区块链的计算验证方法及系统。
技术介绍
伴随着比特币的产生与兴起,区块链技术也逐渐被人们熟知。区块链技术创新性地提出了一种去中心化的应用模式。从网络拓扑上来看,区块链系统是一个分布式的网络,节点之间通过点对点的方式连接,任何节点都可以随时加入和离开网络,并且每个节点都会维护整个区块链的数据。从数据结构上来看,它将数据组织成区块的形式,并且通过密码学方式将区块串联成一种只增的链式结构。系统中产生的新数据由矿工(区块链中运行的计算节点)收集,通过竞争挖矿的方式产生新的区块,并广播至整个网络。在特定的共识机制的作用下,网络中的众多节点会对链上状态逐步达成一致,保证了整个区块链系统的去中心化,从而保证了数据的完整性。并且由于共识的全局性,所有涉及到数据更新的操作都需要整个网络协商一致才能生效,少数节点的失效或是作恶无法影响到链上数据,从而保证了整个系统的可靠性。然而,本专利技术的专利技术人发现,尽管区块链系统具有去中心化、去信任、安全性高等特性。但由于主流的区块链系统以竞争挖矿的方式为主导,即便加入的计算节点再多,各个计算节点也处于单独工作的状态,且多个计算节点同时进行相同的工作,导致整个系统的计算效率较低。此外,由于区块链的状态需要全网验证,故而链上所有数据都必须公开透明,所有节点都可以获取链上所有数据,导致系统的隐私性极差。
技术实现思路
本专利技术的实施方式涉及一种基于区块链的计算验证方法及系统,可以在保证了计算的完整性的同时,提升计算验证效率以及数据的隐私性。本专利技术的实施方式提供一种基于区块链的计算验证方法,包括:在所述区块链上发布应用服务,为每个所述应用服务进行编号;获取用户向Bounty合约发送的服务请求,所述服务请求中至少包括所述用户的身份信息和所述用户请求的应用服务编号,所述Bounty为一种运行在所述区块链上的智能合约;将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算;获取计算结果并生成与所述计算结果一一对应的工作量证明;将所述工作量证明发送至所述区块链进行验证。本专利技术的实施方式还提供一种基于区块链的计算验证系统,包括:智能合约,运行在所述区块链上,所述智能合约用于在所述区块链上发布应用服务、以及获取用户向所述区块链发送的服务请求;可信计算模块,运行于所述可信执行环境,用于对所述任务调度模块分配的所述服务请求进行计算,生成计算结果以及与所述计算结果一一对应的工作量证明;应用管理模块,所述应用管理模块用于对所述工作量证明进行验证。与现有技术相比,本专利技术实施方式所提供的基于区块链的计算验证方法及系统将计算和验证过程解耦,将用户向区块链发送的服务请求分配至可信计算模块进行计算,通过任务分配的方式取代传统区块链中的竞争的方式,避免多个计算节点同时进行相同的工作,从而有效的提升了整个计算验证系统的计算效率。由于在区块链上进行验证的仅为与计算结果一一对应的工作量证明,而工作量证明的大小不会随着计算数据量的增大而增大,有效的提升了验证效率的同时,无需将所有的数据在区块链上进行验证,提升了系统中数据的隐私性。此外,由于计算模块运行于可信执行环境中,从而保证了计算的完整性和可靠性。另外,所述在应用程序上发布应用服务前,还包括:对应用服务进行安全性检测,对检测合格的所述应用服务进行数字签名;将具有所述数字签名的应用服务发布在所述应用程序上。另外,所述在应用程序上发布应用服务,还包括:生成与所述应用服务对应的公私钥对;其中,每对所述公私钥对包括相互对应的公钥和私钥,每个所述应用服务对应唯一的公私钥对;将所述公钥在所述区块链上公开,将所述私钥存储于可信存储模块中,所述可信存储模块为一种运行在可信执行环境中的分布式键值对存储系统。另外,所述将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算,具体包括:根据所述服务请求生成计算任务,生成与所述计算任务唯一对应的标识信息;从所述可信计算模块中选取第一计算工人,将所述计算任务分配至所述第一计算工人,其中,所述第一计算工人为完成身份验证且处于闲置状态的计算工人;将所述标识信息分别发送至所述用户、所述第一计算工人和可信存储模块,所述可信存储模块为一种运行在可信执行环境中的分布式键值对存储系统;所述用户和所述第一计算工人根据所述标识信息建立可信通信后,控制所述第一计算工人对所述计算任务进行计算。另外,所述获取计算结果并生成与所述计算结果一一对应的工作量证明,具体包括:获取所述第一计算工人对所述计算任务进行计算的计算结果,将所述计算结果存储至所述可信存储模块;生成与所述计算任务一一对应的工作量证明,所述工作量证明中至少包括所述第一计算工人的身份信息和所述私钥。另外,所述将所述工作量证明发送至链上验证模块进行验证,具体包括:将所述工作量证明发送至所述区块链,判断所述工作量证明中所包含的私钥与所述公钥是否配对;若是,则判定所述工作量证明有效;若否,则判定所述工作量证明无效。另外,所述判定所述工作量证明有效后,还包括:当所述工作量证明被验证有效后,利用Token合约向所述第一计算工人支付酬金;其中,所述Token合约为一种运行在所述区块链上、用于处理所述区块链上数据货币的智能合约。另外,所述将所述工作量证明发送至链上验证模块进行验证前,还包括:将所述计算结果发送至可信存储模块;其中,所述可信存储模块为一种运行在可信执行环境中的分布式键值对存储系统。另外,所述将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算前,还包括:判断所述服务请求是否有效;若是,则将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算。另外,还包括可信存储模块;所述可信存储模块用于存储所述计算结果。另外,所述可信计算模块包括应用加载模块、工作量证明模块、身份验证模块、区块链交互模块、安全存储模块以及安全通信模块;所述应用加载模块中连接有计算工人,所述应用加载模块用于从所述可信存储模块获取所述应用服务的数据并通过所述计算工人对所述应用服务进行计算并获取计算结果;所述工作量证明模块用于生成与所述计算结果一一对应的工作量证明;所述身份验证模块用于验证所述计算工人是否运行于可信执行环境;所述区块链交互模块用于与所述区块链进行交互;所述安全存储模块用于将所述计算结果发送至所述可信存储模块;所述安全通信模块用于构建可信通信信道。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是本专利技术第一实施方式提供的一种基于区块链的计算验证方法的流程图;图2是本专利技术第一实施方式提供的一种基于区块链的计算验证方法中所使用到的Bounty合约的结构示意框图;图3是本专利技术第一实施方式提供的一种基于区块链的计算验证方法中计算工人注册的流程图;图4是本专利技术第一实施方式提供的一种基于区块链的计算验证方法中所使用到的Token合约的结构示意框图;图5是本专利技术第一实施方式提供的一种基于区块链的计算验证系统的结构示意框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本本文档来自技高网...

【技术保护点】
1.一种基于区块链的计算验证方法,其特征在于,包括:在所述区块链上发布应用服务,为每个所述应用服务进行编号;获取用户向Bounty合约发送的服务请求,所述服务请求中至少包括所述用户的身份信息和所述用户请求的应用服务编号,其中,所述Bounty为一种运行在所述区块链上的智能合约;将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算;获取计算结果并生成与所述计算结果一一对应的工作量证明;将所述工作量证明发送至所述区块链进行验证。

【技术特征摘要】
1.一种基于区块链的计算验证方法,其特征在于,包括:在所述区块链上发布应用服务,为每个所述应用服务进行编号;获取用户向Bounty合约发送的服务请求,所述服务请求中至少包括所述用户的身份信息和所述用户请求的应用服务编号,其中,所述Bounty为一种运行在所述区块链上的智能合约;将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算;获取计算结果并生成与所述计算结果一一对应的工作量证明;将所述工作量证明发送至所述区块链进行验证。2.根据权利要求1所述的基于区块链的计算验证方法,其特征在于,所述在区块链上发布应用服务前,还包括:对应用服务进行安全性检测,对检测合格的所述应用服务进行数字签名;将具有所述数字签名的应用服务发布在所述区块链上。3.根据权利要求1所述的基于区块链的计算验证方法,其特征在于,所述在应用程序上发布应用服务,还包括:生成与所述应用服务对应的公私钥对;其中,每对所述公私钥对包括相互对应的公钥和私钥,每个所述应用服务对应唯一的公私钥对;将所述公钥在所述区块链上公开,将所述私钥存储于可信存储模块中,所述可信存储模块为一种运行在可信执行环境中的分布式键值对存储系统。4.根据权利要求3所述的基于区块链的计算验证方法,其特征在于,所述将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算,具体包括:根据所述服务请求生成计算任务,生成与所述计算任务唯一对应的标识信息;从所述可信计算模块中选取第一计算工人,将所述计算任务分配至所述第一计算工人,其中,所述第一计算工人为完成身份验证且处于闲置状态的计算工人;将所述标识信息分别发送至所述用户、所述第一计算工人和可信存储模块,所述可信存储模块为一种运行在可信执行环境中的分布式键值对存储系统;所述用户和所述第一计算工人根据所述标识信息建立可信通信后,控制所述第一计算工人对所述计算任务进行计算。5.根据权利要求4所述的基于区块链的计算验证方法,其特征在于,所述获取计算结果并生成与所述计算结果一一对应的工作量证明,具体包括:获取所述第一计算工人对所述计算任务进行计算的计算结果,将所述计算结果存储至所述可信存储模块;生成与所述计算任务一一对应的工作量证明,所述工作量证明中至少包括所述第一计算工人的身份信息和所述私钥。6.根据权利要求5所述的基于区块链的计算验证方法,其特征在于,所述将所述工作量证明发送至链上验证模块进行验证,具体包括:将所述工作...

【专利技术属性】
技术研发人员:余炀
申请(专利权)人:余炀
类型:发明
国别省市:上海,31

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

1