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.
【技术实现步骤摘要】
基于区块链的计算验证方法及系统
本专利技术实施例涉及区块链
,特别涉及一种基于区块链的计算验证方法及系统。
技术介绍
伴随着比特币的产生与兴起,区块链技术也逐渐被人们熟知。区块链技术创新性地提出了一种去中心化的应用模式。从网络拓扑上来看,区块链系统是一个分布式的网络,节点之间通过点对点的方式连接,任何节点都可以随时加入和离开网络,并且每个节点都会维护整个区块链的数据。从数据结构上来看,它将数据组织成区块的形式,并且通过密码学方式将区块串联成一种只增的链式结构。系统中产生的新数据由矿工(区块链中运行的计算节点)收集,通过竞争挖矿的方式产生新的区块,并广播至整个网络。在特定的共识机制的作用下,网络中的众多节点会对链上状态逐步达成一致,保证了整个区块链系统的去中心化,从而保证了数据的完整性。并且由于共识的全局性,所有涉及到数据更新的操作都需要整个网络协商一致才能生效,少数节点的失效或是作恶无法影响到链上数据,从而保证了整个系统的可靠性。然而,本专利技术的专利技术人发现,尽管区块链系统具有去中心化、去信任、安全性高等特性。但由于主流的区块链系统以竞争挖矿的方式为主导,即便加入的计算节点再多,各个计算节点也处于单独工作的状态,且多个计算节点同时进行相同的工作,导致整个系统的计算效率较低。此外,由于区块链的状态需要全网验证,故而链上所有数据都必须公开透明,所有节点都可以获取链上所有数据,导致系统的隐私性极差。
技术实现思路
本专利技术的实施方式涉及一种基于区块链的计算验证方法及系统,可以在保证了计算的完整性的同时,提升计算验证效率以及数据的隐私性。本专利技术的实施方 ...
【技术保护点】
1.一种基于区块链的计算验证方法,其特征在于,包括:在所述区块链上发布应用服务,为每个所述应用服务进行编号;获取用户向Bounty合约发送的服务请求,所述服务请求中至少包括所述用户的身份信息和所述用户请求的应用服务编号,其中,所述Bounty为一种运行在所述区块链上的智能合约;将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算;获取计算结果并生成与所述计算结果一一对应的工作量证明;将所述工作量证明发送至所述区块链进行验证。
【技术特征摘要】
1.一种基于区块链的计算验证方法,其特征在于,包括:在所述区块链上发布应用服务,为每个所述应用服务进行编号;获取用户向Bounty合约发送的服务请求,所述服务请求中至少包括所述用户的身份信息和所述用户请求的应用服务编号,其中,所述Bounty为一种运行在所述区块链上的智能合约;将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算;获取计算结果并生成与所述计算结果一一对应的工作量证明;将所述工作量证明发送至所述区块链进行验证。2.根据权利要求1所述的基于区块链的计算验证方法,其特征在于,所述在区块链上发布应用服务前,还包括:对应用服务进行安全性检测,对检测合格的所述应用服务进行数字签名;将具有所述数字签名的应用服务发布在所述区块链上。3.根据权利要求1所述的基于区块链的计算验证方法,其特征在于,所述在应用程序上发布应用服务,还包括:生成与所述应用服务对应的公私钥对;其中,每对所述公私钥对包括相互对应的公钥和私钥,每个所述应用服务对应唯一的公私钥对;将所述公钥在所述区块链上公开,将所述私钥存储于可信存储模块中,所述可信存储模块为一种运行在可信执行环境中的分布式键值对存储系统。4.根据权利要求3所述的基于区块链的计算验证方法,其特征在于,所述将所述服务请求分配至运行于可信执行环境的可信计算模块进行计算,具体包括:根据所述服务请求生成计算任务,生成与所述计算任务唯一对应的标识信息;从所述可信计算模块中选取第一计算工人,将所述计算任务分配至所述第一计算工人,其中,所述第一计算工人为完成身份验证且处于闲置状态的计算工人;将所述标识信息分别发送至所述用户、所述第一计算工人和可信存储模块,所述可信存储模块为一种运行在可信执行环境中的分布式键值对存储系统;所述用户和所述第一计算工人根据所述标识信息建立可信通信后,控制所述第一计算工人对所述计算任务进行计算。5.根据权利要求4所述的基于区块链的计算验证方法,其特征在于,所述获取计算结果并生成与所述计算结果一一对应的工作量证明,具体包括:获取所述第一计算工人对所述计算任务进行计算的计算结果,将所述计算结果存储至所述可信存储模块;生成与所述计算任务一一对应的工作量证明,所述工作量证明中至少包括所述第一计算工人的身份信息和所述私钥。6.根据权利要求5所述的基于区块链的计算验证方法,其特征在于,所述将所述工作量证明发送至链上验证模块进行验证,具体包括:将所述工作...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。