一种委员会决策投票方法、系统、介质、设备及终端技术方案

技术编号:36979679 阅读:62 留言:0更新日期:2023-03-25 17:59
本发明专利技术属于区块链与智能合约技术领域,公开了一种委员会决策投票方法、系统、介质、设备及终端,设计联盟决策委员会的组织结构;针对安全等级较高的账本写入操作设置投票机制,执行重要的交易则发起申请请求,通过多数委员会成员同意交易申请后则交易被执行;在投票机制中增加身份验证的机制,通过Fabric中的身份权限管理,使用非对称密钥技术和门限群签名技术核验审批人的身份。本发明专利技术通过构建联盟决策委员会、委员会投票的机制来管理整个联盟;运用PKI证书体系、背书机制、MSP权限策略和链码生命周期等技术和方案实现联盟内部事务管理,为委员会成员提供检查交易内容的权限,为联盟内部事务的执行提供有序、安全、可靠的环境。可靠的环境。可靠的环境。

【技术实现步骤摘要】
一种委员会决策投票方法、系统、介质、设备及终端


[0001]本专利技术属于区块链与智能合约
,尤其涉及一种委员会决策投票方法、系统、介质、设备及终端。

技术介绍

[0002]目前,随着加密数字货币的快速发展和区块链技术在各行业的应用,区块链渐渐引起了全球的关注。随着智能合约与应用相结合,大量数字资产在智能合约上储存和交易。但是智能合约在区块链上运行,具有一经部署就无法对其进行篡改的特点,所以智能合约如果存在安全漏洞,就无法对已经部署在区块链上的智能合约代码进行修改。所以在区块链与智能合约结合的应用中,管理好智能合约和保证智能合约安全有序的运行是非常必要的。
[0003]在Hyperledger Fabric中,通常智能合约定义的是控制世界状态中业务对象生命周期的交易逻辑,随后该交易逻辑被打包进链码,紧接着链码会被部署到区块链网络中。Fabric的角色按照功能可以分为客户端节点、peer节点和order节点。客户端节点是负责与用户交互的节点,peer节点是负责存放区块数据的节点,order节点是负责将交易排序和打包进区块的节点。Fabric交易都是通过链码来完成的,用户只能通过链码来与账本交互,每一条链码都会在安装的时候设置背书策略,设置链码需要哪些成员参与背书。在客户端发起交易请求时会根据链码设置的背书策略,将该交易提案发送到对应的背书节点进行背书。
[0004]当背书节点收到来自客户端的背书请求时会自动进行如下操作。首先,背书节点用客户端的公钥验证它的签名、客户端是否有权限可以在该通道进行交易、交易是否已被提交、交易提议组织是否正确。验证通过后背书节点会模拟执行交易提案,将执行的结果反馈给客户端。客户端收到足够多的背书节点的结果后,表示这个交易已经正确背书。如果客户端没有搜集到足够多的背书节点反馈的背书信息,这个交易就会被舍弃。Fabric背书的过程完全是由Fabric底层背书节点自动完成的,无法人为的干预参与背书,只要链码语法逻辑符合语法规则,那么客户端发起请求调用链码就能成功与账本交互,背书节点无法控制是否要参与本次的交易背书,以及背书用户无法给出主观意见进行判断背书结果。如果联盟内部出现了恶意节点,恶意的使用链码来修改账本中的数据,从而导致了账本数据混乱不安全的情况。
[0005]针对这种情况,Fabric有着一些关于链码管理的相关措施,比如自定义背书策略来实现对链码的控制;开发系统链码插件来拒绝一些不规范的链码调用;或者是自定义背书逻辑和自定义验证逻辑的插件来自定义链码背书过程。但是这些方案背书的过程也都是自动的,不能有效地有效地干预背书节点背书的过程,不能彻底地解决问题。
[0006]在联盟链Fabric中,每个链码都有一个背书策略与之相关联,这个背书策略定义了在智能合约生成的交易被认证为有效之前,需要通过制定好的组织认可才可以被提交到链上。当用户调用智能合约发送一次交易请求时,客户端会自动将交易提案发送给该链码
背书策略指定的背书节点,背书节点会模拟执行该交易,并为执行结果签名返回给客户端。背书节点背书的过程是自动的,只验证交易结果是否正确,无法对联盟成员提出的交易内容进行审查。
[0007]通过上述分析,现有技术存在的问题及缺陷为:
[0008]1.在Fabric中,交易的背书过程完全是由背书节点自动完成,只验证交易格式是否正确,但无法判断交易的内容是否符合交易对象的主观意愿。现有技术方案不能有效地有效地干预背书节点背书的过程,无法对联盟成员提出的交易内容进行审查,从而会导致一些不合规范的或者是错误的数据上链,最终导致链上数据混乱、不可靠、不安全的问题。
[0009]2.联盟链的优点就是在于它由权限控制,但是联盟链Fabric中没有一个特殊的机构来管理和保证联盟内的事务有序运作,也没有机构来管理链码的发布以及使用状况,从而导致无法保证交易内容以及上链数据的事实正确性的问题。

