CN106411503B - 区块链投票记账模式的记账方法及系统、投票及记账节点 - Google Patents

区块链投票记账模式的记账方法及系统、投票及记账节点 Download PDF

Info

Publication number
CN106411503B
CN106411503B CN201611063651.0A CN201611063651A CN106411503B CN 106411503 B CN106411503 B CN 106411503B CN 201611063651 A CN201611063651 A CN 201611063651A CN 106411503 B CN106411503 B CN 106411503B
Authority
CN
China
Prior art keywords
block
effective
ballot
hash
node
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.)
Active
Application number
CN201611063651.0A
Other languages
English (en)
Other versions
CN106411503A (zh
Inventor
商建祥
王继武
张国华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bank of China Ltd
Original Assignee
Bank of China Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bank of China Ltd filed Critical Bank of China Ltd
Priority to CN201611063651.0A priority Critical patent/CN106411503B/zh
Publication of CN106411503A publication Critical patent/CN106411503A/zh
Application granted granted Critical
Publication of CN106411503B publication Critical patent/CN106411503B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

本申请提供了区块链投票记账模式的记账方法及系统、投票及记账节点,方法包括:记账节点将区块发送给投票节点;投票节点动态产生下次有效的私钥及公钥,使用本次有效的私钥对区块的哈希值进行签名形成区块哈希签名,使用下次有效的私钥对区块的哈希值进行签名形成区块哈希新签名,将区块哈希签名、本次有效的公钥及区块哈希新签名发送至记账节点;记账节点验证投票结果的有效性;统计投票结果为有效的投票节点个数,若统计的投票节点个数满足条件,则将所有有效的投票结果记入所述区块头中,将其存入账本并发送给所有其它记账节点。本申请每次投票后作废私钥/公钥对,并重新生成新私钥/公钥,使得其仅一次有效,使记账安全性得到很大提升。

Description

区块链投票记账模式的记账方法及系统、投票及记账节点
技术领域
本申请属于交易记录领域,特别涉及一种区块链投票记账模式下的记账方法及系统、投票节点及记账节点。
背景技术
在区块链技术中,采用的是分布式账本模式,即所有记账节点本地都维护同一份账本,交易在区块链上广播,所有记账节点将接收到的交易按照相同的顺序记录账本。
现有技术中,保证所有记账节点中的账本一致的方法主要为共识机制,而共识机制中常用的方法为投票记账模式,投票记账模式需要通过一系列交互以确保取得多数节点同意,按照同意的顺序将交易记入账本,节点在交互过程中都需要通过私钥签名、公钥验证的方式进行身份确认,私钥/公钥或是固化在逻辑里,或是固化在节点芯片里或是加密机里,如果一旦被人破解,整个投票系统将不再安全,如果经常改变私钥/公钥对,需要对所有节点进行升级,非常不方便。
发明内容
本申请提供一种区块链投票记账模式下的记账方法及系统、记账节点及投票节点,用于解决现有技术中的区块链投票记账模式下的身份认证所需私钥/公钥固化在投票节点的芯片里,使得私钥/公钥不易改变,一旦破解,使得整个投票系统不再安全的问题。
为了解决上述技术问题,本申请的一技术方案为提供一种从记账节点侧描述的区块链投票记账模式下的记账方法,包括:将区块发送给投票节点,其中,所述区块包括区块头及交易清单;
接收投票节点发送的投票结果,其中,所述投票结果包括区块哈希签名、本次有效的公钥、区块哈希新签名;
搜索投票节点上次进行有效投票的区块哈希新签名,以验证所述投票结果的有效性;以及
统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块头中,将更新的区块存入账本,并将更新的区块发送给所有其它记账节点。
本申请另一技术方案为提供一种从投票节点侧描述的区块链投票记账模式下的记账方法,包括:
接收一记账节点发送的区块,其中,所述区块包括区块头及交易清单;
对所述区块进行合法性验证,若验证通过则使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名;产生下次有效的私钥及公钥;使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名;以及
将区块哈希签名、本次有效的公钥及区块哈希新签名发送至所述记账节点。
本申请再一技术方案为提供一种区块链投票记账模式下的记账节点,包括:
发送模块,用于将区块发送给投票节点,其中,所述区块包括区块头及交易清单;
接收模块,用于接收投票节点发送的投票结果,其中,所述投票结果包括区块哈希签名、本次有效的公钥、区块哈希新签名;
验证模块,用于搜索投票节点上次进行有效投票的区块哈希新签名,以验证所述投票结果的有效性;以及
处理模块,用于统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块头中,将更新的区块存入账本,并将更新的区块通过所述发送模块发送给所有其它记账节点。
本申请的又一技术方案为提供一种区块链投票记账模式下的投票节点,包括:
接收模块,用于接收一记账节点发送的区块,其中,所述区块包括区块头及交易清单;
验证模块,用于对所述区块进行合法性验证,若验证通过则启动第一签名模块、密钥对产生模块及第二签名模块;
第一签名模块,用于使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名;
密钥对产生模块,用于产生下次有效的私钥及公钥;
第二签名模块,用于使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名;以及
发送模块,用于将区块哈希签名、本次有效的公钥及区块哈希新签名发送至所述记账节点。
本申请最后一技术方案为提供一种区块链投票记账模式下的记账系统,包括多个上述技术方案中的记账节点及多个上述技术方案中的投票节点,其中之一记账节点发送区块时,其它记账节点无权发送区块。
本申请中,记账节点将区块发送给投票节点;投票节点接收到区块后,动态产生下次有效的私钥及公钥,使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名,使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名,将区块哈希签名、本次有效的公钥及区块哈希新签名发送至记账节点;记账节点搜索投票节点上次进行有效投票的区块哈希新签名,以验证投票结果的有效性;统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块头中,将更新后的区块存入账本,并发送给所有其它记账节点。本申请通过采用私钥签名的方式进行投票,每次投票后作废私钥/公钥对,并重新生成新的私钥/公钥对,使得私钥及公钥仅一次有效,防止密钥被破解后用来进行账本攻击,使得记账的安全性得到很大提升。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的从记账节点侧描述的区块链投票记账模式下的记账方法流程图;
图2为本申请实施例的验证投票结果有效性的流程图;
图3为本申请实施例的从投票节点侧描述的区块链投票记账模式下的记账方法流程图;
图4为本申请实施例的记账节点的结构图;
图5为本申请实施例的投票节点的结构图;
图6为本申请实施例的区块链投票记账模式下的记账系统结构图;
图7为本申请具体实施例的区块链投票记账模式下的记账方法流程图;
图8为本申请具体实施例的记账节点发送至投票节点的区块示意图;
图9为本申请具体实施例的记账节点更新后的区块示意图;
图10为本申请具体实施例的记账节点中账本示意图。
具体实施方式
为了使本申请的技术特点及效果更加明显,下面结合附图对本申请的技术方案做进一步说明,本申请也可有其他不同的具体实例来加以说明或实施,任何本领域技术人员在权利要求范围内做的等同变换均属于本申请的保护范畴。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本申请所述的记账节点及投票节点为区块链中的节点,对应的实体装置可以为具有计算与存储功能的个人计算机或服务器,甚至是具有一定计算和存储能力的任何个人终端,例如平板电脑,手机等。具体实施时,可将记账节点及投票节点集成于同一实体装置中,即实体装置既具有投票功能也具有记账功能。
如图1所示,图1为从记账节点侧描述的区块链投票记账模式下的记账方法流程图。本申请通过采用私钥签名的方式进行投票,每次投票后作废私钥/公钥对,并重新生成新的私钥/公钥对,使得私钥及公钥仅一次有效,防止密钥被破解后用来进行账本攻击,使得记账的安全性得到很大提升。
具体的,记账节点侧描述的区块链投票记账模式下的记账方法包括:
步骤101:将区块发送给投票节点,其中,所述区块包括区块头及交易清单。
详细的说,区块头包括投票信息存储区域及其他信息存储区域,其中,投票信息存储区域处为空,如图8所示,待根据投票节点的投票结果来填充,其他信息存储区域存储有控制信息、验证信息、及区块的哈希值(区块的哈希值也可由投票节点计算)等,本申请对此不作限定。
区块中的交易清单由发送区块的记账节点收集,如为一定时间内所涉及到的交易,具体如为存款交易请求、取款交易请求及查询交易请求等。
具体实施时,一记账节点在发送区块时,其他记账节点不具有权限发送区块,具体由哪个记账节点发送区块可通过现有技术的算法确定,本申请对此不作限定。
步骤102:接收所述投票节点发送的投票结果,其中,所述投票结果包括区块哈希签名、本次有效的公钥及区块哈希新签名。
其中,区块哈希签名是由所述投票节点本次有效的私钥对所述区块的哈希值进行签名得到的,区块哈希新签名是由所述投票节点产生的下次有效的私钥对所述区块的哈希值进行签名得到的,本次有效的公钥为投票节点的本次有效的公钥。
步骤103:搜索投票节点上次进行有效投票的区块哈希新签名,以验证所述投票结果的有效性。投票结果有效则说明得到了投票节点的支持。
步骤104:统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值(如为投票节点总数的2/3),则将所有有效的投票结果记入所述区块头中,将更新的区块存入账本,并将更新的区块发送给所有其它记账节点,以使其它记账节点在其账本中进行同步记录。
实施时,若投票结果为有效的投票节点个数小于预定阈值,则做异常处理。
更新的区块如图9所示,所有有效的投票结果均存储在区块头中,这些投票结果对应相应投票节点的投票,如区块n哈希签名m、公钥m及区块n哈希新签名m对应第m个投票节点的投票。
实施时,记账节点账本除了记录有当前更新的区块外,还记录有之前更新的区块,账本存储的内容如图10所示。
本申请进一步实施例中,上述步骤103中搜索投票节点上次进行有效投票的区块哈希新签名的过程包括:从账本中搜索投票节点上次进行有效投票的投票结果;从搜索到的投票结果中提取区块哈希新签名。如图9所示,以投票节点m、本次投票为第n次投票为例,投票节点m上次(即n-1次)进行有效投票的投票结果为sign(skm_p-1,hash(block)),Pkm_p-1,sign(skm_p,hash(block)),从该投票结果中提取出上次进行有效投票的区块n-1哈希新签名m sign(skm_p,hash(block))。
本申请进一步实施例中,如图2所示,对于任意一投票节点,上述步骤103中验证所述投票结果的有效性包括:
步骤201:使用本次有效公钥对上次进行有效投票的区块哈希新签名进行验证,如果验证通过,则本次有效公钥合法有效。
步骤202:使用本次有效公钥对所述投票节点发送的区块哈希签名进行验证,如果验证通过,则所述投票节点发送的区块哈希签名合法有效。
步骤203:若步骤201及步骤202的验证结果都为合法有效,则所述投票节点的投票结果有效。
本申请进一步实施例中,对于不是产生区块的记账节点而言,接收到更新的区块后还包括验证更新的区块中投票结果的有效性,需分别对投票节点的投票结果进行验证,具体验证过程参见图2所示,本申请在此不再赘述。
如图3所示,图3为本申请从投票节点侧描述的区块链投票记账模式下的记账方法。投票节点能够每次投票时产生新的私钥/公钥对,使得私钥及公钥仅一次有效,能够防止密钥被破解后用来进行账本攻击,使得记账的安全性得到很大提升。具体的包括:
步骤301:接收记账节点发送的区块,其中,所述区块包括区块头及交易清单。
步骤302:对所述区块进行合法性验证,若验证通过则进行步骤303。
步骤303:使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名;产生下次有效的私钥及公钥;使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名。
步骤304:将区块哈希签名、本次有效的公钥、区块哈希新签名发送至所述记账节点(所述记账节点为发送区块的节点)。
本申请中,计算哈希值的目的是为了压缩区块的长度,作为后续私钥签名的数据基础(如果数据太长,进行私钥签名技术上代价太大,不便于实施)。区块哈希值可由记账节点计算,也可由投票节点根据区块内容进行计算。区块哈希值与记账节点发送的区块内容相对应,区块中的内容改变,则对应的哈希值也跟着发生改变。计算区块哈希值的方法可采用SM3HASH加密算法,本申请对其具体使用方法不做限定。
本申请一具体实施例中,上述步骤302对所述区块进行合法性验证包括:验证所述区块的格式是否正确;验证所述交易清单的格式是否正确;以及验证所述交易清单内容是否正确。
上述图1及图3所示方法配合使用,能够保证投票节点中的私钥/公钥动态更新,防止私钥被破解后安全出现问题。
基于同一发明构思,本申请实施例中还提供了一种区块链投票记账模式下的记账节点及投票节点。记账节点及投票节点解决问题的原理与方法相似,因此,节点的实施可参见方法的实施,重复之处不再赘述。
如图4所示,记账节点包括:发送模块401,用于将区块发送给投票节点,其中,所述区块包括区块头及交易清单。
接收模块402,用于接收投票节点发送的投票结果,其中,所述投票结果包括区块哈希签名、本次有效的公钥、区块哈希新签名。
验证模块403,用于搜索投票节点上次进行有效投票的区块哈希新签名,以验证所述投票结果的有效性。以及
处理模块404,用于统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块头中,将更新后的区块存入账本,并通过所述发送模块将更新后的区块发送给所有其它记账节点。
进一步实施例中,所述验证模块403搜索投票节点上次进行有效投票的区块哈希新签名的过程包括:
从账本中搜索投票节点上次进行有效投票的投票结果;
从搜索到的投票结果中提取区块哈希新签名。
所述验证模块403验证所述投票结果的有效性的过程包括:
对于任意一投票节点,使用本次有效公钥对上次进行有效投票的区块哈希新签名进行验证,如果验证通过,则本次有效公钥合法有效;
使用本次有效公钥对所述投票节点发送的区块哈希签名进行验证,如果验证通过,则所述投票节点发送的区块哈希签名合法有效;
若两次验证结果都为合法有效,则所述投票节点的投票结果有效。
如图5所示,区块链投票记账模式下的投票节点包括:
接收模块501,用于接收一记账节点发送的区块,其中,所述区块包括区块头及交易清单。
验证模块502,用于对所述区块进行合法性验证,若验证通过则启动第一签名模块503、密钥对产生模块504及第二签名模块505。
第一签名模块503,用于使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名。
密钥对产生模块504,用于产生下次有效的私钥及公钥。
第二签名模块505,用于使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名。以及
发送模块506,用于将区块哈希签名、本次有效的公钥及区块哈希新签名发送至所述记账节点。
进一步的,验证模块502对所述区块进行合法性验证包括:验证所述区块的数据格式是否正确;验证所述交易清单的格式是否正确;以及验证所述交易清单中的内容是否正确。
本申请图4所示记账节点及图5所示投票节点配合使用,通过采用私钥签名的方式进行投票,每次投票后作废私钥/公钥对,并重新生成新的私钥/公钥对,使得私钥及公钥仅一次有效,防止密钥被破解后用来进行账本攻击,使得记账的安全性得到很大提升。
如图6所示,图6为本申请实施例所述区块链投票记账模式下的记账系统。该记账系统包括:多个记账节点及多个投票节点,其中之一记账节点发送区块时,其它记账节点无法发送区块。
具体的,记账节点用于将区块发送给投票节点,其中,所述区块包括区块头及交易清单;接收投票节点发送的投票结果,其中,所述投票结果包括区块哈希签名、本次有效的公钥、区块哈希新签名;搜索投票节点上次进行有效投票的区块哈希新签名,以验证所述投票结果的有效性;以及统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块头中,将更新的区块存入账本,并将更新的区块发送给所有其它记账节点。
投票节点用于接收一记账节点发送的区块,其中,所述区块包括区块头及交易清单;对所述区块进行合法性验证,若验证通过则使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名;产生下次有效的私钥及公钥;使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名;以及
将区块哈希签名、本次有效的公钥及区块哈希新签名发送至所述记账节点。
本申请系统进一步实施例中,若所述记账节点收到的新的区块的分叉处在预定个区块(如100个)之前,则所述记账节点拒绝接收新的区块。本实施例能够确保私钥被破解后,再从破解处开始伪造的区块将不被承认。
为了更清楚说明本申请技术方案,下面以一具体实施例进行说明。假设区块链投票记账模式下的记账系统包括m个投票节点,包括M个记账节点,当前具有发送区块权的记账节点为第M个记账节点,发送的区块为区块n(如图8所示)。具体的,如图7所示,区块链投票记账模式下的记账方法包括:
步骤701:记账节点M发送区块n至所有投票节点。
步骤702:各投票节点接收区块n,并对区块n进行合法性验证,若验证通过则生成投票结果,将投票结果发送至记账节点M。
下面以投票节点m为例说明生成投票结果的详细过程,其中,投票节点m本次有效私钥为skm_p,本次有效公钥为Pkm_p:
利用skm_p对区块n的哈希值进行签名,得到区块n的哈希签名m;
生成下次有效的私钥skm_p+1及公钥Pkm_p+1;
利用下次有效的私钥skm_p+1对区块n的哈希值进行签名,得到区块n的哈希新签名m;
将区块n的哈希签名m、本次有效公钥为Pkm_p及区块n的哈希新签名m组成投票结果发送至记账节点M。
步骤703:记账节点M接收投票节点发送的投票结果。
步骤704:记账节点M搜索投票节点上次进行有效投票的区块哈希新签名,以验证投票结果的有效性。
下面仍以投票节点m为例对步骤704进行详细说明:
通过查找图10所示账本,得到投票节点m上次进行有效投票的区块n-1哈希新签名m为sign(skm_p,hash(block)),利用Pkm_p对区块n-1哈希新签名m进行验证,若果验证通过,则Pkm_p合法有效。利用Pkm_p对区块n哈希签名m进行验证,如果验证通过,则区块n哈希签名m合法有效;若两次验证结果都为合法有效,则所述投票节点m的投票结果有效。
对其他投票节点的投票结果验证过程同投票节点m,此处不再赘述。
步骤705:统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块头中,将更新后的区块存入账本,并将更新后的账本发送给所有其它记账节点。
如图9所示,所有投票节点的投票结果均有效,则将m个投票节点的投票结果均放到区块n的区块头中。更新后的账本如图10所示。
本申请通过采用私钥签名的方式进行投票,每次投票后作废私钥/公钥对,并重新生成新的私钥/公钥对,使得私钥及公钥仅一次有效,防止密钥被破解后用来进行账本攻击,使得记账的安全性得到很大提升。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅用于说明本申请的技术方案,任何本领域普通技术人员均可在不违背本申请的精神及范畴下,对上述实施例进行修饰与改变。因此,本申请的权利保护范围应视权利要求范围为准。

Claims (7)

1.一种区块链投票记账模式下的记账方法,其特征在于,包括:
记账节点将区块发送给投票节点,接收投票节点发送的投票结果,搜索投票节点上次进行有效投票的区块哈希新签名,以验证所述投票结果的有效性,统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块的区块头中,将更新的区块存入账本,并将更新的区块发送给所有其它记账节点,所述区块包括区块头及交易清单,所述投票结果包括区块哈希签名、本次有效的公钥、区块哈希新签名,所述区块哈希签名是由所述投票节点本次有效的私钥对所述区块的哈希值进行签名得到的,所述区块哈希新签名是由所述投票节点产生的下次有效的私钥对所述区块的哈希值进行签名得到的,所述本次有效的公钥为投票节点的本次有效的公钥;以及
投票节点接收一记账节点发送的区块,对所述区块进行合法性验证,若验证通过则使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名,产生下次有效的私钥及公钥,使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名,将区块哈希签名、本次有效的公钥及区块哈希新签名发送至所述记账节点;
其中,验证所述投票结果的有效性包括:对于任意一投票节点,使用本次有效公钥对上次进行有效投票的区块哈希新签名进行验证,如果验证通过,则本次有效公钥合法有效,使用本次有效公钥对所述投票节点发送的区块哈希签名进行验证,如果验证通过,则所述投票节点发送的区块哈希签名合法有效,若两次验证结果都为合法有效,则所述投票节点的投票结果有效;
对所述区块进行合法性验证包括:验证所述区块的数据格式是否正确;验证所述交易清单的格式是否正确;以及验证所述交易清单内容是否正确。
2.如权利要求1所述的区块链投票记账模式下的记账方法,其特征在于,搜索投票节点上次进行有效投票的区块哈希新签名进一步包括:
从账本中搜索投票节点上次进行有效投票的投票结果;
从搜索到的投票结果中提取区块哈希新签名。
3.一种区块链投票记账模式下的记账方法,其特征在于,包括:
接收一记账节点发送的区块,其中,所述区块包括区块头及交易清单;
对所述区块进行合法性验证,若验证通过则使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名;产生下次有效的私钥及公钥;使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名;以及
将区块哈希签名、本次有效的公钥及区块哈希新签名发送至所述记账节点,其中所述区块哈希签名是由投票节点本次有效的私钥对所述区块的哈希值进行签名得到的,所述区块哈希新签名是由所述投票节点产生的下次有效的私钥对所述区块的哈希值进行签名得到的,所述本次有效的公钥为投票节点的本次有效的公钥;
其中,对所述区块进行合法性验证包括:
验证所述区块的数据格式是否正确;
验证所述交易清单的格式是否正确;以及
验证所述交易清单内容是否正确。
4.一种区块链投票记账模式下的投票节点,其特征在于,包括:
接收模块,用于接收一记账节点发送的区块,其中,所述区块包括区块头及交易清单;
验证模块,用于对所述区块进行合法性验证,若验证通过则启动第一签名模块、密钥对产生模块及第二签名模块;
第一签名模块,用于使用本次有效的私钥对所述区块的哈希值进行签名,形成区块哈希签名;
密钥对产生模块,用于产生下次有效的私钥及公钥;
第二签名模块,用于使用下次有效的私钥对区块的哈希值进行签名,形成区块哈希新签名;以及
发送模块,用于将区块哈希签名、本次有效的公钥及区块哈希新签名发送至所述记账节点,其中所述区块哈希签名是由所述投票节点本次有效的私钥对所述区块的哈希值进行签名得到的,所述区块哈希新签名是由所述投票节点产生的下次有效的私钥对所述区块的哈希值进行签名得到的,所述本次有效的公钥为投票节点的本次有效的公钥;
所述验证模块对所述区块进行合法性验证包括:验证所述区块的数据格式是否正确;验证所述交易清单的格式是否正确;以及验证所述交易清单中的内容是否正确。
5.一种区块链投票记账模式下的记账系统,其特征在于,包括:
多个记账节点;以及
多个权利要求4所述的投票节点;
其中之一记账节点发送区块时,其它记账节点无权发送区块;
所述记账节点包括:
发送模块,用于将区块发送给投票节点,其中,所述区块包括区块头及交易清单;
接收模块,用于接收投票节点发送的投票结果,其中,所述投票结果包括区块哈希签名、本次有效的公钥、区块哈希新签名,其中所述区块哈希签名是由所述投票节点本次有效的私钥对所述区块的哈希值进行签名得到的,所述区块哈希新签名是由所述投票节点产生的下次有效的私钥对所述区块的哈希值进行签名得到的,所述本次有效的公钥为投票节点的本次有效的公钥;
验证模块,用于搜索投票节点上次进行有效投票的区块哈希新签名,以验证所述投票结果的有效性;以及
处理模块,用于统计投票结果为有效的投票节点个数,若统计的投票节点个数大于或等于预定阈值,则将所有有效的投票结果记入所述区块头中,将更新的区块存入账本,并将更新的区块通过所述发送模块发送给所有其它记账节点;
所述验证模块验证所述投票结果的有效性的过程包括:
对于任意一投票节点,使用本次有效公钥对上次进行有效投票的区块哈希新签名进行验证,如果验证通过,则本次有效公钥合法有效;
使用本次有效公钥对所述投票节点发送的区块哈希签名进行验证,如果验证通过,则所述投票节点发送的区块哈希签名合法有效;
若两次验证结果都为合法有效,则所述投票节点的投票结果有效。
6.如权利要求5所述的记账系统,其特征在于,所述验证模块搜索投票节点上次进行有效投票的区块哈希新签名的过程包括:
从账本中搜索投票节点上次进行有效投票的投票结果;
从搜索到的投票结果中提取区块哈希新签名。
7.如权利要求5所述的记账系统,其特征在于,若所述记账节点收到的新的区块的分叉处在预定个区块之前,则所述记账节点拒绝接收新的区块。
CN201611063651.0A 2016-11-28 2016-11-28 区块链投票记账模式的记账方法及系统、投票及记账节点 Active CN106411503B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611063651.0A CN106411503B (zh) 2016-11-28 2016-11-28 区块链投票记账模式的记账方法及系统、投票及记账节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611063651.0A CN106411503B (zh) 2016-11-28 2016-11-28 区块链投票记账模式的记账方法及系统、投票及记账节点

Publications (2)

Publication Number Publication Date
CN106411503A CN106411503A (zh) 2017-02-15
CN106411503B true CN106411503B (zh) 2019-11-08

Family

ID=58082289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611063651.0A Active CN106411503B (zh) 2016-11-28 2016-11-28 区块链投票记账模式的记账方法及系统、投票及记账节点

Country Status (1)

Country Link
CN (1) CN106411503B (zh)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3257002B1 (en) 2016-02-23 2020-03-11 Nchain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
EP3420513A1 (en) 2016-02-23 2019-01-02 Nchain Holdings Limited System and method for controlling asset-related actions via a blockchain
CN114282928A (zh) 2016-02-23 2022-04-05 恩链控股有限公司 基于区块链系统结合钱包管理系统的加密密钥存储和转移
KR20180115768A (ko) 2016-02-23 2018-10-23 엔체인 홀딩스 리미티드 블록체인으로부터 데이터의 안전한 추출을 위한 암호화 방법 및 시스템
EP4167165A1 (en) 2016-02-23 2023-04-19 nChain Licensing AG Blockchain-based exchange with tokenisation
CN106934710A (zh) * 2017-03-06 2017-07-07 钱德君 一种基于智能合约内容的量子合约账本
CN106878000B (zh) * 2017-03-06 2020-02-21 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种联盟链共识方法及系统
WO2018165940A1 (en) * 2017-03-16 2018-09-20 Hong Kong R & D Centre for Logistics and Supply Chain Management Enabling Technologies Limited A system and method for controlling a ledger of transactions
CN111614655A (zh) 2017-03-24 2020-09-01 创新先进技术有限公司 一种共识校验的方法及装置
CN107093143A (zh) * 2017-03-24 2017-08-25 钱德君 一种量子链的区块链构件系统
CN107395557B (zh) 2017-03-28 2020-05-15 创新先进技术有限公司 一种业务请求的处理方法及装置
CN107146152B (zh) * 2017-03-28 2021-04-20 杭州云象网络技术有限公司 一种基于区块链记账的信用管理方法
CN106991569B (zh) * 2017-03-29 2018-07-31 宁夏灵智科技有限公司 电子商务平台中大数据计算的交易方法及系统
CN106991607B (zh) * 2017-03-29 2020-04-10 杭州溪塔科技有限公司 一种基于区块链账户模型的无序交易控制方法
CN107046542B (zh) * 2017-04-24 2020-04-14 杭州云象网络技术有限公司 一种在网络级采用硬件实现共识验证的方法
GB201707788D0 (en) 2017-05-15 2017-06-28 Nchain Holdings Ltd Computer-implemented system and method
CN107154850A (zh) * 2017-05-17 2017-09-12 北京汇通金财信息科技有限公司 一种区块链数据的处理方法及装置
CN107294727B (zh) * 2017-05-22 2020-06-19 联动优势科技有限公司 一种电子投票方法、终端设备以及区块链网络
CN107197036A (zh) * 2017-06-22 2017-09-22 广东网金控股股份有限公司 一种基于区块链的信息一致处理方法及终端
CN107171810B (zh) * 2017-06-27 2020-03-13 中国联合网络通信集团有限公司 区块链的验证方法及装置
CN107171812A (zh) * 2017-07-18 2017-09-15 光载无限(北京)科技有限公司 一种基于区块链的无密钥签名基础设施构建方法
CN107566124B (zh) * 2017-08-24 2020-06-19 深圳市易成自动驾驶技术有限公司 基于哈希运算的共识建立方法、区块链系统及存储介质
CN107659410A (zh) * 2017-08-30 2018-02-02 湖南众享政联科技有限公司 基于区块链防篡改公文传输和存储方法
CN107733651B (zh) * 2017-09-11 2020-06-19 联动优势科技有限公司 一种区块链生成方法、节点及系统
US10818121B2 (en) * 2017-09-15 2020-10-27 Panasonic Intellectual Property Corporation Of America Electronic voting system and control method
CN107948603A (zh) * 2017-12-07 2018-04-20 北海市天硌打印耗材有限公司 一种生产监控视频共享方法
CN108122165B (zh) * 2017-12-15 2020-10-30 北京中电普华信息技术有限公司 一种区块链共识方法及系统
CN109936452A (zh) * 2017-12-18 2019-06-25 厦门本能管家科技有限公司 基于参与度的记账打块方法
CN108183906B (zh) * 2017-12-29 2021-03-16 泰康保险集团股份有限公司 时间银行管理方法、服务器、终端、存储介质及电子设备
CN108259235B (zh) * 2018-01-04 2019-11-22 杭州复杂美科技有限公司 一种区块链记账节点选择方法
GB201800818D0 (en) * 2018-01-18 2018-03-07 Nchain Holdings Ltd Computer-implemented system and method
CN108418622B (zh) * 2018-02-11 2021-04-06 西安电子科技大学昆山创新研究院 一种基于区块链的无人机群体决策方法
GB201803815D0 (en) * 2018-03-09 2018-04-25 Nchain Holdings Ltd Computer-implemented methods and systems
CN108600161A (zh) * 2018-03-12 2018-09-28 成都零光量子科技有限公司 一种公平高效的区块链共识方法
CN108521328B (zh) * 2018-03-26 2020-08-28 杭州秘猿科技有限公司 一种区块链共识方法、装置及电子设备
CN108848052B (zh) * 2018-04-28 2020-12-18 广州西麦科技股份有限公司 基于云计算网络的培训积分管理方法、装置和存储介质
CN108648081B (zh) * 2018-05-07 2020-08-18 北京柏链基石科技有限公司 一种基于区块链的交易处理方法、装置和电子设备
CN108665274A (zh) * 2018-05-14 2018-10-16 北京链享未来科技有限公司 一种记账节点智能选择方法
CN108768607B (zh) * 2018-05-14 2021-10-08 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种基于区块链的投票方法、装置、设备及介质
CN108711212B (zh) * 2018-05-21 2021-03-09 中国联合网络通信集团有限公司 投票存证方法、装置及系统
CN108765683A (zh) * 2018-05-23 2018-11-06 栾友祥 一种基于区块链技术的投票系统
CN108881253B (zh) * 2018-06-29 2020-11-06 全链通有限公司 区块链实名参与方法和系统
CN110708269B (zh) * 2018-07-10 2022-04-12 北京京东尚科信息技术有限公司 区块链数据传输方法、区块链节点和计算机可读存储介质
CN108933656B (zh) * 2018-07-18 2021-09-10 京东方科技集团股份有限公司 在线作品投票方法及装置、计算机设备、可读存储介质
CN109040057B (zh) * 2018-07-26 2020-12-01 百色学院 一种基于区块链的多密钥分级保护隐私系统及方法
CN109101836B (zh) * 2018-08-09 2021-07-13 全链通有限公司 区块链网络的记账方法和系统
CN109086626B (zh) * 2018-08-09 2021-07-09 全链通有限公司 区块链网络的记账方法和系统
CN109242681B (zh) * 2018-08-21 2020-11-20 京东数字科技控股有限公司 资产数据的存储方法、装置、设备及系统
CN109543456B (zh) * 2018-11-06 2021-07-09 北京新唐思创教育科技有限公司 区块生成方法及计算机存储介质
CN110020513B (zh) * 2018-11-07 2023-08-22 创新先进技术有限公司 签名记录方法、验证方法、装置及存储介质
CN109583903B (zh) * 2018-11-28 2020-12-11 杭州复杂美科技有限公司 区块确认方法、设备和存储介质
CN109379381B (zh) * 2018-12-07 2021-06-15 深圳市智税链科技有限公司 区块链系统的数据管理方法、装置、介质及电子设备
CN111314060B (zh) * 2018-12-12 2022-12-13 中移动信息技术有限公司 一种密钥更新方法、设备及存储介质
CN109741064B (zh) * 2019-01-10 2023-05-05 广东工业大学 一种审查攻击处理方法、系统及电子设备和存储介质
CN109672518B (zh) * 2019-03-02 2022-04-12 西安安盟智能科技股份有限公司 抗量子攻击的区块链的节点数据处理
EP3590084B1 (en) * 2019-03-04 2022-05-11 Advanced New Technologies Co., Ltd. Methods and devices for testing signature verification for blockchain system
CN109903450B (zh) * 2019-03-28 2021-04-09 深圳职业技术学院 电子投票方法以及系统
CN109905247B (zh) * 2019-03-28 2022-03-15 郑州师范学院 基于区块链的数字签名方法、装置、设备及存储介质
CN110097361B (zh) * 2019-04-01 2023-04-07 南京思利华信息科技有限公司 一种基于x11算法的区块链动态算力共识方法及计算机系统
CN110110555B (zh) * 2019-04-24 2023-05-12 深圳前海微众银行股份有限公司 一种区块链中的投票方法及装置
CN111865595B (zh) * 2019-04-29 2023-06-27 普天信息技术有限公司 一种区块链的共识方法及装置
CN110868386B (zh) * 2019-05-17 2022-05-20 北京安妮全版权科技发展有限公司 区块链共识方法
CN110148005A (zh) * 2019-05-17 2019-08-20 杭州钛比科技有限公司 一种基于物联网采集节点和区块链技术的茶叶溯源系统
CN110380847B (zh) * 2019-07-01 2021-11-19 创新先进技术有限公司 一种区块链共识方法和装置
CN110519268B (zh) * 2019-08-27 2024-03-05 深圳前海微众银行股份有限公司 基于区块链的投票方法、装置、设备、系统及存储介质
CN110598882B (zh) * 2019-09-29 2023-09-19 腾讯科技(深圳)有限公司 一种回收可回收包装物的方法、装置和存储介质
CN110958120B (zh) * 2019-12-05 2022-06-10 全链通有限公司 基于区块链的电子投票方法、设备及存储介质
CN111833510B (zh) * 2019-12-25 2021-12-14 北京熠智科技有限公司 基于区块链的投票处理方法及装置、设备、存储介质
CN111209339B (zh) * 2020-01-03 2021-09-14 腾讯科技(深圳)有限公司 区块同步方法、装置、计算机以及存储介质
CN111339571B (zh) * 2020-02-28 2022-08-23 百度在线网络技术(北京)有限公司 一种区块链密钥管理方法、装置、设备和存储介质
CN111431977B (zh) * 2020-03-17 2021-10-15 北京星域通数字科技有限公司 区块链系统中作恶节点的处理方法及系统
CN111431696B (zh) * 2020-03-26 2023-10-17 深圳市欧欣泰科技有限公司 一种基于身份的区块链封印机制
CN111464542B (zh) * 2020-04-01 2022-07-12 中国联合网络通信集团有限公司 区块链网络的记账方法及装置
CN111741067B (zh) * 2020-05-20 2022-08-12 广州市格利网络技术有限公司 基于区块链的餐具流通信息管理方法及装置、区块链系统
CN112084201B (zh) * 2020-08-27 2024-04-09 东软集团股份有限公司 分布式账本处理方法和装置、存储介质和电子设备
CN112597538B (zh) * 2020-12-28 2022-07-15 上海万向区块链股份公司 一种基于区块链的可验证投票方法及系统
CN112651835B (zh) * 2020-12-30 2023-05-23 成都佳华物链云科技有限公司 联盟链的交易方法、装置、电子设备及存储介质
CN112887078B (zh) * 2021-02-02 2022-10-14 中国银联股份有限公司 一种编辑区块链中区块的方法及装置
CN113726913B (zh) * 2021-11-04 2022-04-01 中国信息通信研究院 骨干节点接入方法和区块链系统
CN113723962B (zh) * 2021-11-04 2022-02-22 中国信息通信研究院 区块链权限管理方法和区块链系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1650702A3 (en) * 2004-10-19 2009-07-22 Samsung Electronics Co., Ltd. Method and apparatus for electronic commerce using digital ticket to provide anonymity
CN105592098A (zh) * 2016-01-16 2016-05-18 杭州复杂美科技有限公司 区块链上的投票及ca证书的管理方法
CN105591753A (zh) * 2016-01-13 2016-05-18 杭州复杂美科技有限公司 一种ca证书在区块链上的应用方法
CN106130738A (zh) * 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1650702A3 (en) * 2004-10-19 2009-07-22 Samsung Electronics Co., Ltd. Method and apparatus for electronic commerce using digital ticket to provide anonymity
CN105591753A (zh) * 2016-01-13 2016-05-18 杭州复杂美科技有限公司 一种ca证书在区块链上的应用方法
CN105592098A (zh) * 2016-01-16 2016-05-18 杭州复杂美科技有限公司 区块链上的投票及ca证书的管理方法
CN106130738A (zh) * 2016-08-25 2016-11-16 杭州天谷信息科技有限公司 一种支持国密算法的区块链系统

Also Published As

Publication number Publication date
CN106411503A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106411503B (zh) 区块链投票记账模式的记账方法及系统、投票及记账节点
CN110599147B (zh) 一种基于区块链的密文检索公平支付方法及系统
CN109639410B (zh) 基于区块链的数据存证方法及装置、电子设备
CN105701372B (zh) 一种区块链身份构建及验证方法
CN105678182B (zh) 一种数据操作控制的方法及装置
CN110677376B (zh) 认证方法、相关设备和系统及计算机可读存储介质
CN106161372B (zh) 一种基于地址匹配的风险识别方法及装置
CN104065481B (zh) 具有隐私保护的凭证产生及撤销的方法及装置
CN106998252B (zh) 基于云数据库的轻量级rfid群组标签认证方法
US20120324229A1 (en) System and method for generating keyless digital multi-signatures
CN110197082A (zh) 数据处理方法、数据处理装置和计算机系统
CN109815373A (zh) 数据存储的控制方法、装置、服务器及可读存储介质
CN107392618A (zh) 植入智能合约的方法和设备
CN110264200A (zh) 区块链数据处理方法及装置
CN113129518B (zh) 电动车辆充电系统及其资源管理方法
CN112069550B (zh) 一种基于智能合约方式的电子合同存证系统
CN109005538A (zh) 面向无人驾驶车辆与多移动边缘计算服务器间的消息认证方法
CN104580104A (zh) 身份验证的方法、装置及系统
CN110177124A (zh) 基于区块链的身份认证方法及相关设备
CN107330701A (zh) 植入智能合约的方法和设备
CN109936455A (zh) 一种数字签名的方法、装置和系统
CN108768975A (zh) 支持密钥更新和第三方隐私保护的数据完整性验证方法
CN108140099B (zh) 在二进制数据同步协议中交换的更新的签名
CN104361295B (zh) 一种基于云平台的车联网rsu数据查询验证方法
CN104392184A (zh) 一种多级电子文件凭证生成和校验的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant