JP2019184995A - Blockchain network and establishment method therefor - Google Patents

Blockchain network and establishment method therefor Download PDF

Info

Publication number
JP2019184995A
JP2019184995A JP2018152152A JP2018152152A JP2019184995A JP 2019184995 A JP2019184995 A JP 2019184995A JP 2018152152 A JP2018152152 A JP 2018152152A JP 2018152152 A JP2018152152 A JP 2018152152A JP 2019184995 A JP2019184995 A JP 2019184995A
Authority
JP
Japan
Prior art keywords
node
block
nodes
signature
value
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.)
Granted
Application number
JP2018152152A
Other languages
Japanese (ja)
Other versions
JP6478361B1 (en
Inventor
峰史 小宮山
Takafumi Komiyama
峰史 小宮山
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 Inc
Original Assignee
BitFlyer 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 Inc filed Critical BitFlyer Inc
Priority to JP2018152152A priority Critical patent/JP6478361B1/en
Application granted granted Critical
Publication of JP6478361B1 publication Critical patent/JP6478361B1/en
Publication of JP2019184995A publication Critical patent/JP2019184995A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To simplify the signature handling for a block for which a consensus has been built in a blockchain network which requires signatures of a plurality of nodes to build a consensus for the adoption of a block.SOLUTION: After completion of a setup, a first node 110 sends a first message including a generated block to N nodes (S301). Each node evaluates the validity of the block on the basis of a rule for building the consensus (S302). If the block is valid, the node sends, to each node, a second message which includes a signature sbased on shared secret keys f(x) with respect to a hash value h of the block for which the consensus is to be built (S303-1). After k signatures are collected at a j-th node, the node combines these signatures to generate a signature corresponding to a public key PK (S304). A block for which a consensus is to be built has a signature SK.h appended thereto and is added to the blockchain of each node (S306).SELECTED DRAWING: Figure 3

Description

本発明は、ブロックチェーン・ネットワーク及びそのための確定方法に関し、より詳細には、ブロックの採択にかかる合意形成に複数のノードによる署名を必要とするブロックチェーン・ネットワーク及びそのための当該採択の確定方法に関する。   The present invention relates to a blockchain network and a determination method therefor, and more particularly, to a blockchain network that requires signatures by a plurality of nodes for consensus building regarding the adoption of a block, and a determination method for the adoption therefor. .

ブロックチェーンが中央集権的な第三者機関による従来の信用付与のメカニズムを代替可能な技術として注目されている。「ブロック」と呼ばれるデータの単位が当該ブロックについての合意形成に参加する複数のノードに与えられ、その有効性(validity)がそれぞれのノードにおいて評価(evaluate)される。所定の条件が満たされることにより、各ノードは、複数の可能性のあるブロックの中から、当該ブロックについてその採択の合意(consensus)が形成されたと判定して、当該ブロックを受け入れる。より具体的には、当該ブロックが、各ノードが有するブロックチェーンに追加される。合意形成の対象となるブロックは、いずれかのノードによって、各ノードに対して与えられる。   Blockchain is attracting attention as a technology that can replace the traditional mechanism of credit granting by a centralized third party. A unit of data called a “block” is given to a plurality of nodes participating in consensus building for the block, and its validity is evaluated at each node. When the predetermined condition is satisfied, each node determines that a consensus for the adoption of the block is formed from a plurality of possible blocks, and accepts the block. More specifically, the block is added to the block chain of each node. A block that is a target of consensus building is given to each node by any node.

ここで、どのような手順で合意を形成するか、何を合意形成のための所定の条件とするかという合意アルゴリズムがブロックチェーン・ネットワークの信頼性と性能を左右する。合意アルゴリズム次第で、たとえば通信状況・電力供給等の物理的な理由により正常に動作しない障害(「良性障害(benign failure)」とも呼ばれる。)の許容可能な数が異なり、また、合意アルゴリズムに定められた所定のルールに従わないような任意のあらゆる障害(「ビザンチン障害(Byzantine failure)」とも呼ばれる。)の許容可能な数が異なる。あるノードが所定のルールに従わないような場面としては、物理的な理由のほか、当該ノードに対する不正アクセスがあった場合、当該ノードの管理者自身に不正の意図があった場合等が挙げられる。   Here, the consensus algorithm of what procedure is used to form a consensus and what is a predetermined condition for consensus formation affects the reliability and performance of the blockchain network. Depending on the agreement algorithm, for example, the allowable number of failures (also called “benign failures”) that do not operate normally due to physical reasons such as communication conditions, power supply, etc., differs, and is defined in the agreement algorithm. The allowable number of any obstacles (also referred to as “Byzantine failures”) that do not follow the prescribed rules specified is different. As a scene where a node does not follow a predetermined rule, there are physical reasons, when there is unauthorized access to the node, and when the administrator of the node has an unauthorized intention. .

合意アルゴリズムの一例として、合意形成に参加するN個(Nは2以上の整数)のノードのうちk個(kは2≦k≦Nを満たす整数)のノードによる署名を必要とするものが挙げられる。N=5、k=3の例を考えれば、これは合意形成に参加するノードの過半数による署名が必要となることを意味する。そして、合意形成がなされ、合意形成対象のブロックについてその採択が確定したことを示すためには、根拠としてk個以上の署名を付すことが必要となる。   An example of an agreement algorithm is one that requires a signature by k nodes (k is an integer satisfying 2 ≦ k ≦ N) among N nodes (N is an integer of 2 or more) participating in the agreement formation. It is done. Considering the example of N = 5 and k = 3, this means that a signature by a majority of nodes participating in consensus building is required. In order to show that consensus has been formed and that the adoption of the consensus building block has been confirmed, it is necessary to attach k or more signatures as a basis.

しかしながら、k個のノードによる署名が当該合意アルゴリズムにおける所定の条件を満たすことのできるノードの組み合わせはN及びkの値によっては数多く考えられ、このことは、合意が形成されたブロックについて、署名の取り扱いを複雑にしている側面がある。たとえば、あるブロックの署名を事後的に検証(verify)するためには、当該ブロックに付された複数の署名が所定の条件を満たしているか否かを個別に確認しなければならないからである。   However, there are many possible combinations of nodes for which the signatures by k nodes can satisfy the predetermined conditions in the agreement algorithm, depending on the values of N and k. There are aspects that complicate handling. For example, in order to verify the signature of a certain block afterwards, it is necessary to individually check whether or not a plurality of signatures attached to the block satisfy a predetermined condition.

本発明は、このような問題点に鑑みてなされたものであり、その目的は、ブロックの採択にかかる合意形成に複数のノードによる署名を必要とするブロックチェーン・ネットワーク及びそのための当該採択の確定方法において、合意が形成されたブロックにかかる署名の取り扱いの煩雑さを低減することにある。   The present invention has been made in view of such problems, and its purpose is to establish a blockchain network that requires signatures by a plurality of nodes for consensus building regarding the adoption of a block, and to confirm the adoption for that purpose. In the method, it is to reduce the complexity of handling signatures for blocks for which an agreement has been formed.

このような目的を達成するために、本発明の第1の態様は、N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークのための鍵生成方法であって、i番目のノード(iは1≦i≦Nを満たす整数)が、(1)式で表される(k−1)次多項式f(x)を決定するステップと、j番目のノード(jは1≦j≦Nを満たす整数)から、f(x)(xはi番目のノードに与えられた整数)並びに0からk−1の各mにおけるajm・gの値(gは巡回群Gの生成元)を受信するステップと、(2)式で表されるSKiを(k−1)次多項式f(x)を未知のまま算出するステップと、(3)式で表されるPKiを算出するステップとを含むことを特徴とする。 In order to achieve such an object, according to the first aspect of the present invention, N nodes (N is an integer of 2 or more) participate in the consensus building for the adoption of a block, and k nodes (k is A key generation method for a blockchain network that requires a signature of 2 ≦ k ≦ N), where the i-th node (i is an integer satisfying 1 ≦ i ≦ N) is (1) From the step of determining the (k−1) th order polynomial f i (x) represented by the equation and the j-th node (j is an integer satisfying 1 ≦ j ≦ N), f j (x i ) (x i Is the integer given to the i-th node) and the value of a jm · g 1 (g 1 is the generator of the cyclic group G 1 ) at each m from 0 to k−1; A step of calculating SKi represented by (k−1) degree polynomial f (x) with unknown, and equation (3) Characterized in that it comprises the step of calculating a PKi represented.

Figure 2019184995
Figure 2019184995

Figure 2019184995
Figure 2019184995

Figure 2019184995
Figure 2019184995

また、本発明の第2の態様は、第1の態様において、j番目のノードから、PKjを受信するステップをさらに含むことを特徴とする。   Moreover, the 2nd aspect of this invention is characterized by further including the step which receives PKj from a jth node in a 1st aspect.

また、本発明の第3の態様は、第1の態様において、j番目のノードについて、PKjを算出するステップをさらに含むことを特徴とする。   The third aspect of the present invention is characterized in that, in the first aspect, the method further includes a step of calculating PKj for the j-th node.

また、本発明の第4の態様は、第2又は第3の態様において、k個のノードに関する座標(x,PKj)からf(0)・gを算出するステップをさらに含むことを特徴とする。 The fourth aspect of the present invention further includes the step of calculating f (0) · g 1 from coordinates (x j , PKj) relating to k nodes in the second or third aspect. And

また、本発明の第5の態様は、第4の態様において、f(0)・gの算出は、ラグランジェ補間を用いて行うことを特徴とする。 According to a fifth aspect of the present invention, in the fourth aspect, the calculation of f (0) · g 1 is performed using Lagrange interpolation.

また、本発明の第6の態様は、第4又は第5の態様において、算出された前記f(0)・gを公開鍵PKとして送信するステップをさらに含むことを特徴とする。 Further, a sixth aspect of the present invention is characterized in that, in the fourth or fifth aspect, the step of transmitting the calculated f (0) · g 1 as a public key PK is further included.

また、本発明の第7の態様は、第6の態様において、前記送信は、前記公開鍵PKの前記ブロックチェーン・ネットワークの外への送信を含むことを特徴とする。   According to a seventh aspect of the present invention, in the sixth aspect, the transmission includes transmission of the public key PK outside the block chain network.

また、本発明の第8の態様は、N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークのための前記採択の確定方法であって、i番目のノード(iは1≦i≦Nを満たす整数)が、ブロックを前記N個のノードに送信するステップと、j番目のノード(jは1≦j≦Nを満たす整数)から、前記ブロックのハッシュ値hに未知の(k−1)次多項式f(x)のx=xにおける値であるf(x)を乗じた署名sjを受信するステップと、k個のノードに関する座標(xj,s)からf(0)・hを算出するステップと、算出されたf(0)・hを公開鍵に対応する署名として前記ブロックに付加するステップと、前記署名が付加された前記ブロックをブロックチェーンに追加して前記ブロックの前記採択を確定させるステップとを含むことを特徴とする。ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群であり、G×GからGへの双線形写像eが定義可能であり、かつ、合意形成対象のブロックの前記ハッシュ値hを与えるハッシュ関数を任意のデータから巡回群Gへの写像として定義可能とする。加えて、i番目のノードは、1からNの各jにおけるxjの値にアクセス可能であり、j番目のノードは、f(x)の値にアクセス可能とする。 Further, according to the eighth aspect of the present invention, N nodes (N is an integer of 2 or more) participate in consensus building concerning the adoption of a block, and k nodes (k is an integer satisfying 2 ≦ k ≦ N). ), The i-th node (i is an integer satisfying 1 ≦ i ≦ N) sends a block to the N nodes. From the j-th node (j is an integer satisfying 1 ≦ j ≦ N), and the hash value h of the block is an unknown (k−1) degree polynomial f (x) at a value at x = x j A step of receiving a signature sj multiplied by a certain f (x j ), a step of calculating f (0) · h from coordinates (xj, s j ) relating to k nodes, and a calculated f (0) · h is added to the block as a signature corresponding to the public key. And-up, characterized in that it comprises a step for confirming the adoption of the by adding the block in which the signature is added to the block chain block. Here, G 1 is a cyclic group in which g 1 is a generator, G 2 is a cyclic group in which g 2 is a generator, G T is a cyclic group in which g T is a generator, and G 1 × G 2 can be defined is bilinear mapping e to G T, and allows defining a hash function providing the hash value h of the block consensus target as mapping from arbitrary data to the cyclic group G 2. In addition, the i-th node can access the value of xj in each j from 1 to N, and the j-th node can access the value of f (x j ).

また、本発明の第9の態様は、第8の態様において、f(0)・hの算出は、ラグランジェ補間を用いて行うことを特徴とする。   According to a ninth aspect of the present invention, in the eighth aspect, the calculation of f (0) · h is performed using Lagrange interpolation.

また、本発明の第10の態様は、第8又は第9の態様において、k個以上の署名を有するか否かの判定を行い、判定結果が肯定的である場合に、前記f(0)・hの算出を実行することを特徴とする。   Further, a tenth aspect of the present invention is the f (0) in the eighth or ninth aspect, in which it is determined whether or not the signature has k or more signatures, and the determination result is affirmative. -The calculation of h is performed.

本発明の一態様によれば、N個の一組の秘密鍵シェアのうち所定の数k個の秘密鍵シェアによる署名を用いて未知の秘密鍵による署名を生成することにより、単一の署名によって、ブロックの採択にかかる合意がなされたことを示すことが可能となる。   According to one aspect of the present invention, a signature with an unknown secret key is generated using a signature with a predetermined number k of secret key shares out of a set of N secret key shares. Can indicate that an agreement has been reached regarding the adoption of the block.

本発明の第1の実施形態におけるブロックチェーン・ネットワークを示す図である。It is a figure which shows the blockchain network in the 1st Embodiment of this invention. 本発明の第1の実施形態における鍵生成方法の流れ図である。It is a flowchart of the key generation method in the 1st Embodiment of this invention. 本発明の第2の実施形態におけるブロックの採択についての確定方法の流れ図である。It is a flowchart of the determination method about adoption of the block in the 2nd Embodiment of this invention.

以下、図面を参照して本発明の実施形態を詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(第1の実施形態)
図1に、本発明の第1の実施形態にかかるブロックチェーン・ネットワークを示す。ネットワーク100は、例示としてNが5であり、第1のノード110、第2のノード120、第3のノード130、第4のノード140及び第5のノード150を有する。各ノードは、第1のノード110について図示するように、通信インターフェースなどの通信部111と、プロセッサ、CPU等の処理部112と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部113とを備えるコンピュータであり、所定のプログラムを実行することによって、以下で説明する各処理を実現することができ、当該ノード110は、1又は複数の装置ないしサーバを含むことがあり、また当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。その他のノードについても、そのハードウェアの構成は同様である。以下では第1のノード110を中心に説明するが、他のノードにおいても、同様の処理を行い得る。また、合意形成に参加しないノードがネットワーク100に含まれることもある。
(First embodiment)
FIG. 1 shows a block chain network according to a first embodiment of the present invention. In the network 100, N is 5 as an example, and includes a first node 110, a second node 120, a third node 130, a fourth node 140, and a fifth node 150. As illustrated for the first node 110, each node includes a communication unit 111 such as a communication interface, a processing unit 112 such as a processor and a CPU, and a storage unit 113 including a storage device or a storage medium such as a memory and a hard disk. Each of the processes described below can be realized by executing a predetermined program, and the node 110 may include one or a plurality of devices or servers. One or a plurality of programs may be included, and may be recorded on a computer-readable storage medium to form a non-transitory program product. The hardware configuration of other nodes is the same. In the following description, the first node 110 will be mainly described, but the same processing can be performed in other nodes. In addition, the network 100 may include nodes that do not participate in consensus building.

所定のプログラムには、合意アルゴリズムにかかるルール及びセットアップにかかるルールが定められており、記憶部113又は第1のノード110からネットワークを介してアクセス可能な記憶装置又は記憶媒体に記憶しておくことができる。   Rules for agreement algorithm and rules for setup are defined in a predetermined program, and are stored in a storage device or storage medium accessible from the storage unit 113 or the first node 110 via a network. Can do.

合意形成に参加するN個のノードが、互いに通信可能な状態から、ブロックの採択にかかる合意形成を実行可能な状態に遷移するために実行させるべきプロセスを「セットアップ」と呼ぶ。セットアップは、ネットワーク100の外部又は内部においてセットアップの要求を受けて開始され、図1では、外部から当該要求が送信される例を示している。当該要求には、合意形成に必要となる署名の数kを含むことができ、また予めセットアップにかかるルールの中で定めておいてもよい。また、当該要求には、合意形成に参加するN個のノードの指定を含むことができ、またこの指定は予めセットアップにかかるルールの中で定めておいてもよい。   A process that N nodes participating in consensus building should execute in order to make a transition from a state in which they can communicate with each other to a state in which consensus building regarding the adoption of a block can be performed is referred to as “setup”. The setup is started in response to a setup request outside or inside the network 100, and FIG. 1 shows an example in which the request is transmitted from the outside. The request can include the number k of signatures necessary for consensus building, and may be determined in advance in the rules for setup. In addition, the request may include designation of N nodes participating in the consensus building, and this designation may be determined in advance in a rule for setup.

いずれかの形でN及びkの値が定まり、セットアップ・プロセスの実行が進むと、各ノードは、合意形成に参加するノード全体に割り当てられた1個の公開鍵、合意形成に参加する各ノードに割り当てられたN個の公開鍵シェア、そして当該ノードに割り当てられた1個の秘密鍵シェアを保持することとなる。また、各ノードは、N及びkの値又はk/Nの値も保持することとなる。Nの値は、公開鍵シェアの数から求めることもできる。   When the values of N and k are determined in any way and the execution of the setup process proceeds, each node has one public key assigned to all the nodes participating in the consensus building, each node participating in the consensus building N public key shares assigned to, and one private key share assigned to the node. Each node also holds N and k values or k / N values. The value of N can also be obtained from the number of public key shares.

秘密鍵と公開鍵は、当該秘密鍵により署名した平文を当該公開鍵により検証できるという関係にあり、秘密鍵シェアとそれに対応する公開鍵シェアについても同様である。ここで、「秘密鍵シェア」とは、N個の一組の秘密鍵シェアのうち所定の数k個の秘密鍵シェアによる署名を用いて秘密鍵による署名を生成可能であるように、生成された一組の秘密鍵シェアのうちのいずれかを指す。したがって、当該秘密鍵を知ることなく、k個の秘密鍵シェアに基づいて公開鍵に対応する署名を生成し、合意形成の対象であるブロックに当該署名を付加することができる。付加された署名は、公開鍵によってその検証可能である。   The secret key and the public key are in a relationship that the plaintext signed by the secret key can be verified by the public key, and the same applies to the secret key share and the corresponding public key share. Here, the “secret key share” is generated so that a signature with a secret key can be generated using a signature with a predetermined number k of secret key shares among a set of N secret key shares. One of a set of private key shares. Therefore, without knowing the secret key, a signature corresponding to the public key can be generated based on the k secret key shares, and the signature can be added to the block for which an agreement is formed. The added signature can be verified by the public key.

図1の例についてさらに説明すると、ネットワーク100全体に割り当てられる1個の公開鍵をPK(Public Keyの略)、当該公開鍵に対応する秘密鍵をSK(Secret Keyの略)、第1のノード110、第2のノード120、第3のノード130、第4のノード140、第5のノード150のそれぞれに割り当てられる公開鍵シェア及び秘密鍵シェアをそれぞれPK1及びSK1、PK2及びSK2、PK3及びSK3、PK4及びSK4、PK5及びSK5と表記する。セットアップ後には、たとえば第1のノードは、PK、PK1乃至PK5及びSK1をその記憶部113又は当該ノードと通信可能な記憶装置又は記憶媒体に記憶していることになる。記憶されたこれらのデータは、後の合意形成又はその確定プロセスにおいて当該ノードからアクセス可能となる。   1 will be further described. One public key assigned to the entire network 100 is PK (abbreviation for public key), a secret key corresponding to the public key is SK (abbreviation for secret key), and the first node. 110, the second node 120, the third node 130, the fourth node 140, and the fifth node 150 are assigned public key shares and private key shares PK1 and SK1, PK2 and SK2, PK3 and SK3, respectively. , PK4 and SK4, PK5 and SK5. After the setup, for example, the first node stores PK, PK1 to PK5, and SK1 in the storage unit 113 or a storage device or storage medium that can communicate with the node. These stored data will be accessible from the node in a later consensus building or decision process.

