CN112262422A - 区块链网络及用于其的确定方法 - Google Patents

区块链网络及用于其的确定方法 Download PDF

Info

Publication number
CN112262422A
CN112262422A CN201980038788.6A CN201980038788A CN112262422A CN 112262422 A CN112262422 A CN 112262422A CN 201980038788 A CN201980038788 A CN 201980038788A CN 112262422 A CN112262422 A CN 112262422A
Authority
CN
China
Prior art keywords
node
block
ltoreq
nodes
formula
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
Application number
CN201980038788.6A
Other languages
English (en)
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.)
BitFlyer Blockchain Inc
Original Assignee
BitFlyer Blockchain Inc
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 BitFlyer Blockchain Inc filed Critical BitFlyer Blockchain Inc
Publication of CN112262422A publication Critical patent/CN112262422A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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/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
    • H04L9/0866Generation 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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
    • 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
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

在与区块的选择有关的共识形成需要多个节点的签名的区块链网络中,降低与形成了共识的区块有关的签名处理的复杂度。在完成建立之后,第一节点(110)将包括所生成的区块的第一消息发送到N个节点(S301)。各节点基于共识形成的规则,评价该区块的有效性(S302)。在有效的情况下,该节点向各节点发送具有签名(si)的第二消息,该签名是针对基于私钥份额f(xi)的共识形成对象的区块的哈希值h的签名(S303‑1)。当在第j个节点上聚集了k个签名之后,该节点合成这些签名并生成对应于公钥(PK)的签名(S304)。共识形成对象的区块被附加签名(SK·h)而追加到各节点的区块链中(S306)。

Description

