一种基于智能合约自动化部署区块链网络的方法

文档序号:1521871 发布日期:2020-02-11 浏览:15次 >En<

阅读说明:本技术 一种基于智能合约自动化部署区块链网络的方法 (Method for automatically deploying block chain network based on intelligent contracts ) 是由 张震宇 陈刚 林勇 王思涵 于 2019-09-18 设计创作,主要内容包括:本发明公开了一种基于智能合约自动化部署区块链网络的方法,将用户划分为普通账户与审核账户,实现部署需求的权限化;同时每个账户都有自己的一对公私钥,普通账户在提交部署需求申请时,用自己的私钥对申请信息进行签名,审核账户根据要求对部署需求的申请结果进行签名;系统智能合约根据审核账户的审核结果自动判定部署需求是否合法,若合法,则启动对应的部署程序,根据部署申请中的模板化信息启动对应的节点,最后会将部署结果写入系统区块链,并将对应的成功或失败的信息推送给相关的部署人员,完成区块链系统的自动化部署。本发明利用智能合约技术实现区块链网络的自动化部署流程,可消除差错,极大地提高部署效率。(The invention discloses a method for automatically deploying a block chain network based on an intelligent contract, which divides a user into a common account and an audit account to realize the permission of deployment requirements; meanwhile, each account has a pair of public and private keys, when a common account submits a deployment requirement application, the private key of the common account is used for signing the application information, and the audit account signs the application result of the deployment requirement according to the requirement; and the system intelligent contract automatically judges whether the deployment requirement is legal or not according to the auditing result of the auditing account, if so, a corresponding deployment program is started, a corresponding node is started according to the templated information in the deployment application, finally, the deployment result is written into the system block chain, and the corresponding success or failure information is pushed to related deployment personnel to complete the automatic deployment of the block chain system. The invention realizes the automatic deployment process of the block chain network by using the intelligent contract technology, can eliminate errors and greatly improves the deployment efficiency.)

一种基于智能合约自动化部署区块链网络的方法

技术领域

本发明涉及区块链网络部署领域,具体说是一种基于智能合约自动化部署区块链网络的方法。

背景技术

区块链技术已得到较多的时间,稳定运行于多种生产系统,为业务提供更为便捷与高效的支撑。随着技术的发展,后期区块链技术必将会得到更为广泛的应用。但区块链的技术较为复杂,涉及到密码学、分布式网络、容器技术、智能合约等方面,全知识栈的人才仍相对较少,人才的缺乏对区块链系统的运维工作形成了较大的挑战。因此,亟需一种运维方法可简化区块链的部署、维护工作。

同时由于区块链的分布式特性,跨部门或跨机构部署将会成为常态,在此场景下,权限问题将尤为重要,各部门在部署时需要一定的审核流程,以避免单部门或单节点的操作对整个区块链网络造成不可逆转的破坏。

即不同的部署部门在部署区块链网络前,需向平台的管理人员或审核人员提交部署申请。

发明内容

在大规模、多平台、跨部门的区块链网络节点部署时,人工介入存在较多干扰因素,本发明的目的在于提供一种基于智能合约自动化部署区块链网络的方法,利用智能合约技术实现区块链网络的自动化部署流程,可消除差错,极大地提高部署效率。

本发明的目的通过以下技术方案实现:

一种基于智能合约自动化部署区块链网络的方法,其特征在于:通过将用户划分为普通账户与审核账户,实现部署需求的权限化;同时每个账户都有自己的一对公私钥,并将公钥存储在系统区块链中,保证不可篡改性;普通账户在提交部署需求申请时,用自己的私钥对申请信息进行签名,保证申请信息的可靠性;审核账户根据要求对部署需求的申请结果进行签名,保证审核的专业性与唯一性,规避了越权部署的可能性;系统智能合约根据审核账户的审核结果自动判定部署需求是否合法,若合法,则启动对应的部署程序,根据部署申请中的模板化信息启动对应的节点,最后会将部署结果写入系统区块链,并将对应的成功或失败的信息推送给相关的部署人员,完成区块链系统的自动化部署。

本发明具体实施步骤如下:

步骤一:搭建部署管理平台

服务器分为两大类型:系统服务器与业务服务器,其中业务服务器用于部署所有对应的区块链网络,而系统服务器用于部署管理平台并在后期管理所有的业务服务器;

步骤二:添加审核账户与普通账户

对用户进行分类:普通账户与审核账户,其中普通账户具有部署区块链系统的权限,审核账户具有审核普通账户申请部署系统的权限;通过两种权限的配合,实现流程的可控;

步骤三:部署系统智能合约

