区块链智能合约管理方法及系统、存储介质及终端与流程

文档序号:20770287发布日期:2020-05-15 19:36阅读:534来源:国知局
区块链智能合约管理方法及系统、存储介质及终端与流程

本发明涉及区块链的技术领域,特别是涉及一种区块链智能合约管理方法及系统、存储介质及终端。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。智能合约是一套以数字形式定义的承诺,承诺控制着数字资产并包含了合约参与者约定的权利和义务,由计算机系统自动执行。智能合约程序不只是一个可以自动执行的计算机程序,它本身就是一个系统参与者,对接收到的信息进行回应,可以接收和储存价值,也可以向外发送信息和价值。这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。”

现有技术中,区块链合约程序安装编译运行过程中无法修改,只能通过升级接口进行合约整体逻辑的升级,且升级时需协调整个网络中各方组织节点。如图1所示,现有技术中合约的安装权限均控制在各组织方自己的管理员手中,因而无法确保某一方组织恶意安装独自修改后的合约所造成的系统不可用。例如,共建链的联盟成员间发生分歧时可能出现此情况。

由于区块链的节点分布式的分散自主管理特性,合约升级监管异常困难;同时合约由于多方参与可见,针对一些关键知识产权的商用业务逻辑,其核心逻辑缺乏保护措施。具体地,现有的区块链智能合约管理方法存在以下缺陷:

(1)联盟链合约安装升级方法均为按节点单独安装升级,整个流程完全由节点组织自己控制,通常合约部署升级过程无法及时同步完成,造成交易不能正确共识,从而在联盟链中影响区块链系统交易的正确执行,在公链中可能造成区块链账本软分叉等问题。同时,对于合约漏洞,联盟链中通常需要协调所有组织方节点升级合约,协调时间长,实施难度大;在公链中,只能弃用原有合约,造成业务上巨大损失,甚至直接导致某些创业项目夭折。

(2)联盟链中合约通常采用源码安装,合约中关键技术能力部分不得不透露公开,很多可能的需要保护的核心商业代码无法得到保护,从而对系统安全造成影响。

(3)合约升级均通过区块链框架提供的接口进行升级,仅可以通过进行合约整体升级,无法做到部分功能升级。

因此,如何实现区块链智能合约的管理成为当前亟待解决的课题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种区块链智能合约管理方法及系统、存储介质及终端,以合约中通用功能模块设计为基础,将原有智能合约程序拆分为多个子逻辑动态运行,从而能够在合约内部对合约子模块进行管理。

为实现上述目的及其他相关目的,本发明提供一种区块链智能合约管理方法,包括以下步骤:将合拆分为合约母程序和合约子逻辑,所述合约母程序通过调用所述合约子逻辑构建智能合约;根据业务中角色权益,定义各业务参与者的权重;所述合约子逻辑安装升级时,对合约子逻辑进行加密后发送至各业务参与方,同时将子逻辑验证逻辑也要发送到各业务参与方,以使所述各业务参与方对加密后的合约子逻辑进行验证并按照权重背书策略要求决定是否进行子逻辑安装升级,然后向所述各业务参与方发送安装升级请求广播。

于本发明一实施例中,所述合约子逻辑为编译后的二进制插件文件,发布时采用对称加密算法对所述插件二进制插件文件进行加密处理,并对所述二进制插件文件摘要进行身份签名。

于本发明一实施例中,所述合约母程序安装通过区块链框架提供的区块链安装接口进行安装;所述合约子逻辑通过所述合约母程序的安装接口或合约的通用接口进行安装。

于本发明一实施例中,所述权重背书策略定义拥有特殊权益的权重阈值,权重大于所述权重阈值的业务参与方拥有一切权力,所有交易活动必须参与审核并进行背书。

于本发明一实施例中,权重背书被采纳后,各业务参与方根据自身的权益,选择自身的共识参与度以及后续权益的分享份额。

于本发明一实施例中,所述合约子逻辑包括合约子逻辑插件文件和合约子逻辑验证程序可执行文件;所述业务监管方对所述合约子逻辑插件文件和所述合约子逻辑验证程序可执行文件进行读取转码、字节码加密和摘要签名。

于本发明一实施例中,所述合约子逻辑的提供方需要根据业务提供完整的测试逻辑,所述测试逻辑需要各业务参与方审核。

对应地,本发明提供一种区块链智能合约管理系统,包括拆分模块、定义模块和升级模块;