区块链网络及用于其的确定方法
技术领域
本发明涉及一种区块链网络及用于该区块链网络的确定方法,更详细地说,涉及一种在与区块的选择有关的共识形成中需要多个节点的签名的区块链网络以及用于该区块链网络的该选择的确定方法。
背景技术
作为能够代替以往的基于中央集权性的第三方机关的授信机制的技术,区块链受到关注。被称为“区块”的数据单位被提供给参与到针对该区块的共识形成的多个节点,在各个节点中评价(evaluate)该区块的有效性(validity)。通过满足规定条件,各节点从多个有可能的区块中判定对该区块形成了选择的共识(consensus)而接受该区块。更具体地,该区块被追加到各节点所具有的区块链中。由任一节点对各节点提供成为共识形成对象的区块。
这里,以怎样的步骤形成共识、或者将什么作为用于共识形成的规定条件这样的共识算法决定区块链网络的可靠性和性能。根据共识算法,例如因通信状况、供电等物理原因而导致无法正常工作的故障(也被称为“良性故障(benign failure)”。)的允许数量不同,另外,不遵循共识算法中定义的规定规则这样的任意的一切故障(也被称为“拜占庭故障(Byzantine failure)”。)的允许数量不同。作为某个节点不遵循规定规则的情况,除了物理上的理由之外,还可以举出存在对该节点的非法访问的情况、该节点的管理者自身有非法意图的情况等。
作为共识算法的一例,可以举出需要参与共识形成的N个(N为2以上的整数)节点中的k个(k为满足2≤k≤N的整数)节点的签名的算法。如果考虑N=5、k=3的例子,这意味着需要参与共识形成的节点中的过半数节点的签名。然后,为了表示共识形成完毕并对于共识形成对象的区块确定了选择该区块,需要附加k个以上的签名作为依据。
发明内容
发明要解决的问题
然而,根据N和k的值的不同,能够使k个节点的签名满足该共识算法中的规定条件的节点的组合可以想到许多,这可能对于形成了共识的区块而言使签名处理变得复杂。因为例如为了事后验证(verify)某个区块的签名,必须单独地确认附加到该区块的多个签名是否满足规定的条件。
本发明鉴于这样的问题而做出,其目的在于,在与区块的选择有关的共识形成需要多个节点的签名的区块链网络以及用于该区块链网络的该选择的确定方法中,降低与形成了共识的区块有关的签名处理的复杂度。
用于解决问题的技术手段
为了实现这样的目的,本发明的第一方式是一种用于区块链网络的密钥生成方法,在所述区块链网络中,N个节点参与到与区块的选择有关的共识形成并需要k个节点的签名,其中,N是2以上的整数,k是满足2≤k≤N的整数,该方法的特征在于,第i个节点包括:决定式(1)所表示的(k-1)次多项式fi(x)的步骤;从第j个节点接收fj(xi)以及0到k-1的各m中的ajm·g1的值的步骤,其中,j是满足1≤j≤N的整数,xi是被提供给第i个节点的整数,g1是循环群G1的生成元;在(k-1)次多项式f(x)未知的状态下算出式(2)所表示的SKi的步骤;以及算出式(3)所表示的PKi的步骤,其中,i是满足1≤i≤N的整数。
[式1]
Figure BDA0002829730380000021
[式2]
Figure BDA0002829730380000031
[式3]
Figure BDA0002829730380000032
另外,本发明的第二方式的特征在于,在第一方式中,还包括从第j个节点接收PKj的步骤。
另外,本发明的第三方式的特征在于,在第一方式中,还包括针对第j个节点算出PKj的步骤。
另外,本发明的第四方式的特征在于,在第二或第三方式中,还包括根据与k个节点有关的坐标(xj,PKj)算出f(0)·g1的步骤。
另外,本发明的第五方式的特征在于,在第四方式中,f(0)·g1的计算使用拉格朗日插值进行。
另外,本发明的第六方式的特征在于,在第四或第五方式中,还包括将计算出的所述f(0)·g1作为公钥PK发送的步骤。
另外,本发明的第七方式的特征在于,在第六方式中,所述发送包括所述公钥PK向所述区块链网络外的发送。
另外,本发明的第八方式是一种用于区块链网络的选择的确定方法,所述区块链网络中,N个节点参与到与区块的所述选择有关的共识形成并需要k个节点的签名,其中,N是2以上的整数,k是满足2≤k≤N的整数,其特征在于,第i个节点包括:向所述N个节点发送区块的步骤;从第j个节点接收将所述区块的哈希值h与未知的(k-1)次多项式f(x)的x=xj时的值即f(xj)相乘而得的签名sj的步骤,其中,j是满足1≤j≤N的整数;根据与k个节点有关的坐标(xj,sj)算出f(0)·h的步骤;将算出的f(0)·h作为与公钥对应的签名附加到所述区块的步骤;以及将被附加所述签名的所述区块追加到区块链中,确定所述区块的所述选择的步骤,其中,i是满足1≤i≤N的整数。这里,G1是以g1为生成元的循环群,G2是以g2为生成元的循环群,GT是以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,可以将提供共识形成对象的区块的所述哈希值h的哈希函数定义为从任意的数据向循环群G2的映射。此外,第i个节点能够访问1到N的各j中的xj的值,第j个节点能够访问f(xj)的值。
另外,本发明的第九方式的特征在于,在第八方式中,f(0)·h的计算使用拉格朗日插值进行。
另外,本发明的第十方式的特征在于,在第八或第九方式中,判定是否具有k个以上的签名,在判定结果为肯定的情况下,执行所述f(0)·h的计算。
发明效果
根据本发明的一个方式,能够通过使用N个的一组私钥份额(秘密鍵シェア)中的规定数量k个的私钥份额的签名,来生成未知的私钥的签名,由此通过单一的签名来表示已经达成了与区块的选择有关的共识。
附图说明
图1是表示本发明的第一实施方式中的区块链网络的图。
图2是本发明的第一实施方式中的密钥生成方法的流程图。
图3是本发明的第二实施方式中的与区块的选择有关的确定方法的流程图。
具体实施方式
以下,参照附图详细说明本发明的实施方式。
(第一实施方式)
图1表示本发明的第一实施方式的区块链网络。网络100例如将N设为5,具有第一节点110、第二节点120、第三节点130、第四节点140以及第五节点150。如针对第一节点110所图示,各节点是具备通信接口等通信部111、处理器、CPU等处理部112、以及包括存储器、硬盘等存储装置或存储介质的存储部113的计算机,并且能够通过执行规定的程序来实现以下说明的各处理,该节点110有时包括一个或多个的装置或服务器,另外,该程序有时包括一个或多个程序,并且可以记录在计算机可读存储介质中作为非临时性的程序产品。关于其他的节点,其硬件结构也相同。以下,以第一节点110为中心进行说明,但在其他节点中也可以进行相同的处理。另外,有时网络100中也包含不参与共识形成的节点。
在规定的程序中,规定了与共识算法有关的规则以及与建立(セットアップ)有关的规则,可以预先存储在能够由存储部113或第一节点110经由网络访问的存储装置或存储介质中。
将为了使参与共识形成的N个节点从能够相互通信的状态转移到能够执行与区块的选择有关的共识形成的状态而应该执行的过程称为“建立”。当在网络100的外部或内部接收到建立的请求时,开始建立,在图1中示出了从外部发送该请求的例子。该请求可以包括共识形成所需的签名数量k,还可以预先在与建立有关的规则中定义。另外,该请求可以包括对参与共识形成的N个节点的指定,该指定还可以预先在与建立有关的规则中定义。
当以任意的形式确定了N和k的值并且前进到执行建立过程时,各节点保持被分配给参与共识形成的节点整体的一个公钥、被分配给参与共识形成的各节点的N个公钥份额、以及被分配给该节点的一个私钥份额。另外,各节点也保持N和k的值或k/N的值。N的值也可以根据公钥份额的数量求出。
私钥与公钥具有能够通过该公钥来验证由该私钥签名的明文的关系,关于私钥份额和与其对应的公钥份额也同样。这里,“私钥份额”是指以使能够使用N个的一组私钥份额中的规定数量k个的私钥份额的签名来生成私钥的签名的方式,指定所生成的一组私钥份额中的任意一个。因此,可以基于k个私钥份额来生成对应于公钥的签名,而无需知道该私钥,并且可以将该签名附加到作为共识形成对象的区块。所附加的签名可以通过公钥验证。
如果进一步地说明图1的例子,则将分配给网络100整体的一个公钥记为PK(Public Key的简称),将与该公钥对应的私钥记为SK(Secret Key的简称),将分别分配给第一节点110、第二节点120、第三节点130、第四节点140、第五节点150的公钥份额和私钥份额分别记为PK1和SK1、PK2和SK2、PK3和SK3、PK4和SK4、PK5和SK5。在建立之后,例如,第一节点将PK、PK1到PK5以及SK1存储在该节点的存储部113中,或者存储在能够与该节点通信的存储装置或存储介质中。所存储的这些数据在以后的共识形成或其确定过程中,可以从该节点访问。
这里,公钥PK是最终附加的签名的验证所需要的,但是在建立阶段有时也不生成公钥PK。进行签名的验证的节点或装置只要在验证时具有公钥PK即可,在初始设定的时间点未必需要网络100的各节点具有公钥PK。
图2表示本实施方式的这些密钥生成方法的流程。这里,作为一例,考虑(k-1)次多项式f(x),并将f(xi)的值(i是表示第i个节点的1到N的整数,xi是任意的整数)作为针对各节点的私钥份额SKi。
首先,第i个节点决定以aim(m是从0到k-1的整数)为系数的(k-1)次多项式fi(x)(S201)。各节点可以根据建立规则,选择或生成aim并存储,由此计算fi(x)。
[式4]
Figure BDA0002829730380000071
接着,第i个节点使用循环群G1的生成元g1,向其他节点发送0至k-1的各m中的aim·g1的值或包含该值的消息(S202)。另外,第i个节点向第j个节点(j是1到N的整数)发送fi(xj)的值或包含该值的消息。这里,fi(xj)的发送可以在m和aim·g1之前发送,也可以与m和aim·g1同时发送。
生成元g1设为被存储在各节点中并且是已知的,或者被从任何节点提供给参与共识形成的N个节点使得N个节点分别能够访问而使用。同样地,对第i个节点提供私钥份额f(xi)的整数xi的值设为N个节点分别能够访问并使用。例如,这些值可以存储在各节点的存储部中,或者存储在从各节点可以访问的存储装置或存储介质中。
然后,在第j个节点中,对1到N的i加上fi(xj),算出f(xj)、即私钥份额SKj(S204)。多项式f(x)定义如下:
[式5]
Figure BDA0002829730380000072
虽然对任何一个节点而言都不知道,但通过如下式那样考虑f(xj),各节点不知道f(x)自身就能够在各节点中算出f(xj)的值。
[式6]
Figure BDA0002829730380000073
另外,由于各节点可以在其自己的节点处算出m和aim·g1,并且已经接收到其他节点的m和aim·g1,因此可以根据下式算出SKj·g1来作为公钥份额PKj(S205)。
[式7]
Figure BDA0002829730380000081
因为m和aim·g1以及xi对于所有的i都是已知的,所以对于全部的节点而言,不知道f(x)也能够通过该公式算出公钥份额PKi。
这样得到的公钥份额和私钥份额的配对,是将提供共识形成对象的区块的哈希值h的哈希函数作为从任意的数据向以g2为生成元的循环群G2的映射,将h乘以SKj而得的SKj·h作为签名sj,通过定义从G1×G2向以gT为生成元的循环群GT的映射e且是满足下式的双线性映射,可知作为加密方式成立。此处,a和b是任意整数。
[式8]
Figure BDA0002829730380000082
即,在第i个节点中,在从第j个节点接收到共识形成对象的区块的哈希值h和签名sj时,使用根据上述算法已知的公钥份额PKj
[式9]
e(PKj,h)=e(SKj·g1,h)=e(g1,SKj·h)=e(g1,sj)
因此,可以使用已知的生成元g1来验证从第j个节点接收到的签名sj。可以通过预先在建立规则中定义哈希函数,在各节点中根据共识形成对象的区块算出哈希值。
在上述说明中,是以将(k-1)次多项式函数f(x)的值定为私钥份额,将该私钥份额乘以循环群的生成元而得的值作为公钥份额的签名方式为前提,但只要能够使用N个一组的私钥份额中的规定数量k个的私钥份额的签名来生成私钥的签名,则也可以采用不同的签名方式。另外,此时优选可以在各个节点中分散地生成各个私钥份额,而不是将由网络100的任一节点或其外部的节点所生成的一组私钥份额提供给各节点。
另外,在上述的说明中,以第j个节点中的公钥份额PKj以及私钥份额SKj为例进行了说明,但在对以第i个节点为中心而在第i个节点进行的处理进行记述的情况下,当然下标将被适当变更。
(第二实施方式)
图3示出了本发明的第二实施方式的与区块的选择有关的确定方法的流程。从完成建立的状态开始,第一节点110生成区块,并向参与共识形成的N个节点发送包含该区块的第一消息(S301)。发送节点自身也可以接收该区块。这里,可以在节点之间直接或间接地收发消息,可以向构成网络100的其他节点发送与共识形成有关的数据并且从其他节点接收数据。
接收到第一消息的各节点根据各自具有的程序中规定的共识形成的规则,评价该区块的有效性(S302)。有效性评价的细节可以包括发送者是否是合法的发送节点、区块的数据格式是否满足与用途相应的规定格式或其他规定条件、是否产生分支等各种规则,并且可以因节点的不同而存在不同的规则。另外,在进行有效性的评价之后,也可以需要与其他节点的消息的收发。
在被评价为有效的情况下,则该节点向各节点发送具有签名si的第二消息,该签名si是针对基于该节点能够访问的私钥份额f(xi)的共识形成对象的区块的哈希值h的签名(S303-1)。签名可以通过将提供给该节点的私钥份额乘以哈希值来进行。发送目的地也可以包含自身节点。在被评价为无效的情况下,拒绝该区块(S303-2)。
当在第j个节点聚集了k个签名之后,该节点合成这些签名,并生成对应于公钥PK的签名(S304)。具体而言,各节点定期或间断地判定k/N的条件是否得到满足,在得到满足的情况下,能够根据接收到的k个或k个以上的私钥份额的签名,算出f(0)·h作为与公钥PK对应的私钥SK的签名SK·h。这里,如果k个以上的点(xi,f(xi))已知,则可以唯一地确定(k-1)次多项式f(x),使用将f(0)的值认为是未知的私钥SK的值的情况。如果根据k个签名已知k个点(xi,f(xi)·h),则得以确定函数f(x)·h。f(0)·h的计算例如可以使用拉格朗日插值来进行。
此外,例如能够通过拉格朗日插值,根据k个以上的点(xj,PKj)=(xj,f(xj)·g1)算出公钥PK,这可以在建立阶段进行并根据需要分发,也可以在验证时或验证之前由进行签名的验证的网络100的内部或外部的节点或装置基于k个公钥份额PKj生成。
然后,如果需要,则将所生成的单个签名SK·h广播或发送至其它节点(S305)。由于已经进行了k个以上的节点的有效性的评价,所以可以在成功合成的时间点将区块追加到该节点所具有的区块链中,但作为一例,成功合成后的节点可以将合成后的签名发送到其它节点,然后各节点可以根据接收到规定数量以上的合成后的签名这一情况,追加区块。
最后,共识形成对象的区块被附加签名SK·h而追加到各节点的区块链中(S306)。由此,该区块在网络100中的选择确定。
在上述说明中,考虑了对各节点提供一个私钥份额的情况,但也可以考虑对一个节点提供的份额数设为多个的情况。另外,在上面的说明中,尽管没有提及作为有效性评价对象的区块的细节,但是该区块可以包括一个或多个交易,或者可以包括任意的一个或多个数据。而且,关于具有多个节点的计算机网络对于未必形成链的一个或多个数据的有效性的评价,也可以应用本发明的精神。
此外,需要注意的是,如果没有“仅基于”,“仅根据××”、“仅××的情况”这样“仅”的记载,则假定在本说明书中可以考虑附加信息。
另外,为了慎重起见,即使在某些方法、程序、终端、装置、服务器或系统(以下为“方法等”)中有进行与本说明书中记述的动作不同的动作的方面,但本发明的各方式以与本说明书中描述的动作中的任一个相同的动作为对象,另外指出,存在与本说明书中描述的动作不同的动作的该方法等并不排除在本发明各方面的范围外。
符号说明
100 网络
110 第一节点
111 通信部
112 处理部
113 存储部
120 第二节点
130 第三节点
140 第四节点
150 第五节点。