智能合约是一段自动化执行的逻辑代码,其执行逻辑只需符合预先设计的规则将会自动执行,而无法人为干预,同时其执行结果会通过共识将需要的信息保存在区块链账本中;此处在管理平台上安装系统智能合约,其主要内容是执行应有的校验,待校验通过后按需实现区块链网络的部署;同时会将所有的执行请求与结果存储在账本中,后期可实现部署流程的全追溯,给运维提供更为便捷的追索功能;

步骤四:普通用户提出部署需求申请

若普通用户需要部署区块链网络时,由于权限管理准则,无法直接通过部署平台在业务服务器上部署,需将自己的部署需求与目的等基本信息提交给管理系统平台,由审核员绝对是否支持或允许此次部署;

需求申请中将部署信息模板化,即需填充部分强制字段,普通用户在提交该部署需求申请时,需使用保存在离线环境中的自有私钥对该部署信息进行签名,并将签名信息附属在需求申请中一起提交;

步骤五:审核员审核部署申请

审核员将收到普通用户提出的部署需求申请信息,开启对申请信息进行审核,主要流程如下:

1) 根据申请信息中的申请人,从系统区块链上检索出申请人的公钥,对部署信息的签名进行校验,若校验失败,说明存在申请请求伪装的可能性,直接拒绝该部署需求;若校验成功,则执行步骤2);

2) 解析部署模板信息,获取对应的部署需求;确认部署需求中的服务器信息是否可满足此次的部署需求,若不满足,则拒绝该部署需求,否则将确认此次的部署需求,审核通过;

3) 审核员将审核结果也利用自有的私钥进行签名,继续附加在申请需求信息中,提交给系统区块链;

审核员完成部署需求申请审核,充分保证了信息的准确性与后期部署的可能性;

步骤六:系统智能合约自动化部署网络

系统智能合约接收到审核员提交的审核结果后,开始对结果进行解析,执行对应的动作:

1) 从区块链系统中获取审核员的公钥信息,校验审核员的签名信息是否正确,若错误,说明此审核并非此审核员的审核结果,直接废弃该需求,并将结果直接写入区块链,状态标记为“非法请求”;若校验正确,则执行第二步;

2) 检查审核结果,若为拒绝,则不启动部署流程,直接将结果写入区块链,状态标记为“拒绝部署”;若为统一,则执行第三步;

3) 逐个解析部署模板信息,获取对应的业务服务器访问口令,并结合部署节点的类型,逐个远程启动对应的区块链节点,最终将完成所有节点的组网,实现区块链网络的部署;若所有节点部署成功,则将结果写入区块链,状态标记为“部署成功”,转到第五步;若由于网络等原因部署失败,直接该节点的部署次数记录器增加1,执行第四步;

4) 首先检查该节点的部署记录器,若达到预制在系统智能合约中的上限值,则判定部署失败,将结果写入区块链,状态标记为“部署失败”,转到第五步;若未达到上限值,则开始探测网络连通性,待网络恢复后转到第三步,再次进行尝试;

5) 部署管理平台将监控了系统区块链的落账信息,待该部署请求的部署结果落账后,解析出区块中对应的部署结果信息,并将此信息推送给对应的普通用户,让实际部署者获取到对应的部署结果。

采用智能合约对申请审核结果进行自动判断和为合法请求自动部署区块链,其流程步骤包括申请、审核、自动验证、自动部署四个步骤。

在大规模、多平台、跨部门的区块链网络节点部署时,人工介入存在较多干扰因素,本发明利用智能合约技术实现区块链网络的自动化部署流程,采用公私钥加密进行签名并用智能合约对结果进行合法性验证,审核员完成部署需求申请审核,充分保证了信息的准确性与后期部署的可能性;可消除差错,极大地提高部署效率。

附图说明

图1为

具体实施方式

流程图。

具体实施方式

为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

一种基于智能合约自动化部署区块链网络的方法,采用公私钥加密进行签名并用智能合约对结果进行合法性验证。首先通过将用户划分为普通账户与审核账户,实现部署需求的权限化;同时每个账户都有自己的一对公私钥,并将公钥存储在系统区块链中,保证不可篡改性;普通账户在提交部署需求申请时,用自己的私钥对申请信息进行签名,保证申请信息的可靠性;审核账户根据要求对部署需求的申请结果进行签名,保证审核的专业性与唯一性,规避了越权部署的可能性;系统智能合约根据审核账户的审核结果自动判定部署需求是否合法,若合法,则启动对应的部署程序,根据部署申请中的模板化信息启动对应的节点,最后会将部署结果写入系统区块链,并将对应的成功或失败的信息推送给相关的部署人员,完成区块链系统的自动化部署。

图1为具体实施方式流程图。具体实施步骤如下:

步骤一:搭建部署管理平台

初始化x86_64类型的服务服务器,安装docker与docker-compose基础软件,后期所有服务均以docker的方式运行。服务器分为两大类型:系统服务器与业务服务器,其中用户服务器用于部署所有对应的区块链网络,而系统服务器用于部署管理平台并在后期管理所有的业务服务器。