所述拆分模块用于将合拆分为合约母程序和合约子逻辑,所述合约母程序通过调用所述合约子逻辑构建智能合约;

所述定义模块用于根据业务中角色权益,定义各业务参与者的权重;

所述升级模块用于所述合约子逻辑安装升级时,对合约子逻辑进行加密后发送至各业务参与方,同时将子逻辑验证逻辑也要发送到各业务参与方,以使所述各业务参与方对加密后的合约子逻辑进行验证并按照权重背书策略要求决定是否进行子逻辑安装升级,然后向所述各业务参与方发送安装升级请求广播。

本发明提供一种存储介质,其上存储有计算机程序,该所述计算机程序被处理器执行时实现上述的区块链智能合约管理方法。

最后,本发明提供一种终端,包括:处理器及存储器;

所述存储器用于存储计算机程序;

所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行上述的区块链智能合约管理方法。

如上所述,本发明的区块链智能合约管理方法及系统、存储介质及终端,具有以下有益效果:

(1)通过将原有智能合约程序拆分为多个子逻辑动态运行,使得合约关键技术可以被保护起来的同时也可以对外进行授权执行,在区块链合约之外的场景也具有极强的可用性;

(2)通过定义区块链组织方权力,通过合约子逻辑形式,可以一方部署,多方授权使用,从而实现合约内部逻辑细粒度管理升级;针对运行过程中被发现的漏洞,进行合约漏洞部分单独升级,无需修改整体合约;

(3)通过合约权限控制设计,实现合约子模块监管,大大减少分布式系统的监管成本;

(4)基于二阶共识协议的权重背书策略在合约权限管理时可提供不同角色不同权重,不同权重不同权益,使应用场景的设计变得更加灵活;

(5)通过密码学加密、摘要及签名技术实现合约子逻辑的隐私安全保护,在不泄露现有技术的前提下安全的移植到合约程序运行中,实现核心技术的有效保护;在区块链商业活动中能够防止技术问题带来损失,对业务成功提供保障,具有极大意义。

附图说明

图1显示为现有技术中区块链运行时合约版本于一实施例中的示意图;

图2显示为本发明的区块链智能合约管理方法于一实施例中的流程图;

图3显示为本发明的二阶共识协议于一实施例中的示意图;

图4显示为本发明的区块链智能合约管理方法于一实施例中的工作流程图;

图5显示为本发明的区块链智能合约管理方法于第一实施例中的示意图;

图6显示为本发明的区块链智能合约管理方法于第二实施例中的示意图;

图7显示为本发明的区块链智能合约管理系统于一实施例中的结构示意图;

图8显示为本发明的终端于一实施例中的结构示意图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明的区块链智能合约管理方法及系统、存储介质及终端通过将原有智能合约程序拆分为多个子逻辑动态运行,从而能够在合约内部对合约子模块进行管理,实现了各个业务参与方的合约子逻辑的独立安装和升级,使得合约关键技术可以被保护起来的同时也可以对外进行授权执行,实用性强。

如图2所示,于一实施例中,本发明的区块链智能合约管理方法包括以下步骤:

步骤s1、将合拆分为合约母程序和合约子逻辑,所述合约母程序通过调用所述合约子逻辑构建智能合约。

具体地,所述合约母程序公开程序,通常包含通用的调用方法和权限控制,其操作及编写方法与原有的合约实现保持一致。所述合约母程序安装通过区块链框架提供的区块链安装接口进行安装,合约中定义有通用的接口,其无需经常升级的逻辑。

所述合约子逻辑是源合约的一部分,是与区块链底层框架无关的部分。所述合约子逻辑与所述合约母程序在逻辑上独立管理,在需要时由所述合约母程序加载。所述合约子逻辑源码为各业务参与方自己持有,编译生成所述合约母程序中的加载二进制插件文件。通过所述合约母程序中安装接口或合约的通用接口进行安装,记录到区块链账本中,各业务参与方在获得相应的权限后均可调用。所述合约子逻辑的功能逻辑变化频繁,需经常升级。

于本发明一实施例中,所述合约子逻辑为编译后的二进制插件文件,发布时采用对称加密算法对所述插件二进制插件文件进行加密处理,并对所述二进制插件文件摘要进行身份签名,从而确保原始文件未被篡改,保证所述合约子逻辑传输的安全性。具体地,所述合约子逻辑包括合约子逻辑插件文件和合约子逻辑验证程序可执行文件;所述业务监管方对所述合约子逻辑插件文件和所述合约子逻辑验证程序可执行文件进行读取转码(base64编码字节)、字节码加密和摘要签名。

