JP2020507827A - ブロックチェーンネットワーク内のスマートアセットの原子移動のためのプラットフォーム - Google Patents

ブロックチェーンネットワーク内のスマートアセットの原子移動のためのプラットフォーム Download PDF

Info

Publication number
JP2020507827A
JP2020507827A JP2019521478A JP2019521478A JP2020507827A JP 2020507827 A JP2020507827 A JP 2020507827A JP 2019521478 A JP2019521478 A JP 2019521478A JP 2019521478 A JP2019521478 A JP 2019521478A JP 2020507827 A JP2020507827 A JP 2020507827A
Authority
JP
Japan
Prior art keywords
smart asset
smart
value
asset
identifier
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
JP2019521478A
Other languages
English (en)
Other versions
JP6804715B2 (ja
Inventor
カイライ・シャオ
シュミン・ル
ペンタオ・チ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020507827A publication Critical patent/JP2020507827A/ja
Application granted granted Critical
Publication of JP6804715B2 publication Critical patent/JP6804715B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本開示の実装形態は、第1のノードの第1の識別子、第2のノードの第2の識別子、スマートアセットの識別子、および値を含む移動要求を受信するステップと、スマートアセットの識別子、および値に少なくとも部分的に基づいて、スマートアセットが移動可能であるかどうかを判定するステップと、スマートアセットが移動可能であるとの判定に応答して、自動的に、第1のスマートアセットおよび第2のスマートアセットを提供するステップであって、第1のスマートアセットは、第1の識別子、第1の値が割り当てられ、スマートアセットの特性を含み、第2のスマートアセットは、第2の識別子、第2の値が割り当てられ、スマートアセットの特性を含む、提供するステップと、第1のスマートアセットを第1のノードに記録し、第2のスマートアセットを第2のノードに記録するステップと、スマートアセットを削除するステップとを含む。

Description

本発明は、ブロックチェーンネットワークに関する。
コンセンサスネットワークおよび/またはブロックチェーンネットワークと呼ばれることもある分散元帳システム(DLS:Distributed ledger systems)は、参加エンティティがデータをセキュアに不変に記憶することを可能にする。DLSは、一般に、いずれの特定のユーザ事例(たとえば、暗号通貨)とも無関係に、ブロックチェーンネットワークと呼ばれる。ブロックチェーンネットワークの例示的なタイプは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、およびコンソーシアムブロックチェーンネットワークを含み得る。パブリックブロックチェーンネットワークは、すべてのエンティティがDLSを使用し、コンセンサスプロセスに参加するために開かれる。プライベートブロックチェーンネットワークは、読取り許可および書込み許可を中央で制御する特定のエンティティに提供される。コンソーシアムブロックチェーンネットワークは、コンセンサスプロセスを制御するエンティティのえり抜きのグループに提供され、アクセス制御レイヤを含む。
ブロックチェーンネットワークは、デジタルアセットの移動および交換による値の取引のために使用され得る。ブロックチェーンネットワーク内で交換される多くのデジタルアセットは、数値によって表される。これらのタイプのデジタルアセットは、容易に分割され、容易に合併され、結果として、ブロックチェーンネットワークのあるノードから別のノードに容易に移動可能である。
本開示の実装形態は、ブロックチェーンネットワーク内でデジタルアセットを移動させるためのコンピュータ実装方法を含む。より詳細には、本開示の実装形態は、スマートアセットの原子分割および/または原子合併によるブロックチェーンネットワーク内のスマートアセットの原子移動のためのプラットフォームに関する。
いくつかの実装形態では、動作は、第1のノードの第1の識別子、第2のノードの第2の識別子、スマートアセットの識別子、および値を含む移動要求を受信するステップと、スマートアセットの識別子、および値に少なくとも部分的に基づいて、スマートアセットが移動可能であるかどうかを判定するステップと、スマートアセットが移動可能であるとの判定に応答して、自動的に、第1のスマートアセットおよび第2のスマートアセットを提供するステップであって、第1のスマートアセットは、第1の識別子、第1の値が割り当てられ、スマートアセットの特性を含み、第2のスマートアセットは、第2の識別子、値が割り当てられ、スマートアセットの特性を含む、ステップと、第1のスマートアセットを第1のノードに記録し、第2のスマートアセットを第2のノードに記録するステップと、スマートアセットを削除するステップとを含む。他の実装形態は、コンピュータ記憶デバイス上に符号化された、これらの方法の動作を実行するように構成された、対応するシステム、装置、およびコンピュータプログラムを含む。
これらのおよび他の実装形態は、各々、オプションで、以下の特徴のうちの1つまたは複数を含む。スマートアセットが移動可能であるかどうかの判定は、スマートアセットに関連するコンピュータ実行可能スマートコントラクト内で提供される機能を実行することによって判定される。スマートアセットが移動可能であるかどうかの判定は、スマートアセットが分割され得るタイプのものであるかどうかを指示する、スマートアセットに関連するタイプ識別子に少なくとも部分的に基づいて判定される。スマートアセットが移動可能であるかどうかの判定は、スマートアセットの元の値が値未満であるかどうかに少なくとも部分的に基づいて判定される。この値は、数値または文字列記述の1つとして提供される。文字列記述は、Javascript(登録商標)オブジェクト表記法(JSON:Javascript object notation)で提供される。第1の値は、スマートアセットの元の値からこの値を減算した残りである。ブロックチェーンネットワークは、コンソーシアムブロックチェーンネットワークである。スマートアセットは、複数のフィールドを有する基礎となるデータオブジェクトによって定義される。
本開示はまた、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されるとき、1つまたは複数のプロセッサに、本明細書で提供する方法の実装形態による動作を実行させる命令を記憶した、1つまたは複数の非一時的コンピュータ可読記憶媒体を提供する。
本開示は、本明細書で提供する方法を実装するためのシステムをさらに提供する。このシステムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合され、1つまたは複数のプロセッサによって実行されるとき、1つまたは複数のプロセッサに、本明細書で提供する方法の実装形態による動作を実行させる命令を記憶した、コンピュータ可読記憶媒体とを含む。
本開示によるこれらの方法は、本明細書で説明する態様および特徴の任意の組合せを含み得ることが理解される。すなわち、本開示による方法は、本明細書で詳細に説明する態様および特徴の組合せに限定されず、提供する態様および特徴の任意の組合せをやはり含む。
本開示の1つまたは複数の実装形態の詳細が、添付の図面および下記の説明に記載される。本開示の他の特徴および利点は、説明および図面から、また特許請求の範囲から明らかになるであろう。
本開示の実装形態を実行するために使用され得る、例示的な環境を示す図である。 本開示の実装形態による、例示的な概念アーキテクチャを示す図である。 本開示の実装形態による、例示的なアセット移動プラットフォームを示す図である。 本開示の実装形態に従って実行され得る例示的なプロセスを示す図である。 本開示の実装形態に従って実行され得る例示的なプロセスを示す図である。
様々な図面における同様の参照番号は、同様の要素を示す。
本開示の実装形態は、ブロックチェーンネットワーク内でデジタルアセットを移動させるためのコンピュータ実装方法を含む。より詳細には、本開示の実装形態は、スマートアセットの原子分割および/または原子合併によるブロックチェーンネットワーク内のデジタルアセットの原子移動のためのプラットフォームに関する。いくつかの実装形態では、動作は、第1のノードの第1の識別子、第2のノードの第2の識別子、スマートアセットの識別子、および値を含む移動要求を受信するステップと、スマートアセットの識別子、および値に少なくとも部分的に基づいて、スマートアセットが移動可能であるかどうかを判定するステップと、スマートアセットが移動可能であるとの判定に応答して、自動的に、第1のスマートアセットおよび第2のスマートアセットを提供するステップであって、第1のスマートアセットは、第1の識別子、第1の値が割り当てられ、スマートアセットの特性を含み、第2のスマートアセットは、第2の識別子、値が割り当てられ、スマートアセットの特性を含む、提供するステップと、第1のスマートアセットを第1のノードに記録し、第2のスマートアセットを第2のノードに記録するステップと、スマートアセットを削除するステップとを含む。
本開示の実装形態に関してさらなる文脈を提供するために、上記で紹介したように、(たとえば、ピアツーピアノードで構成された)コンセンサスネットワークおよびブロックチェーンネットワークと呼ばれることもある分散元帳システム(DLS)は、参加エンティティが、取引をセキュアに不変に行い、データを記憶することを可能にする。ブロックチェーンという用語は、概して、ビットコイン暗号通貨ネットワークに関連するが、ブロックチェーンは、本明細書において、任意の特定の使用事例とは無関係にDLSを概して指すために使用される。上記で紹介したように、ブロックチェーンネットワークは、パブリックブロックチェーンネットワーク、プライベートブロックチェーンネットワーク、またはコンソーシアムブロックチェーンネットワークとして提供され得る。
パブリックブロックチェーンネットワークでは、コンセンサスプロセスはコンセンサスネットワークのノードによって制御される。たとえば、数百のエンティティ、数千のエンティティ、数百万のエンティティですら、パブリックブロックチェーンネットワークと協働することができ、エンティティは、各々、パブリックブロックチェーンネットワーク内の少なくとも1つのノードにおいて動作する。したがって、パブリックブロックチェーンネットワークは、参加エンティティに対してパブリックネットワークと見なされ得る。いくつかの例では、大部分のエンティティ(ノード)は、ブロックを有効化させ、ブロックチェーンネットワークのブロックチェーン(分散元帳)に追加させるために、すべてのブロックに署名しなければならない。1つの例示的なパブリックブロックチェーンネットワークは、ピアツーピア支払いネットワークであるビットコインネットワークを含む。ビットコインネットワークは、ブロックチェーンと呼ばれる分散元帳を活用する。上記のように、ブロックチェーンという用語は、しかしながら、概して、ビットコインネットワークとは特に無関係に分散元帳を指すために使用される。
概して、パブリックブロックチェーンネットワークは、公開取引をサポートする。公開取引は、パブリックブロックチェーンネットワーク内のノードのすべてと共有され、グローバルブロックチェーン内に記憶される。グローバルブロックチェーンは、すべてのノードにわたって複製されるブロックチェーンである。すなわち、すべてのノードは、グローバルブロックチェーンに関して完全コンセンサス状態である。コンセンサス(たとえば、ブロックチェーンに対してブロックを追加する合意)を達成するために、パブリックブロックチェーンネットワーク内でコンセンサスプロトコルが実装される。1つの例示的なコンセンサスプロトコルは、限定せずに、ビットコインネットワーク内で実装されるプルーフオブワーク(POW:proof-of-work)を含む。
概して、プライベートブロックチェーンネットワークは、読取り許可および書込み許可を中央で制御する特定のエンティティに提供される。エンティティは、どのノードがブロックチェーンネットワークに参加することが可能であるかを制御する。結果として、プライベートブロックチェーンネットワークは、概して、誰がネットワークに参加することが可能にされるか、およびそれらの参加レベル(たとえば、一定の取引のみ)に制限を設ける、許可されたネットワークを指す。様々なタイプのアクセス制御機構が使用され得る(たとえば、既存の参加者が新しいエンティティの追加について採決を行う、規制機関が承認を制御し得る)。
概して、コンソーシアムブロックチェーンネットワークは、参加エンティティ間でプライベートである。コンソーシアムブロックチェーンネットワークでは、コンセンサスプロセスは、許可されたノードのセットによって制御され、1つまたは複数のノードは、それぞれのエンティティ(たとえば、金融機関、保険会社)によって動作させられる。たとえば、10個のエンティティのコンソーシアム(たとえば、金融機関、保険会社)は、コンソーシアムブロックチェーンネットワークを動作させることができ、エンティティの各々は、コンソーシアムブロックチェーンネットワーク内で少なくとも1つのノードを動作させる。したがって、コンソーシアムブロックチェーンネットワークは、参加エンティティに対してプライベートネットワークと見なされ得る。いくつかの例では、各エンティティ(ノード)は、ブロックを有効化させ、ブロックチェーンに追加させるために、すべてのブロックに署名しなければならない。いくつかの例では、エンティティ(ノード)の少なくともサブセット(たとえば、少なくとも7個のエンティティ)は、ブロックを有効化させ、ブロックチェーンに追加させるために、すべてのブロックに署名しなければならない。
本開示の実装形態は、本明細書において、参加エンティティ(たとえば、コンソーシアムのメンバー)間でパブリックであるコンソーシアムブロックチェーンネットワークを参照してさらに詳細に説明される。しかしながら、本開示の実装形態は、任意の適したタイプのブロックチェーンネットワーク内で実現され得ることが企図される。本開示で説明する技法はコンソーシアムブロックチェーンネットワークに関連するとして指示されるが、これらの技法は、変更の有無にかかわらず、パブリックブロックチェーンネットワークおよびプライベートブロックチェーンネットワークを含めて、他のタイプのブロックチェーンネットワーク内で使用されてもよい。
ブロックチェーンネットワークは、デジタルアセットの移動および交換に関連する取引を行うために使用され得る。ブロックチェーンネットワーク内で交換されるデジタルアセットは、値を表す。たとえば、ビットコインなどの暗号通貨は、製品および/またはサービスを購入するために使用され得る値を表す。暗号通貨は、現実世界の物理通貨(たとえば、中国元、米国ドル)に対する代替として提供され得る。多くの事例において、デジタルアセットは、比較的単純であり、たとえば、デジタルアセットの一意の識別子および数値を含む。デジタルアセットの値を数値として表すことによって、デジタルアセットの部分またはすべての移動は比較的単純であるが、これは、アセットの値が無限に分割可能であり得るためである。加えて、両方とも数値を含む2つのデジタルアセットの合併は、デジタルアセットの値を加算して、最終的な合併値を判定することによって容易に達成される。
取引を行うためにブロックチェーンネットワークにますます依拠するようになると、基本的な数値のデジタルアセットは単純な値移動を可能にするが、複雑な現実世界のアセットを正確に表すことができるより複雑なデジタルアセットの必要が増大している。この必要性を満たすために、スマートアセットと呼ばれることがある、より複雑なデジタルアセットが導入されている。いくつかの例では、スマートアセットは現実世界のアセットのデジタル表現として提供される。本明細書で説明するように、スマートアセットはエンティティ同士の間で移動され得る。いくつかの例では、スマートアセットは、エンティティ(たとえば、人物、企業)によって保持または所有され得る任意の適切なタイプの現実世界のアセットに対応する。例示的な現実世界のアセットは、限定せずに、通貨基金、石油、燃料、食料などを含み得る。概して、スマートアセットは、たとえば、数量または単位を含む複数の特性を有する任意の現実世界のアセットを表し得る。
スマートアセットは、分散データベース(たとえば、コンソーシアムブロックチェーン)内で作成、記憶、および交換され得る。いくつかの例では、スマートアセットは、複数のフィールドを含むデータオブジェクトとして提供される。いくつかの例では、フィールドは、スマートアセットに割り当てられた一意の識別子、およびアセットに割り当てられたタイプ識別子を記録するために提供され得る。いくつかの例では、フィールドは、スマートアセットの特性(たとえば、数量、単位)を記録するために提供され得る。スマートアセットは、スマートアセットに対する一意の識別子を分散データベース内のスマートアセットオブジェクトのそれぞれのフィールドに追加することによって分散データベース内で作成され得る。いくつかの例では、一意の識別子は、スマートアセットに割り当てられたアドレス情報を含む。スマートアセットは、スマートアセットを表す、対応するスマートアセットオブジェクトのフィールド内に含まれたアドレス情報によって分散データベース内で識別される。
現実世界のアセットをスマートアセットとして表すことによって、エンティティは、ブロックチェーンネットワーク内で対応するスマートアセットを交換することによって、現実世界のアセットをデジタルで移動および交換することができる。たとえば、適切な権限/許可を有する、コンソーシアムブロックチェーンネットワークのメンバーは、現実世界のアセットに対応するスマートアセットを作成することができる。スマートアセットの作成の後で、メンバーは、コンソーシアムブロックチェーンネットワークの他のメンバーとスマートアセットに関連する取引を行うことができる。スマートアセットに関連する任意の取引のコンセンサス処理は、コンソーシアムブロックチェーンネットワークのコンセンサスアルゴリズムに基づいて実行され、完了された取引は、分散データベース(たとえば、コンソーシアムブロックチェーン)内に含まれる。
スマートアセットについては、その開示全体が参照により本明細書に明確に組み込まれている、2018年2月14日に出願した、同一出願人による中国出願第201810151607.8号においてより詳細に説明されている。
複数のフィールドを有するデジタルアセット(たとえば、スマートアセット)を移動させる現在の方法は、単一の移動を完了するために、いくつかの原子ステップが実行されることを必要とする。たとえば、現在の移動方法の下でスマートアセットの一部分を移動させることは、アセットの移動可能性を判定するために問合せを行うことと、アセットを区分化することと、区分化されたアセットをブロックチェーンネットワーク内の第1のノードからブロックチェーンネットワーク内の第2のノードに移動させることとを必要とする。加えて、ノードへのアセットの移動を完了するために、いくつかの問合せを行い、アセットがノードにすでに関連付けられた任意のアセットと合併され得るかどうかを判定しなければならない。アセットを移動させるために必要とされる原子ステップの各々は、連続的に処理されなければならない。結果として、現在の移動方法は、原子性を保証することができず、移動動作を原子化できないことは、結果として、移動されたアセットの断片化をもたらし得る。
上記の文脈に照らして、本明細書でさらに詳細に説明するように、本開示の実装形態は、スマートアセットの原子分割および/または原子合併によるブロックチェーンネットワーク内のデジタルアセットの原子移動のためのプラットフォームを提供する。
図1は、本開示の実装形態を実行するために使用され得る例示的な環境100を示す。いくつかの例では、例示的な環境100は、エンティティがコンソーシアムブロックチェーンネットワーク102に参加することを可能にする。例示的な環境100は、コンピューティングデバイス106、108と、ネットワーク110とを含む。いくつかの例では、ネットワーク110は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、またはそれらの組合せを含み、ウェブサイト、ユーザデバイス(たとえば、コンピューティングデバイス)、およびバックエンドシステムを接続する。いくつかの例では、ネットワーク110は、ワイヤードおよび/またはワイヤレス通信リンクを介してアクセスされ得る。
示した例では、コンピューティングシステム106、108は、各々、コンソーシアムブロックチェーンネットワーク102内のノードとして参加を可能にする任意の適切なコンピューティングシステムを含み得る。例示的なコンピューティングデバイスは、限定せずに、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピューティングデバイス、およびスマートフォンを含む。いくつかの例では、コンピューティングシステム106、108は、コンソーシアムブロックチェーンネットワーク102と対話するための1つまたは複数のコンピュータ実装サービスをホストする。たとえば、コンピューティングシステム106は、第1のエンティティ(たとえば、ユーザA)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのその取引を管理するために使用する取引管理システムなど、第1のエンティティのコンピュータ実装サービスをホストし得る。コンピューティングシステム108は、第2のエンティティ(たとえば、ユーザB)が1つまたは複数の他のエンティティ(たとえば、他のユーザ)とのその取引を管理するために使用する取引管理システムなど、第2のエンティティのコンピュータ実装サービスをホストし得る。図1の例では、コンソーシアムブロックチェーンネットワーク102は、ノードのピアツーピアネットワークとして表され、コンピューティングシステム106、108は、コンソーシアムブロックチェーンネットワーク102に参加する第1のエンティティおよび第2のエンティティのノードをそれぞれ提供する。
図2は、本開示の実装形態による、例示的な概念アーキテクチャ200を示す。例示的な概念アーキテクチャ200は、エンティティレイヤ202と、ホストサービスレイヤ204と、ブロックチェーンネットワークレイヤ206とを含む。示した例では、エンティティレイヤ202は3つのエンティティ、Entity_1(E1)、Entity_2(E2)、およびEntity_3(E3)を含み、各エンティティは、それぞれの取引管理システム208を有する。
示した例では、ホストサービスレイヤ204は、各取引管理システム208に対するインターフェース210を含む。いくつかの例では、それぞれの取引管理システム208は、プロトコル(たとえば、ハイパーテキストトランスファープロトコルセキュア(HTTPS))を使用してネットワーク(たとえば、図1のネットワーク110)を介してそれぞれのインターフェース210と通信する。いくつかの例では、各インターフェース210は、それぞれの取引管理システム208とブロックチェーンネットワークレイヤ206との間の通信接続を提供する。より詳細には、インターフェース210は、ブロックチェーンネットワークレイヤ206のブロックチェーンネットワーク212と通信する。いくつかの例では、インターフェース210とブロックチェーンネットワークレイヤ206との間の通信はリモートプロシージャコール(RPC:remote procedure calls)を使用して行われる。いくつかの例では、インターフェース210は、それぞれの取引管理システム208に対してブロックチェーンネットワークノードを「ホストする」。たとえば、インターフェース210は、ブロックチェーンネットワーク212にアクセスするためのアプリケーションプログラミングインターフェース(API)を提供する。
本明細書で説明するように、ブロックチェーンネットワーク212は、ブロックチェーン216内に情報を不変に記録する複数のノード214を含むピアツーピアネットワークとして提供される。単一のブロックチェーン216が概略的に示されているが、ブロックチェーン216の複数のコピーが提供され、ブロックチェーンネットワーク212にわたって維持される。たとえば、各ノード214は、ブロックチェーンのコピーを記憶する。いくつかの実装形態では、ブロックチェーン216は、コンソーシアムブロックチェーンネットワークに参加する2つ以上のエンティティ同士の間で実行される取引に関連する情報を記憶する。
図3は、本開示の実装形態による、例示的なアセット移動プラットフォーム300を示す。示した例では、例示的なアセット移動プラットフォーム300は、移動モジュール302と合併モジュール308とを含む。本明細書でさらに詳細に説明するように、スマートアセットのすべてまたは一部分は、移動モジュール302を使用して、ブロックチェーンネットワーク(たとえば、図1のコンソーシアムブロックチェーンネットワーク102)の第1のノード(たとえば、図2のノード214)からブロックチェーンネットワークの第2のノードに原子的に移動され得る。やはり本明細書で詳細に説明するように、スマートアセットは、合併モジュール308を使用して、ブロックチェーンネットワークのノード上に記憶された別のスマートアセットと原子的に合併され得る。
本開示の実装形態によれば、移動モジュール302は、ブロックチェーンネットワークのメンバーから移動要求を受信する。いくつかの例では、移動要求は、コンソーシアムブロックチェーンネットワークのメンバーによって移動モジュール302に提出される。いくつかの実装形態では、移動要求は、ブロックチェーンネットワーク内の第1のノード(たとえば、送る側ノード)の第1の識別子、ブロックチェーンネットワーク内の第2のノード(たとえば、受信側ノード)の第2の識別子、スマートアセットの識別子、および値を含む。いくつかの実装形態では、移動モジュール302は、識別されたアセットからの移動要求内で指定された値を第1のノードから第2のノードに移動させるための単一の原子動作を実行する。
いくつかの実装形態では、移動要求内で識別されるスマートアセットは、複数のフィールドを含むデータオブジェクトとして提供される。いくつかの例では、スマートアセットのフィールドは、アセットの特性(たとえば、タイプ、数量、値)を記録するために提供され得る。いくつかの例では、スマートアセットオブジェクトのフィールドは、アセットに割り当てられた識別子、およびアセットに割り当てられたタイプ識別子を記録するために提供され得る。いくつかの実装形態では、スマートアセットの識別子は、スマートアセットに割り当てられたアドレス情報(たとえば、ブロックチェーンネットワーク内のスマートアセットのロケーションを指定するアドレス)を含む。
移動要求内で提供される値は、第1のノードから第2のノードに移動されることになるスマートアセットの数量(量)を表す。いくつかの例では、この値は数値として提供される。たとえば、この値は、現実世界のアセットの数量(たとえば、数ガロンの燃料)として提供され得る。いくつかの例では、この値は文字列記述として提供される。たとえば、この値は、「20バレルの石油」または「1000エーカーの土地」として提供されることになる。いくつかの例では、この値はJavascript(登録商標)オブジェクト表記法(JSON)文字列記述として提供される。
例示的な図3では、移動モジュール302は、canTransfer機能304とTryTransfer機能306とを含む。いくつかの例では、移動モジュール302によって受信された移動要求は、移動要求内に含まれた情報を使用して、canTransfer機能304およびTryTransfer 306機能を実行することによって処理される。いくつかの例では、canTransfer機能304およびTryTransfer機能306は、移動要求内で識別されたスマートアセットに関連するコンピュータ実行可能スマートコントラクト内で提供される。ハイレベルで、スマートコントラクトは、コンソーシアムブロックチェーンネットワーク内で実装および展開されるコントラクトとして説明することができ、スマートアセットに関する機能および/またはデータ(たとえば、コンピュータ実行可能な機能)を含む。
いくつかの実装形態では、canTransfer機能304は、スマートアセットの値が移動要求内で指定された値未満であるかどうかを判定する。いくつかの実装形態では、canTransfer機能304は、スマートアセットの識別子によって提供されたアドレスに位置するスマートアセットの値フィールド内に記憶された値を検索することによって、スマートアセットの値を判定する。
いくつかの実装形態では、canTransfer機能304は、スマートアセットのタイプ識別子を判定する。いくつかの実装形態では、canTransfer機能304は、スマートアセットの識別子によって提供されたアドレスに位置するスマートアセットのタイプフィールド内に記憶されたタイプ識別子を検索することによって、アセットのタイプ識別子を判定する。いくつかの例では、canTransfer機能304は、スマートアセットのタイプ識別子の判定に少なくとも部分的に基づいて、スマートアセットが移動可能であるかどうかを判定する。たとえば、スマートアセットによって表される現実世界のアセット(椅子)は、整数単位に分割する場合を除いて、移動のために物理的に分割することができない(たとえば、1.5脚の椅子を移動することはできない)ため、canTransfer機能304は、タイプ識別子「椅子」を有するスマートアセットは、整数単位である場合を除き、移動され得ないと判定することができる。別の例として、スマートアセットによって表される現実世界のアセット(燃料)は、分数単位での移動のために物理的に分割することができる(たとえば、1.5ガロンの燃料を移動することはできる)ため、canTransfer機能304は、タイプ識別子「燃料」を有するスマートアセットは、要求された単位で移動され得ると判定することができる。
いくつかの実装形態では、スマートアセットの値が移動要求内で提供される値未満である場合、またはスマートアセットのタイプ識別子が、スマートアセットが値によって分割可能でないことを指示する場合、canTransfer機能304は、「偽」を返却し、取引は終了する。いくつかの実装形態では、スマートアセットの値が移動要求内で提供される値以上であり、スマートアセットのタイプ識別子が、スマートアセットは値によって分割可能であることを指示する場合、canTransfer機能304は、「真」を返却する。
いくつかの実装形態では、TryTransfer機能306は、canTransfer機能304による移動要求に対する「真」の返却に応答して自動的に実行される。いくつかの実装形態では、TryTransfer機能306は、第1のスマートアセットおよび第2のスマートアセットを生成する。いくつかの例では、TryTransfer機能306によって生成されたスマートアセットの各々は、複数のフィールド、すなわち、スマートアセットと同じフィールドを含むデータオブジェクトとして提供される。いくつかの例では、TryTransfer機能306によって生成されたスマートアセットは移動要求内で識別されたスマートアセットと同じ特性を含む。たとえば、TryTransfer機能306によって生成された第1および第2のスマートアセットは、移動要求内で識別されたスマートアセットと同じタイプ識別子を含み得る。
いくつかの実装形態では、TryTransfer機能306は、第1の識別子および第1の値を第1のスマートアセットに割り当てる。いくつかの例では、第1の値は、移動要求内で識別されたスマートアセットの元の値から移動要求内で指定された値を減算した残りである。いくつかの実装形態では、TryTransfer機能306は、第2の識別子および移動要求内で指定された値を第2のスマートアセットに割り当てる。いくつかの例では、第1の識別子および第2の識別子は、各々、一意の識別子である。いくつかの例では、第1の識別子および第2の識別子は、それぞれ、第1のスマートアセットおよび第2のスマートアセットに割り当てられたアドレス情報を含む。いくつかの例では、第1の識別子および第1の値は、第1のスマートアセットの基礎となるデータオブジェクト内のフィールドとして記憶される。いくつかの例では、第2の識別子および値は、第2のスマートアセットの基礎となるデータオブジェクト内のフィールドとして記憶される。いくつかの例では、第1のスマートアセットおよび第2のスマートアセットは、スマートアセットのサブセットと見なされ得る。
いくつかの実装形態では、TryTransfer機能306によって生成された第1のスマートアセットは、コンソーシアムブロックチェーンネットワークの第1のノードに自動的に記録される。いくつかの実装形態では、TryTransfer機能306によって生成された第2のスマートアセットは、コンソーシアムブロックチェーンネットワークの第2のノードに自動的に記録される。いくつかの実装形態では、TryTransfer機能306は、コンソーシアムブロックチェーンネットワーク内での第1のスマートアセットおよび第2のスマートアセットの記録が成功した時に、移動要求内で識別されたスマートアセット(たとえば、そこから第1および第2のスマートアセットが生成されたスマートアセット)を自動的に削除する。
非限定的な例示的入力は(たとえば、(userAAddress, userBAddress, assetAddress, amount)として提供され得る:
TryTransfer("23d61f4a88","90be1290c0eeab3","4992e1a2e8f6d", 100);
TryTransfer("23d61f4a88","90be1290c0eeab3","4992e1a2e8f6d", {"amount":100, "type":"RMB"});
移動論理を実行するための例示的な疑似コードは、以下として提供され得る:
If (canTransfer(asset, amount)) {
[splitAssetA, splitAssetB] = Split(asset, amount);
Transfer(userA, userB, splitAssetA);
return true;
} else {
return false;
}
canTransfer機能304に対する例示的な疑似コードは、以下として提供され得る:
def canTransfer(self, asset, amount):
if asset.value >= amount and asset.isTransferable:
return True
else
return False
本明細書でさらに詳細に説明するように、合併モジュール308は、合併要求内で識別された第1のスマートアセットをブロックチェーンネットワークのノードに関連する第2のスマートアセットと合併するために単一の原子動作を実行する。本開示の実装形態によれば、合併モジュール308は、合併要求を受信する。いくつかの実装形態では、合併モジュール308は、移動モジュール302のTryTransfer機能306の実行が成功した時に、合併要求を自動的に受信する。いくつかの実装形態では、合併モジュール308は、スマートアセットがコンソーシアムブロックチェーンネットワーク(たとえば、図1のコンソーシアムブロックチェーンネットワーク102)のノード(たとえば、図2のノード214)に記録されるとき、合併要求を自動的に受信する。
いくつかの実装形態では、合併モジュール308によって受信された合併要求は、第1のノードの第1の識別子と、第2のノードの第2の識別子と、第1のスマートアセットの識別子とを含む。いくつかの例では、第1のスマートアセットは、複数のフィールドを含む基礎となるデータオブジェクトを含む。いくつかの例では、第1のスマートアセットのフィールドは、第1のスマートアセットに割り当てられた一意の識別子、および第1のスマートアセットに割り当てられたタイプ識別子を記録するために提供され得る。いくつかの例では、スマートアセットのフィールドは、第1のスマートアセットの特性(たとえば、数量、値)を記録するために提供され得る。いくつかの実装形態では、第1のスマートアセットの識別子は、第1のスマートアセットに割り当てられたアドレス情報を含む。いくつかの実装形態では、第1のスマートアセットは第1のノードに関連する。
例示的な図3では、合併モジュール308は、canMerge機能310とAutoMerge機能312とを含む。いくつかの例では、合併モジュール308によって受信された合併要求は、合併要求内に含まれた情報を使用して、canMerge機能310およびAutoMerge機能312を実行することによって処理される。いくつかの例では、canMerge機能310およびAutoMerge機能312は、合併要求内で識別された第1のスマートアセットに関連するコンピュータ実行可能スマートコントラクトによって提供される。
いくつかの実装形態では、canMerge機能310は、合併要求内で提供された第1のスマートアセットが合併要求内で識別された第2のノードに関連する第2のスマートアセットと合併され得るかどうかを判定する。いくつかの例では、canMerge機能310は、第2のノードに関連する第2のスマートアセットが第1のスマートアセットのタイプ識別子と同じタイプ識別子を含むかどうかを判定することによって、第1のスマートアセットが第2のノードに関連する第2のスマートアセットと合併され得るかどうかを判定する。いくつかの例では、canMerge機能310は、それぞれ、第1のスマートアセットの識別子および第2のスマートアセットの識別子に基づいて、第1のスマートアセットおよび第2のスマートアセットのタイプ識別子を判定する。いくつかの実装形態では、canMerge機能310は、第2のスマートアセットが第1のスマートアセットと同じタイプ識別子を有するとき、第1のスマートアセットが第2のスマートアセットと合併可能であると判定する。
いくつかの実装形態では、canMerge機能310は、第1のスマートアセットが第2のノードに関連する第2のスマートアセットと合併可能でないとの判定に応答して、「偽」を返却する。いくつかの例では、canMerge機能310が合併要求に対して「偽」を返却する場合、合併要求内で識別された第1のスマートアセットは、第2のノード上に自動的に記録され、第1のノードから削除される。いくつかの実装形態では、canMerge機能310が「偽」を返却するとすぐに、第1のスマートアセットには、第2の識別子および第2の値が割り当てられる。いくつかの例では、第2の値は、第1のスマートアセットの元の値に等しい。いくつかの例では、第2の識別子は一意の識別子である。いくつかの例では、第2の識別子は、第2のノード上に記録された第1のスマートアセットに割り当てられたアドレス情報を含む。いくつかの例では、第2の識別子および第2の値は、第1のスマートアセットの基礎となるデータオブジェクト内のフィールドとして記憶される。
いくつかの実装形態では、canMerge機能310は、第1のスマートアセットが第2のノードに関連する第2のスマートアセットと合併可能であるとの判定に応答して、「真」を返却する。いくつかの実装形態では、canMerge機能310が「真」を返却するとすぐに、合併要求は、AutoMerge機能312によって自動的に処理される。
本開示の実装形態によれば、AutoMerge機能312は、第2のスマートアセットを自動的に更新し、更新された第2のスマートアセットを第2のノードに記録し、第1のスマートアセットを第1のノードから削除する。いくつかの実装形態では、AutoMerge機能312は、第1のスマートアセットの特性および値を含めるように、第2のスマートアセットを更新する。
いくつかの例では、AutoMerge機能312によって更新された第2のスマートアセットに割り当てられた値は、数値として提供される。いくつかの例では、この値は文字列記述として提供される。いくつかの例では、この値はJavascript(登録商標)オブジェクト表記法(JSON)文字列記述として提供される。いくつかの例では、AutoMerge機能312によって更新された第2のスマートアセットに割り当てられた値は、第1のスマートアセットの元の値および第2のスマートアセットの元の値の和に等しい。いくつかの例では、AutoMerge機能312は、それぞれ、第1のスマートアセットおよび第2のスマートアセットの基礎となるデータオブジェクトの値フィールド内に記憶された値に基づいて、第1のスマートアセットの元の値および第2のスマートアセットの元の値を判定する。
移動論理を実行するための例示的な疑似コードは、以下として提供され得る:
Transfer(userA, userB, assetTransfered);
for (Asset asset:userB.getAllAssetsByAssetContract(asset.
getAssetContractAddress()) {
if (canMerge(asset, assetTransfered)) {
Merge(userB, asset, assetTransfered);
break;
}
}
canMerge機能310に対する例示的な疑似コードは、以下として提供され得る:
def canMerge(self, assetA, assetB):
if assetA.startDate == assetB.startDate and
assetA.endDate == assetB.endDate:
return True;
else
return False;
canMerge機能310に対する別の例示的な疑似コードは、以下として提供され得る:
def canMerge(self, assetA, assetB):
if assetA.startDate == assetB.startDate and
assetA.endDate == assetB.endDate and
assetA.propertyX == assetB.propertyX:
return True;
else
return False;
canMerge機能310に対するさらに別の例示的な疑似コードは、以下として提供され得る:
def canMerge(self, assetA, assetB):
if assetA.propertyX == assetB.propertyX:
return True;
else
return False;
図4は、本開示の実装形態に従って実行され得る例示的なプロセス400を示す。いくつかの実装形態では、例示的なプロセス400は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実行され得る。たとえば、例示的なプロセス400は、ブロックチェーンネットワーク内で実行され得る。
移動要求を受信する(402)。たとえば、コンソーシアムブロックチェーンネットワーク内でノード同士の間でスマートアセットを移動させるための要求は、コンソーシアムブロックチェーンネットワークのメンバーから受信され得る。いくつかの例では、要求は、ブロックチェーンネットワークの第1のノード(たとえば、送る側ノード)の第1の識別子とブロックチェーンネットワークの第2のノード(たとえば、受信側ノード)の第2の識別子、スマートアセットの識別子、および値を含む。いくつかの実装形態では、スマートアセットは、複数のフィールドを含むデータオブジェクトとして提供される。いくつかの例では、この値は数値である。いくつかの例では、この値は文字列記述である。いくつかの例では、この値はJavascript(登録商標)オブジェクト表記法(JSON)として提供され得る。
canTransfer機能を実行する(404)。canTransfer機能は、移動要求内の情報を処理して、スマートアセットが移動可能であるかどうかを判定する。いくつかの例では、canTransfer機能は、スマートアセットの識別子に少なくとも部分的に基づいて、スマートアセットが移動可能であるかどうかを判定する。いくつかの例では、canTransfer機能は、スマートアセットのタイプ識別子に少なくとも部分的に基づいて、スマートアセットが移動可能であるかどうかを判定する。いくつかの例では、canTransfer機能は、スマートアセットの値が移動要求内で提供される値未満であるかどうかの判定に少なくとも部分的に基づいて、スマートアセットが移動可能であるかどうかを判定する。いくつかの例では、canTransfer機能は、スマートアセットに関連するコンピュータ実行可能スマートコントラクトによって提供される。
スマートアセットの移動能力を判定する(406)。スマートアセットが移動不可能であると判定された場合、アセットが移動可能でないという指示を提供する(408)。いくつかの例では、スマートアセットが移動不可能であると判定された場合、canTransfer機能は「偽」を返却する。いくつかの例では、スマートアセットが移動不可能であると判定された場合、取引は終了する。
スマートアセットが移動可能であると判定された場合、第1のスマートアセットおよび第2のスマートアセットを生成する(410)。いくつかの例では、第1のスマートアセットおよび第2のスマートアセットは、各々、複数のフィールドを含むデータオブジェクトとして提供される。いくつかの例では、第1のスマートアセットおよび第2のスマートアセットは、移動要求内で識別されたスマートアセットと同じ特性を含む。たとえば、第1のスマートアセットおよび第2のスマートアセットは、各々、移動要求内で識別されたスマートアセットと同じタイプ識別子を含み得る。
いくつかの実装形態では、第1のスマートアセットには、第1の識別子および第1の値が割り当てられる。いくつかの例では、第1の値は、移動要求内で識別されたスマートアセットの元の値から移動要求内で識別された値を減算した残りである。いくつかの実装形態では、第2のスマートアセットには、第2の識別子および移動要求内で識別された値が割り当てられる。いくつかの例では、第1の識別子および第2の識別子は、それぞれ、第1のスマートアセットおよび第2のスマートアセットに関するアドレス情報を含む。
第1のスマートアセットをブロックチェーンネットワークの第1のノードに記録する(412)。第2のスマートアセットをブロックチェーンネットワークの第2のノードに記録する(414)。
移動要求内で識別されたスマートアセット(たとえば、そこから第1および第2のスマートアセットが生成されたスマートアセット)を削除する(416)。いくつかの例では、コンソーシアムブロックチェーンネットワーク内での第1のスマートアセットおよび第2のスマートアセットの記録が成功した時に、スマートアセットは自動的に削除される。
図5は、本開示の実装形態に従って実行され得る例示的なプロセス500を示す。いくつかの実装形態では、例示的なプロセス500は、1つまたは複数のコンピューティングデバイスを使用して実行される1つまたは複数のコンピュータ実行可能プログラムを使用して実行され得る。たとえば、例示的なプロセス500は、ブロックチェーンネットワーク内で実行され得る。
合併要求を受信する(502)。たとえば、合併要求は、スマートアセットがコンソーシアムブロックチェーンネットワークのノードに記録されているときに受信され得る。いくつかの例では、要求は、第1のノードの第1の識別子と、第2のノードの第2の識別子と、第1のスマートアセットの識別子とを含む。いくつかの例では、第1のスマートアセットは第1のノードに関連する。いくつかの例では、第1のスマートアセットは、複数のフィールドを含む基礎となるデータオブジェクトを含む。
canMerge機能を実行する(504)。canMerge機能は、合併要求内の情報を処理して、第1のスマートアセットが合併要求内で識別された第2のノードに関連する第2のスマートアセットと合併可能であるかどうかを判定する。いくつかの実装形態は、canMerge機能は、第1のスマートアセットの識別子および第2のスマートアセットの識別子に少なくとも部分的に基づいて、第1のスマートアセットが第2のスマートアセットと合併可能であるかどうかを判定する。いくつかの例では、canMerge機能は、第1のスマートアセットのタイプ識別子および第2のスマートアセットのタイプ識別子に少なくとも部分的に基づいて、第1のスマートアセットが第2のスマートアセットと合併可能あるかどうかを判定する。いくつかの例では、第2のスマートアセットは、複数のフィールドを含む基礎となるデータオブジェクトを含む。
第1のスマートアセットが第2のノードに関連する第2のスマートアセットと合併される能力を判定する(506)。いくつかの例では、第1のスマートアセットのタイプ識別子が第2のスマートアセットのタイプ識別子と整合する場合、第1のスマートアセットは第2のスマートアセットと合併可能であると判定される。
第1のスマートアセットが第2のノードに関連する第2のスマートアセットと合併可能でないと判定された場合、第1のスマートアセットを第2のノードに自動的に記録し(508)、第1のノードから削除する(510)。いくつかの例では、第1のスマートアセットには、第2の識別子および第2の値が割り当てられる。いくつかの例では、第2の値は、第1のスマートアセットの元の値に等しい。いくつかの例では、第2の値は数値として提供される。いくつかの例では、第2の値は文字列記述である。たとえば、第2の値はJavascript(登録商標)オブジェクト表記法(JSON)として提供され得る。いくつかの例では、第2の識別子は、第1のスマートアセットに関するアドレス情報を含む。
第1のスマートアセットが第2のノードに関連する第2のスマートアセットと合併可能であると判定された場合、第2のスマートアセットを自動的に更新する(512)。いくつかの例では、第2のスマートアセットは、第1のスマートアセットの特性および値を含めるように更新される。いくつかの例では、値は、第1のスマートアセットの元の値および第2のスマートアセットの元の値の和に等しい。いくつかの例では、この値は数値として提供される。いくつかの例では、この値は文字列記述である。いくつかの例では、この値はJavascript(登録商標)オブジェクト表記法(JSON)として提供され得る。
いくつかの実装形態では、更新された第2のスマートアセットを第2のノード上に自動的に記録する(514)。第1のスマートアセットを削除する(516)。いくつかの例では、更新された第2のスマートアセットの第2のノードへの記録が成功した時に、第1のスマートアセットは自動的に削除される。
説明した特徴は、デジタル電子回路の形で、またはコンピュータハードウェア、ファームウェア、ソフトウェアの形で、またはそれらの組合せの形で実装され得る。この装置は、プログラマブルプロセッサによって実行するために情報担体内で(たとえば、機械可読記憶デバイス内で)有形に実施されるコンピュータプログラム製品の形で実装され得、方法ステップは、入力データを操作し、出力を生成することによって、説明した実装形態の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行され得る。説明した特徴は、データ記憶システムからデータおよび命令を受信し、データ記憶システムにデータおよび命令を送信するために結合された、少なくとも1つのプログラマブルプロセッサと、少なくとも1つの入力デバイスと、少なくとも1つの出力デバイスとを含む、プログラマブルシステム上で実行可能な1つまたは複数のコンピュータプログラム内で有利に実装され得る。コンピュータプログラムは、一定の動作を実行するため、または一定の結果をもたらすためにコンピュータ内で直接的または間接的に使用され得る命令のセットである。コンピュータプログラムは、コンパイル型言語またはインタープリタ型言語を含めて、任意の形態のプログラミング言語で書き込まれてよく、コンピュータプログラムは、スタンドアロン型プログラムとして、またはモジュール、構成要素、サブルーチン、またはコンピューティング環境で使用するのに適した他のユニットを含めて、任意の形態で展開され得る。
命令のプログラムを実行するのに適したプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサの両方、および任意の種類のコンピュータの唯一のプロセッサまたは複数のプロセッサのうちの1つを含む。概して、プロセッサは、読取り専用メモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信することになる。コンピュータの要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリとを含み得る。概して、コンピュータは、データファイルを記憶するための1つまたは複数の大容量記憶デバイスを含んでもよいか、あるいはそれと通信するように動作可能に結合されてもよく、そのようなデバイスは、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、磁気光学ディスク、および光ディスクを含む。コンピュータプログラム命令およびデータを有形に実施するのに適した記憶デバイスは、例として、EPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスクおよびリムーバブルディスクなどの磁気ディスク、磁気光学ディスク、およびCD-ROMディスクおよびDVD-ROMディスクを含めて、すべての形態の非揮発性メモリを含む。プロセッサおよびメモリは、特定用途向け集積回路(ASIC)によって補完され得るか、またはその中に組み込まれ得る。
ユーザとの対話を提供するために、これらの特徴は、情報をユーザに表示するための、陰極線管(CRT)モニタまたは液晶ディスプレイ(LCD)モニタなどのディスプレイデバイスと、キーボードと、それによりユーザがコンピュータに入力を提供することができる、マウスまたはトラックボールなどのポインティングデバイスとを有するコンピュータ上で実装され得る。
これらの特徴は、データサーバなどのバックエンド構成要素を含むか、もしくはアプリケーションサーバまたはインターネットサーバなどのミドルウェア構成要素を含むか、またはグラフィカルユーザインターフェースまたはインターネットブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含むか、あるいはそれらの任意の組合せを含む、コンピュータシステム内で実装され得る。このシステムの構成要素は、通信ネットワークなど、任意の形態または媒体のデジタルデータ通信によって相互接続され得る。通信ネットワークの例は、たとえば、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、ならびにコンピュータおよびインターネット形成するネットワークを含む。
コンピュータシステムは、クライアントとサーバとを含み得る。クライアントおよびサーバは、概して、互いから離れており、一般に、説明したネットワークなど、ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で実行し、互いに対してクライアント-サーバ関係を有するコンピュータプログラムにより生じる。
加えて、図に示した論理フローは、所望の結果を達成するために、示した特定の順序、または連続的順序を必要としない。加えて、他のステップを提供することができ、または説明したフローからステップをなくすことができ、説明したシステムに他の構成要素を追加すること、または説明したシステムから他の要素を除去することができる。したがって、他の実装形態が以下の特許請求の範囲内に入る。
本開示のいくつかの実装形態について説明してきた。それでもなお、本開示の趣旨および範囲から逸脱せずに、様々な修正を行うことが可能であることを理解されよう。したがって、他の実装形態が以下の特許請求の範囲内に入る。
100 環境
102 コンソーシアムブロックチェーンネットワーク
106 コンピューティングデバイス、コンピューティングシステム
108 コンピューティングデバイス、コンピューティングシステム
110 ネットワーク
200 概念アーキテクチャ
202 エンティティレイヤ
204 ホストサービスレイヤ
206 ブロックチェーンネットワークレイヤ
208 取引管理システム
210 インターフェース
212 ブロックチェーンネットワーク
214 ノード
216 ブロックチェーン
300 アセット移動プラットフォーム
302 移動モジュール
304 canTransfer機能
306 TryTransfer機能
308 合併モジュール
310 canMerge機能
312 AutoMerge機能
400 プロセス
500 プロセス

Claims (27)

1つまたは複数のプロセッサによって実行される、ブロックチェーンネットワーク内のスマートアセットの移動のためのコンピュータ実装方法であって、
第1のノードの第1の識別子、第2のノードの第2の識別子、スマートアセットの識別子、および値を含む移動要求を受信するステップと、
前記スマートアセットの前記識別子、および前記値に少なくとも部分的に基づいて、前記スマートアセットが移動可能であるかどうかを判定するステップと、
前記スマートアセットが移動可能であるとの判定に応答して、自動的に、
第1のスマートアセットおよび第2のスマートアセットを提供するステップであって、前記第1のスマートアセットは、第1の識別子、第1の値が割り当てられ、前記スマートアセットの特性を含み、前記第2のスマートアセットは、第2の識別子、前記値が割り当てられ、前記スマートアセットの特性を含む、ステップと、
前記第1のスマートアセットを前記第1のノードに記録し、前記第2のスマートアセットを前記第2のノードに記録するステップと、
前記スマートアセットを削除するステップと
を含む、方法。
前記スマートアセットが移動可能であるかどうかを前記判定するステップが、前記スマートアセットに関連するコンピュータ実行可能スマートコントラクト内で提供される機能を実行することによって判定される、請求項1に記載の方法。
前記スマートアセットが移動可能であるかどうかを前記判定するステップが、前記スマートアセットが分割され得るタイプのものであるかどうかを指示する、前記スマートアセットに関連するタイプ識別子に少なくとも部分的に基づいて判定される、請求項1に記載の方法。
前記スマートアセットが移動可能であるかどうかを前記判定するステップが、前記スマートアセットの元の値が前記値未満であるかどうかに少なくとも部分的に基づいて判定される、請求項1に記載の方法。
前記値が、数値および文字列記述のうちの1つとして提供される、請求項1に記載の方法。
前記文字列記述が、Javascript(登録商標)オブジェクト表記法(JSON)で提供される、請求項1に記載の方法。
前記第1の値が、前記スマートアセットの元の値から前記値を減算した残りである、請求項1に記載の方法。
前記ブロックチェーンネットワークが、コンソーシアムブロックチェーンネットワークである、請求項1に記載の方法。
前記スマートアセットが、複数のフィールドを有する基礎となるデータオブジェクトによって定義される、請求項1に記載の方法。
1つまたは複数のプロセッサに結合され、前記1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、ブロックチェーンネットワーク内のスマートアセットの移動のための動作を実行させる命令を記憶した、非一時的コンピュータ可読記憶媒体であって、前記動作が、
第1のノードの第1の識別子、第2のノードの第2の識別子、スマートアセットの識別子、および値を含む移動要求を受信することと、
前記スマートアセットの前記識別子、および前記値に少なくとも部分的に基づいて、前記スマートアセットが移動可能であるかどうかを判定することと、
前記スマートアセットが移動可能であるとの判定に応答して、自動的に、
第1のスマートアセットおよび第2のスマートアセットを提供することであって、前記第1のスマートアセットは、第1の識別子、第1の値が割り当てられ、前記スマートアセットの特性を含み、前記第2のスマートアセットは、第2の識別子、前記値が割り当てられ、前記スマートアセットの特性を含む、前記提供することと、
前記第1のスマートアセットを前記第1のノードに記録し、前記第2のスマートアセットを前記第2のノードに記録することと、
前記スマートアセットを削除することと
を含む、非一時的コンピュータ可読記憶媒体。
前記スマートアセットが移動可能であるかどうかを前記判定することが、前記スマートアセットに関連するコンピュータ実行可能スマートコントラクト内で提供される機能を実行することによって判定される、請求項10に記載のコンピュータ可読記憶媒体。
前記スマートアセットが移動可能であるかどうかを前記判定することが、前記スマートアセットが分割され得るタイプのものであるかどうかを指示する、前記スマートアセットに関連するタイプ識別子に少なくとも部分的に基づいて判定される、請求項10に記載のコンピュータ可読記憶媒体。
前記スマートアセットが移動可能であるかどうかを前記判定することが、前記スマートアセットの元の値が前記値未満であるかどうかに少なくとも部分的に基づいて判定される、請求項10に記載のコンピュータ可読記憶媒体。
前記値が、数値および文字列記述のうちの1つとして提供される、請求項10に記載のコンピュータ可読記憶媒体。
前記文字列記述が、Javascript(登録商標)オブジェクト表記法(JSON)で提供される、請求項10に記載のコンピュータ可読記憶媒体。
前記第1の値が、前記スマートアセットの元の値から前記値を減算した残りである、請求項10に記載のコンピュータ可読記憶媒体。
前記ブロックチェーンネットワークが、コンソーシアムブロックチェーンネットワークである、請求項10に記載のコンピュータ可読記憶媒体。
前記スマートアセットが、複数のフィールドを有する基礎となるデータオブジェクトによって定義される、請求項10に記載のコンピュータ可読記憶媒体。
システムであって、
コンピューティングデバイスと、
前記コンピューティングデバイスに結合され、前記コンピューティングデバイスによって実行されるとき、前記コンピューティングデバイスに、ブロックチェーンネットワーク内のスマートアセットの移動のための動作を実行させる命令を記憶した、コンピュータ可読記憶媒体と
を含み、前記動作が、
第1のノードの第1の識別子、第2のノードの第2の識別子、スマートアセットの識別子、および値を含む移動要求を受信することと、
前記スマートアセットの前記識別子、および前記値に少なくとも部分的に基づいて、前記スマートアセットが移動可能であるかどうかを判定することと、
前記スマートアセットが移動可能であるとの判定に応答して、自動的に、
第1のスマートアセットおよび第2のスマートアセットを提供することであって、前記第1のスマートアセットは、第1の識別子、第1の値が割り当てられ、前記スマートアセットの特性を含み、前記第2のスマートアセットは、第2の識別子、前記値が割り当てられ、前記スマートアセットの特性を含む、前記提供することと、
前記第1のスマートアセットを前記第1のノードに記録し、前記第2のスマートアセットを前記第2のノードに記録することと、
前記スマートアセットを削除することと
を含む、システム。
前記スマートアセットが移動可能であるかどうかを前記判定することが、前記スマートアセットに関連するコンピュータ実行可能スマートコントラクト内で提供される機能を実行することによって判定される、請求項19に記載のシステム。
前記スマートアセットが移動可能であるかどうかを前記判定することが、前記スマートアセットが分割され得るタイプのものであるかどうかを指示する、前記スマートアセットに関連するタイプ識別子に少なくとも部分的に基づいて判定される、請求項19に記載のシステム。
前記スマートアセットが移動可能であるかどうかを前記判定することが、前記スマートアセットの元の値が前記値未満であるかどうかに少なくとも部分的に基づいて判定される、請求項19に記載のシステム。
前記値が、数値および文字列記述のうちの1つとして提供される、請求項19に記載のシステム。
前記文字列記述が、Javascript(登録商標)オブジェクト表記法(JSON)で提供される、請求項19に記載のシステム。
前記第1の値が、前記スマートアセットの元の値から前記値を減算した残りである、請求項19に記載のシステム。
前記ブロックチェーンネットワークが、コンソーシアムブロックチェーンネットワークである、請求項19に記載のシステム。
前記スマートアセットが、複数のフィールドを有する基礎となるデータオブジェクトによって定義される、請求項19に記載のシステム。
JP2019521478A 2018-11-30 2018-11-30 ブロックチェーンネットワーク内のスマートアセットの原子移動のためのプラットフォーム Active JP6804715B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/118505 WO2019072285A2 (en) 2018-11-30 2018-11-30 PLATFORM FOR ATOMIC TRANSFER OF INTELLIGENT RESOURCES IN BLOCK CHAIN NETWORKS

Publications (2)

Publication Number Publication Date
JP2020507827A true JP2020507827A (ja) 2020-03-12
JP6804715B2 JP6804715B2 (ja) 2020-12-23

Family

ID=66100010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019521478A Active JP6804715B2 (ja) 2018-11-30 2018-11-30 ブロックチェーンネットワーク内のスマートアセットの原子移動のためのプラットフォーム

Country Status (9)

Country Link
US (1) US11037143B2 (ja)
EP (1) EP3552173A4 (ja)
JP (1) JP6804715B2 (ja)
KR (1) KR102151896B1 (ja)
CN (1) CN109937430B (ja)
PH (1) PH12019500874A1 (ja)
SG (1) SG11201903539PA (ja)
TW (1) TW202023230A (ja)
WO (1) WO2019072285A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022547853A (ja) * 2020-03-30 2022-11-16 株式会社日立製作所 コンソーシアムブロックチェーンを用いてプライベートデータを保持する方法および装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876947B (zh) * 2018-05-31 2020-07-14 阿里巴巴集团控股有限公司 不停车收费方法及装置、电子设备
CN111984394A (zh) * 2019-05-22 2020-11-24 国家计算机网络与信息安全管理中心 一种网络资产归属判别形成关键属性提取系统
CN114401150B (zh) 2019-09-05 2023-10-20 创新先进技术有限公司 区块链网络中加入节点的方法和区块链系统
CN110730204B (zh) * 2019-09-05 2022-09-02 创新先进技术有限公司 区块链网络中删除节点的方法和区块链系统
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11403629B2 (en) * 2020-12-07 2022-08-02 II Thomas T. Meredith Systems and methods thereof for exchanging different digital currencies on different blockchains
US20230236892A1 (en) * 2022-01-25 2023-07-27 Poplar Technologies, Inc. Apparatus for resource enhacement
US20230342774A1 (en) * 2022-03-28 2023-10-26 Guardtime Sa Atomic Multi-Unit Transfer of Single-Instance Data Units in Sharded Blockchain
US20230385822A1 (en) * 2022-05-24 2023-11-30 Mastercard International Incorporated Method and system for processing an asset swap across two blockchains

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130246297A1 (en) * 2013-05-01 2013-09-19 Idonate Liquidation, Llc Bid-Based Charitable Impact Statement
US9898782B1 (en) * 2013-06-28 2018-02-20 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US20170200147A1 (en) * 2016-01-08 2017-07-13 Akbar Ali Ansari System and the computer methods of issuing, transferring and manipulating value or gift cards using blockchain technology
US10693658B2 (en) * 2016-02-12 2020-06-23 Visa International Service Association Methods and systems for using digital signatures to create trusted digital asset transfers
CN105956923B (zh) * 2016-04-20 2022-04-29 上海如鸽投资有限公司 资产交易系统以及资产的数字化认证和交易方法
CN105976246A (zh) * 2016-04-29 2016-09-28 北京太云科技有限公司 一种基于区块链的数字资产叠加方法及装置
WO2017218986A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Managing verifiable, cryptographically strong transactions
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点
CN106327173A (zh) * 2016-08-22 2017-01-11 布比(北京)网络技术有限公司 网络支付方法及装置
CN106780025B (zh) * 2016-11-30 2021-03-02 中国银行股份有限公司 区块链中数字资产的转移方法、装置及系统
KR101964254B1 (ko) * 2017-01-03 2019-04-01 아주대학교산학협력단 블록체인과 dht를 이용한 p2p 거래 방법 및 장치
CN106960388A (zh) * 2017-03-01 2017-07-18 中钞信用卡产业发展有限公司北京智能卡技术研究院 跨区块链的数字资产流转的方法和装置
KR102349401B1 (ko) * 2017-04-05 2022-01-11 삼성에스디에스 주식회사 블록체인 기반의 사용자 정의 화폐 거래 시스템 및 그 동작 방법
CN107392608B (zh) * 2017-07-11 2020-07-07 北京博晨技术有限公司 基于区块链系统的数字资产交易方法及区块链系统
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
CN108335206B (zh) * 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
CN108416675A (zh) * 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108335207B (zh) * 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022547853A (ja) * 2020-03-30 2022-11-16 株式会社日立製作所 コンソーシアムブロックチェーンを用いてプライベートデータを保持する方法および装置
JP7319461B2 (ja) 2020-03-30 2023-08-01 株式会社日立製作所 コンソーシアムブロックチェーンを用いてプライベートデータを保持する方法および装置

Also Published As

Publication number Publication date
EP3552173A2 (en) 2019-10-16
WO2019072285A2 (en) 2019-04-18
EP3552173A4 (en) 2020-01-15
US20190303927A1 (en) 2019-10-03
WO2019072285A3 (en) 2019-10-03
CN109937430B (zh) 2024-03-08
CN109937430A (zh) 2019-06-25
KR102151896B1 (ko) 2020-09-03
US11037143B2 (en) 2021-06-15
TW202023230A (zh) 2020-06-16
JP6804715B2 (ja) 2020-12-23
KR20200067119A (ko) 2020-06-11
SG11201903539PA (en) 2019-05-30
PH12019500874A1 (en) 2019-11-25

Similar Documents

Publication Publication Date Title
JP6867481B2 (ja) ブロックチェーンネットワーク内のスマートアセットの原子移動のためのプラットフォーム
JP6804715B2 (ja) ブロックチェーンネットワーク内のスマートアセットの原子移動のためのプラットフォーム
US10594477B2 (en) Blockchain smart contract updates using decentralized decision
US20190278765A1 (en) Shared secret-based blockchain storage
EP3574630B1 (en) Secret-based blockchain storage with privacy
JP2020507140A (ja) ブロックチェーンネットワーク内のファンクションアズアサービス(FaaS)プラットフォーム
US20190251071A1 (en) Blockchain data relationship structuring scheme based on binary log replication
KR20210125381A (ko) 블록체인 변환 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200928

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: 20201019

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201030

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201105

R150 Certificate of patent or registration of utility model

Ref document number: 6804715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250