ここで、公開鍵PKは、最終的に付加される署名の検証に必要となるところ、セットアップの段階では生成しない場合もある。署名の検証を行うノード又は装置が検証時に公開鍵PKを有していればよく、初期設定の時点で必ずしもネットワーク100の各ノードが有していることは必要ではないからである。   Here, the public key PK is necessary for verification of the signature to be finally added, but may not be generated at the setup stage. This is because the node or device that verifies the signature only needs to have the public key PK at the time of verification, and it is not always necessary that each node of the network 100 has it at the time of initial setting.

図2に、本実施形態にかかるこれらの鍵生成方法の流れを示す。ここでは一例として、(k−1)次多項式f(x)を考え、f(x)の値(iはi番目のノードを表す1からNの整数であり、xは任意の整数)を各ノードに対する秘密鍵シェアSKiとするものとする。 FIG. 2 shows the flow of these key generation methods according to this embodiment. Here, as an example, consider a (k−1) th order polynomial f (x), and the value of f (x i ) (i is an integer from 1 to N representing the i-th node, and x i is an arbitrary integer). Is a secret key share SKi for each node.

まず、i番目のノードは、aim(mは0からk−1の整数)を係数とする(k−1)次多項式f(x)を決定する(S201)。各ノードは、セットアップルールに従って、aimを選択ないし生成して記憶することによってf(x)を計算することができる。 First, the i-th node determines a (k−1) -order polynomial f i (x) using a im (m is an integer from 0 to k−1) as a coefficient (S201). Each node can calculate f i (x) by selecting or generating and storing a im according to the setup rules.

Figure 2019184995
Figure 2019184995

次に、i番目のノードは、巡回群G1の生成元gを用いて、0からk−1の各mにおけるaim・gの値又はそれを含むメッセージを他のノードに送信する(S202)。また、i番目のノードは、j番目のノード(jは1からNの整数)に対して、f(x)の値又はそれを含むメッセージを送信する。ここで、f(x)の送信は、m及びaim・gより前に送信してもよく、またこれと同時に送信してもよい。 Next, the i-th node uses the generator g 1 of the cyclic group G 1 to transmit the value of a im · g 1 in each m from 0 to k−1 or a message including the value to another node ( S202). The i-th node transmits the value of f i (x j ) or a message including the value to the j-th node (j is an integer from 1 to N). Here, the transmission of f i (x j ) may be transmitted before m and a im · g 1 or may be transmitted at the same time.

生成元gは、各ノードに記憶されて既知であるか、いずれかのノードから合意形成に参加するN個のノードに与えられることによって、N個のノードそれぞれがアクセス可能であり、用いることができるものとする。同様に、i番目のノードに秘密鍵シェアf(x)を与える整数xの値についても、N個のノードそれぞれがアクセス可能であり、用いることができるものとする。たとえば、これらの値は、各ノードの記憶部又は各ノードからアクセス可能な記憶装置又は記憶媒体に記憶しておけばよい。 The generation source g 1 is stored and known in each node, or given to N nodes participating in consensus formation from any node, so that each of the N nodes is accessible and used Shall be able to. Similarly, for the value of the integer x i that gives the secret key share f (x i ) to the i-th node, it is assumed that each of the N nodes is accessible and can be used. For example, these values may be stored in a storage unit or a storage medium accessible from each node or each node.

そして、j番目のノードにおいて、1からNのiについてf(x)を加算して、f(x)、すなわち秘密鍵シェアSKjを算出する(S204)。多項式f(x)を次式のように定義すれば、 Then, in the j-th node, f i (x j ) is added for i from 1 to N to calculate f (x j ), that is, the secret key share SKj (S204). If the polynomial f (x) is defined as:

Figure 2019184995
Figure 2019184995

これは、いずれのノードに対しても知らされていないものの、次式のようにf(x)を考えることによって、f(x)自体を各ノードが知ることなく、f(x)の値を各ノードにおいて算出可能である。 This is not known to any node, but by considering f (x j ) as in the following equation, f (x j ) A value can be calculated at each node.

Figure 2019184995
Figure 2019184995

また、各ノードは、m及びaim・gを自ノードにおいては算出可能であるとともに他ノードのものについては既に受信していることから、次式に従って、公開鍵シェアPKjとしてSKj・gを算出することができる(S205)。 Further, each node can calculate m and a im · g 1 at its own node and has already received those from other nodes, and therefore, SKj · g 1 as public key share PKj according to the following equation: Can be calculated (S205).

Figure 2019184995
Figure 2019184995

この式による公開鍵シェアPKiの算出は、m及びaim・g並びにxがすべてのiについて既知であることから、f(x)を知ることなくすべてのノードについて可能である。 Calculation of the public key share PKi by this equation is possible for all nodes without knowing f (x) because m, a im · g 1 and x i are known for all i.

このようにして得られた公開鍵シェアと秘密鍵シェアのペアは、合意形成対象のブロックのハッシュ値hを与えるハッシュ関数を任意のデータからgを生成元とする巡回群G2への写像とし、hにSKjを乗じたSKj・hを署名sとして、G×Gからgを生成元とする巡回群Gへの写像eであって、次式を満たす双線形写像を定義することによって、暗号方式として成り立つことが分かる。ここで、a及びbは任意の整数である。 In this way, the public key shares and private key shares pair obtained, and a hash function that gives the hash value h of the block consensus target mapping to a cyclic group G2 to the g 2 a generator from an arbitrary data the SKJ · h multiplied by SKJ in h as the signature s j, a mapping e to the cyclic group G T which the g T a generator from G 1 × G 2, defines a bilinear mapping satisfies the following equation By doing so, it can be seen that the encryption method is established. Here, a and b are arbitrary integers.

Figure 2019184995
Figure 2019184995

すなわち、i番目のノードにおいて、合意形成対象のブロックのハッシュ値h及び署名sをj番目のノードより受け取ったとき、上述のアルゴリズムによって既知の公開鍵シェアPKjを用いて、 That is, at the i-th node, when the hash value h and the signature s j of the block to be agreed upon are received from the j-th node, using the public key share PKj known by the above algorithm,

Figure 2019184995
Figure 2019184995

となるため、既知の生成元gを用いて、j番目のノードより受け取った署名sの検証を行うことができる。ハッシュ値は、セットアップルールの中にハッシュ関数を定めておくことで、各ノードにおいて、合意形成対象のブロックから算出してもよい。 Therefore, the signature s j received from the j-th node can be verified using the known generation source g 1 . The hash value may be calculated from the consensus formation target block in each node by defining a hash function in the setup rule.

