基于多中心化管理的智能合约共识方法、系统及存储介质技术方案

技术编号:23289448 阅读:22 留言:0更新日期:2020-02-08 19:09
本发明专利技术公开了基于多中心化管理的智能合约共识方法、系统及存储介质,本发明专利技术首先根据区块链中节点发出的交易投票,确定一个或多个中心节点;然后根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票;最后根据中心节点的投票结果确定部署请求通过后,所有节点根据交易数据来获取并部署该智能合约。本发明专利技术将智能合约的部署放在链上进行共识然后在节点中进行,一方面实现了多中心化的管理模式,增强了区块链项目的安全性;另一方面将智能合约的共识和部署流程都放在区块链上来进行,提高了智能合约部署的效率,可广泛应用于区块链技术领域。

Intelligent contract consensus method, system and storage medium based on multi center management

【技术实现步骤摘要】
基于多中心化管理的智能合约共识方法、系统及存储介质
本专利技术涉及区块链
,尤其是基于多中心化管理的智能合约共识方法、系统及存储介质。
技术介绍
当下区块链智能合约的部署分为两种,一种是在公链环境下,这种情况是每一个节点都有权限将智能合约提交到区块链网络中,被节点验证通过后安装在本地节点中。在这种情况下,节点只负责检查智能合约的语法问题,然后将智能合约通过虚拟机编译成字节码,在处理调用所述智能合约的交易时,执行所述字节码。另一种是在联盟链的环境中,这种一般由联盟链节点之间线下协商沟通,然后人为操作拷贝智能合约代码到节点本地安装和部署。这种方式相当于是一种中心化服务器部署运维的管理方式。无论是公链还是联盟链,其智能合约的部署方式本质上都是一个中心化的管理方式,在公链中,每一个节点只要上传的智能合约是语法合法的,其他节点即必须部署此智能合约,否则无法处理之后出现的调用该智能合约的交易;在联盟链的实际操作中,一般情况下也是需要有一个组织节点线下统筹智能合约在链上的部署。在联盟链的实际操作中还因为需要人工介入,因此增加了智能合约部署的工作量。
技术实现思路
有鉴于此,本专利技术实施例提供一种能够提高智能合约部署效率的,基于多中心化管理的智能合约共识方法、系统及存储介质。第一方面,本专利技术实施例提供了一种基于多中心化管理的智能合约共识方法,包括以下步骤:根据区块链中节点发出的交易投票,确定一个或多个中心节点;根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票;根据中心节点的投票结果确定部署请求通过后,所有节点根据交易数据来获取并部署该智能合约。进一步,所述根据区块链中节点发出的交易投票,确定一个或多个中心节点这一步骤,具体为:在公链中,节点通过发送交易来投票,得票数高的一个或者多个节点当选为中心节点;其中,节点持有的token作为其拥有的可投票数;在联盟链中,根据组织内可验证的证书来发送交易信息,通过统计节点的投票数来确定中心节点。进一步,所述根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票这一步骤,包括以下步骤:任一节点通过交易的形式发出智能合约的部署请求,所述部署请求包括智能合约、当前节点的身份证书、投票区块高度区间和生效区块高度;通过中心节点检查智能合约的语法合法性和语义合法性;在通过合法性检查后,通过中心节点发送交易来对部署请求进行投票。进一步,所述在通过合法性检查后,通过中心节点发送交易来对部署请求进行投票这一步骤,具体为:对发出部署请求的节点的交易进行签名,并将包含该签名的新的交易广播至区块链网络。进一步,所述根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票这一步骤,还包括以下步骤:根据投票区块高度区间和生效区块高度,确定投票时间;在投票时间结束后,统计投票区块高度区间内的区块上的投票数量,判断投票数量是否超过阈值,若是,则确定部署请求通过;反之,则确定部署请求不通过。进一步,还包括以下步骤:区块链中的节点在处理需要调用所述智能合约的交易时,根据区块链上的数据判断所述智能合约是否已经生效,若是,则接收该交易;反之,则不接收该交易。进一步,所述根据区块链上的数据判断所述智能合约是否已经生效这一步骤,具体为:确定区块高度到达生效区块高度后,判断当前节点是否已经部署该智能合约,若是,则确定智能合约已经生效;反之,则确定智能合约没有生效。第二方面,本专利技术实施例还提供了一种基于多中心化管理的智能合约共识系统,包括:中心节点确定模块,用于根据区块链中节点发出的交易投票,确定一个或多个中心节点;部署请求确定模块,用于根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票;智能合约部署模块,用于根据中心节点的投票结果确定部署请求通过后,所有节点根据交易数据来获取并部署该智能合约。第三方面,本专利技术实施例还提供了一种基于多中心化管理的智能合约共识系统,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现所述的基于多中心化管理的智能合约共识方法。第四方面,本专利技术实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行所述的基于多中心化管理的智能合约共识方法。上述本专利技术实施例中的一个或多个技术方案具有如下优点:本专利技术首先根据区块链中节点发出的交易投票,确定一个或多个中心节点;然后根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票;最后根据中心节点的投票结果确定部署请求通过后,所有节点根据交易数据来获取并部署该智能合约;本专利技术将智能合约的部署放在链上进行共识然后在节点中进行,一方面实现了多中心化的管理模式,增强了区块链项目的安全性;另一方面将智能合约的共识和部署流程都放在区块链上来进行,提高了智能合约部署的效率。附图说明图1为本专利技术实施例的智能合约部署过程示意图;图2为本专利技术实施例的调用智能合约的交易处理流程示意图;图3为本专利技术的整体步骤流程示意图。具体实施方式下面结合说明书附图和具体实施例对本专利技术作进一步解释和说明。对于本专利技术实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。参照图3,本专利技术实施例提供了一种基于多中心化管理的智能合约共识方法,包括以下步骤:根据区块链中节点发出的交易投票,确定一个或多个中心节点;根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票;根据中心节点的投票结果确定部署请求通过后,所有节点根据交易数据来获取并部署该智能合约。进一步作为优选的实施方式,所述根据区块链中节点发出的交易投票,确定一个或多个中心节点这一步骤,具体为:在公链中,节点通过发送交易来投票,得票数高的一个或者多个节点当选为中心节点;其中,节点持有的token作为其拥有的可投票数;在联盟链中,根据组织内可验证的证书来发送交易信息,通过统计节点的投票数来确定中心节点。具体的,本实施例中,区块链节点首先通过投票选举选出负责智能合约部署的共识的中心节点,在公链中,选举可以基于token的持有量;在联盟链中则是每一个组织节点都可以凭借组织内可验证的证书来进行投票。投票的过程是以交易的方法发送到区块链网络上并对交易形成共识。在所有的投票交易都形成共识之后,节点根据区块链数据上的投票就可以得到中心节点的集合。进一步作为优选的实施方式,所述根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节本文档来自技高网...