优选地,所述合约子逻辑安装之前各业务参与方需要对合约子逻辑插件功能做正确性测试;安装时将用户传入的合约子逻辑编译后的插件字节写入账本;加载时,将账本上对应的合约子逻辑插件字节文件加载赋值给对应的合约方法域。

步骤s2、根据业务中角色权益,定义各业务参与者的权重。

具体地,根据业务中个参与者的角色权益,采用二阶共识协议。所述二阶共识协议的第一阶定义各方权重,第二阶定义每个权重所带来的权益和共识参与度。在权重分配时,可以根据各方角色(例如监管方,需要更高的权重来进行监管)进行权重分配。其中,业务参与者包括业务监管方和业务方。根据不同的角色,设定不同的权重。例如监管方,需要更高的权重来进行监管。

优选地,权重计算方法如下:每一梯度成员权重乘以在本梯度各成员所占百分比求和,为最终权重。当成员对提议验证有效,该成员权重才参与到求和当中,权重值参与到共识中。当权重值达到一定梯度值时便拥有该梯度值权力。如图3所示,在该实施例中,本业务总共由10个参与方共同构建,定义3个梯度:其中hp(核心)梯度有3个参与方,其权重大于60%,拥有核心权利;mp(中度)梯度有3个参与方,其权重大于20%,小于等于60%,拥有相对权利;lp(普通)梯度有4个参与方,其权重小于等于20%,拥有较小权利。

步骤s3、所述合约子逻辑安装升级时,对合约子逻辑进行加密后发送至各业务参与方,同时将子逻辑验证逻辑也要发送到各业务参与方,以使所述各业务参与方对加密后的合约子逻辑进行验证并按照权重背书策略要求决定是否进行子逻辑安装升级,然后向所述各业务参与方发送安装升级请求广播。

具体地,所述权重背书策略定义拥有特殊权益的权重阈值,权重大于所述权重阈值的业务参与方拥有一切权力,所有交易活动必须参与审核并进行背书。

所述合约子逻辑安装升级时,向各业务参与方提案,各业务参与方对合约子逻辑安装提案进行验证,验证通过后对验证结果及结果签名后进行返回,并根据收集到的各业务参与方的验证结果后按照权重背书策略要求形成安装请求广播至各业务参与方进行安装。当权重背书被采纳后,各业务参与方根据自身的权益,选择自身的共识参与度以及后续权益的分享份额。

下面通过具体实施例来进一步阐述本发明的区块链智能合约管理方法。

如图4所示,mc为合约母程序,cc为合约子逻辑,vc为合约子逻辑验证,w为权重,sc-env为合约执行环境。在该实施例中,初始业务设计时会根据各业务参与方的角色及其权益定义权重背书策略及其对应的二阶共识协议,拆分业务合约中各合约子逻辑和对应的验证逻辑。

具体步骤如下:

1)由组织方管理员用户对系统中的各组织节点进行区块链智能合约母程序安装,安装到指定节点。

2)读取合约子逻辑插件文件及其对应合约子逻辑验证文件并进行转码,对字节码进行加密,摘要签名。

3)对设计好的合约子逻辑进行安装提案,各组织分别对收到的提案消息先进行签名验证,解密后调用自己节点对应合约母程序中通用验证逻辑,验证合约子逻辑的正确性,此步骤由合约母程序通用接口执行。

4)若通过验证则将验证结果签名后返回给客户端。

5)客户端对收集到的合约逻辑安装提案结果进行预判断,满足二阶共识协议后,会打包形成合约子逻辑安装请求。

6)客户端将合约子逻辑安装请求,请求包含子合约逻辑交易,以及对应的母程序名称,安装请求会广播至业务组织节点(可以仅广播到需要的节点,如权重较高的组织节点,节点之间继续广播)。

7)组织节点收到请求后会对其他组织的验证结果及签名进行验证并判断对应的签名方是否达到权重背书策略要求,满足二阶共识协议后,会对合约子逻辑进行安装并对安装结果广播至其他节点。

下面通过具体应用实例来验证本发明的区块链智能合约管理方法。

实例一、在合约监管场景得以应用

在财务报销系统,区块链方案可以解决发票来源可信问题,减少发票审核流程,优化财务流程,提高运作效率。区块链财务系统合约监管是本实例的关键待解决问题。

