JP7050368B1 - ノード装置、情報処理システム、優先権付与方法及び優先権付与プログラム - Google Patents
ノード装置、情報処理システム、優先権付与方法及び優先権付与プログラム Download PDFInfo
- Publication number
- JP7050368B1 JP7050368B1 JP2021035335A JP2021035335A JP7050368B1 JP 7050368 B1 JP7050368 B1 JP 7050368B1 JP 2021035335 A JP2021035335 A JP 2021035335A JP 2021035335 A JP2021035335 A JP 2021035335A JP 7050368 B1 JP7050368 B1 JP 7050368B1
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- priority
- electronic signature
- unit
- unapproved
- 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 64
- 230000010365 information processing Effects 0.000 title claims abstract description 13
- 238000012795 verification Methods 0.000 claims abstract description 88
- 238000005065 mining Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 abstract description 20
- 230000006870 function Effects 0.000 description 32
- 238000004891 communication Methods 0.000 description 29
- 238000012790 confirmation Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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/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
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
また、イーサリアム(Ethereum)など、ブロックチェーンがもつ信頼性に基づく「スマートコントラクト」という仕組みを有するブロックチェーンシステムも存在する。
スマートコントラクトは、任意のトークン残高などをブロックチェーンに記録して新たな暗号資産などの価値を作りだしたり、重要な情報をブロックチェーンに書き込んだりすることができる。
なお、暗号資産の送金による決済やトークンの移転など、ブロックチェーンへの書き込みを伴う処理において、クライアント装置は、トランザクションと呼ばれる取引履歴をネットワークへ送信する。そして、ネットワークに接続されたマイナーノードは、クライアント装置から送信されたトランザクションを承認してブロックチェーンに取り込む処理を実行する必要がある。
特許文献1に記載されているようにネットワークへ送信するトランザクションにはトランザクション手数料が記載されている。トランザクション手数料は、トランザクションを取り込んだマイナーに対する報酬となりトランザクションを取り込む承認を行うモチベーションとなっている。
イーサリアムでは、一度ネットワークに送信したトランザクションの手数料を上乗せができる仕組みがある。しかし、ネットワークの混雑具合と承認まで待てる時間的余裕に応じて必要となる金額が変わるため、多めにETHを入手しておく必要があった。
常にある程度のETHを保持している利用者であれば大きな問題にはならない。しかし、普段は現金などの法定通貨で生活し稀にイーサリアムでの決済やトークン操作などを行う利用者にとっては、価格変動が大きなETHを常に所有しておくことはリスクとなる。また、ETHが必要になるたびに取引所で購入しようとしても、どの程度のETHを購入しておけばよいのか見積もりが難しい。
本発明は、一側面として、トランザクション手数料に利用する暗号資産を購入することなく、分散型台帳の利用を容易にすることを目的とする。
本発明に係る第1の形態は、トランザクションに優先的な承認権を付与する優先権販売者の秘密鍵を用いて生成された、優先権承認用の電子署名を検証する検証鍵を記憶する記憶部と、前記検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている電子署名を検証する検証部と、前記検証部により前記未承認のトランザクションに付与されている電子署名が前記優先権承認用の電子署名であることが検証されたとき、前記未承認のトランザクションを、前記優先権承認用の電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成する生成部と、前記ブロックを前記分散型台帳に公開する公開部と、を備えることを特徴とする。
本実施形態のシステムは、分散型台帳上での暗号資産の送金などに必要なトランザクションの承認にあたり、トラザクション手数料のための暗号資産の購入をしなくてもトランザクションを優先的に承認させる権利を利用者に付与するものである。
分散型台帳は分散型台帳技術(Distributed Ledger Technology)に基づくものであり、電子署名とハッシュポインタとを使用して改ざんを検出可能な構造のデータを、ネットワーク上に分散する複数のノードに保持させるという構成を有する。分散型台帳としては、例えば、ブロックチェーンやDAG(Directed acyclic graph)などが知られている。本明細書では、分散型台帳技術としてブロックチェーンを例に挙げて説明する。
なお、DAGでは、利用者がトランザクションを作成したとき、先に公開されている未承認のトランザクションを承認する。利用者が作成したトランザクションも、後から公開される未承認のトランザクションに承認される。閾値以上の未承認のトランザクションから直接または間接的に承認されたとき、利用者が作成したトランザクションは、ネットワークで合意されたものとみなされる、というコンセンサスアルゴリズムを採用している。
上記のようにDAGは、以下で説明するブロックチェーンと、コンセンサスアルゴリズムに違いがあるものの、トランザクションの構造はブロックチェーンと同様のものを採用することができる。
したがって、分散型台帳としてブロックチェーンを利用する処理と、分散型台帳としてDAGを利用する処理とは、同様の構成のトランザクションを用いて実行することができる。このため、以下で説明する分散型台帳としてブロックチェーンを利用する処理は、分散型台帳としてDAGを利用して実行することも可能である。
[ブロックチェーン]
ブロックチェーンとは、複数の取引情報を含むブロックを生成し、生成したブロックを連結することにより、分散型ネットワークにデータを記録するデータベースである。
ブロックには、複数の取引情報に加えて、1つ前に生成されたブロックの内容を示すハッシュ値を含むので、ブロックチェーンは、生成されたブロックが時系列に沿ってつながっていくデータ構造を有する。ビットコインやモナコイン、イーサリアム等に代表される暗号資産(仮想通貨)の基礎技術である。
マイニングに成功するとマイニング報酬が得られる。そのマイニング報酬を目当てにマイニングに投入される計算資源の多さによって、古いデータほど改ざんが難しくなる仕組みを、PoW(Proof of Work)型のブロックチェーンシステムと呼ぶ。
このように、何らかの報酬を与えることで、データベースへの信頼性を担保するための資源を提供させる仕組みのことをブロックチェーンと呼ぶ。
PoW型ブロックチェーン以外にもPoS型、PoI型、PoC型のブロックチェーンも適用が可能だが説明は割愛する。
現在主流となっている暗号資産には大きく分けて2種類がある。ビットコインから派生して開発されているライトコインやモナコインなどと、イーサリアムから派生して開発されているルートストックなどである。
前者の場合、暗号資産の実体は未使用のトランザクションのアウトプット(Unspent Transaction Output、UTXO)である。
UTXOは通常、ECDSAという楕円曲線暗号を用いた電子署名によってのみアンロック可能なようにロックされている。また、特定の秘密鍵を持つ「所有者」にのみアンロックを可能とするため、通常UTXOには秘密鍵に対応する公開鍵が記述されている。
実際には、UTXOにはScriptPubKeyと呼ばれる領域があり、そこにはScriptと呼ばれるプログラミング言語で記述されたプログラムが書いてある。そのUTXOに接続しようとするトランザクションの入力には、ScriptSigと呼ばれる領域があり、この2つがちょうど対応づいている場合に、UTXOはアンロックされる。
イーサリアムやそこから派生した暗号資産については、スマートコントラクトを用いることで同様の仕組みを実現することが出来る。
ネットワークは、利用者装置10(クライアント装置)と、販売者装置20(サーバ装置)と、代理販売装置40と、ネットワーク30と、ネットワーク200とを含む。そして、利用者装置10と、販売者装置20と、ネットワーク30と、はネットワーク200を介して互いに通信可能に接続されている。利用者装置10と、販売者装置20と、代理販売装置40とは、例えば後述するコンピュータ装置である。
以下の説明では、一例として、ネットワーク30は、例えば、ビットコインのコンセンサスアルゴリズムであるプルーフオブワーク(PoW)を採用しているものとして説明する。
プルーフオブワークにおいて、マイニングとは、ブロックに含まれるNonceを変化させながら、ブロックのデータにハッシュ関数を適用したとき、決められた数以上の0が上位に並ぶハッシュ値が得られるNonce(以下、正しいNonceともいう)を探す作業のことである。ブロックのデータには、ブロックに連結される前ブロックのデータのハッシュ値と、Nonceと、取引情報とを含む。
ネットワーク200は、ネットワーク30に限らず、さらに他のネットワークと接続されてもよい。また、ネットワーク200は、利用者装置10及び優先権販売装置20に加えて、さらに他の取引装置と接続されてもよい。
図2(a)は、取引情報の構成を説明する図である。図2(b)は、取引情報を接続する処理を説明する図である。取引情報とは、暗号資産の引き渡しと、受け取りとを実行し、暗号資産の所有権を移転する処理に用いられるトランザクションのことである。
以下の説明では、トランザクションスクリプトとして、P2PKH(Pay to Public Key Hash)を用いるものとして説明する。なお、トランザクションスクリプトとして、P2PK(Pay to Public Key)を用いる場合には、UTXOをロックするScriptPubKeyは、UTXOの受領者である送信先の利用者の公開鍵を含む。また、P2PKにおいて、UTXOをアンロックするScriptSigは、UTXOの授与者であるトランザクションを作成する送信元の利用者の秘密鍵を用いて生成した電子署名を含む。
Bitcoinやそこから派生した各種アルトコインにおける資産の所有とは、ブロックチェーンのデータベースに記録されているトランザクションのアウトプットのうち、未使用かつ自分でアンロックできるアウトプット(UTXO)が存在するということである。UTXOのアンロックの条件はScriptPubKeyという領域に書き込まれており、通常は所有者による電子署名でアンロックし別のトランザクション入力へ接続できるようになっている。
トランザクションは、暗号資産の所有の移転をまとめた取引情報である。トランザクションは、インプット(input)と、アウトプット(output)とを含む。
インプットは、トランザクションを作成する送信元の利用者が所有する前トランザクションのUTXOをアンロックするための情報である。そして、インプットは、ScriptSigを含む。
ScriptSigは、送信元の利用者が所有するUTXOをアンロックするためのプログラムである。ScriptSigは、送信元の利用者の電子署名と公開鍵とを含む。ScriptSigに含まれる電子署名及び公開鍵は、送信元の利用者の秘密鍵を用いて生成された値である。
ScriptPubKeyは、トランザクションのアウトプットをアンロックするための条件を定義したプログラムである。ScriptPubKeyは、送信先の利用者の秘密鍵を用いて生成された公開鍵のハッシュ値(以下、公開鍵ハッシュともいう)を含む。
前トランザクションのアウトプットは、送金額とScirptPubKey0とを含むアウトプット0(output0)と、送金額とScirptPubKey1とを含むアウトプット1(output1)と、を含む。アウトプット0とアウトプット1とは、それぞれIndex0とIndex1と関連付けられている。Index0とIndex1とは、それぞれアウトプット0とアウトプット1とを識別する識別子である。
新規トランザクションのインプット0は、ScriptSigと、前トランザクションのトランザクションハッシュと、前トランザクションのアウトプットの識別子であるIndex0とを含む。
トランザクションハッシュは、前トランザクション全体のハッシュ値である。そして、トランザクションハッシュは、前トランザクションを識別するためのトランザクションIDとして用いられる。Index0は、前トランザクションにおける接続先のアウトプット0を識別する識別子である。
上記の前トランザクションに含まれるアウトプット0と、新規トランザクションに含まれるインプット0とが接続される処理を説明する。以下の説明では、前トランザクションがビットコインのブロックチェーンに記録された状態であるものとする。
そして、ノード装置300は、検証の結果、正当な所有者によって作成されたことを確認した新規トランザクションをブロックに含ませて、Nonceを探す作業を実行する。ノード装置300は、正しいNonceを発見すると、正しいNonceが含まれるブロックを生成し、ノード装置300が保持するブロックチェーンに新たに生成したブロックを連結する。また、ノード装置300は、ブロックチェーンのネットワーク上に新たに生成したブロックを送信する。これにより、新たに生成したブロックは、ネットワークに接続された他のノード装置が保持するブロックチェーンにも連結され、新規トランザクションがブロックチェーンに記録される。
下記にも説明するとおり、ノード装置300は、マイニング報酬を受け取るためのコインベーストランザクションと呼ばれるトランザクション(入力が空でマイナー宛てに所定の報酬を送金するトランザクション)を含んだマークルツリーを構築し、そのマークルルートを含んだブロックのNonceを探索する。
図1に示すシステムにおいて、利用者装置10は、システムの利用者が利用する端末装置である。利用者は、例えばスマートコントラクト上において、暗号資産の送金による決済を行う。利用者装置10は、例えば、利用者が暗号資産を送金するためのトランザクションを作成する。
優先権販売装置20は、トランザクションの優先的な承認権を販売する優先権販売者が利用する装置である。優先権販売者は、例えばノード装置300で実行するノードプログラム(マイニングプログラム)の開発者であってもよい。なお、以下の説明では優先的な承認権を優先権と記載する場合がある。
優先権販売者は、トランザクションを発行したい利用者から、トランザクション手数料の相当額の対価を受け取ることにより、トランザクションを優先的に承認させる。
優先権販売者に対する対価の支払いは、現金等の法定通貨や暗号資産によって行うことが出来る。
利用者が対価の支払いを行うと、優先権販売装置20は、利用者装置10が作成したトランザクションに対する電子署名を、優先権販売者の秘密鍵を用いて生成する。
優先権販売装置20は、利用者装置10が作成したトランザクションに優先権販売者の秘密鍵を用いて生成した電子署名を付した優先権付きトランザクションを作成し、利用者に代わってネットワークに公開する。
優先権販売者の電子署名を利用者に渡し、優先権販売者の電子署名を付した優先権付きトランザクションを、利用者がネットワークに公開するようにしてもよい。
優先権販売者の電子署名は、トランザクションのデータブロックの一部として公開してもよいし、トランザクションとは別にネットワークに公開してもよい。
代理販売装置40は、優先権販売者を代理してトランザクションの優先的な承認権を販売する代理販売者が利用する装置である。後に詳しく説明する。
デジタル署名に対する検証鍵(デジタル署名を生成する際に用いた秘密鍵と対になる公開鍵)とデジタル署名とを組み合わせたものをデジタル証明書と呼ぶ。デジタル署名や、このようなデジタル証明書などが、電子署名の一例である。
そして、ノード装置300は、選択したトランザクションからマークルツリーを構成し、ブロックのマイニングを開始する。
その際に、メモリプール内に優先権付きトランザクションが存在すると(優先権付きトランザクションがネットワーク30に公開されていると)、ノード装置300はこのトランザクションを優先的にブロックに含めてマイニングを行って承認し、ブロックチェーンに組み込む。
ここで、「優先的に」とは、メモリプール内に記憶された未承認トランザクションのうち、優先権販売者の電子署名が付与されていない、または優先権販売者の電子署名と関連付けられていないトラザクションと比較して優先的に、という意味である。
優先権販売者の電子署名は、利用者が優先権販売者に対して支払いをしたことに基づいて、トランザクションが優先的に処理される権利を有することをノード装置300に証明するものである。
そして、ノード装置300は、メモリプール内に優先権付きトランザクションが複数存在する場合、これらのうち優先度がより高い優先権付きトランザクションを優先的にブロックに取り込んで承認する処理をする。
ノード装置300は、ブロックに追加されていない未承認トランザクションを一時的に記憶する記憶領域であるメモリプールを備える。
ノード装置300は、メモリプールに記憶された未承認トランザクションの中から、優先権販売者の公開鍵によって検証された電子署名を含む優先権付きトランザクションを検証して優先的にブロックに含める。
複数の異なる優先権販売者の公開鍵を保持し、優先権販売装置20が複数ある場合に対応してもよい。
イーサリアムの送金であればトランザクション手数料分のETHを考慮せず送金額分だけのETHを購入すればよいし、トークン移転などスマートコントラクトの操作であれば、手数料分のETHを購入する必要もない。従って、上記に説明した理由によって大きく変動するトランザクション手数料に必要なETHの額を見積もるという難しい作業が不要となる。
また、優先権販売装置20が介在することで、トランザクション手数料に相当する現金等と、トランザクション手数料分のイーサリアムとの換金レートを一定にすることができ、送金手段としてのイーサリアムの利便性をより高めることが出来る。
トランザクション手数料のためにイーサリアムを購入するための取引所への手数料を節約することも可能となる。
単純に優先権を付与できるようにすると、マイナーにとってはそのトランザクションを承認するモチベーションがなくなるという問題が起こり得る。
例えば、新しいブロックを生成するとき、マイナーは、ブロックに含まれる優先権付きトランザクションの数に、事前にネットワーク全体で合意した係数を乗じた値に対応する、追加する暗号資産の量を求める。さらに、マイナーは、通常のマイニング報酬に、求めた量の暗号資産を加えたマイニング報酬を受け取るためのコインベーストランザクションを作成する。そして、マイナーは、作成したコインベーストランザクションを新たに作成するブロックに含む処理をしてもよい。
例えばイーサリウムにおいて、マイナーは、優先権付きトランザクションを2つ承認したとき、優先権付きトランザクションの承認数2に係数0.1を乗じた0.2に対応する0.2ETHを追加のマイニング報酬とする。すなわち、マイナーは、通常のマイニング報酬3.0ETHの場合、通常のマイニング報酬3.0ETHに追加するマイニング報酬0.2ETHを加えた3.2ETHを、マイニング報酬としてコインベーストランザクションのアウトプットに書き込んでもよい。
マイニング報酬を増加させる係数の値は、優先権付きトランザクションを承認した数によって、増減するように設定されてもよい。
このように、本実施形態の優先権付与システムは、優先権付きトランザクションを含む新しいブロックを生成したマイナーに、本来のマイニング報酬よりも多額のマイニング報酬を与える。これにより、優先権付与システムは、優先権付きトランザクションを優先的にブロックに含める処理がマイナーにとって不利益にならないようにし、かつ優先権付きトランザクションを優先的に新しいブロックに含めるモチベーションをマイナーに与える。したがって、優先権付与システムは、マイナーたちのコミュニティから本実施形態のマイニングプログラムを利用する合意を得やすくする。
コインベーストランザクションを予め含めた状態でブロックをマイニングするため、コインベーストランザクションは必ず承認される。コインベーストランザクションを含む新規ブロックが、他のネットワーク内ノードによって承認された場合、通常のマイニング報酬より多いマイニング報酬をマイナーに与えることになるが、事前に合意された範囲内でマイニング報酬を記載したコインベーストランザクションは承認される。よって、マイナーは、優先権付きトランザクションを承認したことによるマイニング報酬を得ることが出来る。逆に、ネットワークとして合意された範囲を超える報酬額を記載したコインベーストランザクションは他のネットワーク内ノードによって承認されず、マイニング報酬を得ることは出来ない。
例えば優先権販売装置20は、利用者から取得したトランザクションに、通常のマイニング報酬に対して上乗せするプレミア価格を追記する。
優先権販売装置20は、トランザクションに対して、優先権販売者の電子署名に加えプレミアの価格を追加した優先権付きトランザクションを新たに生成して公開する。
以前に公開した優先権付きトランザクションは、新しい優先権付きトランザクションが公開されると破棄される。
以下の説明では、説明の簡単化のため、ブロックチェーンを介した送金処理における各トランザクションのアウトプットには、1つのアウトプットが含まれるものとし、アウトプットをIndexに応じて参照する処理の説明を省略する。また、トランザクションスクリプトとして、P2PKHを用いるものとする。
[第1実施例]
第1実施例では、送金を行う利用者に替わり、優先権販売装置20が優先権付きトランザクションをネットワークに公開する。
ステップ(11)において、システムの利用者は、優先権販売装置20を管理する優先権販売者に対して、法定通貨である現金等を支払う。あるいは、利用者は、暗号資産によって支払いを行ってもよい。優先権販売装置20に対する送金額はトランザクション手数料の相当額であり、優先権販売装置20で任意に設定することが出来る。例えば、前日に承認されたトラザクション数に応じて金額を変えてもよい。また、例えば100の優先権を購入した翌日は一定額、あるいは一定割合値引きをしてもよい。
現金等の支払いは、優先権販売装置20に対して直接行われるのではなく、例えばコンビニエンスストアの収納代行サービスなどを介して優先権販売者に行うことになる。現金等の支払いは、販売者の銀行口座への振り込みや、クレジットカード払い、暗号資産の送金であってもよい。なお、現金等の支払いは優先権販売者に対して直接行ってもよい。
利用者は、予めまとまった金額を優先権販売者支払っておいて、優先権を得るために電子署名の発行を受ける度にトランザクション手数料分を残高から減らすようにしてもよい。また、利用者は、優先権を得るために電子署名の発行を受ける度に、トランザクション手数料に相当する金額を優先権販売者支払うようにしてもよい。
ステップ(13)において、優先権販売装置20は、トランザクションTxA又はトランザクションTxAのハッシュを優先権販売者の秘密鍵Prk_Aを用いて暗号化した値を含む電子署名Sig_Aを生成する。
優先権付きトランザクションTxPは、ScriptPubKeyに送金先のアドレスを含む。また、優先権付きトランザクションTxPは、ScriptSigに利用者の電子署名、及び利用者の公開鍵を含む。
優先権販売者の電子署名Sig_A、優先権販売者の公開鍵PuK_Aは、例えば、優先権付きトランザクションTxPのトランザクションデータの末尾などに記載してもよい。そして、電子署名Sig_A、公開鍵PuK_Aはトランザクションハッシュ(トランザクションID)、及び電子署名の生成には用いないようにする。なお、電子署名Sig_A、公開鍵PuK_Aは、トランザクションハッシュ、及び電子署名の生成に用いないようにすることが可能であれば、優先権付きトランザクションTxPの任意の位置に記載してもよい。
このような不具合を防ぐため、優先権販売装置20は、電子署名Sig_A、公開鍵PuK_Aをトランザクションデータの末尾に記載し、トランザクションハッシュの算出対象外とする。
下記のように公開鍵PuK_Aがノードプログラムに含まれている(ノード装置300が、公開鍵PuK_Aを予め記憶部に保持している)場合は、優先権付きトランザクションTxPが公開鍵PuK_Aを含む必要がない。
ステップ(15)において、ノード装置300は、公開されている優先権付きトランザクションTxPを検証する。
ノード装置300による検証処理には、メモリプール内に記憶された未承認トランザクションに記載されている電子署名を、公開鍵PuK_Aを用いて検証する処理を含む。検証の結果、ノード装置300は、優先権販売者の電子署名Sig_Aが付与されていた未承認トランザクションを優先権付きトランザクションTxPであると認める。
ノード装置300は、ブロックに含めるべきトランザクションを選択するときに、優先権付きトランザクションTxPを、優先権販売者の電子署名Sig_Aが付与されていないトランザクションと比べて優先的に含む選択する。
ステップ(17)において、ノード装置300は、ブロックに対するマイニングを実行する。
ステップ(18)において、マイニングに成功したノード装置300は、コインベーストランザクションや優先権付きトランザクションTxPを含むブロックをネットワークに公開する。
優先権販売装置20は、優先権付きトランザクションTxPを構成せず、優先権販売者の電子署名及び署名検証鍵とトランザクションTxAとを別途公開してもよい。
ノード装置300が、優先権販売者の署名検証鍵(公開鍵)PuK_Aを予め記憶部に保持しておいてもよい。この場合には、優先権販売装置20が優先権付きトランザクションTxPとともに署名検証鍵(公開鍵)PuK_Aを公開しなくてもよい。
ステップS101において、利用者は販売者に対して現金を支払う。
ステップS102において、利用者装置10は、トランザクションTxAを作成する。
ステップS103において、利用者装置10は、トランザクションTxAを優先権販売装置20送信する。
ステップS104において、優先権販売装置20は、トランザクションTxAと優先権販売者の秘密鍵Prk_Aを用いて電子署名Sig_Aを作成する。
ステップS105において、優先権販売装置20は、電子署名Sig_Aを付した送金トランザクションを作成する。
ステップS107において、ノード装置300は、ネットワーク30に公開され、メモリプールに記憶した優先権付きトランザクションTxPを検証する。
ステップS108において、ノード装置300は、優先権付きトランザクションTxPに付与された電子署名を、優先権販売者の公開鍵PuK_Aを用いて検証する。
ステップS109において、ノード装置300は、優先権付きトランザクションTxPとコインベーストランザクションを含むブロックを生成する。メモリプール内に記憶された未承認トランザクションが優先権付きトランザクションTxPを含む場合、ノード装置300は、優先権付きトランザクションTxPを優先権付きトランザクションTxP以外のトランザクションよりも優先してブロックに含める。
ステップS110において、ノード装置300は、マイニングを実行する。マイニングに成功した場合に、ノード装置300は、コインベーストランザクション、優先権付きトランザクションTxPを含むブロックをネットワーク30に公開する。
第2実施例は、第1実施例の変形であり、優先権販売装置20が優先権付きトランザクションを公開するのではなく、利用者が利用者装置10を用いて優先権付きトランザクションを公開する。また第2実施形態は、第1実施形態と同様に優先権販売者の電子署名及び公開鍵を優先権付きトランザクションの末尾に記載する構成を採用することができる。
ステップ(31)において、システムの利用者は、優先権販売装置20を管理する優先権販売者に対して、トランザクション手数料の相当額を支払う。システムの利用者によるトランザクション手数料の相当額の支払いは、例えば、第1実施形態の支払い方法と同様の処理を用いて支払らわれる。
ステップ(32)において、利用者は、自身の端末装置(利用者装置10)を用いて、トランザクションTxAを作成し、優先権販売装置20に送信する。
ステップ(33)において、優先権販売装置20は、トランザクションTxA又はトランザクションTxAのハッシュを優先権販売者の秘密鍵Prk_Aを用いて暗号化した値を含む電子署名Sig_Aを生成し、電子署名Sig_Aを利用者装置10に送信する。
優先権販売装置20は、電子署名Sig_Aの署名検証鍵としての公開鍵PuK_Aも利用者装置10に送信する。下記のように公開鍵PuK_Aがノードプログラムに含まれている(ノード装置300が、公開鍵PuK_Aを予め記憶部に保持している)場合は、優先権販売装置20が公開鍵PuK_Aを送付する必要がない。
優先権付きトランザクションTxPは、ScriptPubKeyに送金先のアドレスを含む。また、優先権付きトランザクションTxPは、ScriptSigに利用者の電子署名、及び利用者の公開鍵を含む。
上記と同じ理由から、電子署名Sig_A、公開鍵PuK_Aは、優先権付きトランザクションTxPのトランザクションデータの末尾に記載される。そして、電子署名Sig_A、公開鍵PuK_Aはトランザクションハッシュ(トランザクションID)の算出対象外である。
ノード装置300による検証処理には、メモリプール内に記憶された未承認トランザクションに記載されている電子署名を、優先権販売者の公開鍵PuK_Aを用いて検証する処理を含む。検証の結果、ノード装置300は、優先権販売者の電子署名Sig_Aが付与されていた未承認トランザクションを優先権付きトランザクションTxPであると認める。
ステップ(36)において、ノード装置300は、マイニング報酬を獲得するためのコインベーストランザクションを作成する。そして、ノード装置300は、ブロックに含めるべきトランザクションを選択してマークルツリーを構築し、マークルルートを含むブロックデータを作成する。
ノード装置300は、ブロックに含めるべきトランザクションを選択するときに、優先権付きトランザクションTxPを、優先権販売者の電子署名Sig_Aが付与されていないトランザクションと比べて優先的に選択する。
ステップ(37)において、ノード装置300は、ブロックに対するマイニングを実行する。
ステップ(38)において、マイニングに成功したノード装置300は、コインベーストランザクションや優先権付きトランザクションTxPを含むブロックをネットワークに公開する。
利用者装置10は、優先権付きトランザクションTxPを構成せず、優先権販売者の電子署名Sig_A及び公開鍵PuK_Aと、トランザクションTxAとを別途公開してもよい。
ノード装置300が、優先権販売者の公開鍵PuK_Aを予め記憶部に保持しておいてもよい。この場合には、優先権販売装置20は、利用者装置10に公開鍵PuK_Aを送信しなくてもよいし、利用者装置10が優先権付きトランザクションTxPとともに公開鍵PuK_Aを公開しなくてもよい。
以下の説明では、トランザクションスクリプトとして、P2PKHを用いるものとして説明する。
ステップS201において、利用者は販売者に対して現金を支払う。
ステップS202において、利用者装置10は、トランザクションTxAを作成する。
ステップS203において、利用者装置10は、作成したトランザクションTxAを優先権販売装置20送信する。
ステップS204において、優先権販売装置20は、トランザクションTxAと優先権販売者の秘密鍵Prk_Aを用いて電子署名Sig_Aを作成する。
ステップS205において、優先権販売装置20は、作成した電子署名Sig_Aを利用者装置10に送信する。
ステップS206において、利用者装置10は、電子署名Sig_Aを付した優先権付きトランザクションTxPを作成する。
ステップS208において、ノード装置300は、ネットワーク30に公開され、メモリプールに記憶した優先権付きトランザクションTxPを検証する。
ステップS209において、ノード装置300は、優先権付きトランザクションTxPに付与された電子署名を検証する。
ステップS210において、ノード装置300は、優先権付きトランザクションTxPとコインベーストランザクションを含むブロックを生成する。メモリプール内に記憶された未承認トランザクションが優先権付きトランザクションTxPを含む場合、ノード装置300は、優先権付きトランザクションTxPを優先権付きトランザクションTxP以外のトランザクションよりも優先してブロックに含める。
ステップS211において、ノード装置300は、マイニングを実行する。マイニングに成功した場合に、ノード装置300は、コインベーストランザクション、優先権付きトランザクションTxPを含むブロックをネットワーク30に公開する。
また利用者は、トランザクション手数料に相当する対価の支払いを優先権販売者に行うのではなく、優先権販売者の代理者(代理店)である代理販売者に対して行ってもよい。
図7は、第3実施例の優先権付与処理の流れを説明する図である。
ステップ(51)において、優先権販売装置20は、優先権販売者の秘密鍵(第1秘密鍵)を用いて電子署名Sig_A(第1電子署名)を生成し、代理販売装置40に送信する。
ステップ(52)において、利用者は現金等を代理販売装置40(代理販売者)に対して支払い、ステップ(53)において、トランザクションTxAを代理販売装置40に送信する。
利用者による対価の支払いとトランザクションTxAの送信をうけて、ステップ(54)において、代理販売装置40は、トランザクションTxA又はトランザクションTxAのハッシュを代理販売者の秘密鍵Prk_B(第2秘密鍵)を用いて暗号化した値を含む電子署名Sig_B(第2電子署名)を生成する。
代理販売者の公開鍵Puk_Bは、代理販売者の秘密鍵Prk_Bとペアになり、電子署名Sig_Bを検証するための署名検証鍵(第2検証鍵)となる。
優先権付きトランザクションTxPは、ScriptPubKeyに送金先のアドレスを含む。
また、優先権付きトランザクションTxPは、ScriptSigに利用者の電子署名、及び利用者の公開鍵を含む。
優先権販売者の電子署名Sig_A、代理販売者の電子署名Sig_B、代理販売者の公開鍵Puk_Bは、例えば、優先権付きトランザクションTxPのトランザクションデータの末尾などに記載してもよい。そして、電子署名Sig_A、電子署名Sig_B、公開鍵Puk_Bはトランザクションハッシュ、及び電子署名の生成には用いないようにする。なお、電子署名Sig_A、電子署名Sig_B、公開鍵Puk_Bは、トランザクションハッシュ、及び電子署名の生成に用いないようにすることが可能であれば、優先権付きトランザクションTxPの任意の位置に記載してもよい。
優先権販売者の電子署名Sig_A、代理販売者の電子署名Sig_B、代理販売者の公開鍵Puk_Bが優先権付きトランザクションTxPのScriptSigに記載されると、トランザクションハッシュがトランザクションTxAから変化してしまう。また電子署名Sig_A、公開鍵PuK_Aが優先権付きトランザクションTxPのOP_RETURNに記載されると、署名対象データが変化するため、ScriptSigに含まれる利用者の電子署名が無効になる。
このような不具合を防ぐため、優先権販売者の電子署名Sig_A、代理販売者の電子署名Sig_B、代理販売者の公開鍵Puk_Bをトランザクションデータの末尾に記載し、トランザクションハッシュの算出対象外とする。
ノード装置300は、優先権販売者の電子署名Sig_Aを検証するための署名検証鍵(第1検証鍵)として、優先権販売者の秘密鍵Prk_Aと対になる公開鍵Puk_Aを保持している。あるいは、公開鍵Puk_Aが優先権付きトランザクションTxPに付与されていてもよい。
ノード装置300は、優先権販売者の公開鍵Puk_Aを用いて、未承認トランザクションに付与されている電子署名に優先権販売者の電子署名Sig_Aが含まれているか否かを検証する。
代理販売者の電子署名Sig_Bが含まれていることが検証されると、ノード装置300は、未承認トランザクションが、優先権販売装置20によって優先権を付与された優先権付きトランザクションTxPであると認める。
その後ノード装置300は、図3のステップ(16)~(18)などの場合と同様に、、優先権付きトランザクションTxPを、代理販売者の電子署名Sig_Bが付与されていないトランザクションよりも優先的に含むブロックを生成する。そして、マイニングに成功したノード装置300は、生成したブロックを分散型台帳に公開する。
そして利用者装置10が、優先権販売者の電子署名Sig_Aと、代理販売者の電子署名Sig_Bと、代理販売者の秘密鍵Prk_Bと対になる公開鍵と、を付与した優先権付きトランザクションTxPをブロックチェーン(ネットワーク30)に公開してもよい。
以下の説明では、トランザクションスクリプトとして、P2PKHを用いるものとして説明する。
ステップS301において、優先権販売装置20は、優先権販売者の秘密鍵Prk_Aで電子署名Sig_Aを作成する。
ステップS302において、優先権販売装置20は、電子署名Sig_Aを代理販売装置40に送信する。
ステップS303において、利用者は販売者に対して現金を支払う。
ステップS304において、利用者装置10は、トランザクションTxAを作成する。
ステップS305において、利用者装置10は、作成したトランザクションTxAを代理販売装置40に送信する。
ステップS306において、代理販売装置40は、トランザクションTxAと代理販売者の秘密鍵Prk_Bを用いて電子署名Sig_Bを生成する。
ステップS308において、代理販売装置40は、電子署名Sig_Aと、電子署名Sig_B付した優先権付きトランザクションTxPをネットワーク30に公開する。
ステップS309において、ノード装置300は、ネットワーク30に公開されてメモリプールに記憶した優先権付きトランザクションTxPを検証する。
ステップS310において、ノード装置300は、優先権付きトランザクションTxPに付与された電子署名を検証する。
ステップS311において、ノード装置300は、優先権付きトランザクションTxPとコインベーストランザクションを含むブロックを生成する。メモリプール内に記憶された未承認トランザクションが優先権付きトランザクションTxPを含む場合、ノード装置300は、優先権付きトランザクションTxPを優先権付きトランザクションTxP以外のトランザクションよりも優先してブロックに含める。
ステップS311において、ノード装置300は、マイニングを実行する。マイニングに成功した場合に、ノード装置300は、コインベーストランザクション、優先権付きトランザクションTxPを含むブロックをネットワーク30に公開する。
図9の例では、図7とは異なり、署名検証鍵として代理販売者の公開鍵PuK_BをトランザクションTxPに付すのではなく、別途ノード装置300に配布する。
ステップ(71)において、優先権販売装置20は、優先権販売者の秘密鍵(第1秘密鍵)を用いて電子署名Sig_A(第1電子署名)を生成し、代理販売装置40に送信する。
ステップ(72)において、利用者は現金等を代理販売装置40(代理販売者)に対して支払い、ステップ(73)において、トランザクションTxAを代理販売装置40に送信する。
対価の支払いとトランザクションTxAの送信をうけて、ステップ(74)において、代理販売装置40は、電子署名Sig_B(第2電子署名)を生成する。電子署名Sig_Bは、トランザクションTxA又はトランザクションTxAのハッシュを代理販売者の秘密鍵Prk_B(第2秘密鍵)を用いて暗号化した値を含む。
ステップ(75)において、代理販売装置40は、優先権販売者の電子署名Sig_Aを付した代理販売者の公開鍵をノード装置300に送信する。
ステップ(76)において、ノード装置300は、優先権販売者の公開鍵PuK_Aを用いて、ノード装置300から送信された代理販売者の公開鍵PuK_Bに付与されている電子署名を検証する。
ノード装置300は、優先権販売者の電子署名Sig_Aが付与されており優先権を証明する代理販売者の公開鍵PuK_Bであることが確かめられた公開鍵PuK_Bを、記憶部に記憶する。
ステップ(77)において、代理販売装置40は、トランザクションTxAに、代理販売者の電子署名Sig_Bを付与した優先権付きトランザクションTxPをネットワーク30に公開する。
すなわち、優先権付きトランザクションTxPは、ScriptPubKeyに送金先のアドレスを含む。また、優先権付きトランザクションTxPは、ScriptSigに代理販売者の電子署名Sig_B、利用者の電子署名、及び利用者の公開鍵を含む。
ノード装置300は、ステップ(76)で検証した代理販売者の公開鍵PuK_Bを用いて、未承認トランザクションに付与されている電子署名に代理販売者の電子署名Sig_Bが含まれているか否かを検証する。
代理販売者の電子署名Sig_Bが含まれていることが検証されると、ノード装置300は、未承認トランザクションが、優先権販売装置20によって優先権を付与された優先権付きトランザクションTxPであると認める。
その後ノード装置300は、図3のステップ(16)~(18)などの場合と同様に、、優先権付きトランザクションTxPを、代理販売者の電子署名Sig_Bが付与されていないトランザクションよりも優先的に含むブロックを生成する。そして、マイニングに成功したノード装置300は、生成したブロックを分散型台帳に公開する。
なお、代理販売装置40による、優先権販売者の電子署名Sig_Aを付した代理販売者の公開鍵の送信タイミングは、上記限定されることはない。
例えば、電子署名Sig_Aを付した代理販売者の公開鍵は、利用者による現金の支払い後、ノード装置300によるトランザクションTxPの検証までにノード装置300に送信されればよい。
ノード装置300による、優先権販売者の電子署名Sig_Aを付した代理販売者の公開鍵の検証についても同様であり、利用者による現金の支払い後、ノード装置300によるトランザクションTxPの検証までに行われればよい。
以下の説明では、トランザクションスクリプトとして、P2PKHを用いるものとして説明する。
ステップS401において、優先権販売装置20は、優先権販売者の秘密鍵Prk_Aで電子署名Sig_Aを作成する。
ステップS402において、優先権販売装置20は、電子署名Sig_Aを代理販売装置40に送信する。
ステップS403において、利用者は販売者に対して現金を支払う。
ステップS404において、利用者装置10は、トランザクションTxAを作成する。
ステップS405において、利用者装置10は、作成したトランザクションTxAを代理販売装置40に送信する。
ステップS406において、代理販売装置40は、代理販売者の秘密鍵Prk_Bで電子署名Sig_Bを生成する。
ステップS408において、代理販売装置40は、優先権販売者の電子署名Sig_Aを付した代理販売者の公開鍵をノード装置300に送信する。
ステップS409において、ノード装置300は、優先権販売者の公開鍵Puk_Aで、代理販売者の公開鍵に付与されている優先権販売者の電子署名Sig_Aを検証する。
ステップS410において、代理販売装置40は、代理販売者の電子署名Sig_Bを付した優先権付きトランザクションTxPを作成する。
ステップS411において、代理販売装置40は、代理販売者の電子署名Sig_B付した優先権付きトランザクションTxPをネットワーク30に公開する。
ステップS412において、ノード装置300は、優先権付きトランザクションTxPを検証する。
ステップS413において、ノード装置300は、優先権付きトランザクションTxPに付与された電子署名を検証する。
ステップS414において、ノード装置300は、優先権付きトランザクションTxPとコインベーストランザクションを含むブロックを生成する。メモリプール内に記憶された未承認トランザクションが優先権付きトランザクションTxPを含む場合、ノード装置300は、優先権付きトランザクションTxPを、優先権付きトランザクションTxP以外のトランザクションよりも優先してブロックに含める。
ステップS415において、ノード装置300は、マイニングを実行する。マイニングに成功した場合に、ノード装置300は、コインベーストランザクション、優先権付きトランザクションTxPを含むブロックをネットワーク30に公開する。
図11乃至図14は、各装置の一実施例を示す機能ブロック図である。
利用者装置10、優先権販売装置20、ノード装置300は夫々、他の装置が有する機能の少なくとも1つ以上の機能を有してもよい。
図11を参照して、優先権販売装置20の機能を説明する。
優先権販売装置20は、制御部60と、通信部91と、記憶部92とを含む。
通信部91は、優先権販売装置20をネットワークに接続する。
記憶部92は、各種情報を記憶する。記憶部92は、制御部60を確認部61と、生成部62と、出力部63と、作成部64と、公開部65と、取得部67として機能させる販売者プログラムを記憶する。
制御部60は、確認部61と、生成部62と、出力部63と、作成部64と、公開部65と、取得部67と、を含む。
確認部61は、例えば、外部の収納代行サービスなどを介して、利用者よりの法定通貨の入金を確認する。
生成部62は、優先権販売者の秘密鍵を用いて、優先権販売者の電子署名Sig_Aを生成する。
出力部63は、電子署名Sig_Aを出力し、通信部91を介して電子署名Sig_Aを利用者に送信する。具体的には、出力部63は、通信部91を介して、電子署名をE-MAILなどで利用者装置10に向けて送信したりする。また、出力部63は、通信部91を介して、利用者装置10から受信したトランザクションTxAに署名を付した優先権付きトランザクションTxPを利用者に送信してもよい。
作成部64は、電子署名を付した優先権付きトランザクションTxPを作成する。
公開部65は、作成部64が作成した優先権付きトランザクションTxPをネットワーク30に公開する。
取得部67は、利用者装置10から、トランザクションTxAを取得する。
図12を参照して、ノード装置300の機能を説明する。
ノード装置300は、制御部100と、通信部111と、記憶部112とを含む。
通信部111は、優先権販売装置20をネットワークに接続する。
記憶部112は、署名検証鍵と、各種情報とを記憶する。記憶部112は、制御部100を取得部101と、検証部102と、作成部103と、生成部104と、実行部105と、公開部106として機能させるノードプログラムを記憶する。
制御部100は、取得部101と、検証部102と、作成部103と、生成部104と、実行部105と、公開部106と、を含む。
記憶部112は、各種情報を記憶する。記憶部112は、例えば、優先権販売者の電子署名を検証するために用いる優先権販売者の公開鍵を記憶する。
公開鍵は1以上を記憶し、一以上の異なる優先権販売者の優先権販売装置20によって発行された優先権付きトランザクションに対応する。
また、記憶部112にはメモリプールを備える。メモリプールは、ブロックに未追加の未承認トランザクションを一時的に記憶しておく領域である。
ノード装置300は、メモリプールに溜まっている未承認トランザクションからブロックに追加するものを選択し、マイニングをして新たにブロックを生成する。
取得部101は、ネットワーク30から、トランザクションを取得し、メモリプールに記憶する。
検証部102は、メモリプール内に記憶されたトランザクションを検証する。
検証部102は、メモリプール内に記憶されたトランザクションに付された電子署名を署名検証鍵としての公開鍵によって検証する。
メモリプール内に記憶されるトランザクションのうち、優先権販売者の公開鍵(署名検証鍵)Puk_Aに対応する電子署名Sig_Aが付与されたトランザクションは、優先権販売者の電子署名を付与された優先権付きトランザクションである。これを優先的にブロックに含める(承認する)トランザクションとして選択する。
作成部103は、マイニングが成功した場合にマイニング報酬を受け取るためのコインベーストランザクションを作成する。
生成部104は、コインベーストランザクションを含むブロックを生成する。生成部104は、検証部102による検証によって確認された優先権付きトランザクションTxPがあるとき、優先権付きトランザクションTxPを優先的にブロックに含める。
実行部105は、マイニングを実行する。
公開部106は、ブロックをネットワークに公開する。
図13を参照して、利用者装置10の機能を説明する。
利用者装置は、制御部120と、通信部131と、記憶部132と、を含む。
通信部131は、利用者装置10をネットワークに接続する。
記憶部132は、各種情報を記憶する。記憶部132は、制御部120を取得部121と、作成部122と、出力部123と、公開部124として機能させる利用者プログラムを記憶する。
制御部120は、取得部121と、作成部122と、公開部123と、を含む。
取得部121は、優先権販売装置20から、優先権販売者の電子署名を取得する。取得部121は、優先権販売装置20から、優先権販売者の電子署名付きの優先権付きトランザクションを取得してもよい。
作成部122は、トランザクションを作成する。また、作成部122は、優先権販売装置20から電子署名を取得したとき、電子署名を付した優先権付きトランザクションを作成する。
出力部123は、作成部122が作成したトランザクションを出力し、通信部131を介してトランザクションを優先権販売装置20に送信する。
公開部124は、作成部122が優先権付きトランザクションを作成したとき、優先権付きトランザクションをネットワーク30に公開する。また、公開部123は、優先権販売装置20から、優先権販売者の電子署名付きの優先権付きトランザクションを取得したとき、取得した優先権付きトランザクションをネットワーク30に公開してもよい。
代理販売者装置40は、制御部140と、通信部151と、記憶部152とを含む。
通信部151は、代理販売者装置40をネットワークに接続する。
記憶部152は、各種情報を記憶する。記憶部152は、制御部140を確認部141と、生成部142と、出力部143と、作成部144と、公開部145と、取得部146として機能させる販売者プログラムを記憶する。
制御部140は、確認部141と、生成部142と、出力部143と、作成部144と、公開部145と、取得部146と含む。
確認部141は、例えば、外部の収納代行サービスなどを介して、利用者よりの法定通貨の入金を確認する。
生成部142は、代理販売者装置40の秘密鍵Prk_Bを用いて、代理販売者装置40の電子署名Sig_Bを生成する。
出力部143は、電子署名Sig_Bを出力し、通信部151を介して電子署名Sig_Bを利用者に送信する。具体的には、出力部143は、通信部151を介して、電子署名をE-MAILなどで利用者装置10に向けて送信したりする。また、出力部63は、通信部91を介して、利用者装置10から受信したトランザクションTxAに署名を付した優先権付きトランザクションTxPを利用者に送信してもよい。
作成部14は、電子署名を付した優先権付きトランザクションTxPを作成する。
公開部145は、作成部144が作成した優先権付きトランザクションTxPをネットワーク30に公開する。
取得部146は、利用者装置10から、トランザクションTxAを取得する。
図15を参照して、コンピュータ装置50の構成について説明する。
図15において、コンピュータ装置50は、制御回路51と、記憶装置52と、読書装置53と、記録媒体54、通信インターフェイス55と、入出力インターフェイス56と、入力装置57と、表示装置58とを含む。また、通信インターフェイス55は、ネットワーク600と接続される。そして各構成要素は、バス59により接続される。利用者装置10、優先権販売装置20は、ノード装置300は、コンピュータ装置50に記載の構成要素の一部または全てを適宜選択して構成することができる。
記憶装置52は、各種データを記憶する。そして、記憶装置52は、例えば、Read Only Memory(ROM)及びRandom Access Memory(RAM)などのメモリや、Hard Disk(HD)などである。記憶装置52は、制御回路51を、制御部60、100、120、130として機能させるプログラムを記憶してもよい。記憶装置52は、例えば、図11において、記憶部92として機能する。また記憶部52は、図12において、記憶部112として機能する。また記憶部52は、図13において記憶部132として機能する。また記憶部52は、図14において記憶部152として機能する。
RAMに読み出されたプログラムを制御回路51で実行することにより、優先権販売装置20は、確認処理と、生成処理と、出力処理と、作成処理と、公開処理と、取得処理と、のいずれか1以上を含む優先権付与処理を実行する。
またノード装置300は、RAMに読み出されたプログラムを制御回路51で実行することにより、取得処理と、検証処理と、生成処理と、実行処理と、作成処理と、公開処理と、のいずれか1以上を含むマイニング処理を実行する。
また利用者装置10は、RAMに読み出されたプログラムを制御回路51で実行することにより、取得処理と、生成処理と、公開処理と、のいずれか1以上を含む処理を実行する
また代理販売装置40は、確認処理と、生成処理と、出力処理と、作成処理と、公開処理と、取得処理と、のいずれか1以上を含む優先権付与処理を実行する。
なお、プログラムは、制御回路51が通信インターフェイス55を介してアクセス可能であれば、ネットワーク600上のサーバが有する記憶装置に記憶されていても良い。
記録媒体54は、各種データを保存する。記録媒体54は、例えば、優先権付与処理プログラム(販売者プログラム、ノードプログラム、及び利用者プログラムの少なくとも一つを含む。)を記憶する。記録媒体54は、例えば、Secure Digital(SD)メモリーカード、Floppy Disk(FD)、Compact Disc(CD)、Digital Versatile Disk(DVD)、Blu-ray(登録商標) Disk(BD)、及びフラッシュメモリなどの不揮発性メモリ(非一時的記録媒体)である。
通信インターフェイス55は、例えば、図11において、通信部91として機能する。また通信インターフェイス55は、図12において、通信部111として機能する。また通信インターフェイス55は、図13において、通信部131として機能する。また、図14において、通信部141として機能する。
入出力インターフェイス56は、例えば、各種入力装置と着脱可能に接続するインターフェイスである。入出力インターフェイス56は、接続された各種入力装置とコンピュータ装置50とを通信可能に接続する。そして、入出力インターフェイス56は、接続された各種入力装置から入力された信号を、バス59を介して制御回路51に出力する。また、入出力インターフェイス55は、制御回路51から出力された信号を、バス59を介して入出力装置に出力する。
ネットワーク600は、例えば、LAN、無線通信、P2Pネットワーク、またはインターネットなどであり、コンピュータ装置50と他の装置を通信接続する。
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
(付記1)
第1秘密鍵を用いて生成された、優先権承認用の電子署名を検証する第1検証鍵を記憶する記憶部と、
前記第1検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている電子署名を検証する検証部と、
前記検証部により前記未承認のトランザクションに付与されている電子署名が前記優先権承認用の電子署名であることが検証されたとき、前記未承認のトランザクションを、前記優先権承認用の電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成する生成部と、
前記ブロックを前記分散型台帳に公開する公開部と、
を備えることを特徴とするノード装置。
(付記2)
前記優先権承認用の電子署名は、
前記トランザクションと、前記優先権販売者の秘密鍵とを用いて生成された電子署名である
ことを特徴とする付記1に記載のノード装置。
(付記3)
前記ノード装置は、さらに、
前記ブロックに含まれる前記第2電子署名が付与された未承認のトランザクションの数に応じて、マイニングの報酬を調整した報酬取得用のトランザクションを作成する作成部を備え、
前記生成部は、
前記報酬取得用のトランザクションを含むブロックを生成する
ことを特徴とする請求項1または2のいずれか一つに記載のノード装置。
(付記4)
前記記憶部は、前記第1検証鍵に代えて、
代理販売者の前記第1検証鍵と、優先権販売者の第2秘密鍵とを用いて生成された、第1検証鍵承認用の電子署名を検証する第2検証鍵を記憶し、
前記検証部は、
前記第2検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている複数の電子署名を検証し、前記複数の電子署名に前記第1検証鍵承認用の電子署名が含まれることが検証されたとき、前記未承認のトランザクションにさらに付与されている、前記第1検証鍵を用いて、前記未承認のトランザクションに付与されている複数の電子署名を検証し、
前記生成部は、
前記検証部により前記未承認のトランザクションに付与されている電子署名に前記権承認用の電子署名が含まれることが検証されたとき、前記未承認のトランザクションを、前記権承認用の電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成する
ことを特徴とする付記1に記載のノード装置。
20 販売者措置
40 代理販売装置
50 コンピュータ装置
51 制御回路
52 記憶装置
53 読書装置
54 記録媒体
55 通信I/F
56 入出力I/F
57 入力装置
58 表示装置
59 バス
60、100、120、140 制御部
91、111、131、151 通信部
92、112、132、152 記憶部
300 ノード装置
Claims (14)
- トランザクションに優先的な承認権を付与する優先権販売者の秘密鍵を用いて生成された、優先権承認用の電子署名を検証する検証鍵を記憶する記憶部と、
前記検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている電子署名を検証する検証部と、
前記検証部により前記未承認のトランザクションに付与されている電子署名が前記優先権承認用の電子署名であることが検証されたとき、前記未承認のトランザクションを、前記優先権承認用の電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成する生成部と、
前記ブロックを前記分散型台帳に公開する公開部と、
を備えることを特徴とするノード装置。 - 前記優先権承認用の電子署名は、
前記トランザクションと、前記優先権販売者の秘密鍵とを用いて生成された電子署名である
ことを特徴とする請求項1に記載のノード装置。 - 前記ノード装置は、さらに、
前記ブロックに含まれる前記優先権承認用の電子署名が付与された未承認のトランザクションの数に応じて、マイニングの報酬を調整した報酬取得用のトランザクションを作成する作成部を備え、
前記生成部は、
前記報酬取得用のトランザクションを含むブロックを生成する
ことを特徴とする請求項1または2のいずれか一つに記載のノード装置。 - トランザクションに優先的な承認権を付与する優先権販売者の第1秘密鍵を用いて生成された第1電子署名を検証する第1検証鍵を記憶する記憶部と、
前記第1検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている複数の電子署名を検証し、前記複数の電子署名に前記第1電子署名が含まれることが検証されたとき、前記未承認のトランザクションにさらに付与されている、代理販売者の第2秘密鍵を用いて生成された第2電子署名を検証する第2検証鍵を用いて、前記未承認のトランザクションに付与されている複数の電子署名を検証する検証部と、
前記検証部により前記未承認のトランザクションに付与されている電子署名に第2電子署名が含まれることが検証されたとき、前記未承認のトランザクションを、前記第2電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成する生成部と、
前記ブロックを前記分散型台帳に公開する公開部と、
を備えることを特徴とするノード装置。 - 優先権販売者の第1秘密鍵を用いて生成された第1電子署名を検証する第1検証鍵と、前記第1電子署名により検証された代理販売者の第2検証鍵を記憶する記憶部と、
前記記憶部に第2検証鍵を記憶するとき、前記第1検証鍵を用いて、前記第2検証鍵に付与されている電子署名を検証し、分散型台帳に未承認のトランザクションが公開されたとき、前記第2検証鍵を用いて、前記未承認のトランザクションに付与されている電子署名を検証する検証部と、
前記検証部により前記未承認のトランザクションに付与されている電子署名が前記代理販売者の第2秘密鍵を用いて生成された第2電子署名であることが検証されたとき、前記未承認のトランザクションを、前記第2電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成する生成部と、
前記ブロックを前記分散型台帳に公開する公開部と、
を備えることを特徴とするノード装置。 - 前記第1電子署名は、
前記トランザクションと、前記第1秘密鍵とを用いて生成された電子署名である
ことを特徴とする請求項4または5に記載のノード装置。 - 前記第2電子署名は、
前記第2検証鍵と、前記第1秘密鍵とを用いて生成された電子署名である
ことを特徴とする請求項4から6のいずれか一つに記載のノード装置。 - 前記ノード装置は、さらに、
前記ブロックに含まれる前記第2電子署名が付与された未承認のトランザクションの数に応じて、マイニングの報酬を調整した報酬取得用のトランザクションを作成する作成部を備え、
前記生成部は、
前記報酬取得用のトランザクションを含むブロックを生成する
ことを特徴とする請求項4から7のいずれか一つに記載のノード装置。 - 情報処理装置と、ノード装置と、を備える情報処理システムであって、
前記情報処理装置は、
ユーザが作成したトランザクションを取得する取得部と、
前記取得部が取得したユーザが作成したトランザクションと、前記サーバ装置の秘密鍵とを用いて、前記ユーザが作成したトランザクションに付与する電子署名を生成する第1生成部と、
を備え、
前記ノード装置は、
前記秘密鍵を用いて生成された電子署名を検証する検証鍵を記憶する記憶部と、
前記検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている電子署名を検証する検証部と、
前記検証部により前記未承認のトランザクションに付与されている電子署名が前記秘密鍵を用いて生成された電子署名であることが確認されたとき、前記未承認のトランザクションを、前記秘密鍵を用いて生成された電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成する第2生成部と、
前記ブロックを前記分散型台帳に公開する第1公開部と、
を備えることを特徴とする情報処理システム。 - 前記第1生成部は、
前記ユーザから電子署名を生成する対価を得たことが確認されたとき、前記秘密鍵を用いて、前記ユーザが作成したトランザクションに付与する電子署名を生成する
ことを特徴とする請求項9に記載の情報処理システム。 - 前記情報処理装置は、さらに、
前記ユーザが作成したトランザクションに前記秘密鍵を用いて生成された電子署名を付与して、前記分散型台帳に公開する第2公開部
を備えることを特徴とする請求項9または10に記載の情報処理システム。 - 前記情報処理システムは、さらに、
クライアント装置を備え、
前記情報処理装置は、さらに、
前記第1生成部により生成された前記秘密鍵を用いて生成された電子署名を前記クライアント装置に送信する送信部を備え、
前記クライアント装置は、
前記秘密鍵を用いて生成された電子署名を前記ユーザが作成したトランザクションに付与する付与部と、
前記秘密鍵を用いて生成された電子署名を付与したトランザクションを、前記分散型台帳に公開する第2公開部と、
を備えることを特徴とする請求項9または10に記載の情報処理システム。 - プロセッサによって実行される優先権付与方法であって、
トランザクションに優先的な承認権を付与する優先権販売者の秘密鍵を用いて生成された、優先権承認用の電子署名を検証する検証鍵を記憶部に記憶し、
前記検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている電子署名を検証し、
前記検証部により前記未承認のトランザクションに付与されている電子署名が前記優先権承認用の電子署名であることが検証されたとき、前記未承認のトランザクションを、前記優先権承認用の電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成し、
前記ブロックを前記分散型台帳に公開する、
を備えることを特徴とする優先権付与方法。 - プロセッサに実行させる優先権付与プログラムであって、
トランザクションに優先的な承認権を付与する優先権販売者の秘密鍵を用いて生成された、優先権承認用の電子署名を検証する検証鍵を記憶部に記憶し、
前記検証鍵を用いて、分散型台帳に公開された未承認のトランザクションに付与されている電子署名を検証し、
前記検証部により前記未承認のトランザクションに付与されている電子署名が前記優先権承認用の電子署名であることが検証されたとき、前記未承認のトランザクションを、前記優先権承認用の電子署名が付与されていない未承認のトランザクションよりも優先的に含むブロックを生成し、
前記ブロックを前記分散型台帳に公開する、
を備えることを特徴とする優先権付与プログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021035335A JP7050368B1 (ja) | 2021-03-05 | 2021-03-05 | ノード装置、情報処理システム、優先権付与方法及び優先権付与プログラム |
PCT/JP2021/042290 WO2022185625A1 (ja) | 2021-03-05 | 2021-11-17 | ノード装置、情報処理システム、優先権付与方法及び優先権付与プログラム |
US18/457,864 US20240020696A1 (en) | 2021-03-05 | 2023-08-29 | Information processing apparatus, and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021035335A JP7050368B1 (ja) | 2021-03-05 | 2021-03-05 | ノード装置、情報処理システム、優先権付与方法及び優先権付与プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP7050368B1 true JP7050368B1 (ja) | 2022-04-08 |
JP2022135495A JP2022135495A (ja) | 2022-09-15 |
Family
ID=81259439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021035335A Active JP7050368B1 (ja) | 2021-03-05 | 2021-03-05 | ノード装置、情報処理システム、優先権付与方法及び優先権付与プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240020696A1 (ja) |
JP (1) | JP7050368B1 (ja) |
WO (1) | WO2022185625A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019219631A1 (en) * | 2018-05-15 | 2019-11-21 | International Business Machines Corporation | Prioritization in a permissioned blockchain |
-
2021
- 2021-03-05 JP JP2021035335A patent/JP7050368B1/ja active Active
- 2021-11-17 WO PCT/JP2021/042290 patent/WO2022185625A1/ja active Application Filing
-
2023
- 2023-08-29 US US18/457,864 patent/US20240020696A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019219631A1 (en) * | 2018-05-15 | 2019-11-21 | International Business Machines Corporation | Prioritization in a permissioned blockchain |
Also Published As
Publication number | Publication date |
---|---|
WO2022185625A1 (ja) | 2022-09-09 |
JP2022135495A (ja) | 2022-09-15 |
US20240020696A1 (en) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11809608B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
JP6940182B2 (ja) | ブロックチェーン管理装置、ブロックチェーン管理方法及びプログラム | |
US10592985B2 (en) | Systems and methods for a commodity contracts market using a secure distributed transaction ledger | |
US11108566B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
CN112749957A (zh) | 基于区块链的资产权利管理系统及其方法 | |
US20200051041A1 (en) | System and method for arbitrating a blockchain transaction | |
JP2001216198A (ja) | 利用許可証発行装置および方法 | |
CN108898021B (zh) | 基于区块链的威胁情报处理方法、系统及计算设备 | |
CN111899001A (zh) | 基于区块链的汇款方法及装置 | |
US20180152429A1 (en) | Systems and methods for publicly verifiable authorization | |
CN112561407B (zh) | 基于区块链的资产管理方法、系统及装置 | |
RU2635874C2 (ru) | Способ обеспечения безопасных транзакций электронной коммерции | |
JP7050368B1 (ja) | ノード装置、情報処理システム、優先権付与方法及び優先権付与プログラム | |
JP6885457B2 (ja) | 仮想通貨の支払代行装置、仮想通貨の支払代行方法及びプログラム | |
KR102070252B1 (ko) | 블록체인 기반 결제 서비스 서버 및 이의 동작 방법 | |
JP7048039B1 (ja) | 決済システム、決済装置、決済方法及び決済プログラム | |
CN112967055A (zh) | 通过区块链发行应收凭证的方法及装置 | |
JP7371927B2 (ja) | 処理システム、処理装置、処理方法及び処理プログラム | |
Clarke | Trust*: Extending the Reach of Trust in Distributed Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220209 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20220209 |
|
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: 20220315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220322 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7050368 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |