JP2023515435A - ブロックチェーンに関連する複数のサービスのためのプラットフォーム - Google Patents

ブロックチェーンに関連する複数のサービスのためのプラットフォーム Download PDF

Info

Publication number
JP2023515435A
JP2023515435A JP2022549509A JP2022549509A JP2023515435A JP 2023515435 A JP2023515435 A JP 2023515435A JP 2022549509 A JP2022549509 A JP 2022549509A JP 2022549509 A JP2022549509 A JP 2022549509A JP 2023515435 A JP2023515435 A JP 2023515435A
Authority
JP
Japan
Prior art keywords
blockchain
client
request
platform
services
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022549509A
Other languages
English (en)
Inventor
アンドリュー・ジェームズ・ミー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
nChain Holdings Ltd
Original Assignee
nChain Holdings 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 nChain Holdings Ltd filed Critical nChain Holdings Ltd
Publication of JP2023515435A publication Critical patent/JP2023515435A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

第1の態様において、本開示は、サービスに対するクライアント要求をハイパーテキスト転送プロトコル(HTTP)伝送プロコトルフォーマットにおいて受信することができるアプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサを使用して、ブロックチェーンに関連する複数のサービスを提供するプラットフォームを実装する方法、デバイス、およびシステムを提案する。クライアントおよび/または要求の識別情報の適切な検証に加えて、要求されたブロックチェーンサービスに関する宛先アドレスまたはエンドポイントが決定され、出力スクリプトを取得するために、少なくとも1つのブロックチェーントランザクションが、宛先アドレスに基づいて生成される。次いで、出力スクリプトに基づく結果が、HTTP伝送プロコトルフォーマットにおいて所与のクライアントに送信される。いくつかの態様において、ブロックチェーントランザクションは、ブロックチェーン上に有限状態マシンとして実装されるイベントストリームに関連付けられる。

Description

