(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-13
(45)【発行日】2024-11-21
(54)【発明の名称】ブロックチェーンにより実現される方法及びシステム
(51)【国際特許分類】
G06Q 50/40 20240101AFI20241114BHJP
【FI】
G06Q50/40
【外国語出願】
(21)【出願番号】P 2023029066
(22)【出願日】2023-02-28
(62)【分割の表示】P 2019501525の分割
【原出願日】2017-07-21
【審査請求日】2023-02-28
(32)【優先日】2016-07-29
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ヴィンセント,ステファヌ
【審査官】阿部 圭子
(56)【参考文献】
【文献】中国特許出願公開第105809062(CN,A)
【文献】米国特許出願公開第2015/0379510(US,A1)
【文献】米国特許出願公開第2016/0086175(US,A1)
【文献】米国特許出願公開第2016/0098723(US,A1)
【文献】KONSTANTINOS CHRISTIDIS et al.,Blockchains and Smart Contracts for the Internet of Things,IEEE Access (Volume:4),2016年05月10日,2292 - 2303
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
ブロックチェーンを使用してインターネット対応リソースへのアクセス又は利用を制御する、コンピュータにより実施される方法であって、前記リソースはIoT車両であり、前記方法は、前記リソースにより実行され、
第1ブロックチェーントランザクション(Tx1)を提供するステップであって、前記第1ブロックチェーントランザクション(Tx1)は、少なくとも以下:
ユーザ秘密鍵、
ユーザにより選択された秘密値、及び、
リソースプロバイダ、前記ユーザ、前記リソース、のうちの2つに関連付けられた署名、
の提供によってのみ償還可能である少なくとも1つの出力を含む、ステップと、
前記リソースプロバイダから利用関連情報を受信するステップ
であって、前記利用関連情報は移動に関連する情報を含む、ステップと、
前記リソースに関連付けられた署名により署名された入力と前記リソースの公開鍵とを含む第2ブロックチェーントランザクション(Tx4)を生成するステップと、
少なくとも前記秘密値を要求するステップと、
前記秘密値とリディームスクリプトと前記ユーザの署名とを含む変更された第2ブロックチェーントランザクション(Tx4)を受信するステップであって、前記第2ブロックチェーントランザクションは前記ユーザにより変更されている、ステップと、
前記ブロックチェーンに前記第2ブロックチェーントランザクションを提出するステップと、
前記第2ブロックチェーントランザクションの前記変更の妥当性確認に応答して、前記リソースにアクセスするステップと、
を含む方法。
【請求項2】
前記利用関連情報は、前記情報又は
前記情報の場所を含むトークン化された第3ブロックチェーントランザクションの形式で、前記リソースプロバイダにより送信される、請求項1に記載の方法。
【請求項3】
前記トークン化された第3ブロックチェーントランザクションに基づく仮想通貨の金額を前記リソースプロバイダに返すために償還可能な少なくとも1つの出力を含む第4ブロックチェーントランザクションを生成するステップを更に含む、請求項2に記載の方法。
【請求項4】
前記第2ブロックチェーントランザクションは、前記リソースプロバイダに転送可能な支払い可能な第1アセットに関する第1出力と、前記ユーザに転送可能な第2アセットに関する第2出力とを含む、請求項1~3のいずれか一項に記載の方法。
【請求項5】
前記第2ブロックチェーントランザクションは、前記第2ブロックチェーントランザクションの少なくとも1つの出力が前記ユーザによって変更されることを防ぐための防止手段を含む、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記防止手段は、シグネチャフラグSIGHASH_ALL | SIGHASH_ANYONECANPAYを含む前記第2ブロックチェーントランザクションに対する確保入力の形式をとる、請求項5に記載の方法。
【請求項7】
前記確保入力は、前記リソースプロバイダ及び前記リソースに関する電子ウォレットの少なくとも1つによって提供される仮想通貨の金額を含む、請求項6に記載の方法。
【請求項8】
前記リソースの不使用に応答して、前記第1ブロックチェーントランザクションに関する仮想通貨の金額をリファンドするために償還可能な少なくとも1つの出力を含む第5ブロックチェーントランザクションを生成するステップを更に含む、請求項1~7のいずれか一項に記載の方法。
【請求項9】
前記ユーザから、前記利用関連情報の精度を確認する少なくとも1つの確認メッセージを受信し、前記メッセージをハッシュ処理し、前記ハッシュ処理されたメッセージを分散ハッシュテーブルに格納するステップを更に含む、請求項1~8のいずれか一項に記載の方法。
【請求項10】
前記利用関連情報をハッシュ処理し、前記ハッシュ処理された
利用関連情報を分散ハッシュテーブルに格納するステップを更に含む、請求項1~9のいずれか一項に記載の方法。
【請求項11】
前記リソースにいるユーザの人数を決定し、前記人数に応じて前記リソースの提供を可能又は不可にするステップを更に含む、請求項1~10のいずれか一項に記載の方法。
【請求項12】
前記リソースはドライバレス自動車である、請求項1~11のいずれか一項に記載の方法。
【請求項13】
請求項1~12のいずれか一項に記載の方法を実行するよう構成されるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に分散型台帳技術(ブロックチェーン関連技術を含む)に関し、特にブロックチェーンを介した被制御リソースへのアクセス及び利用のために関する。本発明は、特に当該リソースへのアクセス及び/又は利用を可能にするセキュアシステムを提供するのに適している。本発明の態様はまた、インターネット・オブ・シングズ(IoT)に関する。本発明は、IoTデバイスを制御するのに適したものであってもよい。
【背景技術】
【0002】
本文書では、このコンテクストにおいて現在最も広く知られている用語であるため、参照の便宜及び容易のため、“ブロックチェーン”という用語を利用する。当該用語は、コンセンサスベースブロックチェーン、オルトチェーン、サイドチェーン及びトランザクションチェーン技術、パブリック若しくはプライベート、パーミッション型及び非パーミッション型台帳、プライベート若しくはパブリック台帳、共有台帳及びこれらの変形を含む全ての形態の電子的コンピュータベース分散型台帳を含むようここでは利用される。
【0003】
ブロックチェーンは、トランザクションから構成されるブロックから構成されるコンピュータベースの非中央化された分散システムとして実現される電子台帳である。各トランザクションは、少なくとも1つの入力と少なくとも1つの出力とを含む。各ブロックは、それの開始以来ブロックチェーンに書き込まれてきた全てのトランザクションの永続的で修正不可なレコードを作成するために一緒にチェーン化されたブロックの前のブロックのハッシュを含む。トランザクションは、トランザクションの出力がどのようにして誰によってアクセス可能であるかを特定する入力及び出力に埋め込まれたスクリプトとして知られる小さなプログラムを含む。ビットコインプラットフォーム上では、これらのスクリプトはスタックベーススクリプト言語を用いて記述される。
【0004】
トランザクションがブロックチェーンに書き込まれるために、それは、i)トランザクションを受信した最初のノードによって検証され、トランザクションが検証された場合、ノードはそれをネットワークにおける他のノードに中継し、ii)マイナーによって構築された新たなブロックに追加され、iii)マイニング、すなわち、過去のトランザクションの公開台帳に追加される必要がある。
【0005】
ブロックチェーン技術の最も広く知られているアプリケーションは、他のブロックチェーン実現形態が提案及び開発されてきたが、ビットコイン台帳である。ビットコインは便宜及び説明の目的のためにここでは参照されうるが、本発明はビットコインブロックチェーンによる利用に限定されず、他のブロックチェーン実現形態が本発明の範囲内に属することが留意されるべきである。
【0006】
ブロックチェーン技術は、仮想通貨の実現形態の利用について最も広く知られている。しかしながら、より最近では、デジタル起業家は、ビットコインが基づいている暗号化セキュリティシステムの利用と、ブロックチェーンに格納可能なデータの利用との双方を用いて新たなシステムを実現することを始めている。
【0007】
現在の興味及び研究の1つのエリアは、“スマートコントラクト”の実現のためのブロックチェーンの利用である。これらは、契約又は合意の条項の実行を自動化するよう設計されたコンピュータプログラムである。自然言語で記述される従来の契約と異なって、スマートコントラクトは、結果を生じさせるために入力を処理可能なルールを含み、これらの結果に応じてアクションを実行させることが可能なマシーン実行可能なプログラムである。
【0008】
ブロックチェーン関連の興味の他のエリアは、ブロックチェーンを介し実世界のエンティティを表現及び転送するための“トークン”(又は“カラードトークン”)の利用である。潜在的に機密又は秘密のアイテムは、区別可能な意味又は値を有さないトークンによって表現できる。従って、トークンは、実世界アイテムが参照されることを可能にする識別子として機能する。
【0009】
本発明はまた、リソースへのアクセスを制御するためのブロックチェーンにより実現される機構の利用に関する。このリソースは、“インターネット・オブ・シングズ(IoT)”デバイスとすることができる。IoTは、Wikipediaによって、“物理デバイス、車両、建物及びエレクトロニクス、ソフトウェア、センサと共に埋め込まれた他のアイテムのネットワークと、これらのオブジェクトがデータを収集及び交換することを可能にするネットワーク接続であり、・・・IoTは、オブジェクトが既存のネットワークインフラストラクチャを介し遠隔的に検知及び制御されることを可能にする”として説明されている。
【0010】
本発明は、添付した請求項に規定される。
【0011】
本発明は、ブロックチェーンにより実現される制御方法及び対応するシステムを提供しうる。本発明は、インターネット対応リソースへのアクセス及び/又は利用を制御するよう構成されうる。リソースは、デバイス又はシステムであってもよい。それは、例えば、車両であってもよい。車両には、他のコンピュータベースリソースと通信し、及び/又は分散型台帳とやりとりすることを可能にする計算能力が備えられてもよい。この分散型台帳は、例えば、ビットコインブロックチェーンなどのブロックチェーンであってもよい。
【0012】
本発明は、
少なくともユーザにより選択された秘密の値及びリソース(例えば、車両)プロバイダに関するシグネチャを提供することによってのみ償還可能な少なくとも1つの出力を有する第1のブロックチェーントランザクションを提供するステップと、
利用(例えば、移動)関連情報を車両に送信するステップと、
秘密の値を少なくとも要求する第2のブロックチェーントランザクションを生成するステップと、
秘密の値を含むよう第2のブロックチェーントランザクションを修正するステップと、
を含む方法を提供しうる。
【0013】
上述した方法を提供することによって、トランザクションの改ざん耐性な記録保持及びセキュアな支払いの効果を有する被制御リソース(例えば、ドライバレス車両)の提供及び利用が可能になる。
【0014】
利用(例えば、移動)関連情報は、当該情報又はそれへのポインタを含むトークン化された第3のブロックチェーントランザクションの形式でリソース/車両プロバイダによって送信されうる。
【0015】
これは、第三者が当該情報にアクセスすることを防ぐという効果を提供する。
【0016】
当該方法は更に、トークン化された第3のブロックチェーントランザクションに基づく仮想通貨の金額をリソース/車両プロバイダに返すために償還可能な少なくとも1つの出力を含む第4のブロックチェーントランザクションを生成するステップを更に含んでもよい。
【0017】
これは、車両プロバイダが基礎となる仮想通貨を取り返すことを可能にし、リソース/車両の提供をよりコスト効果的にするという効果を提供する。
【0018】
第2のブロックチェーントランザクションは、リソース/車両によって生成され、修正は、ユーザによって実行されてもよい。
【0019】
これは、本発明の自動化及び効率を増大させるという効果を提供する。
【0020】
第2のブロックチェーントランザクションは、リソース/車両プロバイダ又はコントローラに支払い可能な金額に関する第1の出力と、ユーザに払戻可能な金額に関する第2の出力とを含みうる。
【0021】
これは、デポジットの一部がおつりとして本発明のユーザに返されることを可能にし、これにより、技術のユーザフレンドリ性を増大させるという効果を提供する。
【0022】
第2のブロックチェーントランザクションは、第2のブロックチェーントランザクションの少なくとも1つの出力がユーザによって修正されることを防ぐための防止手段を含んでもよい。
【0023】
これは、本発明に関するセキュリティを増大させるという効果を提供する。
【0024】
防止手段は、シグネチャフラグSIGHASH_ALL | SIGHASH_ANYONECANPAYを含む第2のブロックチェーントランザクションに対する確保入力(securing input)の形式をとりうる。
【0025】
これは、入力の修正を可能にしながらトランザクションの出力が修正されることを防ぐことを可能にし、支払いのセキュリティを増大させるという効果を提供する。
【0026】
確保入力は、車両プロバイダ及びリソース/車両に関する電子ウォレットの少なくとも1つによって提供される仮想通貨の金額を含んでもよい。
【0027】
これは、本発明の自動化を増大させるという効果を提供する。
【0028】
当該方法は、リソース/車両の不使用に応答して、第1のブロックチェーントランザクションに関する仮想通貨の金額をリファンドするために償還可能な少なくとも1つの出力を含む第5のブロックチェーントランザクションを生成するステップを更に含んでもよい。
【0029】
これは、本発明のユーザがリソースの自らの利用をキャンセルすることを決めると、デポジットの少なくとも一部のリファンドを可能にする機構を提供し、これにより、本発明のユーザフレンドリ性を更に増大させるという効果を提供する。
【0030】
当該方法は、第2のブロックチェーントランザクションの修正の検証に応答して、リソース/車両をアンロックするステップを更に含んでもよい。
【0031】
これは、本発明のセキュリティを更に増大させるという効果を提供する。
【0032】
当該方法は、リソースのユーザが、利用関連情報の精度を確認する少なくとも1つの確認メッセージを送信し、当該メッセージをハッシュ処理し、ハッシュ処理されたメッセージを分散されたハッシュテーブルに格納するステップを更に含んでもよい。
【0033】
当該方法は、利用関連情報をハッシュ処理し、ハッシュ処理された情報を分散されたハッシュテーブルに格納するステップを更に含んでもよい。
【0034】
これらは、潜在的な以降の参照のために通信及びそのコンテンツを記録するためのシンプルで改ざん耐性な機構を提供するという効果を提供する。
【0035】
当該方法は、リソースにいる、又は利用しているユーザの人数を決定し、人数に応じてリソースの提供を可能又は不可にするステップを更に含んでもよい。
【0036】
これは、本発明の効果がとられることを防ぐという効果を提供する。
【0037】
リソースは、ドライバレス自動車であってもよい車両であってもよい。
【0038】
これは、トランザクションの改ざん耐性な記録保持及びセキュアな支払い機構を提供可能なドライバレスタクシーサービスの効果を提供する。
【0039】
本発明の上記及び他の態様は、ここに説明される実施例から明らかであり、参照することにより理解されるであろう。本発明の実施例は、添付した図面を参照して例示のためにのみ説明される。
【図面の簡単な説明】
【0040】
【
図1】車両の提供のためのデポジット支払いを提供するよう構成されるブロックチェーントランザクションを示す。
【
図2】旅行関連情報を通信するよう構成されるブロックチェーントランザクションを示す。
【
図3】車両プロバイダに再支払いするよう構成されるブロックチェーントランザクションを示す。
【
図4a】車両のための支払い及び関連するおつりを提供するよう構成されるブロックチェーントランザクションの不完全なバージョン及び完全なバージョンをそれぞれ示す。
【
図4b】車両のための支払い及び関連するおつりを提供するよう構成されるブロックチェーントランザクションの不完全なバージョン及び完全なバージョンをそれぞれ示す。
【
図5】車両のユーザにリファンドを提供するよう構成されるブロックチェーントランザクションを示す。
【発明を実施するための形態】
【0041】
例示的なシナリオでは、ブロックチェーンを介しドライバレスタクシー(driverless taxi)を制御する方法を説明する。ブロックチェーンの利用は、当該技術によって提供される本来の効果を提供する。これらの効果は、イベントの改ざん耐性なレコードと通貨の交換のセキュリティの増加とを含む。
【0042】
この車両では、タクシーの具体例を使用する。しかしながら、本発明は、これに限定されることを意図しない。車両は乗客及び/又は物品の移動用に構成された何れかのIoTデバイス又は装置とすることができる。
【0043】
本例では、タクシーは、リソース関連機能などのある範囲の可能な機能を実行可能なインターネット・オブ・シングズ(IoT)デバイスである。ユーザの暗号鍵(PubKey)は、アクセスを実現するため、格納のためにタクシーに通信される。タクシー自体は、それ自体の公開及び秘密鍵と、ドライバレスタクシーサービスの提供に関連するブロックチェーントランザクションを署名するためのシグネチャとを生成、格納及び通信可能であり、タクシーサービスのユーザ及びプロバイダとの無線通信を送受信することが可能である。IoTデバイスは、プログラム可能な“ブロックチェーンIOTデバイス(BID)”であり、すなわち、それは、ブロックチェーンネットワークを監視し、それとやりとりし、それに公開することが可能なインターネット対応デバイスである。本発明はまた、通信プロトコルを含む。好適な実施例では、これは、ソフトウェアアプリケーション(app)を介しリソースとの通信を可能にする。
【0044】
Aliceは、Bobによって提供及び管理されるタクシーサービスの見込みあるユーザである。Aliceは、“ユーザ”又は“カスタマ”として参照されうる。Bobは、“リソースコントローラ”又は“リソースオペレータ”として参照されうる。Aliceは、乗車位置、降車位置及びタクシーに乗車することを所望する乗客数を含む行程情報を含むタクシーサービスに対するリクエストをBobに提供する。この情報は、テキストメッセージ、電子メール又はブロックチェーン上のトークン化されたトランザクションなどの何れか適切な形態で送信されうる。
【0045】
AliceとBobとの間の通信は、スマートフォン、タブレット、ラップトップなどのAliceの計算デバイス上にダウンロード及びインストールされたソフトウェアアプリケーション(app)を利用して開始及び/又は制御されうる。スマートフォンは、Bobのサーバに特定の情報部分を提供しうる。例えば、それは、GPS機能を利用することによって、Aliceの現在位置に関連する情報を提供してもよい。
【0046】
Aliceから情報を受信すると、Bobは、例えば、5ビットコイン(BTC)などの行程のコストを推定し、当該推定結果を何れか適切な手段によってAliceに通信する。Bobはまた、Aliceの乗車位置に最も近いタクシーの位置を決定し、タクシーから乗車位置までの距離を彼の推定結果に対して分解することを選択してもよい。AliceがBobによって提供される推定結果とサービスの期間及び条件(サービスの開始前に公衆にアクセス可能であって、例えば、Bobのウェブサイト又はソーシャルメディアページに格納されうる)を了承した場合、彼女は、例えば、テキストメッセージ、電子メール又は電話などの何れか適切な手段によってBobに当該了承を通信する。これらの通信の何れか1つ又は全ては、引用された推定結果又は行程の詳細に関する論争が生じる状況などにおいて、以降の参照のため分散されたハッシュテーブルなどの公衆にアクセス可能なリソースにハッシュ及び格納されてもよい。これらの通信はまた、以降のブロックチェーントランザクションに記録されてもよい。
【0047】
Aliceの了承の受信後、Bobは、Aliceの公開鍵、Bobの公開鍵及びタクシーの公開鍵を利用して2-of-3マルチシグネチャアドレスを有する出力を含むブロックチェーントランザクション(Tx1 デポジットトランザクション)を生成するようタクシーに指示する。この2-of-3マルチシグネチャアドレスにより署名された何れかのブロックチェーントランザクション(Tx)は、指定されたシグネチャの何れか2つを提供するアンロックスクリプトを有する入力を含む他のトランザクションによってのみ償還可能である。
【0048】
Aliceは、彼女が秘密を保持するパスワード、文字列、数列又は他の何れかのデータタイプなどの秘密値を選択する。Aliceは、本例では、5BTCなどの行程のコストのBobの推定結果に等しい金額を使う出力を有する“デポジットトランザクション”として以降で参照される第1のブロックチェーントランザクションを生成する。Aliceは、彼女のデジタルシグネチャによってトランザクションTx1を署名し、彼女の秘密値のハッシュを利用してトランザクションをロックし、タクシーによって生成されたマルチシグネチャアドレスにトランザクションを送信する。トランザクションTx1は、ブロックチェーンにブロードキャストされる。
【0049】
このトランザクションの出力に関する5BTCは、本例では、Aliceのシグネチャ、Bobのシグネチャ及びタクシーのシグネチャの何れか2つなど、マルチシグネチャアドレスに対応する3つのシグネチャの2つとAliceの秘密暗号鍵との双方を含むアンロックスクリプト(他のトランザクションにおける)を提供することによってのみ使うことが可能である。このようにして、デポジットトランザクションの5BTCは、Aliceの鍵なくBobによって使うことはできず、Aliceのみが必要とされる3つのシグネチャの1つしか提供できないため、Aliceによっては使うことができない。上述したデポジットトランザクションTx1の具体例が
図1に示される。
【0050】
Bobは、その後にAliceを収集し、彼女を彼女の目的地に運ぶようタクシーに指示する。Bobは、タクシーと通信可能なソフトウェアアプリケーションを介するなど何れか適切な手段によってタクシーに行程情報を送信してもよいし、あるいは、行程関連情報を通信可能な“トークントランザクション”として以降で参照されるトークン化されたブロックチェーントランザクションを作成することを選択してもよい。トークントランザクションは、可能な限り小さくなるよう通常選択された基礎となる値を含み、当該値はトークントランザクションの目的に関連せず、トークントランザクションメタデータに埋め込まれる情報である。この埋め込まれた情報は、行程情報自体、当該情報へのポインタ又は当該情報若しくはポインタのハッシュされたバージョンの何れかを含む。ポインタは、行程情報を含むオンラインリソースにタクシーを誘導するURL又はトレラントリンクの形態をとってもよい。
図2において、トークントランザクションの具体例が示され、メタデータはトランザクション出力のリディームスクリプト(redeem script)において“mess
1”への参照を含むよう示され、“mess
1”は行程情報を含むBobによって生成されるメッセージである。
【0051】
その後、Bobは、トークントランザクションについてブロックチェーンを監視するようタクシーに指示するトークントランザクションの検証を確認すると、何れか適切な手段によってタクシーにメッセージを送信する。タクシーは、それの暗号秘密鍵を利用して、トークントランザクションの出力を請求し、これにより、Bobによって送信された行程情報へのアクセスを得る。
【0052】
1つ以上のトランザクションの検証は、これらのトランザクションが他の基準のうちブロックチェーンコードに固有の構文的正当性ルールを充足していることをチェックすることを含む。
【0053】
その後、タクシーは、乗車位置でAliceを収集することに進む。タクシーは、タクシーのドアをロック解除するためにAliceに彼女の秘密鍵により署名されたメッセージを送信することを要求してもよい。タクシーは、赤外線カメラなどの適切な検出装置を利用して、自動車に入る乗客の人数を検出し、当該人数がAliceによって初期的に提供された人数とどのように比較するかに応じてサービスを提供するか否か決定してもよい。例えば、Aliceが1人の乗客しかいないことを示す行程情報を提供していたが、2人以上の乗客がタクシーに入っている場合、タクシーは、移動を実行することを拒否するよう構成されてもよい。
【0054】
タクシーは、乗車位置及び目的地の精度などの行程情報の何れかを確認するようAliceに求めてもよく、Aliceとタクシーとの間で送信されるメッセージは、上述したように、以降の参照のためハッシュ化されてDHTに格納されてもよい。タクシーは、そのような1つ以上の確認メッセージが受信されたときにのみ移動を開始するよう構成され、更なる確認メッセージが受信されるまで、目的地への到着後にドアの開放を止めるよう構成されてもよい。
【0055】
その後、タクシーは、3つまでのトランザクション、リターントランザクション、提案トランザクション及びリファンドトランザクションを準備する。1つ以上の実施例では、提案トランザクションは、本発明の処理に必須である唯一のトランザクションである。タクシーは、移動が完了すると、これらのトランザクションの1つ以上を生成してもよい。
【0056】
リターントランザクションは、トークントランザクションの基礎となる値(“数Satoshi”であると
図2において示される)をBobに返すよう構成される。このリターントランザクションの具体例は、
図3に示すことが可能であり、トランザクションの出力フィールドにおいて“数Satoshi”を示す。しかしながら、Bobがトークントランザクションの形式で行程情報を送信することを選択したとしても、彼は、基礎となる値を返すようタクシーに要求又は指示しなくてもよい。
【0057】
その具体例が
図4aに示される提案トランザクションは、不完全なトランザクション又はトランザクションテンプレートとして参照されうる。移動が完了すると、タクシーは、2つの入力と少なくとも1つの出力とを有する提案トランザクションを生成する。第1の入力は、シグネチャハッシュフラグSIGHASH_ALL | SIGHASH_ANYONECANPAYを利用してタクシーに関する暗号化シグネチャ及び公開鍵を用いて署名され、第2の入力は、タクシーに関するシグネチャによってのみ署名される。第1の出力は、サービス(この場合、サービスは実際には3BTCのみのコストである)を提供するためのBobへの支払いに対応し、第2の出力(要求される場合)は、Aliceに送信されるべき提案トランザクションの第1の出力とデポジットトランザクションの金額との間の差分に等しいサービスに対するおつりに対応する(この場合、5BTCのデポジット-3BTCの実際のコスト=2BTCのおつり)。
【0058】
上記のシグネチャハッシュフラグを利用して署名された第1の入力の目的は、Aliceが提案トランザクションの出力を修正するが(例えば、無料のタクシーの乗車について第1の出力の値を0に変更することによって)、彼女が必要な情報を追加するために第2の入力を修正することを可能にすることを防止することである。この場合、当該必要な情報は、Aliceのシグネチャ、デポジットトランザクションからリディームスクリプト及びAliceの秘密の値である。これら3つのアイテムは、提案トランザクションのアンロックを成功させるため、第2の入力のシグネチャスクリプトに追加される必要があり、サービスに対して3BTCをBobに支払う。Aliceがタクシーに返す提案トランザクションの完了したバージョンについて、これら3つのアイテムは
図4bに示される。その後、タクシーは、当該トランザクションをブロックチェーンに送信し、トランザクションが検証又は認証されると、ドアをロック解除及び/又は開放するよう構成されてもよい。
【0059】
Aliceが彼女の秘密の値を開示することを拒絶した場合、デポジットトランザクションが2-of-3マルチシグネチャロックスクリプトによりロックされていることによって、Bobは、Aliceの資金の5BTCが償還されることを許可するため、彼の及び/又はタクシーの秘密鍵を使用しないことを選択してもよい。従って、Aliceが彼女の秘密の値を公知にするまで、5BTCは誰に対しても償還不可であるため、Aliceは、サービスにおけるトランザクションを正直に実行する動機付けがされる。
【0060】
タクシーは、Aliceがサービスを利用しないことを決めた場合、Aliceがデポジットトランザクションの出力を償還することを可能にするリファンドトランザクションを生成してもよい。このトランザクションは、乗車位置においてAliceに提示される。彼女の5BTCを取り戻すため、タクシーとAliceとの双方が、リファンドトランザクションのアンロックスクリプトに自らのシグネチャを提示する必要がある。5BTCの全額がリファンドされることを許可する代わりに、Bobの期間及び条件は、タクシー又はBobの何れかに関する公開鍵に支払われるべき差し引かれた料金を規定してもよく、5BTCからキャンセル料を差し引いたAliceによる償還可能なリファンドに対応する第1の出力と、タクシー又はBobの何れによって償還可能な料金に対応する第2の出力との2つの出力を有するようリファンドトランザクションを変更することになる。タクシーは、ブロックチェーンを監視し、提案トランザクションを署名する前に、対応するリファンドトランザクションが使われていないことをチェックする。
【0061】
上述した実施例は本発明を限定するのでなく説明するものであり、当業者は添付した請求項によって規定されるような本発明の範囲から逸脱することなく他の多数の実施例を設計可能であることが留意されるべきである。請求項において、括弧内に配置される何れかの参照符号は請求項を限定するものとして解釈されるべきでない。“有する”などの単語は、何れかの請求項又は明細書全体に列記された以外の要素又はステップの存在を排除するものでない。本明細書において、“有する”は“含む”又は“構成される”を意味する。要素の単数形の参照は、当該要素の複数形の参照を排除するものでなく、その反対もである。本発明は、複数の別々の要素を含むハードウェアによって、また、適切にプログラムされたソフトウェアによって実現されてもよい。複数の手段を列記した装置の請求項では、これらの手段のいくつかは同一のハードウェアアイテムによって実現されてもよい。特定の手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組み合わせが効果的に利用可能でないことを示すものでない。