Claims (12)

1.一种用于区块链网络的密钥生成方法,在所述区块链网络中,N个节点参与到与区块的选择有关的共识形成并需要k个节点的签名,其中,N是2以上的整数,k是满足2≤k≤N的整数,该方法的特征在于,
第i个节点包括:
决定式(1)所表示的(k-1)次多项式fi(x)的步骤;
从第j个节点接收fj(xi)以及0到k-1的各m中的ajm·g1的值的步骤,其中,j是满足1≤j≤N的整数,xi是被提供给第i个节点的整数,g1是循环群G1的生成元;
在(k-1)次多项式f(x)未知的状态下算出式(2)所表示的SKi的步骤;以及
算出式(3)所表示的PKi的步骤,
其中,i是满足1≤i≤N的整数,
[式1]
Figure FDA0002829730370000011
[式2]
Figure FDA0002829730370000012
[式3]
Figure FDA0002829730370000013
2.根据权利要求1所述的方法,其特征在于,还包括:
从第j个节点接收PKj的步骤。
3.根据权利要求1所述的方法,其特征在于,还包括:
针对第j个节点算出PKj的步骤。
4.根据权利要求2或3所述的方法,其特征在于,还包括:
根据与k个节点有关的坐标(xj,PKj)算出f(0)·g1的步骤。
5.根据权利要求4所述的方法,其特征在于,
f(0)·g1的计算使用拉格朗日插值进行。
6.一种用于使第i个节点执行用于区块链网络的密钥生成方法的程序,在所述区块链网络中,N个节点参与到与区块的选择有关的共识形成并需要k个节点的签名,其中,i是满足1≤i≤N的整数,N是2以上的整数,k是满足2≤k≤N的整数,该程序的特征在于,
在所述密钥生成方法中,所述第i个节点包括:
决定式(1)所表示的(k-1)次多项式fi(x)的步骤;
从第j个节点接收fj(xi)以及0到k-1的各m中的ajm·g1的值的步骤,其中,j是满足1≤j≤N的整数,xi是被提供给第i个节点的整数,g1是循环群G1的生成元;
在(k-1)次多项式f(x)未知的状态下算出式(2)所表示的SKi的步骤;以及
算出式(3)所表示的PKi的步骤,
[式4]
Figure FDA0002829730370000021
[式5]
Figure FDA0002829730370000022
[式6]
Figure FDA0002829730370000023
7.一种构成区块链网络的第i个节点,所述区块链网络中,N个节点参与到与区块的选择有关的共识形成并需要k个节点的签名,其中,i是满足1≤i≤N的整数,N是2以上的整数,k是满足2≤k≤N的整数,该节点的特征在于,
决定式(1)所表示的(k-1)次多项式fi(x);
从第j个节点接收fj(xi)以及0到k-1的各m中的ajm·g1的值,其中,j是满足1≤j≤N的整数,xi是被提供给第i个节点的整数,g1是循环群G1的生成元;
在(k-1)次多项式f(x)未知的状态下算出式(2)所表示的SKi;以及
算出式(3)所表示的PKi,
[式7]
Figure FDA0002829730370000031
[式8]
Figure FDA0002829730370000032
[式9]
Figure FDA0002829730370000033
8.一种用于区块链网络的选择的确定方法,所述区块链网络中,N个节点参与到与区块的所述选择有关的共识形成并需要k个节点的签名,其中,N是2以上的整数,k是满足2≤k≤N的整数,该方法的特征在于,
第i个节点包括:
向所述N个节点发送区块的步骤;
从第j个节点接收将所述区块的哈希值h与未知的(k-1)次多项式f(x)的x=xj时的值即f(xj)相乘而得的签名sj的步骤,其中,j是满足1≤j≤N的整数;
根据与k个节点有关的坐标(xj,sj)算出f(0)·h的步骤;
将算出的f(0)·h作为与公钥对应的签名附加到所述区块的步骤;以及
将被附加所述签名的所述区块追加到区块链中,确定所述区块的所述选择的步骤,
其中,i是满足1≤i≤N的整数,
这里,G1是以g1为生成元的循环群,G2是以g2为生成元的循环群,GT是以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,可以将提供共识形成对象的区块的所述哈希值h的哈希函数定义为从任意的数据向循环群G2的映射,此外,第i个节点能够访问1到N的各j中的xj的值,第j个节点能够访问f(xj)的值。
9.根据权利要求8所述的方法,其特征在于,
f(0)·h的计算使用拉格朗日插值进行。
10.根据权利要求8或9所述的方法,其特征在于,
判定是否具有k个以上的签名,在判定结果为肯定的情况下,执行所述f(0)·h的计算。
11.一种用于使第i个节点执行用于区块链网络的选择的确定方法的程序,在所述区块链网络中,N个节点参与到与区块的所述选择有关的共识形成并需要k个节点的签名,其中,i是满足1≤i≤N的整数,N是2以上的整数,k是满足2≤k≤N的整数,该程序的特征在于,
在所述确定方法中,所述第i个节点包括:
向所述N个节点发送区块的步骤;
从第j个节点接收将所述区块的哈希值h与未知的(k-1)次多项式f(x)的x=xj时的值即f(xj)相乘而得的签名sj的步骤,其中,j是满足1≤j≤N的整数;
根据与k个节点有关的坐标(xj,sj)算出f(0)·h的步骤;
将算出的f(0)·h作为与公钥对应的签名附加到所述区块的步骤;以及
将被附加所述签名的所述区块追加到区块链中,确定所述区块的所述选择的步骤,
这里,G1是以g1为生成元的循环群,G2是以g2为生成元的循环群,GT是以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,可以将提供共识形成对象的区块的所述哈希值h的哈希函数定义为从任意的数据向循环群G2的映射,此外,第i个节点能够访问1到N的各j中的xj的值,第j个节点能够访问f(xj)的值。
12.一种构成区块链网络的第i个节点,所述区块链网络中,N个节点参与到与区块的选择有关的共识形成并需要k个节点的签名,其中,i是满足1≤i≤N的整数,N是2以上的整数,k是满足2≤k≤N的整数,该节点的特征在于,
向所述N个节点发送区块;
从第j个节点接收将所述区块的哈希值h与未知的(k-1)次多项式f(x)的x=xj时的值即f(xj)相乘而得的签名sj,其中,j是满足1≤j≤N的整数;
根据与k个节点有关的坐标(xj,sj)算出f(0)·h,将算出的f(0)·h作为与公钥对应的签名附加到所述区块的;以及
将被附加所述签名的所述区块追加到区块链中,确定所述区块的所述选择,
这里,G1是以g1为生成元的循环群,G2是以g2为生成元的循环群,GT是以gT为生成元的循环群,能够定义从G1×G2向GT的双线性映射e,并且,可以将提供共识形成对象的区块的所述哈希值h的哈希函数定义为从任意的数据向循环群G2的映射,此外,第i个节点能够访问1到N的各j中的xj的值,第j个节点能够访问f(xj)的值。
CN201980038788.6A 2018-04-13 2019-03-31 区块链网络及用于其的确定方法 Pending CN112262422A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018-077368 2018-04-13
JP2018077368A JP7101031B2 (ja) 2018-04-13 2018-04-13 ブロックチェーン・ネットワーク及びそのための確定方法
PCT/JP2019/014401 WO2019198548A1 (ja) 2018-04-13 2019-03-31 ブロックチェーン・ネットワーク及びそのための確定方法