如图5所示,财务报销系统由国家票据监管机构、发票开具方和甜橙公司(发票使用方)共同协作。票据监管方需要对票据进行监管,对合约中发票真伪验证逻辑的拥有监管权力,同时对于发票号码、发票代码管理能力。

开票方将票据信息入链,其中发票号码、发票代码需要调用执行票据监管方的子逻辑进行票据生成,开票方填充对应子项信息,完成后签名入链。甜橙公司财务系统会用到链上已开具的发票,通过调用监管方验证子逻辑进行真伪验证,此步将取代人工审核从而优化财务整体流程。财务保障系统只需要用户个人进行公司内部报账信息及对应的票据信息填写,完成后系统即可自动去链上通过智能合约验证,无需人工干预。

需要说明的是,上述流程中验证子逻辑等需要监管方进行监管。

实例二、在合约核心逻辑保护场景应用

在电信保理场景,各方合作,不同级别供应商之间不能有隐私信息泄露。所以该场景业务合约中需要隐私保护功能设计。由于区块链合约的开源审核特性,作为合约程序一部分的隐私保护核心逻辑会随之公开,导致技术拥有方核心技术泄露,本实例中逻辑插件二进制验证安装,动态加载与加密保护方法可以有效实施到该场景当中。

该场景中核心企业为票据开具方,同时也是隐私技术提供方,例如零知识证明技术。在合约中需要嵌入对零知识证明算法中证明的验证逻辑。该逻辑在实施过程中,由核心企业设计出的合约管理方法将零知识证明验证逻辑进行子逻辑拆分,拆分后形成子逻辑插件二进制文件。核心企业及合作方只需验证该二进制文件的有效性后,通过合约母程序安装后进行动态加载执行,从而达到隐私保护核心验证逻辑保护的目的,同时能够实现智能合约的正常运行。一级供应商、保理公司、合作银行通过零知识证明算法生成证明经过验证逻辑验证通过后即可进行身份验证从而正常进行链上保理业务。

如图7所示,于一实施例中,本发明的区块链智能合约管理系统包括拆分模块71、定义模块72和升级模块73。

所述拆分模块71用于将合拆分为合约母程序和合约子逻辑,所述合约母程序通过调用所述合约子逻辑构建智能合约。

所述定义模块72用于根据业务中角色权益,定义各业务参与者的权重。

所述升级模块73与所述拆分模块71和定义模块72相连,用于所述合约子逻辑安装升级时,对合约子逻辑进行加密后发送至各业务参与方,同时将子逻辑验证逻辑也要发送到各业务参与方,以使所述各业务参与方对加密后的合约子逻辑进行验证并按照权重背书策略要求决定是否进行子逻辑安装升级,然后向所述各业务参与方发送安装升级请求广播。

需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(systemonachip,简称soc)的形式实现。

本发明的存储介质上存储有计算机程序,该所述计算机程序被处理器执行时实现上述的区块链智能合约管理方法。优选地,所述存储介质包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。

如图8所示,于一实施例中,本发明的终端包括:处理器81及存储器82。

所述存储器82用于存储计算机程序。

所述存储器82包括:rom、ram、磁碟、u盘、存储卡或者光盘等各种可以存储程序代码的介质。

所述处理器81与所述存储器82相连,用于执行所述存储器82存储的计算机程序,以使所述终端执行上述的区块链智能合约管理方法。

优选地,所述处理器81可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

综上所述,本发明的区块链智能合约管理方法及系统、存储介质及终端通过将原有智能合约程序拆分为多个子逻辑动态运行,使得合约关键技术可以被保护起来的同时也可以对外进行授权执行,在区块链合约之外的场景也具有极强的可用性;通过定义区块链组织方权力,通过合约子逻辑形式,可以一方部署,多方授权使用,从而实现合约内部逻辑细粒度管理升级;针对运行过程中被发现的漏洞,进行合约漏洞部分单独升级,无需修改整体合约;通过合约权限控制设计,实现合约子模块监管,大大减少分布式系统的监管成本;基于二阶共识协议的权重背书策略在合约权限管理时可提供不同角色不同权重,不同权重不同权益,使应用场景的设计变得更加灵活;通过密码学加密、摘要及签名技术实现合约子逻辑的隐私安全保护,在不泄露现有技术的前提下安全的移植到合约程序运行中,实现核心技术的有效保护;在区块链商业活动中能够防止技术问题带来损失,对业务成功提供保障,具有极大意义。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1