The embodiment of this application provides a method and device for running an intelligent contract. The method includes: a processing node in a distributed network receives a transaction sent by a consensus service node, which includes multiple running results generated during the endorsement process of an intelligent contract; the processing node checks whether the multiple running results satisfy the validation strategy, and the check includes checking the multiple running nodes. If the data and version number generated by programs other than the limited conditions of the smart contract are checked, the processing node identifies the limited conditions in the smart contract and determines whether the local account data meets the limited conditions when the multiple running results satisfy the validation strategy; and if the local account data meets the limited conditions, the processing node Accept the transaction. The method and device for running the intelligent contract in the embodiment of the present application are beneficial to improving the success rate of transaction writing to the account book and thus to improving the overall performance of the system.
【技术实现步骤摘要】
运行智能合约的方法和装置
本申请实施例涉及信息
,特别涉及信息
中的运行智能合约的方法和装置。
技术介绍
互联网上的贸易,几乎都需要借助可信赖的第三方信用机构来处理,而区块链技术基于密码学原理,可以达成一致的双方直接支付,不需要第三方中介的参与。区块链是一个分布式的账本,是一种去中心化的数据库,需要区块链网络中的所有节点集体进行维护,本文称能够处理账本数据的这些节点为处理节点。它包含多个区块(block),每个区块包括若干条交易记录,同时包含了前一个区块的哈希值,这样所有的区块按顺序相连组成了区块链。智能合约(chaincode)是区块链技术中的一个重要概念,智能合约是由事件驱动的、具有状态的、运行在一个复制的、分享的账本之上的、且能够管理账本上数据的程序。智能合约看上去就是一段普通的计算机执行程序,智能合约的代码内容规定了交易的规则和逻辑,使用者签署调用智能合约就意味着合约内容将会被执行,并且执行的结果会被写入账本。由于区块链是一种去中心化、去信任的分布式账本,因此,区块链网络中的处理节点相互之间并不信任,有可能存在恶意说谎节点,而共识算法可以很好地 ...
【技术保护点】
1.一种运行智能合约的方法,其特征在于,应用于分布式网络中,所述方法包括:所述分布式网络中的处理节点接收共识服务节点发送的交易,所述交易包括在智能合约的背书过程中产生的多个运行结果;所述处理节点检查所述多个运行结果是否满足验证策略,所述检查包括对所述多个运行结果中由除所述智能合约的限定条件之外的其他程序产生的数据和版本号的检查,所述限定条件用于表示运行所述智能合约时所述分布式网络中的账本数据需要满足的条件;在所述多个运行结果满足所述验证策略的情况下,所述处理节点识别所述智能合约中的限定条件,确定本地账本数据是否满足所述限定条件;在所述本地账本数据满足所述限定条件的情况下,所 ...
【技术特征摘要】
1.一种运行智能合约的方法,其特征在于,应用于分布式网络中,所述方法包括:所述分布式网络中的处理节点接收共识服务节点发送的交易,所述交易包括在智能合约的背书过程中产生的多个运行结果;所述处理节点检查所述多个运行结果是否满足验证策略,所述检查包括对所述多个运行结果中由除所述智能合约的限定条件之外的其他程序产生的数据和版本号的检查,所述限定条件用于表示运行所述智能合约时所述分布式网络中的账本数据需要满足的条件;在所述多个运行结果满足所述验证策略的情况下,所述处理节点识别所述智能合约中的限定条件,确定本地账本数据是否满足所述限定条件;在所述本地账本数据满足所述限定条件的情况下,所述处理节点接受所述交易。2.根据权利要求1所述的方法,其特征在于,所述处理节点为背书节点,在所述处理节点接收共识服务节点发送的交易之前,所述方法还包括:所述处理节点对所述智能合约进行背书,得到本次背书的运行结果;所述处理节点将所述本次背书的运行结果发送给需要在交易中使用所述本次背书的运行结果的客户端或所述客户端的代理节点。3.根据权利要求2所述的方法,其特征在于,所述处理节点对所述智能合约进行背书,得到本次背书的运行结果,包括:所述处理节点接收客户端或所述客户端的代理节点发送的模拟运行所述智能合约的请求,所述请求包括所述智能合约的标识信息;所述处理节点根据所述智能合约的标识信息,识别所述智能合约中的所述限定条件;所述处理节点基于所述本地账本数据运行所述智能合约中除所述限定条件之外的其它程序并进行签名,得到所述本次背书的运行结果。4.根据权利要求2或3所述的方法,其特征在于,在所述处理节点对所述智能合约进行背书,得到本次背书的运行结果之前,所述方法还包括:所述处理节点接收所述客户端或所述客户端的代理节点发送的所述智能合约的程序;所述处理节点解析所述智能合约的程序,获得所述限定条件的程序;所述处理节点向所述客户端或所述客户端的代理节点发送所述限定条件的程序。5.根据权利要求1所述的方法,其特征在于,所述处理节点为代理节点,在所述处理节点接收共识服务节点发送的交易之前,所述方法还包括:所述处理节点向所述分布式网络中的多个背书节点发送模拟运行所述智能合约的请求,所述请求包括所述智能合约的标识信息;所述处理节点接收所述多个背书节点根据所述请求发送的各自的运行结果;所述处理节点检查接收到的所述多个运行结果是否满足所述验证策略,所述检查包括对所述多个运行结果中由除所述限定条件之外的其他程序产生的数据和版本号的检查;在所述多个运行结果满足所述验证策略的情况下,所述处理节点向客户端发送所述多个运行结果。6.根据权利要求5所述的方法,其特征在于,在所述处理节点向所述分布式网络中的多个背书节点发送模拟运行所述智能合约的请求之前,所述方法还包括:所述处理节点向所述多个背书节点发送所述智能合约的程序;所述处理节点接收所述多个背书节点根据所述智能合约的程序发送的所述限定条件的程序;所述处理节点向所述分布式网络中的所有处理节点发送所述限定条件的程序。7.一种运行智能合约的方法,其特征在于,包括:客户端向分布式网络中的多个背书节点发送模拟运行智能合约的请求,所述请求包括所述智能合约的标识信息;所述客户端接收所述多个背书节点根据所述请求发送的各自的运行结果;所述客户端检查接收到的多个运行结果是否满足验证策略,所述检查包括对所述多个运行结果中由除所述智能合约的限定条件之外的其他程序产生的数据和版本号的检查,所述限定条件用于表示运行所述智能合约时所述分布式网络中的账本数据需要满足的条件;在所述多个运行结果满足所述验证策略的情况下,所述客户端向共识服务节点发送包括所述多个运行结果的交易。8.根据权利要求7所述的方法,其特征在于,在所述客户端向分布式网络中的多个背书节点发送模拟运行智能合约的请求之前,所述方法还包括:所述客户端向所述多个背书节点发送所述智能合约的程序;所述客户端接收所述多个背书节点根据所述智能合约的程序发送的所述限定条件的程序;所述客户端向所述分布式网络中的所有处理节点发送所述限定条件的程序。9.一种运行智能合约的装置,其特征在于,应用于分布式网络中,所述...
【专利技术属性】
技术研发人员:姜耀国,蒋飞虎,谢军安,胡瑞丰,丁海洋,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。