【技术保护点】
1.基于多中心化管理的智能合约共识方法,其特征在于:包括以下步骤:/n根据区块链中节点发出的交易投票,确定一个或多个中心节点;/n根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票;/n根据中心节点的投票结果确定部署请求通过后,所有节点根据交易数据来获取并部署该智能合约。/n

【技术特征摘要】
1.基于多中心化管理的智能合约共识方法,其特征在于:包括以下步骤:
根据区块链中节点发出的交易投票,确定一个或多个中心节点;
根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票;
根据中心节点的投票结果确定部署请求通过后,所有节点根据交易数据来获取并部署该智能合约。


2.根据权利要求1所述的基于多中心化管理的智能合约共识方法,其特征在于:所述根据区块链中节点发出的交易投票,确定一个或多个中心节点这一步骤,具体为:
在公链中,节点通过发送交易来投票,得票数高的一个或者多个节点当选为中心节点;其中,节点持有的token作为其拥有的可投票数;
在联盟链中,根据组织内可验证的证书来发送交易信息,通过统计节点的投票数来确定中心节点。


3.根据权利要求1所述的基于多中心化管理的智能合约共识方法,其特征在于:所述根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票这一步骤,包括以下步骤:
任一节点通过交易的形式发出智能合约的部署请求,所述部署请求包括智能合约、当前节点的身份证书、投票区块高度区间和生效区块高度;
通过中心节点检查智能合约的语法合法性和语义合法性;
在通过合法性检查后,通过中心节点发送交易来对部署请求进行投票。


4.根据权利要求3所述的基于多中心化管理的智能合约共识方法,其特征在于:所述在通过合法性检查后,通过中心节点发送交易来对部署请求进行投票这一步骤,具体为:
对发出部署请求的节点的交易进行签名,并将包含该签名的新的交易广播至区块链网络。


5.根据权利要求3所述的基于多中心化管理的智能合约共识方法,其特征在于:所述根据任一节点发出的智能合约部署请求,通过所述一个或多个中心节点对部署请求进行投票这一步骤,还包括以下步骤:

【专利技术属性】
技术研发人员:石宁甘子荣李达王晨旭
申请(专利权)人:南京金宁汇科技有限公司
类型:发明
国别省市:江苏;32

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

1