JP2018166000A - 階層型ネットワークシステム、これに用いられるノード及びプログラム - Google Patents
階層型ネットワークシステム、これに用いられるノード及びプログラム Download PDFInfo
- Publication number
- JP2018166000A JP2018166000A JP2018130298A JP2018130298A JP2018166000A JP 2018166000 A JP2018166000 A JP 2018166000A JP 2018130298 A JP2018130298 A JP 2018130298A JP 2018130298 A JP2018130298 A JP 2018130298A JP 2018166000 A JP2018166000 A JP 2018166000A
- Authority
- JP
- Japan
- Prior art keywords
- network
- node
- block
- transaction
- asset
- 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
Links
- 238000012546 transfer Methods 0.000 claims description 35
- 238000012790 confirmation Methods 0.000 claims description 15
- 230000008034 disappearance Effects 0.000 claims description 7
- 238000003672 processing method Methods 0.000 claims 7
- 238000012545 processing Methods 0.000 description 42
- 238000000034 method Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 229910052799 carbon Inorganic materials 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000009365 direct transmission Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/1834—Distributed file systems implemented based on peer-to-peer networks, e.g. gnutella
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
-
- 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/3236—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 using cryptographic hash functions
-
- 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
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】ネットワーク間における資産移動の安全性を確保する。【解決手段】上位ネットワークAから下位ネットワークBへの資産移動は制限なく許容する一方、下位ネットワークBから上位ネットワークAへの資産移動は、上位ネットワークAに引き渡す資産の総量Σbaが上位ネットワークAより受け取った資産の総量Σabを超えないことを条件として許容される。【選択図】図2
Description
本発明は、階層型ネットワークシステム、これに用いられるノード装置およびコンピュータプログラムに係り、特に、ネットワーク間で資産を移動する仕組みに関する。
従来、ブロックチェーンと称される技術が知られている。この技術は、ネットワーク上の多数のノード間で同一の記録を同期させる仕組みであって、既存の記録に新しい記録を追加する場合、記録単位となるブロックが、直前のブロックの内容(ハッシュ)を引き継ぎながら、チェーン状に次々と追加されていくことから、このように称されている。一般に、ブロックチェーンという用語は、ブロックがチェーン状に繋がったデータベースの構造を指すこともあるが、P2Pネットワークとして稼働する仕組みや、トランザクションの承認の仕組みなども含めた広義の意味で用いられることもあり、現時点において、その定義は定かではない。そこで、本明細書では、両者の混同を防ぐために、前者の狭義の意味で用いる場合は「ブロックチェーン」、後者の広義の意味で用いる場合は「ブロックチェーン技術」とそれぞれ称することとする。
ブロックチェーン技術は、ゼロダウンタイム、改ざんの困難性、低コストといった多くの利点を有しているため、ビットコイン(bitcoin)やその派生通貨を含む仮想通貨にとどまらず、様々な資産(asset)に関する情報をトランザクションとして管理する手法としても注目され始めている。例えば、非特許文献1には、信頼性確立のために重要な役割を果たし得るブロックチェーンを、様々な文書の存在証明やアイデンティティ証明に使うことが記載されている。
また、非特許文献2には、図14に示すように、サイドチェーンを導入して、従来複数の暗号通貨が持っていた独自のブロックチェーンを相互に結び、暗号通貨全体の資産をひとつのブロックチェーンとして転送することが記載されている。このサイドチェーンについて、非特許文献2には、パブリックな分散型取引元帳データベースであるブロックチェーンの側鎖となる概念であること、および、ビットコインのブロックチェ−ンをメインチェ−ンとし、双方向連動(two-ways peg)させることで、暗号技術や新技術の研究開発やβ版のテスト、およびスマートコントラクトや現実資産のレジストリとして、様々な資源の効率的な活用が可能であることが記載されている。
ブロックチェーンはサイバー空間での信頼関係を築く――「存在証明」や「アイデンティティ証明」が持つ重要な意味、[online]、[平成28年3月28日検索]、インターネット<URL:http://diamond.jp/articles/-/53050>
ビットコインは「サイドチェイン」にインターネット興隆の夢を見るか?、[online]、[平成28年2月18日検索]、インターネット<http://btcnews.jp/blockstream-released-sidechains-whitepaper/>
ところで、ブロックチェーン技術では、その仕組み上、P2Pネットワーク上のすべてのノードが膨大なトランザクションのコピーを保持している。そのため、一つのネットワークが単位時間当たりに処理できるトランザクションの数には、自ずと限界がある。その結果、トランザクション処理のスケーラビリティを確保できず、各ノードの処理能力やネットワーク帯域によって、十分な処理速度を確保できないといった問題がある。
スケーラビリティを高めるためには、サイドチェーン技術を用いて、一つの大きなネットワークを複数の小さなネットワークに分割し、トランザクションの管理単位を細分化することが有効であり、その一つとして、ハブ型のトポロジーが考えられる。しかしながら、ハブ型の場合、それぞれのネットワークが互いに対等であり、その信頼性に優劣はない。そのため、あるネットワークから他のネットワークへ資産移動の安全性が問題となる。
本発明は、かかる事情に鑑みてなされたもので、その目的は、ネットワーク間における資産移動の安全性を確保することである。
第1の発明は、階層構造において上下に接続されたネットワーク間で資産の移動が行われる階層型ネットワークシステムを提供する。この階層型ネットワークシステムは、上位ネットワークと、下位ネットワークとを有する。上位ネットワークは、自己のネットワーク内で行われた取引と、自己以外のネットワークとの間で行われた資産の移動とを第1の取引履歴として管理する。また、上位ネットワークは、自己のネットワークよりも下位に位置するネットワークに対して、資産の移動が許容される。一方、下位ネットワークは、上位ネットワークよりも下位に位置するネットワークであって、自己のネットワーク内で行われた取引と、自己以外のネットワークとの間で行われた資産の移動とを第2の取引履歴として管理する。また、下位ネットワークは、第2の取引履歴を参照して、上位ネットワークに引き渡す資産の総量が上位ネットワークより受け取った資産の総量を超えないことを条件として、上位ネットワークに対する資産の移動が許容される。
ここで、第1の発明において、資産の移動元となるネットワークから資産の移動先となるネットワークに至る資産の移動経路上に、少なくとも一つのネットワークが介在する場合、階層構造において上下に接続されたネットワーク間での資産の移動が繰り返されることが好ましい。
第2の発明は、上記第1の発明に係る階層型ネットワークシステムにおける上位ネットワーク用のノード装置を提供する。このノード装置は、ブロック生成部と、トランザクション処理部とを有する。ブロック生成部は、上位ネットワークのアドレスを資産の移動元とし、下位ネットワークのアドレスを資産の移動先とし、かつ、上位ネットワーク内における資産の消滅として取り扱われる第1のトランザクションを含むブロックを生成する。トランザクション処理部は、上位ネットワークにおいて、所定の承認プロトコルにしたがい、ブロックの承認が得られたことを条件として、下位ネットワークに対して、第1のトランザクションに係る資産の発生を許可する。
第3の発明は、上記第1の発明に係る階層型ネットワークシステムにおける下位ネットワーク用のノード装置を提供する。このノード装置は、ブロック生成部と、トランザクション処理部とを有する。ブロック生成部は、下位ネットワークのアドレスを資産の移動元とし、上位ネットワークのアドレスを資産の移動先とし、かつ、下位ネットワーク内における資産の消滅として取り扱われる第2のトランザクションを含むブロックを生成する。トランザクション処理部は、下位ネットワークにおいて、所定の承認プロトコルにしたがい、ブロックの承認が得られたこと、および、第2の取引履歴を参照して、上位ネットワークに引き渡す資産の総量が上位ネットワークより受け取った資産の総量を超えないことを条件として、上位ネットワークに対して、第2のトランザクションに係る資産の発生を許可する。
ここで、第2または第3の発明において、上記トランザクション処理部は、承認依頼部と、ブロック確定部とを有することが好ましい。承認依頼部は、ブロックに自ノードの秘密鍵による署名を付した上で、自己のネットワーク内のm(m≧2)個のノード群に対して、ブロックの承認依頼を送信する。ブロック確定部は、承認の依頼先となるノードよりブロックの承認結果を受信した場合、この承認結果に付された署名の正当性を承認の依頼先の公開鍵を用いて検証した上で、m個のノードのうちのn(m≧n≧1)個以上の承認が得られたことを条件として、第1の取引履歴または第2の取引履歴にブロックを追加する。
第2または第3の発明において、上記第1の取引履歴または上記第2の取引履歴は、上位ネットワーク内のそれぞれのノード、または、下位ネットワーク内のそれぞれのノードが、同一の記録内容を同期して保持し、かつ、記録単位となるブロックが記録順序にしたがい繋がった分散データベースによって管理されていることが好ましい。
第4の発明は、上記第1の発明に係る階層型ネットワークシステムにおける上位ネットワーク用のコンピュータプログラムを提供する。このコンピュータプログラムは、上位ネットワークのアドレスを資産の移動元とし、下位ネットワークのアドレスを資産の移動先とし、かつ、上位ネットワーク内における資産の消滅として取り扱われる第1のトランザクションを含むブロックを生成する第1のステップと、上位ネットワークにおいて、所定の承認プロトコルにしたがい、ブロックの承認が得られたことを条件として、下位ネットワークに対して、第1のトランザクションに係る資産の発生を許可する第2のステップとを有する処理をコンピュータに実行させる。
第5の発明は、上記第1の発明に係る階層型ネットワークシステムにおける下位ネットワーク用のコンピュータプログラムを提供する。このコンピュータプログラムは、下位ネットワークのアドレスを資産の移動元とし、上位ネットワークのアドレスを資産の移動先とし、かつ、下位ネットワーク内における資産の消滅として取り扱われる第2のトランザクションを含むブロックを生成する第1のステップと、下位ネットワークにおいて、所定の承認プロトコルにしたがい、ブロックの承認が得られたこと、および、第2の取引履歴を参照して、上位ネットワークに引き渡す資産の総量が上位ネットワークより受け取った資産の総量を超えないことを条件として、上位ネットワークに対して、第2のトランザクションに係る資産の発生を許可する第2のステップとを有する処理をコンピュータに実行させる。
ここで、第4または第5の発明において、上記第2のステップは、ブロックに自ノードの秘密鍵による署名を付した上で、自己のネットワーク内のm(m≧2)個のノードに対して、ブロックの承認依頼を送信するステップと、承認の依頼先となるノードよりブロックの承認結果を受信した場合、この承認結果に付された署名の正当性を承認の依頼先の公開鍵を用いて検証した上で、m個のノードのうちのn(m≧n≧1)個以上の承認が得られたことを条件として、第1の取引履歴または第2の取引履歴にブロックを追加するステップとを有することが好ましい。
また、第4または第5の発明において、上記第1の取引履歴または上記第2の取引履歴は、上位ネットワーク内のそれぞれのノード、または、下位ネットワーク内のそれぞれのノードが、同一の記録内容を同期して保持し、かつ、記録単位となるブロックが記録順序にしたがい繋がった分散データベースによって管理されていることが好ましい。
本発明によれば、下位ネットワークから上位ネットワークへの資産移動は、上位ネットワークに引き渡す資産の総量が上位ネットワークより受け取った資産の総量を超えないことを条件として許容される。このように、階層構造において、下位ネットワークよりも上位ネットワークの方を信頼し、信頼性の低い下位ネットワークからの資産移動については総量を規制することで、ネットワーク相互の高度な承認プロセスを経なくとも、ネットワーク間における資産移動を安全に行うことができる。
図1は、本実施形態に係る階層型ネットワークシステムの構成図である。この階層型ネットワークシステム100は、上下に階層化された複数のネットワーク1よりなり、頂点となる最上位のネットワーク1から下位の階層に向かって、枝分かれしながら多数のネットワーク1が連なったツリー構造を有している。それぞれのネットワーク1は、自己のネットワーク1内で行われた取引と、他のネットワーク1との間で行われた資産の移動とを取引履歴として管理している。それぞれのネットワーク1において、どのような取引を管理の対象とするかは、その用途に応じて、システムの仕様として予め決められている。例えば、銀行システムであれば、実通貨の取引が対象となり、証券システムであれば証券の取引が対象となる。本明細書において、「取引」とは、実通貨、仮想通貨、証券、不動産等の資産ないしこの資産の状態の保持(ストック)、資産の移転(フロー)はもとより、契約も含む概念をいい、契約は、資産にも負債にもなり得る。また、デリバティブの概念を導入することで、より広い範囲の取引を定義できる。なお、それぞれのネットワーク1が取り扱う資産は、同種のものであってもよいが、例えば、あるネットワーク1では円、別のネットワーク1でドルといった如く、ネットワーク1毎に異種の資産を取り扱ってもよい。
例えば、「AからBへ1億円を送金する」や「AからBへ特定株を500株受け取る」といったことは、資産の移転(フロー)と同義であり、1方向の取引として捉えることができる。「Aは1億円の預金を保有している」や「Aは特定株を500株持っている」といったことは、資産そのものとも捉えることができるし、資産の状態の保持(ストック)という概念としても捉えることができる。「AはBから米ドルを1億円分購入する」や「AはBから特定株を500株分、1株1000円で購入する」といったことは、資産の移転(フロー)が2つ同時に起こる2方向の取引として捉えることができる。
図2は、ネットワーク1間における資産移動の説明図である。この資産移動は、階層構造において上下に接続されたネットワーク1間で行われる。ただし、資産を物理的に移動するわけではなく、移動元のネットワークA(またはB)における資産の「消滅」、および、移動先のネットワークB(またはA)における等価な資産の「発生」といった一対の処理によって、資産移動が実現される。例えば、上位ネットワークAから下位ネットワークBに100円を移動する場合(以下、「下り資産移動」という)、上位ネットワークAにおいて100円を「消滅」させ、下位ネットワークBにおいて100円を「発生」させる。また、下位ネットワークBから上位ネットワークAに50円を移動する場合(以下、「上り資産移動」という)、下位ネットワークBにおいて50円を「消滅」させ、上位ネットワークAにおいて50円を「発生」させる。
ネットワークA,B間の資産移動は、ネットワークA,Bのそれぞれが備えるデータベース4において取引履歴として記録・管理される。上位ネットワークAのデータベース4は、自己のネットワークA内の取引を管理すると共に、自己のネットワークAが移動元/移動先となる資産移動についても管理する。同様に、下位ネットワークBのデータベース4は、自己のネットワークB内の取引を管理すると共に、自己のネットワークBが移動元/移動先となる資産移動についても管理する。
また、ネットワークA,B間の資産移動については、下位側よりも上位側の方を信頼するものとする。したがって、最上位のネットワーク1が最も信頼性が高く、以下、第2階層、第3階層の順に信頼性が低下していく。そして、信頼性の高い上位ネットワークAを移動元とする下り資産移動については、原則として、移動する資産の総量を制限することなく、無制限に許容される。これに対して、信頼性が低い下位ネットワークBを移動元とする上り資産移動については、上位ネットワークAに引き渡す資産の総量Σbaが、上位ネットワークAより受け取った資産の総量Σabを超えない範囲で、条件付きで許容される。図2の例では、上位ネットワークAから下位ネットワークBへの100円の移動は、無制限に許容されるが、下位ネットワークBから上位ネットワークAへの50円の移動は、Σab−Σba≧50を満たすことが条件となる。以上のことから、資産移動の制限を一切受けないのは、最上位のネットワーク1だけであり、それ以外のネットワーク1については、資産移動の制限を受けることになる。
このように、信頼性の低い下位ネットワークBを移動元とした上り資産移動の総量を規制することで、上位ネットワークAからみた場合、下位ネットワークBに渡した資産の総量Σabの範囲内でしか資産が戻り得ないことが、システム上保証される。これにより、ネットワークシステム100の一部において、不正な資産移動が生じたとしても、その悪影響を最低限に抑えることができ、ネットワークシステム100の安全性の向上に寄与する。
なお、資産移動の総量は、データベース4に記録された取引履歴のうち、ネットワーク間の資産移動に関するものを検索し、それぞれの量を加算することによって求めることができる。ただし、資産移動が生じる度に、このような検索・加算を実行することは処理速度の低下を招くので、資産移動の総量については、取引履歴の一部として、インデックスにて管理しておくことが好ましい。
図3は、階層構造におけるネットワークを跨いだ資産移動の説明図である。ネットワークDからネットワークBに資産(例えば100円)を移動する場合、その移動経路上にはネットワークC,Aが介在する。このような移動形態では、階層構造において上下に接続されたネットワーク間(D→C,C→A,A→B)での資産の移動が繰り返される。その際、上り資産移動(D→C)では条件(Σcd−Σdc≧100)、上り資産移動(C→A)では条件(Σac−Σca≧100)をそれぞれ満たす必要がある。このように、資産の移動元と移動先とが離れていても、上下に接続されたネットワーク間での資産移動を繰り返すことによって、資産を移動することができる。
図4は、階層型ネットワークシステム100を構成するネットワーク1の物理的な構成図である。それぞれのネットワーク1は、P2P(Peer to Peer)型のネットワークであり、純粋なP2Pのみならず、いわゆるハイブリッド型(一部にクライアントサーバ型の構成を含むもの)も含まれる。ネットワーク1に参加(接続)するノード2は、1対1の対等の関係で通信(P2P通信)を行う。それぞれのノード2は、ノード装置として、コンピュータ3と、データベース4aとを有している。同一ネットワーク内の取引および上下に接続されたネットワーク間の資産移動に関する情報は、ネットワーク1上の分散データベース4、すなわち、ノード2毎に設けられたデータベース4aの集合体によって管理される。ネットワーク1上に存在するすべてのデータベース4aは、ブロックチェーン技術によって同期しており、基本的に、同一の記録内容を保持している。権限を有するノード2が分散データベース4を更新する場合、自ノード2に接続されている他ノード2にその旨が通知され、以後、ノード間のP2P通信が繰り返されることによって、最終的に、ネットワーク1の全体に通知が行き渡る。これにより、すべてのノード2のデータベース4aが更新され、同一の記録内容として共有されることになる。
ネットワーク1におけるP2P通信は、セキュリティを確保すべく、SSL通信にて行われる。また、ノード2間で受け渡しされるトランザクションの正当性については、公開鍵暗号を用いた電子署名によって検証される。その前提として、それぞれのノード2は、自己が管理するアドレスの秘密鍵(暗証番号)を保持している(ネットワークアドレスの所有者=秘密鍵の保有者)。公開鍵は、秘密鍵より一義的に特定される。ネットワークアドレスは、公開鍵そのものを用いてもよいし、ビットコイン等と同様、公開鍵をハッシュしてチェックサムを加えたものを用いてもよい。トランザクションの送り手(資産の移動元)は、送ろうとするトランザクションに自己が管理するアドレスの秘密鍵による署名を付した上で送信する。トランザクションの受け手は、受け取ったトランザクションに付された署名の正当性を、この秘密鍵に対応する公開鍵にて検証する。なお、ここで用いられる公開鍵暗号は、後述するブロックの承認に関する多重署名(マルチシグ)の公開鍵暗号とは別個のものである。マルチシグの秘密鍵は、上記のネットワークアドレスとは関係なく、プライベートノード2bのみが保有する。
なお、図4は、個々のノード2が他の全ノード2に接続されたフルコネクト型を示しているが、これは一例であって、どのようなトポロジーを採用してもよい。また、特定のノード2に情報を送信する場合、P2P通信による間接的な送信ではなく、アドレスを指定して送信先に直接送信できるようなプロトコルを導入してもよい。また、ネットワーク1間で資産移動を行う場合、すべてのノード2が他のネットワーク1にアクセスできるようにしてもよいが、安全性の確保の観点でいえば、アクセス可能なノード2を制限することが好ましい。
図5は、ネットワーク1の論理的な構成図である。本実施形態において、ネットワーク1を構成するノード2には、パブリックノード2aと、プライベートノード2bとが存在する。パブリックノード2aは、取引の主体となるアプリケーションノードである(信頼できないノードを含み得る)。パブリックノード2aは、取引に関する情報を記したトランザクションを生成し、これに署名した上で、プライベートノード2b群に直接的または間接的に送信する。パブリックノード2aは、プライベートノード2b群へのトランザクションの記録依頼のみ行い、自身では、分散データベース4への記録処理は行わない。パブリックノード2aにとって重要なことは、(最新でなくてもいいので)クエリーができること、新規に作成したトランザクションに署名すること、および、トランザクションの承認をプライベートノード2b群に依頼することである。
なお、例えば、あるアドレスの残高を算出するといった検索時に、処理の高速化を図るべく、複数のパブリックノード2aの一部において、データベース4aの記録内容をインデックス付きで管理してもよい。分散データベース4のデータは基本的にKey-Value型なので、条件付の照会に非常に時間がかかるという欠点がある。その解決のために検索用の独自のインデックス(上述した資産移動の総量を含む。)を持ったノードを設けることで、応用範囲を拡張できる。
プライベートノード2bは、ノード数が制限された信頼できるノードであって、パブリックノード2aより依頼されたトランザクションについて、分散データベース4への記録処理を行う。この記録処理は、後述するように、プライベートノード2b群が協働することによって行われる。記録処理が完了した場合、処理結果が依頼元のパブリックノード2aに通知される。プライベートノード2bにとって重要なことは、トランザクションを承認してブロック化した上で、分散データベース4に追加することであって、ビットコインなどの仮想通貨で採用されているマイニングや手数料といった報酬(インセンティブ)は、必ずしも必要ではない。
複数のプライベートノード2bは、公開鍵暗号を用いて、ブロックの承認に関する多重署名(マルチシグ)によるブロックの承認を行う。そのため、図6に示すように、それぞれのプライベートノード2bは、自ノードの秘密鍵を有している。それとともに、公開鍵が記述されたコンフィグファイルをシステムの起動時に読み込むことによって、プライベートノード2bの間で公開鍵が共有されている。また、プライベートノード2bの公開鍵を追加または失効させるプロトコルが用意されており、このプロトコルを実行することで、コンフィグファイルを書き換えなくても、公開鍵を追加または失効させることができる。この公開鍵に関する情報は、厳密な管理が要求されるので、安全性を確保すべく、SSL等によってやり取りされる。
図7は、通常トランザクションおよび引渡トランザクションの説明図である。それぞれのネットワーク1が取り扱うトランザクションには、通常トランザクションと、引渡トランザクション(および受取トランザクション)とが存在する。2つのタイプのトランザクションは、どちらもシステム処理上は同じ一つのトランザクションとして取り扱われるが、そこに記される資産の移動先又は移動元が相違する。
同図(a)に示すように、通常トランザクションは、「移転元a1から移転先a2へ100円を移動する」といった如く、同一のネットワークAにおけるアドレスa1,a2間の取引内容が、移動元a1の秘密鍵による署名付で記されている。このトランザクションに係る資産は、後述するブロックの確定をもって、引き続きネットワークA内で使用可能である。すなわち、通常トランザクションにおける資産の移動先(TxOut)に該当するアドレスa2は、このトランザクションの確定をもって、自己を移動元(TxIn)とした新たなトランザクションの作成、換言すれば、新たな資産の移動を行うことができる。
一方、同図(b)に示すように、引渡トランザクションは、「(ネットワークAの)アドレスa1から(ネットワークBの)アドレスb2へ100円を移動する」といった如く、異なるネットワークA,B間の資産移動の内容が、移動元a1の秘密鍵による署名付で記されている。引渡トランザクションについては、ビットコイン等で用いられているプルーフ・オブ・バーン(Proof of Burn)と同様、その秘密鍵を誰も知らないアドレスに送ることによって、以後、ネットワークA内で使用不可なもの(資産の消滅)として取り扱われる。その秘密鍵を誰も知らないアドレスは、たとえば、ネットワークBのアドレスb2の場合、ネットワークBのチェーン識別子とアドレスb2とのビット列の加算、結合等の演算によって定めることができるが、後述するように、簡便には、Pegフラグの存在によって秘密鍵を誰も知らないアドレスとして扱うことができる。その代わりに、ネットワークB内において、同等の価値を有する受取トランザクションを生成する。受取トランザクションは、引渡トランザクションと一対一に一意に生成されることが望ましい。これにより、資産の移動先(TxOut)に該当する受取トランザクションのアドレスb2は、このトランザクションの確定をもって、自己を移動元(TxIn)とした新たなトランザクションの作成、換言すれば、新たな資産の移動を行うことができる。
それぞれのネットワーク1が有するブロックチェーン同士を繋ぐ具体的な仕組みとしては、例えば、双方向連動(two-ways peg)を用いることができる。下り資産移動の場合(下位チェーンへのPeg)、引渡トランザクションの移動先(TxOut)にPegフラグを付け、移動先のチェーンを指定するチェーン識別子を設定する。このチェーン識別子は、例えば、そのチェーンのジェネシスブロック(先頭ブロック)に書き込まれ、後から変更することはできない。Pegフラグが付いた引渡トランザクションは、そのチェーン内ではプルーフ・オブ・バーン(Proof of Burn)と同様の効果があり、二度と使用することはできない。移動先のチェーンで、受け取った資産を使用する場合、移動元のチェーン識別子を指定する。
また、上り資産移動の場合(下位チェーンからのPegBack)、下り資産と全く同様の手法を採用すると、上位チェーンにとって無価値な資産が戻されてしまうおそれがある(下位チェーンは上位チェーンよりも権威または信頼性が低いとみなしているため)。そこで、PegBackの際は、上述したように、上位チェーンから下位チェーンへのPegによって引き渡した総額分の範囲でのみ資産の戻りを可能としている。
資産の移動先における受取トランザクションの生成条件としては、第1に、引渡トランザクション係るブロックについて、移動元のネットワーク内において、所定の承認プロトコルにしたがい承認が得られたこと、換言すれば、このブロックが確定したことである。第2に、上り資産移動に関する引渡トランザクションの場合、上位ネットワークに引き渡す資産の総量が上位ネットワークより受け取った資産の総量を超えないことである。
図8は、パブリックノード2a用のノード装置(以下、「パブリックノード装置20」という。)の機能的なブロック図である。このパブリックノード装置20は、トランザクション生成部20aと、記録依頼部20bと、結果受領部20cとを有する。トランザクション生成部20aは、所定のフォーマットにしたがい、取引に関する情報が記されたトランザクション(通常トランザクション/引渡トランザクション)を生成する。取引に関する情報は、例えば、表示画面の指示にしたがいユーザが入力した入力情報より、あるいは、別のネットワークを通じて受信した受信情報より取得される。記録依頼部20bは、トランザクション生成部20aによって生成されたトランザクションに、自己が管理するアドレスの秘密鍵による署名を付した上で、ノード2間のP2P通信を介してプライベートノード2b群に送信し、トランザクションを記録すべき旨をプライベートノード2b群に依頼する。結果受領部20cは、いずれかのプライベートノード2bより送信されたトランザクションの処理結果を受領し、これをユーザに提示する。
図9は、プライベートノード2b用のノード装置(以下、「プライベートノード装置21」という。)の機能的なブロック図である。このプライベートノード装置21は、署名検証部22と、トランザクション処理部23とを有する。署名検証部22は、パブリックノード2aより記録依頼として受け付けたトランザクションに付された署名の正当性を、秘密鍵に対応する公開鍵を用いて検証する。なお、署名の他に、その資産が二重使用されていないことなども併せて検証される。
トランザクション処理部23は、署名が正当であると検証できたことを前提として、所定の条件を満たす場合に、トランザクションを分散データベース4に記録する。このトランザクション処理部23は、ブロック生成部23aと、承認依頼部23bと、ブロック確定部23cと、承認応答部23dとを有する。
ここで、プライベートノード装置21は、2つの役割を担っている。一つは、自ノード2bがブロックを生成し、他ノード2bにブロックの承認を依頼する役割であり、そのための構成として、ブロック生成部23aと、承認依頼部23bと、ブロック確定部23cとが存在する。そして、もう一つは、他ノード2bが生成したブロックを承認する役割であり、そのための構成として、承認応答部23dが存在する。このように、プライベートノード2bは、自ノード2bが生成したブロックの承認を他ノード2bに依頼する依頼方、および、他ノード2bによって生成されたブロックの承認を自ノード2bが行う承認方のどちらにもなり得る。
ブロック生成部23aは、トランザクションの記録の依頼元となるパブリックノード2aより記録処理の依頼を受けたトランザクションを複数まとめることによって、ブロックを生成する。その際、上り資産移動に係る引渡トランザクションについては、上位ネットワーク1に引き渡す資産の総量が上位ネットワーク1より受け取った資産の総量を超えないか否かが判定され、超える場合には、不適切なトランザクションとしてブロック化は行われない(処理結果=NG)。承認依頼部23bは、ブロック生成部23aによって生成されたブロックに自ノード2bの秘密鍵による署名を付した上で、システムのコンフィグとして予め設定されたm(m≧2)個の他のプライベートノード2bに対して、ブロックの承認依頼を送信する。承認の依頼先のノードには、自ノードを含めてもよい。ブロック確定部23cは、承認の依頼先となるプライベートノード2bよりブロックの承認結果を受信した場合、この承認結果に付された署名の正当性を、承認の依頼先の秘密鍵に対応する公開鍵を用いて検証した上で、以下のブロック確定条件を満たすか否かを判定する。
[ブロック確定条件]
承認を依頼したm(m≧2)個のプライベートノード2bのうち、
n(m≧n≧1)個以上の承認が得られたこと
承認を依頼したm(m≧2)個のプライベートノード2bのうち、
n(m≧n≧1)個以上の承認が得られたこと
このブロック確定条件において、nはmの過半数であることが好ましい。これにより、合理的かつ現実的な範囲で承認の信頼性を確保することができる。例えば、図5に示した4つのプライベートノード2bが存在するケースでは、3個(m=3)のプライベートノード2bに承認を依頼し、そのうちの2個(n=2)以上の承認が得られたことをもって、ブロック確定条件が満たされることになる。
mは、一桁、二桁等の限られた数以下であることが好ましく、ブロック確定条件に応じて、5個、9個等の奇数個であることが好ましいことがある。nは、mの過半数であることに加えて、過半数以上の指定された所定の数であることが好ましいことがある。
ブロック確定条件としては、上述の説明では一ノード一票の承認が可能とされているところ、各ノードに任意の正の実数の票を与え、その過半数によって承認が得られたことと判定することもできる。この場合、「過半数」とは、総票数に対する半数を超える数であることを付言する。
承認依頼に係るブロックがブロック確定条件を満たす場合には、このブロックを分散データベース4に追加することが確定し、これを満たさない場合には、分散データベース4へのブロックの追加は行われない。ブロック確定部23cは、トランザクションの記録の依頼元となるパブリックノード2aに対して、トランザクションの処理結果(OK/NG)を通知する。分散データベース4へのブロックの追加が確定した場合、自ノード2bのデータベース4aにブロックが追加されると共に、ブロックの確定に伴い新たなブロックを追加する旨が、トランザクション処理ネットワーク1の全ノード2に通知される。この通知によって、すべてのノード2のデータベース4a、すなわち、分散データベース4が更新される。
全ノード2に直接的又は間接的に通知されることが求められるが、ブロックの確定に伴い新たなブロックを追加する旨が全ノード2に直接的に通知される場合のほか、プライベートノード2bの全て及びパブリックノード2aの一部、プライベートノード2bの全て、プライベートノード2bの一部及びパブリックノード2aの一部、又はプライベートノード2bの一部に通知される場合も考えられる。
一方、承認応答部23dは、承認の依頼元となるプライベートノード2bよりブロックの承認依頼を受信した場合、この承認依頼に付された署名の正当性を、公開鍵(承認の依頼元の秘密鍵に対応するもの)を用いて検証する。また、承認応答部23dは、自ノード2bに記録されているトランザクションに関するデータを参照して、承認依頼に係るブロックの内容(ブロック中のトランザクションの整合性を含む。)を検証する。そして、内容が正当であるとの検証結果が得られた場合、承認応答部23dは、自ノード2bの秘密鍵による署名を付した承認結果を承認の依頼元となるプライベートノード2bに送信する。
引渡トランザクションの処理の観点でいえば、承認依頼部23b、ブロック確定部23cおよび承認応答部23dは、資産の移動先となる上位/下位ネットワーク1に対して、引渡トランザクションに係る資産の発生を許可するトランザクション処理部として機能する。具体的には、下り資産移動の場合には、ブロックの承認が得られたこと(すなわち、ブロックの確定)を条件として、下位ネットワーク1に対して、引渡トランザクションに係る資産の発生が許可される。また、上り資産移動の場合には、ブロックの承認が得られたこと、および、上位ネットワーク1に引き渡す資産の総量が上位ネットワーク1より受け取った資産の総量を超えないことを条件として、上位ネットワーク1に対して、引渡トランザクションに係る資産の発生が許可される。この許可を受けた資産の移動先となる上位/下位のネットワーク1は、移動する資産相当の取引内容を記した受取トランザクションを生成し、これによって、移動元から移動先に資産が移動する。
なお、ブロック生成部23aは、プライベートノード2bのハッキング対策として、すなわち、プライベートノード2bがハッキングされたときのために、自ノード2bで一のブロックを生成した場合、少なくとも、他ノード2bによって生成された他のブロックを分散データベース4に追加することが確定するまで、新たなブロックの承認依頼を連続して送信することなく待機する。すなわち、同一のプライベートノード2bにおいて、ブロック確定の処理を連続して行うことは禁止されている。
つぎに、図10を参照しながら、トランザクションの記録処理のフローについて説明する。まず、あるパブリックノード2aにおいて、取引に関する情報が記されたトランザクションTrが生成され(ステップ1)、このトランザクションTrに自己が管理するアドレスの秘密鍵による署名を付した上で、プライベートノード2b群にトランザクションTrの記録依頼が送信される(ステップ2)。例えば、図11に示すように、資産の移動元aに関するトランザクションTr1については、移動元aが管理するアドレスの秘密鍵による署名「a」が付され、トランザクションTr2,Tr3についても同様に署名される。
トランザクションTrの記録依頼を受信したプライベートノード2bのそれぞれは、記録依頼に付された署名を、移動元の秘密鍵に対応する公開鍵を用いて検証する(ステップ3)。図11に示したように、トランザクションTr1に付された署名「a」については、移転元aの公開鍵を用いて検証され、トランザクションTr2,Tr3についても同様に検証される。なお、署名の他に、その資産が二重使用されていないことなども併せて検証されることは上述したとおりである。それぞれのプライベートノード2bにおいて、署名の正当性などが確認できた場合、トランザクションTr1〜Tr3は、自ノード2bの記憶装置における所定の記憶領域(処理待ち領域)に一時的に格納される(ステップ4)。また、このステップ4において、資産の移動元が正当でないとされた場合、依頼元となるパブリックノード2aに対して、その旨が通知される。
ステップ5では、いずれかのプライベートノード2bにおいて、ブロックが生成される。このブロックは、自ノード2bの処理待ち領域に格納されている複数のトランザクションTrをまとめたものである。そして、ステップ6において、図12(a)に示すようなデータ構造を有する署名付の承認依頼が生成される。このデータ構造は、ブロックの承認を依頼する依頼元の署名欄と、複数のトランザクションTrをまとめたブロック本体と、ブロックの承認先の署名欄とを有する。ただし、同図の構成は、説明の便宜上のものであって、実際には、依頼元/承認先の署名欄を別ける必要はない。図5に示した4つのプライベートノード2b群(ノード名をA〜Dとする。)のうち、ノードAがブロックを生成した場合、図12(a)の依頼元署名欄には、ノードAの秘密鍵による署名「A」が記入され、承認先署名欄(ノードB〜Dの署名が記入される欄)はブランクとされる。ノードAにて生成された承認依頼は、他のプライベートノード2b、すなわち、3つのノードB〜Dに送信される。
ステップ7〜9は、ブロックの承認依頼を受信したプライベートノード2b、すなわち、承認の依頼先B〜Dの処理である。まず、ステップ7において、承認依頼に付された署名「A」等の正当性が、承認の依頼元であるノードA等の公開鍵を用いて検証される(ステップ7)。このステップ7では、ノードAだけでなく、その検証時点で付されている他の署名も一緒に検証される。基本的に、ノードA→B→C→Dのように順番に署名していき、過半数(n)の署名が得られた時点で確定する。どのようにして順番を保つかについては、様々な実装方法が考えられる。なお、ブロックの署名の検証自体は、ハッキングされたブロックを信用することがないように、プライベートノード2bのみならず、すべてのパブリックノード2aでも行われる。承認の依頼元が正当であるとされた場合には、ステップ8に進み、正当でないとされた場合には、ステップ8以降の処理は行われない。
ステップ8において、承認依頼に係るブロックの内容が検証される。具体的には、自ノード2bの処理待ち領域に格納されたトランザクションを参照して、ブロックの内容が少なくとも以下の承認条件を満たす場合に、ブロックを承認する。ブロックの内容が正当であるとされた場合には、ステップ9に進み、正当でないとされた場合には、ステップ9の処理は行われない(処理結果=NG)。
[ブロックの承認条件]
(1)ブロック中のすべてのトランザクションTrが自ノード2bにおいて未処理であること(重複記録の防止)
(2)ブロック中のすべてのトランザクションTrの内容が、自ノード2bの処理待ち領域に格納されたトランザクションTrの内容と一致すること(データの改ざん防止)
(3)個々のトランザクションTrの資産が未使用であること(資産の二重使用の禁止)
(1)ブロック中のすべてのトランザクションTrが自ノード2bにおいて未処理であること(重複記録の防止)
(2)ブロック中のすべてのトランザクションTrの内容が、自ノード2bの処理待ち領域に格納されたトランザクションTrの内容と一致すること(データの改ざん防止)
(3)個々のトランザクションTrの資産が未使用であること(資産の二重使用の禁止)
ステップ9において、署名付の承認結果が生成される。承認可の場合には、図12(b)に示すように、承認先署名欄のうちの自ノード2bに割り当てられた欄に自己の秘密鍵による署名が記入される。署名が付された承認結果は、承認の依頼元Aに送信される。
ステップ10〜12は、ブロックの承認結果を受信したプライベートノード2b、すなわち、承認の依頼元Aの処理である。まず、ステップ10において、承認結果に付された署名の正当性が、承認の依頼元B〜Dの公開鍵を用いて検証される(ステップ10)。承認の依頼先が正当であるとされた場合には、ステップ11に進み、正当でないとされた場合には、ステップ12以降の処理は行われない。
ステップ11において、m個のプライベートノードのうちのn(m≧n≧1)個以上の承認が得られた場合、ブロック確定条件が満たされて、分散データベース4にブロックを追加することが確定する。図12(b)の例では、承認を依頼した3つのノードB〜Dのうち、2つのノードB,Cの承認は得られたが、ノードDの承認は得られなかったことを意味している。この場合、ブロック確定条件が過半数以上の承認であるならば、n/m=2/3となって条件を満たすことになる。逆に、n=0,1の場合には、ブロック確定条件は満たされない。
ブロック確定条件が満たされた場合、承認の依頼元Aによって、確定したブロックを分散データベース4に記録する処理が行われる。具体的には、まず、自ノードAにおいて、処理待ち領域から確定ブロックに含まれるトランザクションTrが削除され、自己のデータベース4に確定したブロックが追加される。また、自ノードAに接続されている他ノードB〜Dを含めて、ネットワーク1の全体に、確定したブロックを新規に追加する旨の通知が送信される。ネットワーク1内のすべてのノード2は、この確定ブロックの通知を受けた時点で、通知元の署名の検証を行った上で、自己のデータベース4aに確定ブロックを追加する。また、処理待ち領域に未処理トランザクションTrを保持しているすべてのノード2(ノードB〜Dを含む。)は、この通知をもって、確定ブロックに含まれるトランザクションTrを処理待ち領域から削除する(ステップ13)。これに対して、ブロック確定条件が満たされない場合、今回生成したブロックはキャンセルされる。これによって、処理待ち領域の未処理トランザクションTrは引き続き保持され、次回以降のブロックの生成機会を待つことになる。
図13は、データベース4aの構造の説明図である。この構造において、記録単位となるブロックは記録順序にしたがいチェーン状に繋がっている。それぞれのブロック(確定ブロック)は、複数のトランザクションと、直前のブロックのハッシュとを有している。具体的には、あるブロック2には、その前のブロック1から引き継いだ前ブロック1のハッシュH1が含まれている。そして、ブロック2のハッシュH2は、自ブロック2のトランザクション群と、前ブロック1から引き継がれたハッシュH1とを含めた形で算出され、このハッシュH2は、その次のブロックに引き継がれる。このように、直前のブロックの内容をハッシュとして引き継ぎながら(H0,H1,・・・)、記録順序にしたがい個々のブロックをチェーン状に繋げ、記録内容に一貫した連続性を持たせることで、記録内容の改ざんを有効に防止する。過去の記録内容が変更された場合、ブロックのハッシュが変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
そして、ステップ12において、いずれかのプライベートノード2b(承認の依頼元A)から、トランザクションTrの記録の依頼元となるパブリックノード2aに、記録依頼に係るトランザクションTrの処理結果(OK/NG)が通知される。このパブリックノード2aは、処理結果を受領し、ユーザに対して処理結果を提示する(ステップ14)。以上の一連のプロセスを経て、トランザクションの記録処理が完了する。
なお、以上のようなトランザクションの記録処理では、複数のプライベートノード2bが同一のトランザクションを含む別個のブロックを同時に生成してしまう可能性、すなわち、プライベートノード2b同士の処理の競合が生じる可能性がある。かかる問題は、例えば、ラウンドロビン(round robin)のように、プライベートノード2b間でブロック生成の順番を割り当てて排他制御を行うことで、解決することができる。また、プライベートノード2b群に優先順位を割り当てて、上記競合が生じた場合には、優先順位の高いプライベートノード2bのみに、競合したトランザクションの再処理を認めてもよい。
このように、本実施形態によれば、ネットワークシステム100の全体で単一のブロックチェーンを形成するのではなく、複数のネットワーク1に分割し、ネットワーク単位でブロックチェーンを形成する。これにより、それぞれのネットワーク1の各ノード2は、自己のネットワーク1におけるトランザクションのコピーのみを保持すればよく、それ以外のネットワーク1のそれを保持する必要はない。これにより、ネットワークシステム100全体において、単位時間当たりに処理できるトランザクションの数が飛躍的に向上する。その結果、トランザクション処理のスケーラビリティを有効に確保でき、各ノードの処理能力やネットワーク帯域に関わらず、十分な処理速度を確保することが可能になる。
また、本実施形態によれば、上位ネットワーク1から下位ネットワーク1への資産移動は制限なく許容する一方、下位ネットワーク1から上位ネットワーク1への資産移動は、上位ネットワーク1に引き渡す資産の総量が上位ネットワーク1より受け取った資産の総量を超えないことを条件として許容する。このように、階層構造において、下位ネットワーク1よりも上位ネットワーク1の方を信頼し、信頼性の低い下位ネットワーク1からの資産移動については総量を規制することで、ネットワーク1相互の高度な承認プロセスを経なくとも、ネットワーク1間における資産移動を安全に行うことができる。
また、本実施形態によれば、ネットワーク1を構成するノード2を、パブリックノード2aと、プライベートノード2bとに区分している。パブリックノード2aは、記録すべきトランザクションを生成する役割を担い、その後の分散データベース4への記録処理は、プライベートノード2b群が協働することによって行われる。トランザクションの生成については、信頼できないノードを含み得るパブリックノード2aとして広く認めつつ、分散データベース4への記録処理については信頼できるプライベートノード2bに限定する。このように、パブリックノード2aの役割と、プライベートノード2bの役割とを別けることで、パブリックノード方式の利点である応用分野の拡張性と、プライベートノード方式の利点である記録の信頼性との両立を図ることができる。
さらに、本実施形態によれば、信頼できるプライベートノード2b相互の認証手法として、POWやPOSといった高コストで遅いコンセンサスアルゴリズムではなく、公開鍵暗号を用いた多重署名(マルチシグ)という比較的簡素なコンセンサスアルゴリズムを用いている。これにより、記録の信頼性を損なうことなく、大量のトランザクションを高速かつ確実に処理することが可能になる。
なお、本発明は、上述したパブリックノード装置20またはプライベートノード装置21を実現するコンピュータプログラムとしても捉えることができる。
1 ネットワーク
2 ノード
2a パブリックノード
2b プライベートノード
3 コンピュータ
4a データベース
4 データベース(分散データベース)
20 パブリックノード装置
20a トランザクション生成部
20b 記録依頼部
20c 結果受領部
21 プライベートノード装置
22 署名検証部
23 トランザクション処理部
23a ブロック生成部
23b 承認依頼部
23c ブロック確定部
23d 承認応答部
100 階層型ネットワークシステム
2 ノード
2a パブリックノード
2b プライベートノード
3 コンピュータ
4a データベース
4 データベース(分散データベース)
20 パブリックノード装置
20a トランザクション生成部
20b 記録依頼部
20c 結果受領部
21 プライベートノード装置
22 署名検証部
23 トランザクション処理部
23a ブロック生成部
23b 承認依頼部
23c ブロック確定部
23d 承認応答部
100 階層型ネットワークシステム
Claims (6)
- 上位ネットワーク及び前記上位ネットワークの下位に位置する1又は複数の下位ネットワークを有するネットワークにおいて前記1又は複数の下位ネットワークのいずれかを構成するノードにおける処理方法であって、
前記ノードが、前記ノードが含まれる下位ネットワークから前記上位ネットワークへの資産の移動を生じさせるトランザクションを含むブロックを生成するステップと、
前記ノードが、前記ノードが含まれる下位ネットワークを構成するノードのうちの所定の数により承認が得られたことを条件に前記ブロックを確定させて、前記ノードが含まれる下位ネットワークと自己以外のネットワークとの間の取引履歴に前記ブロックを追加するステップと
を含み、
前記上位ネットワークへの資産の移動は、前記ブロックの確定に応じて、前記トランザクションを含む前記上位ネットワークへの資産の移動の総量が前記上位ネットワークからの資産の移動の総量を超えないことを条件に許容されることを特徴とする処理方法。 - 前記トランザクションは、前記下位ネットワークにおける資産の消滅として取り扱われ、
前記上位ネットワークへの資産の移動は、前記下位ネットワークから消滅する前記資産と同等の価値を有する資産を発生させる前記上位ネットワーク内のトランザクションにより行われることを特徴とする請求項1に記載の処理方法。 - 前記下位ネットワークのトランザクションは、前記下位ネットワークのアドレスを資産の移動元とし、その秘密鍵を誰も知らないアドレスを資産の移動先とすることを特徴とする請求項1又は2に記載の処理方法。
- 前記下位ネットワークのトランザクションは、前記上位ネットワークのブロックチェーンを指定するチェーン識別子を有することを特徴とする請求項1乃至3のいずれかに記載の処理方法。
- コンピュータに、上位ネットワーク及び前記上位ネットワークの下位に位置する1又は複数の下位ネットワークを有するネットワークにおいて前記1又は複数の下位ネットワークのいずれかを構成するノードにおける処理方法を実行させるためのプログラムであって、前記処理方法は、
前記ノードが、前記ノードが含まれる下位ネットワークから前記上位ネットワークへの資産の移動を生じさせるトランザクションを含むブロックを生成するステップと、
前記ノードが、前記ノードが含まれる下位ネットワークを構成するノードのうちの所定の数により承認が得られたことを条件に前記ブロックを確定させて、前記ノードが含まれる下位ネットワークと自己以外のネットワークとの間の取引履歴に前記ブロックを追加するステップと
を含み、
前記上位ネットワークへの資産の移動は、前記ブロックの確定に応じて、前記トランザクションを含む前記上位ネットワークへの資産の移動の総量が前記上位ネットワークからの資産の移動の総量を超えないことを条件に許容されることを特徴とするプログラム。 - 上位ネットワーク及び前記上位ネットワークの下位に位置する1又は複数の下位ネットワークを有するネットワークにおいて前記1又は複数の下位ネットワークのいずれかを構成するノードであって、
前記ノードが含まれる下位ネットワークから前記上位ネットワークへの資産の移動を生じさせるトランザクションを含むブロックを生成し、
前記ノードが含まれる下位ネットワークを構成するノードのうちの所定の数により承認が得られたことを条件に前記ブロックを確定させて、前記ノードが含まれる下位ネットワークと自己以外のネットワークとの間の取引履歴に前記ブロックを追加し、
前記上位ネットワークへの資産の移動は、前記ブロックの確定に応じて、前記トランザクションを含む前記上位ネットワークへの資産の移動の総量が前記上位ネットワークからの資産の移動の総量を超えないことを条件に許容されることを特徴とするノード。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016071343 | 2016-03-31 | ||
JP2016071343 | 2016-03-31 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017557028A Division JP6370016B2 (ja) | 2016-03-31 | 2017-03-31 | 階層型ネットワークシステム、これに用いられるノード及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018166000A true JP2018166000A (ja) | 2018-10-25 |
Family
ID=59964864
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017557028A Active JP6370016B2 (ja) | 2016-03-31 | 2017-03-31 | 階層型ネットワークシステム、これに用いられるノード及びプログラム |
JP2018130298A Pending JP2018166000A (ja) | 2016-03-31 | 2018-07-09 | 階層型ネットワークシステム、これに用いられるノード及びプログラム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017557028A Active JP6370016B2 (ja) | 2016-03-31 | 2017-03-31 | 階層型ネットワークシステム、これに用いられるノード及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190122186A1 (ja) |
EP (1) | EP3438903B1 (ja) |
JP (2) | JP6370016B2 (ja) |
CN (1) | CN109313763B (ja) |
WO (1) | WO2017170997A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020129284A (ja) * | 2019-02-08 | 2020-08-27 | 株式会社メルカリ | プログラム、情報処理装置、及び情報処理方法 |
JP2020177377A (ja) * | 2019-04-17 | 2020-10-29 | Gmoシステムコンサルティング株式会社 | 取引システム |
WO2021229691A1 (ja) | 2020-05-12 | 2021-11-18 | 富士通株式会社 | 制御方法、制御プログラムおよび情報処理装置 |
JP2022522895A (ja) * | 2019-03-06 | 2022-04-20 | エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー | 暗号通貨用チューリング完全型スマートコントラクト |
KR20220149231A (ko) * | 2021-04-30 | 2022-11-08 | 계명대학교 산학협력단 | 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치 |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017205163A1 (de) * | 2017-03-27 | 2018-09-27 | Bundesdruckerei Gmbh | Hashwerte für die bidirektionale verkettete Blockchain |
CN107395665B (zh) * | 2017-05-22 | 2020-04-24 | 创新先进技术有限公司 | 一种区块链业务受理及业务共识方法及装置 |
DE102017209381A1 (de) | 2017-06-02 | 2018-12-06 | Bundesdruckerei Gmbh | Bidirektional verkettete Blockchain-Struktur |
CN107453896B (zh) * | 2017-06-27 | 2020-08-04 | 创新先进技术有限公司 | 多重区块链网络数据处理方法、装置及服务器 |
DE102017216839A1 (de) * | 2017-09-22 | 2019-03-28 | Bundesdruckerei Gmbh | Bidirektional verkettete erweiterte Blockchain-Struktur |
US10868673B2 (en) * | 2017-09-25 | 2020-12-15 | Sap Se | Network access control based on distributed ledger |
US10810546B2 (en) | 2017-10-02 | 2020-10-20 | R3 Ltd. | Settling obligations via netting transactions |
DE102017218736A1 (de) | 2017-10-19 | 2019-04-25 | Bundesdruckerei Gmbh | Bidirektionale verkettete Blockchain-Struktur |
JP6715231B2 (ja) * | 2017-12-11 | 2020-07-01 | 三菱Ufj信託銀行株式会社 | 仮想通貨保全システム |
JP2019109635A (ja) * | 2017-12-16 | 2019-07-04 | 株式会社bitFlyer | ブロックチェーン・ネットワークにおいて過去のトランザクションにアクセス可能とするための方法及び当該ネットワークを構成するためのノード |
US10630769B2 (en) * | 2017-12-26 | 2020-04-21 | Akamai Technologies, Inc. | Distributed system of record transaction receipt handling in an overlay network |
US10789589B2 (en) | 2017-12-29 | 2020-09-29 | Paypal, Inc. | Dispute resolution cryptocurrency sidechain system |
US11257073B2 (en) | 2018-01-31 | 2022-02-22 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment |
US20190238316A1 (en) * | 2018-01-31 | 2019-08-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment |
US10701054B2 (en) | 2018-01-31 | 2020-06-30 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment |
CN108335206B (zh) * | 2018-02-14 | 2020-12-22 | 创新先进技术有限公司 | 资产管理方法及装置、电子设备 |
CN108335207B (zh) | 2018-02-14 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 资产管理方法及装置、电子设备 |
JP7031374B2 (ja) * | 2018-03-01 | 2022-03-08 | 株式会社デンソー | 検証端末、検証システム |
CN108712257B (zh) * | 2018-04-03 | 2020-04-17 | 阿里巴巴集团控股有限公司 | 跨区块链的认证方法及装置、电子设备 |
US11122052B2 (en) * | 2018-05-30 | 2021-09-14 | International Business Machines Corporation | Sensitive information accessibility in blockchain |
JP7056429B2 (ja) * | 2018-07-18 | 2022-04-19 | 株式会社デンソー | 履歴管理方法、及び履歴管理装置 |
JP7056430B2 (ja) * | 2018-07-18 | 2022-04-19 | 株式会社デンソー | 履歴管理方法、履歴管理装置及び履歴管理システム |
US11336430B2 (en) | 2018-09-07 | 2022-05-17 | Sap Se | Blockchain-incorporating distributed authentication system |
US11520773B2 (en) | 2018-10-09 | 2022-12-06 | International Business Machines Corporation | Blockchain notification board storing blockchain resources |
US11303442B2 (en) * | 2018-10-09 | 2022-04-12 | International Business Machines Corporation | Blockchain notification board storing blockchain resources |
US11568437B2 (en) | 2018-10-31 | 2023-01-31 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing commerce rewards across tenants for commerce cloud customers utilizing blockchain |
US11288280B2 (en) | 2018-10-31 | 2022-03-29 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing consumer data validation, matching, and merging across tenants with optional verification prompts utilizing blockchain |
JP6864088B2 (ja) * | 2018-11-27 | 2021-04-21 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | ブロックチェーン上のスマートコントラクトの安全性を向上するためのシステムと方法 |
JP2020107228A (ja) * | 2018-12-28 | 2020-07-09 | 三菱Ufj信託銀行株式会社 | Icoエスクロー信託システム |
KR102204403B1 (ko) * | 2019-01-02 | 2021-01-18 | 라인플러스 주식회사 | 블록체인의 확장을 가능하게 하는 트랜잭션 처리 시스템 및 방법 |
US11811769B2 (en) | 2019-01-31 | 2023-11-07 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger |
US11824864B2 (en) | 2019-01-31 | 2023-11-21 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (DLT) |
US11971874B2 (en) | 2019-01-31 | 2024-04-30 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT) |
US11488176B2 (en) | 2019-01-31 | 2022-11-01 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing certificates of authenticity of digital twins transacted onto a blockchain using distributed ledger technology (DLT) |
US11244313B2 (en) | 2019-01-31 | 2022-02-08 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing declarative smart actions for coins and assets transacted onto a blockchain using distributed ledger technology (DLT) |
US11886421B2 (en) | 2019-01-31 | 2024-01-30 | Salesforce, Inc. | Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT) |
US11875400B2 (en) | 2019-01-31 | 2024-01-16 | Salesforce, Inc. | Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT) |
US11899817B2 (en) | 2019-01-31 | 2024-02-13 | Salesforce, Inc. | Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information |
US11803537B2 (en) | 2019-01-31 | 2023-10-31 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT) |
US11783024B2 (en) | 2019-01-31 | 2023-10-10 | Salesforce, Inc. | Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration |
US11876910B2 (en) | 2019-01-31 | 2024-01-16 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT) |
KR20210110388A (ko) * | 2019-03-01 | 2021-09-07 | 미쓰비시덴키 가부시키가이샤 | 슬레이브 장치 및 슬레이브 프로그램 |
JP6788875B2 (ja) * | 2019-04-16 | 2020-11-25 | 株式会社IndieSquare | ブロック・チェーン間でデジタル資産を転送するシステム |
US11038771B2 (en) | 2019-04-26 | 2021-06-15 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT) |
US11995647B2 (en) | 2019-04-30 | 2024-05-28 | Salesforce, Inc. | System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus |
US11880349B2 (en) | 2019-04-30 | 2024-01-23 | Salesforce, Inc. | System or method to query or search a metadata driven distributed ledger or blockchain |
JP7386639B2 (ja) * | 2019-07-12 | 2023-11-27 | 株式会社エナリス | 電力託送システム及び方法 |
US20210036855A1 (en) | 2019-07-31 | 2021-02-04 | International Business Machines Corporation | Transfering tokens between blockchain networks |
US10698728B1 (en) * | 2019-11-15 | 2020-06-30 | Blockstack Pbc | Systems and methods for forming application-specific blockchains |
US11824970B2 (en) | 2020-01-20 | 2023-11-21 | Salesforce, Inc. | Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules |
US11144335B2 (en) | 2020-01-30 | 2021-10-12 | Salesforce.Com, Inc. | System or method to display blockchain information with centralized information in a tenant interface on a multi-tenant platform |
US11611560B2 (en) | 2020-01-31 | 2023-03-21 | Salesforce.Com, Inc. | Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform |
JP2021177267A (ja) * | 2020-05-05 | 2021-11-11 | 豊 仲宗根 | 取引システム、取引システムの制御方法及び取引システムの制御プログラム |
US11991294B2 (en) * | 2021-11-12 | 2024-05-21 | Gridplus, Inc. | Peer-to-peer secure conditional transfer of cryptographic data |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3925468B2 (ja) * | 2003-06-27 | 2007-06-06 | 日本電信電話株式会社 | パス容量及びパス経路変更方法、及びノード装置 |
JP2005167945A (ja) * | 2003-12-05 | 2005-06-23 | Ntt Me Corp | オープンネットワークにおける収入共有方法、そのための収入分配装置、サブネットワークおよびコンピュータプログラム |
US7861151B2 (en) * | 2006-12-05 | 2010-12-28 | Microsoft Corporation | Web site structure analysis |
US20090076981A1 (en) * | 2007-09-18 | 2009-03-19 | Stephen Richard Schonberg | Apparatuses, methods and systems for a high density financial asset information display |
US10340038B2 (en) * | 2014-05-13 | 2019-07-02 | Nant Holdings Ip, Llc | Healthcare transaction validation via blockchain, systems and methods |
JP5858507B1 (ja) * | 2015-05-18 | 2016-02-10 | 株式会社Orb | 仮想通貨管理プログラム、及び仮想通貨管理方法 |
-
2017
- 2017-03-31 WO PCT/JP2017/013574 patent/WO2017170997A1/ja active Application Filing
- 2017-03-31 US US16/089,537 patent/US20190122186A1/en not_active Abandoned
- 2017-03-31 EP EP17775528.7A patent/EP3438903B1/en active Active
- 2017-03-31 CN CN201780033804.3A patent/CN109313763B/zh active Active
- 2017-03-31 JP JP2017557028A patent/JP6370016B2/ja active Active
-
2018
- 2018-07-09 JP JP2018130298A patent/JP2018166000A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020129284A (ja) * | 2019-02-08 | 2020-08-27 | 株式会社メルカリ | プログラム、情報処理装置、及び情報処理方法 |
JP2022522895A (ja) * | 2019-03-06 | 2022-04-20 | エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー | 暗号通貨用チューリング完全型スマートコントラクト |
JP7170898B2 (ja) | 2019-03-06 | 2022-11-14 | エヌイーシー ラボラトリーズ ヨーロッパ ゲーエムベーハー | 暗号通貨用チューリング完全型スマートコントラクト |
JP2020177377A (ja) * | 2019-04-17 | 2020-10-29 | Gmoシステムコンサルティング株式会社 | 取引システム |
WO2021229691A1 (ja) | 2020-05-12 | 2021-11-18 | 富士通株式会社 | 制御方法、制御プログラムおよび情報処理装置 |
KR20220149231A (ko) * | 2021-04-30 | 2022-11-08 | 계명대학교 산학협력단 | 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치 |
KR102645033B1 (ko) * | 2021-04-30 | 2024-03-07 | 계명대학교 산학협력단 | 데이터 분산 저장 방법 및 상기 방법을 수행하는 컴퓨팅 장치 |
Also Published As
Publication number | Publication date |
---|---|
EP3438903A1 (en) | 2019-02-06 |
EP3438903A4 (en) | 2019-12-04 |
EP3438903B1 (en) | 2022-04-13 |
US20190122186A1 (en) | 2019-04-25 |
CN109313763B (zh) | 2023-02-28 |
JPWO2017170997A1 (ja) | 2018-04-05 |
JP6370016B2 (ja) | 2018-08-08 |
WO2017170997A1 (ja) | 2017-10-05 |
CN109313763A (zh) | 2019-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6370016B2 (ja) | 階層型ネットワークシステム、これに用いられるノード及びプログラム | |
JP6389350B2 (ja) | トランザクション処理装置、トランザクション処理方法、及びそのためのプログラム | |
JP6199518B1 (ja) | プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム | |
CN109219940B (zh) | 私有节点以及私有节点中的处理方法 | |
EP3673620B1 (en) | Shared blockchain data storage | |
EP3669280B1 (en) | Shared blockchain data storage | |
Sarmah | Understanding blockchain technology | |
EP3669281B1 (en) | Shared blockchain data storage | |
KR102247658B1 (ko) | 신뢰 실행 환경에서 실행되는 스마트 계약 동작에 기초한 블록체인 데이터의 프로세싱 | |
JP2017200196A (ja) | プライベートノード、プライベートノードにおける処理方法、及びそのためのプログラム | |
CN111164935A (zh) | 在基于区块链的私有交易中提供隐私和安全保护的系统和方法 | |
JP7146093B2 (ja) | ブロックチェーンでノード間のブロック及び電子文書を共有及び検証する方法 | |
KR102627868B1 (ko) | 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템 | |
KR102572834B1 (ko) | 서명 가능 컨트랙트를 이용하여 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템 | |
CN118176694A (zh) | 用于分布式区块链功能的方法和系统 | |
CN118216121A (zh) | 用于分布式区块链功能的方法和系统 | |
JP7231909B2 (ja) | 情報処理装置及びプログラム | |
CN118266187A (zh) | 用于分布式区块链功能的方法和系统 | |
CN118215919A (zh) | 用于分布式区块链功能的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20190731 |