技术实现思路

[0010]针对现有技术存在的问题,本专利技术提供了一种委员会决策投票方法、系统、介质、设备及终端,尤其涉及一种基于联盟链的委员会决策投票方法、系统、介质、设备及终端。
[0011]本专利技术是这样实现的,一种委员会决策投票方法,所述委员会决策投票方法包括:(1)设计联盟决策委员会的组织结构,通过该委员会来对联盟事务进行管理;(2)设计了针对安全等级较高的账本写入操作设置投票机制,并且设计和实现了针对不同事务类型的审批的流程;(3)设计并实现了在投票机制中的身份验证机制,使用非对称密钥技术和门限群签名技术核验审批人的身份。
[0012]进一步,所述委员会决策投票方法包括以下步骤:
[0013]步骤一,基于Fabric底层组织结构的联盟决策委员会的设计;
[0014]步骤二,基于Fabric链码的投票机制的设计;
[0015]步骤三,基于Fabric

MSP的权限管理与身份验证的设计。
[0016]进一步,所述步骤一中的联盟决策委员会的设计包括:
[0017](1)联盟事务管理:用于管理联盟内部事务以及联盟内链码生命周期。
[0018]联盟决策委员会对联盟内部事务管理,包括需要修改的重要信息的操作,以及联盟内对链码发布的管理。联盟决策委员对联盟内部的事务进行审批,当联盟成员向委员会发起一次事务请求,联盟决策委员会成员依次对事务进行投票审批,委员会成员审批同意事务请求后自动累计票数,在绝大多数成员审批同意后,事务继续执行,否则事务将被无视并销毁。
[0019](2)委员会内部事务管理:用于联盟决策委员会对自身事务的管理。
[0020]联盟决策委员会对自身事务的管理又称作委员会自身运行机制的日常管理,包括联盟成员的加入与联盟决策委员会成员退出两个方面。
[0021]当联盟内成员加入委员会时,在绝大委员会成员同意批准后,成员加入委员会参与后续的决策;当有新的成员加入后,自动的更新委员会成员信息,并在下一次决策新成员将参与决策,请求需要满足的最低同意票数随着成员的加入而更新。委员会成员主动提出请求退出委员会,如果委员会成员出现不合规定的操作导致联盟内部运转出现问题,则委员会的其他成员有权力发起强制提出请求,在绝大多数委员会成员的同意后,委员会成员
被强制踢出委员会。
[0022]进一步,所述步骤二中的投票机制设计包括:
[0023]投票过程在Fabric底层环境链码VotingDecision中实现,设计与开发实现VotingDecision链码的功能分为三个部分:创建申请请求包CreateApplication、处理申请请求包ProcessApplication以及查看申请包状态CheckApplication。
[0024]其中,所述链码包含成员结构体和申请包结构体,所述申请包结构体包括事件结信息构体、申请人信息结构体、记录委员会成员批准状态结构体、投票计数和申请包状态。
[0025]进一步,所述步骤二中的投票机制设计具体包括:
...

【技术保护点】

【技术特征摘要】
1.一种委员会决策投票方法,其特征在于,所述委员会决策投票方法包括:设计联盟决策委员会的组织结构;针对安全等级较高的账本写入操作设置投票机制,执行重要的交易则发起申请请求,通过多数委员会成员同意交易申请后则交易被执行;在投票机制中增加身份验证的机制,通过Fabric中的身份权限管理,使用非对称密钥技术和门限群签名技术核验审批人的身份。2.如权利要求1所述委员会决策投票方法,其特征在于,所述委员会决策投票方法包括以下步骤:步骤一,基于Fabric底层组织结构的联盟决策委员会的设计;步骤二,基于Fabric链码的投票机制的设计;步骤三,基于Fabric

MSP的权限管理与身份验证的设计。3.如权利要求2所述委员会决策投票方法,其特征在于,所述步骤一中的联盟决策委员会的设计包括:(1)联盟事务管理:用于管理联盟内部事务以及联盟内链码生命周期;联盟决策委员会对联盟内部事务管理,包括需要修改的重要信息的操作,以及联盟内对链码发布的管理;联盟决策委员对联盟内部的事务进行审批,当联盟成员向委员会发起一次事务请求,联盟决策委员会成员依次会对事务进行投票审批,委员会成员审批同意事务请求后自动累计票数,在绝大多数成员审批同意后,事务继续执行,否则事务将被无视并销毁;(2)委员会内部事务管理:用于联盟决策委员会对自身事务的管理;联盟决策委员会对自身事务的管理又称作委员会自身运行机制的日常管理,包括联盟成员的加入与联盟决策委员会成员退出两个方面;当联盟内成员加入委员会时,在绝大委员会成员同意批准后,成员加入委员会参与后续的决策;当有新的成员加入后,自动更新委员会成员信息,并在下一次决策新成员将参与决策,请求需要满足的最低同意票数随着成员的加入而更新;委员会成员主动提出请求退出委员会,如果委员会成员出现不合规定的操作导致联盟内部运转出现问题,则委员会的其他成员有权力发起强制提出请求,在绝大多数委员会成员的同意后,委员会成员被强制踢出委员会。4.如权利要求2所述委员会决策投票方法,其特征在于,所述步骤二中的投票机制设计包括:投票过程在Fabric底层环境链码VotingDecision中实现,设计与开发实现VotingDecision链码的功能分为三个部分:创建申请请求包CreateApplication、处理申请请求包ProcessApplication以及查看申请包状态CheckApplication;其中,所述链码包含成员结构体和申请包结构体,所述申请包结构体包括事件结信息构体、申请人信息结构体、记录委员会成员批准状态结构体、投票计数和申请包状态。5.如权利要求2所述委员会决策投票方法,其特征在于,所述步骤二中的投票机制设计具体包括:(1)申请请求包设计:申请人提出申请,填写信息,调用链码中CreateApplication方法,创建新申请包,创建完毕将请求包上链;其中,所述新申请包括申请人信息、事件信息、委员会成员批准状态、投
票计数以及申请包状态;请求包内容包括事件信息、申请人信息、委员会成员投票信息、申请包得到同意的票数、申请包状态;事件信息包括事件ID和事件类型;客户端通过唯一的事件ID来查询请求包的具体内容;事件类型根据业务和委员会机制分为加入委员会、退出委员会和链码发布等;申请人信息包含申请人节点信息、请求描述和请求人证书;委员会成员投票信息记录着现有委员会成员对请求包的审批情况;申请包状态根据申请步骤分为三种:新申请包创建的状态为create,第一次由委员会成员审批后申请包状态变为process,当请求包达到决策票数后变为success;创建申请包的流程如下:1)初始化申请人信息:查询成员...

【专利技术属性】
技术研发人员:林飞龙赵晨宇陈中育齐拢王晓虎郑忠龙
申请(专利权)人:浙江师范大学
类型:发明
国别省市:

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

1