(57)【要約】本発明は、スマート暗号通貨ウォレットを提供する。本発明の実施形態は、セキュアで暗号化が実施されたタスクの実行のためにブロックチェーン実装システム及び対応する方法を提供する。本発明は、ビットコインブロックチェーン、そのバリエーション又は代替的なブロックチェーンプラットフォームに関連して実装されてよい。本発明は、既知の暗号通貨ウォレットの機能を超える、拡張された機能を実行することができる強化されたデジタルウォレットを提供する。本発明によるシステムは、デジタルウォレットと、該デジタルウォレット内に組み込まれるか、該デジタルウォレットに関連付けられるか又は該デジタルウォレットと対話するように配置されるプロセス実行コンポーネント、例えばインタプリタとを備える。インタプリタは、ブロックチェーントランザクションのスクリプトに関連付けられるか、該スクリプト内で提供される少なくとも１つのトリガに応答して、少なくとも１つのプロセスを実行又は開始するように配置される。トリガは、１つ以上のコード及び／又はパラメータを含んでよい。トリガは、ロッキングスクリプトのメタデータ内で成文化され、トランザクションの出力が使われると、ウォレットのインタプリタに提供されてよい。インタプリタは、ウォレットのプラグインとして又はウォレットの拡張としてインストールされてよい。
2021505002.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーン実装システムであって：
デジタルウォレットと；
前記デジタルウォレットの中に組み込まれるか、該ウォレットに関連付けられるか又は該ウォレットと対話するように構成され、かつブロックチェーントランザクションに関連付けられるスクリプト内で提供される少なくとも１つのトリガに応答して少なくとも１つのプロセスを実行及び／又は開始するように構成される、プロセス実行コンポーネントと；
を備え、
前記プロセス実行コンポーネントは、前記トリガによって提供又は表される成文化された命令を実行可能ロジックに翻訳するように構成されるインタプリタであるか、かつ／又は該インタプリタを備える、システム。
【請求項２】
前記ウォレットは暗号通貨ウォレットである、
請求項１に記載のシステム。
【請求項３】
前記少なくとも１つのトリガは、１つ以上のコード、フラグ、命令及び／又はパラメータを備える、
請求項１又は２に記載のシステム。
【請求項４】
前記少なくとも１つのトリガは、前記ウォレットの外部の宛先に信号を送信させる、
請求項１乃至３のいずれか一項に記載のシステム。
【請求項５】
前記プロセスは、予め決定されており、前記プロセス実行コンポーネント及び／又は前記ウォレットに知られている、
請求項１乃至４のいずれか一項に記載のシステム。
【請求項６】
前記プロセスは、前記スクリプトによって決定されるか又は前記スクリプト内で指定され、好ましくは、前記プロセス実行コンポーネントは、前記スクリプト内の１つ以上のアイテムを実行可能ロジックに翻訳又は解釈するように構成される、
請求項１乃至５のいずれか一項に記載のシステム。
【請求項７】
前記少なくとも１つのトリガ及び／又は少なくとも１つのプロセスは、コントラクトに従って選択又は決定され、好ましくは、前記コントラクトはスマートコントラクトである、
請求項１乃至６のいずれか一項に記載のシステム。
【請求項８】
前記少なくとも１つのトリガは、前記スクリプトによって提供されるメタデータ内で又は該メタデータによって提供される、
請求項１乃至７のいずれか一項に記載のシステム。
【請求項９】
前記スクリプトは、前記ブロックチェーントランザクションの出力に関連付けられ、前記出力を使うことは、前記ブロックチェーン上の受取人へのトークン及び／又は通貨の一部の移転を引き起こす、
請求項１乃至８のいずれか一項に記載のシステム。
【請求項１０】
当該システムは、複数のデジタルウォレット及び／又はプロセス実行コンポーネントを更に備える、
請求項１乃至９のいずれか一項に記載のシステム。
【請求項１１】
デジタル又は暗号通貨ウォレットの中に組み込まれるか、該ウォレットに関連付けられるか又は該ウォレットと対話するように構成され、かつブロックチェーントランザクションのスクリプトに関連付けられるか該スクリプト内で提供される少なくとも１つのトリガに応答して少なくとも１つのプロセスを実行するように構成される、プロセス実行コンポーネントを提供するステップ、
を含む、ブロックチェーン実装方法。
【請求項１２】
ｉ）前記少なくとも１つのトリガは、前記プロセス実行コンポーネントによる１つ以上のプロセスの実行を開始するように構成され、
ｉｉ）前記少なくとも１つのトリガは、１つ以上のコード、命令、フラグ及び／又はパラメータを備え、
ｉｉｉ）前記プロセス実行コンポーネントは、インタプリタであり、かつ／又は
ｉｖ）前記少なくとも１つのトリガは、前記ウォレットの外部の宛先に信号を送信させる、
請求項１１に記載の方法。
【請求項１３】
ｉ）前記プロセスは、予め決定されており、前記プロセス実行コンポーネント及び／又はウォレットに知られており、
ｉｉ）前記プロセスは、前記スクリプトによって決定されるか前記スクリプト内で指定され、好ましくは、前記プロセス実行コンポーネントは、前記スクリプト内の１つ以上のアイテムを実行可能ロジックに翻訳又は解釈するように構成され、
ｉｉｉ）前記少なくとも１つのトリガ及び／又は少なくとも１つのプロセスは、コントラクト、好ましくはスマートコントラクトに従って選択又は決定され、
ｉｖ）前記少なくとも１つのトリガは、前記スクリプト内で提供されるメタデータ内で又は該メタデータによって提供され、かつ／又は
ｖ）前記スクリプトは、前記ブロックチェーントランザクションの出力に関連付けられ、前記出力を使うことは、ブロックチェーン上の受取人へのトークン及び／又は通貨の一部の移転を引き起こす、
請求項１１又は１２に記載の方法。
【請求項１４】
前記デジタルウォレットをダウンロード及び／又はインストールするステップ；及び／又は
前記プロセス実行コンポーネントをダウンロード及び／又はインストールするステップ；
を更に含む、請求項１１乃至１３のいずれか一項に記載の方法。
【請求項１５】
ブロックチェーントランザクションのスクリプト内で又は該スクリプトによって提供される１つ以上の成文化された命令を使用して、デジタル又は暗号通貨ウォレットに関連付けられるか、該ウォレットとともに動作可能であるか又は該ウォレット内に組み込まれるインタプリタに、前記成文化された命令を実行可能ロジックに翻訳させるステップ、
を含む、ブロックチェーン実装方法。
【請求項１６】
前記成文化された命令を前記スクリプト内に提供するステップ、及び／又は
前記ブロックチェーントランザクションを、ブロックチェーン台帳に書き込まれるブロックチェーンネットワークに提示するステップ、
を更に含む、請求項１５に記載の方法。
【請求項１７】
ｉ）ブロックチェーントランザクションのスクリプト内で又は該スクリプトによって提供される１つ以上の成文化された命令を認識するようにインタプリタを構成するステップであって、前記インタプリタは、デジタル又は暗号通貨ウォレットに組み込まれているか、該ウォレットに関連付けられるか又は該ウォレットとともに動作可能である、ステップ、又は
ｉｉ）ｉ）で定義されるインタプリタを提供するステップ、
を含む、ブロックチェーン実装方法。
【請求項１８】
ブロックチェーントランザクションのスクリプト内で又は該スクリプトによって提供される１つ以上の成文化された命令を認識するように構成されるインタプリタであって、デジタル又は暗号通貨ウォレットに組み込まれているか、該ウォレットに関連付けられるか又は該ウォレットとともに動作可能であるインタプリタ、
を備える、ブロックチェーン実装システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、分散台帳（ブロックチェーン）技術に関し、より具体的には、そのような技術を使用してコンピュータ実装プロセスを実行又はトリガすることに関する。また、本発明は、デジタルウォレット技術及びスマートコントラクトにも関する。本発明は、暗号化指向イベントを通して実施されるプロセスのセキュアな実施に関する。
【背景技術】
【０００２】
本明細書において、「ブロックチェーン」という用語を、電子的なコンピュータベースの分散台帳のすべての形式を包含するように使用する。これらは、コンセンサスベースブロックチェーン及びトランザクションチェーン技術、許可及び未許可台帳、共有台帳及びそれらの変形を含む。最も広く知られているブロックチェーン技術の用途はビットコイン台帳であるが、他のブロックチェーンの実装が提案され、開発されている。本明細書では、便宜性及び例示の目的のためにビットコインが参照され得るが、本発明は、ビットコインブロックチェーンでの使用に限定されず、代替的なブロックチェーン実装及びプロトコルが本発明の範囲内にある。「ビットコイン」という用語は、ビットコインブロックチェーンのいずれかの分野、バージョン又は変形を含んでよい。「ユーザ」という用語は、本明細書では、文脈に応じて、人間又はプロセッサベースのリソースを指すことがある。
【０００３】
ブロックチェーンは、ブロックにより構成される、コンピュータベースの非集中型の分散システムとして実装されるピアツーピア電子台帳であり、ブロックはトランザクションにより構成される。各トランザクションは、ブロックチェーンシステム内の参加者間におけるデジタル資産のコントロールの移転を符号化するデータ構造であり、少なくとも１つの入力と少なくとも１つの出力を含む。各ブロックは、以前のブロックのハッシュを含み、ブロックは一緒にチェーン化されて、その始めからブロックチェーンに書き込まれたすべてのトランザクションの永久的な変更できないレコードを作成する。トランザクションは、それらの入力及び出力に組み込まれるスクリプトとして知られる小さなプログラムを含み、このスクリプトは、どのように、何によってトランザクションの出力にアクセスすることができるかを指定する。ビットコインプラットフォームにおいて、これらのスクリプトは、スタックベースのスクリプティング言語を使用して書かれる。
【０００４】
トランザクションがブロックチェーンに書き込まれるためには、「有効」でなければならない。ネットワークノード（マイナ（ｍｉｎｅｒｓ））は、各トランザクションが有効であることを保証する作業を実行し、無効なトランザクションはネットワークから拒絶される。ノード上にインストールされたソフトウェアクライアントは、そのロッキング及びアンロッキングスクリプトを実行することによって、この検証作業を未使用トランザクション（ｕｎｓｐｅｎｔ  ｔｒａｎｓａｃｔｉｏｎ：ＵＴＸＯ）に対して実行する。ロッキング及びアンロッキングスクリプトの実行により、真（ＴＲＵＥ）であると評価された場合、トランザクションは有効であり、トランザクションはブロックチェーンに書き込まれる。したがって、トランザクションがブロックチェーンに書き込まれるためには、ｉ）トランザクションを受け取った第１ノードによって検証されなければならず、トランザクションが検証された場合、ノードは、それをネットワーク内の他のノードに中継し、ｉｉ）マイナよって構築された新たなブロックに追加されなければならず、ｉｉｉ）マイニングされる、すなわち、過去のトランザクションの公的台帳に追加されなければならない。
【０００５】
ブロックチェーン技術は、暗号通貨実装の使用について最も広く知られているが、デジタル起業家達は、新たなシステムを実装するために、ビットコインが基づいている暗号通貨セキュリティシステムと、ビットコイン上に格納することができるデータとの双方の使用を探求し始めている。暗号通貨の領域に限定されない自動化タスク及びプロセスにビットコインを使用することができれば非常に有利であろう。そのようなソリューションは、それらの用途はより多方面にわたるが、ブロックチェーンの利点（例えば永続性、イベントの耐タンパレコード、分散処理等）を利用することができるであろう。
【０００６】
現在の研究の一分野は、「スマートコントラクト」の実装のためのブロックチェーンの使用である。これらは、マシン読取可能なコントラクト（ｃｏｎｔｒａｃｔ（契約））又は合意（ａｇｒｅｅｍｅｎｔ）の項の実行を自動化するように設計されたコンピュータプログラムである。自然言語で書かれる従来のコントラクトとは異なり、スマートコントラクトは、結果を生成するために入力を処理することができ、その後、それらの結果に応じてアクションを実行させることができるルールを含む、マシン実行可能なプログラムである。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
スマートコントラクトの実行及び実施に対する１つの既知のアプローチは、コントラクトに従って実行される必要のあるイベントを取り扱い、監督するコンピュータベースのリソースとして機能する、ボット又はボットのネットワークを使用することである。しかしながら、これは、第三者ボットへの依存を伴い、複雑なリソース集約的なインフラストラクチャにつながる可能性がある。悪意のある不正なアクティビティに対して、ボットそれ自体をセキュアにしなければならないため、セキュリティ問題が起こる可能性がある。したがって、ブロックチェーン技術の利点（例えば暗号化セキュリティ、擬似匿名性、非集中展開等）を継承し、かつ特定の条件下でイベント及びプロセスを生成することができる、強化されたブロックチェーンで実装されるソリューションを提供することが望ましい。本発明は、スマートコントラクトでの使用に限定されず、制御された条件下で実行及び／又はトリガされる１つ以上のイベントを必要とする状況に関連して有利に使用することができることに留意されたい。
【課題を解決するための手段】
【０００８】
本発明によると、添付の特許請求の範囲で定義されるソリューションが提供される。
【０００９】
本発明は、コンピュータ実装及び／又はブロックチェーン実装システム及び方法として説明され得る。あるいはまた、いつ及び／又はどのようにイベント又はプロセスがブロックチェーントランザクションによって、好ましくはブロックチェーンスクリプトによってトリガされるかを制御するためのセキュリティ方法として説明され得る。あるいはまた、本発明は、強化又は改善されたデジタルウォレットとして説明され得る。スマート又はインテリジェントデジタルウォレットを提供するものとして説明され得る。好ましくは、これはスマート暗号通貨ウォレットである。
【００１０】
あるいはまた、本発明は、ブロックチェーン上の暗号化イベントを、オフブロック（ｏｆｆ−ｂｌｏｃｋ）で実行されるイベント及びプロセスと統合するためのシステム／方法を提供するものとして説明され得る。本発明は、タスクの実行のために、ブロックチェーンネットワーク及び非ブロックチェーンリソースを含む、代替的なインフラストラクチャ及びアーキテクチャを提供し得る。タスクは、コントラクト、好ましくはスマートコントラクトによって指定されてよい。
【００１１】
本発明によると、ブロックチェーントランザクションのスクリプト内で又は該スクリプトによって提供される１つ以上の成文化された命令（ｃｏｄｉｆｉｅｄ  ｉｎｓｔｒｕｃｔｉｏｎｓ）を認識するように構成されるプロセス実行コンポーネントであって、ブロックチェーントランザクション処理コンポーネントに組み込まれているか、該コンポーネントに関連付けられるか又は該コンポーネントとともに動作可能なプロセス実行コンポーネント、
を備えるブロックチェーン実装システムが提供され得る。
【００１２】
あるいはまた、本発明は、
ブロックチェーントランザクション処理コンポーネントと、
プロセス実行コンポーネントと、
を備えるブロックチェーン実装システムを提供し得る。
【００１３】
ブロックチェーントランザクション処理コンポーネントは、ブロックチェーントランザクション（Ｔｘ）を生成、伝送及び／又は処理するように構成されるソフトウェアリソースであってよい。ブロックチェーントランザクション処理コンポーネントは、ブロックチェーンネットワークとの通信のために構成されてもよい。ブロックチェーントランザクション処理コンポーネントは、デジタルをレットであってもよく、デジタルウォレットを含んでもよい。以下では、便宜性のために、「デジタルウォレット」、「暗号通貨ウォレット」又は単に「ウォレット」という用語は、「ブロックチェーントランザクション処理コンポーネント」と交換可能に使用されてよい。
【００１４】
プロセス実行コンポーネントは、デジタルウォレットに組み込まれるか、該デジタルウォレットに関連付けられるか又は該デジタルウォレットと対話／動作するように構成され得る。プロセス実行コンポーネントは、ブロックチェーントランザクションのスクリプトに関連付けられるか該スクリプト内で提供される少なくとも１つのトリガに応答して、少なくとも１つのプロセスを実行及び／又は開始するように構成され得る。トリガは、アクチュエータ又はイニシエータ、何か他のことを引き起こす何かであってよい。トリガされる、この「何か」、すなわちプロセスは、トリガを行うもの以外の、トランザクションとは異なるか、該トランザクションとは独立であるか又は該トランザクションとは無関係であってよい。
【００１５】
したがって、本発明は、スクリプト言語を使用して明示的にプログラミングすることによってスクリプト内で実行ロジックを提供しようと試みる従来技術からの相違を示す。対照的に、本発明の１つ以上の実施形態によると、ロジックはスクリプト内で単に成文化される。
【００１６】
本発明の別の利点は、ウォレットに組み込まれる／関連付けれるインタプリタの使用が、先行技術の構成のように、所望のタスクを実行するために、外部の第三者「ボット」又は「オラクル」を必要としないことを意味することにある。代わりに、本発明は、ブロックチェーンから直接的タスク／プロセスの実行を可能にする。したがって、必要とされるコンピューティングリソースは少なく、本発明は、先行技術によって提示されるものより、より効率的なソリューションを提供する。
【００１７】
トリガは、プロセス実行コンポーネントによって識別又は検出されることができるスクリプトコンポーネントであってよい。トリガは様々な形態をとってよく、本発明はこの点で限定されない。トリガは、プロセス実行コンポーネントによって理解、解釈され得る、指定されたトリガとして機能するようにメタデータに挿入され得る、１つ以上のコード、識別子、フラグ、キーワード、値又は任意のアイテムであってよい。
【００１８】
プロセスの実行は、トリガの検出又は処理に応答して、タスクの実行という結果になり得るか、別のコンピューティングリソースにタスクを実行させ得る。好ましくは、プロセスは、ウォレット以外のリソースによって実行される。
【００１９】
スクリプトは、１つ又は複数のトリガを含んでよい。各トリガは、１つ又は複数のプロセスを開始してよい。「イベント」又は「タスク」という用語は、ときどき本明細書では「プロセス」の代わりに使用されることもある。トリガは、１つ以上の成文化された命令を含んでよい。
【００２０】
スクリプトは、当技術分野で公知であるように、ブロックチェーントランザクション内の出力をセキュアにするように構成されるロッキング（ｌｏｃｋｉｎｇ）スクリプトであってよい。ロッキングスクリプトは、当技術分野で公知であるように、ｒｅｄｅｅｍスクリプトのハッシュを含んでよい。ロッキングスクリプトによってロックされた資産をロック解除するためには、適切なアンロッキングスクリプトが必要とされる。アンロッキングスクリプトは、ウォレットによって提供され得る。当技術分野に従って、出力を使おうと試みると、アンロッキング及びロッキングスクリプトが評価され得る。
【００２１】
ブロックチェーントランザクションは、ビットコインネットワーク、ビットコインプロトコルの任意のバリエーション又は代替的なプロトコル／プラットフォームを含む、任意のブロックチェーンプラットフォームにおける実行のために構成されたトランザクションであってよい。ウォレットは、暗号通貨ウォレットであってよい。ウォレットは、暗号化鍵を格納し、暗号通貨トランザクションを処理するように構成され得る。
【００２２】
少なくとも１つのトリガは、プロセス実行コンポーネントによる１つ以上のプロセスの実行を開始するように構成され得る。少なくとも１つのトリガは、１つ以上のコード及び／又はパラメータを含んでよい。トリガは、プロセス実行コンポーネントによって読取可能、認識可能及び／又は検出可能な成文化された命令であり得るか、該成文化された命令を提供してよい。
【００２３】
プロセス実行コンポーネントは、インタプリタであり得るか、インタプリタを含んでよい。プロセスは、仮想マシンであり得るか、仮想マシンを含んでよい。以下では、「インタプリタ」という用語は、参照の容易性のために、「プロセス実行コンポーネント」と交換可能に使用されてよい。インタプリタは、トリガによって提供されるか又はトリガによって表される成文化された命令を、実行可能ロジックに翻訳するように構成され得る。実行可能ロジックの実行は、プロセスを開始及び／又は実行させ得る。
【００２４】
インタプリタは、ウォレットに対するプラグイン又はアドオンコンポーネントとして機能するように構成され得る。ウォレットは、以下で説明されるような一般的なデジタルをレットであってよく、かつ／又はインタプリタは、タスク、コントラクト又はウォレットとともに動作するように構成されるアプリケーション固有コンポーネントであってよい。したがって、ある意味では、ウォレットは、汎用コンピューティングリソースと見なされてもよく、インタプリタは、その汎用リソースとともに動作するように構成されるアプリケーションソフトウェアとみなされてもよい。
【００２５】
ウォレットは、ユーザによって操作される電子デバイスにインストールされてよい。ユーザは、ウォレットを操作することができ、例えば登録プロセスを介してウォレットに関連付けられることができるエンティティ（人間又はコンピューティングリソース）であってよい。ユーザは、ウォレットを操作することを許可されてよく、ウォレットにアクセスすることを許容される前に検証プロセスを受けてよい。
【００２６】
トランザクションスクリプト内で提供されるコード、パラメータ、変数及び／又は命令は、アプリケーションソフトウェアを特定の方法で実行させる。したがって、本発明は、暗号化実施ブロックチェーントランザクションの使用及び移転を介してタスクを自動化して実行するために使用することができる、セキュアかつパワフルで多用途なブロックチェーン実装コンピューティングツールを提供するものとして見ることができる。
【００２７】
少なくとも１つのトリガは、ウォレット及び／又はインタプリタの外部の宛先に信号を送信させ得る。信号は任意のタイプの信号であってよい、信号は、何らかのタイプのメッセージを含んでよい。信号は、オフブロックの宛先（ｏｆｆ−ｂｌｏｃｋ  ｄｅｓｔｉｎａｔｉｏｎ）に送信されてよい。
【００２８】
プロセスは、予め決定されて、プロセス実行コンポーネントに知られ（コード化されるか又は他の方法でその中に提供され）てよい。プロセスはウォレットに知られてもよい。
【００２９】
プロセスは、スクリプトによって決定され得るか、スクリプトによって指定され得る。プロセス実行コンポーネントは、スクリプト内の１つ以上のアイテムを実行可能ロジックに翻訳又は解釈するように構成され得る。これらのアイテムは、様々な形式をとることができる。それらは、コード、フラグ、命令、パラメータ等であってよい。
【００３０】
少なくとも１つのトリガ及び／又は少なくとも１つのプロセスは、コントラクト、スキーム、合意又は他のアクティビティに従って選択又は決定され得る。ウォレット及び／又はインタプリタのユーザは、コントラクト、スキーム、合意又は他のアクティビティにおける参加者であってよい。コントラクトは、当技術分野で公知のマシン読取可能かつ実行可能なスマートコントラクトであってよい。
【００３１】
少なくとも１つのトリガは、スクリプト内で提供されるメタデータ内で、該メタデータを介して又は該メタデータによって提供され得る。スクリプトは、ブロックチェーントランザクションの出力に関連付けられ得る。スクリプトはロッキングスクリプトであってよい。スクリプトは、ｒｅｄｅｅｍ（引き換え）スクリプトを含んでよい。出力を使うこと（ｓｐｅｎｄｉｎｇ）は、ブロックチェーン上の受取人へのトークン及び／又は通貨の一部の移転を引き起こすか実行し得る。通貨は暗号通貨であってよい。
【００３２】
システムは、複数のデジタルウォレット及び／又はプロセス実行コンポーネントを更に含んでよい。したがって、ウォレット及び関連付けられるインタプリタのネットワークが提供され得る。これらは、相互に及び／又はブロックチェーンと対話するように構成されてよい。
【００３３】
本発明は、１つ以上の方法も提供する。方法は、上述のシステムの実施形態の使用に対応するステップを含んでよい。上述の任意の特徴、態様又は実施形態が、以下で説明される方法のいずれかで存在し得るか、適用可能であり得る。
【００３４】
本発明は、
デジタル又は暗号通貨ウォレットの中に組み込まれるか、該ウォレットに関連付けられるか又は該ウォレットと対話／動作するように構成され、かつブロックチェーントランザクションのスクリプトに関連付けられるか該スクリプト内で提供される少なくとも１つのトリガに応答して少なくとも１つのプロセスを開始及び／又は実行するように構成される、プロセス実行コンポーネントを提供するステップ、
を含むブロックチェーン実装方法を含み得る。
【００３５】
好ましくは、
ｉ）少なくとも１つのトリガは、プロセス実行コンポーネントによる１つ以上のプロセスの実行を開始するように構成され、
ｉｉ）少なくとも１つのトリガは、１つ以上のコード、命令、フラグ及び／又はパラメータを備え、
ｉｉｉ）プロセス実行コンポーネントは、インタプリタであり、
ｉｖ）トリガは、少なくとも１つの成文化された命令であり、かつ／又は
ｉｖ）少なくとも１つのトリガは、ウォレットの外部の宛先に信号を送信させる。
【００３６】
プロセス実行コンポーネントは、上述のようにインタプリタであってよい。
【００３７】
あるいはまた、
ｉ）プロセスは、予め決定されており、プロセス実行コンポーネント及び／又はウォレットに知られており、
ｉｉ）プロセスは、スクリプトによって決定されるかスクリプト内で指定され、好ましくは、プロセス実行コンポーネントは、スクリプト内の１つ以上のアイテムを実行可能ロジックに翻訳又は解釈するように構成され、
ｉｉｉ）少なくとも１つのトリガ及び／又は少なくとも１つのプロセスは、コントラクト、好ましくはスマートコントラクトに従って選択又は決定され、
ｉｖ）少なくとも１つのトリガは、スクリプト内で提供されるメタデータ内で又は該メタデータによって提供され、かつ／又は
ｖ）スクリプトは、ブロックチェーントランザクションの出力に関連付けられ、出力を使うことは、ブロックチェーン上の受取人へのトークン及び／又は通貨の一部の移転を引き起こす。
【００３８】
方法は、
デジタルウォレットをダウンロード及び／又はインストールするステップ、及び／又は
プロセス実行コンポーネントをダウンロード及び／又はインストールするステップ、
を更に含んでもよい。
【００３９】
あるいはまた、本発明は、
ブロックチェーントランザクションのスクリプト内で又は該スクリプトによって提供される１つ以上の成文化された命令を使用して、デジタルウォレットに関連付けられるか、該ウォレットとともに動作可能であるか又は該ウォレット内に組み込まれるインタプリタに、成文化された命令を実行可能ロジックに翻訳させるステップ、
を含むブロックチェーン実装方法を提供し得る。
【００４０】
方法は、
成文化された命令をスクリプト内に提供するステップ、及び／又は
ブロックチェーントランザクションを、ブロックチェーン台帳に書き込まれるブロックチェーンネットワークに提示するステップ、
を更に含んでもよい。
【００４１】
ｉ）ブロックチェーントランザクションのスクリプト内で又は該スクリプトによって提供される１つ以上の成文化された命令を認識するようにインタプリタを配置するステップであって、インタプリタは、デジタルウォレットに組み込まれているか、該ウォレットに関連付けられるか又は該ウォレットとともに動作可能である、ステップ、又は
ｉｉ）ｉ）で定義されるインタプリタを提供するステップ、
を更に含んでもよい。
【００４２】
本発明のこれら及び他の態様は、本明細書で説明される実施形態から明らかになるか、その実施形態に関連して説明されよう。本発明の実施形態は、単なる例示として、添付の図面に関連して説明される。
【図面の簡単な説明】
【００４３】
【図１】スマートコントラクトロジックが特別な強化されたウォレットによって管理される、本発明の実施形態を示す図である。
【００４４】
【図２】先行技術で公知である、ノードの例示的なブロックチェーンネットワークを示す図である。
【００４５】
【図３】例示のノードをブロック図の形式で示す図である。
【発明を実施するための形態】
【００４６】
本発明の技術的背景を提供するために、初めに図２を参照する。図２は、ブロックチェーンに関連付けられる例示のブロックチェーンネットワーク１００をブロック図の形式で示している。ブロックチェーンネットワークは、他のメンバからの招待や同意なしに、だれでも参加し得るピアツーピアネットワークである。ブロックチェーンネットワーク１００が動作しているブロックチェーンプロトコルのインスタンスを実行している分散電子デバイスが、ブロックチェーンネットワーク１００に参加し得る。そのような分散電子デバイスはノード１０２として参照されてよい。ブロックチェーンプロトコルは、例えばビットコインプロトコル又は他の暗号通貨であってよい。
【００４７】
ブロックチェーンプロトコルを実行し、ブロックチェーンネットワーク１００のノード１０２を形成する電子デバイスは、様々なタイプのものであってよく、例えばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、スマートフォン等のモバイルデバイス、スマートウォッチ等のウェアラブルコンピュータ又は他の電子デバイス等のコンピュータを含む。
【００４８】
ブロックチェーンネットワーク１００のノード１０２は、有線及び無線通信技術を含み得る適切な通信技術を使用して互いに結合される。多くの場合において、ブロックチェーンネットワーク１００は少なくとも部分的にインターネット上で実装され、個々のノード１０２の一部は、地理的に散在する場所に配置されてよい。
【００４９】
ノード１０２は、ブロックチェーン上のすべてのトランザクションのグローバル台帳を維持する。グローバル台帳は分散台帳であり、各ノード１０２は、グローバル台帳の完全なコピー又は部分的コピーを格納してよい。グローバル台帳に影響する、ノード１０２によるトランザクションは、他のノード１０２によって検証されるので、グローバル台帳の有効性は維持される。ビットコインプロトコル又は代替的なプロトコルから派生した任意の変形を使用するもののように、ブロックチェーンネットワークを実装及び操作する詳細は、当業者によって認識されるであろう。
【００５０】
各トランザクションは典型的に、１つ以上の入力と１つ以上の出力を有する。入力及び出力に組み込まれたスクリプトは、どのように及び何によってトランザクションの出力にアクセスすることができるかを指定する。トランザクションの出力は、トランザクションの結果として秘密暗号鍵及びトークンのコントロールを移転させることができるアドレスであってよい。これらの鍵／トークンは次いで、利用可能なトランザクション出力として、その出力アドレスに関連付けられる。暗号通貨の文脈では、ビットコインと同様に、利用可能なトランザクション出力は、未使用トランザクション出力（ＵＴＸＯ：ｕｎｓｐｅｎｔ  ｔｒａｎｓａｃｔｉｏｎ  ｏｕｔｐｕｔ）と称されてもよい。その後のトランザクションは、次いで、これらの鍵／トークンを１つ以上の他のアドレスに移転させるために、そのアドレスを入力として参照してもよい。
【００５１】
ノード１０２は、それらの機能に応じて異なるタイプ又はカテゴリのものであってよい。ノード１０２に関連付けられる４つの基本的な機能、すなわち、ウォレット、マイニング、フルブロックチェーン維持及びネットワークルーティングという機能が存在することが示されている。これらの機能のバリエーションも存在し得る。ノード１０２は、それらの機能のうちの２つ以上を有してもよい。例えば「フルノード」は、４つの機能すべてを提示する。軽量ノードは、例えばデジタルウォレットで実装されてよく、ウォレット及びネットワークルーティング機能のみを特徴づけてもよい。フルブロックチェーンを格納するのではなく、デジタルウォレットは、ブロックをクエリするときにインデックスとして機能するブロックヘッダを追ってもよい。ノード１０２は、ＴＣＰ／ＩＰ（伝送制御プロトコル）等の接続指向プロトコルを使用して相互に通信する。
【００５２】
我々はここで、このブロックチェーン技術を利用し、作用する本発明の実施形態に注意を向ける。
【００５３】
本発明の実施形態は、ブロックチェーンの使用を介してプロセスを自動化することができるソリューションを提供する。本発明は、ブロックチェーントランザクション（ＴＸｓ）内で提供されるスクリプトに応答し又はこれと対話するように構成されるソフトウェアリソースを組み込む。好ましい実施形態において、ソフトウェアリソースはデジタルウォレットである。具体的には、ウォレットは、暗号通貨及び関連するトランザクションを格納、規定、生成又は他の方法で処理するように構成される。以下では、「ウォレット」又は「デジタルウォレット」という用語は、便宜性のために交換可能に使用される。デジタルウォレットは当技術分野で知られているが、本発明は、そのような技術に改良を加えて、ブロックチェーンネットワーク及びプロトコルに関連して、現在知られているものより大幅に広い機能を提供することができる「スマートウォレット」を提供する。
【００５４】
好ましい実施形態において、本発明は、１つ以上のプロセスが、その中に組み込まれるか拡張として追加されたコード実行コンポーネントを有する、強化されたウォレットによって実行されることを可能にする構成を提供する。以下では、これを「インタプリタ」と称し、インタプリタは、コード翻訳及び実行のための機構として当技術分野で知られている。
【００５５】
本発明の実施形態によると、インタプリタは、ブロックチェーントランザクションスクリプトで提供される成文化された命令によってトリガされるプロセスを、開始及び／又は実行することができる。スクリプトは、ブロックチェーントランザクション（Ｔｘ）内の出力（ＵＴＸＯ）に関連付けられ、ロッキングスクリプトである。ロッキングスクリプトは、出力を使うために、正しいｒｅｄｅｅｍスクリプトがアンロッキングスクリプトに提供されなければならないように、当技術分野で公知のｒｅｄｅｅｍスクリプトのハッシュを備え得る。
【００５６】
一実施形態では、そのような強化されたウォレットのネットワークは、スクリプト内に埋め込まれた成文化された命令の形式で実装されるスマートコントラクトのために実行環境を備える。すなわち、スクリプトは、特定のプロセスを実行するようウォレットをトリガする、コード、命令、変数及びパラメータを含んでよい。
【００５７】
例えば作業を構築する部分の開始又はデバイスのロック解除又はメディアコンテンツやソフトウェア等の何らかのデジタルコンテンツのリリース又は資金の移動又はコントラクトによって指定される他の何かといったイベントを引き起こすトリガとして、支払いが機能する既知の契約の状況を考慮されたい。
【００５８】
有利には、我々は、本発明によって提供される強化されたスマートウォレットを使用して、そのようなイベントを実装することができる。当技術分野で公知であるように、ブロックチェーントランザクション内の出力が使われると、その出力に関連付けられる暗号通貨のコントロールは、あるパーティから別のパーティに移転される。また、出力を使うことは、トークンの移転も引き起こす可能性があり、トークンは、トランザクションスクリプト内に組み込まれてよい。移転の受取人は、本発明による強化されたウォレットとすることができる。
【００５９】
しかしながら、これは、そのような移転を行うブロックチェーントランザクションをコード化して、続いて起こる関連付けられるイベントについてのトリガを含むことができるように、拡張され得る。イベントは、強化されたウォレット／インタプリタ自体によって部分的又は全体的に実行されてよく、あるいは単に、例えば信号を宛先に送信して別のリソースによるイベントの実行を引き起こすことにより、ウォレットによって開始されてもよい。いくつかの実施形態では、このイベントはオフブロックイベントとすることができる。
【００６０】
したがって、換言すると、あるパーティから別のパーティへのブロックチェーンにおける移転は、少なくとも１つの他のイベントを、強化されたウォレットにより開始及び／又は実行させる。
【００６１】
本発明は、トリガすることができるイベント（プロセス）のタイプによって限定されない。しかしながら、単なる例として、支払いが行われたこと及び作業を始めることができることをビルダに警告する電子メールのような、何らかの種類の信号の伝送とすることができる。別の例では、デバイス又はリソースをロック解除させる信号を送信することができる。したがって、本発明は、認証又はセキュリティのソリューションとして機能することができる。これらの簡単な例は例示の目的にすぎないことに留意されたい。
【００６２】
トリガされるイベントは、これらが、実行を開始するためのトリガのみを必要とする標準化されたプロセスである可能性があるという点において、予測可能である可能性がある。あるいは、実行されるべきプロセスは、スクリプト内で成文化され、ウォレットのインタプリタは、成文化された命令を実行可能ロジックに翻訳するように構成される。トランザクションが、通常のプロトコルの一部としてブロックチェーンネットワークを通してブロードキャストされるとき、強化されたウォレットは、任意の組み込まれた成文化された命令を読み出し、これらの命令を、強化された拡張機能として、すなわち、公知のウォレットが実行することができる通常のトランザクション処理を超える機能として実行することができる。ある意味では、本発明に従って構成されたウォレットは、単に支払処理を行ってリソースを処理することから、多目的の計算機能へと拡張される。スマートコントラクトの実行とともに使用されるとき、本発明は、単なる従来のウォレットベースのストレージ及び処理と比べて大幅に広い適用性を有する、パワフルで多用途のコンピューティングツールになる。
【００６３】
本発明は、既存の公知のウォレットに対する拡張として機能するので、ある意味では、ソフトウェア配布のために新しいパラダイムを提供するものとして見なすことができる。本発明を既存のウォレットに追加して、拡張された機能を提供することができる。これを「プラグイン」と考えることができる。インタプリタをコンピューティングリソースにダウンロードしてインストールし、既存のウォレットと関連付けることができ、あるいは拡張としてインストールされるのではなく、ウォレット内に提供される組み込みコンポーネントとして提供することができる。後者の場合、拡張は、ＡＰＩを使用してウォレットとインタフェースしてよい。インタプリタは、ユーザが参加しているコントラクト、合意、スキーム、ネットワーク等に従って、ユーザによって必要とされる又は所望されるタスクを実行するように配置及び構成され得る。
【００６４】
有利には、本発明は、ブロックチェーンを介したスマートコントラクトの実施及びイベント処理のために自動ボットを実行することに第三者に依拠する必要のない、ソリューションを提供する。また、本発明が必要とするのは、ボットのネットワークよりも複雑でないインフラストラクチャであり、多様に実現可能なプロセスを実行することにも適している。
【００６５】
また、本発明を使用して、洗練された挙動及びタスクを実行するように相互に対話することができる、強化されたウォレットのネットワークを形成することも促進することができる。そのような強化されたウォレットネットワークでは、実行されるロジックは、おそらくは明示的ではなく、リソースのいずれかによって実行可能である。実行ロジックに必要とされる情報は、ネットワークのウォレット内のインタプリタによって検出されて応答される成文化されたトリガとして、（例えばビットコイン）スクリプト内で提供され、伝達される。
【００６６】
使用ケースの例：
本発明の実施形態による強化されたウォレットについての例示的な使用ケースとして、図１に関連して以下のシナリオを検討する。
【００６７】
この例では、マネージャ又はコントローラは、一般的は強化されたウォレットを自発的な受取人に分配する。これらの受取人は、「ホスト」、「クライアント」又は「ユーザ」と呼ぶことができる。受取人は、本発明をインストールして実行することができるコンピュータであってよい。これは、図１では「ホストノード」１として図示されている。便宜性のために、これを「スマートウォレット」２と呼ぶ。このスマートウォレットは、単にブロックチェーントランザクションを格納して処理するために使用され得るコアの一般的な暗号通貨ウォレットとして機能するので、いずれのインテリジェント又は拡張機能も実行せず、いずれのトリガにも応答しない。基本のスマートウォレットの機能を拡張するために、ユーザは、ロジックを生成及び／又は実行するように設計された１つ以上のスマートウォレットプラグイン３をインストールする。プラグイン３の準備の後、一般的なウォレット２は、ウォレットにインテリジェント能力を提供するインタプリタを備える。これらのプラグインは、基本のスマートウォレット２とともに又はこれと別個に提供され得る。スマートウォレットは、プラグインとの対話及び統合することができ、その逆もそうである。プラグインは、ブロックチェーントランザクション（ＴＸｓ）６のロッキングスクリプト５内で提供されるトリガ４の特定の所定のセットに応答して、所与のタスクに従って特定のプロセスを実行する。スマートウォレット２及びプラグイン３は、ブロックチェーンとともに動作するように設計され、本発明は、ブロックチェーンの基礎となるインフラストラクチャの利点のすべて、すなわち、暗号化セキュリティ、擬似匿名性、ロバスト性等を継承する。
【００６８】
例えば１つのウォレットプラグインは薬局（Ｐｈａｒｍａｃｙ）アプリケーションであり得る。この例示のシナリオでは、医師は、ちょうど３回の繰り返しを許容された特定の患者に処方箋を書く。悪用を避けるためには、処方箋が偽造されないこと；意図された受取人のみが薬を受け取ること；そして、（例えば）許可された繰り返しの回数だけ調剤（ｆｉｌｌ）されるように、すべてがセキュアに追跡可能であること、が重要である。処方箋は、当技術分野で公知のトークン化技術を使用して、ＵＴＸＯのロッキングスクリプト５内のメタデータとして、ビットコイントランザクション６に書き込まれ、医師によって署名される。これはデジタル署名であってよい。これは、出力を所望の受取人に対してロックする。メタデータは、薬局プラグイン３のための成文化されたトリガ４を含む。薬局はスマートウォレット２及びこのプラグイン３をそれらのサーバ１にインストールしている。
【００６９】
受取人が処方箋を薬局に提示すると、トランザクション出力は、従来の方法で「使われる」、すなわち、トークン化された処方箋が薬局で「引き換えられ（ｒｅｄｅｅｍｅｄ）」、おそらく薬の実際の費用の支払いも含み、場合によっては暗号通貨での支払いである。薬局でトークンを引き換えることに加えて、ウォレットプラグインは、ある範囲の関連付けられるプロセスを実行する。例えば調剤されている処方箋の政府のデータベース７を更新し（誰がそれを処方したか；誰のために；どの薬剤師によって調剤されたか；どの薬について等）；受取人の（ブロックチェーンベースの）医療記録７を更新する等。
【００７０】
当業者は、メタデータに基づいて任意の数の関連するプロセスを自動化することができることを容易に認識するであろう。例えば処方箋自体を、薬剤師が前もって準備して、（従来の紙ベースのパラダイムにより）受取人が薬局で待つ必要があるのではなく、受取人が簡単にピックアップすることができる。
【００７１】
ここで図３を参照すると、図３は、ノード３００の簡略化された例をブロック図の形式で示している。ノード３００は、本開示のコンテキストではホストノードであってよい。ノード３００はプロセッサ３０２を含み、プロセッサ３０２は、１つ以上のマイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、マイクロコントローラ又は同様のコンピュータ処理デバイスを含んでよい。ノード３００は、値、変数及び一部の例ではプロセッサ実行可能プログラム命令を格納するための、永続的及び非永続的メモリを含み得るメモリ３０４と、有線又は無線ネットワークを介したネットワーク接続を提供するためのネットワークインタフェース３０６を更に含む。
【００７２】
ノード３００は、実行されると、プロセッサ３０２に、本明細書で説明される機能又は動作の１つ以上を実行させるプロセッサ実行可能命令を包含する、プロセッサ実行可能なブロックチェーンアプリケーション３０８を含む。
【００７３】
上述の実施形態は、本発明を限定するものではなく例示するものであり、当業者は、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく、多くの代替的な実施形態を設計することができることに留意されたい。特許請求の範囲において、括弧内に置かれる任意の参照符号は請求項を限定するものと解釈されるべきではない。「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「備える（ｃｏｍｐｒｉｓｅｓ）」等の用語は、任意の請求項又は明細書全体に列挙されるもの以外の要素又はステップの存在を除外しない。本明細書において、「備える（ｃｏｍｐｒｉｓｅｓ）」は「含む（ｉｎｃｌｕｄｅｓ）又はから成る（ｃｏｎｓｉｓｔｓ  ｏｆ）」を意味し、「備える（ｃｏｍｐｒｉｓｉｎｇ）」は「含む（ｉｎｃｌｕｄｉｎｇ）又はから成る（ｃｏｎｓｉｓｔｓ  ｏｆ）」を意味する。要素の単数形の参照は、そのような要素の複数経の参照を除外せず、その逆もそうである。本発明は、いくつかの別個の要素を備えるハードウェアによって及び適切にプログラムされたコンピュータによって実装されてよい。いくつかの手段を列挙しているデバイスの請求項において、これらの手段のいくつかは、１つの同じハードウェアアイテムによって具現化されてよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、それらの手段の組合せを有利に使用することができないことを示すものではない。
【図１】
2021505002.tif 000003
【図２】
2021505002.tif 000004
【図３】
2021505002.tif 000005
【国際調査報告】
2021505002.tif 000006
2021505002.tif 000007
2021505002.tif 000008