在业务服务器上加载后期需部署的区块链网络的组件镜像,形成基础条件。后期在业务服务器上将直接基于这些镜像,构建出对应的容器,从而执行可执行程序处理业务请求。同时在系统服务器上安装管理平台,其也是一个具备智能合约功能的区块链系统,且智能合约由高级语言实现,具有访问网络的能力。为与业务服务器上运行了智能合约区别,此处的智能合约将成为系统智能合约。系统智能合约将实现后期区块链系统的自动化部署。

步骤二:添加审核账户与普通账户

为保障系统安全稳定地运行,需对用户进行分类:普通账户与审核账户,其中普通账户具有部署区块链系统的权限,审核账户具有审核普通账户申请部署系统的权限。通过两种权限的配合,实现流程的可控。

账户信息除用户名、账户级别、添加时间等基本信息外,本发明添加了用户公钥的信息,即每个账户都由自己唯一的公私钥。在管理平台中添加用户时,需将对应的公钥携带至平台,并将其存储在系统区块链平台的账本上,而私钥由用户自行保管在离线环境中,保证了账户的绝对安全性。后期系统平台将利用存储在系统区块链账本中的公钥对所有的请求进行签名校验,从数学可验证的角度保障了所有请求的正确性,规避了部署请求伪造、篡改等非法行为。

步骤三:部署系统智能合约

智能合约是一段自动化执行的逻辑代码,其执行逻辑只需符合预先设计的规则将会自动执行,而无法人为干预,同时其执行结果会通过共识将需要的信息保存在区块链账本中。此处将在管理平台上安装系统智能合约,其主要内容是执行应有的校验,待校验通过后按需实现区块链网络的部署。同时会将所有的执行请求与结果存储在账本中,后期可实现部署流程的全追溯,给运维提供更为便捷的追索功能。

步骤四:普通用户提出部署需求申请

若普通用户需要部署区块链网络时,由于权限管理准则,无法直接通过部署平台在业务服务器上部署,需将自己的部署需求与目的等基本信息提交给管理系统平台,由审核员绝对是否支持或允许此次部署。

需求申请中将会把部署信息模板化,即需填充部分强制字段,包括:部署类型、部署节点数目、各节点对应的业务服务器地址、以及业务服务器的访问口令。普通用户在提交该部署需求申请时,需使用保存在离线环境中的自有私钥对该部署信息进行签名,并将签名信息附属在需求申请中一起提交。

步骤五:审核员审核部署申请

审核员将收到普通用户提出的部署需求申请信息,开启对申请信息进行审核,主要流程如下:

1) 根据申请信息中的申请人,从系统区块链上检索出申请人的公钥,对部署信息的签名进行校验,若校验失败,说明存在申请请求伪装的可能性,直接拒绝该部署需求;若校验成功,则执行第二步。

2) 解析部署模板信息,获取对应的部署需求。确认部署需求中的服务器信息是否可满足此次的部署需求,若不满足,则拒绝该部署需求,否则将确认此次的部署需求,审核通过。

3) 审核员将审核结果也利用自有的私钥进行签名,继续附加在申请需求信息中,提交给系统区块链。

经过上述三步流程,审核员完成部署需求申请审核,充分保证了信息的准确性与后期部署的可能性。

步骤六:系统智能合约自动化部署网络

系统智能合约接收到审核员提交的审核结果后,开始对结果进行解析,执行对应的动作:

1) 从区块链系统中获取审核员的公钥信息,校验审核员的签名信息是否正确,若错误,说明此审核并非此审核员的审核结果,直接废弃该需求,并将结果直接写入区块链,状态标记为“非法请求”;若校验正确,则执行第二步;

2) 检查审核结果,若为拒绝,则不启动部署流程,直接将结果写入区块链,状态标记为“拒绝部署”;若为统一,则执行第三步;

3) 逐个解析部署模板信息,获取对应的业务服务器访问口令,并结合部署节点的类型,逐个远程启动对应的区块链节点,最终将完成所有节点的组网,实现区块链网络的部署;若所有节点部署成功,则将结果写入区块链,状态标记为“部署成功”,转到第五步;若由于网络等原因部署失败,直接该节点的部署次数记录器增加1,执行第四步;

4) 首先检查该节点的部署记录器,若达到上限值(预制在系统智能合约中),则判定部署失败,将结果写入区块链,状态标记为“部署失败”,转到第五步;若未达到上限值,则开始探测网络连通性,待网络恢复后转到第三步,再次进行尝试;

5) 部署管理平台将监控了系统区块链的落账信息,待该部署请求的部署结果落账后,解析出区块中对应的部署结果信息,并将此信息推送给对应的普通用户,让实际部署者获取到对应的部署结果。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于区块链的监控视频数据交易方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!