上述の説明では、(k−1)次多項式関数f(x)の値を秘密鍵シェアとして定め、当該秘密鍵シェアに巡回群の生成元を乗じた値を公開鍵シェアとする署名方式を前提としているところ、N個の一組の秘密鍵シェアのうち所定の数k個の秘密鍵シェアによる署名を用いて秘密鍵による署名を生成可能であれば、異なる署名方式を採用することもできる。また、この際には、ネットワーク100のいずれかのノード又はその外部のノードが生成した一組の秘密鍵シェアを各ノードに与えるのではなく、各秘密鍵シェアが各ノードにおいて分散して生成可能であることが望ましい。   In the above description, it is assumed that a signature scheme is used in which the value of (k−1) degree polynomial function f (x) is defined as a secret key share, and the value obtained by multiplying the secret key share by the generator of the cyclic group is the public key share. However, different signature schemes can be adopted as long as a signature with a secret key can be generated using a signature with a predetermined number k of secret key shares out of a set of N secret key shares. In this case, instead of giving each node a set of secret key shares generated by any node in the network 100 or nodes outside the network, each secret key share can be generated in a distributed manner at each node. It is desirable that

また、上述の説明では、j番目のノードにおける公開鍵シェアPKj及び秘密鍵シェアSKjを例に説明したが、i番目のノードを中心にそこで行われる処理を記述する場合には、当然ではあるが、添え字が適宜変更されることを付言する。   In the above description, the public key share PKj and the secret key share SKj in the j-th node have been described as examples. However, when the process performed there is described with the i-th node as a center, it is natural. Suppose that the subscript is changed as appropriate.

(第2の実施形態)
図3に、本発明の第2の実施形態にかかるブロックの採択についての確定方法の流れを示す。セットアップが完了した状態から、第1のノード110が、ブロックを生成して当該ブロックを含む第1のメッセージを合意形成に参加するN個のノードに送信する(S301)。送信ノードも自ら当該ブロックを受信することができる。ここで、ノード間では、メッセージが直接的又は間接的に送受信可能であり、ネットワーク100を構成する他のノードに合意形成に関連するデータを伝え、また、他のノードからデータを受け取ることができる。
(Second Embodiment)
FIG. 3 shows a flow of a determination method for adoption of a block according to the second embodiment of the present invention. From the state where the setup is completed, the first node 110 generates a block and transmits a first message including the block to N nodes participating in the consensus building (S301). The transmitting node can also receive the block itself. Here, messages can be transmitted or received directly or indirectly between nodes, and data related to consensus building can be transmitted to other nodes constituting the network 100, and data can be received from other nodes. .

第1のメッセージを受信した各ノードは、それぞれが有するプログラムに定められた合意形成のルールに基づいて、当該ブロックの有効性を評価する(S302)。有効性の評価の詳細は、送信者が正当な送信ノードであるか、ブロックのデータ形式が用途に応じた所定の形式その他の所定の条件を満たしているか、分岐が生じていないかなど、さまざまなルールを含むことができ、ノードによって異なるルールが存在してもよい。また、有効性の評価を行う上で、他のノードとのメッセージの送受信を必要としてもよい。   Each node that has received the first message evaluates the validity of the block based on a consensus rule defined in the program that the node has (S302). The details of the effectiveness evaluation vary depending on whether the sender is a legitimate sending node, whether the data format of the block satisfies a predetermined format or other predetermined conditions according to the application, or whether a branch has occurred. There may be different rules depending on the node. Further, when evaluating the effectiveness, it may be necessary to send and receive messages with other nodes.

有効と評価された場合、当該ノードは、当該ノードがアクセス可能な秘密鍵シェアf(x)による合意形成対象のブロックのハッシュ値hに対する署名sを有する第2のメッセージを各ノードに送信する(S303−1)。署名は、当該ノードに与えられた秘密鍵シェアをハッシュ値に乗じることによって行うことができる。送信先には、自ノードを含めてもよい。無効と評価された場合には、当該ブロックは却下される(S303−2)。 If the node is evaluated as valid, the node transmits to each node a second message having a signature s i for the hash value h of the block to be agreed upon using the secret key share f (x i ) accessible by the node. (S303-1). The signature can be performed by multiplying the hash value by the secret key share given to the node. The transmission destination may include its own node. If it is evaluated as invalid, the block is rejected (S303-2).

j番目のノードにおいてk個の署名が集まった後、当該ノードは、これらの署名を合成して、公開鍵PKに対応する署名を生成する(S304)。具体的には、各ノードは、定期的又は断続的に、k/Nの条件が充足されたか否かを判定し、充足された場合には、受け取ったk個又はk個以上の秘密鍵シェアによる署名から、f(0)・hを公開鍵PKに対応する秘密鍵SKによる署名SK・hとして算出することができる。ここでは、(k−1)次多項式f(x)は、k個以上の点(x,f(x))が既知であれば一意に定めることができ、f(0)の値を未知の秘密鍵SKの値と考えられることを用いている。k個の署名からk個の点(x,f(x)・h)が既知であれば、関数f(x)・hが定まることになる。f(0)・hの算出は、たとえば、ラグランジュ補間を用いて行うこと
ができる。
After k signatures are collected at the j-th node, the node synthesizes these signatures to generate a signature corresponding to the public key PK (S304). Specifically, each node periodically or intermittently determines whether or not the k / N condition is satisfied, and if satisfied, the received k or more than k secret key shares are received. Can be calculated as a signature SK · h with a secret key SK corresponding to the public key PK. Here, the (k−1) degree polynomial f (x) can be uniquely determined if k or more points (x i , f (x i )) are known, and the value of f (0) is What is considered as the value of the unknown secret key SK is used. If k points (x i , f (x i ) · h) are known from k signatures, the function f (x) · h is determined. The calculation of f (0) · h can be performed using Lagrange interpolation, for example.

なお、公開鍵PKは、k個以上の点(x,PKj)=(x,f(x)・g)から、たとえば、ラグランジュ補間によって算出可能であり、これはセットアップの段階で行っておいて必要に応じて配布しておいてもよいし、署名の検証を行うネットワーク100の内部又は外部のノード又は装置が検証時又は検証前にk個の公開鍵シェアPKjに基づいて生成してもよい。 The public key PK can be calculated from, for example, Lagrange interpolation from k or more points (x j , PKj) = (x j , f (x j ) · g 1 ). May be distributed as necessary, or generated by a node or device inside or outside the network 100 that performs signature verification based on k public key shares PKj at or before verification. May be.

そして、必要であれば、生成された単一の署名SK・hが他のノードにブロードキャスト乃至送信される(S305)。既にk個以上のノードによる有効性の評価が済んでいることから、合成に成功した時点でブロックを当該ノードが有するブロックチェーンに追加可能としてもよいが、一例として、合成に成功したノードは他のノードに当該合成後の署名を送信し、そして、所定の数以上の合成後の署名を受け取ったことに応じて、各ノードはブロックを追加可能としてもよい。   If necessary, the generated single signature SK · h is broadcast or transmitted to another node (S305). Since the effectiveness of k nodes or more has already been evaluated, it may be possible to add a block to the block chain of the node when synthesis is successful. Each node may be able to add a block in response to transmitting the combined signature to each node and receiving a predetermined number or more of the combined signatures.

最後に、合意形成対象のブロックは、署名SK・hが付加されて各ノードのブロックチェーンに追加される(S306)。これにより、当該ブロックのネットワーク100における採択が確定する。   Finally, the agreement formation target block is added with the signature SK · h and added to the block chain of each node (S306). Thereby, the adoption of the block in the network 100 is confirmed.

上述の説明では、各ノードに1つの秘密鍵シェアが与えられる場合を考えているが、1つのノードに与えるシェア数を複数とすることも考えられる。また、上述の説明では、有効性の評価対象となるブロックの詳細について触れていないが、1又は複数のトランザクションを含むものとすることができ、あるいは、任意の1又は複数のデータを含むとすることもできる。そして、必ずしもチェーンを形成しない1又は複数のデータに対する複数のノードを有するコンピュータ・ネットワークによる有効性の評価につき、本発明の精神を適用することも可能である。   In the above description, it is considered that one secret key share is given to each node, but it is also conceivable that the number of shares given to one node is plural. Further, in the above description, details of the block to be evaluated for effectiveness are not mentioned, but it may include one or a plurality of transactions, or may include any one or a plurality of data. it can. The spirit of the present invention can also be applied to the evaluation of the effectiveness by a computer network having a plurality of nodes for one or a plurality of data not necessarily forming a chain.

なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。   In addition, in the present specification, additional information is provided unless there is a description of “only”, such as “based only on XX”, “according to only XX”, and “when only XX”. Note that it is also assumed that

また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。   Also, just in case, even if there is an aspect of performing an operation different from the operation described in this specification in any method, program, terminal, device, server, or system (hereinafter “method etc.”), each of the present invention The aspect is directed to the same operation as any of the operations described in this specification, and there is an operation different from the operation described in this specification. It is added that it is not outside the scope of the embodiment.

100 ネットワーク
110 第1のノード
111 通信部
112 処理部
113 記憶部
120 第2のノード
130 第3のノード
140 第4のノード
150 第5のノード

DESCRIPTION OF SYMBOLS 100 Network 110 1st node 111 Communication part 112 Processing part 113 Storage part 120 2nd node 130 3rd node 140 4th node 150 5th node

Claims (12)

