CN114721749A - 基于区块链的投票表决方法、装置、存储介质及电子设备 - Google Patents
基于区块链的投票表决方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114721749A CN114721749A CN202210404479.XA CN202210404479A CN114721749A CN 114721749 A CN114721749 A CN 114721749A CN 202210404479 A CN202210404479 A CN 202210404479A CN 114721749 A CN114721749 A CN 114721749A
- Authority
- CN
- China
- Prior art keywords
- target
- voting
- request
- preset
- side chains
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于区块链的投票表决方法、装置、存储介质及电子设备,涉及区块链技术领域。该方法包括:在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,所述目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求;基于多个侧链在预设时间内对所述目标请求进行投票,得到投票结果;根据所述目标主链中预设的业务权重计算方式对所述投票结果进行统计,得到目标投票结果;在所述目标投票结果指示所述目标请求被投票通过的情况下,执行所述目标请求的响应操作,以使所述智能合约按照所述预设操作被处理。通过本申请,解决了相关技术中对智能合约处理的投票表决结果不准确的问题。
Description
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种基于区块链的投票表决方法、装置、存储介质及电子设备。
背景技术
传统的联盟链管理大都基于中心化的管控机制,联盟参与方不能自主管理自身资源,也无法自主决定所拥有数据分享的范围,导致合作方约束过多,参与意愿不强。而且,随着链上用户增长和交易量的增加,现有区块链技术在单链架构下不可避免地存在性能、容量、隐私、隔离性和扩展性等问题。
与此同时,在现有区块链智能合约的部署、升级和删除等生命周期事务可以由单个组织或机构发起,链上一个组织或机构可以在无需其他机构的同意下为所有其他节点部署、升级或删除合约,而不存在一个审批流程。任意合约都能不受限制自由部署上链、版本升级或链上删除,在一定程度上都会对联盟链的数据安全和业务运营安全造成一定风险。在由不同业务领域组成的联盟链多中心化管理机制下,对智能合约生命周期管理进行联盟成员投票表决,可以对合约生命周期进行有效管控。但是在投票过程中如果属于不同业务领域的机构具有相同权重的投票权,则无法区分与该智能合约相关的核心业务用户和非业务用户,导致投票结果被其他领域的非业务用户影响,也会影响实际业务的有效运行。
针对相关技术中对智能合约处理的投票表决结果不准确的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种基于区块链的投票表决方法、装置、存储介质及电子设备,以解决相关技术中对智能合约处理的投票表决结果不准确的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种基于区块链的投票表决方法。该方法包括:在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理。
进一步地,在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,该方法还包括:通过记账节点设置单次投票的投票规则,其中,投票规则至少包括单次投票的有效投票时间;将有效投票时间作为预设时间。
进一步地,在通过目标主链接收当前侧链发起的目标请求之后,该方法还包括:通过目标主链判断目标请求是否为目标预设操作请求,其中,目标预设操作为对智能合约进行合约部署或者合约升级的请求;若目标请求为目标预设操作请求,通过前置节点将当前侧链上的合约源码包上传至目标主链上,并在目标主链上设置智能合约对应的第一预设权重值。
进一步地,在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,该方法还包括:根据每个侧链与前置节点之间的共享密钥对目标信息进行加密处理,得到加密后的信息,其中,目标信息至少包括:合约源码包、第一预设权重值、当前目标请求对应的时间戳信息;将加密后的信息同步至目标主链的每个节点中。
进一步地,在将加密后的信息同步至目标主链的每个节点中之后,该方法还包括:通过记账节点对加密后的信息按照预设要求进行验证,得到验证结果;若验证结果指示加密后的信息符合预设要求,则执行对智能合约的模拟上链交易,得到执行结果;将执行结果发送至前置节点中。
进一步地,基于多个侧链在预设时间内对目标请求进行投票,得到投票结果包括:通过前置节点判断执行结果中模拟上链交易成功的次数大于预设数值,则将目标请求同步至多个侧链中;基于多个侧链根据目标投票策略在预设时间内对目标请求进行投票,得到每个侧链的投票子结果;根据每个侧链的投票子结果,得到投票结果。
进一步地,在根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果之前,该方法还包括:检测多个侧链在预设时间内是否完成投票操作;若多个侧链在预设时间内完成投票操作,将投票结果保存至记账节点中。
进一步地,根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果包括:判断多个侧链中是否存在目标侧链,其中,目标侧链的业务类型为目标业务类型,其中,目标侧链的数量为一个或者多个;若多个侧链中存在目标侧链,对目标侧链对应的投票结果按照第一预设权重值进行加权统计处理,得到目标投票结果;若多个侧链中不存在目标侧链,对多个侧链对应的投票结果按照第二预设权重值进行加权统计处理,得到目标投票结果,其中,第一预设权重值大于第二预设权重值。
为了实现上述目的,根据本申请的另一方面,提供了一种基于区块链的投票表决装置。该装置包括:接收单元,用于在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;投票单元,用于基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;统计单元,用于根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;第一执行单元,用于在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理。
进一步地,该装置还包括:设置单元,用于在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,通过记账节点设置单次投票的投票规则,其中,投票规则至少包括单次投票的有效投票时间;确定单元,用于将有效投票时间作为预设时间。
进一步地,该装置还包括:判断单元,用于在通过目标主链接收当前侧链发起的目标请求之后,通过目标主链判断目标请求是否为目标预设操作请求,其中,目标预设操作为对智能合约进行合约部署或者合约升级的请求;上传单元,用于若目标请求为目标预设操作请求,通过前置节点将当前侧链上的合约源码包上传至目标主链上,并在目标主链上设置智能合约对应的第一预设权重值。
进一步地,该装置还包括:加密单元,用于在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,根据每个侧链与前置节点之间的共享密钥对目标信息进行加密处理,得到加密后的信息,其中,目标信息至少包括:合约源码包、第一预设权重值、当前目标请求对应的时间戳信息;同步单元,用于将加密后的信息同步至目标主链的每个节点中。
进一步地,该装置还包括:验证单元,用于在将加密后的信息同步至目标主链的每个节点中之后,通过记账节点对加密后的信息按照预设要求进行验证,得到验证结果;第二执行单元,用于若验证结果指示加密后的信息符合预设要求,则执行对智能合约的模拟上链交易,得到执行结果;发送单元,用于将执行结果发送至前置节点中。
进一步地,投票单元包括:第一判断模块,用于通过前置节点判断执行结果中模拟上链交易成功的次数大于预设数值,则将目标请求同步至多个侧链中;投票模块,用于基于多个侧链根据目标投票策略在预设时间内对目标请求进行投票,得到每个侧链的投票子结果;确定模块,用于根据每个侧链的投票子结果,得到投票结果。
进一步地,该装置还包括:检测单元,用于在根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果之前,检测多个侧链在预设时间内是否完成投票操作;保存单元,用于若多个侧链在预设时间内完成投票操作,将投票结果保存至记账节点中。
进一步地,统计单元包括:第二判断模块,用于判断多个侧链中是否存在目标侧链,其中,目标侧链的业务类型为目标业务类型,其中,目标侧链的数量为一个或者多个;第一处理模块,用于若多个侧链中存在目标侧链,对目标侧链对应的投票结果按照第一预设权重值进行加权统计处理,得到目标投票结果;第二处理模块,用于若多个侧链中不存在目标侧链,对多个侧链对应的投票结果按照第二预设权重值进行加权统计处理,得到目标投票结果,其中,第一预设权重值大于第二预设权重值。
通过本申请,采用以下步骤:在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理,解决了相关技术中对智能合约处理的投票表决结果不准确的问题。通过根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果,进而达到了提升对智能合约处理的投票表决结果准确性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的基于区块链的投票表决方法的流程图;
图2是根据本申请实施例提供的基于区块链的投票表决方法的区块链网络架构示意图;
图3是根据本申请实施例提供的基于区块链的投票表决方法的前置节点架构示意图;
图4是根据本申请实施例提供的基于区块链的投票表决方法的排序节点架构示意图;
图5是根据本申请实施例提供的基于区块链的投票表决方法的记账节点架构示意图;
图6是根据本申请实施例提供的基于区块链的投票表决装置的示意图;
图7是根据本申请实施例提供的基于区块链的投票表决电子设备的网络架构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
联盟链:是介于公有链和私有链之间的区块链,由多个组织或机构共同参与管理,每个组织或机构管理一个或多个节点,各节点共同参与记账和认证,进入和退出必须符合联盟协议并由所有预选节点同意。
前置节点:侧链与主链之间的连接桥梁,通过为侧链输出统一标准的区块链对接服务,降低侧链接入门槛,保障区块链系统的安全访问。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
根据本申请的实施例,提供了一种基于区块链的投票表决方法。
图1是根据本申请实施例的基于区块链的投票表决方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除。
具体的,如图2所示,一个区块链网络由多个不同业务领域的机构侧链和联盟主链组成,其中,主链网络属于联盟链共有,不属于链上任一业务领域的机构,功能逻辑上分为前置节点、记账节点、排序节点和CA节点,其中CA节点单独部署,记账节点兼具记账和背书功能,排序节点主要负责共识排序,在联盟区块链网络建立初始阶段预先指定其中一个侧链节点,作为主节点负责代表侧链投票并与主链进行通讯,例如,通讯内容可以是请求对智能合约生命周期进行管理的请求信息。
可选地,在本申请实施例提供的基于区块链的投票表决方法中,在通过目标主链接收当前侧链发起的目标请求之后,该方法还包括:通过目标主链判断目标请求是否为目标预设操作请求,其中,目标预设操作为对智能合约进行合约部署或者合约升级的请求;若目标请求为目标预设操作请求,通过前置节点将当前侧链上的合约源码包上传至目标主链上,并在目标主链上设置智能合约对应的第一预设权重值。
具体的,若对智能合约生命周期管理的请求中涉及合约部署或者合约升级,需要在发起请求的同时上传智能合约源码包到主链上,通过主链前置节点的侧链适配服务上传合约源码包,同时设置该智能合约的业务领域权重参数值(对应于本申请中的第一预设权重值),通过将合约源码包上传至主链,提升对智能合约的处理效率。
需要说明的是,若对智能合约生命周期管理的请求中涉及删除已部署上链的智能合约,则无需上传源码包。
步骤S102,基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数。
可选地,在本申请实施例提供的基于区块链的投票表决方法中,在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,该方法还包括:通过记账节点设置单次投票的投票规则,其中,投票规则至少包括单次投票的有效投票时间;将有效投票时间作为预设时间。
具体的,在投票表决阶段,接收主链发起的全网投票请求,在与主链预先协商的投票时间窗口内,对需要投票表决的智能合约生命周期管理请求执行投票表决,超过有效投票时间,前置节点将默认设置未投票的侧链反对当前智能合约生命周期管理请求,进一步体现了本申请中对目标请求投票的实时性。
可选地,在本申请实施例提供的基于区块链的投票表决方法中,在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,该方法还包括:根据每个侧链与前置节点之间的共享密钥对目标信息进行加密处理,得到加密后的信息,其中,目标信息至少包括:合约源码包、第一预设权重值、当前目标请求对应的时间戳信息;将加密后的信息同步至目标主链的每个节点中。
具体的,通过基于侧链与主链前置节点间的共享密钥进行对称加密,前置节点再基于与主链之间的非对称加密技术将交易请求信息在主链全网广播,体现了区块链网络的数据实时性。
其中,基于非对称加密技术的密钥交换生成共享密钥的过程如下:
a.联盟链上的侧链网络向主链前置节点请求获得该前置节点公钥PubKf,使用该公钥通过非对称加密算法加密随机构造的密钥分量字符串K1,得到加密信息E1;
b.联盟链上的侧链网络使用私钥PriKc,通过非对称加密算法对上述加密信息E1做数字签名,得到签名信息S1和传输信息M1:
M1=(E1*S1)
c.侧链向前置节点发送该传输信息M1,使用侧链网络公钥PubKc对M1中的签名信息S1验签,如验签通过则证明M1是由该侧链发送,可以进入下一步骤;
d.前置节点使用本身持有的节点私钥PriKf解密加密信息E1,得到密钥分量K1;
e.前置节点使用侧链网络的公钥PubKc,通过非对称加密算法加密随机构造的密钥分量字符串K2,得到加密信息E2;
f.前置节点使用本身持有的节点私钥PriKf,通过非对称密钥算法对上述加密信息E2做数字签名,得到签名信息S2和传输信息M2:
M2=(E2*S2)
g.前置节点向侧链网络发送该传输信息M2;
h.侧链网络接收该传输信息M2,使用前置节点的公钥PubKf对M2中的签名信息S2验签,如验签通过则证明M2是由该前置节点发送,可以进入下一步骤;
i.侧链网络使用本身持有的节点私钥PriKc解密传输信息M2中的加密信息E2,得到前置节点的密钥分量K2。至此侧链网络和主链前置节点间的密钥分量交换已完成;
j.侧链网络和前置节点基于密钥分量K1和K2执行国密SM3杂凑算法,生成共享加密密钥Keyshare,算法公式如下:
C[0]=SM3_Hash(K1)
C[n]=SM3_HMACC(n-1)(SM3_Hash(K2))
Keyshare=SM3_HMACSM3_Hash(K1*K2)(C0+C1)
其中,n为大于0的正整数,SM3_Hash表示采用国密SM3杂凑算法的哈希函数,SM3_HMAC是指与密钥相关的采用SM3算法的哈希运算。
具体的,根据上述获取得到的Keyshare,也可以得到基于SM4算法和共享密钥的跨链信息传输流程,具体过程如下:
A.联盟链上的侧链网络和主链网络前置节点基于获取的共享加密密钥Keyshare;
B.联盟链上的跨链传输发起方采用国密SM4算法的EBC模式加密投票传输信息Minter,获取密文EMinter:
EMinter=SM4_EBC(Minter,Keyshare)
C.联盟链上的跨链传输接收方基于获取的共享加密密钥Keyshare,采用SM4算法的EBC模式解密密文EMinter,最终获取跨链传输信息:
Minter=SM4_EBC(EMinter,Keyshare)
可选地,在本申请实施例提供的基于区块链的投票表决方法中,在将加密后的信息同步至目标主链的每个节点中之后,该方法还包括:通过记账节点对加密后的信息按照预设要求进行验证,得到验证结果;若验证结果指示加密后的信息符合预设要求,则执行对智能合约的模拟上链交易,得到执行结果;将执行结果发送至前置节点中。
具体的,在联盟链主链上的记账节点收到广播的智能合约生命周期管理请求后,通过交易背书服务基于非对称加密技术对请求信息进行交易合法性(对应于本申请中的预设要求)验证,验证通过后根据请求中智能合约的业务领域权重参数,通过侧链管理服务获取当前联盟链上各侧链的具体信息,并结合投票决策服务计算在该次投票流程中当前联盟链上所有侧链的加权票数和整个联盟链的加权总票数,然后在当前节点上模拟执行该合约上链交易,返回执行结果给前置节点,通过模拟执行该合约上链交易,提升了多链投票表决的准确性。
可选地,在本申请实施例提供的基于区块链的投票表决方法中,基于多个侧链在预设时间内对目标请求进行投票,得到投票结果包括:通过前置节点判断执行结果中模拟上链交易成功的次数大于预设数值,则将目标请求同步至多个侧链中;基于多个侧链根据目标投票策略在预设时间内对目标请求进行投票,得到每个侧链的投票子结果;根据每个侧链的投票子结果,得到投票结果。
具体的,在前置节点接收到足够多(对应于本申请中的预设数值)的记账节点执行成功的返回信息后,一是根据预先设定的背书策略,向主链排序节点发起交易排序请求,基于预先设定的共识算法(可以是kafka、raft、pbft等其中一种),排序节点通过共识排序服务对该交易请求进行共识排序并通过区块打包服务构造区块,然后在主链内通过交易广播服务同步到各记账节点更新区块数据;二是通过通讯服务,通知联盟链上其余各侧链根据目标投票策略在设定的时间窗口内进行本次投票,以对该合约生命周期管理请求表决同意或者反对,本申请通过对模拟上链交易的执行结果进行获取,进一步地提升了多链投票表决的准确性。
步骤S103,根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果。
具体的,得到目标投票结果之前,需要检测多个侧链在预设时间内是否完成投票操作。
可选地,在本申请实施例提供的基于区块链的投票表决方法中,在根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果之前,该方法还包括:检测多个侧链在预设时间内是否完成投票操作;若多个侧链在预设时间内完成投票操作,将投票结果保存至记账节点中。
具体的,检测多个侧链在预设时间内是否完成投票操作,如投票已结束则通过通讯服务返回投票结果信息给各侧链网络,如当前投票仍在进行中,则继续接收从侧链发来的投票信息,将在该时间间隔内收到的一个或多个侧链投票结果打包,将投票结果保存至记账节点中,通过主链记账节点上的投票合约查询当前投票结果,并将在该时间间隔内收到的一个或多个侧链投票结果打包,以交易形式,在主链广播,提升了多链投票表决的准确性。
可选地,在本申请实施例提供的基于区块链的投票表决方法中,根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果包括:判断多个侧链中是否存在目标侧链,其中,目标侧链的业务类型为目标业务类型,其中,目标侧链的数量为一个或者多个;若多个侧链中存在目标侧链,对目标侧链对应的投票结果按照第一预设权重值进行加权统计处理,得到目标投票结果;若多个侧链中不存在目标侧链,对多个侧链对应的投票结果按照第二预设权重值进行加权统计处理,得到目标投票结果,其中,第一预设权重值大于第二预设权重值。
具体的,当投票结束后,前置节点通过调用主链记账节点投票合约查询投票结果,并根据主链合约预先设定的投票权重计算方法,获得当前投票最终结果,例如,侧链网络与业务领域关系的权重计算矩阵表如下表1所示:
表1
例如,如上表1所示,如侧链网络chain1(对应于本申请中的目标侧链)和chain3对应于本申请中的目标侧链)属于业务领域1,则对属于业务领域1的智能合约进行生命周期管理投票时,chain1和chain3在各自投票结果的基础上,拥有加权权重值1,其余侧链网络的加权权重值为0,并获得当前投票最终结果。
步骤S104,在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理。
具体的,如果当前智能合约生命周期管理请求获得联盟链各参与机构侧链投票通过,则允许发起投票请求的侧链网络可以通过前置节点的侧链适配服务和记账节点的合约管理服务对智能合约进行部署、升级或删除合约的生命周期管理操作,否则拒绝。
具体的,图3是根据本申请实施例提供的基于区块链的投票表决方法的前置节点架构示意图,如图3所示,该节点主要作用是主链与侧链之间的跨链对接,主要包括以下功能:侧链适配服务和通讯服务,其中,侧链适配服务的基本功能是对接不同底层技术实现的侧链平台,统一报文接口,封装不同底层技术的区块链平台的API,向不同侧链提供统一访问方式,通讯服务的基本功能是为主链提供调用侧链接口的服务。
具体的,图4是根据本申请实施例提供的基于区块链的投票表决方法的排序节点架构示意图,如图4所示,该节点主要作用是对侧链投票结果进行共识排序,主要包括以下功能:共识排序服务、交易广播服务和区块打包服务。其中,共识排序服务的基本功能是接收主链网络中前置节点发起的交易信息,对交易信息按时间顺序进行排序。区块打包服务的基本功能是对共识排序服务排序后的结果构造区块,交易广播服务的基本功能是将区块打包服务构造的区块同步到主链网络的记账节点。
具体的,图5是根据本申请实施例提供的基于区块链的投票表决方法的记账节点架构示意图,如图5所示,记账节点兼具记账和背书功能,主要包括以下功能:区块链数据库、投票决策服务、侧链管理服务、交易背书服务和合约管理服务。其中,区块链数据库:基本功能是存储联盟链的区块链分布式账本数据。投票决策服务:基本功能是对联盟链上各侧链投票权重信息计算各侧链的加权票数和整个联盟链的加权总票数,记录当前投票结果。侧链管理服务:基本功能是记录当前联盟链上各接入侧链的详细信息。合约管理服务:基本功能一是侧链业务智能合约生命周期管理,包括合约源码包上传、联盟投票表决同意后的合约部署、升级或者删除,二是主链投票合约管理,即用于业务合约上链投票的结果查询、统计的智能合约。交易背书服务:基本功能是对主链上的交易进行模拟执行和交易背书。
综上,本申请实施例提供的基于区块链的投票表决方法,通过在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理,解决了相关技术中对智能合约处理的投票表决结果不准确的问题。通过根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果,进而达到了提升对智能合约处理的投票表决结果准确性的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种基于区块链的投票表决装置,需要说明的是,本申请实施例的基于区块链的投票表决装置可以用于执行本申请实施例所提供的用于基于区块链的投票表决方法。以下对本申请实施例提供的基于区块链的投票表决装置进行介绍。
图6是根据本申请实施例的基于区块链的投票表决装置的示意图。如图6所示,该装置包括:接收单元601、投票单元602、统计单元603、第一执行单元604。
具体的,接收单元601,用于在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;
投票单元602,用于基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;
统计单元603,用于根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;
第一执行单元604,用于在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理。
综上,本申请实施例提供的基于区块链的投票表决装置,通过接收单元601在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;投票单元602基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;统计单元603于根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;第一执行单元604在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理,解决了相关技术中对智能合约处理的投票表决结果不准确的问题。通过根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果,进而达到了提升对智能合约处理的投票表决结果准确性的效果。
可选地,在本申请实施例提供的基于区块链的投票表决装置中,该装置还包括:设置单元,用于在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,通过记账节点设置单次投票的投票规则,其中,投票规则至少包括单次投票的有效投票时间;确定单元,用于将有效投票时间作为预设时间。
可选地,在本申请实施例提供的基于区块链的投票表决装置中,该装置还包括:判断单元,用于在通过目标主链接收当前侧链发起的目标请求之后,通过目标主链判断目标请求是否为目标预设操作请求,其中,目标预设操作为对智能合约进行合约部署或者合约升级的请求;上传单元,用于若目标请求为目标预设操作请求,通过前置节点将当前侧链上的合约源码包上传至目标主链上,并在目标主链上设置智能合约对应的第一预设权重值。
可选地,在本申请实施例提供的基于区块链的投票表决装置中,该装置还包括:加密单元,用于在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,根据每个侧链与前置节点之间的共享密钥对目标信息进行加密处理,得到加密后的信息,其中,目标信息至少包括:合约源码包、第一预设权重值、当前目标请求对应的时间戳信息;同步单元,用于将加密后的信息同步至目标主链的每个节点中。
可选地,在本申请实施例提供的基于区块链的投票表决装置中,该装置还包括:验证单元,用于在将加密后的信息同步至目标主链的每个节点中之后,通过记账节点对加密后的信息按照预设要求进行验证,得到验证结果;第二执行单元,用于若验证结果指示加密后的信息符合预设要求,则执行对智能合约的模拟上链交易,得到执行结果;发送单元,用于将执行结果发送至前置节点中。
可选地,在本申请实施例提供的基于区块链的投票表决装置中,投票单元包括:第一判断模块,用于通过前置节点判断执行结果中模拟上链交易成功的次数大于预设数值,则将目标请求同步至多个侧链中;投票模块,用于基于多个侧链根据目标投票策略在预设时间内对目标请求进行投票,得到每个侧链的投票子结果;确定模块,用于根据每个侧链的投票子结果,得到投票结果。
可选地,在本申请实施例提供的基于区块链的投票表决装置中,该装置还包括:检测单元,用于在根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果之前,检测多个侧链在预设时间内是否完成投票操作;保存单元,用于若多个侧链在预设时间内完成投票操作,将投票结果保存至记账节点中。
可选地,在本申请实施例提供的基于区块链的投票表决装置中,统计单元包括:第二判断模块,用于判断多个侧链中是否存在目标侧链,其中,目标侧链的业务类型为目标业务类型,其中,目标侧链的数量为一个或者多个;第一处理模块,用于若多个侧链中存在目标侧链,对目标侧链对应的投票结果按照第一预设权重值进行加权统计处理,得到目标投票结果;第二处理模块,用于若多个侧链中不存在目标侧链,对多个侧链对应的投票结果按照第二预设权重值进行加权统计处理,得到目标投票结果,其中,第一预设权重值大于第二预设权重值。
基于区块链的投票表决装置包括处理器和存储器,上述接收单元601、投票单元602、统计单元603、第一执行单元604等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于区块链的投票表决。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现基于区块链的投票表决方法。
本发明实施例提供了一种处理器,处理器用于运行程序,其中,程序运行时执行基于区块链的投票表决方法。
如图7所示,本发明实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理。
处理器执行程序时还实现以下步骤:在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,通过记账节点设置单次投票的投票规则,其中,投票规则至少包括单次投票的有效投票时间;将有效投票时间作为预设时间。
处理器执行程序时还实现以下步骤:在通过目标主链接收当前侧链发起的目标请求之后,通过目标主链判断目标请求是否为目标预设操作请求,其中,目标预设操作为对智能合约进行合约部署或者合约升级的请求;若目标请求为目标预设操作请求,通过前置节点将当前侧链上的合约源码包上传至目标主链上,并在目标主链上设置智能合约对应的第一预设权重值。
处理器执行程序时还实现以下步骤:在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,根据每个侧链与前置节点之间的共享密钥对目标信息进行加密处理,得到加密后的信息,其中,目标信息至少包括:合约源码包、第一预设权重值、当前目标请求对应的时间戳信息;将加密后的信息同步至目标主链的每个节点中。
处理器执行程序时还实现以下步骤:在将加密后的信息同步至目标主链的每个节点中之后,通过记账节点对加密后的信息按照预设要求进行验证,得到验证结果;若验证结果指示加密后的信息符合预设要求,则执行对智能合约的模拟上链交易,得到执行结果;将执行结果发送至前置节点中。
处理器执行程序时还实现以下步骤:通过前置节点判断执行结果中模拟上链交易成功的次数大于预设数值,则将目标请求同步至多个侧链中;基于多个侧链根据目标投票策略在预设时间内对目标请求进行投票,得到每个侧链的投票子结果;根据每个侧链的投票子结果,得到投票结果。
处理器执行程序时还实现以下步骤:在根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果之前,检测多个侧链在预设时间内是否完成投票操作;若多个侧链在预设时间内完成投票操作,将投票结果保存至记账节点中。
处理器执行程序时还实现以下步骤:判断多个侧链中是否存在目标侧链,其中,目标侧链的业务类型为目标业务类型,其中,目标侧链的数量为一个或者多个;若多个侧链中存在目标侧链,对目标侧链对应的投票结果按照第一预设权重值进行加权统计处理,得到目标投票结果;若多个侧链中不存在目标侧链,对多个侧链对应的投票结果按照第二预设权重值进行加权统计处理,得到目标投票结果,其中,第一预设权重值大于第二预设权重值。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,区块链网络至少包括:多个不同业务类型的侧链、目标主链,其中,目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,预设操作包括如下至少之一:合约部署、合约升级、合约删除;基于多个侧链在预设时间内对目标请求进行投票,得到投票结果,其中,多个侧链为区块链网络中除当前侧链之外的其余侧链,其中,投票结果包括如下至少之一:对目标请求的赞成票数、对目标请求的反对票数;根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果;在目标投票结果指示目标请求被投票通过的情况下,执行目标请求的响应操作,以使智能合约按照预设操作被处理。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,通过记账节点设置单次投票的投票规则,其中,投票规则至少包括单次投票的有效投票时间;将有效投票时间作为预设时间。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在通过目标主链接收当前侧链发起的目标请求之后,通过目标主链判断目标请求是否为目标预设操作请求,其中,目标预设操作为对智能合约进行合约部署或者合约升级的请求;若目标请求为目标预设操作请求,通过前置节点将当前侧链上的合约源码包上传至目标主链上,并在目标主链上设置智能合约对应的第一预设权重值。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在基于多个侧链在预设时间内对目标请求进行投票,得到投票结果之前,根据每个侧链与前置节点之间的共享密钥对目标信息进行加密处理,得到加密后的信息,其中,目标信息至少包括:合约源码包、第一预设权重值、当前目标请求对应的时间戳信息;将加密后的信息同步至目标主链的每个节点中。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在将加密后的信息同步至目标主链的每个节点中之后,通过记账节点对加密后的信息按照预设要求进行验证,得到验证结果;若验证结果指示加密后的信息符合预设要求,则执行对智能合约的模拟上链交易,得到执行结果;将执行结果发送至前置节点中。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:通过前置节点判断执行结果中模拟上链交易成功的次数大于预设数值,则将目标请求同步至多个侧链中;基于多个侧链根据目标投票策略在预设时间内对目标请求进行投票,得到每个侧链的投票子结果;根据每个侧链的投票子结果,得到投票结果。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在根据目标主链中预设的业务权重计算方式对投票结果进行统计,得到目标投票结果之前,检测多个侧链在预设时间内是否完成投票操作;若多个侧链在预设时间内完成投票操作,将投票结果保存至记账节点中。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:判断多个侧链中是否存在目标侧链,其中,目标侧链的业务类型为目标业务类型,其中,目标侧链的数量为一个或者多个;若多个侧链中存在目标侧链,对目标侧链对应的投票结果按照第一预设权重值进行加权统计处理,得到目标投票结果;若多个侧链中不存在目标侧链,对多个侧链对应的投票结果按照第二预设权重值进行加权统计处理,得到目标投票结果,其中,第一预设权重值大于第二预设权重值。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种基于区块链的投票表决方法,其特征在于,包括:
在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,所述目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,所述区块链网络至少包括:多个不同业务类型的侧链、所述目标主链,其中,所述目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,所述预设操作包括如下至少之一:合约部署、合约升级、合约删除;
基于多个侧链在预设时间内对所述目标请求进行投票,得到投票结果,其中,所述多个侧链为所述区块链网络中除所述当前侧链之外的其余侧链,其中,所述投票结果包括如下至少之一:对所述目标请求的赞成票数、对所述目标请求的反对票数;
根据所述目标主链中预设的业务权重计算方式对所述投票结果进行统计,得到目标投票结果;
在所述目标投票结果指示所述目标请求被投票通过的情况下,执行所述目标请求的响应操作,以使所述智能合约按照所述预设操作被处理。
2.根据权利要求1所述的方法,其特征在于,在基于多个侧链在预设时间内对所述目标请求进行投票,得到投票结果之前,所述方法还包括:
通过所述记账节点设置单次投票的投票规则,其中,所述投票规则至少包括所述单次投票的有效投票时间;
将所述有效投票时间作为所述预设时间。
3.根据权利要求1所述的方法,其特征在于,在通过目标主链接收当前侧链发起的目标请求之后,所述方法还包括:
通过所述目标主链判断所述目标请求是否为目标预设操作请求,其中,所述目标预设操作为对所述智能合约进行合约部署或者合约升级的请求;
若所述目标请求为所述目标预设操作请求,通过所述前置节点将所述当前侧链上的合约源码包上传至所述目标主链上,并在所述目标主链上设置所述智能合约对应的第一预设权重值。
4.根据权利要求3所述的方法,其特征在于,在基于多个侧链在预设时间内对所述目标请求进行投票,得到投票结果之前,所述方法还包括:
根据每个侧链与所述前置节点之间的共享密钥对目标信息进行加密处理,得到加密后的信息,其中,所述目标信息至少包括:所述合约源码包、所述第一预设权重值、当前所述目标请求对应的时间戳信息;
将所述加密后的信息同步至所述目标主链的每个节点中。
5.根据权利要求4所述的方法,其特征在于,在将所述加密后的信息同步至所述目标主链的每个节点中之后,所述方法还包括:
通过所述记账节点对所述加密后的信息按照预设要求进行验证,得到验证结果;
若所述验证结果指示所述加密后的信息符合所述预设要求,则执行对所述智能合约的模拟上链交易,得到执行结果;
将所述执行结果发送至所述前置节点中。
6.根据权利要求5所述的方法,其特征在于,基于多个侧链在预设时间内对所述目标请求进行投票,得到投票结果包括:
通过所述前置节点判断执行结果中所述模拟上链交易成功的次数大于预设数值,则将所述目标请求同步至所述多个侧链中;
基于所述多个侧链根据目标投票策略在所述预设时间内对所述目标请求进行投票,得到每个侧链的投票子结果;
根据所述每个侧链的投票子结果,得到所述投票结果。
7.根据权利要求1所述的方法,其特征在于,在根据所述目标主链中预设的业务权重计算方式对所述投票结果进行统计,得到目标投票结果之前,所述方法还包括:
检测所述多个侧链在所述预设时间内是否完成投票操作;
若所述多个侧链在所述预设时间内完成投票操作,将所述投票结果保存至所述记账节点中。
8.根据权利要求3所述的方法,其特征在于,根据所述目标主链中预设的业务权重计算方式对所述投票结果进行统计,得到目标投票结果包括:
判断所述多个侧链中是否存在目标侧链,其中,所述目标侧链的业务类型为所述目标业务类型,其中,所述目标侧链的数量为一个或者多个;
若所述多个侧链中存在所述目标侧链,对所述目标侧链对应的投票结果按照所述第一预设权重值进行加权统计处理,得到所述目标投票结果;
若所述多个侧链中不存在所述目标侧链,对所述多个侧链对应的投票结果按照第二预设权重值进行加权统计处理,得到所述目标投票结果,其中,所述第一预设权重值大于所述第二预设权重值。
9.一种基于区块链的投票表决装置,其特征在于,包括:
接收单元,用于在区块链网络中,通过目标主链接收当前侧链发起的目标请求,其中,所述目标请求为对目标业务类型对应的智能合约按照预设操作进行处理的请求,其中,所述区块链网络至少包括:多个不同业务类型的侧链、所述目标主链,其中,所述目标主链至少包括:一个前置节点、至少一个记账节点、至少一个排序节点,其中,所述预设操作包括如下至少之一:合约部署、合约升级、合约删除;
投票单元,用于基于多个侧链在预设时间内对所述目标请求进行投票,得到投票结果,其中,所述多个侧链为所述区块链网络中除所述当前侧链之外的其余侧链,其中,所述投票结果包括如下至少之一:对所述目标请求的赞成票数、对所述目标请求的反对票数;
统计单元,用于根据所述目标主链中预设的业务权重计算方式对所述投票结果进行统计,得到目标投票结果;
第一执行单元,用于在所述目标投票结果指示所述目标请求被投票通过的情况下,执行所述目标请求的响应操作,以使所述智能合约按照所述预设操作被处理。
10.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至8中任意一项所述的方法。
11.一种电子设备,其特征在于,包括:包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404479.XA CN114721749A (zh) | 2022-04-18 | 2022-04-18 | 基于区块链的投票表决方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210404479.XA CN114721749A (zh) | 2022-04-18 | 2022-04-18 | 基于区块链的投票表决方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114721749A true CN114721749A (zh) | 2022-07-08 |
Family
ID=82244171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210404479.XA Pending CN114721749A (zh) | 2022-04-18 | 2022-04-18 | 基于区块链的投票表决方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114721749A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604121A (zh) * | 2022-11-27 | 2023-01-13 | 中国信息通信研究院(Cn) | 基于区块链的工业互联网业务处理方法、装置和设备 |
-
2022
- 2022-04-18 CN CN202210404479.XA patent/CN114721749A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604121A (zh) * | 2022-11-27 | 2023-01-13 | 中国信息通信研究院(Cn) | 基于区块链的工业互联网业务处理方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108650270B (zh) | 基于联盟链和激励机制的数据共享方法及系统 | |
CN109447643B (zh) | 一种基于区块链的数据共享系统及数据共享方法 | |
CN109360100B (zh) | 基于区块链技术的交易快速确认方法及装置 | |
US20210049596A1 (en) | Resource transfer data management method and apparatus, and storage medium | |
Ruffing et al. | Liar, liar, coins on fire! Penalizing equivocation by loss of bitcoins | |
CN110035059B (zh) | 一种区块链的构建方法与装置 | |
CN111654465A (zh) | 一种基于区块链的电力业务跨域可信认证系统及方法 | |
CN107169765A (zh) | 一种基于业务信任度对区块链共识进行动态调整的方法 | |
CN112541758A (zh) | 基于区块链的多轮投票式容错排序共识机制与方法 | |
CN111598436A (zh) | 一种凭证管理系统、方法及介质 | |
CN109472164A (zh) | 合同数据的验证方法及其网络和电子设备 | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
US20230037932A1 (en) | Data processing method and apparatus based on blockchain network, and computer device | |
CN112651830B (zh) | 应用于电力资源共享网络的区块链共识方法 | |
CN110995701A (zh) | 一种区块链共识方法、系统、电子设备、存储介质 | |
CN113726913B (zh) | 骨干节点接入方法和区块链系统 | |
CN110177124A (zh) | 基于区块链的身份认证方法及相关设备 | |
CN113065866B (zh) | 基于区块链的物联网边缘计算系统及方法 | |
CN111104460A (zh) | 一种区块链共识方法、系统、电子设备、存储介质 | |
CN112232822A (zh) | 区块链网络的交易处理方法、节点、设备及存储介质 | |
CN114139203A (zh) | 基于区块链的异构身份联盟风险评估系统、方法及终端 | |
CN112448946A (zh) | 基于区块链的日志审计方法及装置 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN114721749A (zh) | 基于区块链的投票表决方法、装置、存储介质及电子设备 | |
CN112688775B (zh) | 联盟链智能合约的管理方法和装置、电子设备、及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |