JP6936259B2 - ブロックチェーンシステムのための暗号化アプリケーション - Google Patents

ブロックチェーンシステムのための暗号化アプリケーション Download PDF

Info

Publication number
JP6936259B2
JP6936259B2 JP2018563812A JP2018563812A JP6936259B2 JP 6936259 B2 JP6936259 B2 JP 6936259B2 JP 2018563812 A JP2018563812 A JP 2018563812A JP 2018563812 A JP2018563812 A JP 2018563812A JP 6936259 B2 JP6936259 B2 JP 6936259B2
Authority
JP
Japan
Prior art keywords
cryptolet
contract
crypto
code
blockchain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018563812A
Other languages
English (en)
Other versions
JP2019524018A5 (ja
JP2019524018A (ja
Inventor
グレイ,ジョン・マーリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2019524018A publication Critical patent/JP2019524018A/ja
Publication of JP2019524018A5 publication Critical patent/JP2019524018A5/ja
Application granted granted Critical
Publication of JP6936259B2 publication Critical patent/JP6936259B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • 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
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Retry When Errors Occur (AREA)

Description

[0001]ビットコインシステムは、金融機関を経由することなく電子マネーを一方の当事者から他方の当事者へ直接的に送金することを可能にするために開発されたものであり、このことは「ビットコイン:ピアツーピア電子マネーシステム」と題されたサトシ・ナカモトによるホワイトペーパーに記載されている。ビットコイン(例えば、電子コイン)は、一方の当事者から他方の当事者に所有権を移転する一連のトランザクションによって表される。ビットコインの所有権を移転するために、新しいトランザクションを生成し、ブロック内のトランザクションのスタックに追加する。新しい所有者の公開鍵を含む新しいトランザクションは、その所有者の秘密鍵で所有者がデジタル署名して、新たな所有者の公開鍵が表す新しい所有者に所有権を移転する。ブロックがいっぱいになると、そのブロックはブロック内のすべてのトランザクション識別子のハッシュダイジェストであるブロックヘッダーで「覆う(cap)」。ブロックヘッダーをチェーン内の次のブロックに最初のトランザクションとして記録し、「ブロックチェーン」と呼ばれる数学的な階層を生成する。現在の所有者を検証するため、トランザクションのブロックチェーンに従い、最初のトランザクションから最後のトランザクションまでの各トランザクションを検証することができる。新しい所有者は、ビットコインを送金したトランザクションの公開鍵と一致する秘密鍵のみを必要とする。ブロックチェーンは、セキュリティ識別子(例えば、公開鍵)によって表されるエンティティ内で、所有権の数学的な証明を行い、このセキュリティ識別子は、ビットコインシステムの場合、擬似匿名(pseudo-anonymous)となる。
[0002]ビットコインの前の所有者がビットコインを再び使う(すなわち、同じビットコインの所有権を2人の当事者に移転する)ことのないように、ビットコインシステムは、トランザクションの分散型台帳を保持する。分散型台帳を用いて、ビットコインのすべてのトランザクションの台帳を、ブロックチェーン・ネットワークの複数のノード(すなわち、コンピュータ)に冗長的に格納する。各ノードの台帳はブロックチェーンとして格納される。ブロックチェーンでは、ノードがトランザクションを受信した順序で格納する。ブロックチェーン・ネットワークの各ノードには、ブロックチェーン全体の完全な複製がある。また、ビットコインシステムは、ノードがトランザクションを異なる順序で受信しても、各ノードが同一のブロックチェーンを確実に格納する技術を実装する。ノードに格納された台帳のトランザクションが正しいことを検証するために、ブロックチェーン内の最も古いブロックから最も新しいブロックにアクセスして、ブロックに関する新しいハッシュを生成し、その新しいハッシュを、ブロックが作成されたときに生成したハッシュと比較することができる。これらのハッシュが同じ場合、ブロック内のトランザクションを検証する。また、ビットコインシステムは、ブロックが作成されたときにそのブロックに付加するノンスを生成するために計算コストの高い手法を使うことによって、トランザクションを変更することやブロックチェーンを再生成することを確実に実行不可能にする技術を実装する。
[0003]ビットコインシステムは大きな成功を収めているものの、ビットコインシステムはビットコイン又は他の暗号通貨(cryptocurrency)のトランザクションに限定されている。現在は、車の売却、金融派生商品の売却、株式の売却、コントラクトの支払いなどのどんなタイプのトランザクションもサポートするようブロックチェーンを使う取り組みが進んでいる。このようなトランザクションはアイデンティティトークン(identity token)を使用しており、このアイデンティティトークンは、デジタルベアラー債(digital bearer bonds)とも呼ばれ、所有可能なもの、又は他のものを所有可能なものを一意に識別する。物的資産又はデジタル資産に関するアイデンティティトークンは、これら資産を一意に識別する一方向暗号化ハッシュ(a cryptographic one-way hash)の情報を使用して生成される。また、トークンには、追加の公開鍵/秘密鍵のペアを使用する所有者がいる。所有者の公開鍵を、トークン所有者のID(identity)として設定し、トークンに対しアクションを実行すると、所有者の秘密鍵が生成するシグネチャを与えることにより、所有権証明書を定めると共に、トークンの所有者としてリストされた公開鍵について所有権証明書を妥当性確認する。例えば、ユーザ名、社会保障番号、及びバイオメトリック(例えば、指紋)の組み合わせを使用して、人を一意に識別することができる。例えば、製品の製造業者の名前及びシリアル番号を使用して、製品(例えば、冷蔵庫)を一意に識別することができる。アイデンティティトークンのそれぞれは、このような組み合わせの一方向暗号化ハッシュである。エンティティ(例えば、人又は会社)のアイデンティティトークンは、公開鍵/秘密鍵のペアの公開鍵であってもよく、このとき秘密鍵はエンティティによって保持されている。アイデンティティトークンは、人、機関、商品、コントラクト、コンピュータ・コード、株式、デリバティブ、債券、保険、ローン、書類などを識別するために使用できる。アイデンティティトークンを使用して、資産のコレクションを識別することもできる。コレクションのアイデンティティトークンは、コレクション内の資産のデジタルトークンの一方向暗号化ハッシュでもよい。ブロックチェーン内で資産のアイデンティティトークンを作成すると、その資産の出所が定められ、該アイデンティティトークンはブロックチェーンに格納された資産の(購入、販売、保険などの)トランザクションで使用され、トランザクションの完全なオーディット・トレール(audit trail)を生成する。
[0004]単純なトランザクションをブロックチェーンに記録するためには、そのトランザクションに関わる各当事者及び各資産には、デジタルトークンによって識別される口座が必要となる。たとえば、ある人が別の人に車を譲渡したい場合、現在の車の所有者と、次の車の所有者は口座を作成するとともに、現在の所有者は、車両識別番号で一意に識別される口座を作成する。車の口座は現在の所有者を識別する。現在の所有者は、その車の口座に対するトランザクションを生成する。このトランザクションは、トランザクションが所有権の移転のための移転であることを示し、現在の所有者及び次の所有者の公開鍵(すなわち、アイデンティティトークン)を示し、その車のアイデンティティトークンを示す。トランザクションを、現在の所有者の秘密鍵で署名する。すると、そのトランザクションは、次の所有者が現在の所有者であるという証拠になる。
[0005]より複雑なトランザクションを可能にするために、いくつかのシステムでは「スマート・コントラクト」を使用する。スマート・コントラクトとは、コントラクトためのトランザクションを実装するコンピュータ・コードである。該コンピュータ・コードは、ブロックチェーンにおけるトランザクションの記録をサポートするセキュアなプラットフォーム(例えば、イーサリアム・プラットフォーム)で実行されてもよい。さらに、スマート・コントラクト自体は、コンピュータ・コードのハッシュ(すなわちアイデンティティトークン)であるアイデンティティトークンを使用して、ブロックチェーン内でトランザクションとして記録され、これにより実行するコンピュータ・コードを認証することができる。デプロイされると、スマート・コントラクトのコンストラクタはスマート・コントラクトとその状態の初期化を実行する。スマート・コントラクトの状態は、(たとえば、マークル木を介して)ブロックチェーン内に永続的に格納される。トランザクションがスマート・コントラクトに記録されると、メッセージをスマート・コントラクトに送信し、スマート・コントラクトのコンピュータ・コードは、(たとえば、口座の残高から一定額を引き落とす)トランザクションを行うよう実行する。コンピュータ・コードは、トランザクションがブロックチェーンに記録される前に、コントラクトのすべての条項が遵守されていることを示す。例えば、スマート・コントラクトは資産の売却をサポートしてもよい。車を販売する際のスマート・コントラクトへの入力データは、売り手、買い手、及び米ドルでの車の販売価格でもよい。コンピュータ・コードは、売り手が自動車の現在の所有者であることや、買い手が自分の口座に十分な資金を持っていることを示す。次に、コンピュータ・コードは、自動車の所有権を買い手に移転するトランザクションと、販売価格を買い手の口座から売り手の口座に移転するトランザクションを記録する。売り手の口座が米ドルで、買い手の口座がカナダドルの場合、コンピュータ・コードは通貨両替レートを取得し、いくらのカナダドルが売り手の口座から借方に振り込まれるべきかを決定し、両替レートを記録してもよい。いずれかのトランザクションが成功しない場合、どちらのトランザクションも記録されない。
[0006]スマート・コントラクトにメッセージを送信し、トランザクションを記録すると、ブロックチェーンの複製を維持する各ノードにメッセージを送信する。各ノードは、スマート・コントラクトのコンピュータ・コードを実行して、トランザクション処理を行う。例えば、100のノードがそれぞれブロックチェーンの複製を維持する場合、コンピュータ・コードは100のノードの各々で実行される。ノードがコンピュータ・コードの実行を完了すると、トランザクションの結果がブロックチェーンに記録される。ノードは、コンセンサス・アルゴリズムを使用して、保持するトランザクションと捨てるトランザクションとを決定する。各ノードでコンピュータ・コードを実行することは、ブロックチェーンの信頼性を保証するのに役立つが、コンピュータ・コードのこのような重複した実行をサポートするためには多くのコンピュータリソースが必要になる。
[0007]資産の売却のようなスマート・コントラクトは、しばしば、イベント又は、通貨両替レート、株価、金利などの時間ベースの情報が必要となる。このような情報の必要性に対処するために、必要とする情報を含むトランザクションを記録する「オラクル(oracle)」が開発されている。たとえば、オラクルは、毎日特定の時間に通貨両替レートを記載するトランザクションをブロックチェーンに記録することができる。スマート・コントラクトに対するコンピュータ・コードは、ブロックチェーンを介して、必要とされる両替レートを検索することができる。しかし、現在のブロックチェーンプラットフォームは、オラクルによって追加された情報が信頼できるものであると保証する方法を提供していない。
概要
[0008]ブロックチェーンに関連するスマート・コントラクトの挙動(behavior)を、ブロックチェーンの一部ではないコードにデリゲート(delegate)する方法を提供する。システムは、仮想マシンによるスマート・コントラクトの実行を命令する。スマート・コントラクトの実行中、スマート・コントラクトは、クリプトデリゲート(cryptodelegate)を介して、要求をクリプトレット・コンテナ・サービスに送信し、認証済みホスト(attested host)で実行するクリプトレット(cryptlet)に、挙動をデリゲートする。クリプトレット・コンテナ・サービスの実行中、クリプトレット・コンテナ・サービスはホストを識別して、クリプトレット・コンテナ内のクリプトレットのコードを実行する。クリプトレット・コンテナ・サービスは、該クリプトレットのコードを実行するよう識別されたホストに命令し、デリゲート挙動を実行する。デリゲート挙動を実行した後、クリプトレット・コンテナ・サービスは、クリプトレットから要求された挙動に対する応答を受信する。クリプトレット・コンテナ・サービスは、クリプトデリゲートが妥当性確認したメッセージとして応答をスマート・コントラクトへ送信する。クリプトデリゲートとクリプトレット・コンテナ・サービスは、スマート・コントラクトとクリプトレットの間の安全な通信を提供する。
図1は、スマート・コントラクトがクリプトレットのサービスを要求する例を示すブロック図である。 図2は、ある種の実施形態における、クリプトデリゲートとクリプトレットとの間の接続を示すブロック図である。 図3は、ある種の実施形態にける、クリプトレットを使用するスマート・コントラクトの初期化の概要を示すフロー図である。 図4A、図4B、及び図4Cは、ある種の実施形態における、イベント・ユース・ケース、又はユーティリティ・クリプトレットをサポートするCMPのアーキテクチャを示すブロック図である。 図4A、図4B、及び図4Cは、ある種の実施形態における、イベント・ユース・ケース、又はユーティリティ・クリプトレットをサポートするCMPのアーキテクチャを示すブロック図である。 図4A、図4B、及び図4Cは、ある種の実施形態における、イベント・ユース・ケース、又はユーティリティ・クリプトレットをサポートするCMPのアーキテクチャを示すブロック図である。 図5A、図5B、図5C、及び図5Dは、ある種の実施形態における、制御ユース・ケース、コントラクト・クリプトレット、及びエンクレーブ(enclave)の使用をサポートするCMPのアーキテクチャを示すブロック図である。 図5A、図5B、図5C、及び図5Dは、ある種の実施形態における、制御ユース・ケース、コントラクト・クリプトレット、及びエンクレーブ(enclave)の使用をサポートするCMPのアーキテクチャを示すブロック図である。 図5A、図5B、図5C、及び図5Dは、ある種の実施形態における、制御ユース・ケース、コントラクト・クリプトレット、及びエンクレーブ(enclave)の使用をサポートするCMPのアーキテクチャを示すブロック図である。 図5A、図5B、図5C、及び図5Dは、ある種の実施形態における、制御ユース・ケース、コントラクト・クリプトレット、及びエンクレーブ(enclave)の使用をサポートするCMPのアーキテクチャを示すブロック図である。
詳細な説明
[0014]スマート・コントラクト及び分散型台帳(すなわちブロックチェーン)を組み合わせることで、メンバーと呼ばれるエンティティ(例えば、銀行)のコンソーシアムに対し、メンバーと他の当事者との間のトランザクションを記録する機会を提供する。分散型台帳には、暗号学的にオーセンティック(authentic)であること、共有されること、分散されること、及び台帳であることなど、コンソーシアムのためのいくつかの利点がある。分散型台帳は、公開鍵と秘密鍵を使用することで、トランザクションが不正行為による影響を受けず、共有する真実を証明(establish)することを保証するという意味で、暗号学的にオーセンティックである。分散型台帳を配布するということは、台帳の複製が多数存在することを意味する。コンソーシアム内のメンバーの数が増えるにつれて、分散型台帳の価値が高まる。これは、メンバーに関与する多くのトランザクションを分散型台帳に記録することができ、メンバーは分散型台帳を保持するためのコストを共有できるからである。分配型台帳は「台帳」であるため、変更することのできないトランザクションの記録(immutable record)として機能し、定められ要件に準拠させるために使用することができる。メンバーになるためにはエンティティは既存のメンバーからの許可が必要であるという意味で、このようなコンソーシアムの分散型台帳はプライベートなものである。
[0015]スマート・コントラクトは、事実上全てのタイプのコントラクトを表すために使用できるので、様々な異なるコンソーシアムがスマート・コントラクトを使用することができる。コンソーシアムのメンバーは、トランザクションを記録するために使用するスマート・コントラクトの標準セットに同意することができる。例えば、銀行のコンソーシアムは、調整可能な金利での貸付に関するスマート・コントラクトに同意することができる。このようなスマート・コントラクトは、貸し付け条件を実施するようプログラムすることができ、例えば、債権者の口座に借方記入することや、適切で調整可能な金利を決定し、貸付の条件に基づいて変動する支払額を計算することによって債権者の口座に振り込みすることができる。スマート・コントラクトは、コンソーシアムに対し(紙のコントラクトなど)既存のビジネスモデルをスマート・コントラクトに置き換える機会を与えるので、上述した分散型台帳の利点を有することになる。
[0016]しかしながら、このようなコンソーシアムを真に有用なものにするには、コンソーシアムは、スマート・コントラクト及び分散型台帳だけで提供できるサービスよりも、より多くのサービスを必要とする。たとえば、コンソーシアムのメンバーは、分散型台帳のデータにアクセスするために、既存のシステム(たとえば会計システムや報告システム)を必要とする場合があり、この既存のシステムは、分散型台帳の管理と運用を支援するシステム、分散型台帳におけるデータのプライバシー(契約条件など)を保証することを支援するシステム、識別子とキーの管理をサポートするシステム、(ビジネス・インテリジェンスや機械学習などの)分析をサポートするシステムなどである。さらに、コントラクトの当事者であれば、各ノードでコントラクトを重複して履行するロジックを実行することにより生じるコストを避けたいであろう。
[0017]コンソーシアムのニーズを満たすために、暗号化ミドルウェア・プラットフォーム(「CMP」)が提供されており、この暗号化ミドルウェアプラットフォームは、スマート・コントラクトがコンピュータプログラムと相互作用することを可能にし、追加で必要とされるコンソーシアムのサービスを提供し、またコントラクトを履行するロジックを重複して実行することを回避するのに役立つ。このコンピュータプログラムは、スマート・コントラクトとは異なり、分散型台帳に記録されていない点でブロックチェーンの外にあるといえる。これらのプログラムは、暗号化アプレット(cryptographic applet)であり、本明細書では「クリプトレット(cryptlet)」と呼ぶ。
[0018]ある種の実施形態では、CMPは、ブロックチェーンにインストールされたコントラクトに関連する挙動を、非ブロックチェーンアプリケーションにデリゲートする。CMPは、暗号化デリゲート(「クリプトデリゲート(cryptodelegate)」)及びクリプトレット・コンテナ・サービスを提供する。クリプトデリゲートは、コントラクトのコードを実行する仮想マシンとインターフェースして、仮想マシンの外で実行しているクリプトレットへのアクセスを提供する。クリプトデリゲートは、仮想マシンから、クリプトレットのアイデンティティトークンと、コントラクトのコードが定める、クリプトレットが実行するよう要求された挙動の指示(indication)とを受信する。例えば、要求された挙動は、ある株式の現在の価格を提供してもよい。クリプトデリゲートは、クリプトレット・コンテナ・サービスとインターフェースして、仮想マシンから、クリプトレットを実行すべきホスト(例えば、認証済みコンピュータ、及びクリプトレット・コンテナ)への安全な通信チャネルを提供する。クリプトレット・コンテナ・サービスは、該サービスがサポートするクリプトレットの登録に関する情報を格納する。この登録に関する情報は、例えば、クリプトレットのアイデンティティトークンからクリプトレットを実行するホストへのマッピングや、クリプトレットの実行に関する様々なポリシー(例えば、プロセス分離)を含むことができる。クリプトレット・コンテナ・サービスは、要求されたサービスを提供するようクリプトレットに指示し、及びクリプトデリゲート及びブロックチェーンへの応答を行うようクリプトレットに指示する。
[0019]図1は、スマート・コントラクトがクリプトレットのサービスを要求する例を示すブロック図である。この図は、コンソーシアムのメンバーである銀行101、ヘッジファンド102、及び保険会社103を示しており、コンソーシアムの分散型台帳は、ノード110に格納され、コンソーシアムのスマート・コントラクトは、仮想マシン120(例えば、エテリアム仮想マシン)が実行する。このメンバーは、スマート・コントラクトが示すコントラクトの当事者であり、このスマート・コントラクトでは、特定の両替レートを使用する計算を毎日16時GMTに実行するとする。コントラクトの一部として、当事者は、認証済みホスト130上で動作するクリプトレット131が提供する両替レートを、スマート・コントラクトが使用することに同意する。ホストは、信頼できる環境にあるクリプトレットを確実に実行するという点で認証される。スマート・コントラクトに含めるため、及びランタイム時にクリプトレットを認証する際に使用するため、クリプトレットのコンピュータ・コードのための識別鍵(例えば、公開鍵)を生成する。スマート・コントラクトは、認証済みホスト及びクリプトレットへの参照を含む。スマート・コントラクトがブロックチェーンにインストールされると、そのコンストラクタは、毎日16時GMTの「ウェイクアップ」イベントを受信し、ウェイクアップしたときに受信したい値を受信するよう実行及び登録する。ウェイクアップ・イベントは、ウェイクアップ・メッセージをスマート・コントラクトに送信する専用のクリプトレットが生成してもよい。ウェイクアップすると、クリプトレットが提供する認証済みの値を使用して、仮想マシンがスマート・コントラクトを実行する。安全なチャネルはクリプトデリゲートが妥当性確認し、このクリプトデリゲートは、仮想マシンとインターフェースするアダプタであり、参照されたクリプトレットだけが実行のためにこのイベントとデータとを提供できることを保証する。
[0020]図2は、ある種の実施形態における、クリプトデリゲートとクリプトレットとの関係を示すブロック図である。仮想マシン210は、クリプトデリゲート211を含み、スマート・コントラクト212を実行している。クリプトデリゲートは、「クリプトレット・コンテナ・サービス220」とインターフェースする。「クリプトレットコンテナサービス」(又はクリプトレット・コンテナ・サービス)は、クリプトレットを検索し、クリプトレットのポリシーを実施し、シグネチャを検査等するサービスを提供する。クリプトデリゲートは、クリプトレット・コンテナ・サービスを使用して、認証済みコンピュータがホストするクリプトレット・コンテナ230内のクリプトレット231との安全な接続240を確立する。クリプトレット・コンテナは、クリプトレットと、そのクリプトレットのランタイム環境(例えば、オペレーティング・システム)の両方を含む。クリプトレット・コンテナは、認証済みホストの仮想マシンにロードされ、この仮想マシンにより実行されるようにしてもよい。
[0021]図3は、ある種の実施形態における、クリプトレットを使用するスマート・コントラクトを初期化する概要を示すフロー図である。スマート・コントラクト仮想マシン310は、スマート・コントラクトの初期化関数320及びクリプトデリゲート330を実行する。クリプトレット・コンテナ・サービス(「CCS」)のホスト340は、クリプトレット・コンテナ350を実行する。クリプトレット・コンテナ360は、クリプトレット370を実行する。スマート・コントラクトの初期化関数は、例えば、クリプトレット・コード及び設定情報をクリプトデリゲートに送信することによってクリプトレットを登録する(321)。クリプトデリゲートは、クリプトレット・コンテナ・サービスと安全な接続を確立し(331)、登録要求をクリプトレット・コンテナ・サービスに転送する(332)。クリプトレット・コンテナ・サービスは、クリプトレット・コードのハッシュを生成して検査する(351)。次に、クリプトレット・コンテナ・サービスは、クリプトレットを、クリプトレット登録ブロックチェーンに登録する(352)。次に、スマート・コントラクトの初期化関数は、クリプトデリゲートを介してクリプトレットに要求を送信することによって、クリプトレットに関する通知(例えば、商品価格の変動)を受信するために申込みをする(322)。この要求は、スマート・コントラクトのコールバック関数の識別子を含んでもよい。クリプトデリゲートは、クリプトレット・コンテナ・サービスへ申込み要求(subscription request)を転送する(333)。クリプトレット・コンテナ・サービスは、この要求をクリプトレットに転送する(353)。クリプトレット・コンテナ・サービスは、クリプトレットを含むクリプトレット・コンテナのインスタンス化を指示してもよい。この要求を受信すると、クリプトレットはその要求を記録する(371)。最後に、クリプレットは、この申込みに基づいてイベント(例えば、商品価格の変動)をスマート・コントラクトに発行するよう決定してもよい。このような場合、クリプトレットは、クリプトレット・コンテナ・サービスを介して、クリプトデリゲートが妥当性確認するブロックチェーンへイベントを送信すると共に、イベントを処理するためスマート・コントラクトのコールバック関数を呼び出しするようにする。
[0022]ある種の実施形態では、CMPは、クラウドベースのサービスとして実装されてもよい。様々なコンソーシアムがクラウドベースのサービスと相互作用して、スマート・コントラクトや各コンソーシアムのメンバーだけが使用可能なクリプトレットを提供することができる。クラウドベースのサービスは、コンソーシアムの登録、及びそのメンバーの登録をサポートすることができる。クラウドベースのサービスは、認証サービス、ブロックチェーン管理サービス、メンバーのスマート・コントラクトをホスティングする仮想マシン、クリプトデリゲート・サービス、クリプトレット・サービス、セキュリティ・サービス、一般的なクラウドサービスなどを提供することができる。コンソーシアムに対しスマート・コントラクトを実行すべきときはいつでも、クラウドベースのサービスは、スマート・コントラクトを安全に実行するために、並びにクリプトデリゲート及びクリプトレット・コンテナ・サービスを介してクリプトレットと通信するために、仮想マシンをインスタンス化することができる。
[0023]ある種の実施形態では、イーサリアム・プラットフォームのEIP−7 DELEGATECALL (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-7.md)と似た方法で、クリプトデリゲートを呼び出すことができる。あるいは、クリプトレットの呼び出しをサポートするために仮想マシンの特別な命令を定義してもよい。しかし、その命令は、別のスマート・コントラクトに対する通常の(例えばガスの観点からの)呼び出しとして機能する代わりに、クリプトレットのブロックチェーン外にあるコンピュータ・コードへの費用のかからない呼び出しとなる。クリプトレットはどんな言語で記述してもよく、クリプトレットは安全で隔離された信頼できるコンテナ内で実行し、安全な通信を使用して通信する。クリプトレットは、スマート・コントラクト・システムで使用でき、また追加の機能や情報が必要な場合は、未使用トランザクション・アウトプット(「UTXO」)システムなどの非スマート・コントラクト・システムで使用できる。
[0024]クリプトデリゲートは、スマート・コントラクトの仮想マシン内の「フック(hook)」関数であり、この関数はスマート・コントラクトのクリプトレットを呼び出し、クリプトレットの実行のために、トランザクションの安全でオーセンティックなエンベロープ(envelope)を与える。スマート・コントラクトと同じシグネチャで署名するか、或いは書き込み時又は設計時に信用され、妥当性確認されたデジタル・シグネチャで署名することで、クリプトデリゲートを介して呼び出されたクリプトレットを信用する。クリプトレットは、自身の複合アイデンティティを有しており、この複合アイデンティティは、バイナリハッシュ、バージョン及びトランザクションに署名するための発行者の証明書を含んでもよい。グローバル・クリプトレット又は共有クリプトレットは、認証済み識別子を有してもよく、これは、アイデンティティ・フローのため及び安全性を高めるために、ローカル・アドレスにマッピング可能な認証済みホストのシグネチャも含む。クリプトデリゲートを介してなされる各呼び出しは、ランタイム時にシグネチャの妥当性を検査し、トランザクションと共にそれらシグネチャを記録する。非スマート・コントラクト・システムでは、アダプタを使用してクリプトレットを呼び出すことができ、該アダプタは、クリプトデリゲートがスマート・コントラクト仮想マシン内にあるときのような関数を実行する。
[0025]CMPは、以下の二種類のクリプトレット、すなわちユーティリティ・クリプトレット及びコントラクト・クリプトレットをサポートすることができる。ユーティリティ・クリプトレットは、スマート・コントラクトを書き込む前に作成され、暗号化、時間ベースのイベント発行、外部データへのアクセスなどの共通の機能を実行する。外部のデータや機能に信頼できる方法でアクセスする必要のあるスマート・コントラクト開発者は、ユーティリティ・クリプトレットを使用することができる。ユーティリティ・クリプトレットは、ライブラリにグループ化することができ、その一部は認証者によって提供され、他のものは独立系ソフトウェアベンダのような第三者からのものである。CMPが提供する機能は、ユーティリティ・クリプトレットを使用して実装することができる。
[0026]コントラクト・クリプトレットを作成し、指定のスマート・コントラクト・インスタンスにバインドする。コントラクト・クリプトレットは、性能と規模の観点から必ずしも完全にブロックチェーン仮想マシン環境での実行に適していない複雑なロジックをホストすることができる。コントラクト・クリプトレットに関し、スマート・コントラクトは、単にスマート・コントラクトの状態変数とキー変数を含むが、一方で、クリプトレットは、そのプログラミングロジックを含んでおり、これは外部データソースにアクセスしてスマート・コントラクトのイベントを作成して処理するためのロジックを含む。コントラクト・クリプトレットは、特定のスマート・コントラクトのためのランタイム代理(runtime surrogate)である。コントラクト・クリプトレットをスマート・コントラクトと共に使用することで、高いパフォーマンスとスケーラビリティを必要とする高度なシナリオが可能になる。たとえば、コントラクト・クリプトレットは、他のコントラクトがブロックチェーン仮想マシン上で実行されている間に、それを停止することなしに、スマート・コントラクトの中身全体を並行して実行することができる。コントラクト・クリプトレットを使用することは、ブロックチェーンのすべてのノードで実行されているスマート・コントラクト・コードが非常に軽い重みのものであることを意味するが、これは、ブロックチェーン・データベースにのみ書き込みし、またスマート・コントラクトのデリゲートされたコントラクト・クリプトレットを実行するように指定されたホストに対して、計算処理の大部分や外部データとの統合などを任せるからである。
[0027]スマート・コントラクトがブロックチェーン又は他のデプロイ・メソッドにデプロイされると、コントラクト・クリプトレットを作成することができる。スマート・コントラクトがデプロイされると、スマート・コントラクトのコンストラクタは、クリプトレットのプロパティとコード(C#、F#、Java(登録商標)、C++など)を登録する。スマート・コントラクトは、設定情報を提供し、この設定情報は、クリプトレットに関するインターフェース定義と、カスタムタイプ、公開鍵などの、クリプトレットに関する様々なプロパティとを含んでもよい。
クリプトレットに関するインターフェース定義を、次のとおり示す。
Figure 0006936259
[0028]クリプレットのプロパティは、Java Script(登録商標) Object Notation(「JSON」)に基づいたクリプトレット・スキーマを使用して、以下に示すように提供することができる。
Figure 0006936259
[0029]スマート・コントラクトがクリプトレット・コンテナ・サービスにクリプトレットを登録すると、クリプトレット・コンテナ・サービスはクリプトレット・コードのハッシュを生成し、スマート・コントラクトが提供する公開鍵にそのハッシュが一致することを保証する。次いで、クリプトレット・コンテナ・サービスは、設定情報及びクリプトレット・コードを、クリプトレット登録ブロックチェーンに記録する。このクリプトレット登録ブロックチェーンは、分散したデータストレージメタデータやクリプトレットのポリシー情報にリンクすることができる。クリプトレット登録ブロックチェーンは、クリプトレット・コンテナ・サービスが保持するブロックチェーン・データベースである。ユーティリティ・クリプトレットはスマート・コントラクトから独立して登録し、スマート・コントラクトにより参照される。
[0030]クリプトレット・インターフェース定義は、以下のインポート文を使用してスマート・コントラクトにインポートすることができる。
Figure 0006936259
[0031]クリプトレットを使用するスマート・コントラクトは、デフォルト設定情報の大部分を提供するクリプトレット・プロキシ・ベース・クラスから得ることができる。ユーティリティ・クリプトレットを使用するスマート・コントラクトは、以下のように表すことができる。
Figure 0006936259
[0032]スマート・コントラクトは、そのコンストラクタの実行している間、以下のようにユーティリティ・クリプトレットからイベントを受信するよう登録することができる。
Figure 0006936259
[0033]クリプトレットのstockClient()コンストラクタを呼び出して、stockClientクリプトレットをクリプトレット・コンテナ・サービスに登録する。イベント・メソッドを呼び出してイベントを送信し、金に関するPriceUpdate(価格更新)イベントを受信するよう申込みをする。このイベントは、クリプトレットがPriceUpdateイベントをスマート・コントラクトに送信するときに呼び出される、スマート・コントラクトのコールバック・メソッド、すなわちCalculatePrice(価格計算)を指定する。スマート・コントラクトはまた、以下のようにクリプトレットのメソッドを呼び出してもよい。
Figure 0006936259
[0034]CMPは、隔離されたエンクレーブ内でクリプトレット・コンテナやクリプトレットを実行するためのプロセス分離等のクリプトレット挙動を、スマート・コントラクトの実行中に指定することを可能にする。あるいは、CMPは、以下のように、コード設定を上書きできるクリプトレット・コンテナ・サービスのポリシーによって、挙動を確立することを可能にする。
Figure 0006936259
[0035]さらに、スマート・コントラクトのコードは、属性を指定して、クリプトデリゲートを介してその属性ポイントでのロジックの実行をデリゲートすることを示してもよい。たとえば、スマート・コントラクトのプロパティを暗号化する必要があり、コントラクトの当事者だけに可視とする場合、属性は以下のように適用できる。
Figure 0006936259
[0036]この例では、クリプトデリゲートは、trade_amount(取引総額)が暗号化されており、かつこのコントラクトの署名者に提供されたときにのみtrade_amountを解読できることを保証する。
[0037]以下は、クリプトレットの別の例である。
Figure 0006936259
[0038]コントラクト・クリプトレットは、ネットワーク上のすべてのノードがスマート・コントラクト・コードを実行する必要のない並列的な実行を可能にする。したがって、多くのコントラクト・クリプトレットは、代理をたてることによって異なるスマート・コントラクト・コードを異なるマシン上で同時に実行することができ、また署名されたトランザクションを、ブロックチェーン・データベースに確実に記録することができる。コントラクト・クリプトレットを使用すると、ブロックチェーン自体の完全性を保持しながら、スマート・コントラクト・ブロックチェーンを大きく拡張し、その計算能力を一層高めることができる。
[0039]ある種の実施形態において、クリプトレットへの呼び出しを実装するために、CMPは、仮想マシンを使用することができ、この仮想マシンは、スマート・コントラクトを実行し、かつクリプトデリゲートにアクセスするために新しい命令を追加するように変更される。あるいは、イーサリアム仮想マシン用コンパイラは、以下のように、クリプトアレイゲートのアドレスで、クリプトレットの変数のアクセサ及び静的メソッドにフラグを立てることができる。
Figure 0006936259
変更された仮想マシンは、ランタイムの間のインターセプションにおいて、DELEGATECALL(デリゲートコール)を使用して、以下のようにクリプトデリゲートのJUMPDESTにマッピングしてもよい。
Figure 0006936259
このようにして、クリプトデリゲートは、呼び出しスレッドがin-procを待っている間に、別のスレッドで同期して処理を行うことができる。クリプトレットの公開鍵とさまざまな属性とを渡して、クリプトデリゲートのJUMPDESTにDELEGATECALLがマッピングすると、クリプトデリゲートは実行に取り掛かる。
[0040]クリプトデリゲートは、以下のように、コアに含まれるパッケージとしてgithub.com/ethereum/core/に含まれてもよい。
Figure 0006936259
あるいは、クリプトデリゲートは仮想マシン自体の中に含まれていてもよい。
[0041]ノード起動時に、コマンドラインオプションは、以下のように、クリプトデリゲートがクリプトレット登録及びポリシーを検索する場所を指定する。
Figure 0006936259
クリプトデリゲートはジャンプ・コール(jumped call)を受信すると、要求されたペイロード及び分離などのオプションと共に、クリプトレット公開鍵をクリプトレット・コンテナに渡す。ペイロードは、パラメータを使用したクリプトレットで呼び出される静的メソッド、コールバックの詳細を含む公開されたクリプレットイベントへの申込み、又はコントラクト・クリプレットの作成でもよい。
[0042]ある種の実施形態では、クリプトレット・コンテナは、コード実行及びデータのため、保護されたエンクレーブ、プライベート、改ざん防止の安全な領域内にカプセル化される。クリプトレット・コンテナと、これがホストするクリプトレットは、安全なエンクレーブ内で実行するので、安全な実行を提供すると共に、結果がオーセンティックであり改ざんされていない認証済みの保証をデータに提供する。エンクレーブを使用するクリプトレット・コンテナは、実行のためにクリプトレットに対し安全でプライベートな環境を提供する。コントラクト・クリプトレット及び暗号化サービスを実行しているそれらは、エンクレーブ内で実行するそれらの例である。エンクレーブ内で実行しているクリプトレット・コンテナは、他のエンクレーブ内の他のクリプトレットと安全に通信すると共に、HSM(ハードウェア・セキュリティ・モジュール)などの他のセキュリティデバイスと通信することができる。エンクレーブによる保護は、ハードウェア又はソフトウェアによって提供することができる。
[0043]ある種の実施形態では、クリプトレット・コンテナ・サービスは、クリプトレット公開鍵をインスタンス化するために、(gethパラメータにおけるシグネチャによって)登録されたクリプトデリゲートからの署名された要求に対するポートをクリプレット側でリスンする。クリプトレット・コンテナ・サービスは、クリプトレットのクリプトレット登録ブロックチェーンを検査し、シグネチャの妥当性確認、プロセスの分離、従属関係を呼び出す方法、潜在的な型変換機能などについてポリシーを検査する。
[0044]ある種の実施形態では、クリプトレット呼び出しを、クリプトレット・コンテナ内のクリプトレットの事前にロードされた静的なステートレス(stateless)のインスタンスにルーティングするか、(エンクレーブを使用して)新規かつオプションのプロセス分離コンテナインスタンスにルーティングするか、又はコントラクト・クリプトレットのスマート・コントラクト・アフィニティ(smart contract affinity)を持つクリプトレット・コンテナにルーティングすることができる。パフォーマンスを向上するために、クリプトレットを暗号化されたコンテナに事前にロードしてもよい。
[0045]クリプトレット・コンテナ・サービスが、クリプトレット・コンテナに対するコールを作成すること、及びコールをルーティングすることの一方又は両方を行うと、クリプトレット・コンテナは、クリプトレットをインスタンス化して、適切なコールを呼び出す。そのコールがイベント登録の場合、そのコールバックの詳細を記録し、クリプトレットはアクティブのままになっていたりなっていなかったりしてもよい。たとえば、コールが特定の日時のコールバックのためのイベント登録である場合、クリプトレットを実行したままにする必要がある。長時間実行するクリプトレットの場合、ブロックチェーン上のインスタンスの最大数を設定すると、クリプトレットとノードとの間を1対1の比率としなくとも、あるレベルのフォールトトレランスを提供することができる。コールバック関数は、クリプトレットから、申込みするスマート・コントラクトのコールバック関数へのメッセージコールであってもよい。
[0046]ある種の実施形態では、セキュリティエンベロープは、クリプトデリゲートを介してブロックチェーン上のスマート・コントラクトに延長されるものであり、これは、認証済みホスト上の適切な証明書(HTTPS/SSL)と通信するクリプトレットをインスタンス化又は位置付けし、クリプトレット及び各コール時にクリプトレットを実行しているコンテナのシグネチャを検査する。また、クリプトデリゲートは、クリプトレットへのコールと、それらがスマート・コントラクトにおいて提供するデータを、クリプトレットのシグネチャ、オプションのクリプトレット・コンテナのシグネチャ、及び認証済みのホストアドレスと共に記録し、これにより監査用のオーセンティックな台帳を利用可能である。
[0047]ある種の実施形態では、クリプトレット及びそれらのクリプレット・コンテナは、クリプトレットが1つ又は複数のアイデンティティ「の代わりに」動作することを可能にするアイデンティティによってデジタル・シグネチャで署名され、又はデジタル・シグネチャを含むことができる。例えば、ユーザは、クリプトレットを作成し、自身のデジタル・シグネチャで署名することができ、このクリプトレットが呼び出されると、クリプトレットは、ユーザのエージェントとしてビジネス・プロセスにおいてアクションを実行する。
[0048]このようにして、クリプトレットは、実社会と相互作用するための正式なセキュリティモデルを提供し、企業コンソーシアムが信頼できる方法で既存のシステムとの相互運用を提供し、クリプトレットを書く開発者に対しさらなるレベルの再利用を提供する。また、クリプトレットは、どんな種類のブロックチェーンに対してもミドルウェア層全体を提供し、フレキシブルな実行環境を提供するので、ロジックの部分的なデリゲーションと、より大きなスケールでは完全なデリゲーションを可能にする。
[0049]図4A、図4B及び図4Cは、ある種の実施形態における、ユーティリティ・クリプトレット及びイベント・ユース・ケースをサポートするCMPのアーキテクチャを示すブロック図である。ユーティリティ・クリプトレット・アーキテクチャ400は、ブロックチェーンノード410及びクリプトレット・システム420を含む。ブロックチェーンノード410は、仮想マシン411、コンセンサス・アルゴリズム・コンポーネント414、データベース415(例えば、分散型台帳及びマークル木)、及びネットワーキング・コンポーネント416を含む。仮想マシンは、クリプトデリゲート412を含み、スマート・コントラクト413のコードを実行する。クリプトレット・システムは、クリプトレット・コンテナ・サービス430と、クリプトレット441を含むクリプトレット・コンテナ440とを含む。クリプトレット・コンテナ・サービスは、クリプトレット・メタデータ・ストア431と、クリプトレット登録ブロックチェーン432と、ポリシー・ストア433とを含む。クリプトレット登録ブロックチェーン・ストアは、登録されたクリプトレットに関する情報を格納する。クリプトレット・メタデータ・ストアは、登録されたクリプトレットのメタデータを格納し、ポリシー・ストアは、クリプトレット・コンテナ・サービスのポリシー情報を格納する。また、クリプトレット・コンテナ・サービスは、クリプトレットを登録するための登録インターフェース434と、クリプトレットに関する情報を検索するための検索インターフェース435と、セキュア・チャネル・インターフェース436とを含む。仮想マシンがスマート・コントラクトのコードの命令417を実行すると、クリプトレットに対し安全なチャネルを介して、メッセージをストック・クライアント・クリプトレットに送信する。このスマート・コントラクトを初期化する間、スマート・コントラクトの初期化関数(例えばコンストラクタ)を呼び出して、ストック・クライアント・クリプトレットとの安全な接続を探して確立する。
[0050]図5A、図5B、図5C及び図5Dは、ある種の実施形態において、コントラクト・クリプトレット、制御ユース・ケース、及びエンクレーブの使用をサポートするCMPのアーキテクチャを示すブロック図である。図5A及び5Bは、コントラクトがコントラク・クリプトレットのコードの表示を含むことを除いて、図4A及び図4Bと同様であり、このコントラクト・クリプトレットは、コントラクト・クリプトレット・パッケージ517としてクリプトレット・コンテナ・サービスに送信される。また、クリプトレット・コンテナ・サービス530は、コントラクト・クリプトレットのインスタンスを作成するクリプトレットファクトリを含む。スマート・コントラクトのコードは、コントラクト・クリプトレットに対し挙動を要求し、その応答はメッセージとしてスマート・コントラクトに送信される。図5Dは、ハードウェア又はソフトウェアを介して、保護されたエンクレーブを使用して、プライベートで、安全な、改ざん防止された、実行及びデータのためのオペレーションを生成する。エンクレーブ内で実行しているクリプトレットは、クリプトレットを書き込む言語に適したクリプトレット・コンテナがホストする。
[0051]CMPを実装するコンピュータシステムは、中央処理ユニット、入力デバイス、出力デバイス(例えば、ディスプレイ・デバイス及びスピーカ)、記憶デバイス(例えば、メモリ及びディスクドライブ)、ネットワーク・インターフェース、グラフィック処理ユニット、加速度計、セルラ無線リンクインターフェース、全地球測位システムデバイスなどを含むことができる。入力デバイスは、キーボード、ポインティングデバイス、タッチスクリーン、(例えば、エアジェスチャー用の)ジェスチャ認識デバイス、頭部及び目の追跡デバイス、音声認識用のマイクロホンなどを含むことができる。クライアント側のコンピュータシステムは、デスクトップコンピュータ、ラップトップ、タブレット、電子リーダー、パーソナル・デジタル・アシスタント、スマートフォン、ゲームデバイス、サーバなどを含むことができる。サーバ側のコンピュータシステムは、データセンタ、大規模な並列システムなどのサーバを含むことができる。コンピュータシステムは、コンピュータ可読記憶媒体及びデータ伝送媒体を含むコンピュータ可読媒体にアクセスすることができる。コンピュータ可読記憶媒体は、一時的な伝播信号を含まない有形の記憶手段である。コンピュータ可読記憶媒体の例として、一次メモリ、キャッシュメモリ、及び二次メモリ(例えば、DVD)、及び他のストレージなどのメモリを含む。コンピュータ可読記憶媒体はそこに記録するコンピュータ実行可能命令又はロジックを有してもよく、又はCMPを実行するコンピュータ実行可能命令又はロジックで符号化してもよい。データ伝送媒体は、有線接続又は無線接続を介して、一時的な伝搬信号又は搬送波(例えば、電磁気)を介してデータを伝送するために使用される。コンピュータシステムは、鍵を生成して安全に格納し、また鍵を使用してデータを暗号化及び復号化するために、中央処理ユニットの一部として安全なクリプトプロセッサ(cryptoprocessor)を含んでもよい。
[0052]CMPについて、1つ又は複数のコンピュータ、プロセッサ、又は他のデバイスが実行する、プログラムモジュール及びコンポーネントなどのコンピュータ実行可能命令の一般的な背景のもとで説明する。一般的に、プログラムモジュール又はコンポーネントは、特定のタスクを実行し又は特定のデータタイプを実装する、ルーチン、プログラム、オブジェクト、データ構造などを含む。典型的には、プログラムモジュールの機能は、様々な例において要求されるとおりに結合したり、分割したりすることができる。CMPの態様は、例えば、特定用途向け集積回路(ASIC)、又はFPGA、すなわちフィールドプログラマブルゲートアレイを使用して、ハードウェアに実装することができる。
[0053]以下の段落では、CMPの様々な実施形態を説明する。これら実施形態の任意の組合せを使用してCMPを実行することもできる。以下に説明する処理は、CMPを実装するコンピュータ可読記憶媒体に格納されたコンピュータ実行可能命令を実行するプロセッサを有するコンピュータデバイスが行ってもよい。
[0054]ある種の実施形態では、ブロックチェーンにインストールされたコントラクトに関連する挙動を非ブロックチェーンアプリケーションにデリゲートするための、コンピュータシステムを提供する。このコンピュータシステムは、クリプトデリゲート及びクリプトレット・コンテナ・サービスのコンピュータ実行可能命令を格納する1つ又は複数のコンピュータ可読記憶媒体と、この1つ又は複数のコンピュータ可読記憶媒体に格納しているコンピュータ実行可能命令を実行する1つ又は複数のプロセッサとを備える。クリプトデリゲートは、命令を含み、これら命令は、仮想マシン上で実行しているコントラクトのコードから、クリプトレットのアイデンティティと、このクリプトレットにより実行されるべき要求された挙動を受信し、このアイデンティティと、その要求された挙動をクリプトレット・コンテナ・サービスに提供し、クリプトレット・コンテナ・サービスから、その要求された挙動を行うクリプトレットが生成した応答を受信し、コントラクトのコードにその応答を送信する。クリプトレット・コンテナ・サービスは、命令を含み、これら命令は、クリプトレットへの参照を含む登録されたクリプトレットに関する情報を格納し、クリプトデリゲートからそのアイデンティティ及び要求された挙動を受信し、クリプトレット・コンテナ及びクリプトレットを実行するホストを識別し、クリプトレットを認証し、この要求された挙動をクリプトレットに提供し、クリプトレットが生成した応答を受信し、ブロックチェーンにその応答を送信し、応答をクリプトデリゲートで検証する。ある種の実施形態では、仮想マシンがクリプトデリゲートを実行する。ある種の実施形態では、要求された挙動はイベントをコントラクトに送信することである。ある種の実施形態では、クリプトデリゲートは、命令をさらに含み、これら命令は、クリプトレットのコードをコントラクトから受信し、そのコードをクリプトレット・コンテナ・サービスに提供し、ここで、クリプトレット・コンテナ・サービスは、そのコードのハッシュを生成し、かつコントラクトが提供したハッシュと一致するか検査することによってそのコードを検証し、クリプトレット登録ブロックチェーンにそのコードを記録し、要求された挙動を実行するためクリプトレットを実行するよう認証済みホストに指示する。ある種の実施形態では、クリプトデリゲートは、コントラクトに関連するブロックチェーン内に、コントラクトによる各要求及びコントラクトに提供する応答の指示を記録する。ある種の実施形態では、コントラクトは、クリプレットを実行するホストの指示をクリプトデリゲートに与える。ある種の実施形態では、クリプトレットは、クリプトレット・コンテナが与える環境内で実行する。ある種の実施形態では、クリプトレット・コンテナを、安全のため、また改ざん防止されたオペレーションのために、保護されたエンクレーブ環境内で実行する。ある種の実施形態では、コントラクトは、クリプトレットに関する設定情報をクリプトデリゲートに提供する。ある種の実施形態では、この設定情報は、クリプトレットに関するインターフェース定義、及びクリプトレットの属性の指定を含む。
[0055]ある種の実施形態は、コンピュータシステムが実行する方法を提供する。本方法では、スマート・コントラクトに代わって挙動を実行するコントラクト・クリプトレットを登録する要求と、このコントラクト・クリプトレットのコードと、このコントラクト・クリプトレットのコードを実行する認証済みホストの指示とを、仮想マシンが実行するスマート・コントラクトから受信する。本方法では、コントラクト・クリプトレットのコードを検証する。本方法では、コントラクト・クリプトレットのコードを、クリプトレット登録ブロックチェーン及びデータストレージに格納する。本方法では、コントラクト・クリプトレットがその挙動を行うための要求を、スマート・コントラクトから受信する。本方法は、コントラクト・クリプトレットに対し認証済みホスト上で実行するように指示する。本方法は、認証済みホストで実行中のコントラクト・クリプトレットに対しその要求を送信して、その挙動を実行する。ある種の実施形態では、スマート・コントラクト及びコントラクト・クリプトレットとの通信を、安全なチャネルを介して行う。ある種の実施形態では、コードを検証することは、コードのハッシュを生成し、このハッシュをそのコードに関連する公開鍵と比較することを含む。ある種の実施形態では、スマート・コントラクトから受信した要求は、仮想マシンが実行するクリプトデリゲートを介して受信する。ある種の実施形態では、クリプトデリゲートは、スマート・コントラクト及びクリプトデリゲートとの通信の指示(indication)を、スマート・コントラクトのブロックチェーン内に記録する。ある種の実施形態では、仮想マシンはブロックチェーンのノード上で実行し、認証済みホストはブロックチェーンのノード外にあるコンピュータである。ある種の実施形態では、クリプトレット登録ブロックチェーンは、スマート・コントラクトのブロックチェーンとは別である。ある種の実施形態では、スマート・コントラクト及びクリプトレットのコードは、コンソーシアムのメンバーが承認する。
[0056]ある種の実施形態では、1つ又は複数のコンピュータシステムが実行する方法を提供する。本方法は、ブロックチェーンに関連するスマート・コントラクトの仮想マシンによる実行を指示する。本方法は、スマート・コントラクトの実行中に、クリプトデリゲートを介してクリプトレット・コンテナ・サービスへ、認証済みホスト上で実行するクリプトレットに挙動をデリゲートする要求を送信する。本方法は、クリプトレット・コンテナ・サービスの実行中に、クリプトレットのコードを実行するホストを識別し、識別したホストに対しクリプトレットのコードを実行して、デリゲートされた挙動を行うよう指示し、要求された挙動に対する応答をクリプトレットから受信し、その応答をクリプトデリゲートが妥当性確認するブロックチェーン上で、スマート・コントラクトに送信する。ある種の実施形態では、クリプトデリゲートは、クリプトレット・コンテナ・サービスとの安全な通信チャネルを確立し、クリプトレット・コンテナ・サービスは、ホストとの安全な通信チャネルを確立する。ある種の実施形態では、クリプトレットは、コントラクト・クリプトレットであり、クリプトレットのコードは、スマート・コントラクトが提供し識別し、ホストは、スマート・コントラクトが識別する。ある種の実施形態では、クリプレットは、異なるコンソーシアムのスマート・コントラクトで利用可能なユーティリティ・クリプトレットである。
[0057]本発明の主題を、構造的な特徴及び動作の一方又は両方に特有の言葉を用いて説明しているものの、添付の特許請求の範囲に示す発明の主題は、必ずしも上記した特有の特徴又は動作に限定されないことを理解されたい。むしろ、上記した特有の特徴や動作は、特許請求の範囲を実施するための例示的な形態として開示されている。したがって、本発明は、添付の特許請求の範囲による場合を除いて限定されない。

Claims (17)

  1. ブロックチェーンにインストールされたコントラクトに関連する挙動を非ブロックチェーン・アプリケーションにデリゲートするコンピュータシステムであって、
    1つまたは複数のハードウェアプロセッサと、
    ンピュータ実行可能命令を格納する1つ又は複数のコンピュータ可読記憶媒体であって、 前記命令は前記1つまたは複数のハードウェアプロセッサにより実行されると、前記1つまたは複数のハードウェアプロセッサに、
    想マシン上で実行するブロックチェーンにインストールされた前記コントラクトから、クリプトレットのアイデンティティ及び前記クリプトレットが行う要求された挙動を受信し、クリプトレット・コンテナ・サービスに、前記アイデンティティと、前記要求された挙動を提供し、前記要求された挙動を行う前記クリプトレットにより生成された応答を前記クリプトレット・コンテナ・サービスから受信し、前記応答を前記コントラクトへ送信する、クリプトデリゲートを実行させ、前記クリプトレットは、前記ブロックチェーンにインストールされた前記コントラクトの代わりに、前記要求された挙動を実行すべき暗号化アプレットであり、
    登録された前記クリプトレットへの参照を含む前記登録されたクリプトレットに関する情報を格納し、前記アイデンティティ及び前記要求された挙動を前記クリプトデリゲートから受信し、前記クリプトレット・コンテナ及び前記クリプトレットを実行するホストを識別し、前記クリプトレットを認証し、前記クリプトレットに対し前記要求された挙動を提供し、前記クリプトレットにより生成された前記応答を受信し、前記ブロックチェーンに送信し、前記応答をクリプトデリゲートで検証する、前記クリプトレット・コンテナ・サービスを実行させる、1つ又は複数のコンピュータ可読記憶媒体と
    を含むコンピュータシステム。
  2. 請求項1に記載のコンピュータシステムであって、前記クリプトデリゲートは、前記仮想マシンによって実行される、コンピュータシステム。
  3. 請求項1に記載のコンピュータシステムであって、前記要求された挙動は、イベントを前記コントラクトに送信することである、コンピュータシステム。
  4. 請求項1に記載のコンピュータシステムであって、
    前記命令は、前記1または複数のハードウェアプロセッサに、さらに、前記コントラクトから前記クリプトレットのコードを受信し、前記クリプトレット・コンテナ・サービスに前記クリプトレットの前記コードを提供するクリプトデリゲートを実行させ
    前記命令は、前記1または複数のハードウェアプロセッサに、さらに、前記クリプトレットの前記コードのハッシュを生成し、前記クリプトレットの前記コードが、前記コントラクトが提供するハッシュと一致することを検査することによって前記クリプトレットの前記コードを検証し、前記クリプトレットのコードをクリプトレット登録ブロックチェーン内に記録し、前記クリプトレットを実行して前記要求された挙動を実行するよう認証済みホストに指示する前記クリプトレット・コンテナ・サービスを実行させる、コンピュータシステム。
  5. 請求項1に記載のコンピュータシステムであって、前記命令はさらに、前記1または封数のハードゥエアプロセッサに、前記コントラクトに関連するブロックチェーン内に、前記コントラクトによる各要求と、前記コントラクトに提供される応答の指示とを記録する前記クリプトデリゲートを実行させる、コンピュータシステム。
  6. 請求項1に記載のコンピュータシステムであって、前記コントラクトは、前記前記1つまたは複数のハードウェアプロセッサに、前記クリプトレットを実行すべきホストの指示を提供する、コンピュータシステム。
  7. 請求項1に記載のコンピュータシステムであって、前記クリプトレットは、クリプトレット・コンテナが提供する環境の中で実行される、コンピュータシステム。
  8. 請求項1に記載のコンピュータシステムであって、前記クリプトレット・コンテナは、安全で、改ざん防止されたオペレーションのために保護されたエンクレーブ環境内で実行する、コンピュータシステム。
  9. 請求項1に記載のコンピュータシステムであって、前記コントラクトは、前記クリプトレットに関する前記設定情報を前記1つまたは複数のハードウェアプロセッサに提供する、コンピュータシステム。
  10. 請求項9に記載のコンピュータシステムであって、前記設定情報は、前記クリプトレットのインターフェイス定義、及び前記クリプトレットの属性の指定を含む、コンピュータシステム。
  11. コンピューティングシステムによって実行される方法であって、
    仮想マシンにより実行されるスマート・コントラクトから要求を受信し、前記スマート・コントラクトに代わって挙動を実行するためのコントラクト・クリプトレットと、前記コントラクト・クリプトレットのコードと、認証済みホストの指示とを登録して、前記コントラクト・クリプトレットの前記コードを実行する、ステップであって、前記コントラクト・クリプトレットは、前記スマート・コントラクトとは別であり、前記仮想マシンが実行する前記スマート・コントラクトの代わりに前記挙動を実行すべき暗号化アプレットであり
    前記コントラクト・クリプトレットの前記コードを検証するステップと、
    前記コントラクト・クリプトレットの前記コードを、クリプトレット登録ブロックチェーン及びデータストレージに格納するステップと、
    前記挙動を実行するために前記コントラクト・クリプトレットに対する要求を前記スマート・コントラクトから受信するステップと、
    前記コントラクト・クリプトレットに前記認証済みホスト上で実行するよう指示するステップと、及び
    前記挙動を実行するよう、前記認証済みホストで実行する前記コントラクト・クリプトレットに前記要求を送信するステップと、
    を備え、前記スマート・コントラクト及び前記コントラクト・クリプトレットとの通信は安全なチャネルを介して行われる、
    方法。
  12. 請求項11に記載の方法であって、前記コードを検証するステップは、前記コントラクト・クリプトレットの前記コードのハッシュを生成するステップと、前記ハッシュを前記コントラクト・クリプトレットの前記コードに関連する公開鍵と比較するステップとを含む、方法。
  13. 請求項11に記載の方法であって、前記スマート・コントラクトから前記要求を受信するステップは、前記仮想マシンによって実行されるクリプトデリゲートを介して前記スマート・コントラクトから前記要求を受信するステップをさらに含む、方法。
  14. 請求項13に記載の方法であって、前記クリプトデリゲートは、前記スマート・コントラクトがインストールされるブロックチェーン内に、前記スマート・コントラクト及び前記クリプトデリゲートとの通信の指示を記録する、方法。
  15. 請求項11に記載の方法であって、前記仮想マシンは、前記スマート・コントラクトがインストールされるブロックチェーンのノード上で実行し、前記認証済みホストは、前記スマート・コントラクトがインストールされる前記ブロックチェーンのノードの外部にあるコンピュータである、方法。
  16. 請求項11に記載の方法であって、前記クリプトレット登録ブロックチェーンは前記スマート・コントラクトがインストールされているブロックチェーンとは別のものである、方法。
  17. 請求項11に記載の方法であって、前記スマート・コントラクトのコード及び前記クリプトレットはコンソーシアムのメンバによって承認される、方法。
JP2018563812A 2016-06-06 2017-06-01 ブロックチェーンシステムのための暗号化アプリケーション Active JP6936259B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662346431P 2016-06-06 2016-06-06
US62/346,431 2016-06-06
US15/296,953 US10447478B2 (en) 2016-06-06 2016-10-18 Cryptographic applications for a blockchain system
US15/296,953 2016-10-18
PCT/US2017/035341 WO2017213943A1 (en) 2016-06-06 2017-06-01 Cryptographic applications for a blockchain system

Publications (3)

Publication Number Publication Date
JP2019524018A JP2019524018A (ja) 2019-08-29
JP2019524018A5 JP2019524018A5 (ja) 2020-07-09
JP6936259B2 true JP6936259B2 (ja) 2021-09-15

Family

ID=60483928

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018563812A Active JP6936259B2 (ja) 2016-06-06 2017-06-01 ブロックチェーンシステムのための暗号化アプリケーション

Country Status (17)

Country Link
US (1) US10447478B2 (ja)
EP (1) EP3465516B1 (ja)
JP (1) JP6936259B2 (ja)
KR (1) KR102316858B1 (ja)
CN (1) CN109313685B (ja)
AU (1) AU2017277857B2 (ja)
BR (1) BR112018074323A8 (ja)
CA (1) CA3023492A1 (ja)
CL (1) CL2018003470A1 (ja)
CO (1) CO2018013180A2 (ja)
IL (1) IL263261B (ja)
MX (1) MX2018015044A (ja)
PH (1) PH12018550194A1 (ja)
RU (1) RU2018142891A (ja)
SG (1) SG11201809866PA (ja)
WO (1) WO2017213943A1 (ja)
ZA (1) ZA201807413B (ja)

Families Citing this family (214)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11521290B2 (en) 2013-05-22 2022-12-06 Patrick Damien O'Brien Systems and methods for storing contract information on multiple blockchain ledgers
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
CN109219940B (zh) * 2016-03-31 2022-01-11 比特飞翔区块链株式会社 私有节点以及私有节点中的处理方法
US10521775B2 (en) 2016-04-18 2019-12-31 R3 Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
US10529042B2 (en) 2016-04-18 2020-01-07 Rs Ltd. System and method for managing transactions in dynamic digital documents
US20170371627A1 (en) * 2016-06-28 2017-12-28 International Business Machines Corporation Object-oriented container class callbacks
WO2018020943A1 (ja) * 2016-07-28 2018-02-01 日本電気株式会社 番号ポータビリティ情報管理システム
WO2018047085A1 (en) * 2016-09-08 2018-03-15 Thomson Reuters Global Resources Unlimited Company Systems and methods for providing identity assurance for decentralized applications
US10171509B2 (en) * 2016-11-10 2019-01-01 International Business Machines Corporation Filtering and redacting blockchain transactions
US20180157700A1 (en) * 2016-12-06 2018-06-07 International Business Machines Corporation Storing and verifying event logs in a blockchain
US11423351B2 (en) * 2016-12-15 2022-08-23 International Business Machines Corporation Blockchain-based food product shelf-life management
US20220222662A1 (en) * 2016-12-30 2022-07-14 Wells Fargo Bank, N.A. Dynamic payment gateway
US11030699B1 (en) 2017-01-17 2021-06-08 State Farm Mutual Automobile Insurance Company Blockchain controlled multi-carrier auction system for usage-based auto insurance
US10824759B1 (en) 2017-01-25 2020-11-03 State Farm Mutual Automobile Insurance Company Systems and methods for verifying agent sales data via blockchain
US10243731B2 (en) * 2017-01-27 2019-03-26 Accenture Global Solutions Limited Hardware blockchain acceleration
US10419225B2 (en) 2017-01-30 2019-09-17 Factom, Inc. Validating documents via blockchain
US10411897B2 (en) 2017-02-17 2019-09-10 Factom, Inc. Secret sharing via blockchains
US10691793B2 (en) * 2017-02-20 2020-06-23 AlphaPoint Performance of distributed system functions using a trusted execution environment
US10817953B1 (en) 2017-03-03 2020-10-27 State Farm Mutual Automobile Insurance Company Using a distributed ledger for tracking VIN recordkeeping
US10817873B2 (en) 2017-03-22 2020-10-27 Factom, Inc. Auditing of electronic documents
US20180285979A1 (en) * 2017-04-04 2018-10-04 International Business Machines Corporation Creating service agreements via blockchain smart contracts
US20220012780A1 (en) 2017-04-05 2022-01-13 State Farm Mutual Automobile Insurance Company Systems and methods for estimating vehicle value via blockchain
WO2018209148A1 (en) * 2017-05-10 2018-11-15 Responsible Gold Operations Ltd. Method of tokenization of asset-backed digital assets
US11165589B2 (en) * 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
CN107274186A (zh) * 2017-05-11 2017-10-20 上海点融信息科技有限责任公司 在区块链中获得智能合约接口的方法和设备
US11055703B2 (en) * 2017-06-19 2021-07-06 Hitachi, Ltd. Smart contract lifecycle management
WO2019008158A1 (en) * 2017-07-06 2019-01-10 Chromaway Ab METHOD AND SYSTEM OF DISTRIBUTED COMPUTER SYSTEM
US10944546B2 (en) 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
US10621561B1 (en) * 2017-07-26 2020-04-14 Square, Inc. Payment network using tradable financial assets
US10055715B1 (en) * 2017-07-26 2018-08-21 Square, Inc. Cryptocurrency payment network
US10817853B1 (en) * 2017-07-26 2020-10-27 Square, Inc. Payment network for security assets
US11263603B1 (en) 2017-07-26 2022-03-01 Square, Inc. Security asset packs
US10452776B2 (en) * 2017-07-28 2019-10-22 International Business Machines Corporation Cognitive mediator for generating blockchain smart contracts
US10554634B2 (en) * 2017-08-18 2020-02-04 Intel Corporation Techniques for shared private data objects in a trusted execution environment
US10460283B2 (en) * 2017-09-13 2019-10-29 Vijay Madisetti Smart contract optimization for multiparty service or product ordering system
US10810546B2 (en) 2017-10-02 2020-10-20 R3 Ltd. Settling obligations via netting transactions
US10963400B2 (en) * 2017-10-11 2021-03-30 International Business Machines Corporation Smart contract creation and monitoring for event identification in a blockchain
US10891616B2 (en) 2017-10-13 2021-01-12 Intensity Analytics Corporation System and method for effort-based user authentication
GB2569278A (en) * 2017-10-23 2019-06-19 Cygnetise Ltd Methods and apparatus for verifying a user transaction
US11379832B2 (en) * 2018-12-07 2022-07-05 0Chain, LLC Systems and methods of blockchain for transaction rewards on token locking
US11144893B2 (en) * 2017-10-30 2021-10-12 Nec Corporation Method and system for securing smart contracts in blockchains
EP4395229A1 (en) 2017-11-09 2024-07-03 nChain Licensing AG Systems and methods for ensuring correct execution of computer program using a mediator computer system
EP3707623A1 (en) 2017-11-09 2020-09-16 Nchain Holdings Limited System for simplifying executable instructions for optimised verifiable computation
US10567168B2 (en) * 2017-11-16 2020-02-18 International Business Machines Corporation Blockchain transaction privacy enhancement through broadcast encryption
WO2019098895A1 (en) * 2017-11-17 2019-05-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for detecting digital content tampering
US20190180274A1 (en) * 2017-12-11 2019-06-13 Global Mobile Finance, Inc. Methodology and system for a blockchain-based mobile money gateway
EP3725028A1 (en) 2017-12-13 2020-10-21 Nchain Holdings Limited System and method for securely sharing cryptographic material
US11238449B2 (en) 2017-12-18 2022-02-01 Nec Corporation Efficient validation of transaction policy compliance in a distributed ledger system
CN108023893A (zh) * 2017-12-18 2018-05-11 王松山 一种区块链数据认证系统的方法
US9990504B1 (en) * 2017-12-18 2018-06-05 Northern Trust Corporation Systems and methods for generating and maintaining immutable digital meeting records within distributed network nodes
CA3086531A1 (en) 2017-12-21 2019-06-27 Taliware, Inc. Blockchain network management implementing biometric based authentication of an individual
CN109962779A (zh) * 2017-12-22 2019-07-02 中国电信股份有限公司 用于实现合约更新的方法、装置和系统
CN108009834B (zh) * 2017-12-27 2021-10-15 上海唯链信息科技有限公司 一种基于区块链技术的汽车保险信息系统
US20210241270A1 (en) * 2017-12-28 2021-08-05 Acronis International Gmbh System and method of blockchain transaction verification
CN109978687B (zh) * 2017-12-28 2022-12-27 现代财富控股有限公司 智能合约的事件连接系统及其方法
US11257073B2 (en) * 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
US10701054B2 (en) 2018-01-31 2020-06-30 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment
CN111543029A (zh) 2018-02-01 2020-08-14 英特尔公司 网络功能虚拟化的分布式自主权身份
US10824744B2 (en) * 2018-02-08 2020-11-03 Cisco Technology, Inc. Secure client-server communication
US10713722B2 (en) * 2018-02-14 2020-07-14 Equity Shift, Inc. Blockchain instrument for transferable equity
CN108335207B (zh) * 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
US12008649B1 (en) 2018-02-14 2024-06-11 Equity Shift, Inc. Blockchain instrument for transferable equity
CN108389118B (zh) 2018-02-14 2020-05-29 阿里巴巴集团控股有限公司 资产管理系统、方法及装置、电子设备
CN108492180B (zh) 2018-02-14 2020-11-24 创新先进技术有限公司 资产管理方法及装置、电子设备
CN108335206B (zh) 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
US10699340B2 (en) 2018-02-14 2020-06-30 Equity Shift, Inc. Blockchain instrument for transferable equity
CN108416675A (zh) 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
US11164254B1 (en) 2018-02-14 2021-11-02 Equity Shift, Inc. Blockchain instrument for transferable equity
US11625783B1 (en) 2018-02-14 2023-04-11 Equity Shift, Inc. Blockchain instrument for transferable equity
ES2794904T3 (es) * 2018-02-19 2020-11-19 Deutsche Telekom Ag Ecosistema de gestión de funciones hash superdistribuidas
CN110221956A (zh) * 2018-03-02 2019-09-10 富士通株式会社 用于生成区块链智能合约的测试用例的方法和设备
EP3540662A1 (en) * 2018-03-15 2019-09-18 Deutsche Telekom AG Computer implemented method for supply chain management and provenance in a data processing network
US10749687B2 (en) * 2018-03-15 2020-08-18 Microsoft Technology Licensing, Llc Binding version stamp for smart contracts
US11263605B2 (en) 2018-03-22 2022-03-01 R3 Llc Weighted multiple authorizations
US20190303932A1 (en) * 2018-03-28 2019-10-03 NEC Laboratories Europe GmbH Method and system for verifying policy compliance of transactions in a blockchain executing smart contracts
CN108520462B (zh) * 2018-03-30 2020-07-24 阿里巴巴集团控股有限公司 基于区块链的业务执行方法及装置、电子设备
US11068978B1 (en) * 2018-04-02 2021-07-20 Liquid Mortgage Inc. Decentralized systems and methods for managing loans and securities
JP7091791B2 (ja) * 2018-04-06 2022-06-28 富士通株式会社 データ管理装置,データ管理プログラム及びデータ管理方法
US11010403B2 (en) * 2018-04-24 2021-05-18 Microsoft Technology Licensing, Llc Relational distributed ledger for smart contracts
US20190333030A1 (en) * 2018-04-30 2019-10-31 Bank Of America Corporation Blockchain-based digital token utilization
US10747201B2 (en) 2018-05-02 2020-08-18 Rockwell Automation Technologies, Inc. Subscription-based services using industrial blockchains
US11423352B2 (en) 2018-05-08 2022-08-23 Jpmorgan Chase Bank, N.A. Systems and methods for distributed ledger-based floorplanning
CN108665953B (zh) * 2018-05-08 2020-12-25 北京金山云网络技术有限公司 一种处方执行方法、装置、设备和存储介质
US20190347652A1 (en) * 2018-05-11 2019-11-14 Global Mobile Finance, Inc. Methodology and system for selecting nodes to execute chaincode in a blockchain environment with a mobile money gateway
CN108664650B (zh) * 2018-05-17 2020-05-22 百度在线网络技术(北京)有限公司 一种区块链网络的事务处理方法、装置、设备及存储介质
US10783164B2 (en) 2018-05-18 2020-09-22 Factom, Inc. Import and export in blockchain environments
US11134120B2 (en) 2018-05-18 2021-09-28 Inveniam Capital Partners, Inc. Load balancing in blockchain environments
US11170366B2 (en) 2018-05-18 2021-11-09 Inveniam Capital Partners, Inc. Private blockchain services
US11188920B2 (en) * 2018-05-23 2021-11-30 International Business Machines Corporation Autocommit transaction management in a blockchain network
CN108876401B (zh) 2018-05-29 2022-03-01 创新先进技术有限公司 基于区块链的商品理赔方法及装置、电子设备
US20190370791A1 (en) * 2018-05-30 2019-12-05 International Business Machines Corporation Distributing cryptographic asset returns
US10185595B1 (en) 2018-06-04 2019-01-22 Confia Systems, Inc. Program verification using hash chains
US20190378134A1 (en) * 2018-06-08 2019-12-12 R3 Ltd. Annotations for protocol flow implementing transactions of a distributed ledger system
US20190378128A1 (en) * 2018-06-08 2019-12-12 Rocket Lawyer Incorporated Cryptographic Contract Payment and Dispute Resolution System
US10937253B2 (en) * 2018-06-11 2021-03-02 International Business Machines Corporation Validation of vehicle data via blockchain
WO2019246626A1 (en) * 2018-06-22 2019-12-26 Mshift, Inc. Decentralized identity verification platforms
US11068464B2 (en) 2018-06-26 2021-07-20 At&T Intellectual Property I, L.P. Cyber intelligence system and method
CN108960827A (zh) * 2018-06-29 2018-12-07 佛山伊苏巨森科技有限公司 一种执行区块链应用的计算机系统
WO2020002974A1 (en) * 2018-06-30 2020-01-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for implementing a distributed blockchain transaction processing element in a datacenter
US10735472B2 (en) * 2018-07-10 2020-08-04 Cisco Technology, Inc. Container authorization policies for network trust
US11194911B2 (en) * 2018-07-10 2021-12-07 International Business Machines Corporation Blockchain technique for agile software development framework
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
US11328290B2 (en) 2018-08-06 2022-05-10 Inveniam Capital Partners, Inc. Stable cryptocurrency coinage
US11164180B1 (en) 2018-08-06 2021-11-02 United Services Automobile Association (Usaa) Privacy preservation in private consensus networks
US11216573B1 (en) * 2018-08-06 2022-01-04 United Services Automobile Association (Usaa) Privacy preservation in private consensus networks
US11620642B2 (en) 2018-08-06 2023-04-04 Inveniam Capital Partners, Inc. Digital contracts in blockchain environments
US11989208B2 (en) 2018-08-06 2024-05-21 Inveniam Capital Partners, Inc. Transactional sharding of blockchain transactions
CN110830414B (zh) * 2018-08-07 2022-04-08 吴勋 加密方法和装置、解密方法和装置
GB2576375A (en) * 2018-08-17 2020-02-19 Uvue Ltd Transaction system and method of operation thereof
US11580002B2 (en) 2018-08-17 2023-02-14 Intensity Analytics Corporation User effort detection
US11966917B2 (en) * 2018-09-12 2024-04-23 Bitclave Pte. Ltd. Systems and methods for providing personal rewards in a trustless ecosystem
US11212076B2 (en) 2018-09-19 2021-12-28 International Business Machines Corporation Distributed platform for computation and trusted validation
US11940978B2 (en) 2018-09-19 2024-03-26 International Business Machines Corporation Distributed platform for computation and trusted validation
US11032063B2 (en) 2018-09-19 2021-06-08 International Business Machines Corporation Distributed platform for computation and trusted validation
CN109345388B (zh) * 2018-09-20 2020-09-08 百度在线网络技术(北京)有限公司 区块链智能合约验证方法、装置及存储介质
US11226971B2 (en) 2018-10-03 2022-01-18 International Business Machines Corporation Blockchain implementing reliability database
US11243917B2 (en) 2018-10-03 2022-02-08 International Business Machines Corporation Blockchain implementing reliability database
US11314749B2 (en) 2018-10-03 2022-04-26 International Business Machines Corporation Blockchain implementing reliability database
US20200118120A1 (en) * 2018-10-15 2020-04-16 Eileen Chu Hing Methods and systems for providing a customized network
CN109379357B (zh) * 2018-10-18 2021-01-08 全链通有限公司 基于社会关系担保实现区块链实名制认证的方法及装置
US11568437B2 (en) 2018-10-31 2023-01-31 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing commerce rewards across tenants for commerce cloud customers utilizing blockchain
CN113434592A (zh) * 2018-10-31 2021-09-24 创新先进技术有限公司 基于区块链的数据存证方法及装置、电子设备
US11288280B2 (en) 2018-10-31 2022-03-29 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consumer data validation, matching, and merging across tenants with optional verification prompts utilizing blockchain
US10671372B2 (en) * 2018-11-01 2020-06-02 Dell Products L.P. Blockchain-based secure customized catalog system
EP3654578B1 (en) 2018-11-16 2022-04-06 SafeTech BV Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information
CN109347643B (zh) * 2018-11-21 2022-07-19 海南火链科技有限公司 一种基于以太坊的用户中心系统安全的监管方法及装置
AU2018348322C1 (en) * 2018-11-27 2020-06-25 Advanced New Technologies Co., Ltd. Asymmetric key management in consortium blockchain networks
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
US11354727B2 (en) 2018-11-27 2022-06-07 Advanced New Technologies Co., Ltd. System and method for improving security of smart contract on blockchain
US11138597B2 (en) 2018-11-27 2021-10-05 Advanced New Technologies Co., Ltd. System and method for improving security of smart contract on blockchain
EP3545644B8 (en) 2018-11-27 2021-03-10 Advanced New Technologies Co., Ltd. System and method for information protection
JP6756041B2 (ja) 2018-11-27 2020-09-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 情報保護用のシステム及び方法
AU2018347196B2 (en) 2018-11-27 2020-05-14 Advanced New Technologies Co., Ltd. System and method for information protection
JP6841911B2 (ja) 2018-11-27 2021-03-10 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 情報保護用のシステム及び方法
CN109937557B (zh) 2018-11-27 2022-02-22 创新先进技术有限公司 用于信息保护的系统和方法
CN110431580B (zh) * 2018-11-30 2023-05-16 创新先进技术有限公司 使用随机数表来减少并发区块链交易失败
CN111899102A (zh) * 2018-11-30 2020-11-06 创新先进技术有限公司 区块链中实现隐私保护的方法
US11070449B2 (en) * 2018-12-04 2021-07-20 Bank Of America Corporation Intelligent application deployment to distributed ledger technology nodes
CN109587452B (zh) * 2018-12-06 2021-09-24 安徽站乾科技有限公司 一种基于区域链的卫星传输系统
CN110046992A (zh) * 2018-12-12 2019-07-23 阿里巴巴集团控股有限公司 一种基于区块链智能合约的交易哈希获取方法及系统
FR3090938A1 (fr) * 2018-12-21 2020-06-26 Nabil DIFAÏ Dispositif unitaire et amovible d’inscription sur un registre distribué
US10733152B2 (en) 2018-12-29 2020-08-04 Alibaba Group Holding Limited System and method for implementing native contract on blockchain
ES2864179T3 (es) 2018-12-29 2021-10-13 Advanced New Technologies Co Ltd Sistema y método para implementar un contrato nativo en una cadena de bloques
US11971874B2 (en) 2019-01-31 2024-04-30 Salesforce, Inc. Systems, methods, and apparatuses for implementing efficient storage and validation of data and metadata within a blockchain using distributed ledger technology (DLT)
US11824864B2 (en) 2019-01-31 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative and metadata driven blockchain platform using distributed ledger technology (DLT)
CN110060155B (zh) * 2019-01-31 2021-03-23 创新先进技术有限公司 区块链的智能合约执行方法及装置和电子设备
US11811769B2 (en) 2019-01-31 2023-11-07 Salesforce, Inc. Systems, methods, and apparatuses for implementing a declarative, metadata driven, cryptographically verifiable multi-network (multi-tenant) shared ledger
US11488176B2 (en) 2019-01-31 2022-11-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing certificates of authenticity of digital twins transacted onto a blockchain using distributed ledger technology (DLT)
US11899817B2 (en) 2019-01-31 2024-02-13 Salesforce, Inc. Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11244313B2 (en) 2019-01-31 2022-02-08 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing declarative smart actions for coins and assets transacted onto a blockchain using distributed ledger technology (DLT)
US11886421B2 (en) 2019-01-31 2024-01-30 Salesforce, Inc. Systems, methods, and apparatuses for distributing a metadata driven application to customers and non-customers of a host organization using distributed ledger technology (DLT)
US11803537B2 (en) 2019-01-31 2023-10-31 Salesforce, Inc. Systems, methods, and apparatuses for implementing an SQL query and filter mechanism for blockchain stored data using distributed ledger technology (DLT)
US11876910B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for implementing a multi tenant blockchain platform for managing Einstein platform decisions using distributed ledger technology (DLT)
US11783024B2 (en) 2019-01-31 2023-10-10 Salesforce, Inc. Systems, methods, and apparatuses for protecting consumer data privacy using solid, blockchain and IPFS integration
US11875400B2 (en) 2019-01-31 2024-01-16 Salesforce, Inc. Systems, methods, and apparatuses for dynamically assigning nodes to a group within blockchains based on transaction type and node intelligence using distributed ledger technology (DLT)
CN111639362B (zh) * 2019-02-19 2023-12-22 创新先进技术有限公司 区块链中实现隐私保护的方法、节点和存储介质
KR20240011890A (ko) * 2019-03-15 2024-01-26 라인플러스 주식회사 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
JP7254954B2 (ja) * 2019-03-15 2023-04-10 ライン プラス コーポレーション ブロックチェーンで生成されたデータを認証する方法およびシステム
CN109995776B (zh) * 2019-03-26 2021-10-26 西安纸贵互联网科技有限公司 一种互联网数据验证方法及系统
SG11201908890XA (en) 2019-03-26 2019-10-30 Alibaba Group Holding Ltd System and method for implementing different types of blockchain contracts
CA3058236C (en) * 2019-03-27 2020-08-25 Alibaba Group Holding Limited Retrieving public data for blockchain networks using highly available trusted execution environments
EP3673435B1 (en) * 2019-03-27 2022-05-25 Advanced New Technologies Co., Ltd. Improving integrity of communications between blockchain networks and external data sources
KR102274294B1 (ko) 2019-03-29 2021-07-08 어드밴스드 뉴 테크놀로지스 씨오., 엘티디. 고 가용성의 신뢰 실행 환경을 사용하여 블록체인 네트워크에 대한 액세스 데이터를 리트리빙하는 방법
US11537592B1 (en) 2019-04-22 2022-12-27 Wells Fargo Bank, N.A. Metadata management through blockchain technology
US11038771B2 (en) 2019-04-26 2021-06-15 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)
US11880349B2 (en) 2019-04-30 2024-01-23 Salesforce, Inc. System or method to query or search a metadata driven distributed ledger or blockchain
US11995647B2 (en) 2019-04-30 2024-05-28 Salesforce, Inc. System and method of providing interoperable distributed and decentralized ledgers using consensus on consensus and delegated consensus
CN110175844A (zh) * 2019-05-07 2019-08-27 深圳前海微众银行股份有限公司 一种区块链中智能合约的发布方法及装置
CN114096962A (zh) * 2019-05-14 2022-02-25 普勒纳瑞亚公司 区块链高速缓存系统
CN110166254B (zh) * 2019-05-27 2020-09-29 国家电网有限公司 利用智能合约实现基于身份的密钥管理方法及装置
CN110245506B (zh) * 2019-05-30 2020-09-01 阿里巴巴集团控股有限公司 基于区块链的智能合约管理方法及装置、电子设备
US20210374741A1 (en) * 2019-06-01 2021-12-02 Bee Mortgage App, Inc. Compliance controller for the integration of legacy systems in smart contract asset control
KR102261125B1 (ko) * 2019-06-18 2021-06-07 주식회사 피어테크 블록체인 네트워크와 연동하여 사용자의 자산을 운영하는 장치 및 방법
CN111095338B (zh) * 2019-06-28 2023-06-30 创新先进技术有限公司 用于执行不同类型区块链合约的系统和方法
CN110324421B (zh) * 2019-07-03 2021-08-27 广东投盟科技有限公司 一种信息处理方法和区块链节点设备
KR102218297B1 (ko) * 2019-08-01 2021-02-24 주식회사 블룸테크놀로지 원장의 증명 가능 프루닝 시스템
CN110414270B (zh) * 2019-08-01 2022-12-06 谈建中 一种基于区块链的个人数据保护系统及方法
KR102212963B1 (ko) * 2019-09-06 2021-02-05 주식회사 파이랩테크놀로지 스마트 컨트랙트 자동 분리 시스템
US20210110386A1 (en) * 2019-10-15 2021-04-15 Coinbase, Inc. System and method for universal asset tokens
WO2021090838A1 (ja) 2019-11-08 2021-05-14 株式会社ワコム アートワークの取引方法及び取引装置、並びに、プログラム
CN111163093A (zh) * 2019-12-30 2020-05-15 杭州趣链科技有限公司 联盟区块链中从外部数据源获取外部数据的方法和装置
US11444749B2 (en) 2020-01-17 2022-09-13 Inveniam Capital Partners, Inc. Separating hashing from proof-of-work in blockchain environments
US11824970B2 (en) 2020-01-20 2023-11-21 Salesforce, Inc. Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules
US11611560B2 (en) 2020-01-31 2023-03-21 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing consensus on read via a consensus on write smart contract trigger for a distributed ledger technology (DLT) platform
CN111310206A (zh) * 2020-02-12 2020-06-19 腾讯科技(深圳)有限公司 一种数据加密方法、节点设备及存储介质
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
US20210350462A1 (en) * 2020-03-16 2021-11-11 Erich Lawson Spangenberg System and method of government lab to market solution
EP4152238A4 (en) 2020-05-21 2024-05-15 Wacom Co., Ltd. METHOD FOR MANAGING ILLUSTRATIONS, COMPUTER AND PROGRAM
US11669812B2 (en) * 2020-06-05 2023-06-06 Serge M Krasnyansky Contingent payments for virtual currencies
US11610448B2 (en) * 2020-07-09 2023-03-21 Toyota Motor North America, Inc. Dynamically adapting driving mode security controls
US11520926B2 (en) 2020-07-09 2022-12-06 Toyota Motor North America, Inc. Variable transport data retention and deletion
CN111562969B (zh) * 2020-07-15 2020-10-20 百度在线网络技术(北京)有限公司 一种区块链的智能合约实现方法、装置、设备和介质
CN111738710B (zh) 2020-07-23 2020-12-01 支付宝(杭州)信息技术有限公司 对智能合约的执行进行资源扣除的方法和处理器
US11087016B1 (en) 2020-08-20 2021-08-10 Spideroak, Inc. Implementation of a file system on a block chain
CN111770113B (zh) * 2020-08-31 2021-07-30 支付宝(杭州)信息技术有限公司 一种执行智能合约的方法、区块链节点和节点设备
US11936791B2 (en) * 2020-09-21 2024-03-19 Jason Burt Verification of the reliability of software and devices against assertions and guarantees
CN112199096A (zh) * 2020-09-30 2021-01-08 深圳壹账通智能科技有限公司 智能合约的部署检测方法、装置、节点设备及存储介质
US11550796B2 (en) 2020-12-04 2023-01-10 International Business Machines Corporation Coexistence mediator for facilitating blockchain transactions
CN112906068B (zh) * 2021-03-18 2024-03-12 上海零数众合信息科技有限公司 一种区块链外部代理技术计算控制方法
US12008526B2 (en) 2021-03-26 2024-06-11 Inveniam Capital Partners, Inc. Computer system and method for programmatic collateralization services
US20220374880A1 (en) * 2021-05-19 2022-11-24 Partior Pte. Ltd Distributed ledger based multi-currency clearing and settlement
US12007972B2 (en) 2021-06-19 2024-06-11 Inveniam Capital Partners, Inc. Systems and methods for processing blockchain transactions
US20230012276A1 (en) * 2021-07-07 2023-01-12 Instantgo, Inc. System, Method, and Apparatus for Decentralized E-Commerce
US11979484B2 (en) 2021-07-21 2024-05-07 Bank Of America Corporation System for electronic data encryption and decryption using a consensus draft process
CN114157445B (zh) * 2021-09-13 2022-11-04 北京天德科技有限公司 一种安全的区块链容器传送方法及传送系统
US11907179B2 (en) 2021-09-23 2024-02-20 Bank Of America Corporation System for intelligent database modelling
US11822524B2 (en) 2021-09-23 2023-11-21 Bank Of America Corporation System for authorizing a database model using distributed ledger technology
CN113946864B (zh) * 2021-10-15 2024-03-19 北京智融云河科技有限公司 一种机密信息获取方法、装置、设备及存储介质
KR102610011B1 (ko) * 2021-10-21 2023-12-04 고려대학교 산학협력단 DApp의 스마트 컨트랙트 수수료 감소 방법, 이를 수행하기 위한 기록 매체 및 연산 서버
WO2023122684A1 (en) * 2021-12-21 2023-06-29 Omnibek Ip Holding Llc Blockchain manager system
US11632251B1 (en) * 2022-02-28 2023-04-18 Snowflake Inc. Commit signing service
US20230334494A1 (en) * 2022-04-18 2023-10-19 Tmrw Foundation Ip S. À R.L. Cryptographic digital assets management system
US20230376940A1 (en) * 2022-05-20 2023-11-23 Mastercard International Incorporated Method and system for authorization for cryptocurrency on distributed ledger
CN114820175B (zh) * 2022-06-27 2022-09-23 浙江数秦科技有限公司 一种基于区块链的贷款用途监督方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101366035B (zh) * 2005-12-13 2012-09-05 格马尔托股份有限公司 用于执行中间代码编译的应用程序的方法
JP2011048661A (ja) * 2009-08-27 2011-03-10 Nomura Research Institute Ltd 仮想サーバ暗号化システム
JP2013528872A (ja) * 2010-06-02 2013-07-11 ヴイエムウェア インク マルチ・テナント・クラウドにおける顧客仮想計算機の保護
JP5564453B2 (ja) * 2011-02-25 2014-07-30 株式会社エヌ・ティ・ティ・データ 情報処理システム、及び情報処理方法
US20150379510A1 (en) 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US9389898B2 (en) * 2012-10-02 2016-07-12 Ca, Inc. System and method for enforcement of security controls on virtual machines throughout life cycle state changes
US10340038B2 (en) 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
US9818092B2 (en) 2014-06-04 2017-11-14 Antti Pennanen System and method for executing financial transactions
TW201546649A (zh) * 2014-06-05 2015-12-16 Cavium Inc 用於基於硬體安全模組的基於雲端的web服務安全管理的系統和方法
US20160055553A1 (en) * 2014-08-23 2016-02-25 Bryan Alan Hill Method and system for collaborative enterprise development
US9967334B2 (en) 2015-03-02 2018-05-08 Dell Products Lp Computing device configuration and management using a secure decentralized transaction ledger
US20160283920A1 (en) 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
US10635471B2 (en) * 2015-05-15 2020-04-28 Joshua Paul Davis System and method for an autonomous entity
CN104980438B (zh) * 2015-06-15 2018-07-24 中国科学院信息工程研究所 一种虚拟化环境中数字证书撤销状态检查的方法和系统
US20170011460A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
AU2016100059A4 (en) 2016-01-24 2016-03-03 The Trustee For The Mckeon Family Trust integratedCONTRACT is a process of embedding dynamic data characteristics into financial and other instruments using Blockchain technology and a unique method for transacting on online peer to peer and marketplace exchanges.

Also Published As

Publication number Publication date
CA3023492A1 (en) 2017-12-14
EP3465516B1 (en) 2020-12-23
MX2018015044A (es) 2019-03-06
RU2018142891A (ru) 2020-06-05
PH12018550194A1 (en) 2019-09-30
KR20190015287A (ko) 2019-02-13
ZA201807413B (en) 2020-01-29
CN109313685A (zh) 2019-02-05
SG11201809866PA (en) 2018-12-28
CO2018013180A2 (es) 2018-12-14
AU2017277857B2 (en) 2021-10-07
JP2019524018A (ja) 2019-08-29
KR102316858B1 (ko) 2021-10-22
WO2017213943A1 (en) 2017-12-14
BR112018074323A2 (pt) 2019-03-06
BR112018074323A8 (pt) 2023-01-31
AU2017277857A1 (en) 2018-11-15
US20170353309A1 (en) 2017-12-07
IL263261B (en) 2021-03-25
IL263261A (en) 2018-12-31
CL2018003470A1 (es) 2019-03-15
US10447478B2 (en) 2019-10-15
EP3465516A1 (en) 2019-04-10
CN109313685B (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
JP6936259B2 (ja) ブロックチェーンシステムのための暗号化アプリケーション
US11978024B2 (en) Protocol flow for notarizing a transaction
CN110766550B (zh) 基于区块链的资产查询方法及装置、电子设备
US20210326868A1 (en) Information sharing methods and systems
US11263632B2 (en) Information sharing methods, apparatuses, and devices
US11431503B2 (en) Self-sovereign data access via bot-chain
US20190378134A1 (en) Annotations for protocol flow implementing transactions of a distributed ledger system
US20220044316A1 (en) Blockchain implemented transfer of multi-asset digital wallets
US11954686B2 (en) Information sharing methods and systems
US20220156725A1 (en) Cross-chain settlement mechanism
US11888981B2 (en) Privacy preserving auditable accounts
CN112074861A (zh) 针对时间敏感事件的基于区块链的消息服务
EP3961546A1 (en) Information sharing methods, apparatuses, and devices
CN112074862A (zh) 基于消息反馈的存储管理
NZ747888A (en) Cryptographic applications for a blockchain system
Cai et al. In-Depth Interpretation of Ethereum

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210826

R150 Certificate of patent or registration of utility model

Ref document number: 6936259

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150