Publications (1)

Publication Number Publication Date
CN112262422A true CN112262422A (zh) 2021-01-22

Family

ID=68163672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980038788.6A Pending CN112262422A (zh) 2018-04-13 2019-03-31 区块链网络及用于其的确定方法

Country Status (5)

Country Link
US (1) US11496290B2 (zh)
EP (1) EP3779932A4 (zh)
JP (1) JP7101031B2 (zh)
CN (1) CN112262422A (zh)
WO (1) WO2019198548A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553887A (zh) * 2022-01-24 2022-05-27 浙江数秦科技有限公司 一种区块链网络点对点数据传输方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059981B (zh) * 2019-04-29 2021-06-04 威富通科技有限公司 信任度评估方法、装置及终端设备
US11398916B1 (en) * 2019-12-18 2022-07-26 Wells Fargo Bank, N.A. Systems and methods of group signature management with consensus
WO2021153421A1 (ja) 2020-01-31 2021-08-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 制御方法、サーバ、および、プログラム
CN115104111A (zh) * 2020-02-21 2022-09-23 松下电器(美国)知识产权公司 控制方法、控制装置及程序

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106533661A (zh) * 2016-10-25 2017-03-22 北京大学 基于组合公钥的密码学货币地址在线生成方法
WO2017112469A1 (en) * 2015-12-21 2017-06-29 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
CN107038578A (zh) * 2017-04-19 2017-08-11 浙江数秦科技有限公司 基于区块链的数据交易平台中多重签名交易信息处理方法
CN107395349A (zh) * 2017-08-16 2017-11-24 深圳国微技术有限公司 一种基于自认证公钥体制的区块链网络密钥分发方法
WO2017204943A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using audit guarantees
CN107566124A (zh) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 基于抽签机制的共识建立方法、区块链系统及存储介质
CN107786339A (zh) * 2016-08-31 2018-03-09 陈新 分层可控联盟区块链系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2331442C (en) 1998-05-22 2009-10-13 Certco Incorporated Robust efficient distributed rsa-key generation
US20050135610A1 (en) * 2003-11-01 2005-06-23 Liqun Chen Identifier-based signcryption
JP2008301391A (ja) * 2007-06-04 2008-12-11 Murata Mach Ltd 放送用暗号システムと暗号通信方法、復号器及び復号プログラム
US20090327735A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unidirectional multi-use proxy re-signature process
US8385541B2 (en) * 2010-02-18 2013-02-26 King Fahd University Of Petroleum And Minerals Method of performing elliptic polynomial cryptography with elliptic polynomial hopping
JP5736816B2 (ja) * 2010-05-31 2015-06-17 ソニー株式会社 認証装置、認証方法、プログラム、及び署名生成装置
US9634840B2 (en) * 2013-07-23 2017-04-25 Security Innovation Inc. Digital signature technique
WO2017174141A1 (en) 2016-04-08 2017-10-12 Nec Europe Ltd. Method for providing a proof-of-retrievability
GB201720753D0 (en) * 2017-12-13 2018-01-24 Nchain Holdings Ltd Computer-implemented system and method
CN111615810A (zh) 2018-01-16 2020-09-01 区块链控股有限公司 获取数字签名的数据的计算机实现方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017112469A1 (en) * 2015-12-21 2017-06-29 Mastercard International Incorporated Method and system for blockchain variant using digital signatures
WO2017204943A1 (en) * 2016-05-24 2017-11-30 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using audit guarantees
CN107786339A (zh) * 2016-08-31 2018-03-09 陈新 分层可控联盟区块链系统
CN106533661A (zh) * 2016-10-25 2017-03-22 北京大学 基于组合公钥的密码学货币地址在线生成方法
CN107038578A (zh) * 2017-04-19 2017-08-11 浙江数秦科技有限公司 基于区块链的数据交易平台中多重签名交易信息处理方法
CN107395349A (zh) * 2017-08-16 2017-11-24 深圳国微技术有限公司 一种基于自认证公钥体制的区块链网络密钥分发方法
CN107566124A (zh) * 2017-08-24 2018-01-09 深圳市易成自动驾驶技术有限公司 基于抽签机制的共识建立方法、区块链系统及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553887A (zh) * 2022-01-24 2022-05-27 浙江数秦科技有限公司 一种区块链网络点对点数据传输方法
CN114553887B (zh) * 2022-01-24 2024-04-05 浙江数秦科技有限公司 一种区块链网络点对点数据传输方法