本開示は、概して、1つまたは複数のクライアントのための分散型台帳、すなわち、ブロックチェーンに関連する1つまたは複数のサービスのプラットフォームを実装するための方法およびシステムに関する。詳細には、本開示は、限定はしないが、イベントストリームまたは機械可読契約の実装など、1つまたは複数のクライアントのためのブロックチェーンに関連する複数の関数およびアプリケーションへのアクセスの提供に関する。
この文書において、本発明者らは、すべての形式の電子的なコンピュータベースの分散型台帳を含むように「ブロックチェーン」という用語を使用する。これらは、コンセンサスベースのブロックチェーンおよびトランザクションチェーン技術と、許可型および非許可型の台帳と、共有台帳と、パブリックおよびプライベートブロックチェーンと、それらのバリエーションとを含む。最も広く知られているブロックチェーン技術の応用は、ビットコイン台帳であるが、他のブロックチェーン実装形態も提案および開発されている。本明細書では、便宜上および例示のためにビットコインが参照される場合があるが、本開示は、ビットコインブロックチェーンとの使用に限定されず、任意の種類のデジタル資産またはデジタル資産の表現に関連する代替のブロックチェーン実装形態およびプロトコルが本開示の範囲内に入ることが留意されるべきである。「クライアント」、「エンティティ」、「ノード」、「ユーザ」、「送信者」、「受信者」、「支払人」、「受取人」という用語は、本明細書では、コンピューティングまたはプロセッサベースのリソースを指す場合がある。「ビットコイン」という用語は、本明細書では、ビットコインプロトコルに由来する、またはそれに基づく任意のバージョンまたはバリエーションを含むために使用される。「デジタル資産」という用語は、暗号通貨、プロパティの少なくとも一部を表すトークン、スマート契約、ライセンス、すなわち、ソフトウェアライセンス、またはメディアコンテンツのためのDRM契約などの、任意の譲渡可能な資産を指す場合がある。「デジタル資産」という用語は、本文書を通じて、あるエンティティから別のエンティティへのトランザクションにおける支払いとして転送または提供され得る値に関連し得る商品を表すために使用されることが理解される。
ブロックチェーンは、トランザクションによって構成されたブロックで構成されたコンピュータベースの非集中型の分散型システムとして実装されるピアツーピアの電子台帳である。各トランザクションは、ブロックチェーンシステムにおける参加者間のデジタル資産の制御の移行を符号化するデータ構造であり、少なくとも1つの入力と少なくとも1つの出力とを含む。各ブロックは、ブロックが、ブロックチェーンの開始からブロックチェーンに書き込まれたすべてのトランザクションの永続的で変更不可能な記録を作成するために一緒にチェーン化されるように、前のブロックのハッシュを含む。トランザクションは、トランザクションの出力がアクセスされ得る方法および相手を指定する、それらの入力および出力に埋め込まれたスクリプトとして知られる小さいプログラムを含む。ビットコインプラットフォームにおいて、これらのスクリプトは、スタックベースのスクリプト言語を使用して記述される。
ブロックチェーンにトランザクションが書き込まれるためには、トランザクションは、「検証」される必要がある。ネットワークノード(マイナー)は、各トランザクションが有効であることを保証するための作業を実行し、無効なトランザクションは、ネットワークから拒否される。ノード上にインストールされたソフトウェアクライアントは、そのロックスクリプトとアンロックスクリプトとを実行することによって、未消費トランザクション(UTXO)に対してこの検証作業を実行する。ロックスクリプトおよびアンロックスクリプトの実行が真と評価された場合、トランザクションは、有効であり、トランザクションは、次いで、ブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、i)トランザクションを受信する第1のノードによって検証され、トランザクションが検証された場合、ノードは、ネットワーク内の他のノードにそれを中継し、ii)マイナーによって構築された新しいブロックに追加され、iii)過去のトランザクションの公的台帳にマイニング、すなわち追加される必要がある。
マイナーによって実行される作業の性質は、ブロックチェーンを維持するために使用されるコンセンサスメカニズムのタイプに依存することが理解されよう。プルーフオブワーク(PoW:proof of work)は、元のビットコインプロトコルに関連付けられているが、ステーク証明(PoS:proof of stake)、委任型のステーク証明(DPoS:delegated proof of stake)、容量証明(PoC:proof of capacity)、経過時間証明(PoET:proof of elapsed time)、権限証明(PoA:proof of authority)などが使用されることが理解されよう。異なるコンセンサスメカニズムは、マイニングがノード間でどのように分散されるかにおいて異なり、ブロックを正常にマイニングする確率は、たとえば、マイナーのハッシュパワー(PoW:hashing power)、マイナーによって保持されている暗号通貨の量(PoS)、委任マイナーにおいて賭けられている暗号通貨の量(DPoS)、暗号パズルに対する所定の解決策を記憶するマイナーの能力(PoS)、マイナーにランダムに割り当てられる待機時間(PoET)などに依存する。典型的には、マイナーには、ブロックをマイニングするためのインセンティブまたは報酬が提供される。ビットコインブロックは、たとえば、新しく発行された暗号通貨(ビットコイン)と、ブロックにおけるトランザクションに関連する料金(トランザクション料金)とをマイナーに報酬として与える。ビットコインブロックチェーンの場合、発行される暗号通貨の量は、時間とともに減少し、インセンティブは、最終的にトランザクション料金のみで構成される。したがって、トランザクション料金の処理は、ビットコインブロックチェーンなどの公的ブロックチェーンにデータをコミットするための基礎的なメカニズムの一部であることが理解されよう。
前述のように、所与のブロックにおける各トランザクションは、ブロックチェーンシステムにおける参加者間のデジタル資産の制御の移行を符号化する。デジタル資産は、必ずしも暗号通貨に対応する必要はない。たとえば、デジタル資産は、文書、画像、物理的オブジェクトなどのデジタル表現に関連する場合がある。マイナーへの暗号通貨および/またはトランザクション料金の支払いは、必要な作業を実行することによってブロックチェーンの有効性を維持するためのインセンティブとして作用するだけである場合がある。ブロックチェーンに関連付けられた暗号通貨は、マイナーのためのセキュリティとして作用し、ブロックチェーン自体は、主に暗号通貨以外のデジタル資産に関連するトランザクションに関する台帳である場合がある。場合によっては、参加者間の暗号通貨の転送は、トランザクションの台帳を維持するためにブロックチェーンを使用するエンティティとは異なるおよび/または独立したエンティティによって処理される場合がある。
UTXOとしてブロックチェーンにおいて記憶されると、ユーザは、関連するリソースの制御を、別のトランザクションにおける入力に関連付けられた別のアドレスに移行することができる。この移行は、通常、本質的にではないが、デジタルウォレットを使用して行われる。このデジタルウォレットは、デバイス、物理的媒体、プログラム、デスクトップ、ラップトップ、もしくはモバイル端末などのコンピューティングデバイス上のアプリケーション(アプリ)、またはインターネットなどのネットワーク上のドメインに関連付けられたリモートでホストされるサービスであり得る。デジタルウォレットは、公開鍵と秘密鍵とを記憶し、ユーザに関連付けられたトークンおよび資産などのリソースの所有権を追跡し、デジタル資産を受信または消費し、暗号通貨、ライセンス、プロパティ、または他のタイプのリソースなどのデジタル資産に関連し得るトークンを転送するために使用され得る。
ブロックチェーン技術は、暗号通貨の実装の使用について最も広く知られているが、デジタル起業家は、新しいシステムを実装するために、ビットコインが基づいている暗号化セキュリティシステムと、ブロックチェーン上に記憶され得るデータの両方の使用を模索している。ブロックチェーンが暗号通貨の領域に限定されない自動化されたタスクおよび処理に使用され得る場合、非常に有利である。そのような解決策は、用途においてより汎用的でありながら、ブロックチェーンの利点(たとえば、イベントの永続的で改ざん防止の記録、分散処理など)を利用することができる。
現在の研究の1つの領域は、「スマート契約」の実装のためのブロックチェーンの使用である。これらは、機械可読契約または協定の条件の実行を自動化するように設計されたコンピュータプログラムである。自然言語において記述される従来の契約とは異なり、スマート契約は、ルールを備える機械実行可能プログラムであり、これらのルールは、結果を生成するために入力を処理することができ、次いで、それらの結果に応答してアクションを実行させることができる。ブロックチェーン関連の別の関心領域は、ブロックチェーンを介して現実世界のエンティティを表現および転送するための「トークン」(または「カラーコイン」)の使用である。潜在的に機密または秘密のアイテムは、識別可能な意味または値を持たないトークンによって表現され得る。したがって、トークンは、現実世界のアイテムがブロックチェーンから参照されることを可能にする識別子として機能する。
上記の例またはシナリオは、イベントの永続的な改ざん防止の記録を提供するためにブロックチェーンの利点を利用しながら、たとえば、BSV(ビットコインサトシビジョン(Bitcoin Satoshi’s Vision))ブロックチェーンによって使用される楕円曲線デジタル署名アルゴリズム(ECDSA: Elliptic Curve Digital Signature Algorithm)のための暗号鍵を管理する、デジタル資産を管理するための機能を実装するためのデジタルウォレットなどの、ソフトウェアおよび/またはハードウェアもしくはプロセッサ/モジュールを含むかまたは実装するために、クライアント、クライアントエンティティ、コンピューティングデバイス、またはクライアントに関連付けられた端末を必要とする。それに加えて、クライアントデバイスがブロックチェーントランザクション機構を実装し、BSVライブラリにアクセスすることができる必要性も存在する。したがって、クライアントは、そのような機能を実装するための処理を含む必要があるだけでなく、現実世界の資産トランザクションを表すスマート契約またはトークンに関連するデータおよび/またはデジタル資産を送信、受信、および閲覧するためにブロックチェーンネットワークを利用することができる前に、適切なセキュリティ対策がそのようなプロセスに対して実施されることを確実にする必要もある。
米国特許出願第16/384696号 英国特許出願第1907180.2号 英国特許出願第2007597.4号
したがって、任意のクライアントが、計算的に高度であるかどうかにかかわらず、計算上および機能上の負担が少ない、単純で、高速で、正確で、信頼性が高く、安全な方法において、ブロックチェーンに関連する有用なアプリケーションに即座にアクセスして対話することができるようにする、安全で、複雑度が低く、ユーザフレンドリーで、効率的で、堅牢な技法を実装することが望まれている。より具体的には、任意のクライアントコンピューティングデバイスが、クライアントに関連付けられた任意のデータ、イベント、またはデジタル資産が瞬時にかつ安全にブロックチェーンに容易にマイニングまたは書き込まれ得ることを確実にすることを可能にし、それによって、必要に応じて作成、書き込み、更新、読み取り、または閲覧され得る、永続的で、改ざん防止で、審査可能なその記録を提供する、複数のブロックチェーン関連サービスまたはアプリケーションのための共通のプラットフォームまたはインターフェースを提供するために、分散型台帳(ブロックチェーン)技術と、記録のセキュリティ、透明性、および信頼性の向上という利点とを利用することが望まれている。
そのような改善された解決策が今回考案されている。本開示は、そのようなクライアントが、ブロックチェーンに関連するすべての利点を依然として利用することができる一方で、ブロックチェーンを使用するための処理または機能を実装する必要なしに、ブロックチェーンに関連する1つまたは複数のサービスのためのアプリケーションプログラミングインターフェース(API: application programming interface)を提供する方法、デバイス、およびシステムによって、クライアントに関連するデータまたは情報が、簡単に、安全に、かつ瞬時にブロックチェーンに書き込まれ、そこから取得され得る、1つまたは複数の技法を提案することによって上記の技法的懸念に対処する。
第1の態様において、本開示は、サービスのためのハイパーテキスト転送プロトコル(HTTP: Hypertext Transfer Protocol)伝送プロトコルフォーマットにおいてクライアント要件を受信することができる、アプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサを使用して、ブロックチェーンに関連する複数のサービスを提供するプラットフォームを実装する方法、デバイス、およびシステムを提案する。クライアントの識別情報および/または要求の適切な検証に加えて、要求されたブロックチェーンサービスに関する要求、宛先アドレス、またはエンドポイントが決定され、出力スクリプトを取得するために、少なくとも1つのブロックチェーントランザクションが、宛先アドレスに基づいて生成される。次いで、出力スクリプトに基づく結果が、HTTP伝送プロトコルフォーマットにおいて所与のクライアントに送信される。
第2の態様において、本開示は、クライアントからのHTTP要求に基づいて、クライアントのためのブロックチェーンに関連するトランザクションのためのデータ書き込みサービスを実装し、ブロックチェーンを使用して実装されるイベントストリームESに関連するための方法、デバイス、およびシステムを提案し、イベントストリームは、有限状態機械(FSM:Finite State Machine)を表現または追跡するために使用され得る。たとえば、このFSMは、スマート契約であり得る。ブロックチェーンにおけるイベントストリームESnの現在の状態が決定され、イベントストリームESに関する新しいまたは次のイベントEn+1が受信された要求において識別され、イベントストリームESに関する前のトランザクションTXからのトランザクション出力に関連する入力と、新しいイベントEn+1を表すイベントデータに関連する未消費出力UTXOとを含むブロックチェーントランザクションを作成することによって処理される。ブロックチェーンに提出されると、ブロックチェーンにおけるイベントストリームの現在の状態は、新しいイベントEn+1に基づいて、ESn+1になるように更新される。現在の状態ESn+1に関連する結果である結果は、HTTP伝送プロトコルフォーマットにおいて提供される。
本明細書全体を通して、「備える」という単語、または「含む」、「備える」、もしくは「備えている」などの変形は、記載された要素、整数、ステップ、または要素、整数、もしくはステップのグループの包含を意味するが、任意の他の要素、整数、ステップ、または要素、整数、もしくはステップのグループの除外を意味しないことが理解されよう。
本開示の態様および実施形態について、例としてのみ、添付図面を参照して説明する。
第1の態様による、ブロックチェーンに関連する複数のサービスのためのプラットフォームの概要を示す概略図である。 プラットフォームに関連する1つまたは複数のプロセッサによって実装される、第1の態様による、ブロックチェーンに関連する複数のサービスのプラットフォームを提供するための方法を示すフローチャートである。 クライアントに関連する1つまたは複数のプロセッサによって実装される、第1の態様による、ブロックチェーンに関連する複数のサービスのプラットフォームにアクセスするための方法を示すフローチャートである。 第1の態様による、ブロックチェーンに関連する複数のサービスのプラットフォームの構成要素を示す概略図である。 プラットフォームサービスに関連する1つまたは複数のプロセッサによって実装される、第2の態様による、ブロックチェーンに関連するトランザクションに関するデータ書き込みサービスを実装するための方法を示すフローチャートである。 本開示の様々な態様および実施形態が実装され得るコンピューティング環境を示す概略図である。
第1の態様によれば、本開示は、ブロックチェーンに関連する複数のサービスのプラットフォームを提供するためのコンピュータ実装方法を提供し、プラットフォームは、複数のクライアントに対して提供され、方法は、アプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサによって実装される。
有利には、プラットフォームプロセッサAPIは、ウェブベースの対話型インターフェースであり、すなわち、いくつかの実施形態において、ウェブベースサービスのための標準インターネット通信プロトコルを使用してインターネット上で通信が行われ得るように、1つまたは複数のクライアントのためのウェブサービスとして実装され得る。たとえば、いくつかの実施形態において、それによって、HTTP、HTTPSなどの、アプリケーションレベル、またはクライアントとサーバ(この場合、プラットフォームサービス)との間の層におけるHTTPメッセージまたは要求は、TCP/IPなどのトランスポート層プロトコルに基づいて送信および受信され得る。ここでのHTTP伝送プロトコルまたはHTTP APIへの言及は、TCP/IP、UDP、HTTPSなどのすべての標準インターネット通信プロトコルも包含する。
いくつかの実施形態において、プラットフォームプロセッサは、HTTP APIエンドポイントとして実装される。いくつかの実施形態において、プラットフォームプロセッサは、リプレゼンテーショナルステートトランスファー(REST:Representational State Transfer)エンドポイントとして実装される。有利には、APIは、RESTエンドポイントとして実装され得、それによって、クライアントがHTTPまたはHTTPSなどの標準のインターネットまたはウェブベースのプロトコルを使用して通信することを可能にする。
第1の態様の方法は、複数のクライアントのうちの所与のクライアントからの要求を受信するステップを含み、複数のサービスのうちの所与のサービスに関連する、所与のクライアントからの要求は、ハイパーテキスト転送プロトコル(HTTP)伝送プロトコルフォーマットに基づく。次いで、クライアントの識別情報および/または要求が有効であるという決定に基づいて、方法は、所与のサービスに関連する宛先アドレスを取得するステップを含む。いくつかの実施形態において、宛先アドレスは、IPアドレスまたはネットワークアドレスエンドポイントであり得る。たとえば、これは、エンドポイントのユニバーサルリソース識別子(URI:universal resource identifier)であり得、ウェブサーバのユニバーサルリソースロケーション(URL:universal resource location)を含み得、このウェブサーバからの要求されたサービスが、要求されたサービスに関する支払いプロセッサまたは1つもしくは複数の他のエンティティ(クライアントを含む)によってアクセスされ得る。
いくつかの実施形態において、宛先アドレスは、プラットフォームAPIエンドポイントと同じエンドポイントであり得る。これは、プラットフォームがそのような要求されたサービスをメインサービスまたはコアサービスのように提供する場合であり得る。他の実施形態において、プラットフォームによって提供される複数の異なるタイプのサービスが存在し、各々が異なるプロセッサまたはウェブサーバによって実装されている場合、宛先アドレスは、プラットフォームに関連する他のプロセッサおよびウェブサーバに関するホストサーバとして作用し得るプラットフォームAPIとは異なり得る。この場合、プラットフォームプロセッサは、ブロックチェーンにおける複数のサービスのうちの所与のサービスを実装するように各々が構成され、それぞれのプロセッサに固有の特定の宛先アドレスまたはエンドポイントに各々が関連付けられている複数のプロセッサを備えるか、またはそれらに関連付けられる。
第1の態様の方法は、出力スクリプトを取得するために、取得された宛先アドレスに対応する少なくとも1つのブロックチェーントランザクションに基づいて、所与のサービスに対する要求を処理するステップをさらに含む。いくつかの実施形態において、出力スクリプトは、要求されたサービスに関連するデータに関連付けられ、または要求されたサービスの結果は、UTXO内に含まれ、トランザクションに関するそのようなデータまたはデジタル資産を含む。第1の態様において、出力スクリプトに関連付けられたこの結果は、次いで、HTTPまたは同様の伝送プロトコルフォーマットにおいて所与の(要求している)クライアントに送信される。
有利には、本開示の第1の態様の方法は、1つまたは複数のクライアントに関するAPIとして提供されるプラットフォームを実装することによって、クライアントに関連する1つまたは複数のプロセッサが、データをブロックチェーンに書き込むか、またはデータにアクセスするために、プラットフォームプロセッサによって提供されるウェブサービスにサインアップするか、またはウェブサービスを使用することを可能にする。プラットフォームに関連する1つもしくは複数のプロセッサは、限定はしないが、ウェブサービスおよびウェブベースの対話を開発するためのアーキテクチャスタイルであるREST(リプレゼンテーショナルステートトランスファー)などの、標準ベースのインターフェース設計を使用して、提供されているサービスのうちの1つまたは複数を実装することができる。リソースは、REST APIの文脈において、タイプ、関連するデータ、他のリソースとの関係、およびその上で動作する方法のセットを有するオブジェクトとして定義され得る。したがって、第1の態様のプラットフォームプロセッサによって実装されるプラットフォームまたはサービスは、有利には、ビットコインSV(BSV)ブロックチェーンなどのブロックチェーンまたは分散台帳(の状態)にアクセスし、アプリケーションインターフェースを介してその状態を変更してそれをREST APIとして公開することができる動作または機能をトリガするために、API実装形態として提供される。言い換えれば、プラットフォームに関連する1つまたは複数のサーバまたはプロセッサは、そのようなサービスを使用することを選択した1つまたは複数のクライアントのためのRESTエンドポイントとみなされ得る。したがって、有利には、クライアントは、HTTPまたは同様のインターネットコマンドを介してプラットフォームサービスと通信することができる。より有利には、BSV、ビットコイン、ブロックチェーンの知識、ECDSA、もしくは他の暗号鍵管理ライブラリ、またはデジタルウォレットソフトウェアなどのトランザクション構築ソフトウェアが、提供されるサービスのいずれかについてもクライアントによって実装される必要はない。1つまたは複数の処理リソースまたはユーザ端末を使用するクライアントは、クライアントの識別を検証するためのパスワード保護認証または標準的な公開鍵インフラストラクチャ(PKI: public key infrastructure)などのいくつかの公知の認証技法を介して、プラットフォームを使用するために単純に登録することができる。次いで、クライアントは、基本HTTPなどを介してプラットフォームサービスと単に通信することができるべきである。
いくつかの実施形態において、プラットフォームを介して提供され得るブロックチェーンに関連するサービスのうちのいくつかの例は、
ブロックチェーンの状態を変更するためにブロックチェーンにデータを書き込み/提出するためのデータサービス、
ブロックチェーンの現在の状態を反映するデータを読み取る/取得するためのデータサービス、
ブロックチェーンに関連するトランザクションのための簡略化された支払い検証に関連するサービス、
ブロックチェーンに関連する1つまたは複数のイベントストリームおよび/または機械可読契約の管理に関連するサービス、
複数のクライアントのためのデジタルウォレットフレームワークの管理に関連するサービス、
ピアツーピア通信チャネルの提供に関連するチャネルサービス、
データストレージに関連するストレージサービス
である。
第1の態様のプラットフォームプロセッサに関連する複数のプロセッサまたはウェブサービスが存在する実施形態において、第1の態様の方法は、HTTP伝送プロトコルフォーマットにおいてクライアントからの要求を受信するステップと、受信された要求をリモートプロシージャコール(RPC: Remote Procedure Call)に変換するステップと、受信された要求において識別されたサービスを実装するように構成された、複数のプロセッサのうちの所与のプロセッサにRPC要求を送信するステップとを実行するための、アプリケーションプログラミングインターフェース(API)コンバータを提供するステップをさらに含む。逆のフローパスにおいて、この実施形態は、RPCフォーマットにおいて所与のプロセッサから関連する応答を受信するステップと、HTTPまたは同様の伝送プロトコルを使用してクライアントに送信されるようにそれぞれの応答を変換するステップとを含む。
これは、クライアントが、ウェブベースのプラットフォームAPIを使用し、上記で説明したサービスを実装するがウェブサービスのためのインターネットプロトコル通信規格を使用して通信しないノードまたはサービスのいずれかとの相互運用性をシームレスに提供して、単純なHTTPを介してブロックチェーンに関連する要求を通信することを可能にするので、有利である。この実施形態において実装されるAPIコンバータは、HTTPからRPCへの変換およびその逆の変換に限定されず、またはさらに言えば、他のウェブサービスプロトコルから、上記のサービス、所与の暗号通貨のためのネットワーク、または他に想定され得るデジタル資産のうちの1つまたは複数を実装するプラットフォームプロセッサによってサポートされる代替の通信プロトコルへの変換に限定されない。逆のフローパスにおいて、第1の態様の方法はまた、RPCフォーマットにおいてそれぞれのプロセッサからの対応するブロックチェーントランザクションに関連する応答を受信するステップと、それに応じて、クライアントに送信するためにHTTPを使用してそれぞれの応答を変換するステップとを含む。したがって、提案されたインターフェースをプラットフォームプロセッサによって有利に実装することは、クライアント(支払人)およびマイナーが異なるワイヤレスデータ通信プロトコルおよびメカニズムを使用する場合、トランザクションをブロックチェーンに提出するためのシームレスな通信を可能にする。
第1の態様のいくつかの実施形態において、クライアントから受信される要求は、所与のクライアントに固有のクライアント識別子、ならびに上記のように、プラットフォームによって提供される複数のサービスのうちの要求された所与のサービスのためのサービス識別子を含むか、またはそれらに関連付けられたHTTP GETまたはHTTP POSTまたはHTTP PUTまたはHTTP PATCH要求である。いくつかの実施形態において、クライアントに送信される結果は、クライアント識別子に基づくHTTP POST要求である。
いくつかの実施形態において、ブロックチェーントランザクションのためのクライアントアドレス指定をより単純にするために、1つまたは複数のクライアントエンティティに関する複雑なパブリックアドレスの代わりに、記憶に残るよりユーザフレンドリーなエイリアスが使用されるメカニズムがすでに存在する。そのような解決策は、どちらもnChain Holdings Limitedの名前における、米国特許出願第16/384696号および英国特許出願第1907180.2号において提案されている。これらの文書は、クライアントエンティティのパブリックアドレスの代わりに宛先アドレスを指定するためにエイリアスが使用される、bsvalias支払いサービスと呼ばれる、エイリアスベースの支払いサービスおよび関連プロトコルを提示している。そのようなシステムにおけるエイリアスは、通常、送信/受信クライアントエンティティのドメイン名に関連付けられ、URIまたは電子メールアドレスであり得る。したがって、送信者またはエンティティがエイリアスを認識しているか、エイリアスを提供されている限り、これは、bsvalias支払いシステムまたはエイリアスベースのアドレス指定メカニズムには十分である。メッセージは、たとえば、bsvaliasまたは他の支払いサービスに関するより知られたURIまたは場所において保存されている、JavaScript Object Notation JSONドキュメントなどの機械可読リソースにおいて提供される命令を使用して、クライアントのエイリアスに送信され得る。本開示のいくつかの実施形態において、複数のクライアントのうちの1つまたは複数は、それぞれのクライアントを識別するために上記のようなエイリアスを有し得る。
関連する実施形態において、第1の態様の方法は、クライアント識別子と、クライアント識別子に対応する記録である、プラットフォームプロセッサに関連する記録とに基づいて、クライアントを検証するステップを含む。たとえば、そのような記録は、クライアントのサインアップまたは登録時にプラットフォームプロセッサにおいて作成され、記憶されるか、またはプラットフォームプロセッサに関連付けられ得る。次いで、クライアントの検証の成功に基づいて、サービス識別子と、それぞれの記録内に含まれる属性または設定とに基づいて、クライアントからの受信された要求が有効であるかどうかを判断するステップを含む。いくつかの実施形態において、前記属性または設定は、所与のクライアントが要求されたサービスのすべてまたは一部へのアクセスを許可されているかどうかを示し得る。たとえば、クライアント識別子に関連付けられた1つまたは複数のレベルの許可が、属性または設定において提供され得る。たとえば、所与のクライアントは、特定のイベントに関するブロックチェーン上にあるデータを読み取るサービスを要求することを許可される場合があり、しかしそのようなイベントを修正、削除、または終了することを許可されていない場合があるが、別のクライアントが、1つまたは複数のサービスに関連するすべてのアクションに対する許可を有する場合がある。
いくつかの実施形態において、所与のクライアントの身元を検証するステップは、クライアントに関連付けられたデジタル署名に基づき得る。各クライアントに関連付けられた秘密鍵と公開解(または公開アドレス)とを含む暗号鍵ペアは、サービスに対してなされた要求が本当に所与のクライアントから発信されたものであること、すなわち、秘密鍵によって署名されたデータが対応する公開解を使用してのみ復元または確認され得ることを検証するために使用され得る。検証がデジタル署名に基づく場合、標準的な公開鍵インフラストラクチャ(PKI)技法が使用および実装され得る。
第1の態様のいくつかの実施形態において、複数のクライアントのうちの所与のクライアントの1つまたは複数のプロセッサによって実装される、複数のサービスのプラットフォームにアクセスするためのコンピュータ実装方法は、プラットフォームに関連付けられた1つまたは複数のプロセッサに関連付けられたアプリケーションプログラミングインターフェース(API)エンドポイントを取得または識別するステップと、複数のサービスのうちの所与のサービスに関連する要求を送信するステップであって、要求が、所与のクライアントに関するクライアント識別子と、要求された所与のサービスに関するサービス識別子とを含むか、またはそれらに関連付けられる、ステップとを含む。上記のように、要求は、ハイパーテキスト転送プロトコル(HTTP)または同様の転送プロトコルフォーマットを使用して送信される。方法は、要求に関連するブロックチェーントランザクションの出力スクリプトに関連する結果も含み、前記結果は、HTTP転送プロトコルフォーマットにおいてクライアントに提供される。
第2の態様において、本開示は、データ書き込みサービスを実装するためのコンピュータ実装方法を提供し、方法は、クライアントがデータをブロックチェーンに書き込むサービスにアクセスすることを可能にするために、アプリケーションプログラミングインターフェース(API)に関連付けられたプラットフォームによって実装される。第2の態様の方法は、クライアントから要求を受信するステップを含み、要求は、ブロックチェーンを使用して実装されたイベントストリームESに関連し、クライアントからの要求は、ハイパーテキスト転送プロトコル(HTTP)伝送プロトコルフォーマットに基づく。いくつかの実施形態において、イベントストリームは、1つのステージから次のステージに遷移するために遷移関数またはトリガイベントを用い、有限数の状態を有し、所与の時間において1つの状態のみであり得るシステムを表すよく知られたコンピューティング用語である、決定論的有限オートマトン(DFA:Deterministic Finite Automaton)などの有限状態マシン(FSM:Finite State Machine)として追跡、または表現し得る。いくつかの実施形態において、そのようなイベントストリームは、技術的プロセスの制御手段または技法を表すのに有用である。いくつかの実施形態において、イベントストリームは、ブロックチェーン上の機械可読契約またはスマート契約に関連する入力、状態、および/またはイベントを表現または追跡し得、有利には、契約の過去および現在の状態の不変の記録が記録される。いくつかの実施形態において、クライアントからの受信された要求は、イベントストリームに関連付けられたスマート契約において状態遷移が行われることを可能にするために、トリガイベントを含む。
第2の態様の方法は、イベントストリームESi=nの現在の状態を決定するステップを含み、ここで、iは、0からNまでの整数であり、各整数iは、イベントストリームESの所与の状態を表し、それによって、i=0は、作成されたイベントストリームESを表し、i=nは、ブロックチェーン内の現在の状態におけるイベントストリームESを表し、i=Nは、イベントストリームESの最終状態を表す。いくつかの実施形態において、現在の状態の決定は、イベントストリームに関連する最新の結果に基づく現在の状態の指標であり得、前記結果は、ブロックチェーン上、またはイベントストリームのための1つもしくは複数の別個のオフチェーンストレージリソース内に記憶される。これは、イベントストリームに関連する以前のまたは前のブロックチェーントランザクションの識別子に基づき得る。イベントストリームに対して識別された前の状態が存在しない場合、これは、現在の状態がn=0であるという判断を結果として生じ、すなわち、新しいイベントストリームが作成されるべきである。いくつかの実施形態において、現在の状態はまた、ブロックチェーンから取得または読み取られ得る。これは、上記で説明したようにデータリーダによって実行され得、これは、プラットフォームプロセッサによって提供される複数のサービスのうちのサービスであり得る。
第2の態様の方法において、受信された要求に基づいてイベントストリームESに関する新しいイベントEn+1を処理するステップは、ブロックチェーントランザクションTXn+1を作成するステップを含み、ブロックチェーントランザクションTXn+1は、前のトランザクションTXnからのトランザクション出力(TXOn)に関連付けられた入力を含み、未消費の出力(UTXOn+1)は、新しいイベントEnを表すイベントデータに関連付けられる。いくつかの実施形態において、n=0の場合、前の出力を消費する入力は、存在しない。しかしながら、イベントストリームESに関連付けられたデジタル資産を表す他の入力が存在する場合がある。方法は、次いで、トランザクションTXn+1をブロックチェーンに提出するステップを含む。
提出されると、イベントストリームの現在の状態は、提出されたブロックチェーントランザクションに基づいて更新され、すなわち、状態は、ESi=n=ESn+1のように、新しく作成されたイベントEn+1に基づいてESi=n+1であるように更新される。いくつかの実施形態において、更新された状態は、イベントストリーム内の最新のトランザクションの未消費出力である、UTXOn+1内に存在するデータに基づく。方法は、次いで、イベントストリームESn+1の更新された現在の状態に基づいて結果を送信するステップを含み、結果は、HTTP転送プロトコルフォーマットに基づいて提供される。
本開示の第2の態様は、プラットフォームプロセッサによって実装されるデータ書き込みサービスの実装形態について論じ、言い換えれば、実装形態は、スマート契約の状態を制御することなどの、現実世界のプロセスに関連するデータを書き込む機能を可能にする。第2の態様のプラットフォームプロセッサは、第1の態様において論じたものに関連付けられ、第2の態様は、複数のブロックチェーンサービスのうちの1つ、すなわち、ブロックチェーンの現在の状態を変更するためにブロックチェーンにデータを書き込むためのサービスについて論じる。要求および応答は、プラットフォームのためのAPIを使用して受信されるので、第2の態様は、第1の態様に関連するすべての利点を提供する。それに加えて、データ書き込みサービスは、有利には、効果からトリガまたはイベントを単に抽出することによって、1つまたは複数のクライアントが、ブロックチェーンで実装されたスマート契約の状態のトランザクションを可能にすることを可能にする。したがって、スマート契約の様々なステージの不変の記録が、第2の態様のデータ書き込みサービスによって提供され得る。
本開示の態様は、プロセッサとメモリとを備えるコンピューティングデバイスも含み、メモリは、プロセッサによる実行の結果として、上記で論じたように、デバイスにコンピュータ実装方法を実行させる実行可能命令を含み、コンピューティングデバイスは、プラットフォームプロセッサに関連する。
本開示の態様は、プロセッサとメモリとを備えるコンピューティングデバイスも含み、メモリは、プロセッサによる実行の結果として、上記で論じたように、デバイスにコンピュータ実装方法を実行させる実行可能命令を含み、コンピューティングデバイスは、クライアントに関連する。
本開示の態様は、ワイヤレス通信ネットワークを介して少なくとも1つのクライアントに通信可能に結合された少なくとも1つのプラットフォームプロセッサを備えるコンピュータシステムも含み、少なくとも1つのプラットフォームプロセッサは、少なくとも1つのクライアントからのHTTP要求を処理するためのアプリケーションプログラミングインターフェース(API)エンドポイントに関連し、少なくとも1つのプラットフォームプロセッサは、上記のコンピューティングデバイスに従って実装され、少なくとも1つのクライアントは、上記のクライアントコンピューティングデバイスに従って実装される。
本開示の態様は、コンピュータのプロセッサによって実行された結果として、コンピュータに上記の態様および実施形態のいずれかの方法を実行させる実行可能命令を記憶したコンピュータ可読記憶媒体も含む。
ここで、いくつかの特定の実施形態について、同様の参照番号が同様の特徴を指す添付図面を参照して、例示として説明する。
第1の態様-ブロックチェーンに関連する複数のサービスのためのプラットフォームAPI
第1の態様について上記で説明した複数のサービスを提供するためのプラットフォームプロセッサは、BSVブロックチェーンなどのブロックチェーンネットワークを使用するソフトウェア制御された技術システムまたはスマート契約の管理などの、有用な現実世界のビジネスおよび技術的アプリケーションの迅速な送達を有利に可能にすることを提供するサービスとしてのプラットフォーム(PaaS:Platform as a Service)およびサービスとしてのソフトウェア(SaaS: Software as a service)であり得る。プラットフォームサービスの概要は、システムの高レベルの概略を示す図1において見ることができる。プラットフォームサービスは、API108を提供するプラットフォームプロセッサ100を有し、API108を介して、サービスは、1つまたは複数のクライアントによってアクセスされ得る。
この図に示すプラットフォームサービス100は、3つのサービスファミリーで構成され、いかなるブロックチェーンベースのソフトウェア、知識、またはライブラリもクライアント側において実際に実装することなく、ユーザまたは組織がブロックチェーンの固有の特性によって提供される利点を容易にかつ安全に利用することを可能にすることを目的とする。これらのサービスは、
商品データ台帳としてのチェーンの使用を簡略化することを目的とするデータサービス102、
ビットコインSVなどのデジタル資産によって支えられた一般化された計算フレームワークを提供することを目的とする計算サービス104、
ビットコインSVなどのデジタル資産を使用して取引するためのエンタープライズクラスの機能を提供するコマースサービス106、および
単純化支払い検証(SPV:Simple Payment Verification)ベースのサービス、ピアツーピア通信のためのチャネルサービス、および/またはストレージサービスなどの、上記のコアサービスに関連付けられ得る追加サービス
である。
上記のように、APIは、ウェブサービスとして実装されるので、APIにおいてクライアントから、HTTPSプロトコルを介して、またはそれを使用して、要求が受信され得る。次いで、要求されたサービスは、すなわち、ブロックチェーンに関連するトランザクションを作成、処理、および提出するためのリソース、ライブラリ、および/または鍵管理ウォレット実装形態を実装するために、ブロックチェーンに関連付けられた基礎となるソフトウェア110などの基礎となるソフトウェア110を使用して、1つまたは複数のサービスモジュールまたは処理リソース102~106によって実装される。処理されると、トランザクションは、(クライアントが任意のそのような機能またはトランザクションライブラリを実装する代わりに)ブロックチェーンネットワーク112に提出され得る。せいぜい、クライアントは、暗号通貨またはなにか他のデジタル資産に関連するデジタルウォレットなどを実装し得るかまたは実装することができるが、プラットフォームサービス100は、クライアントに関するデジタル資産を提供および管理することもでき得るので、これは、必須ではない。
図2aは、本開示の第1の態様に関し、図1に示すプラットフォーム100などの、ブロックチェーンに関連する複数のサービスのプラットフォームを提供するためのコンピュータ実装方法を示す。図2aの方法は、アプリケーションプログラミングインターフェース(API)に関連付けられたプラットフォームプロセッサによって実装される。
ステップ202aは、複数のクライアントのうちの所与のクライアントから要求を受信することを示す。いくつかの実施形態において、クライアントは、クライアントに関連付けられた1つまたは複数のコンピューティングデバイス、リソース、またはプロセッサであり得、前記クライアントは、プラットフォームプロセッサによって提供される複数のサービスにアクセスするためにサインアップまたは登録されている。上記のように、プラットフォームプロセッサは、ビットコインSVブロックチェーンなど(図1に見られるデータ、計算、およびコマースサービスのためのプロセッサなど)のブロックチェーンを使用して実装される様々なタイプの機能またはサービスを各々が提供する1つまたは複数のプロセッサであり得る。したがって、単一のサービスに対して1つのプロセッサしか存在しないこともあり得る。プラットフォームプロセッサは、プラットフォームに関するURIなどのAPIエンドポイントに関連付けられているので、所与のクライアントからの要求は、ハイパーテキスト転送プロトコル(HTTP)伝送プロトコルフォーマットなどの標準インターネットプロトコルに基づくことができる。いくつかの実施形態において、要求は、クライアントのための識別子、ならびに要求されたサービスのための識別子を含み得る。
ステップ204aにおいて、クライアントがプラットフォームプロセッサとそれによって提供される機能とを使用するために登録された有効なクライアントであるかどうかを確認するために、クライアントの身元がチェックされる。いくつかの実施形態において、これは、パスワードで保護されたログイン認証などの公知の認証方法に基づき得る。この場合、要求内に含まれるクライアント識別子またはエイリアスとパスワードとに基づいて、所与のクライアントに対して記録が作成され得る。検証は、APIにおいて受信されたパスワードが記録内のパスワードと一致することに基づき得る。他の実施形態において、ステップ202aにおいてクライアントから受信された要求内に存在するデジタル署名を検証するために、暗号化秘密鍵/公開鍵ペアに基づく標準のPKI技法も使用され得る。この場合、クライアントの身元は、秘密鍵によって署名された要求が公開鍵を使用して正常に復元または検証され得るかどうかをチェックすることによって検証され得る。
クライアントの身元を検証できない場合、または検証が失敗した場合、ステップ206aにおいて、要求は、それ以上処理されない。
クライアントが正常に検証された場合、ステップ208aにおいて、ステップ202aにおけるサービスに対する要求の有効性がチェックされる。このステップは、所与のクライアントが要求されたサービスを利用する権限を実際に与えられていることを確認するためのものである。このための許可または属性は、それぞれのクライアントに提供できるまたはできない1つまたは複数のタイプのアクセスレベルまたはサービスを示すために、クライアントに関する記録内に存在し得る。
要求が要求しているクライアントに対して許可されていないかまたは無効であることが判明した場合、ステップ210aにおいて、要求は、それ以上処理されない。
上記のクライアントおよび/またはサービスを検証する実施形態は、有用ではあるが、第1の態様の動作のために必須ではないことが理解されるべきである。場合によっては、ステップ204aまたは208aにおける検証のみが実行され得る。場合によっては、検証が実行されない。この場合、登録されているかどうかにかかわらず、任意のクライアントが、そのようなアクセスに対する適切な支払いによりサービスまたはプラットフォームを使用することができる。
ステップ212aにおいて、ステップ202aにおいて要求されたサービスを実装することを担当するサーバまたはプロセッサに関するエンドポイントURIであり得る宛先アドレスが取得される。複数のプラットフォームプロセッサが存在するいくつかの実施形態において、ホストサーバまたはプラットフォームAPIは、受信された要求を、識別されたサービスを実装するように構成されたプロセッサに関連付けられた宛先アドレスに送信されるべきリモートプロシージャコール(RPC)フォーマットに変換することができる。
ステップ214aにおいて、要求されたサービスは、それを担当するそれぞれのプラットフォームプロセッサによって処理される。ブロックチェーントランザクションは、担当するプロセッサの宛先アドレス/エンドポイントに基づいてプラットフォームプロセッサによって取得され、読み取られ、または生成され、このトランザクションのための出力スクリプトが取得される。図2aは、このステップにおいてブロックチェーントランザクションを生成することに言及しているが、本開示の第1の態様は、それほど限定されないことが理解されよう。ステップ202aにおける要求がブロックチェーンからデータを読み取るまたは取得することである場合、トランザクションが生成されないことがあり、それは単に、ブロックチェーンから読み取られるかまたは取得され得る。生成されたブロックチェーントランザクションのうちの1つまたは複数に対して、複数のブロックチェーントランザクションまたは複数の出力スクリプトが存在し得る。
ステップ216aにおいて、出力スクリプトは、結果としてデータ出力を含み得(たとえば、データキャリアUTXOが存在し得る)、または結果は、トランザクション識別子、またはトランザクションの残りの出力に基づいて取得され得る。結果が取得され得るトランザクションに関連する消費不可能なOP-RETURN出力も存在し得る。
ステップ218aにおいて、出力スクリプトに関連する結果は、HTTPまたは同様のトランザクションプロトコルフォーマットにおいて所与のクライアントに提供される。いくつかの実施形態において、サービスの担当プロセッサがホストプラットフォームAPIに対して遠隔に位置している場合、プラットフォームプロセッサは、ブロックチェーントランザクションに関連する応答をRPCフォーマットにおいて担当プロセッサから受信する。次いで、APIコンバータは、これを、クライアントに送信する前に、HTTPフォーマットに基づいて送信され得るメッセージに変換する。上記のように、クライアントがbsvaliasなどのエイリアスアドレス指定サービスを使用した場合、結果は、bsvalias機械可読リソースによって決定づけられたフォーマットにおいてクライアントのエイリアスにアドレス指定されたHTTPメッセージにおいて送信される。
図2bは、本開示の第1の態様に関し、図1に示すプラットフォーム100などのブロックチェーンに関連する複数のサービスのプラットフォームにアクセスするためのコンピュータ実装方法を示す。図2bの方法は、クライアントに関連付けられた1つまたは複数のプロセッサによって実装される。
ステップ202bにおいて、プラットフォームに関連付けられたアプリケーションプログラミングインターフェース(API)エンドポイントが識別される。前述のように、これは、ホストプラットフォームプロセッサに関連するAPIであり得、各々がそれ自体のサービスエンドポイントまたは宛先アドレスを有する、サービスを実行することを担当する1つまたは複数のさらなるプロセッサが存在し得る。
ステップ204bにおいて、クライアントは、図1におけるデータ書き込みサービス102などのサービスに対する要求を準備する。いくつかの実施形態におけるクライアントは、正しいサービスエンドポイントにルーティングされ得るように、クライアントエイリアスもしくは識別子および/またはサービス識別子を要求内に含める。これは、要求しているクライアントの有効性と、要求されているサービスを使用するためのクライアントの許可とに関するプラットフォームプロセッサによるチェックに有用である。
ステップ206bにおいて、プラットフォームプロセッサは、HTTPまたはREST APIとして実装されているので、ステップ204bにおいて準備された要求は、ハイパーテキスト転送プロトコル(HTTP)または同様の伝送プロトコルフォーマットを使用して送信される。
ステップ208bにおいて、要求に関連するブロックチェーントランザクションの出力スクリプトに関連する結果は、プラットフォームプロセッサから提供される。この結果は、HTTPトランザクションプロトコルフォーマットにおいてクライアントに提供される。
有利には、第1の態様の方法では、ブロックチェーンベースのサービスに対する要求は、HTTPトランザクションプロトコルフォーマットにおいてクライアントによって送信および受信され、したがって、クライアントは、いかなるトランザクション機能またはブロックチェーンライブラリも実装することなく、ブロックチェーンに固有のすべての利点およびサービスを利用することができる。これは、サービスが、HTTPまたはREST APIエンドポイントであり得るプラットフォームAPIを介して提供されるからである。たとえば、REST API設計標準は、インターネット上で以下のHTTPコマンドを使用して、HTTP要求を処理し、通信することができ、これは、クライアントによって要求される、すなわち、インターネットを介してメッセージを送信および受信することを可能にするためのすべての機能である。プラットフォームプロセッサは、コマンドをリモートで、またはクライアントに対して個別に実装する。
Figure 2023515435000002
図3は、ブロックチェーンに関連する複数のサービスのより詳細な概略図を提供し、これは、提供されるサービスのうちの任意の1つまたは複数がアクセスされ得るAPIに関連付けられたプラットフォーム300によって実装され得る。この図において見られるように、データサービス302は、データライタ302aとデータリーダサービス302bとを含み得る。データライタサービス302aを使用するイベントストリームの実装形態について、クライアントが単純、安全、かつ最適化された方法においてデータをブロックチェーンに書き込むことを可能にするために、図において詳細に説明する。データリーダサービス302bは、クライアントがクエリを送信することを可能にし、クエリは、ブロックチェーン内に記憶されるデータを返す。これは、クライアントが、アドホックにもしくは定期的に、すなわち、特定の時間フレーム内にブロックチェーンから読み取りたいデータのタイプ、またはブロックチェーン310において処理される関連するもしくは無関係のイベントもしくはドキュメントのセットに関連するものを事前定義し得るフィルタリングされたストリームを使用していてもよい。データアーカイブ機能は、指定されたイベントまたは契約に関する前のトランザクションのログへのアクセスを可能にする。
プラットフォーム300の計算サービス306は、いくつかの実施形態においては、ブロックチェーン310内の状態マシンとして表され得る、スマート契約に関連するアプリケーション306aおよびフレームワーク306bを含む。たとえば、計算サービスは、プラットフォームサービスに関連するクライアントのために、ブロックチェーンに関連するスマート契約を管理し得る。計算サービス306は、そのような計算のためにデータが入力され、結果がクライアントに提供される必要があるので、データサービス302と対話する。
コマースサービス304は、最高クラスのセキュリティ慣行および技術に基づいて、ブロックチェーン310を介して取引するためのエンタープライズウォレット304aを介するエンタープライズクラスの機能の提供を担当する。たとえば、いくつかの実施形態においてエンタープライズウォレットは、2人以上の人またはユーザまたはアカウントが定義された基準を満たすトランザクション、すなわち、特定の事前定義された制限を超える大きい値の暗号通貨に関連するトランザクションをサインオフする必要があり得るとき、ブロックチェーントランザクション処理を可能にする機能を実装し得る。エンタープライズウォレットは、暗号通貨、または別のリソースを表すトークンなどの大量のデジタル資産を移動させるために、しきい値数および/またはタイプの署名を実装する機能も含み得る。これらの資産の移動は、そのようなエンタープライズウォレットの実装によって適用される基準に基づく処理の後に、ブロックチェーン上に表現され得る。
SPVサービス308(単純化支払い検証(simplified payment verification))は、ブロックチェーンからの情報を必要とするが、マイナーノードを実行しないので、ブロックチェーンへの直接リンクを含まないアプリケーションである。そのようなSPVサービス308は、軽量クライアントが、ブロックチェーン310全体をダウンロードすることなく、トランザクションがブロックチェーン内に含まれていることを検証することを可能にする。これは、オブザーバが、トランザクション検証のための単純化支払い検証(SPV)に関連するAPIなどの異なるAPIを使用して(第2の態様において以下で論じる)イベントストリームのバージョンを受信し得る場合に有利であり得る。この構成において、プラットフォームサービスは、SPVサーバとして作用し得、検証の目的のためにイベントストリームのバージョン、すなわちレプリカを受信するオブザーバは、SPVクライアントであり得る。したがって、SPVサービス308は、スケーラビリティと効率とを改善することができ、かつネットワークの複雑さを軽減することができる。チャネル(以下のチャネルサービスを参照)の使用と組み合わせて、ピア間のデータの送達および検証は、大幅に改善され得る。
本開示は、1つまたは複数のクライアントのためのチャネルサービスを実装するためのコンピュータ実装方法にも関し、方法は、チャネルプロセッサによって実装され、1つまたは複数のクライアントのうちの所与のクライアントから要求を受信するステップを含み、要求は、チャネルの作成に関連し、チャネルを介する所与のクライアントと別のエンティティとの間の直接通信を可能にする1つまたは複数の機能へのアクセスを所与のクライアントに提供する。チャネルサービスは、SPVサービス308と組み合わせて、またはプラットフォーム300内の別個のサービスとして提供され得る。方法は、所与のクライアントに関するチャネルに関連する1つまたは複数の通知を記憶および/または提供するステップを含む。
有利には、チャネルの使用は、それに関連するすべての利点を利用することが依然としてできると同時に、そのようなクライアントがブロックチェーンに関する任意の処理または機能を実装する必要なしに、チャネルまたはメッセージングサービスのためのインターフェースまたは機能を提供する方法、デバイス、およびシステムによって、クライアントのための直接またはピアツーピア通信を可能にする。
チャネルサービスは、別個のチャネルプロセッサによって提供され得、または前述のプラットフォームもしくはプラットフォームプロセッサによって提供され得、またはクライアントおよび/もしくはプラットフォームとは別個に/独立して実装され得る。チャネルは、たとえば、検証のために必要とされ得る、エンティティ間のメッセージまたはデータの転送のための直接またはピアツーピアの通信パスまたはセッションを可能にする。チャネルサービスおよび/またはチャネルプロセッサの一例は、nChain Holdings Limitedの名前において提出された英国特許出願第2007597.4号において記載されており、その主題は、参照により本明細書に組み込まれる。
上記に加えて、プラットフォーム300を介してストレージサービスも提供され得る。いくつかの実施形態において、プラットフォームに関連する任意の基礎となるデータは、プラットフォームサービスのクライアントに対して提供される別個のおよび/またはジオフェンスされたストレージオプション内にオプションで記憶され得る。これは、プラットフォームに関連する任意のブロックチェーントランザクションの検証のために必要なデータを記憶するため、またはクライアントに関連するデータ、もしくはスマート契約に関連するデータの安全な取得のために必要なデータを記憶するために使用され得る。ジオフェンスされたデータストレージは、データが地域の法律(たとえば、GDPR)に従って保持され得ることを有利に保証し、したがって、これは、プラットフォーム300のためのプラットフォーム/サービスプロバイダが、ストレージ内に保持されたデータについてなんらかの法的またはその他の説明責任を有することを可能にする。
第2の態様-ブロックチェーンに関連するデータ書き込みサービスを提供するプラットフォーム
図4は、本開示の第2の態様に関し、第1の態様の図3において見られるデータライタ302aなどの、ブロックチェーンに関連するトランザクションのためのデータ書き込みサービスを提供するためのコンピュータ実装方法を示す。図3の方法は、サービスのためのアプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサによって実装される。
ステップ402は、クライアントから要求を受信することを示し、要求は、ブロックチェーンを使用して実装されたイベントストリームESに関連する。第1の態様と同様に、クライアントからの要求は、ハイパーテキスト転送プロトコル(HTTP)伝送プロトコルフォーマットにおける。いくつかの実施形態において、イベントストリームは、状態マシンに関連し、ブロックチェーン内の有限状態マシンとして実装される機械可読契約またはスマート契約を表す。有限状態マシン(FSM)は、よく知られている計算の数学モデルである。FSMは、任意の所与の時点において有限数の状態のうちの正確に1つになり得る抽象マシンである。FSMは、いくつかの外部入力に応答してある状態から別の状態に変化することができ、ある状態から別の状態への変化は、遷移と呼ばれる。FSMは、その状態、その初期状態、および各遷移に関する条件のリストによって定義され得る。ビットコインSVブロックチェーンにおいて、UTXOセットは、状態マシンと考えることができ、所与の出力の消費状態は、トランザクション(マシン)への前の入力の関数である。したがって、すべてのトランザクションを再生することによって、任意の出力の現在の消費状態、およびUTXOセットの現在の内容は、ブロックチェーンを使用して決定論的に確立され得る。したがって、図4の実施形態において、要求は、ブロックチェーン内のイベントストリームESとして実装された、スマート契約の現在の状態を変更する要求とみなすことができる。
ステップ404は、データ書き込みサービスを実装するためのデータライタまたはプラットフォームプロセッサによって、イベントストリームESi=nの現在の情報を決定することを示す。iが0からNまでの整数であり、各整数iが有限数の状態を有するイベントストリームESの所与の状態を表し、それによって、i=0が作成されたイベントストリームESを表し、i=nがブロックチェーン内の現在の状態におけるイベントストリームESを表し、i=NがイベントストリームESの最終状態を表すと考える。したがって、イベントストリームESの現在の状態は、Enになる。
ステップ406は、ステップ402における受信された要求に基づいてイベントストリームESに関する次のまたは新しいイベントEn+1に関連するデータを識別または取得することを示す。この実施形態において、新しいイベントは、イベントストリームが次の状態に遷移するように状態の変更をトリガするデータまたは関数であり得る。
ステップ408は、データライタを実装するプラットフォームプロセッサに関連する1つまたは複数のプロセッサによって、ブロックチェーントランザクションTXn+1を次のイベントEn+1について作成するステップを示す。ブロックチェーントランザクションTXn+1は、少なくとも、
前のトランザクションTXnからのトランザクション出力(TXOn)に関連する入力であり、この入力は、前のトランザクションからのTXOn出力を消費する、入力と、
新しいイベントEn+1を表すイベントデータに関連する未消費出力(UTXOn+1)であって、いくつかの実施形態において、これは、データ出力であり、すなわち、トランザクションのデータキャリア要素を表している、未消費出力と
を含む。必要に応じてネットワークマイニング料金をカバーする資金入力などの追加の入力が存在し得、トランザクションのための変更出力などの他の出力も存在し得る。
ステップ410は、ステップ408において作成されたトランザクションTXn+1をブロックチェーンに提出することを示す。ここで、トランザクションは、プラットフォームプロセッサに関連するマイナーノードまたはBSVノードソフトウェアによって後続のブロック内に含めるために、ビットコインSVなどのブロックチェーンに提出され得る。
ステップ412は、ESi=n=ESn+1となるように、新しく作成されたイベントEn+1に基づいてイベントストリームESの現在の状態をESi=n+1に更新することを示す。これは、ESに関するブロックチェーンに提出された最新のトランザクションTXn+1に対応する。いくつかの実施形態において、新しい状態は、最後のトランザクション出力UTXOn+1において出力されたイベントデータに基づいて識別および更新される。
ステップ414は、ステップ412において更新された現在の状態ESn+1に基づいて結果を送信することを示し、結果は、HTTP転送プロトコルフォーマットに基づいてクライアントに提供される。
ここで図5に進むと、本開示の少なくとも1つの実施形態を実施するために使用され得るコンピューティングデバイス2600の例示的な簡略化されたブロック図が提供されている。様々な実施形態において、コンピューティングデバイス2600は、上記で図示および説明したシステムのいずれかを実装するために使用され得る。たとえば、コンピューティングデバイス2600は、図のDBMSの1つもしくは複数の構成要素として使用されるように構成され得、またはコンピューティングデバイス2600は、所与のユーザに関連付けられたクライアントエンティティであるように構成され得、クライアントエンティティは、図5のDBMSによって管理されるデータベースに対してデータベース要求を行う。したがって、コンピューティングデバイス2600は、ポータブルコンピューティングデバイス、パーソナルコンピュータ、または任意の電子コンピューティングデバイスであり得る。図5に示すように、コンピューティングデバイス2600は、メインメモリ2608と永続的ストレージ2610とを含むストレージサブシステム2606と通信するように構成された、1つまたは複数のレベルのキャッシュメモリとメモリコントローラとを有する1つまたは複数のプロセッサ(集合的に2602とラベル付けされている)を含み得る。メインメモリ2608は、図示のように、ダイナミックランダムアクセスメモリ(DRAM)2618と読み取り専用メモリ(ROM)2620とを含むことができる。ストレージサブシステム2606およびキャッシュメモリ2602は、本開示において説明したようなトランザクションおよびブロックに関連する詳細などの情報の記憶のために使用され得る。プロセッサ2602は、本開示において説明したような任意の実施形態のステップまたは機能を提供するために利用され得る。
プロセッサ2602は、1つまたは複数のユーザインターフェース入力デバイス2612と、1つまたは複数のユーザインターフェース出力デバイス2614と、ネットワークインターフェースサブシステム2616と通信することもできる。
バスサブシステム2604は、コンピューティングデバイス2600の様々な構成要素およびサブシステムが意図されたように互いに通信することを可能にするためのメカニズムを提供し得る。バスサブシステム2604は、単一のバスとして概略的に示されているが、バスサブシステムの代替実施形態は、複数のバスを利用し得る。
ネットワークインターフェースサブシステム2616は、他のコンピューティングデバイスおよびネットワークへのインターフェースを提供し得る。ネットワークインターフェースサブシステム2616は、コンピューティングデバイス2600からの他のシステムからデータを受信し、コンピューティングデバイス2600からの他のシステムにデータを送信するためのインターフェースとして作用し得る。たとえば、ネットワークインターフェースサブシステム2616は、データ技術者が、データセンタなどの遠隔地にいる間にデバイスにデータを送信し、デバイスからデータを受信することができ得るように、デバイスをネットワークに接続することを可能にし得る。
ユーザインターフェース入力デバイス2612は、キーボードなどの1つまたは複数のユーザ入力デバイス、一体型マウス、トラックボール、タッチパッド、またはグラフィックタブレットなどのポインティングデバイス、スキャナ、バーコードスキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス2600に情報を入力するためのすべての可能なタイプのデバイスおよびメカニズムを含むことを意図している。
1つまたは複数のユーザインターフェース出力デバイス2614は、ディスプレイサブシステム、プリンタ、またはオーディオ出力デバイスなどの非視覚的ディスプレイなどを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、発光ダイオード(LED)ディスプレイ、またはプロジェクションもしくは他のディスプレイデバイスであり得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス2600から情報を出力するためのすべての可能なタイプのデバイスおよびメカニズムを含むことを意図している。1つまたは複数のユーザインターフェース出力デバイス2614は、たとえば、説明したプロセスおよびその変形を実行するアプリケーションとのユーザ対話を、そのような対話が適切であり得るときに促進するユーザインターフェースを提示するために使用され得る。
ストレージサブシステム2606は、本開示の少なくとも1つの実施形態の機能を提供し得る基本的なプログラミングおよびデータ構造を記憶するためのコンピュータ可読記憶媒体を提供し得る。アプリケーション(プログラム、コードモジュール、命令)は、1つまたは複数のプロセッサによって実行されると、本開示の1つまたは複数の実施形態の機能を提供し得、ストレージサブシステム2606内に記憶され得る。これらのアプリケーションモジュールまたは命令は、1つまたは複数のプロセッサ2602によって実行され得る。ストレージサブシステム2606は、本開示に従って使用されるデータを記憶するためのリポジトリをさらに提供し得る。たとえば、メインメモリ2608およびキャッシュメモリ2602は、プログラムおよびデータのための揮発性ストレージを提供することができる。永続的ストレージ2610は、プログラムおよびデータのための永続的(不揮発性)ストレージを提供することができ、フラッシュメモリ、1つまたは複数のソリッドステートドライブ、1つまたは複数の磁気ハードディスクドライブ、関連するリムーバブル媒体を有する1つまたは複数のフロッピーディスクドライブ、関連するリムーバブル媒体を有する1つまたは複数の光学ドライブ(たとえば、CD-ROMまたはDVDまたはBlue-Ray)、および他の同様の記憶媒体を含み得る。そのようなプログラムおよびデータは、本開示において説明したような1つまたは複数の実施形態のステップを実行するためのプログラム、ならびに本開示において説明したようなトランザクションおよびブロックに関連するデータを含むことができる。
コンピューティングデバイス2600は、ポータブルコンピュータデバイス、タブレットコンピュータ、ワークステーション、または以下で説明する任意の他のデバイスを含む、様々なタイプのものであり得る。それに加えて、コンピューティングデバイス2600は、1つまたは複数のポート(たとえば、USB、ヘッドフォンジャック、Lightningコネクタなど)を介してコンピューティングデバイス2600に接続され得る別のデバイスを含み得る。コンピューティングデバイス2600に接続され得るデバイスは、光ファイバコネクタを受け入れるように構成された複数のポートを含み得る。したがって、このデバイスは、処理するためにコンピューティングデバイス2600にデバイスを接続するポートを介して伝送され得る電気信号に光信号を変換するように構成され得る。コンピュータおよびネットワークの絶えず変化する性質のため、図5に示すコンピューティングデバイス2600の説明は、デバイスの好ましい実施形態を説明するための具体的な例としてのみ意図されている。図5に示すシステムよりも多くのまたは少ない構成要素を有する多くの他の構成が可能である。
列挙された例示的な実施形態
本開示について、特許請求された態様および実施形態をよりよく解説、説明、および理解するために、本明細書において例示的な実施形態として提供される上記の態様に関連する以下の条項に基づいてここで論じる。
1.ブロックチェーンに関連する複数のサービスのプラットフォームを提供するためのコンピュータ実装方法であって、プラットフォームが、複数のクライアントに対して提供され、方法が、アプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサによって実装され、方法が、
複数のクライアントのうちの所与のクライアントから要求を受信するステップであって、要求が、複数のサービスのうちの所与のサービスに関連し、所与のクライアントからの要求が、ハイパーテキスト転送プロトコル(HTTP)伝送プロコトルフォーマットに基づく、ステップと、
所与のサービスに関連する宛先アドレスを、クライアントの識別情報および/または要求が有効であるという決定に基づいて取得するステップと、
出力スクリプトを取得するために、所与のサービスに対する要求を、取得された宛先アドレスに対応する少なくとも1つのブロックチェーントランザクションに基づいて処理するステップと、
出力スクリプトに関連する結果を所与のクライアントに送信するステップであって、結果が、HTTP伝送プロコトルフォーマットに基づいて提供される、ステップと
を含む、コンピュータ実装方法。
2.プラットフォームプロセッサが、HTTP APIエンドポイントとして実装される、条項1に記載の方法。
3.プラットフォームプロセッサが、リプレゼンテーショナルステートトランスファー(REST)エンドポイントとして実装される、条項2に記載の方法。
4.プラットフォームプロセッサが、複数のプロセッサを備えるか、または複数のプロセッサに関連付けられ、複数のプロセッサの各々が、ブロックチェーン上の複数のサービスのうちの所与のサービスを実装するように構成され、複数のプロセッサの各々が、それぞれのプロセッサに固有の特定の宛先アドレスまたはエンドポイントに関連付けられる、条項1から3のいずれか1つに記載の方法。
5.プラットフォームプロセッサが、APIコンバータに関連付けられ、APIコンバータが、
要求を、HTTP伝送プロコトルフォーマットにおいて所与のクライアントから受信するステップと、
受信された要求をリモートプロシージャコール(RPC)フォーマットに変換し、複数のプロセッサのうちの、受信された要求において識別された所与のサービスを実装するように構成された所与のプロセッサに、RPC要求を送信するステップと、
少なくとも1つのブロックチェーントランザクションに関連する応答を、RPCフォーマットにおいて所与のプロセッサから受信するステップと、
HTTP伝送プロコトルを使用してクライアントに送信されるように、それぞれの応答を変換するステップと
を実行するように構成された、
条項1から4のいずれか1つに記載の方法。
6.受信された要求が、所与のクライアントに関するクライアント識別子と、要求された所与のサービスに関するサービス識別子とを含むか、またはこれらに関連付けられた、HTTP GETまたはPOSTまたはPUTまたはPATCH要求であり、クライアントに送信される結果が、所与のクライアントに関するクライアント識別子に基づくHTTP POST要求である、条項1から5のいずれか1つに記載の方法。
7.クライアントを、クライアント識別子と、クライアント識別子に対応する記録とに基づいて検証するステップであって、記録が、プラットフォームプロセッサに関連する、ステップと、
クライアントの検証の成功に基づいて、クライアントからの受信された要求が有効であるかどうかを、サービス識別子とそれぞれの記録内に含まれる属性または設定とに基づいて判断するステップと
を含む、条項6に記載の方法。
8.クライアント識別子が、所与のクライアントに対して提供されるエイリアスであり、エイリアスが、所与のクライアントに固有であり、エイリアスベースのアドレス指定サービスによって提供され、アドレス指定サービスが、定義されたまたは既知の場所からアクセス可能な機械可読リソースを有し、機械可読リソースが、所与のクライアントに関連する1つまたは複数の能力を含む、条項6または7に記載の方法。
9.エイリアスが、所与のクライアントに関するドメイン名に関連付けられている、条項8に記載の方法。
10.プラットフォームが、ブロックチェーンを使用して実装された以下のサービス、すなわち、
ブロックチェーンの状態を変更するためにブロックチェーンにデータを書き込む/提出するためのデータサービス、
ブロックチェーンの現在の状態を反映するデータを読み取る/取得するためのデータサービス、
ブロックチェーンに関連するトランザクションに対する単純化支払い検証に関連するサービス、
ブロックチェーンに関連する1つまたは複数のイベントストリームおよび/またはスマート契約の管理に関連するサービス、
ブロックチェーンに関連する複数のクライアントのためのデジタルウォレットフレームワークの管理に関連するサービス、
ピアツーピア通信チャネルの提供に関連するサービス、
データストレージに関連するサービス
のうちの少なくとも1つまたは複数を含む、
条項1から9のいずれか1つに記載の方法。
11.ブロックチェーンに関連する複数のサービスのプラットフォームにアクセスするためのコンピュータ実装方法であって、プラットフォームが、複数のクライアントに対して提供され、方法が、複数のクライアントのうちの所与のクライアントの1つまたは複数のプロセッサによって実装され、方法が、
プラットフォームに関連する1つまたは複数のプロセッサに関連するアプリケーションプログラミングインターフェース(API)エンドポイントを取得または識別するステップと、
複数のサービスのうちの所与のサービスに関連する要求を送信するステップであって、要求が、所与のクライアントに関するクライアント識別子と、要求された所与のサービスに関するサービス識別子とを含むか、またはこれらに関連付けられ、要求が、ハイパーテキスト転送プロトコル(HTTP)伝送プロコトルフォーマットに基づいて送信される、ステップと、
要求に関連するブロックチェーントランザクションの出力スクリプトに関連する結果を受信するステップであって、前記結果が、HTTP伝送プロコトルフォーマットに基づいてクライアントに提供される、ステップと
を含む、
コンピュータ実装方法。
12.ブロックチェーンに関連するトランザクションに対するデータ書き込みサービスを実装するためのコンピュータ実装方法であって、方法が、アプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサによって実装され、方法が、
クライアントから要求を受信するステップであって、要求が、ブロックチェーンを使用して実装されたイベントストリームESに関連し、クライアントからの要求が、ハイパーテキスト転送プロトコル(HTTP)伝送プロコトルフォーマットに基づく、ステップと、
イベントストリームESi=nの現在の状態を決定するステップであって、iが、0からNまでの整数であり、各整数iが、イベントストリームESの所与の状態を表し、i=0が、作成されたイベントストリームESを表し、i=nが、ブロックチェーン内の現在の状態におけるイベントストリームESを表し、i=Nが、イベントストリームESの最終状態を表す、ステップと、
イベントストリームESに関する新しいイベントEn+1を、受信された要求に基づいて、以下のステップ、すなわち、
ブロックチェーントランザクションTXn+1を作成するステップであって、ブロックチェーントランザクションTXn+1が、前のトランザクションTXnからのトランザクション出力(TXOn)に関連する入力と、新しいイベントEn+1を表すイベントデータに関連する未消費出力(UTXOn+1)とを含む、ステップと、
トランザクションTXn+1をブロックチェーンに提出するステップと
によって処理するステップと
を含み、
前記提出に応答して、方法が、ESi=n=ESn+1となるように、新しく作成されたイベントEn+1に基づいて、イベントストリームの現在の状態をESi=n+1に更新するステップと、
更新された現在の状態ESn+1に基づく結果を送信するステップであって、結果が、HTTP伝送プロコトルフォーマットに基づいて提供される、ステップと
を含む、
コンピュータ実装方法。
上記の態様および実施形態は、本開示を限定するのではなく、例示するものであり、当業者は、添付の特許請求の範囲によって定義される本開示の範囲から逸脱することなく、多くの代替実施形態を設計することができることが留意されるべきである。特許請求の範囲において、括弧内に配置された任意の参照符号は、特許請求の範囲を限定するものとして解釈されるべきではない。「備えること」および「備える」などの用語は、任意の請求項または明細書全体において列挙されたもの以外の要素またはステップの存在を排除するものではない。本明細書において、「備える」は、「含むまたはから成る」を意味し、「備えること」は、「含むことまたはから成ること」を意味する。要素の単数形の参照は、そのような要素の複数形の参照を排除するものではなく、その逆もまた同様である。本開示は、いくつかの別個の要素を備えるハードウェアによって、および適切にプログラムされたコンピュータによって実装され得る。いくつかの手段を列挙するデバイスの請求項において、これらの手段は、1つの同じアイテムによって具体化され得る。特定の手段が相互に異なる従属請求項において記載されているという単なる事実は、これらの手段の組合せが有利に使用することができないことを示すものではない。
100 プラットフォームプロセッサ、プラットフォームサービス、プラットフォーム
102 データサービス、サービスモジュールまたは処理リソース
104 計算サービス、サービスモジュールまたは処理リソース
106 コマースサービス、サービスモジュールまたは処理リソース
108 API
110 基礎となるソフトウェア
300 プラットフォーム
302 データサービス
302a データライタサービス、データライタ
302b データリーダサービス
304 コマースサービス
304a エンタープライズウォレット
306 計算サービス
306a アプリケーション
306b フレームワーク
308 SPVサービス
310 ブロックチェーン
2600 コンピューティングデバイス
2602 プロセッサ、キャッシュメモリ
2604 バスサブシステム
2606 ストレージサブシステム
2608 メインメモリ
2610 永続的ストレージ
2612 ユーザインターフェース入力デバイス
2614 ユーザインターフェース出力デバイス
2616 ネットワークインターフェースサブシステム
2618 ダイナミックランダムアクセスメモリ(DRAM)
2620 読み取り専用メモリ(ROM)

Claims (12)

  1. ブロックチェーンに関連する複数のサービスのプラットフォームを提供するためのコンピュータ実装方法であって、前記プラットフォームが、複数のクライアントに対して提供され、前記方法が、アプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサによって実装され、前記方法が、
    前記複数のクライアントのうちの所与のクライアントから要求を受信するステップであって、前記要求が、前記複数のサービスのうちの所与のサービスに関連し、前記所与のクライアントからの前記要求が、ハイパーテキスト転送プロトコル(HTTP)伝送プロコトルフォーマットに基づく、ステップと、
    前記所与のサービスに関連する宛先アドレスを、前記クライアントの識別情報および/または要求が有効であるという決定に基づいて取得するステップと、
    出力スクリプトを取得するために、前記所与のサービスに対する前記要求を、前記取得された宛先アドレスに対応する少なくとも1つのブロックチェーントランザクションに基づいて処理するステップと、
    前記出力スクリプトに関連する結果を前記所与のクライアントに送信するステップであって、前記結果が、前記HTTP伝送プロコトルフォーマットに基づいて提供される、ステップと
    を含む、コンピュータ実装方法。
  2. 前記プラットフォームプロセッサが、HTTP APIエンドポイントとして実装される、請求項1に記載の方法。
  3. 前記プラットフォームプロセッサが、リプレゼンテーショナルステートトランスファー(REST)エンドポイントとして実装される、請求項2に記載の方法。
  4. 前記プラットフォームプロセッサが、複数のプロセッサを備えるか、または複数のプロセッサに関連付けられ、前記複数のプロセッサの各々が、前記ブロックチェーン上の前記複数のサービスのうちの所与のサービスを実装するように構成され、前記複数のプロセッサの各々が、それぞれのプロセッサに固有の特定の宛先アドレスまたはエンドポイントに関連付けられる、請求項1から3のいずれか一項に記載の方法。
  5. 前記プラットフォームプロセッサが、APIコンバータに関連付けられ、前記APIコンバータが、
    前記要求を、前記HTTP伝送プロコトルフォーマットにおいて前記所与のクライアントから受信するステップと、
    前記受信された要求をリモートプロシージャコール(RPC)フォーマットに変換し、複数のプロセッサのうちの、前記受信された要求において識別された前記所与のサービスを実装するように構成された所与のプロセッサに、RPC要求を送信するステップと、
    少なくとも1つのブロックチェーントランザクションに関連する応答を、RPCフォーマットにおいて前記所与のプロセッサから受信するステップと、
    前記HTTP伝送プロコトルを使用して前記クライアントに送信されるように、それぞれの応答を変換するステップと
    を実行するように構成された、
    請求項1から4のいずれか一項に記載の方法。
  6. 前記受信された要求が、前記所与のクライアントに関するクライアント識別子と、前記要求された所与のサービスに関するサービス識別子とを含むか、またはこれらに関連付けられた、HTTP GETまたはPOSTまたはPUTまたはPATCH要求であり、前記クライアントに送信される前記結果が、前記所与のクライアントに関する前記クライアント識別子に基づくHTTP POST要求である、請求項1から5のいずれか一項に記載の方法。
  7. 前記クライアントを、前記クライアント識別子と、前記クライアント識別子に対応する記録とに基づいて検証するステップであって、前記記録が、前記プラットフォームプロセッサに関連する、ステップと、
    前記クライアントの検証の成功に基づいて、前記クライアントからの前記受信された要求が有効であるかどうかを、前記サービス識別子とそれぞれの記録内に含まれる属性または設定とに基づいて判断するステップと
    を含む、請求項6に記載の方法。
  8. 前記クライアント識別子が、所与のクライアントに対して提供されるエイリアスであり、前記エイリアスが、前記所与のクライアントに固有であり、エイリアスベースのアドレス指定サービスによって提供され、前記アドレス指定サービスが、定義されたまたは既知の場所からアクセス可能な機械可読リソースを有し、前記機械可読リソースが、前記所与のクライアントに関連する1つまたは複数の能力を含む、請求項6または7に記載の方法。
  9. 前記エイリアスが、前記所与のクライアントに関するドメイン名に関連付けられている、請求項8に記載の方法。
  10. 前記プラットフォームが、前記ブロックチェーンを使用して実装された以下のサービス、すなわち、
    前記ブロックチェーンの状態を変更するために前記ブロックチェーンにデータを書き込む/提出するためのデータサービス、
    前記ブロックチェーンの現在の状態を反映するデータを読み取る/取得するためのデータサービス、
    前記ブロックチェーンに関連するトランザクションに対する単純化支払い検証に関連するサービス、
    前記ブロックチェーンに関連する1つまたは複数のイベントストリームおよび/またはスマート契約の管理に関連するサービス、
    前記ブロックチェーンに関連する複数のクライアントのためのデジタルウォレットフレームワークの管理に関連するサービス、
    ピアツーピア通信チャネルの提供に関連するサービス、
    データストレージに関連するサービス
    のうちの少なくとも1つまたは複数を含む、
    請求項1から9のいずれか一項に記載の方法。
  11. ブロックチェーンに関連する複数のサービスのプラットフォームにアクセスするためのコンピュータ実装方法であって、前記プラットフォームが、複数のクライアントに対して提供され、前記方法が、前記複数のクライアントのうちの所与のクライアントの1つまたは複数のプロセッサによって実装され、前記方法が、
    前記プラットフォームに関連する1つまたは複数のプロセッサに関連するアプリケーションプログラミングインターフェース(API)エンドポイントを取得または識別するステップと、
    前記複数のサービスのうちの所与のサービスに関連する要求を送信するステップであって、前記要求が、前記所与のクライアントに関するクライアント識別子と、前記要求された所与のサービスに関するサービス識別子とを含むか、またはこれらに関連付けられ、前記要求が、ハイパーテキスト転送プロトコル(HTTP)伝送プロコトルフォーマットに基づいて送信される、ステップと、
    前記要求に関連するブロックチェーントランザクションの出力スクリプトに関連する結果を受信するステップであって、前記結果が、前記HTTP伝送プロコトルフォーマットに基づいて前記クライアントに提供される、ステップと
    を含む、
    コンピュータ実装方法。
  12. ブロックチェーンに関連するトランザクションに対するデータ書き込みサービスを実装するためのコンピュータ実装方法であって、アプリケーションプログラミングインターフェース(API)に関連するプラットフォームプロセッサによって実装され、
    クライアントから要求を受信するステップであって、前記要求が、前記ブロックチェーンを使用して実装されたイベントストリームESに関連し、前記クライアントからの前記要求が、ハイパーテキスト転送プロトコル(HTTP)伝送プロコトルフォーマットに基づく、ステップと、
    前記イベントストリームESi=nの現在の状態を決定するステップであって、iが、0からNまでの整数であり、各整数iが、前記イベントストリームESの所与の状態を表し、i=0が、作成されたイベントストリームESを表し、i=nが、前記ブロックチェーン内の現在の状態における前記イベントストリームESを表し、i=Nが、前記イベントストリームESの最終状態を表す、ステップと、
    前記イベントストリームESに関する新しいイベントEn+1を、前記受信された要求に基づいて、以下のステップ、すなわち、
    ブロックチェーントランザクションTXn+1を作成するステップであって、前記ブロックチェーントランザクションTXn+1が、前のトランザクションTXnからのトランザクション出力(TXOn)に関連する入力と、前記新しいイベントEn+1を表すイベントデータに関連する未消費出力(UTXOn+1)とを含む、ステップと、
    前記トランザクションTXn+1を前記ブロックチェーンに提出するステップと
    によって処理するステップと
    を含み、
    前記提出に応答して、前記方法が、ESi=n=ESn+1となるように、前記新しく作成されたイベントEn+1に基づいて、前記イベントストリームの前記現在の状態をESi=n+1に更新するステップと、
    前記更新された現在の状態ESn+1に基づく結果を送信するステップであって、前記結果が、前記HTTP伝送プロコトルフォーマットに基づいて提供される、ステップと
    を含む、
    コンピュータ実装方法。
JP2022549509A 2020-02-19 2021-02-15 ブロックチェーンに関連する複数のサービスのためのプラットフォーム Pending JP2023515435A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB2002285.1 2020-02-19
GBGB2002285.1A GB202002285D0 (en) 2020-02-19 2020-02-19 Computer-implemented system and method
PCT/IB2021/051261 WO2021165817A1 (en) 2020-02-19 2021-02-15 Platform for a plurality of services associated with a blockchain

Publications (1)

Publication Number Publication Date
JP2023515435A true JP2023515435A (ja) 2023-04-13

Family

ID=69956567

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2022549509A Pending JP2023515435A (ja) 2020-02-19 2021-02-15 ブロックチェーンに関連する複数のサービスのためのプラットフォーム
JP2022549731A Pending JP2023513845A (ja) 2020-02-19 2021-02-15 ブロックチェーンに関連するイベントのシーケンスに関するイベントストリーム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022549731A Pending JP2023513845A (ja) 2020-02-19 2021-02-15 ブロックチェーンに関連するイベントのシーケンスに関するイベントストリーム

Country Status (8)

Country Link
US (3) US20230082545A1 (ja)
EP (2) EP4107644A2 (ja)
JP (2) JP2023515435A (ja)
KR (2) KR20220143874A (ja)
CN (2) CN115136169A (ja)
GB (1) GB202002285D0 (ja)
TW (2) TW202139669A (ja)
WO (2) WO2021165814A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2622241A (en) * 2022-09-08 2024-03-13 Nchain Licensing Ag Blockchain state machine
GB2622240A (en) * 2022-09-08 2024-03-13 Nchain Licensing Ag Blockchain state machine

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339523B2 (en) * 2015-07-14 2019-07-02 Fmr Llc Point-to-point transaction guidance apparatuses, methods and systems
US20170132615A1 (en) * 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US10868674B2 (en) * 2016-08-12 2020-12-15 ALTR Solutions, Inc. Decentralized database optimizations
US11010216B2 (en) * 2016-12-22 2021-05-18 Nippon Telegraph And Telephone Corporation RPC conversion processing system and RPC conversion method
KR20230169472A (ko) * 2017-05-22 2023-12-15 엔체인 홀딩스 리미티드 무신뢰 결정성 상태 기계
US11556521B2 (en) 2017-09-29 2023-01-17 Oracle International Corporation System and method for providing an interface for a blockchain cloud service
US20190139036A1 (en) * 2017-11-03 2019-05-09 Aid Technology Limited Method, apparatus, and computer-readable medium for securely performing digital asset transactions
US10693637B2 (en) * 2018-03-23 2020-06-23 Belavadi Nagarajaswamy Ramesh System and method for composite-key based blockchain device control
JP7371015B2 (ja) * 2018-05-14 2023-10-30 エヌチェーン ライセンシング アーゲー ブロックチェーンを使って原子的スワップを実行するためのコンピュータ実装されるシステムおよび方法
US11250466B2 (en) * 2018-07-30 2022-02-15 Hewlett Packard Enterprise Development Lp Systems and methods for using secured representations of user, asset, and location distributed ledger addresses to prove user custody of assets at a location and time
US10999260B1 (en) * 2020-05-12 2021-05-04 iCoin Technology, Inc. Secure messaging between cryptographic hardware modules

