JP2020507869A - ブロックチェーン対応サービスプロバイダシステム - Google Patents

ブロックチェーン対応サービスプロバイダシステム Download PDF

Info

Publication number
JP2020507869A
JP2020507869A JP2019556552A JP2019556552A JP2020507869A JP 2020507869 A JP2020507869 A JP 2020507869A JP 2019556552 A JP2019556552 A JP 2019556552A JP 2019556552 A JP2019556552 A JP 2019556552A JP 2020507869 A JP2020507869 A JP 2020507869A
Authority
JP
Japan
Prior art keywords
user
service
service device
request
data structure
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
JP2019556552A
Other languages
English (en)
Other versions
JP7308756B2 (ja
Inventor
イェンチ クリストフ
イェンチ クリストフ
イェンチ シモン
イェンチ シモン
トゥアル ステファン
トゥアル ステファン
Original Assignee
スロックイット ゲーエムベーハー
スロックイット ゲーエムベーハー
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 スロックイット ゲーエムベーハー, スロックイット ゲーエムベーハー filed Critical スロックイット ゲーエムベーハー
Publication of JP2020507869A publication Critical patent/JP2020507869A/ja
Application granted granted Critical
Publication of JP7308756B2 publication Critical patent/JP7308756B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

分散された台帳たとえばブロックチェーンに対応した動作環境は、非集中型ブロックチェーンを利用することによってサービス装置のサービスにアクセスするユーザ装置を含む。たとえば、ユーザ装置は、非集中型ブロックチェーンに格納されたスマートコントラクトとインターフェースすることによって、ドア(たとえばサービス装置)をロックする/ロック解除することができる。ユーザ装置は、ユーザ装置がサービス装置にアクセスできるように、スマートコントラクトの変数を満たす支払いなどのパラメータを提供する。サービス装置は、非集中型ブロックチェーン上のスマートコントラクトに格納された情報を定期的に取り寄せる。たとえば、取り寄せられる情報は、ユーザ装置がサービス装置にアクセスすることを認証されていること、またはサービス装置がサービスを提供するべきことを指定することができる。したがって、取り寄せられた情報が与えられると、サービス装置はユーザ装置に対してサービスを提供する。

Description

本開示は、一般に交換に関し、より詳細には、非集中型台帳、たとえばブロックチェーンにおいて交換を行うことによって、サービス装置、たとえばハードウェアコンポーネントを制御することに関する。
関連出願の相互参照
本出願は、その内容全体が参照によって組み込まれている、2016年12月30日に出願された米国特許仮出願第62/441,013号明細書の利益を主張するものである。
コンピューティングシステムを使用する交換は、しばしば安全においてなく、望ましくない変更を生じやすい。特定の交換が危険にさらされている場合、その固有のトランザクションが危険にさらされていることを検出するのは難しいことがある。これは、リソース(たとえば、金銭、人的労力、時間など)に関して重大な損失につながる。
多くのシナリオにおいて、ハッキングの発生源は、交換を取り扱う仲介者に起因することがある。例として、個人はホテルルームを予約した後、係員と対話してホテルルームのキーを受け取る必要がある。ここで、係員は、ホテルルームを、予約されたものよりも小さいかまたは望ましくないホテルルームに容易に切り替えることができる。そのような切り替えは、個人には容易に分からないことがある。したがって、交換を取り扱う仲介者を除去することを通じて、安全な取引を保証する必要がある。
開示される実施形態は、添付の図面と併せて以下の詳細な説明および添付の特許請求の範囲からより容易に明らかになる、他の利点および特徴を有する。
第1の実施形態に従う、例示的なブロックチェーン対応動作環境を示す図である。 実施形態に従う、サービス装置からのサービスの提供を可能にするブロックチェーン上の基礎的プロセスを示す図である。 実施形態に従う、ブロックチェーン対応動作環境内の例示的コンピューティング装置の例示的コンポーネントを示すブロック図である。 実施形態に従う、予約プロセスを示す例示的相互作用図である。 第1の実施形態に従う、アクセスプロセスを示す例示的相互作用図である。 第2の実施形態に従う、例示的ブロックチェーン対応動作環境を示す図である。 図4Aに示された第2の実施形態に従う、アクセスプロセスを示す例示的相互作用図である。 実施形態に従う、プロキシ装置を使用するアクセスプロセスを示す例示的相互作用図である。 実施形態に従う、プロキシ装置のハードウェア層およびソフトウェア層の例を示す図である。 実施形態に従う、状態チャネルの使用を示す相互作用図である。 実施形態に従う、ユーザ装置を通じてブロックチェーンにアクセスするサービス装置を示す図である。 図7Aに示された実施形態に従う、サービス装置、ユーザ装置、および信頼されたクライアントの間の相互作用を示す相互作用図である。
図面および以下の説明は、単に例示のために好ましい実施形態に関する。以下の説明から、本明細書に開示される構造および方法の代替的実施形態が、特許請求される原理から逸脱することなく利用されてよい実施可能な代替形態として容易に認識されることに留意されたい。
ここで、いくつかの実施形態の詳細を参照するが、それらの例は添付の図面に示される。可能な限り、同様または類似の参照番号が図面で使用されてよく、同様または類似の機能性を示してよいことに留意されたい。図面は、単に例示を目的として開示されるシステム(または方法)の実施形態を示す。当業者は、本明細書で示される構造および方法の代替的実施形態が本明細書で説明される原理から逸脱することなく利用されてよいことを、以下の説明から容易に認識するであろう。
例示的な非集中型台帳対応動作環境
本開示は、支払いを提供することによって開かれることが可能なロックなどのサービス装置を制御するための方法およびシステムを説明し、支払いは、中央エンティティ/サーバを通じてではなく、非集中型台帳(たとえばブロックチェーン)上で実行するコードを通じて処理される。説明を容易にするために、開示される構成はブロックチェーンの文脈で説明されるが、示される原理は他の非集中型台帳に適用可能であってよい。
図1Aは、本明細書に説明される構成に従う例示的ブロックチェーン対応動作環境100を示す。例示的動作環境100は、ユーザ装置105およびサービス装置110を含む。さらに、例示的動作環境100は、ユーザ装置105とサービス装置110の両方と通信する非集中型ブロックチェーン120上のスマートコントラクト115を含む。ユーザ装置105およびサービス装置110は、例示的動作環境100における動作用のブロックチェーン対応コンピューティング装置の例となる種類である。
ユーザ装置
ユーザ装置105は、ブロックチェーンと相互作用するための固有のまたは媒介される機能を有する装置とすることができる。例として、ユーザ装置105は、スマートフォン、タブレット、携帯電話、ラップトップ、またはデスクトップコンピューティングデバイなどのクライアント装置である。様々な実施形態において、ユーザ装置105は、特定の通信プロトコルを含むユーザ装置105上にインストールされたアプリケーションを通して、ブロックチェーン120と通信する。ユーザ装置105からのトランザクションは、サービス装置110に対する価値転送を実行するとともに、アクセス制御を管理する(たとえば、サービス装置110によって場所に対するアクセスが制御される、場所についての予約の登録をする)。
ユーザ装置105はまた、本明細書でさらに説明されるように、ブロックチェーン120からサービス装置110のパラメータを読み取ってもよい。パラメータは、たとえば、デポジット、レンタルもしくは販売の費用、利用可能日付および/もしくは時間、またはトランザクションの完了および/もしくは実行に関連する他の情報を含んでよい。情報は、スマートコントラクト115の形態でコードに構造化された共有されたブロックチェーン状態から読み取られる。スマートコントラクト155は、ルール(例として、たとえば認証を含むコンピュータプログラムコード)を提供して、ブロックチェーン対応動作環境内で実行するためにサービス装置110を構成する。
様々な例示的実施形態において、ユーザ装置105は、任意の与えられた無線通信層を通じてサービス装置110と直接通信してもよい。たとえば、通信は、特定の通信プロトコルを含むユーザ装置105にインストールされたアプリケーションを使用してBluetoothまたは近距離無線通信(NFC)技術を通じて行われてよい。
サービス装置
サービス装置110は、ブロックチェーンと相互作用するための固有のまたは媒介される機能を有するオブジェクトを表してよい。サービス装置110は、操作コマンドに基づいてサービスを提供することができる。たとえば、サービス装置110は、アクセス制御を提供するように構築されてよい。アクセス制御は、たとえば、「開く」および/もしくは「閉じる」(たとえば、ロックもしくはロック機構)、許可を経る(たとえば門)、または「開始する」および/もしくは「停止する」および/もしくは「上がる/下がる」および/もしくは「左/右に曲がる」(たとえば操作機能)を含んでよい。より具体的な例として、サービス装置110は、(たとえば、ドアをロック解除することによって)ホテルルームおよび/もしくはその設備(たとえば、ミニバー、テレビ、ルームサービス)または大学寮建物(たとえば、認証された立ち入り)に対するアクセスをユーザ装置105のユーザに提供してよい。あるいは、サービス装置は、(たとえば、門を開くことによって)道のような対象の場所へのアクセスをユーザ装置105のユーザに提供してよい。
別の例として、サービス装置110は、(たとえば、単純な2値の「開/閉」オプションを超えて)様々なオプションの間で特定のオプションを指定するアクションを提供するように構築されてよい。たとえば、サービス装置110は、コーヒーマシンとすることができ、様々な量(たとえば、小、中、大、および/または他のオプション)のカフェイン入り飲料を、ユーザ装置105のユーザに提供することができる。別の例として、サービス装置110は、天井ファンをオンにし、天井ファンの速度を特定の毎分回転数に設定するように構成されてよい。サービス装置110によって提供できるサービスは、上述の例に限定されず、医療機器に対するオンデマンドアクセス、ドローン/車両の制御、出荷用コンテナの制御、および自律させることができる任意のプロセスをさらに含んでよいが、これらに限定されない。
サービス装置110は、ユーザ装置105によってレンタル、販売、および/または相互作用されるように搭載された必要なハードウェアおよびソフトウェアを有することができる。たとえば、サービス装置110は、ブロックチェーン120と通信するために特有の通信プロトコルを含んでよい。別の実施形態において、サービス装置110は、ブロックチェーン120に対して直接アクセスを有することがなく、ブロックチェーン120と通信するための適切なプロトコルを含むプロキシ装置を利用してよい。一例として、プロキシ装置は、ラックサーバまたはクラウドサーバ(たとえば、SAMUNG ARTIK Cloud、またはサービス装置の製造者によって提供されるクラウドサービス)である。言い換えれば、プロキシ装置によって実行される機能は、複数のプロセッサおよび/または電子装置にわたって分散されてよい。様々な実施形態において、1つまたは複数のプロセッサまたはプロセッサが実装されたモジュールは、複数の地理的位置にわたって分散されてよい。いくつかの実施形態において、プロキシ装置の1つまたは複数のプロセッサは、単一の地理的位置(たとえば、家庭環境、オフィス環境、またはサーバファーム内)に配置されてよい。一実施形態において、プロキシ装置は、1つまたは複数のサービス装置と通信するために必要なソフトウェアを動作させ、トランザクションをブロックチェーン120に対して送る、ホームサーバ(たとえばコンピューティング装置)とすることができる。プロキシ装置の例は、図5Aを参照して後でさらに詳細に説明される。
1つの例示的実施形態において、サービス装置110は、(ユーザ装置105が実際にサービス装置105にアクセスすることを許可されることを検証するために、)ブロックチェーンに対する読み取り要求が後続するユーザ装置105からの電子署名されたメッセージを通じて直接サービスを提供することができる。このシナリオは、図3に関係して後でさらに詳細に説明される。一実施形態において、サービス装置110は、ブロックチェーンを定期的に「ポーリング」し、スマートコントラクト115によって格納された値に対する修正の形態で関連する状態変化のあったときにサービスを提供することによって、サービスを提供することができる。スマートコントラクト115によって格納された値の修正は、ユーザ装置105によって開始されることが可能である。このシナリオは、図4Bに関係して後でさらに詳細に説明される。
サービス装置110は、2つの異なる方法で発見されることが可能である。第1には、スマートコントラクトそれ自体として実装されたスマートコントラクトレジストリを通じてされる。第2には、特定のスマートコントラクト方法(機能)署名についてのブロックチェーン分析を介しての自動発見を通じてされる。
スマートコントラクト
各サービス装置110は、プログラムコード(またはコード)の形態で、(それがコードを非集中的に実行してよい限り、実装形態にかかわらず、パブリックまたはプライベートである)ブロックチェーン120上で表されてよい。コードは、たとえば、プロセッサ、コントローラ、または状態機械を含んでよいコンピュータ(またはコンピュータ装置)によって実行可能である命令を含む。コードは、ブロックチェーン対応動作環境内の特定のコンピュータ装置を特定の方法で動作するように構成するためのルールを含んでよい。いくつかの例示的実施形態におけるコードは、スマートコントラクト115と呼ばれることがある。ユーザ装置105からのトランザクションによってトリガされるサービス装置110の動作の条件は、スマートコントラクト115に格納され執行される。スマートコントラクト115はまた、サービス装置110の所有者に対する参照、および/またはサービス装置110の動作のための条件を支配するパラメータ(たとえば、デポジット、レンタルもしくは販売の費用、利用可能日付および/もしくは時間など)のような、任意選択の変数を保持してよい。当業者には容易に理解されるように、スマートコントラクト115という語句の使用はブロックチェーン技術の分野に特有であるが、さらに、合意を執行する任意の形態のコードを指すことができる。この場合、スマートコントラクト115は、(支払いを提供する)ユーザ装置105と(サービスを提供する)所有者のサービス装置110との間の合意を執行する。
動作の例として、スマートコントラクトはサービス装置110に対するアクセス権を管理してよい。図1Bを参照すると、ブロックチェーン120上で動作するスマートコントラクト115は、サービス装置の所有者130に属するサービス装置110にサービスを要求しているユーザ装置105からの支払い/資金の転送を可能にする。スマートコントラクト115は、支払い、たとえば、電子形態の従来の通貨支払いおよび/または暗号通貨支払いの受け取りおよび/または払い出しに応答して、その格納されている値を継続的に更新してよい。暗号通貨は、たとえば、電子コイン提供、電子報酬、物々交換入札、または他の何らかの形式の電子フォーマットの値であってよいことに留意されたい。
例として、サービス装置の所有者130がサービスを提供するためにサービス装置110を利用可能にすることを望むとき、所有者130は、スマートコントラクト内の変数として記録されるサービス装置110にアクセスするためのデポジット量および価格を提供することができる。ユーザ装置105が、サービス装置110を表すスマートコントラクト115によって格納された変数を満たす充分な資金を送った(たとえば、デポジットを提供した)とき、ユーザ装置105は、応答して、特定のアクションを行うようにサービス装置110内で実行されてよい(たとえば、命令を含むプログラムコードの形態の)操作コマンドを、サービス装置110に対して送信してよい。様々な実施形態において、ユーザ装置105とサービス装置110は、ユーザ装置105がサービス装置110に対して複数の操作コマンドを送信することを可能にする状態チャネルを確立する。スマートコントラクト115およびサービス装置110に対するアクセスの背後の論理に伴うさらなる詳細は、以下に説明される。
ブロックチェーン対応環境で動作することによって、スマートコントラクト115は、ユーザ装置105とサービス装置の所有者130との間の価値転送を仲介してよい(これは、仮想通貨および/もしくはトークンまたは同等物などの通貨を使用して行うことができる)。したがって、サービス装置の所有者130は、支払い(たとえば、電子フォーマットの従来の通貨または暗号通貨)を受け取ってよく、ユーザ装置105は、デポジットを逆に受け取り、および/または支払いから任意の未処理のクレジットを受け取る。
ブロックチェーン
図1Aを参照すると、スマートコントラクト115をホストする基礎となるブロックチェーン120は、パブリックまたはプライベートであることが可能である。ブロックチェーン120は、スマートコントラクト115に加えて台帳を含んでよい。本明細書に説明されている解決策は、設計によってブロックチェーン120に非依存である。例として、ブロックチェーン120は、非集中的にコードを実行する、ブロックチェーン120と通信する1つまたは複数の装置(たとえば、ユーザ装置105またはサービス装置110)の間の、有線通信または無線通信を容易化する非集中型ネットワークを指す。
様々な実施形態において、非集中型ブロックチェーン120のネットワークは、標準通信技術および/またはプロトコルを使用する。ネットワークによって使用される技術の例は、イーサネット、802.11、3G、4G、802.16、または他の任意の適切な通信技術を含む。ネットワークによって使用されるプロトコルの例は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ハイパーテキスト伝送プロトコル(HTTP)、簡易メール転送プロトコル(SMTP)、ファイル転送プロトコル(FTP)、または他の任意の適切な通信プロトコルを含む。
例示的なユーザ装置、サービス装置、および/またはブロックチェーンと通信する装置
図1Cは、ブロックチェーン対応動作環境100内の例示的コンピューティング装置200の例示的コンポーネントを示すブロック図である。説明される例示的コンピューティング装置コンポーネントの一部または全部は、たとえば、ユーザ装置105、サービス装置110、および/またはブロックチェーン120と通信するためのプロキシとしてユーザ装置105もしくはサービス装置110によって使用されてよい任意の装置内にあってよい。言い換えれば、コンピューティング装置200は、ブロックチェーン120上のノードである。コンピューティング装置200は、機械可読媒体から命令を読み取り、少なくとも1つのプロセッサ(またはコントローラ)においてそれらを実行するように構成されてよい。具体的には、図1Cは、本明細書で論じられる方法論のいずれか1つまたは複数をコンピューティング装置200に実行させるための1つまたは複数の命令224(たとえば、ソフトウェアまたはプログラムまたはプログラム製品)が実行されてよい、例示的形態のコンピューティング装置200の概略図を示す。
例示的コンピューティング装置200は、少なくとも1つのプロセッサ202(たとえば、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、1つもしくは複数の特定用途向け集積回路(ASIC)、1つもしくは複数の無線周波数集積回路(RFIC)、コントローラ、状態機械、またはこれらの任意の組み合わせ)、メインメモリ204、および静的メモリ206を含んでよく、それらは、バス208を介して互いに通信するように構成される。コンピューティング装置200は、グラフィックディスプレイユニット210(たとえば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、またはプロジェクタ)をさらに含んでよい。コンピューティング装置200はまた、入力装置、たとえば、英数字入力装置212(たとえば、キーボード)、カーソル制御装置214(たとえば、マウス、トラックボール、ジョイスティック、モーションセンサ、タッチセンシティブインターフェース、または他のポインティング機器)を含んでよい。コンピューティング装置200はまた、たとえば、ストレージユニット216(たとえば、ソリッドステートディスク、磁気ディスク、光ディスク)、信号生成装置218(たとえば、スピーカ)、およびネットワークインターフェース装置220を含んでよく、それらは、やはりバス208を介して通信するように構成される。コンピューティング装置200は、コンピューティング装置200の図示および説明されたコンポーネントの全ては含む必要がないことに留意されたい。
ストレージユニット216は、本明細書で説明されている方法論または機能のいずれか1つまたは複数を具体化する命令224(たとえばソフトウェア)が格納された機械可読媒体222を含む。命令224(たとえば、プログラムコードまたはソフトウェア)は、機械可読媒体も構成するコンピューティング装置200、メインメモリ204、およびプロセッサ202によってその実行中に、メインメモリ204内またはプロセッサ202内(たとえば、プロセッサのキャッシュメモリ内)に完全にまたは少なくとも部分的に存在してもよい。命令224(たとえばソフトウェア)は、ネットワークインターフェース装置220を介してネットワーク226を通じて送信または受信されてよい。
機械可読媒体222は例示的実施形態において単一の媒体として示されているが、用語「機械可読媒体」は、命令(たとえば命令224)を格納することができる単一の媒体または複数の媒体(たとえば、集中化もしくは分散されたデータベース、または関連付けられたキャッシュおよびサーバ)を含むと解釈されるべきである。また、用語「機械可読媒体」は、機械による実行のために命令(たとえば命令224)を格納することができ、本明細書に開示されている方法論のいずれか1つまたは複数を機械に実行させることができる任意の媒体を含むと解釈されるべきである。用語「機械可読媒体」は、ソリッドステートメモリ、光媒体、および磁気媒体の形態のデータレポジトリを含むが、これらに限定されない。
ブロックチェーン対応システムを通じたサービスのための動作例
図2は、例示的実施形態に従う、予約プロセスを示す例示的相互作用図である。一実施形態において、予約プロセスは、ユーザ装置105がサービス装置110に対するアクセスを得ることを可能にする。より具体的には、ユーザ装置105は、予約プロセス中にサービス装置110に対するアクセスを得るために、ブロックチェーン120上のサービス装置110を表すスマートコントラクト115と通信する。アクセスを得た後、ユーザ装置105は、サービス装置110によって提供されるサービスを受け取るために、アクセスプロセスを通じて進行する。後述される様々な実施形態において、予約プロセスは同じままであるが、アクセスプロセスは異なることがある。
ユーザ装置とスマートコントラクトとの間の予約プロセスの例
ユーザ装置105は、サービス装置110を表すブロックチェーン120上のスマートコントラクト115を調べる(250)。一例として、ユーザ装置105は、動的レジストリにアクセスすることができ、スマートコントラクト115および対応するサービス装置110を識別する。動的レジストリは、サードパーティシステム(たとえば、アプリケーション/ウェブサイト、ホテル予約プロバイダ、または自動車レンタル予約プロバイダ)からアクセスされてよい。
ユーザ装置105は、支払いデポジット、サービス装置の利用可能日付、および/または他の情報のようなサービス装置110のパラメータを指定するサービス装置110に対応するスマートコントラクト115の変数に対するアクセスを得る。
ユーザは、自身のユーザ装置105を使用して、電子署名された要求をブロックチェーン120上のスマートコントラクト115に対して送り(255)、サービス装置110(たとえば、ロック、洗濯機、自動車充電ポート、レンタルサービス、およびサービスを提供できる任意の装置)にアクセスする許可を購入する。ユーザ装置105は、ユーザに割り当てられたユーザ識別子を含む要求を生成する。たとえば、ユーザ識別子は、ユーザがブロックチェーンのメンバーとして登録したときにユーザに割り当てられた識別子を表すことができる。加えて、生成された要求は、支払い、およびサービスの望ましいパラメータを指定する変数を含む。
ユーザ装置105は、ユーザに割り当てられたキー(たとえば、プライベートキー/公開キー)を使用して要求に電子署名する。たとえば、ユーザ装置105は、ユーザに割り当てられたプライベートキーを使用して要求を暗号化することによって、要求に電子署名してよい。様々な実施形態において、ユーザ装置105は、ユーザに割り当てられた公開キーを電子署名された要求にさらに含めてよい。このようにして、ユーザ装置105は電子署名された要求を送る。
ブロックチェーン120上のスマートコントラクト115は、ユーザ装置105によって提供された要求を処理する。ブロックチェーン120上のスマートコントラクト115は、電子署名された要求を受け取って復号する。たとえば、電子署名された要求は、含まれているユーザの公開キーを使用して復号されて、要求の内容(たとえば、ユーザのユーザ識別子、支払い、および指定されたパラメータ)が得られる。
スマートコントラクト115は、アクセスを提供するための条件が満たされているかどうかを決定する(260)。たとえば、ブロックチェーン120上のスマートコントラクト115は、スマートコントラクト115の変数を満たす適切な資金が電子署名された要求に含まれているかどうかを調べる。別の例として、ユーザ装置が時間の期間中にホテルルームを借りるための電子署名された要求を送っている場合、スマートコントラクト115は、ユーザによって要求された滞在の日付を指定する要求に含まれたパラメータを調べ、その日付を、サービス装置130の所有者によって事前に設定されたスマートコントラクト115の変数に格納された利用可能な日付と比較する。指定された日付が利用可能である(たとえば、その時間に誰もホテルルームを借りていない)場合、スマートコントラクト115は、条件が満足されているとみなす。
スマートコントラクト115は、支払いがユーザ装置105から受け取られていること、およびサービス装置110に対するアクセスが現在付与されていることを反映するように、その許可データ構造を更新する(265)。例として、許可データ構造は、対応するサービス装置110に対するアクセスを付与されたユーザ識別子を含むキー値ペアデータベースであってよい。したがって、スマートコントラクト115は、電子署名された要求に含まれたユーザ識別子を用いて許可データ構造を更新することができ、それによって、ユーザ識別子がサービス装置110に対するアクセスを付与されたことを示す。
ユーザ装置105がブロックチェーン120に対するアクセスを有する(たとえば、ユーザ装置105がブロックチェーン120上のノードである)とすると、ユーザ装置105は、ブロックチェーン120からのデータを継続的にポーリングし、サービス装置110に対するアクセス権がユーザ識別子に認められていることを検証する(270)。このようにして、予約プロセスが完了する。
ユーザ装置とスマートコントラクトとの間のアクセスプロセスの例
図3は、第1の実施形態に従う、アクセスプロセスを示す例示的相互作用図である。アクセスプロセスは、ユーザ装置105がサービス装置110に対する要求を開始し、サービス装置110によって提供されるサービスを受け取るプロセスを指す。図3に示されている実施形態において、ユーザ装置105は、サービス装置110に対して要求を直接送る。次いで、サービス装置は、ユーザ装置105がサービス装置110を動作させる権限を有するかどうかを検証することができる。この実施形態において、サービス装置110は、ブロックチェーン120に対するアクセスを有し(たとえば、ブロックチェーン120におけるノードであり)、したがって、ブロックチェーン120からのデータを継続的にポーリングして、スマートコントラクト115のローカルに同期されたコピーを更新する。
図3に示されるように、ユーザ装置105は、サービスを要求するために、電子署名されたメッセージをサービス装置110に対して送る(305)。そうするために、ユーザ装置105はメッセージを生成する。様々な実施形態において、メッセージは、サービス装置110と、要求されるサービスを記述する追加の情報とを識別する。加えて、メッセージは、ユーザに割り当てられたユーザ識別子を含むことができる。ユーザ装置105は、ユーザに割り当てられたプライベートキーを使用してメッセージを暗号化することによって、メッセージを電子署名する。ユーザ装置105は、ユーザに割り当てられた公開キーを、電子署名されたメッセージにさらに含めることができる。
電子署名されたメッセージは、様々なユーザ入力に応答して送られることが可能である。たとえば、ユーザは、ブロックチェーン120およびサービス装置110との通信プロトコルを含むユーザ装置105上のインストールされたアプリケーションを開いてよく、それにより、電子署名されたメッセージをトリガする。サービス装置110が複数のサービスを提供することができる場合、ユーザは、望ましいサービスを指定する入力をさらに提供することができる。電子署名されたメッセージの送信は、通信プロトコル(ETHEREUMのWHISPER、TELAHASH、または任意の類似の技術)を使用して、無線技術規格(Bluetooth/NFC/WiFi、それらの全ての変形および派生形態または類似の技術)上で行うことができる。
サービス装置110は、電子署名されたメッセージを受け取り、電子署名されたメッセージの署名を検証する(310)。たとえば、サービス装置110は、暗号署名検証を通じて署名を検証してよい。加えて、サービス装置110は、ユーザ識別子を、署名されたメッセージからそれを導出することによって抽出してよい。ここで、サービス装置110は、電子署名されたメッセージを公開キーを使用して復号し、ユーザ識別子を得ることができる。サービス装置110は、ユーザ装置105がサービス装置110に対するアクセスを付与されていることを検証する(315)。たとえば、サービス装置110は、ブロックチェーン120から継続的にポーリングされたスマートコントラクト115のローカルの同期されたコピーを取り寄せる。そして、サービス装置105は、電子署名されたメッセージから抽出されたユーザ識別子を、スマートコントラクトのそのローカルコピーの許可データ構造においてリストされたユーザ識別子と比較する。
ユーザ装置105に対応するユーザ識別子がサービス装置110に対するアクセスを有することが検証されると、サービス装置110は、要求されたサービスを提供する(320)。加えて、サービス装置110は、サービスがサービス装置110によって提供されたことを示す情報をユーザ装置105に提供してよい。任意選択で、ユーザ装置は、要求が成功しサービスが提供されたというインジケーションなど、プロセスの結果を(たとえば、ユーザ装置105のユーザインターフェース230上に)表示する(325)。
ブロックチェーンのみの動作(たとえば、図4Aおよび図4B)の動作例
図4Aは、第2の実施形態に従う、例示的ブロックチェーン対応動作環境を示す。ここで、図4Aは、サービスがサービス装置110によって提供されるように、ユーザ装置105およびサービス装置110が各々ブロックチェーン120と通信するという点で、図1Aとは異なる。言い換えれば、この動作モードにおいて、ユーザは、自身のユーザクライアント装置150を使用して、サービス装置110によって提供されるサービスを、ブロックチェーン120上のスマートコントラクト115に対して送られたトランザクションだけを用いて受け取る。
ユーザ装置105は、図2に前述されたように予約プロセスを通じて進行する。アクセスプロセス中に、ユーザ装置105は、電子署名されたメッセージを通じて要求をブロックチェーン120に対して送出する。サービス装置110は、ブロックチェーン120からのデータを定期的にポーリングして、一致するスマートコントラクト115の状態の変更のためにブロックチェーン120のそのローカルの同期されたコピーを更新し、ユーザ識別子が要求の一部として要求された動作を行うことを認証されていることを検証した後に相応に動作する。
より具体的には、図4Aに示された第2の実施形態に従うアクセスプロセスを示す例示的相互作用図である図4Bが参照される。ユーザ装置105は、サービス装置110にサービスを要求するメッセージを生成することができる。メッセージは、ユーザ装置105のユーザに割り当てられたユーザ識別子と、サービス装置110の識別情報と、サービス装置110によって提供されるべきサービスを記述する情報とを含むことができる。ユーザ装置105は、ユーザに割り当てられたプライベートキーを使用してメッセージを暗号化することによってメッセージを電子署名し、ユーザに割り当てられた公開キーをさらに含める。
ユーザ装置105は、その公開キーを含む電子署名されたメッセージを、サービス装置110を表すブロックチェーン120上のスマートコントラクト115に対して送る(450)。ブロックチェーン120上のスマートコントラクト115は、電子署名されたメッセージを受け取り、電子署名されたメッセージを(たとえば、暗号署名検証方法を通じて)検証し、公開キーを使用して電子署名されたメッセージを復号し、ユーザ識別子を抽出する。スマートコントラクト115は、抽出されたユーザ識別子がサービス装置110に対するアクセス権を有することを検証する(455)。たとえば、スマートコントラクト115は、そのストレージの一部としてその許可データ構造にアクセスし、抽出されたユーザ識別子を許可データ構造にリストされたユーザ識別子と比較する。スマートコントラクト115は、その内部データストアの一部としてサービス装置要求をキューイングする。
サービス装置110は、ブロックチェーン120に対するアクセスを有し(たとえば、ブロックチェーンにおけるノード)、したがって、スマートコントラクト115のローカルの継続的に同期されたコピーを格納する。サービス装置は、ブロックチェーン120上の対応するスマートコントラクト115において発生した任意の状態変化を用いて、ローカルに同期されたコピーを更新するために、ブロックチェーン120をポーリングする(460)。たとえば、状態変化は、新しいユーザ装置がサービス装置110に対するアクセスを今や有することを示してよい。また、状態変化は、ブロックチェーン120上のスマートコントラクト115によってキューに入れられた未処理のサービス装置要求を示してよい。
サービス装置110が未処理のサービス装置要求を検出した場合、サービス装置110は、要求されたサービスを提供する。任意選択で、ユーザ装置は、サービスが提供されたというインジケーションなど、要求の結果を表示する(470)。ユーザ装置は、ブロックチェーン120のそれ自体のコピーの定期的ポーリングを通じて、この情報を得てよく、以前にキューに入れられたサービス装置要求が今や完了していることが分かる。
1つまたは複数のサービス装置と通信するプロキシ装置の動作例
図5Aは、例示的実施形態に従う、プロキシ装置を使用するアクセスプロセスを示す例示的相互作用図である。この例示的実施形態において、プロキシ装置550は、1つまたは複数のサービス装置110に代わって通信する。たとえば、プロキシ装置550は、サービス装置110(およびさらに他の1つまたは複数のサービス装置110)と通信することを事前に登録され予め認証されていてよい。そのような例示的実施形態において、プロキシ装置550の実装形態は、ブロックチェーン120と直接通信することができないサービス装置110にとって有益な可能性がある。前述されたように、プロキシ装置550は、ユーザ装置105およびブロックチェーン120上のスマートコントラクト115と通信するように構成されたコンピューティング装置200であってよく、したがって、ユーザ装置105は、サービスを要求することができ、プロキシ装置550は、サービス装置110が要求されたサービスを提供するようにする適切なロジックを実行することができる。
ユーザ装置105は、図2において前述されたように予約プロセスを通じて進行する。図5Aに示されて相互作用図を特に参照すると、アクセスプロセス中に、ユーザ装置105は、その公開キーを含む電子署名されたメッセージをプロキシ装置550に対して送信する(または送る)(505)。そのような電子署名されたメッセージは、図4Bのステップ450に関係する上記の説明に従って、ユーザ装置105によって生成されることができる。プロキシ装置550は、電子署名されたメッセージを受け取り、ユーザ識別子を抽出し、抽出されたユーザ識別子がサービス装置110に対するアクセス権を有することを検証する(510)。ここで、プロキシ装置は、ブロックチェーン120に対するアクセスを有し(たとえば、ブロックチェーン120におけるノード)、したがって、ブロックチェーン120のローカルの同期されたコピーを格納する。プロキシ装置は、抽出されたユーザ識別子を、ユーザ識別子を含むスマートコントラクトのローカルの同期されたコピーと比較することによって、抽出されたユーザ識別子がアクセス権を有することを検証する(515)。
プロキシ装置550が、ユーザ装置105がサービス装置110に対するアクセスを有することを検証すると、プロキシ装置550は、操作要求をサービス装置110に対して送信する。操作要求に応答して、サービス装置がサービスを提供する(520)。サービス装置110は、サービスが提供されたことを示す操作要求に対する応答を、プロキシ装置550に対して返送する。さらに、プロキシ装置550が、ユーザ装置105に対して応答を送信してよい。ユーザ装置105は、任意選択で、動作の結果を表示(525)するために提供することができる。
図5Bは、例示的実施形態に従う、プロキシ装置のハードウェア層およびソフトウェア層の例を示す。上述されたように、様々な実施形態において、プロキシ装置はクラウドサーバである。したがって、プロキシ装置のプロセッサを含むことができるプロキシ装置のハードウェア層は、複数の地理的位置にわたって分散されることができる。一般に、ハードウェア層および/またはソフトウェア層は、プロキシ装置550がブロックチェーン120と通信することを可能にする。ブロックチェーン120は、1つまたは複数の分散されたコンピューティング装置上で実行してよく、1つまたは複数のスマートコントラクト115、および分散された台帳(たとえばブロックチェーン120)を含んでよい。
例として、プロキシ装置550は、ハードウェア(たとえば、RASPBERRY PI、INTEL EDISON、SAMSUNG ARTIKなどのような組み込みボードプロセッサ)、ならびに/または、ブロックチェーン120と、ブロックチェーン210に対する直接アクセスを有しても有しなくてもよいサービス装置110との通信を可能にするように構成された、プロセッサ202、グラフィックディスプレイユニット210、および機械可読媒体222のような図2Aに説明された様々な装置を含んでよい。プロキシ装置550はまた、オペレーティングシステムを含む。たとえば、プロキシ装置550によって使用される動作システムの例は、UBUNTU Snappy coreである。別の例において、プロキシ装置550によって使用されるオペレーティングシステムは、GOOGLE ANDROIDまたはAPPLE IOSであってよい。オペレーティングシステムを通じて、プロキシ装置550は、1つまたは複数の異なるサービス装置110と通信することができる。たとえば、プロキシ装置550は、アプリケーションまたは通信プロトコルを通じて(たとえば、家庭、ホテルにおいて)利用可能である全ての適合するサービス装置110を検出し、それらと通信することができる。したがって、プロキシ装置550の所有者は、プロキシ装置550と通信するサービス装置110の各々についてパラメータ(たとえば、デポジット、レンタルの費用、利用可能時間)を設定することができる。
加えて、プロキシ装置550は、ブロックチェーン120との通信を可能にするソフトウェアフレームワークを含む。たとえば、プロキシ装置550は、1つまたは複数のサードパーティアプリケーションの間の通信を可能にしてよいコントローラアプリケーションと通信するソフトウェアフレームワーク、およびブロックチェーン120と通信するソフトウェアフレームワークを含んでよい。加えて、プロキシ装置550は、ユーザ入力を受け取ることができるユーザインターフェースを含んでよい。
状態チャネルの利用を含む動作例
図6は、状態チャネルの使用を含む実施形態を詳細に示すアクセスプロセスフローチャートを示す。状態チャネルは、ユーザ装置105が、サービス装置110(または同じ所有者に属する複数のサービス装置)からの複数の異なるサービス(または反復されるサービス)のための複数のトランザクションを送ることができるように、通信を可能にする。したがって、ユーザ装置105およびサービス装置110は、状態チャネル上で提供されたサービスに関連付けられた費用を集計し、状態チャネルが閉じられたときに、ブロックチェーン120上のスマートコントラクト115を介して単一支払いを通じて複数のトランザクションを決済することができる。
一例として、サービス装置110は、時間期間にわたって複数回のロック/ロック解除を必要とすることがあるロックであってよい。したがって、各ロック/ロック解除の後にブロックチェーン120上のスマートコントラクト115によって支払いを決済する代わりに、サービス装置110は、状態チャネルが閉じられた後に決済することができる。様々な実施形態において、状態チャネルは、予め定められた量の時間の後または予め定められた数のロック/ロック解除の後に閉じられることが可能である。
図6ではユーザ装置105と単一のサービス装置110との間の状態チャネル通信を示しているが、(たとえば、図5Aで説明されたような)プロキシ装置550と関係して状態チャネルが利用されるのが可能であることも、当業者は理解してよい。したがって、ユーザ装置105は、ユーザ装置105とプロキシ装置550との間で開いた状態チャネルを介して複数の要求をプロキシ装置550に対して提供してよい。したがって、プロキシ装置550は、複数の要求を検証し、要求されたサービスを提供するようにサービス装置110に適切に命令してよい。ユーザ装置105およびプロキシ装置550は、状態チャネルが閉じられた後に、提供されたサービスに対する支払いを決済してよい。
具体的な例として、プロキシ装置550はホテルルームに配置されてよい。ホテルルームが提供できるサービスは、以下に限定されないが、ルームへのアクセスを提供するためにドアをロック解除すること、ホテルルームの小型冷蔵庫内の飲み物へのアクセスを提供すること、ホテルルームのテレビの映画へのアクセスを提供すること、および/または宿泊後にホテルルームをチェックアウトすることを含んでよい。各サービスは、ホテルルームのプロキシ装置550と通信するホテルルーム内のサービス装置110に対応する。このシナリオにおいて、ユーザ装置105は、ユーザ装置105と、複数のサービス装置110と通信するプロキシ装置550との間の通信を可能にする、状態チャネルを利用することができる。したがって、ブロックチェーン120上のスマートコントラクト115は、状態チャネルが閉じられたときに、プロキシ装置550と通信するサービス装置110によって提供された複数のサービスに対する単一の支払いを受け取る。
図6に示された相互作用図を参照すると、ユーザ装置は、電子署名されたメッセージをサービス装置110(またはプロキシ装置550)に対して送信する(605)。ここで、ユーザ装置105は、状態チャネルを開くようにサービス装置110に要求するメッセージを生成する。様々な実施形態において、メッセージは、ユーザ装置105のユーザに割り当てられたユーザ識別子を含むことができる。加えて、メッセージは、状態チャネルがどれだけ長く開いたままとなるか(たとえば、持続時間または最大費用または提供されるサービスの数)などの詳細を含んでよい。ユーザ装置105は、ユーザに割り当てられたプライベートキーを使用してメッセージを暗号化することによってメッセージを電子署名し、ユーザに割り当てられた公開キーをさらに含める。
サービス装置110は、電子署名されたメッセージを受け取り、メッセージ要求の署名を検証し(610)、ユーザ識別子を抽出する。たとえば、サービス装置110は、暗号署名認証を行って、電子署名されたメッセージを検証する。サービス装置110は、署名されたメッセージを公開キーを使用して復号し、ユーザ識別子を抽出する。サービス装置110は、ブロックチェーンのローカルに格納された同期されたコピーを照会することによって、抽出されたユーザ識別子がサービス装置に対するアクセス権を有することを検証する(615)。
サービス装置110が、ユーザ装置105がサービス装置に対するアクセスを有することを検証すると、サービス装置は、状態チャネルを開く(620)。任意選択で、ユーザ装置105は、状態チャネルの開放の結果を表示(625)のために提供してユーザに通知してよい。ユーザ装置105とサービス装置110との間で状態チャネルが開いたままの間、ユーザ装置105は、1つまたは複数の署名されたメッセージを送ることによってサービス装置110の1つまたは複数のサービスを要求することができる(630)。サービス装置110は、署名された要求が状態チャネルを通じて受け取られたという事実に基づいて、ユーザ装置105からの要求に応答して、要求された1つまたは複数のサービスを提供することができる(635)。この時間の間、ユーザ装置105およびサービス装置110は、チャネルが開かれてから提供されたサービスの集計を管理する。ステップ630および635は、状態チャネルが閉じられるまで継続してよい。状態チャネルの閉鎖は、時間(たとえば、日の終わり)に基づくまたはサービスの総数(たとえば、10回のサービスを提供した後の閉じる)に基づく状態チャネルの予め定められた期限切れに起因してよいが、サービスを稼働する予め定められた総費用に到達した場合などにあってもよい。いくつかの実施形態において、状態チャネルの遮断があると、提供されたサービスの費用が、ブロックチェーン120上のスマートコントラクト115を介して決済される。他の例示的実施形態において、ユーザ装置105またはサービス装置110は、状態チャネルが閉じられるまで待機する必要がなく、提供されたサービスの費用を予め定められた間隔で決済することができる。
ゲートウェイクライアント装置の動作例
図7Aおよび7Bを参照すると、別の実施形態において、サービス装置110は、ブロックチェーン120と直接通信する能力を有しなくてよい。たとえば、サービス装置110は、インターネット接続性を有しなくてよい。したがって、図7AにおいてIoT装置とも呼ばれるサービス装置110が、図7Aにおいてゲートウェイとも呼ばれるインターネット対応ユーザ装置105を利用して、ブロックチェーン120に対するアクセスを有する図7Aにおける信頼されたクライアント704と通信する。
サービス装置110それ自体は、インターネット接続を可能にされる必要はない。それは、他の通信媒体を介してユーザ装置105と通信することができる。たとえば、通信は、この通信チャネルがメッセージの双方向送信を可能にする限り、Bluetooth、近距離無線通信(NFC)、または他の任意の類似の技術を介して確立されてよい。サービス装置110は、信頼されたクライアント710の情報を含むホワイトリストを格納するメモリをさらに含むことができる。加えて、サービス装置110は、ユーザ装置105からの要求の一部として含まれる暗号署名のような暗号書名を認証することができる。
ゲートウェイ702は、任意の装置であってよく、サービス装置110との通信チャネル(たとえば、Bluetooth、NFC)をサポートすることができる。ゲートウェイ702の例はユーザ装置105とすることができる。いくつかの実施形態において、ゲートウェイ702は、公開/プライベートキーペアを保持し、公開キーを用いてメッセージに署名することができる。したがって、ゲートウェイ702は、署名されたメッセージをサービス装置110に対して送ることによって認証プロセスを開始することができる。ゲートウェイ702は、信頼されたクライアント710を使用してブロックチェーン120に接続するために、サービス装置110に対するインターネット接続を提供する。
信頼されたクライアント710は、ブロックチェーン120に対するアクセスを与える多くの異なるホストによって提供されるサービスであってよい。各信頼されたクライアント704は、(geth、eth、parityなどと同様のクライアントを使用して)常に同期されたブロックチェーン120におけるノードとして動作することができる。加えて、各信頼されたクライアント704は、プライベートキーに対するアクセスを有し、要求に署名することができる。
セットアップ中、サービス装置110の所有者は、サービス装置110のためにブロックチェーン120上のスマートコントラクト115を配置する。ここで、値がサービス装置110のストレージ(たとえばメモリ)に書き込まれることができる。値は、サービス装置の所有者によって設定されるように、信頼されたクライアント704の初期のホワイトリストを含むことができる。
図7Bを参照すると、それは、例示的実施形態に従う、ユーザ装置105および信頼されたクライアント704を通じてサービス装置110によってブロックチェーンアクセスを可能にするプロセスを示す。具体的には、図7Bに示されるように、サービス装置110(IoT装置)が、安全とみなされる信頼されたクライアントのリストを管理する証明書のホワイトリストを保持する(705)。ホワイトリストは、信頼されたクライアント704のインターネットプロトコルアドレス、および信頼されたクライアント704のポート/公開キーのような、信頼されたクライアント710の情報を含むことができる。ホワイトリストそれ自体は、ブロックチェーン120上のスマートコントラクト115として格納されてよい。このホワイトリストは、各ノードインスタンスに関して決定するためにマルチシグを使用するユーザの基礎もしくはグループのいずれかによって、またはノードのリストを集中的に制御するためにそれを使用してよい企業によって管理されてよい。ホワイトリストが常に最新であり、故障または非存在ノードを含まないことを確実にするために、cronjobまたは同様のものが、リスト内のエントリを観測し、結果を独立したクライアントと比較するテスト要求を実行してよい。結果が一致しない場合、このクライアントはリストから除去される。
まず、サービス装置110がゲートウェイ702装置を検証する(ステップ710ないし730)。ゲートウェイ702は、サービス装置との接続を確立する(710)。サービス装置は、乱数(たとえばランダムシード)を生成し(715)、ランダムシードをゲートウェイに対して送る(720)。このシードは、メッセージが再使用できないことを確実にし、中間者攻撃を防止する。
ゲートウェイ702によって送られる接続を確立する(たとえばステップ710)要求の例は、以下のようであってよい。
{
“jsonrpc”: “2.0”,
“method”: “request”,
“params”: []
“id”:”1”
}
ランダムシードを含むサービス装置からの応答(たとえばステップ720)は、次のように表現されてよい。
{
“jsonrpc”: “2.0”,
“result”: { “seed” : “12AE3B6F3AD76E5B2” }
“id”:”1”
}
ゲートウェイがシードを受け取ると、ゲートウェイは署名されたメッセージを送る(725)。これは、Bluetooth、NFC、または任意の類似の技術を通じて行うことができる。そのようなメッセージは以下の形式をとってよい。
var msgHash = seed + sender + method;
ethUtil. ecsign (msgHash, privateKey)
これは、以下の署名されたメッセージの作成につながる。
{
“jsonrpc”: “2.0”,
“method”: “open”,
“params”: {
“sender” : “5e1d3a76fbf824220eafc8c79ad578ad2b67d01b0c2425eb1f1347e8f50882ab”,
“v”: “1c”,
“r”: “5e1d3a76fbf824220eafc8c79ad578ad2b67d01b0c2425eb1f1347e8f50882ab”,
s”: “5bd428537f05f9830e93792f90ea6a3e2d1ee84952dd96edbae9f658f831ab13”
}
“id”:”1”
}
サービス装置110は、ゲートウェイ702からの署名されたメッセージを検証してよい(730)。たとえば、サービス装置110は、ゲートウェイの署名されたメッセージから公開キーを導出することができる。この検証は、以下の擬似コードの形式をとってよい。
senderPubKey=ethUtil.ecrecover(msgHash,v,r,s)
上記から導出された公開キーがメッセージの一部として渡されたキーと一致する場合、サービス装置は、メッセージで指定されたゲートウェイ702によってメッセージが実際に送られたことを確認する。
ゲートウェイのアイデンティティを検証した後、サービス装置110は、この公開キーの所有者がサービス装置110を使用することも認証されているかどうかを決定する。サービス装置110は、そのホワイトリスト上に保持されている信頼されたクライアント704を選択し(735)、ゲートウェイ702に対して送られる(745)要求を生成する(740)。ここで、ゲートウェイ702に対して送られる要求は、状態変更が存在するかどうかを調べるために、ブロックチェーン120に格納されたスマートコントラクト115をポーリングする(たとえば、ステップ460参照)要求とすることができる。
そのような要求の生成は以下の形式をとってよい。
function hasPermission (address user, uint commandCode) constant returns(boolean is-allowed)
要求(たとえば、ステップ745で送られる要求)それ自体は、以下の擬似コードによって表されてよい。
{
“jsonrpc”: “2.0”,
“method”: “eth_call”,
“params”: [{
// address of the smart contract controlling the device
“to” : “5e1d3a76fbf824220eafc8c79ad578ad2b67d01b0c2425eb1f1347e8f50882ab”,
// Hash of the method signature and encoded parameters (user, commandCode).
“data”: “220eafc8c79ad578ad2b67d01b0c24255e1d3a76fbf82423BAF9eb1f1347e8f50882ab”
}]
“id”:”2”,
“client” : “10.25.125.196:8555”,
“seed” : “8c79ad578ad2b67d01b0c24255e1d”
}
ゲートウェイ702がクライアントおよびシードパラメータを含むそのような要求を受け取ったとき、それは、指定された信頼されたクライアント704に対するHTTP(またはhttps)接続を確立し、要求を転送する(750)。要求は、信頼されたクライアント704をホストするサーバに対するPOST要求の形式をとってよい。この要求は、信頼されたクライアント704によって受け取られ、次いで、信頼されたクライアント704は、信頼されたクライアント752上でサービス装置の照会を実行する。信頼されたクライアント704は、信頼されたクライアントのプライベートキーを使用して署名されたメッセージの形式で署名された応答を生成する(755)。そのような応答の生成は以下の形式をとってよい。
var msgHash = crypto.SHA256( request. method + JSON.stringify( request. params) + request. seed
+ JSON.stringify( response. result));
ethUtil. ecsign (msgHash, privateKey)
(たとえば、ステップ755で生成される)応答メッセージは、照会の結果を含んでよく、署名されたフィールドを追加してよく、以下の擬似コードによって表されてよい。
{
“jsonrpc”: “2.0”,
“result”: “0x1”,
“sign”: {
“v”:“1c”,
“r”:“5e1d3a76fbf824220eafc8c79ad578ad2b67d01b0c2425eb1f1347e8f50882ab”,
“s”: “5bd428537f05f9830e93792f90ea6a3e2d1ee84952dd96edbae9f658f831ab13”
},
“id”:”2”
}
例として、(たとえば、ステップ755で生成される)応答メッセージは、スマートコントラクト115に対する変更を含んでよく、またはキューに入れられたサービス装置要求を含むことができる。したがって、この情報がサービス装置110によって受け取られたとき、サービス装置110は、そのローカルに格納されたスマートコントラクト115を、スマートコントラクト115に対する変更によって更新し、またはキューに入れられたサービス装置要求に応答してサービスを提供することができる。
信頼されたクライアントが、この署名されたメッセージをゲートウェイ702に対して送り(または送信し)(760)、次いで、ゲートウェイ702がこの応答をサービス装置110に対して転送する(765)。サービス装置110は、受け取られたデータパッケージにおける信頼されたクライアント704の署名を検証する(770)。これは、メッセージから信頼されたクライアント704の公開キーを抽出し、それをサービス装置110のホワイトリストに格納されたものと比較することによって行われてよい。
一実施形態において、サービス装置110は、メッセージの署名が有効である場合、ゲートウェイ702に対してメッセージを返す。ゲートウェイ702に対して返されたメッセージは、信頼されたクライアント704による照会が成功したかどうかに応じて成功または失敗結果を含んでよく、以下の疑似コードの形式をとってよい。
{
“jsonrpc”: “2.0”,
“result”: true
“id”:”1”
}
追加の考慮事項
ブロックチェーン対応環境の開示されている実施形態は、非集中型ブロックチェーンを利用しながら、様々なサービス装置のサービスのアクセスを可能にする。開示された実施形態の利益は数倍になる。
例として、特定のサービス装置を管理する非集中型ブロックチェーン上のスマートコントラクトの実装は、サービスと支払いの安全な交換を確実にする。たとえば、分散された台帳として、ブロックチェーンは、分散された台帳に支払いが変わりなく記録されることを確実にすることができる。
また例として、ユーザ装置が非集中型ブロックチェーンを利用する能力は、ユーザ装置のユーザが仲介者を必要とすることなくサービス装置に容易にアクセスできることを確実にする。特定の例として、ユーザ装置のユーザは、ブロックチェーン上のホテルルームに対応するスマートコントラクトに支払いを提供することができる。したがって、ユーザは、特定の日付の範囲でホテルルームを予約することができる。ユーザがホテルルームに到着したとき、ホテルルームのキーを取得するためにフロントデスクでチェックインする代わりに、ユーザは、ユーザ装置を使用して、ホテルルームのロック(たとえばサービス装置)をロック解除することによってホテルルームに対するアクセスを得ることができる。
本発明の実施形態に関する上述の説明は、例示の目的で提示されたものであり、網羅的であること、または開示された正確な形態に本発明を限定することは意図されていない。当業者は、上記の開示に照らして多くの修正および変形が可能であることを理解することができる。
この説明のいくつかの部分は、情報に対する操作のアルゴリズムおよび記号表現の観点で本発明の実施形態を記述する。これらのアルゴリズムの記述および表現は、データ処理技術分野の当業者によって一般的に使用され、その成果の実体を他の当業者に効果的に伝える。これらの動作は、機能的、計算的、または論理的に説明されているが、コンピュータプログラムまたは同等の電気回路もしくはマイクロコードなどによって実装されることが理解される。さらに、一般性を失うことなく、これらの動作の配置をモジュールと呼ぶことが時として便利であることも判明している。説明された動作およびそれらの関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組み合わせで具現化されてよい。
本明細書で説明された任意のステップ、動作、またはプロセスが、単独でまたは他の装置と組み合わせて1つまたは複数のハードウェアまたはソフトウェアモジュールを用いて実行または実装されてよい。一実施形態において、ソフトウェアモジュールは、コンピュータプログラムコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品によって実装され、これは、説明されたステップ、動作、またはプロセスのいずれかまたは全てを実行するためにコンピュータプロセッサによって実行されることが可能である。
本発明の実施形態はまた、本明細書における動作を行うための装置に関することがある。この装置は、必要とされる目的のために特に構成されてよく、および/または、コンピュータに格納されたコンピュータプログラムによって選択的にアクティブ化もしくは再構成される汎用コンピューティング装置を含んでよい。そのようなコンピュータプログラムは、非一時的な有形のコンピュータ可読記憶媒体、またはコンピュータシステムバスに結合されてよい電子命令を格納するのに適した任意の種類の媒体に格納されてよい。さらに、本明細書で言及される任意のコンピューティングシステムは、単一のプロセッサを含んでよく、または増大されるコンピューティング能力のために複数のプロセッサ設計を利用するアーキテクチャであってよい。
本発明の実施形態はまた、本明細書に説明されたコンピューティングプロセスによって作られる製品に関することがある。そのような製品は、コンピューティングプロセスからもたらされる情報を含んでよく、その情報は、非一時的で有形のコンピュータ可読記憶媒体に格納され、本明細書に説明されたコンピュータプログラム製品または他のデータ組み合わせの任意の実施形態を含んでよい。
最後に、本明細書で使用される言葉は、主に可読性および教育目的で選択されており、本発明の主題を線引きまたは限定するように選択されていないことがある。したがって、本発明の範囲は、この詳細な説明によって限定されず、本明細書に基づく出願において発行される任意の請求項によって限定されることが意図される。したがって、本発明の実施形態の開示は、添付の特許請求の範囲に記載される本発明の範囲を限定することなく例示することが意図される。

Claims (20)

  1. ユーザクライアント装置からサービス装置にアクセスするための電子署名された要求を受け取るステップであって、前記電子署名された要求は、
    前記ユーザ装置のユーザに割り当てられたユーザ識別子と、
    前記サービス装置によって提供されるサービスに関係付けられた1つまたは複数のパラメータと
    を含む、該ステップと、
    前記電子署名された要求の前記1つまたは複数のパラメータが、アクセスのための条件を満たすことを検証するステップと、
    非集中型台帳に格納された前記サービス装置に固有の許可データ構造を更新するステップであって、前記許可データ構造は、複数のユーザ識別子と、各ユーザ識別子が前記サービス装置にアクセスすることを認証されているかどうかのインジケーションとを含む、該ステップと、
    前記非集中型台帳に格納された前記許可データ構造に対する変更を提供するステップであって、前記提供された変更はローカルに格納された許可データ構造を更新するために使用される、該ステップと
    を含むことを特徴とする方法。
  2. 前記サービスが前記サービス装置によって提供されるように要求する電子署名されたメッセージを、前記ユーザ装置から受け取るステップであって、前記署名されたメッセージは、前記ユーザ装置の前記ユーザに割り当てられた前記ユーザ識別子を含む、該ステップと、
    前記署名されたメッセージに含まれた前記ユーザ識別子に基づいて、前記ユーザ装置が前記サービス装置にアクセスすることを認証されていることを検証するステップと、
    前記検証に応答して、前記サービス装置に対するサービス装置要求を生成するステップであって、前記サービス装置に対して提供される前記変更は、前記サービス装置が前記サービスを提供するようにする前記サービス装置要求を含む、該ステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  3. 前記サービス装置によって提供された複数のサービスに対する支払いを決済する要求を受け取るステップであって、前記要求は前記サービス装置によって提供され、前記サービス装置を通じて前記要求を受け取った状態チャネルの閉鎖に応答して、前記複数のサービスを提供する、該ステップをさらに含むことを特徴とする請求項2に記載の方法。
  4. 前記署名されたメッセージに含まれた前記ユーザ識別子に基づいて、前記ユーザ装置が前記サービス装置にアクセスすることを認証されていることを検証するステップは、
    前記署名された要求から前記ユーザ装置の前記ユーザに割り当てられた前記ユーザ識別子を抽出するステップと、
    前記サービス装置に固有の前記更新された許可データ構造に、アクセスするステップと、
    前記抽出されたユーザ識別子を、前記許可データ構造に格納された前記複数のユーザ識別子と比較するステップと
    を含むことを特徴とする請求項2に記載の方法。
  5. 前記ユーザ識別子を抽出するステップは、
    前記ユーザ装置の前記ユーザ識別子に割り当てられた公開キーを使用して前記署名された要求を復号するステップを含むことを特徴とする請求項4に記載の方法。
  6. 前記署名された要求の前記1つまたは複数のパラメータがアクセスのための条件を満たすことを検証するステップは、
    前記非集中型台帳に格納されたコントラクトにアクセスするステップであって、前記コントラクトは前記サービス装置に固有である、ステップと、
    前記アクセスされたコントラクトの変数を、前記署名された要求の前記1つまたは複数のパラメータと比較するステップと
    を含むことを特徴とする請求項1に記載の方法。
  7. 前記署名された要求の前記1つまたは複数のパラメータは、支払い、利用可能日付、または利用可能時間のうちの1つを含むことを特徴とする請求項1に記載の方法。
  8. 前記許可データ構造に対する前記変更は、ユーザ装置、サービス装置、またはプロキシ装置のうちの1つに対して提供されて、前記ローカルに格納された許可データ構造を更新することを特徴とする請求項1に記載の方法。
  9. 命令を含む非一時的コンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されたときに、
    ユーザクライアント装置からサービス装置にアクセスするための電子署名された要求を受け取ることであって、前記電子署名された要求は、
    前記ユーザ装置のユーザに割り当てられたユーザ識別子と、
    前記サービス装置によって提供されるサービスに関係付けられた1つまたは複数のパラメータと
    を含む、該受け取ることと、
    前記電子署名された要求の前記1つまたは複数のパラメータがアクセスのための条件を満たすことを検証することと、
    非集中型台帳に格納された前記サービス装置に固有の許可データ構造を更新することであって、前記許可データ構造は、複数のユーザ識別子と、各ユーザ識別子が前記サービス装置にアクセスすることを認証されているかどうかのインジケーションとを含む、該更新することと、
    前記非集中型台帳に格納された前記許可データ構造に対する変更を提供することであって、前記提供された変更はローカルに格納された許可データ構造を更新するために使用される、該提供することと
    を前記プロセッサに行わせることを特徴とする非一時的コンピュータ可読記憶媒体。
  10. 前記プロセッサによって実行されたときに、
    前記サービスが前記サービス装置によって提供されるように要求する電子署名されたメッセージを、前記ユーザ装置から受け取ることであって、前記署名されたメッセージは、前記ユーザ装置の前記ユーザに割り当てられた前記ユーザ識別子を含む、該受け取ることと、
    前記署名されたメッセージに含まれた前記ユーザ識別子に基づいて、前記ユーザ装置が前記サービス装置にアクセスすることを認証されていることを検証することと、
    前記検証に応答して、前記サービス装置に対するサービス装置要求を生成することであって、前記サービス装置に対して提供される前記変更は、前記サービス装置が前記サービスを提供するようにする前記サービス装置要求を含む、該生成することと
    を前記プロセッサに行わせる命令をさらに含むことを特徴とする請求項9に記載の非一時的コンピュータ可読記憶媒体。
  11. 前記プロセッサによって実行されたときに、
    前記サービス装置によって提供された複数のサービスに対する支払いを決済する要求を受け取ることであって、前記要求は前記サービス装置によって提供され、前記サービス装置を通じて前記要求を受け取った状態チャネルの閉鎖に応答して、前記複数のサービスを提供する、該受け取ること
    を前記プロセッサに行わせる命令をさらに含むことを特徴とする請求項10に記載の非一時的コンピュータ可読記憶媒体。
  12. 前記署名されたメッセージに含まれた前記ユーザ識別子に基づいて、前記ユーザ装置が前記サービス装置にアクセスすることを認証されていることを検証することを前記プロセッサに行わせる前記命令は、前記プロセッサによって実行されたときに、
    前記署名された要求から前記ユーザ装置の前記ユーザに割り当てられた前記ユーザ識別子を抽出することと、
    前記サービス装置に固有の前記更新された許可データ構造に、アクセスすることと、
    前記抽出されたユーザ識別子を、前記許可データ構造に格納された前記複数のユーザ識別子と比較することと
    を前記プロセッサに行わせる命令をさらに含むことを特徴とする請求項10に記載の非一時的コンピュータ可読記憶媒体。
  13. 前記署名された要求の前記1つまたは複数のパラメータがアクセスのための条件を満たすことを検証することを前記プロセッサに行わせるコードは、前記プロセッサによって実行されたときに、
    前記非集中型台帳に格納されたコントラクトにアクセスすることであって、前記コントラクトは前記サービス装置に固有である、アクセスすることと、
    前記アクセスされたコントラクトの変数を、前記署名された要求の前記1つまたは複数のパラメータと比較することと
    を前記プロセッサに行わせる命令をさらに含むことを特徴とする請求項9に記載の非一時的コンピュータ可読記憶媒体。
  14. サービスを要求するユーザ装置からの署名されたメッセージを受け取るステップであって、前記署名されたメッセージは、前記ユーザ装置のユーザに割り当てられたユーザ識別子を含む、ステップと、
    前記ユーザ装置の前記ユーザに割り当てられた前記ユーザ識別子を抽出するステップと、
    分散された台帳からポーリングされたローカルに格納された許可データ構造に照会することによって、前記ユーザ装置の前記ユーザに割り当てられた前記ユーザ識別子が前記サービス装置にアクセスすることを認証されていることを検証するステップと、
    前記サービスを提供する、または提供させるステップと
    を含むことを特徴とする方法。
  15. 前記サービスを提供させるステップは、
    複数のサービス装置と通信するプロキシ装置によって、前記サービスを提供するように前記サービス装置に命令を送るステップと、
    前記サービス装置から前記プロキシ装置によって、前記サービスが提供されたことを示す応答を受け取るステップと
    を含むことを特徴とする請求項14に記載の方法。
  16. 前記分散された台帳に格納された許可データ構造に対する変更を受け取るステップであって、前記許可データ構造は前記サービス装置に固有である、該ステップと、
    前記受け取られた変更を使って、前記ローカルに格納された許可データ構造を更新するステップであって、前記更新された許可データ構造は、複数のユーザ識別子と、各ユーザ識別子が前記サービス装置にアクセスするのが可能であるかどうかのインジケーションとを含む、該ステップと
    をさらに含むことを特徴とする請求項14に記載の方法。
  17. 前記ユーザ識別子を検証するステップは、
    前記ローカルに格納された許可データ構造に照会するステップであって、前記許可データ構造は、複数のユーザ識別子と、各ユーザ識別子が前記サービス装置にアクセスすることを認証されているかどうかのインジケーションとを含む、該ステップと、
    前記抽出されたユーザ識別子を、前記ローカルに格納された許可データ構造に格納された前記複数のユーザ識別子と比較するステップと
    を含むことを特徴とする請求項14に記載の方法。
  18. 前記ユーザ識別子が前記サービス装置にアクセスすることを認証されていることを検証することに応答して、前記ユーザ装置との状態チャネルを開くステップであって、前記状態チャネルは、前記ユーザ装置が、前記サービス装置によって提供される追加のサービスを受け取ることを可能にする、該ステップをさらに含むことを特徴とする請求項14に記載の方法。
  19. 前記サービスについて前記状態チャネルを通じて前記ユーザ装置から複数の要求を受け取るステップと、
    前記複数の要求のそれぞれについて、前記サービスを前記ユーザ装置の前記ユーザに対して提供するステップと
    をさらに含むことを特徴とする請求項18に記載の方法。
  20. 前記状態チャネルの予め定められた期限切れが発生したことを検出するステップと、
    前記状態チャネルを通じて受け取られた前記複数の要求に対して提供されたサービスの総数を示す要求を提供するステップと
    をさらに含むことを特徴とする請求項19に記載の方法。
JP2019556552A 2016-12-30 2017-12-28 ブロックチェーン対応サービスプロバイダシステム Active JP7308756B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662441013P 2016-12-30 2016-12-30
US62/441,013 2016-12-30
PCT/US2017/068798 WO2018126059A1 (en) 2016-12-30 2017-12-28 Block-chain enabled service provider system

Publications (2)

Publication Number Publication Date
JP2020507869A true JP2020507869A (ja) 2020-03-12
JP7308756B2 JP7308756B2 (ja) 2023-07-14

Family

ID=62708569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019556552A Active JP7308756B2 (ja) 2016-12-30 2017-12-28 ブロックチェーン対応サービスプロバイダシステム

Country Status (6)

Country Link
US (3) US10652239B2 (ja)
EP (1) EP3563325A4 (ja)
JP (1) JP7308756B2 (ja)
KR (1) KR102470727B1 (ja)
CN (1) CN110800004A (ja)
WO (1) WO2018126059A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6895567B1 (ja) * 2020-07-14 2021-06-30 金子 賢一 有価証券管理装置、有価証券管理方法及び有価証券管理プログラム

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3002034A1 (en) 2015-10-14 2017-04-20 Cambridge Blockchain, LLC Systems and methods for managing digital identities
CA3040271A1 (en) 2016-10-11 2018-04-19 Whitefox Defense Technologies, Inc. Systems and methods for cyber-physical vehicle management, detection and control
US11134380B2 (en) 2016-10-11 2021-09-28 Whitefox Defense Technologies, Inc. Systems and methods for cyber-physical vehicle management, detection and control
CN110402449A (zh) * 2017-01-08 2019-11-01 币柏特寇基金会 用于交换及评估虚拟货币的方法
US11924322B2 (en) * 2017-05-16 2024-03-05 Arm Ltd. Blockchain for securing and/or managing IoT network-type infrastructure
US11256799B2 (en) * 2017-08-29 2022-02-22 Seagate Technology Llc Device lifecycle distributed ledger
EP3462667A1 (en) * 2017-09-27 2019-04-03 Banco Bilbao Vizcaya Argentaria, S.A. Blockchain based joint blind key escrow
US20190109877A1 (en) 2017-10-11 2019-04-11 Microsoft Technology Licensing, Llc Secure application metering
US11227457B2 (en) * 2017-12-02 2022-01-18 International Business Machines Corporation Blockchain managed storage
US20190228461A1 (en) * 2018-01-25 2019-07-25 Marius Keeley Domokos Omnichannel Commerce Platform with Integrated Mobile Shopping Platform, Online Shopping Platform, Commerce Data and Blockchain Layer
EP3522088B1 (en) * 2018-02-05 2022-03-16 Nokia Technologies Oy Securing blockchain access through a gateway
US20190325452A1 (en) * 2018-04-19 2019-10-24 Michael Farjami Computing Device and System with Biometric Verification, a Hotel Server, and an Exchange Server
US11159376B2 (en) * 2018-05-24 2021-10-26 International Business Machines Corporation System and method for network infrastructure analysis and convergence
US11475448B2 (en) * 2018-05-30 2022-10-18 Launch Tech Co., Ltd. Maintenance plant management method, system and data management server
US20190373051A1 (en) * 2018-06-05 2019-12-05 International Business Machines Corporation Task Scheduling System for Internet of Things (IoT) Devices
US11328347B2 (en) * 2018-06-28 2022-05-10 International Business Machines Corporation Rental asset processing for blockchain
US20200013053A1 (en) * 2018-07-06 2020-01-09 Chaitanya Tushar AMIN Controlling asset access based on payments via a distributed ledger
CN108985644B (zh) * 2018-07-27 2021-02-09 创新先进技术有限公司 权益分配方法及装置、电子设备
US11489816B2 (en) * 2018-07-31 2022-11-01 Ezblock Ltd. Blockchain joining for a limited processing capability device and device access security
CN109191108B (zh) * 2018-08-07 2022-03-11 广东蓝蜜蜂信息技术有限公司 基于区块链的二维码聚合支付系统及其工作方法
US11223655B2 (en) * 2018-08-13 2022-01-11 International Business Machines Corporation Semiconductor tool matching and manufacturing management in a blockchain
US20200058007A1 (en) * 2018-08-15 2020-02-20 NEC Laboratories Europe GmbH Data exchange platform using blockchain
JP7122906B2 (ja) * 2018-08-22 2022-08-22 ブロックチェーンロック株式会社 スマートロック装置及びプラットフォーム
US11558743B2 (en) 2018-09-05 2023-01-17 Whitefox Defense Technologies, Inc. Integrated secure device manager systems and methods for cyber-physical vehicles
US11245576B2 (en) * 2018-09-07 2022-02-08 Dell Products L.P. Blockchain-based configuration profile provisioning system
AU2019236667B2 (en) * 2018-09-28 2023-10-05 Infosys Limited System and method for decentralized identity management, authentication and authorization of applications
CN111045690B (zh) 2018-10-12 2023-04-28 阿里巴巴集团控股有限公司 区块链节点服务部署方法、装置、系统、计算设备及介质
US10949548B2 (en) * 2018-10-18 2021-03-16 Verizon Patent And Licensing Inc. Systems and methods for providing multi-node resiliency for blockchain peers
CN109409883B (zh) * 2018-10-19 2020-10-20 深圳和而泰数据资源与云技术有限公司 基于智能合约的协同处理方法、家电设备及服务器
EP3644550A1 (en) * 2018-10-25 2020-04-29 Siemens Healthcare GmbH Unlocking a medical device
US11308194B2 (en) 2018-10-31 2022-04-19 Seagate Technology Llc Monitoring device components using distributed ledger
WO2020092460A1 (en) 2018-11-01 2020-05-07 Carrier Corporation Integrate body cameras with hotel key box
JP7339335B2 (ja) * 2018-11-05 2023-09-05 ライン プラス コーポレーション DAppで要求する高いトランザクション処理量をブロックチェーンで効率的に処理するための方法およびシステム
KR102178583B1 (ko) * 2018-11-13 2020-11-13 주식회사 싸이투코드 디지털 컨텐츠 원본 확인키를 이용한 블록체인 방식의 계약 단말 및 방법
AU2018348322C1 (en) * 2018-11-27 2020-06-25 Advanced New Technologies Co., Ltd. Asymmetric key management in consortium blockchain networks
CN109522735B (zh) * 2018-11-29 2021-06-22 上海信联信息发展股份有限公司 一种基于智能合约的数据权限验证方法及装置
JP7243155B2 (ja) * 2018-12-04 2023-03-22 セイコーエプソン株式会社 提供装置及び処理システム
JP7243154B2 (ja) * 2018-12-04 2023-03-22 セイコーエプソン株式会社 提供装置及び処理システム
CN111292444A (zh) * 2018-12-06 2020-06-16 开利公司 经由区块链集成而作为可交易数字资产的房产
CN111369710A (zh) * 2018-12-06 2020-07-03 开利公司 由区块链支持的智能锁系统
US11102204B1 (en) * 2018-12-11 2021-08-24 Amazon Technologies, Inc. Agreement and enforcement of rules for a shared resource
US11720545B2 (en) 2018-12-19 2023-08-08 International Business Machines Corporation Optimization of chaincode statements
US11348101B2 (en) * 2018-12-19 2022-05-31 International Business Machines Corporation Post-settlement processes
US10637644B1 (en) * 2018-12-21 2020-04-28 Capital One Services, Llc System and method for authorizing transactions in an authorized member network
EP3571653A4 (en) 2018-12-28 2020-04-08 Alibaba Group Holding Limited EXECUTING PARALLEL TRANSACTIONS IN A BLOCK CHAIN NETWORK
JP7012730B2 (ja) * 2018-12-28 2022-01-28 アドバンスド ニュー テクノロジーズ カンパニー リミテッド スマートコントラクトホワイトリストに基づくブロックチェーンネットワークにおけるトランザクションの並列実行
CN110366729A (zh) 2018-12-28 2019-10-22 阿里巴巴集团控股有限公司 智能合约白名单
US11042147B2 (en) * 2019-01-15 2021-06-22 Fisher-Rosemount Systems, Inc. Machine-to-machine transactions using distributed ledgers in process control systems
US11960473B2 (en) 2019-01-15 2024-04-16 Fisher-Rosemount Systems, Inc. Distributed ledgers in process control systems
JP2020113209A (ja) * 2019-01-16 2020-07-27 株式会社Lcnem 情報処理システム
CA3126956A1 (en) * 2019-01-18 2020-07-23 Zeu Technologies, Inc. A method for generating random numbers in blockchain smart contracts
US20220123947A1 (en) * 2019-01-18 2022-04-21 Zeu Technologies, Inc. A Method for Generating Random Numbers in Blockchain Smart Contracts
US11270238B2 (en) * 2019-01-28 2022-03-08 Kyndryl, Inc. Utilizing blockchain technology with mobile robotic machines
US11613268B2 (en) * 2019-02-26 2023-03-28 International Business Machines Corporation Operationally customizable smart vehicle access
US11244383B2 (en) * 2019-02-27 2022-02-08 Rentberry, Inc. Systems and methods for managing rental reservations with blockchain
EP3586475B1 (en) * 2019-03-04 2022-01-12 Advanced New Technologies Co., Ltd. Property management system utilizing a blockchain network
CN110177079B (zh) * 2019-04-17 2021-10-15 北京百度网讯科技有限公司 智能合约的调用系统及调用方法
CN110210910B (zh) * 2019-06-11 2020-09-08 风蝶科技文化(深圳)有限公司 基于区块链网络的影片管理方法及计算机终端
US11151621B2 (en) * 2019-06-25 2021-10-19 Verizon Patent And Licensing Inc. System and method for carrier settlement using blockchain
EP3794770B1 (en) 2019-08-01 2021-10-06 Advanced New Technologies Co., Ltd. Shared blockchain data storage based on error correction code
WO2021017008A1 (en) * 2019-08-01 2021-02-04 Advanced New Technologies Co., Ltd. Shared blockchain data storage based on error correction code
US20230010786A1 (en) * 2019-12-03 2023-01-12 Sony Group Corporation Method, computer program and data sharing system for sharing user-specific data of a user
US11095431B2 (en) * 2019-12-13 2021-08-17 DLT Global, Inc. Blockchain transaction manager
WO2021117406A1 (ja) * 2019-12-13 2021-06-17 a42株式会社 スマートコントラクトに基づいた利用権情報処理装置、利用権情報処理システム、および利用権情報処理方法
CN110995751B (zh) * 2019-12-18 2022-02-22 北京择天众康科技有限公司 一种基于区块链的大数据智慧医疗养老服务方法及其系统
CN111177182B (zh) * 2019-12-19 2023-06-30 达闼机器人股份有限公司 数据查询方法和装置、存储介质和电子设备
US11765138B2 (en) * 2020-01-15 2023-09-19 Connor Cornelius User personal information communication system and method for plurality of platforms
US11682095B2 (en) * 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
JP7102459B2 (ja) * 2020-02-28 2022-07-19 株式会社リコー 提供者端末、ネットワークシステム、サービス提供方法およびプログラム
CN112954073B (zh) * 2020-03-03 2022-09-16 支付宝(杭州)信息技术有限公司 服务提供方法、装置、设备及系统
DE102020208342A1 (de) * 2020-07-03 2022-01-05 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung zum Ausführen von Transaktionen und Betriebsverfahren hierfür
US11665002B2 (en) * 2020-12-11 2023-05-30 International Business Machines Corporation Authenticated elevated access request
CN112597512B (zh) * 2020-12-21 2023-03-24 杭州趣链科技有限公司 基于区块链的温度数据管控方法、装置及存储介质
KR102446967B1 (ko) * 2021-02-19 2022-09-23 부경대학교 산학협력단 퍼블릭 블록체인에서의 개인 간 데이터 거래 및 공유를 지원하는 액세스 제어 시스템 및 방법
GB2605649A (en) * 2021-04-09 2022-10-12 Vodafone Group Services Ltd Blockchain key generation
CN113329015B (zh) * 2021-05-28 2022-08-16 中邮信息科技(北京)有限公司 一种区块链的节点的代理方法、装置、介质及电子设备
US20230018133A1 (en) * 2021-07-16 2023-01-19 Iot-Eq, Llc Devices, systems and methods for autonomously monitoring customer use of equipment & billing via a blockchain network
US11962594B2 (en) 2021-11-24 2024-04-16 Schlage Lock Company Llc Blockchain for access control
JP7229410B1 (ja) 2022-06-06 2023-02-27 株式会社野村総合研究所 商品取引支援装置および商品取引支援方法
US11902435B1 (en) 2022-07-20 2024-02-13 CUBE Security Inc. Access control interfaces for blockchains
WO2024019836A1 (en) * 2022-07-20 2024-01-25 CUBE Security Inc. Access control interfaces for blockchains

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343351B1 (en) * 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
KR100690758B1 (ko) * 2005-04-28 2007-03-09 엘지전자 주식회사 휴대단말기의 선불 통신요금 결재장치 및 방법
US9032204B2 (en) * 2011-01-07 2015-05-12 Mastercard International Incorporated Methods and systems for providing a signed digital certificate in real time
US9876775B2 (en) 2012-11-09 2018-01-23 Ent Technologies, Inc. Generalized entity network translation (GENT)
EP2992692B1 (en) * 2013-05-04 2018-08-29 DECHARMS, Christopher Mobile security technology
US20150227890A1 (en) * 2014-02-07 2015-08-13 Kristin Kaye Bednarek Communications system and smart device apps supporting segmented order distributed distribution system
WO2015148725A2 (en) 2014-03-25 2015-10-01 Mark Stephen Meadows Systems and methods for executing cryptographically secure transactions using voice and natural language processing
US9332018B2 (en) * 2014-04-03 2016-05-03 Prote. Us Converged Systems Corporation Method and system for secure authentication
WO2015161690A1 (zh) * 2014-04-25 2015-10-29 天地融科技股份有限公司 数据安全交互方法和系统
WO2016053760A1 (en) 2014-09-30 2016-04-07 Raistone, Inc. Systems and methods for transferring digital assets using a de-centralized exchange
CA2980002A1 (en) * 2015-03-20 2016-09-29 Rivetz Corp. Automated attestation of device integrity using the block chain
EP3292484B1 (en) * 2015-05-05 2021-07-07 Ping Identity Corporation Identity management service using a block chain
US11354676B2 (en) * 2015-06-04 2022-06-07 Chronicled, Inc. Open registry for identity of things
US9787478B2 (en) * 2015-06-10 2017-10-10 Qualcomm Incorporated Service provider certificate management
US10366204B2 (en) * 2015-08-03 2019-07-30 Change Healthcare Holdings, Llc System and method for decentralized autonomous healthcare economy platform
US11915332B2 (en) * 2015-10-02 2024-02-27 Loyyal Holdings Incorporated System and process for tokenization and management of liability
US20170116693A1 (en) * 2015-10-27 2017-04-27 Verimatrix, Inc. Systems and Methods for Decentralizing Commerce and Rights Management for Digital Assets Using a Blockchain Rights Ledger
US20170147808A1 (en) * 2015-11-19 2017-05-25 International Business Machines Corporation Tokens for multi-tenant transaction database identity, attribute and reputation management
WO2017112019A1 (en) * 2015-12-22 2017-06-29 Thomson Reuters Global Resources Methods and systems for identity creation, verification and management
US9935772B1 (en) * 2016-02-19 2018-04-03 Vijay K Madisetti Methods and systems for operating secure digital management aware applications
US10318938B2 (en) * 2016-02-22 2019-06-11 Bank Of America Corporation System for routing of process authorization and settlement to a user in process data network based on specified parameters
US10720232B2 (en) * 2016-04-13 2020-07-21 Accenture Global Solutions Limited Distributed healthcare records management
US20180089760A1 (en) * 2016-09-26 2018-03-29 Shapeshift Ag System and method of providing a multi-asset rebalancing mechanism

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Slock.it DAO demo at Devcon1: IoT +Blockchain", YOUTUBE [ONLINE] [VIDEO], JPN6021037978, 14 November 2015 (2015-11-14), pages 0 - 26, ISSN: 0004608782 *
ALLISON, IAN, ETHEREUM-BASED SLOCK.IT REVEALS FIRST EVERLOCK OPENED WITH MONEY [ONLINE], JPN6021037975, 17 December 2015 (2015-12-17), ISSN: 0004608784 *
UPDATE TO NEW SAMPLEOFFER [ONLINE], JPN6021037976, 9 March 2016 (2016-03-09), ISSN: 0004608783 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6895567B1 (ja) * 2020-07-14 2021-06-30 金子 賢一 有価証券管理装置、有価証券管理方法及び有価証券管理プログラム
JP2022017726A (ja) * 2020-07-14 2022-01-26 金子 賢一 有価証券管理装置、有価証券管理方法及び有価証券管理プログラム

Also Published As

Publication number Publication date
US20180191714A1 (en) 2018-07-05
US20200314095A1 (en) 2020-10-01
KR20190119581A (ko) 2019-10-22
WO2018126059A1 (en) 2018-07-05
JP7308756B2 (ja) 2023-07-14
EP3563325A1 (en) 2019-11-06
CN110800004A (zh) 2020-02-14
KR102470727B1 (ko) 2022-11-25
US20220286453A1 (en) 2022-09-08
US11316850B2 (en) 2022-04-26
US10652239B2 (en) 2020-05-12
EP3563325A4 (en) 2020-09-02

Similar Documents

Publication Publication Date Title
JP7308756B2 (ja) ブロックチェーン対応サービスプロバイダシステム
US10939295B1 (en) Secure mobile initiated authentications to web-services
US20220394468A1 (en) Secure mobile initiated authentication
JP7093340B2 (ja) ブロックチェーンにより実現される方法及びシステム
KR102504051B1 (ko) 두 장치 간의 신뢰 확립 기법
CN104969201B (zh) 用于调用特权操作的安全接口
CN106471783B (zh) 经由网关的企业系统认证和授权
US9654922B2 (en) Geo-fencing cryptographic key material
US9647998B2 (en) Geo-fencing cryptographic key material
US9680827B2 (en) Geo-fencing cryptographic key material
US9531533B2 (en) Rule-based validity of cryptographic key material
CN110300972B (zh) 匿名证明
US10382213B1 (en) Certificate registration
WO2021127577A1 (en) Secure mobile initiated authentications to web-services
JP2014099030A (ja) デバイス装置、制御方法、およびそのプログラム。
US10678906B1 (en) Multi-service and multi-protocol credential provider
US10810295B2 (en) Unified authentication management system
EP2974117A2 (en) Service relationship and communication management
US10148629B1 (en) User-friendly multifactor authentication
JP2010086175A (ja) リモートアクセス管理システム及び方法
US9344427B1 (en) Facilitating multiple authentications
JP2023539168A (ja) 自己認証識別子及びそのためのアプリケーション
US11943215B1 (en) Object authentication
AU2021101231A4 (en) A block-chain enabled service provider system
AU2021101316A4 (en) A system for service providing using block-chain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230704

R150 Certificate of patent or registration of utility model

Ref document number: 7308756

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150