N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークのための鍵生成方法であって、i番目のノード(iは1≦i≦Nを満たす整数)が、
(1)式で表される(k−1)次多項式f(x)を決定するステップと、
j番目のノード(jは1≦j≦Nを満たす整数)から、f(x)(xはi番目のノードに与えられた整数)並びに0からk−1の各mにおけるajm・gの値(gは巡回群Gの生成元)を受信するステップと、
(2)式で表されるSKiを(k−1)次多項式f(x)を未知のまま算出するステップと、
(3)式で表されるPKiを算出するステップと
を含むことを特徴とする方法。
Figure 2019184995
Figure 2019184995
Figure 2019184995
A blockchain network in which N nodes (N is an integer equal to or greater than 2) participate in consensus building for the adoption of a block and require signatures by k nodes (k is an integer satisfying 2 ≦ k ≦ N) A key generation method for the i-th node (i is an integer satisfying 1 ≦ i ≦ N),
Determining a (k-1) degree polynomial f i (x) represented by equation (1);
From the j-th node (j is an integer satisfying 1 ≦ j ≦ N), f j (x i ) (x i is an integer given to the i-th node), and a jm at each m from 0 to k−1 · g 1 value (g 1 is generator of a cyclic group G 1) receiving a,
Calculating SKi represented by equation (2) with the (k-1) th order polynomial f (x) unknown,
(3) The method of calculating PKi represented by Formula, The method characterized by the above-mentioned.
Figure 2019184995
Figure 2019184995
Figure 2019184995
j番目のノードから、PKjを受信するステップをさらに含むことを特徴とする請求項1に記載の方法。   The method of claim 1, further comprising receiving PKj from the jth node. j番目のノードについて、PKjを算出するステップをさらに含むことを特徴とする請求項1に記載の方法。   The method of claim 1, further comprising calculating PKj for the jth node. k個のノードに関する座標(x,PKj)からf(0)・gを算出するステップをさらに含むことを特徴とする請求項2又は3に記載の方法。 The method according to claim 2 or 3, further comprising the step of calculating f (0) · g 1 from coordinates (x j , PKj) relating to k nodes. f(0)・gの算出は、ラグランジェ補間を用いて行うことを特徴とする請求項4に記載の方法。 The method according to claim 4, wherein the calculation of f (0) · g 1 is performed using Lagrange interpolation. i番目のノード(iは1≦i≦Nを満たす整数)に、N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークのための鍵生成方法を実行させるためのプログラムであって、前記鍵生成方法は、前記i番目のノードが、
(1)式で表される(k−1)次多項式f(x)を決定するステップと、
j番目のノード(jは1≦j≦Nを満たす整数)から、f(x)(xはi番目のノードに与えられた整数)並びに0からk−1の各mにおけるajm・gの値(gは巡回群Gの生成元)を受信するステップと、
(2)式で表されるSKiを(k−1)次多項式f(x)を未知のまま算出するステップと、
(3)式で表されるPKiを算出するステップと
を含むことを特徴とするプログラム。
Figure 2019184995
Figure 2019184995
Figure 2019184995
In the i-th node (i is an integer satisfying 1 ≦ i ≦ N), N nodes (N is an integer of 2 or more) participate in consensus building for the adoption of the block, and k nodes (k is 2). ≦ k ≦ N, which is a program for executing a key generation method for a blockchain network that requires a signature, wherein the i-th node includes:
Determining a (k-1) degree polynomial f i (x) represented by equation (1);
From the j-th node (j is an integer satisfying 1 ≦ j ≦ N), f j (x i ) (x i is an integer given to the i-th node), and a jm at each m from 0 to k−1 · g 1 value (g 1 is generator of the cyclic group G 1) receiving a,
Calculating SKi represented by equation (2) with the (k-1) th order polynomial f (x) unknown,
(3) The program characterized by including the step which calculates PKi represented by Formula.
Figure 2019184995
Figure 2019184995
Figure 2019184995
N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークを構成するi番目のノード(iは1≦i≦Nを満たす整数)であって、
(1)式で表される(k−1)次多項式f(x)を決定し、
j番目のノード(jは1≦j≦Nを満たす整数)から、f(x)(xはi番目のノードに与えられた整数)並びに0からk−1の各mにおけるajm・gの値(gは巡回群Gの生成元)を受信し、
(2)式で表されるSKiを(k−1)次多項式f(x)を未知のまま算出し、
(3)式で表されるPKiを算出することを特徴とするノード。
Figure 2019184995
Figure 2019184995
Figure 2019184995
A blockchain network in which N nodes (N is an integer equal to or greater than 2) participate in consensus building for the adoption of a block and require signatures by k nodes (k is an integer satisfying 2 ≦ k ≦ N) I (where i is an integer satisfying 1 ≦ i ≦ N),
(K-1) order polynomial f i (x) represented by equation (1) is determined,
From the j-th node (j is an integer satisfying 1 ≦ j ≦ N), f j (x i ) (x i is an integer given to the i-th node), and a jm at each m from 0 to k−1 · g 1 value (g 1 is generator of the cyclic group G 1) receives,
SKi represented by the equation (2) is calculated while the (k-1) th order polynomial f (x) is unknown,
(3) A node characterized by calculating PKi represented by the equation.
Figure 2019184995
Figure 2019184995
Figure 2019184995
N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークのための前記採択の確定方法であって、i番目のノード(iは1≦i≦Nを満たす整数)が、
ブロックを前記N個のノードに送信するステップと、
j番目のノード(jは1≦j≦Nを満たす整数)から、前記ブロックのハッシュ値hに未知の(k−1)次多項式f(x)のx=xにおける値であるf(x)を乗じた署名sjを受信するステップと、
k個のノードに関する座標(xj,s)からf(0)・hを算出するステップと、
算出されたf(0)・hを公開鍵に対応する署名として前記ブロックに付加するステップと、
前記署名が付加された前記ブロックをブロックチェーンに追加して前記ブロックの前記採択を確定させるステップと
を含むことを特徴とする方法。
ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群であり、G×GからGへの双線形写像eが定義可能であり、かつ、合意形成対象のブロックの前記ハッシュ値hを与えるハッシュ関数を任意のデータから巡回群Gへの写像として定義可能とする。加えて、i番目のノードは、1からNの各jにおけるxjの値にアクセス可能であり、j番目のノードは、f(x)の値にアクセス可能とする。
A blockchain network in which N nodes (N is an integer equal to or greater than 2) participate in consensus building for the adoption of a block and require signatures by k nodes (k is an integer satisfying 2 ≦ k ≦ N) Wherein the i th node (i is an integer satisfying 1 ≦ i ≦ N) is
Transmitting a block to the N nodes;
From the j-th node (j is an integer satisfying 1 ≦ j ≦ N), f (x−1) is a value at x = x j of an unknown (k−1) -degree polynomial f (x) in the hash value h of the block receiving a signature sj multiplied by j );
calculating f (0) · h from coordinates (xj, s j ) for k nodes;
Adding the calculated f (0) · h to the block as a signature corresponding to the public key;
Adding the block with the signature to a block chain to confirm the acceptance of the block.
Here, G 1 is a cyclic group in which g 1 is a generator, G 2 is a cyclic group in which g 2 is a generator, G T is a cyclic group in which g T is a generator, and G 1 × G 2 can be defined is bilinear mapping e to G T, and allows defining a hash function providing the hash value h of the block consensus target as mapping from arbitrary data to the cyclic group G 2. In addition, the i-th node can access the value of xj in each j from 1 to N, and the j-th node can access the value of f (x j ).
f(0)・hの算出は、ラグランジェ補間を用いて行うことを特徴とする請求項8に記載の方法。   The method according to claim 8, wherein the calculation of f (0) · h is performed using Lagrange interpolation. k個以上の署名を有するか否かの判定を行い、判定結果が肯定的である場合に、前記f(0)・hの算出を実行することを特徴とする請求項8又は9に記載の方法。   10. The calculation according to claim 8, wherein a determination is made as to whether or not the signature has k or more signatures, and if the determination result is affirmative, the calculation of f (0) · h is performed. Method. i番目のノード(iは1≦i≦Nを満たす整数)に、N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークのための前記採択の確定方法を実行させるためのプログラムであって、前記確定方法は、前記i番目のノードが、
ブロックを前記N個のノードに送信するステップと、
j番目のノード(jは1≦j≦Nを満たす整数)から、前記ブロックのハッシュ値hに未知の(k−1)次多項式f(x)のx=xにおける値であるf(x)を乗じた署名sjを受信するステップと、
k個のノードに関する座標(xj,s)からf(0)・hを算出するステップと、
算出されたf(0)・hを公開鍵に対応する署名として前記ブロックに付加するステップと、
前記署名が付加された前記ブロックをブロックチェーンに追加して前記ブロックの前記採択を確定させるステップと
を含むことを特徴とするプログラム。
ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群であり、G×GからGへの双線形写像eが定義可能であり、かつ、合意形成対象のブロックの前記ハッシュ値hを与えるハッシュ関数を任意のデータから巡回群Gへの写像として定義可能とする。加えて、i番目のノードは、1からNの各jにおけるxjの値にアクセス可能であり、j番目のノードは、f(x)の値にアクセス可能とする。
In the i-th node (i is an integer satisfying 1 ≦ i ≦ N), N nodes (N is an integer of 2 or more) participate in consensus building for the adoption of the block, and k nodes (k is 2). An integer satisfying ≦ k ≦ N) for executing the method of determining the adoption for a blockchain network that requires a signature according to the i-th node,
Transmitting a block to the N nodes;
From the j-th node (j is an integer satisfying 1 ≦ j ≦ N), f (x−1) is a value at x = x j of an unknown (k−1) -degree polynomial f (x) in the hash value h of the block receiving a signature sj multiplied by j );
calculating f (0) · h from coordinates (xj, s j ) for k nodes;
Adding the calculated f (0) · h to the block as a signature corresponding to the public key;
Adding the block to which the signature has been added to a block chain to confirm the adoption of the block.
Here, G 1 is a cyclic group in which g 1 is a generator, G 2 is a cyclic group in which g 2 is a generator, G T is a cyclic group in which g T is a generator, and G 1 × G 2 can be defined is bilinear mapping e to G T, and allows defining a hash function providing the hash value h of the block consensus target as mapping from arbitrary data to the cyclic group G 2. In addition, the i-th node can access the value of xj in each j from 1 to N, and the j-th node can access the value of f (x j ).
N個のノード(Nは2以上の整数)がブロックの採択にかかる合意形成に参加し、k個のノード(kは2≦k≦Nを満たす整数)による署名を必要とするブロックチェーン・ネットワークを構成するi番目のノード(iは1≦i≦Nを満たす整数)であって、
ブロックを前記N個のノードに送信し、
j番目のノード(jは1≦j≦Nを満たす整数)から、前記ブロックのハッシュ値hに未知の(k−1)次多項式f(x)のx=xにおける値であるf(x)を乗じた署名sjを受信し、
k個のノードに関する座標(xj,s)からf(0)・hを算出して、算出されたf(0)・hを公開鍵に対応する署名として前記ブロックに付加し、
前記署名が付加された前記ブロックをブロックチェーンに追加して前記ブロックの前記採択を確定させることを特徴とするノード。
ここで、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群、Gをgを生成元とする巡回群であり、G×GからGへの双線形写像eが定義可能であり、かつ、合意形成対象のブロックの前記ハッシュ値hを与えるハッシュ関数を任意のデータから巡回群Gへの写像として定義可能とする。加えて、i番目のノードは、1からNの各jにおけるxjの値にアクセス可能であり、j番目のノードは、f(x)の値にアクセス可能とする。

A blockchain network in which N nodes (N is an integer equal to or greater than 2) participate in consensus building for the adoption of a block and require signatures by k nodes (k is an integer satisfying 2 ≦ k ≦ N) I (where i is an integer satisfying 1 ≦ i ≦ N),
Send a block to the N nodes;
From the j-th node (j is an integer satisfying 1 ≦ j ≦ N), f (x−1) is a value at x = x j of an unknown (k−1) -degree polynomial f (x) in the hash value h of the block j ) received the signature sj multiplied by
f (0) · h is calculated from coordinates (xj, s j ) relating to k nodes, and the calculated f (0) · h is added to the block as a signature corresponding to the public key;
A node that adds the block to which the signature has been added to a block chain to confirm the adoption of the block.
Here, G 1 is a cyclic group in which g 1 is a generator, G 2 is a cyclic group in which g 2 is a generator, G T is a cyclic group in which g T is a generator, and G 1 × G 2 can be defined is bilinear mapping e to G T, and allows defining a hash function providing the hash value h of the block consensus target as mapping from arbitrary data to the cyclic group G 2. In addition, the i-th node can access the value of xj in each j from 1 to N, and the j-th node can access the value of f (x j ).

JP2018152152A 2018-08-11 2018-08-11 Blockchain network and determination method therefor Active JP6478361B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018152152A JP6478361B1 (en) 2018-08-11 2018-08-11 Blockchain network and determination method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018152152A JP6478361B1 (en) 2018-08-11 2018-08-11 Blockchain network and determination method therefor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018077368A Division JP7101031B2 (en) 2018-04-13 2018-04-13 Blockchain network and confirmation method for it

Publications (2)

Publication Number Publication Date
JP6478361B1 JP6478361B1 (en) 2019-03-06
JP2019184995A true JP2019184995A (en) 2019-10-24

Family

ID=65655796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018152152A Active JP6478361B1 (en) 2018-08-11 2018-08-11 Blockchain network and determination method therefor

Country Status (1)

Country Link
JP (1) JP6478361B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7322621B2 (en) * 2019-09-17 2023-08-08 富士通株式会社 Transaction recording device, transaction recording method, and transaction recording program
CN112257112B (en) * 2020-11-16 2022-10-14 国网河南省电力公司信息通信公司 Data access control method based on block chain

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010038696A1 (en) * 1998-05-22 2001-11-08 Yair Frankel Robust efficient distributed RSA-key generation
WO2017174141A1 (en) * 2016-04-08 2017-10-12 Nec Europe Ltd. Method for providing a proof-of-retrievability

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010038696A1 (en) * 1998-05-22 2001-11-08 Yair Frankel Robust efficient distributed RSA-key generation
WO2017174141A1 (en) * 2016-04-08 2017-10-12 Nec Europe Ltd. Method for providing a proof-of-retrievability

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BAN BONEH, ET AL., BLS MULTI-SIGNATURES WITH PUBLIC-KEY AGGREGATION, JPN6018042346, 24 March 2018 (2018-03-24), ISSN: 0003925575 *
GREGORY MAXWELL, ET AL.: "Simple Schnorr Multi-Signatures with Applications to Bitcoin", CRYPTOLOGY EPRINT ARCHIVE: REPORT 2018/068, vol. Version: 20180118:124747, JPN6018042344, 18 January 2018 (2018-01-18), ISSN: 0003925574 *
光成 滋生: "BLS署名と秘密分散を組み合わせる", QIITA @HERUMI, JPN6018042342, 16 February 2017 (2017-02-16), ISSN: 0003925572 *
稲村 勝樹 ほか: "回覧文書閲覧確認に適した階層表記型多重署名方式の提案と実装評価", 電子情報通信学会論文誌 B, vol. 93, no. 10, JPN6014016563, 1 October 2010 (2010-10-01), JP, pages 1378 - 1387, ISSN: 0003925573 *

Also Published As

Publication number Publication date
JP6478361B1 (en) 2019-03-06

Similar Documents

Publication Publication Date Title
WO2019198548A1 (en) Blockchain network and establishment method therefor
JP2021519541A (en) Computer Implementation Methods and Systems for Transferring Access to Digital Assets
Grissa et al. Preserving the location privacy of secondary users in cooperative spectrum sensing
Schindler et al. Ethdkg: Distributed key generation with ethereum smart contracts
TWI821248B (en) Computer implemented method and system for transferring control of a digital asset
JP6651042B1 (en) Method for storing a transaction representing transfer of assets in a distributed network having a plurality of nodes, a program therefor, and a node for configuring the distributed network
Chow et al. Server-aided signatures verification secure against collusion attack
JP2021510954A (en) Computer-implemented methods and systems for obtaining digitally signed data
US20220172180A1 (en) Method for Storing Transaction that Represents Asset Transfer to Distributed Network and Program for Same
JP2022538697A (en) Distributed network with blind identities
Hamouid et al. Efficient certificateless web-of-trust model for public-key authentication in MANET
Luong et al. Privacy-preserving blockchain-based healthcare system for IoT devices using zk-SNARK
JP6478361B1 (en) Blockchain network and determination method therefor
CN113821789B (en) User key generation method, device, equipment and medium based on blockchain
WO2022174933A1 (en) User-controlled linkability of anonymous signature schemes
CN116204914A (en) Trusted privacy computing method, device, equipment and storage medium
RU2452111C1 (en) Method for threshold key generating for protection system based on identity data
JP5314449B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
Ries et al. Learning whom to trust in a privacy-friendly way
JP5227764B2 (en) Electronic signature verification system, electronic signature device, verification device, electronic signature verification method, electronic signature method, verification method, electronic signature program, verification program
JP6688933B1 (en) Device, method and program therefor for certifying reliability of public key
CN114586313B (en) System and method for signing information
Zhenhua et al. A distributed secret share update scheme with public verifiability for ad hoc network
JP4820303B2 (en) Dialog proof batch execution method, system thereof, certifier device, verifier device, and program thereof
CN115811395A (en) Shared key generation method and device, electronic equipment and readable storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180811

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180811

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181107

A25B Request for examination refused [due to the absence of examination request for another application deemed to be identical]

Free format text: JAPANESE INTERMEDIATE CODE: A2522

Effective date: 20181116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20181227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190201

R150 Certificate of patent or registration of utility model

Ref document number: 6478361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250