CN115314351B - 基于可链接环签名和滑动窗口的无抵押秘密选举方法 - Google Patents
基于可链接环签名和滑动窗口的无抵押秘密选举方法 Download PDFInfo
- Publication number
- CN115314351B CN115314351B CN202210884550.9A CN202210884550A CN115314351B CN 115314351 B CN115314351 B CN 115314351B CN 202210884550 A CN202210884550 A CN 202210884550A CN 115314351 B CN115314351 B CN 115314351B
- Authority
- CN
- China
- Prior art keywords
- node
- block
- election
- vote
- public key
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012163 sequencing technique Methods 0.000 claims abstract description 24
- 238000012795 verification Methods 0.000 claims description 37
- 239000000470 constituent Substances 0.000 claims description 2
- 230000006870 function Effects 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000004806 packaging method and process Methods 0.000 description 5
- 241001481828 Glyptocephalus cynoglossus Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 238000009937 brining Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
- H04L9/3255—Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种基于可链接环签名和滑动窗口的无抵押秘密选举方法及装置,其中,方法包括:基于PoW共识和滑动窗口生成多个选举节点组成选举委员会;根据选举委员会的公钥生成公钥环,根据选举节点的私钥、节点标识和公钥环计算选举节点的可链接环签名,并根据可链接环签名和节点标识生成选举节点的选票,验证选票的有效性;根据预设随机数和有效的选票计算选票排序,根据预设节点选取规则在选票排序中选择领导节点。由此,解决了区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾问题。
Description
技术领域
本申请涉及信息安全技术领域,特别涉及一种基于可链接环签名和滑动窗口的无抵押秘密选举方法。
背景技术
区块链是一种去中心化的分布式账本,可以在没有可信的第三方的情况下实现点对点的交易。共识机制是区块链领域的核心技术,共识机制的主要目的是在各个分布式节点中达成一致,具体来说,是对于区块链系统中所产生的区块达成一致,工业界和学术界中采用的共识机制有PoW、PBFT和ByzCoin等。
在共识机制当中,拥有出块的权利的节点通常被成为领导者,区块链领导者的身份的隐蔽性是一个在许多方案中被忽视的问题。区块链领导者的身份如果在出块之前被预知,则可能会导致2个方面的问题,首先是贿赂攻击的问题,Sun、Ruan和Su的研究表明,通过贿赂出块节点,可以提高区块链攻击者双花数字货币的可能性。其次是拒绝服务攻击的问题,通过对于暴露身份的领导者发动拒绝服务攻击,耗尽领导者的网络资源,可以导致领导者无法出块,影响区块链网络正常工作。
现有的方案普遍存在确定性出块和领导者身份的隐蔽性之间的矛盾。
(1)Bitcoin使用的PoW共识机制当中,最早找到使区块哈希值符合要求的临时值(nonce)的节点作为当前的领导者。这种方案中可能出现有多个节点在相近的时间内找到nonce的情况,此时多个节点可能都会出块,导致区块链的分叉问题。分叉问题导致区块中的数据需要等待一定的区块数目才可以被确认,增加了区块链的延迟。
(2)Ouroboros、Algorand等方案中使用VRF进行领导者选举,计算出的VRF满足要求的节点的成为领导者,由于VRF计算的结果存在很强的不确定性,这种方法可能出现1)一轮中的出现不止一个节点被选为领导者,2)没有节点被选为领导者的问题,因此需要使用的更加复杂方案来进行异常处理,拖慢系统的处理速度。
(3)PBFT共识机制中,一个节点作为领导者的时期称为一个视图(View),从一个视图更新到另一个视图的过程称为视图切换(ViewChange)。PBFT使用的领导者切换机制是不进行选举,按照节点的编号依次作为领导者。这种方法的主要缺点是1)领导者切换复杂度高达O(N3),系统的可扩展性差,2)领导者身份可以被预知,存在贿赂攻击或者针对领导者的拒绝服务攻击的问题。
(4)BitcoinNG机制利用滑动窗口机制,将区块分为关键块和微块,关键区块通过PoW机制的来生成,而找到的关键块的节点可以不断继续产生微块,直到可以新的节点产生关键块。该方案的主要缺点是1)产生微块时领导者的身份已经公开,可能导致贿赂攻击或者拒绝服务攻击,2)产生的微块的可能被关键块所代替,区块确认速度偏慢。
发明内容
本申请提供一种基于可链接环签名和滑动窗口的无抵押秘密选举方法及装置,解决了区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾问题。
本申请第一方面实施例提供一种基于可链接环签名和滑动窗口的无抵押秘密选举方法,包括以下步骤:基于PoW共识和滑动窗口生成多个选举节点组成选举委员会;根据所述选举委员会的公钥生成公钥环,根据所述选举节点的私钥、节点标识和所述公钥环计算所述选举节点的可链接环签名,并根据所述可链接环签名和所述节点标识生成所述选举节点的选票,验证所述选票的有效性;根据预设随机数和有效的选票计算选票排序,根据预设节点选取规则在所述选票排序中选择领导节点。
可选地,在本申请的一个实施例中,在根据所述选举节点的私钥、节点标识和所述公钥环计算所述选举节点的可链接环签名之前,还包括:生成所述选举节点的一次性密钥k,利用对称加密算法计算所述选举节点的标识ID=Ek(PK),PK为选举节点的公钥,E为对称加密算法。
可选地,在本申请的一个实施例中,所述验证所述选票的有效性,包括:验证所述可链接环签名中的公钥映像是否存在于当前选举阶段,若是,则所述选票无效,反之,验证所述公钥环中是否存在非所述委员中的公钥,若是,则所述选票无效,反之,验证所述可链接环签名中的签名是否有效,若是,则所述选票有效,反之,所述选票无效。
可选地,在本申请的一个实施例中,所述根据预设节点选取规则在所述选票排序中选择领导节点,包括:存在位置j使得所述选票排序的第j个位置为所述选举节点i的选票,则所述选举节点i为第j个时隙的领导节点。
可选地,在本申请的一个实施例中,在根据预设节点选取规则在所述选票排序中选择领导节点之后,还包括:提取所述领导节点的公钥和一次性密钥,利用所述公钥和所述一次性密钥计算所述领导节点的节点标识,验证所述领导节点的节点标识是否等于所述选票排序的第j个位置的节点标识,若相等,则所述领导节点身份合法,反之,所述领导节点身份不合法。
可选地,在本申请的一个实施例中,所述基于PoW共识和滑动窗口生成多个选举节点组成选举委员会,包括:使用B1,i,j表示当前第一层最长链上的最后一个区块,在收到第二层的对应区块B2,i,j+1(j<s-1)或区块B2,i+1,0(j=s-1)并验证通过后,组装区块,将第一层最长链上的最后一个区块的哈希值、第二层对应的区块的哈希值、B1,i,j的公钥、当前的时间戳打包进区块;通过穷举法计算是否存在临时值使得区块的哈希小于预设阈值;若存在所述临时值,则将区块的哈希加入区块的最后,并广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1),且生成的区块若存在于主链上,则当前时代不再次组装新区块;若接收到其他节点广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1)并验证通过,或者B1,i,j不在第一层的最长链上,则中止当前操作,重新确定当前第一层的最长链上的最后一个区块,并再次开始组装区块的操作,将当前时代第一层最长链出块的节点作为所述选举节点组成所述选举委员会。
本申请第二方面实施例提供一种基于可链接环签名和滑动窗口的无抵押秘密选举装置,包括:委员会生成模块,用于基于PoW共识和滑动窗口生成多个选举节点组成选举委员会;选票生成模块,用于根据所述选举委员会的公钥生成公钥环,根据所述选举节点的私钥、节点标识和所述公钥环计算所述选举节点的可链接环签名,并根据所述可链接环签名和所述节点标识生成所述选举节点的选票,验证所述选票的有效性;选举模块,用于根据预设随机数和有效的选票计算选票排序,根据预设节点选取规则在所述选票排序中选择领导节点。
可选地,在本申请的一个实施例中,所述根据预设节点选取规则在所述选票排序中选择领导节点,包括:存在位置j使得所述选票排序的第j个位置为所述选举节点i的选票,则所述选举节点i为第j个时隙的领导节点。
可选地,在本申请的一个实施例中,在根据预设节点选取规则在所述选票排序中选择领导节点之后,还包括:验证模块,用于提取所述领导节点的公钥和一次性密钥,利用所述公钥和所述一次性密钥计算所述领导节点的节点标识,验证所述领导节点的节点标识是否等于所述选票排序的第j个位置的节点标识,若相等,则所述领导节点身份合法,反之,所述领导节点身份不合法。
可选地,在本申请的一个实施例中,委员会生成模块进一步用于,使用B1,i,j表示当前第一层最长链上的最后一个区块,在收到第二层的对应区块B2,i,j+1(j<s-1)或区块B2,i+1,0(j=s-1)并验证通过后,组装区块,将第一层最长链上的最后一个区块的哈希值、第二层对应的区块的哈希值、B1,i,j的公钥、当前的时间戳打包进区块;通过穷举法计算是否存在临时值使得区块的哈希小于预设阈值;若存在所述临时值,则将区块的哈希加入区块的最后,并广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1),且生成的区块若存在于主链上,则当前时代不再次组装新区块;若接收到其他节点广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1)并验证通过,或者B1,i,j不在第一层的最长链上,则中止当前操作,重新确定当前第一层的最长链上的最后一个区块,并再次开始组装区块的操作,将当前时代第一层最长链出块的节点作为所述选举节点组成所述选举委员会。
本申请的基于可链接环签名和滑动窗口的无抵押秘密选举方法及装置,可以解决区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾,利用PoW和滑动窗口机制解决了区块链中的女巫攻击问题,利用可链接环签名技术解决了竞选中的重复票问题,应用于区块链系统中,可以提高区块链系统的公平性以及可用性,利用时代随机数和哈希函数实现了选举过程中的公平性,在出块之前隐藏领导者避免了贿赂攻击等攻击形式,保证了系统运行时的公平性,将出块前的出块人隐藏在委员会中,大幅增加对于区块链系统进行拒绝服务攻击的难度,提高系统的可用性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种基于可链接环签名和滑动窗口的无抵押秘密选举方法的流程图;
图2为根据本申请实施例提供的一种基于可链接环签名和滑动窗口的无抵押秘密选举方法的工作过程示意图;
图3为根据本申请实施例提供的一种第一层进行委员会选举的过程示意图;
图4为根据本申请实施例提供的基于可链接环签名和滑动窗口的无抵押秘密选举方法的架构图;
图5为根据本申请实施例的基于可链接环签名和滑动窗口的无抵押秘密选举装置的示例图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请主要解决以下技术问题:
(1)区块链出块之前领导者身份暴露导致的拒绝服务攻击问题。如果在区块链一轮的领导者在出块之前身份就已经被其他人所了解到的话,就可能会出现拒绝服务攻击,即攻击者对于领导者发起大量的连接请求,消耗领导者的网络资源或者计算资源,迫使领导者暂时离线,使领导者无法出块,区块链网络卡死。
(2)区块链出块之前领导者身份暴露导致的贿赂攻击问题。领导者的身份在出块之前暴露,恶意节点可能通过贿赂领导者来使得区块的内容对自己有利,发起MEV攻击或审查攻击,破坏区块链网络的公平性。
(3)由于区块链分叉所产生的交易确认慢问题。由于PoW等类型的共识机制会可能会产生分叉,因此新产生的区块可能之后并不在主链上,因此,为了解决交易不在主链上的问题,一般需要等待一段时间,确认交易所在的区块确实在主链上之后,才可以进行确认。这就导致了交易确认缓慢。本申请的方案利用基于PoW的滑动窗口机制建立委员会,在委员会内部基于可链接环签名选举出块人,不会产生分叉问题。
(4)基于抵押的PoS方案中的赢家通吃问题,在PoS方案中,具有越多的代币的参与者在之后被选举为出块人、获得出块奖励的概率越大,因此会导致赢家通吃的问题。本申请的方案利用PoW来选举委员会,委员会中成为出块人的概率相同,不会导致赢家通吃的问题。
下面参考附图描述本申请实施例的基于可链接环签名和滑动窗口的无抵押秘密选举方法及装置。针对上述背景技术中心提到的问题,本申请提供了一种基于可链接环签名和滑动窗口的无抵押秘密选举方法,在该方法中,解决了领导者身份的隐蔽和区块链的确定性出块不分叉之间的矛盾,并且避免了出块过程中赢家通吃的问题。在领导者出块之前,其他节点无法确定领导者的身份,而且同时可以保证领导者的身份的唯一性,不会在同一轮中出现2个或以上的领导者,从而保证了区块链不分叉的性质。
在本申请的实施例中,系统分为2层结构,其中第一层是委员会产生层,利用PoW共识来产生出块的委员会,第二层是委员会层,该层使用确定性的共识来打包交易,生成区块,本申请秘密选举方法选举的是第二层的领导者。系统生成2种类型的区块,第一种是第一层产生的工作量证明区块,用来进行委员会选举,第二种是第二层产生的正式区块,用来打包交易。系统的运行分为时代(epoch)进行,epoch具有从0开始的唯一的编号,使用ei表示第i个epoch。一个时代中存在s个时隙(slot),每个时隙中的存在一个第二层领导者,出一个第二层区块。使用Bl,i,j表示系统的第l层在epoch i,slot j的区块。
进一步地,系统假设每个slot中存在一个领导者,出一个块,此处也可以为slot中有一个领导者,出k(k≥1)个块。
本申请的实施例以对于第二层em中的各个slot的领导者进行选举的过程进行说明。
具体而言,图1为根据本申请实施例所提供的一种基于可链接环签名和滑动窗口的无抵押秘密选举方法的流程示意图。
如图1所示,该基于可链接环签名和滑动窗口的无抵押秘密选举方法包括以下步骤:
在步骤S101中,基于PoW共识和滑动窗口生成多个选举节点组成选举委员会。
滑动窗口是一种常见的网络协议设计技术,系统维护滑动窗口的两个端点,位于滑动窗口中的内容处于活动状态。本发明将滑动窗口技术应用于的区块链领导者的选举当中,将一定的区块高度作为滑动窗口,在一定高度的PoW链中生成过区块的节点作为区块链领导者的候选人。
具体地,首先进行委员会的产生,如图2所示。在epoch em-3中,第一层的节点通过计算PoW来生成第一层区块,其中,区块B1,m-3,j中应当包含区块B1,m-3,j-1的哈希值、B2,m-3,j的哈希值和出块人的公钥PK,其中如果j=0,那么B1,m-3,-1表示第一层epoch m-4中的最后一个区块,如果第二层在epoch m-3 slot j中超时,没有节点出块,那么B2,m-3,j记为全0串,所有在epoch em-3中第一层出块的节点成为epoch em的委员会,记为COMMm。具体的过程详见图3。
可选地,在本申请的一个实施例中,基于PoW共识和滑动窗口生成多个选举节点组成选举委员会,包括:使用B1,i,j表示当前第一层最长链上的最后一个区块,在收到第二层的对应区块B2,i,j+1(j<s-1)或区块B2,i+1,0(j=s-1)并验证通过后,组装区块,将第一层最长链上的最后一个区块的哈希值、第二层对应的区块的哈希值、B1,i,j的公钥、当前的时间戳打包进区块;通过穷举法计算是否存在临时值使得区块的哈希小于预设阈值;若存在临时值,则将区块的哈希加入区块的最后,并广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1,且生成的区块若存在于主链上,则当前时代不再次组装新区块;若接收到其他节点广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1)并验证通过,或者B1,i,j不在第一层的最长链上,则中止当前操作,重新确定当前第一层的最长链上的最后一个区块,并再次开始组装区块的操作,将当前时代第一层最长链出块的节点作为选举节点组成选举委员会。
在步骤S102中,根据选举委员会的公钥生成公钥环,根据选举节点的私钥、节点标识和公钥环计算选举节点的可链接环签名,并根据可链接环签名和节点标识生成选举节点的选票,验证选票的有效性。
可选地,在本申请的一个实施例中,在根据选举节点的私钥、节点标识和公钥环计算选举节点的可链接环签名之前,还包括:生成选举节点的一次性密钥k,利用对称加密算法计算选举节点的标识ID=Ek(PK),PK为选举节点的公钥,E为对称加密算法。
在时代em-2中,首先等待第一层产生前10个slot的区块,来确保第一层epoch em-3中的区块已经固定,不会由于分叉而被修改。之后,在epoch em的委员会(COMMm)中的节点i生成一次性密钥k,计算IDi=Ek(PKi),其中E是一个对称加密算法,节点自行选择公钥列表ringi={PK|PK∈COMMm}∪{PKi},计算可链接环签名,σi=RingSig(IDi,ringi,SKi),σi中至少应该包括签名si,公钥映像Ii,以及环签名使用的环ringi,节点匿名公布选票(σi,IDi)。
进一步地,等待的时间不一定是10个区块,也可以更少或更多,E不限于使用AES算法,可以是任意一种对称密码算法。RingSig不一定是CryptoNote中的可链接环签名算法,可以是任意一种可链接环签名算法。
可选地,在本申请的一个实施例中,验证选票的有效性,包括:验证可链接环签名中的公钥映像是否存在于当前选举阶段,若是,则选票无效,反之,验证公钥环中是否存在非委员中的公钥,若是,则选票无效,反之,验证可链接环签名中的签名是否有效,若是,则选票有效,反之,选票无效。
第二层的领导者收到选票之后,验证:1)si是对于IDi的有效的签名;2)ringi中的每一个PK都在COMMm中;3)Ii之前没有被上链过。如果验证通过,则将直接选票上链,否则将选票是上链,并标记为无效。
在步骤S103中,根据预设随机数和有效的选票计算选票排序,根据预设节点选取规则在选票排序中选择领导节点。
时代em-1的随机数rm-1定义为:
rm-1=H(m-1,PKm-2,0,PKm-2,1,…,PKm-2,s-1),其中,PKm-2,j是em-2中第二层第j个slot的领导者的公钥,如果该slot中没有节点生成区块,PKm-2,j使用一个全0串代替。
时代随机数rm-1的生成不一定使用哈希函数,也可以使用随机数生成器,序列密码算法或者可验证随机函数等可验证的随机数生成方法。
时代em-1中第二层第一个出块的节点利用时代em-1的时代随机数rm-1和所有的选票计算orderi=H(σi,IDi,rm),其中H是密码学哈希函数,并按照order从小到大的顺序对于所有的(order,σi,IDi)进行排序,将排序的结果上链,此处排序的结果的前s项(s为一个epoch中的slot)的个数就是em中的s个领导者。其中,对于order的排序不一定是从小到大,也可以是从大到小或者任何一种确定性的排序方法。
可选地,在本申请的一个实施例中,根据预设节点选取规则在选票排序中选择领导节点,包括:存在位置j使得选票排序的第j个位置为选举节点i的选票,则选举节点i为第j个时隙的领导节点。
在时代em中,对于节点i来说,如果存在一个位置j使得排序结果的第j个位置是自己产生的选票σi,说明自己被选为第j个slot的领导者。此时,节点i在em的slotj中可以生成一个第二层区块B2,m,j,并在其中包含自己生成选票时使用的一次性密钥k和自己的公钥PKi作为领导者的身份证明。
可选地,在本申请的一个实施例中,在根据预设节点选取规则在选票排序中选择领导节点之后,还包括:其他节点收到区块B2,m,j后,从区块中提取领导节点的一次性密钥k和公钥PK,利用公钥和一次性密钥计算领导节点的节点标识,验证领导节点的节点标识是否等于选票排序的第j个位置的节点标识(验证Ek(PKi)是否等于排序结果中的第j个位置的ID),若相等,则领导节点身份合法,反之,领导节点身份不合法,丢弃区块。
下面通过一个具体实施例介绍本申请实施例的基于可链接环签名和滑动窗口的无抵押秘密选举的实现系统。
如图4所示,主要包含有6个模块,分别是PoW模块、第一层区块验证模块、竞选模块、选票验证模块、第二层区块生成模块和第二层区块验证模块。
a、PoW模块
PoW模块用来生成第一层的区块,竞选进入委员会。PoW模块主要进行以下操作:
(1)组装区块:使用B1,i,j表示当前第一层最长链上的最后一个区块,当收到第二层的对应区块B2,i,j+1(j<s-1)或区块B2,i+1,0(j=s-1)并验证通过后,组装区块,将第一层最长链上的最后一个区块的哈希、第二层对应的区块的哈希、自己的公钥、当前的时间戳打包进区块。
(2)生成工作量证明:通过穷举法寻找一个临时值,使得区块的哈希小于指定的阈值。
(3)如果找到符合要求的临时值,就将区块的哈希加入区块的最后,并广播区块B1,i,i+1(j<s-1)或区块B1,i+1,0(j=s-1),且产生的区块如果还在主链上,当前epoch就不再进行组装区块的操作。
(4)如果在找到符合要求的临时值之前,已经有其他节点广播了区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1)并验证通过,或者B1,i,j由于分叉已经不在第一层的最长链上,那么中止当前操作,重新确定当前第一层的最长链上的最后一个区块,并回到(1)。
b、第一层区块验证模块
区块验证模块的工作流程如下:
对于收到的区块B1,i,j
(1)验证区块的出块人的公钥是否在第一层同一个epoch的同一个分叉中已经出过块,如是,则抛弃当前区块。
(2)验证区块的哈希是否是正确且满足阈值要求,如果不是,则抛弃区块。
(3)验证当前区块的产生是不是在最长链上,如果区块不在最长链上且与最长链的分叉点超过10个区块,则抛弃区块。
(4)保存区块,如果区块在最长链上或者由于该区块使最长链发生改变,那么通知PoW模块。
c、竞选模块
竞选模块需要完成秘密选举使用的选票的生成工作,具体的工作流程如下,假设当前是epoch m。
1)验证本节点是否在COMMm中,COMMm表示epoch m-1的第一层主链上生成过区块的节点,如不在,则说明不能进行竞选,流程结束。
2)从COMMm中读取除自己外的n-1个公钥,连同自己的公钥构成可链接环签名使用的公钥环ring。
3)生成一次性密钥k,计算ID=Ek(PK),其中E表示AES算法,PK表示节点的公钥,可链接环签名σ=RingSig(ID,ring,SK),其中RingSig表示CryptoNote中的可链接环签名算法,SK表示节点的私钥。σ中至少应该包括签名s,公钥映像I,以及环签名使用的环ring。
4)广播选票(ID,σ)。
d、选票验证模块
选票验证模块对于选票进行以下验证,假设当前为epoch m
1)取出签名σ中的公钥映像I,判断公钥映像I是否在当前epoch已经出现过,若出现过,返回无效。
2)取出签名σ中的公钥环ring,判断是否其中的每一个公钥都在COMMm中,若不是,返回无效。
3)取出签名σ中的签名部分s,调用可链接环签名验证算法验证签名是否有效,若有效返回有效,否则返回无效。
e、第二层区块生成模块
第二层区块生成模块需要在普通的区块链区块生成的基础上增加3项功能,分别是选票收集与验证、选票排序和领导者身份证明。
选票收集与验证功能首先收集的其他节点发送的选票,对于其中验证有效的选票直接加入区块中,无效的选票加入区块并标记为无效。
选票排序功能仅在该领导者是epoch中的第一个出块人时调用,对于上一个epoch中收集到的选票进行排序,将排序结果附加到区块中。
领导者身份证明功能将节点使用的一次性密钥k和公钥PK附加在区块中,作为领导者的身份证明。
f、第二层区块验证模块
区块验证模块的工作流程如下:
对于epoch em中收到第j个区块B2,m,j:
1)从区块中取出k和PK,根据epoch em-1中的第一个区块中的排序结果的第j位中的ID,验证Ek(PK)是否等于ID,若不等,说明出块人不是该slot的领导者,抛弃区块。
2)对于区块中包含的每个选票,验证选票是否有效,若存在无效选票,抛弃区块。
3)如果此区块是em中的第一个区块,若其中不包含对于em-1中的选票的排序,则抛弃区块。否则取出排序结果,对结果中的每个(order,σ,ID),验证order是否等于H(σ,ID,rm),如存在不等的,则抛弃区块,否则验证order是否递增排序,若不是,说明排序有误,抛弃区块。
4)使用原有的区块验证模块验证区块内容是否有效,若无效,抛弃区块,否则区块有效,执行区块内容。
根据本申请实施例提出的基于可链接环签名和滑动窗口的无抵押秘密选举方法,可以解决区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾,利用PoW和滑动窗口机制解决了区块链中的女巫攻击问题,利用可链接环签名技术解决了竞选中的重复票问题,应用于区块链系统中,可以提高区块链系统的公平性以及可用性,利用时代随机数和哈希函数实现了选举过程中的公平性,在出块之前隐藏领导者避免了贿赂攻击等攻击形式,保证了系统运行时的公平性,将出块前的出块人隐藏在委员会中,大幅增加对于区块链系统进行拒绝服务攻击的难度,提高系统的可用性。
其次参照附图描述根据本申请实施例提出的基于可链接环签名和滑动窗口的无抵押秘密选举装置。
图5为根据本申请实施例的基于可链接环签名和滑动窗口的无抵押秘密选举装置的示例图。
如图5示,该基于可链接环签名和滑动窗口的无抵押秘密选举装置10包括:委员会生成模块100、选票生成模块200和选举模块300。
其中,委员会生成模块100,用于基于PoW共识和滑动窗口生成多个选举节点组成选举委员会。选票生成模块200,用于根据选举委员会的公钥生成公钥环,根据选举节点的私钥、节点标识和公钥环计算选举节点的可链接环签名,并根据可链接环签名和节点标识生成选举节点的选票,验证选票的有效性。选举模块300,用于根据预设随机数和有效的选票计算选票排序,根据预设节点选取规则在选票排序中选择领导节点。
可选地,在本申请的一个实施例中,根据预设节点选取规则在选票排序中选择领导节点,包括:存在位置j使得选票排序的第j个位置为选举节点i的选票,则选举节点i为第j个时隙的领导节点。
可选地,在本申请的一个实施例中,在根据预设节点选取规则在选票排序中选择领导节点之后,还包括:验证模块,用于提取领导节点的公钥和一次性密钥,利用公钥和一次性密钥计算领导节点的节点标识,验证领导节点的节点标识是否等于选票排序的第j个位置的节点标识,若相等,则领导节点身份合法,反之,领导节点身份不合法。
可选地,在本申请的一个实施例中,委员会生成模块进一步用于,使用B1,i,j表示当前第一层最长链上的最后一个区块,在收到第二层的对应区块B2,i,j+1(j<s-1)或区块B2,i+1,0(j=s-1)并验证通过后,组装区块,将第一层最长链上的最后一个区块的哈希值、第二层对应的区块的哈希值、B1,i,j的公钥、当前的时间戳打包进区块;通过穷举法计算是否存在临时值使得区块的哈希小于预设阈值;若存在临时值,则将区块的哈希加入区块的最后,并广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1),且生成的区块若存在于主链上,则当前时代不再次组装新区块;若接收到其他节点广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1)并验证通过,或者B1,i,j不在第一层的最长链上,则中止当前操作,重新确定当前第一层的最长链上的最后一个区块,并再次开始组装区块的操作,将当前时代第一层最长链出块的节点作为选举节点组成选举委员会。
可选地,在本申请的一个实施例中,在根据选举节点的私钥、节点标识和公钥环计算选举节点的可链接环签名之前,还包括:
生成模块,用于生成选举节点的一次性密钥k,利用对称加密算法计算选举节点的标识ID=Ek(PK),PK为选举节点的公钥,E为对称加密算法。
可选地,在本申请的一个实施例中,验证选票的有效性,包括:
验证接环签名中的公钥映像是否存在于当前选举阶段,若是,则选票无效,反之,验证公钥环中是否存在非委员中的公钥,若是,则选票无效,反之,验证可链接环签名中的签名是否有效,若是,则选票有效,反之,选票无效。
在本申请的实施例中,委员会生成模块可以包括上述实施例中PoW模块和第一层区块验证模块的功能。选票生成模块可以包括上述实施例中的竞选模块和选票验证模块的功能。选举模块可以包括上述实施例的第二层区块生成模块的功能。验证模块可以包括上述实施例的第二层区块验证模块的功能。
需要说明的是,前述对基于可链接环签名和滑动窗口的无抵押秘密选举方法实施例的解释说明也适用于该实施例的基于可链接环签名和滑动窗口的无抵押秘密选举装置,此处不再赘述。
根据本申请实施例提出的基于可链接环签名和滑动窗口的无抵押秘密选举装置,可以解决区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾,利用PoW和滑动窗口机制解决了区块链中的女巫攻击问题,利用可链接环签名技术解决了竞选中的重复票问题,应用于区块链系统中,可以提高区块链系统的公平性以及可用性,利用时代随机数和哈希函数实现了选举过程中的公平性,在出块之前隐藏领导者避免了贿赂攻击等攻击形式,保证了系统运行时的公平性,将出块前的出块人隐藏在委员会中,大幅增加对于区块链系统进行拒绝服务攻击的难度,提高系统的可用性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
Claims (10)
1.一种基于可链接环签名和滑动窗口的无抵押秘密选举方法,其特征在于,包括以下步骤:
基于Pow共识和滑动窗口生成多个选举节点组成选举委员会;
根据所述选举委员会的公钥生成公钥环,根据所述选举节点的私钥、节点标识和所述公钥环计算所述选举节点的可链接环签名,并根据所述可链接环签名和所述节点标识生成所述选举节点的选票,验证所述选票的有效性;
根据预设随机数和有效的选票计算选票排序,根据预设节点选取规则在所述选票排序中选择领导节点。
2.根据权利要求1所述的方法,其特征在于,在根据所述选举节点的私钥、节点标识和所述公钥环计算所述选举节点的可链接环签名之前,还包括:
生成所述选举节点的一次性密钥k,利用对称加密算法计算所述选举节点的标识ID=Ek(PK),PK为选举节点的公钥,E为对称加密算法。
3.根据权利要求1所述的方法,其特征在于,所述验证所述选票的有效性,包括:
验证所述可链接环签名中的公钥映像是否存在于当前选举阶段,若是,则所述选票无效,反之,验证所述公钥环中是否存在非所述委员中的公钥,若是,则所述选票无效,反之,验证所述可链接环签名中的签名是否有效,若是,则所述选票有效,反之,所述选票无效。
4.根据权利要求1所述的方法,其特征在于,所述根据预设节点选取规则在所述选票排序中选择领导节点,包括:
存在位置j使得所述选票排序的第j个位置为所述选举节点i的选票,则所述选举节点i为第j个时隙的领导节点。
5.根据权利要求2所述的方法,其特征在于,在根据预设节点选取规则在所述选票排序中选择领导节点之后,还包括:
提取所述领导节点的公钥和一次性密钥,利用所述公钥和所述一次性密钥计算所述领导节点的节点标识,验证所述领导节点的节点标识是否等于所述选票排序的第j个位置的节点标识,若相等,则所述领导节点身份合法,反之,所述领导节点身份不合法。
6.根据权利要求1所述的方法,其特征在于,所述基于Pow共识和滑动窗口生成多个选举节点组成选举委员会,包括:
使用B1,i,j表示当前第一层在第i个时代的第j个时隙中产生的区块,其中,一个时代具有s个时隙,如果j<s-1,则第二层区块中当前时代的后续区块为B2,i,j+1,如果j=s-1,则所述第二层区块为下一个时代的第一个区块B2,i+1,0,在收到所述B2,i,j+1(j<s-1)或所述B2,i+1,0(j=s-1)并验证通过后,组装区块,将所述B2,i,j+1(j<s-1)的哈希值或所述B2,i+1,0(j=s-1)的哈希值、B1,i,j出块节点的公钥、当前的时间戳打包进区块;
通过穷举法计算是否存在临时值使得区块的哈希小于预设阈值;
若存在所述临时值,则将区块的哈希加入区块的最后,并广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1),且生成的区块若存在于主链上,则所述当前时代不再次组装新区块;
若接收到其他节点广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1)并验证通过,或者B1,i,j不在第一层的最长链上,则中止当前操作,重新确定所述B1,i,j,并再次开始组装区块的操作,将所述B1,i,j的节点作为所述选举节点组成所述选举委员会。
7.一种基于可链接环签名和滑动窗口的无抵押秘密选举装置,其特征在于,包括:
委员会生成模块,用于基于Pow共识和滑动窗口生成多个选举节点组成选举委员会;
选票生成模块,用于根据所述选举委员会的公钥生成公钥环,根据所述选举节点的私钥、节点标识和所述公钥环计算所述选举节点的可链接环签名,并根据所述可链接环签名和所述节点标识生成所述选举节点的选票,验证所述选票的有效性;
选举模块,用于根据预设随机数和有效的选票计算选票排序,根据预设节点选取规则在所述选票排序中选择领导节点。
8.根据权利要求7所述的装置,其特征在于,所述根据预设节点选取规则在所述选票排序中选择领导节点,包括:
存在位置j使得所述选票排序的第j个位置为所述选举节点i的选票,则所述选举节点i为第j个时隙的领导节点。
9.根据权利要求7所述的装置,其特征在于,在根据预设节点选取规则在所述选票排序中选择领导节点之后,还包括:
验证模块,用于提取所述领导节点的公钥和一次性密钥,利用所述公钥和所述一次性密钥计算所述领导节点的节点标识,验证所述领导节点的节点标识是否等于所述选票排序的第j个位置的节点标识,若相等,则所述领导节点身份合法,反之,所述领导节点身份不合法。
10.根据权利要求7所述的装置,其特征在于,委员会生成模块进一步用于,
使用B1,i,j表示当前第一层在第i个时代的第j个时隙中产生的区块,其中,一个时代具有s个时隙,如果j<s-1,则第二层区块中当前时代的后续区块为B2,i,j+1,如果j=s-1,则所述第二层区块为下一个时代的第一个区块B2,i+1,0,在收到所述B2,i,j+1(j<s-1)或所述B2,i+1,0(j=s-1)并验证通过后,组装区块,将所述B2,i,j+1(j<s-1)的哈希值或所述B2,i+1,0(j=s-1)的哈希值、B1,i,j出块节点的公钥、当前的时间戳打包进区块;
通过穷举法计算是否存在临时值使得区块的哈希小于预设阈值;
若存在所述临时值,则将区块的哈希加入区块的最后,并广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1),且生成的区块若存在于主链上,则所述当前时代不再次组装新区块;
若接收到其他节点广播区块B1,i,j+1(j<s-1)或区块B1,i+1,0(j=s-1)并验证通过,或者B1,i,j不在第一层的最长链上,则中止当前操作,重新确定所述B1,i,j,并再次开始组装区块的操作,将所述B1,i,j的节点作为所述选举节点组成所述选举委员会。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210884550.9A CN115314351B (zh) | 2022-07-25 | 2022-07-25 | 基于可链接环签名和滑动窗口的无抵押秘密选举方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210884550.9A CN115314351B (zh) | 2022-07-25 | 2022-07-25 | 基于可链接环签名和滑动窗口的无抵押秘密选举方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115314351A CN115314351A (zh) | 2022-11-08 |
CN115314351B true CN115314351B (zh) | 2024-02-02 |
Family
ID=83858364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210884550.9A Active CN115314351B (zh) | 2022-07-25 | 2022-07-25 | 基于可链接环签名和滑动窗口的无抵押秘密选举方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115314351B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779704A (zh) * | 2016-12-06 | 2017-05-31 | 杭州趣链科技有限公司 | 一种基于环签名的区块链匿名交易方法 |
CN109360100A (zh) * | 2018-11-13 | 2019-02-19 | 北京航空航天大学 | 基于区块链技术的交易快速确认方法及装置 |
CN111583498A (zh) * | 2020-05-29 | 2020-08-25 | 深圳市网心科技有限公司 | 一种基于区块链的电子投票方法、系统、设备及存储介质 |
WO2021093244A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳市网心科技有限公司 | 随机数生成方法、区块链节点、系统及介质 |
CN113225189A (zh) * | 2021-01-05 | 2021-08-06 | 上海能链众合科技有限公司 | 一种基于量子抗性的环形保密业务方法 |
CN114615281A (zh) * | 2022-03-07 | 2022-06-10 | 中国科学院软件研究所 | 基于小规模委员会的区块链出块方法及PoS协议确认方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411976B2 (en) * | 2006-12-01 | 2016-08-09 | Maidsafe Foundation | Communication system and method |
WO2019109003A1 (en) * | 2017-11-30 | 2019-06-06 | Visa International Service Association | Blockchain system for confidential and anonymous smart contracts |
US11488433B2 (en) * | 2018-01-11 | 2022-11-01 | Mastercard International Incorporated | Method and system for public elections on a moderated blockchain |
-
2022
- 2022-07-25 CN CN202210884550.9A patent/CN115314351B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779704A (zh) * | 2016-12-06 | 2017-05-31 | 杭州趣链科技有限公司 | 一种基于环签名的区块链匿名交易方法 |
CN109360100A (zh) * | 2018-11-13 | 2019-02-19 | 北京航空航天大学 | 基于区块链技术的交易快速确认方法及装置 |
WO2021093244A1 (zh) * | 2019-11-14 | 2021-05-20 | 深圳市网心科技有限公司 | 随机数生成方法、区块链节点、系统及介质 |
CN111583498A (zh) * | 2020-05-29 | 2020-08-25 | 深圳市网心科技有限公司 | 一种基于区块链的电子投票方法、系统、设备及存储介质 |
CN113225189A (zh) * | 2021-01-05 | 2021-08-06 | 上海能链众合科技有限公司 | 一种基于量子抗性的环形保密业务方法 |
CN114615281A (zh) * | 2022-03-07 | 2022-06-10 | 中国科学院软件研究所 | 基于小规模委员会的区块链出块方法及PoS协议确认方法 |
Non-Patent Citations (2)
Title |
---|
基于联盟链的匿名电子投票方案;于天娇;曹春杰;王隆娟;许蕾;;网络空间安全(12);全文 * |
融合可链接环签密的智能合约电子投票协议;王杰昌;《计算机工程》;第48卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115314351A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230171098A1 (en) | Computer-implemented system and method for time release encryption over a blockchain network | |
Zamani et al. | Rapidchain: Scaling blockchain via full sharding | |
Miller et al. | The honey badger of BFT protocols | |
KR102409819B1 (ko) | 분산 거래 전파 및 검증 시스템 | |
WO2020133326A1 (zh) | 区块链生成方法、系统、计算机存储介质和电子设备 | |
Damgård et al. | Unclonable group identification | |
CN113301114B (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
JP7112518B2 (ja) | 代表ノード機器の選出方法並びにその、装置、コンピュータ機器及びコンピュータプログラム | |
Sun et al. | Rtchain: A reputation system with transaction and consensus incentives for e-commerce blockchain | |
Chen et al. | DEXON: a highly scalable, decentralized DAG-based consensus algorithm | |
CN110867012A (zh) | 一种基于智能合约的去中心电子投票方法、装置、系统及存储介质 | |
Liu et al. | Fail-safe watchtowers and short-lived assertions for payment channels | |
US20220278854A1 (en) | Unity Protocol Consensus | |
Mihaljevic | A blockchain consensus protocol based on dedicated time-memory-data trade-off | |
CN115314351B (zh) | 基于可链接环签名和滑动窗口的无抵押秘密选举方法 | |
CN115643047A (zh) | 一种基于诚信奖励的区块链身份认证方法 | |
CN112907246B (zh) | 基于BFT协议和PoW机制的区块链共识协议实现方法和系统 | |
CN116934239A (zh) | 流程管控的数据处理方法、装置 | |
CN115314352B (zh) | 隐私增强的公平区块链领导者选举方法及装置 | |
CN115580442B (zh) | 多链区块链领导者隐蔽选举方法及装置 | |
CN113678398A (zh) | 具有能量的特征为动力的区块链 | |
EP3333811B1 (en) | Method and system for generating winning numbers | |
CN115442044A (zh) | 基于可链接环签名的高效秘密选举方法及装置 | |
Beaver et al. | STROBE: Streaming Threshold Random Beacons | |
Dziembowski et al. | Individual Cryptography |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |