[发明专利]一种基于Fabric联盟链的投票共识方法在审
申请号: | 201911385348.6 | 申请日: | 2019-12-28 |
公开(公告)号: | CN111163165A | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 孙恩昌;姚勇锋;王勇;邱凯;张延华;司鹏搏 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L9/32;H04L12/58;G07C13/00;G06Q40/04 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fabric 联盟 投票 共识 方法 | ||
本发明公开了一种基于Fabric联盟链的投票共识方法,本方法以该联盟链的Fabric区块链和数据库为数据存储层,结合链码和后台服务器搭建投票系统。在联盟链中根据各方真实身份设定对应的节点身份及其投票权重比,联盟内的任意节点均可发布投票内容,并发送邮件通知其它节点在规定投票时间内完成投票,投票完成后将结果存入数据库和区块链节点中,通过共识算法和P2P传播方式记录在联盟链的每个节点上,保证数据安全;而联盟外成员需通过联盟内所有成员的身份验证才能加入联盟组织,此外,各方能在该系统内查询每次投票记录,区块链结合链码能保证每次交易的真实性。
技术领域
本发明属于区块链技术领域、数据安全领域,尤其涉及一种基于Fabric联盟链的投票共识方法。
背景技术
随着科技水平的不断创新,互联网行业的飞速发展,人们与互联网的关系越来越密切的同时,“网络投票”也频繁的走进了人们的生活领域。在过去,人们利用线下开会的方式在特点的时间地点将参与方组织起来,根据投票规则进行投票,通过第三方公证人记账统计投票结果;如今,通过互联网,就可将投票的所有参与方连接起来,人们可随时随地对投票内容进行表决,这种方式不仅节省了参与者的时间精力,也能通过互联网的传播方式,让更多的人参与评选,选出大众最认可的结果。然而,在实际的电子投票过程中,由于其隐蔽性、非实名性和线外操作性,大量参与者“绑架”自己的亲朋好友进行投票,甚至有去找专业的网络投票代理公司刷票,导致“网络投票”失去了本身的公平公正的意义了。
Fabric是目前市场上非常流行且广为人知的区块链网络框架实现方案,主要针对联盟链方向,与其它区块链技术一样,它也是一个通过智能合约进行交互的分布式数据存储账本,但在Fabric中智能合约被称为链码,且Fabric是隐私且许可的网络,在其联盟链节点允许的条件下,联盟外其它节点能通过成员注册服务加入到该联盟链中,参与联盟链的业务中。
发明内容
本发明旨在将上述两种技术相结合形成一种新的基于Fabric联盟链的投票共识方法。目前,各类用户通常使用中心化的电子投票系统针对某一问题达成共识,这类投票系统通常是由第三方机构开发,部署在中心化的服务器上,数据存储在安全性较低的数据库中,使得该类投票系统易受攻击,存在数据篡改的风险,也无法确定投票用户身份以及交易的真实性,存在信任问题,一旦用户的账号密码泄露,会直接影响到最终的投票结果,产生错误引导,从而造成经济损失。对于某些重要联盟组织而言,使用该类投票系统显然是不可行的。
将区块链的联盟链技术应用到电子投票系统能够很好的解决用户的身份信任问题以及数据安全问题。目前区块链平台分为许可联盟链和非许可联盟链,非许可的联盟链无法控制联盟链外节点的准入,一旦有外来节点无意加入该联盟链,也可像其它联盟内的节点用户一样参与到具体业务中,导致交易结果发生变化,影响整个联盟链的正常运行,造成经济损失;对于许可联盟链而言,可以控制外来节点的准入,解决网络节点之间的身份信任问题,但节点之间交易的信任问题依然无法解决。
为解决上述问题,本发明采用如下的技术方案:
一种基于Fabric联盟链的投票共识方法,本方法利用Hyperledger Fabric区块链结合链码解决了传统投票系统的身份信任问题、交易信任问题以及数据安全问题。在Hyperledger Fabric区块链平台中搭建基于联盟链的电子投票系统,将联盟组织中的各方作为区块链中信任的节点,在这些信任的节点基础上建立一条联盟链,在该联盟链中,每个节点均有一份完整的交易账本,增加了数据篡改的难度,同时,利用Fabric中的成员服务提供者(MSP)可以对联盟内节点进行身份验证以及联盟外节点进行准入控制,解决了节点之间的身份信任问题。而Fabric中的链码等同于智能合约,在链码中实行联盟链中投票业务逻辑,并部署至每个联盟链的节点中,保证联盟链节点的业务一致性,当某个联盟内节点利用客户端发起交易时,需要取得其它节点背书签名后,通过kafka共识算法更新到每个节点的账本中,解决了交易信任问题以及数据安全问题。最终,保证联盟组织达成可靠共识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911385348.6/2.html,转载请声明来源钻瓜专利网。