Also Published As

Publication number Publication date
US20240086914A1 (en) 2024-03-14
GB202002285D0 (en) 2020-04-01
KR20220143873A (ko) 2022-10-25
US20230082545A1 (en) 2023-03-16
EP4107688A1 (en) 2022-12-28
KR20220143874A (ko) 2022-10-25
US20230078784A1 (en) 2023-03-16
TW202139668A (zh) 2021-10-16
EP4107644A2 (en) 2022-12-28
WO2021165817A1 (en) 2021-08-26
US11880839B2 (en) 2024-01-23
JP2023513845A (ja) 2023-04-03
WO2021165814A2 (en) 2021-08-26
TW202139669A (zh) 2021-10-16
WO2021165814A3 (en) 2021-09-30
CN115176248A (zh) 2022-10-11
CN115136169A (zh) 2022-09-30

Similar Documents

Publication Publication Date Title
US11258875B2 (en) Integration framework and user interface for embedding transfer services into applications
JP2022520656A (ja) ブロックチェーンネットワークを介した移転を実施するためのコンピュータで実施されるシステムおよび方法
EP4081967A1 (en) Destination addressing for transactions associated with a distributed ledger
US20240086914A1 (en) Platform for a plurality of services associated with a blockchain
US20230095965A1 (en) Compute services for a platform of services associated with a blockchain
US20220051236A1 (en) Computer-implemented systems and methods for controlling or enforcing performance of transfers conducted over a blockchain
US20230119035A1 (en) Platform services verification
Sanchez‐Reillo et al. Developing standardised network‐based biometric services
TW202130153A (zh) 區塊鏈交易之回叫機制
US20230093411A1 (en) Synchronising event streams
Saldamli et al. Identity management via blockchain
EP4107689A1 (en) Platform services verification

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240115