Also Published As

Publication number Publication date
EP3779932A1 (en) 2021-02-17
JP2019184908A (ja) 2019-10-24
JP7101031B2 (ja) 2022-07-14
EP3779932A4 (en) 2022-01-05
WO2019198548A1 (ja) 2019-10-17
US11496290B2 (en) 2022-11-08
US20210119770A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
CN112262422A (zh) 区块链网络及用于其的确定方法
US11025714B2 (en) System and method for announcing cryptographic keys on a blockchain
Tan et al. Secure certificateless authentication and road message dissemination protocol in VANETs
US11949780B2 (en) Technologies for multiple device authentication in a heterogeneous network
CN110945831B (zh) 抗Sybil攻击身份的生成
JP6651042B1 (ja) 複数のノードを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法及びそのためのプログラム並びに当該分散ネットワークを構成するためのノード
WO2019093478A1 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
KR20190024729A (ko) 데이터 수신 장치, 데이터 전송 시스템, 및 키 생성 장치
US20210021432A1 (en) Secure device on-boarding, ownership transfer, proof-of-ownership, and mutual authentication system
EP3920464A1 (en) Method for storing transaction that represents asset transfer to distributed network and program for the same
US8356182B2 (en) Electronic signature system and electronic signature verifying method
JP6780771B2 (ja) 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム
CN113821789B (zh) 基于区块链的用户密钥生成方法、装置、设备及介质
JP6478361B1 (ja) ブロックチェーン・ネットワーク及びそのための確定方法
CN116389504A (zh) 基于区块链的身份认证快速共识方法、系统、设备及介质
CN113094735B (zh) 隐私模型训练的方法
CN114128213B (zh) 用于验证公钥的可靠性的装置、方法以及其程序
JP5227764B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP2010186003A (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
CN111082944A (zh) 一种基于对的组合层次式密码机制
CN116915416B (zh) 一种证书签名方法、装置以及一种证书获取方法、装置
WO2017135866A1 (en) Method and system for assurance of message integrity
JP7161416B2 (ja) 認証システム、被認証装置、認証装置、認証方法、およびプログラム
CN115811395A (zh) 共享密钥生成方法、装置、电子设备以及可读存储介质
CN114153918A (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