(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-08-17
(54)【発明の名称】ブロックチェーンベースの税金メカニズム
(51)【国際特許分類】
G06Q 30/04 20120101AFI20230809BHJP
H04L 9/32 20060101ALI20230809BHJP
【FI】
G06Q30/04
H04L9/32 200Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023502992
(86)(22)【出願日】2021-06-29
(85)【翻訳文提出日】2023-01-16
(86)【国際出願番号】 EP2021067806
(87)【国際公開番号】W WO2022022928
(87)【国際公開日】2022-02-03
(32)【優先日】2020-07-30
(33)【優先権主張国・地域又は機関】GB
(81)【指定国・地域】
(71)【出願人】
【識別番号】318001991
【氏名又は名称】エヌチェーン ライセンシング アーゲー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ジョーゼフ,ダニエル
(72)【発明者】
【氏名】ライト,クレイグ,スティーヴン
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049BB11
(57)【要約】
買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも買い手は、上記商品および/またはサービスに基づいてオンワード販売を行う買い手-売り手である、方法。方法は、購入の売り手によって、少なくとも第2のブロックチェーントランザクションが買い手の暗号署名で署名されることを要求する第1の条件と、少なくとも第2のブロックチェーントランザクションが税務当局の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを第2のブロックチェーントランザクションが満たすによって償還することができる第1のブロックチェーントランザクションを取得することと、買い手から消費税の支払いを受けたことに応答して、ブロックチェーン上に記録されるべき第1のブロックチェーントランザクションを送信することとを含む。
【特許請求の範囲】
【請求項1】
買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも前記買い手は、前記商品および/またはサービスに基づいてオンワード販売を行う買い手-売り手であり、前記方法は、前記購入の前記売り手によって、
少なくとも第2のブロックチェーントランザクションが前記買い手の暗号署名で署名されることを要求する第1の条件と、少なくとも前記第2のブロックチェーントランザクションが税務当局の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを前記第2のブロックチェーントランザクションが満たすによって償還することができる第1のブロックチェーントランザクションを取得することと、
前記買い手から前記消費税の支払いを受けたことに応答して、ブロックチェーン上に記録されるべき前記第1のブロックチェーントランザクションを送信することと
を含む、方法。
【請求項2】
前記税務当局からパズルを受信すること
を含み、前記パズルの解は、前記税務当局から前記買い手に共有されるシークレットを含み、前記第1の条件は、前記第2のブロックチェーントランザクションが前記パズルの前記解を含むことも要求する、
請求項1に記載の方法。
【請求項3】
前記パズルは、プレイメージのハッシュに基づいて生成されたハッシュ値を含むハッシュパズルを含み、前記プレイメージは、前記パズルの前記解であり、前記シークレットを含む、請求項2に記載の方法。
【請求項4】
前記シークレットはランダム要素を含む、請求項2または3に記載の方法。
【請求項5】
前記シークレットは購入ごとに変化し、前記購入に対して一意である、請求項2から4のいずれか一項に記載の方法。
【請求項6】
前記シークレットは前記購入の情報に基づく、請求項2から5のいずれか一項に記載の方法。
【請求項7】
前記第1の条件は、前記購入を含む前記買い手による複数の購入にわたって一定のままである、請求項1から3のいずれか一項に記載の方法。
【請求項8】
前記第2の条件は、前記第2のトランザクションが前記買い手の暗号署名を含むことも要求する、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記第2の条件は、タイムアウトが経過していることをさらに要求する、請求項1から8のいずれか一項に記載の方法。
【請求項10】
前記タイムアウトは、秒、分、時間、日、週、月および/または年の単位で指定される、請求項9に記載の方法。
【請求項11】
前記タイムアウトは、ブロック高さの単位で指定される、請求項9に記載の方法。
【請求項12】
前記取得することは、前記売り手が前記第1のブロックチェーントランザクションを少なくとも部分的に生成することを含む、請求項1から11のいずれか一項に記載の方法。
【請求項13】
前記生成することは、前記売り手が前記税の支払いを受けたことに応答して、前記売り手によって実行される、請求項12に記載の方法。
【請求項14】
前記取得することは、前記売り手が前記税務当局から前記第1のブロックチェーントランザクションを受信することを含む、請求項1から11のいずれか一項に記載の方法。
【請求項15】
前記トランザクションを取得する前に、前記売り手が、前記購入に関する情報を前記税務当局に送信し、この情報の少なくとも一部に基づいて前記税務当局から確認メッセージを受信すること
を含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記購入に関する前記情報は、購入される前記商品および/もしくはサービスの表示、ならびに/または前記売り手が前記購入のために支払う額を含む、請求項15に記載の方法。
【請求項17】
前記購入に関する前記情報は、前記買い手から受け取った発注書に基づく、請求項15または16に記載の方法。
【請求項18】
前記購入に関する前記情報は、前記買い手のデジタル証明書および/または前記売り手のデジタル証明書を含み、前記税務当局が、前記買い手および/または前記売り手の前記証明書を認証してから前記確認を返すことを可能にする、請求項15から17のいずれか一項に記載の方法。
【請求項19】
前記確認メッセージは、前記税務当局のデジタル証明書および/または前記購入の販売IDを含む、請求項15から18のいずれか一項に記載の方法。
【請求項20】
前記確認メッセージは前記販売IDを含み、前記販売IDは前記第1のブロックチェーントランザクションに含まれる、請求項19に記載の方法。
【請求項21】
前記確認メッセージは前記税務当局の前記証明書を含み、前記方法は、前記売り手が前記税務当局の前記証明書を認証することを含み、前記第1のブロックチェーントランザクションを送信することは、前記税務当局の前記証明書の前記認証を条件とする、請求項19または20に記載の方法。
【請求項22】
前記確認メッセージは、前記売り手が前記第1のブロックチェーントランザクションを生成する、前記第1のブロックチェーントランザクションのテンプレートバージョンまたは前記パズルを含む、少なくとも請求項2および12に従属する請求項15から21のいずれか一項に記載の方法。
【請求項23】
前記確認メッセージは、前記第1のブロックチェーントランザクションを含む、少なくとも請求項14に従属する請求項15から21のいずれか一項に記載の方法。
【請求項24】
前記方法は、
前記税務当局からの前記確認に応答して、前記売り手が前記買い手に確認を返信すること
を含む、請求項15から23のいずれか一項に記載の方法。
【請求項25】
前記買い手への前記確認は、前記税務当局からの前記確認メッセージの少なくとも一部を含む、請求項24に記載の方法。
【請求項26】
前記第1のブロックチェーントランザクションは、前記購入のメタデータをさらに含む、請求項1から25のいずれか一項に記載の方法。
【請求項27】
前記消費税は付加価値税(VAT)を含む、請求項1から26のいずれか一項に記載の方法。
【請求項28】
前記消費税は売上税を含む、請求項1から26のいずれか一項に記載の方法。
【請求項29】
前記ブロックチェーンは、各ブロックチェーントランザクションが、ロックスクリプトを含む少なくとも1つの出力と、別のトランザクションの出力を指し示し、前記指し示されたトランザクションの前記出力をロック解除するためのロック解除スクリプトを含む少なくとも1つの入力とを含む出力ベースのモデルにしたがって動作し、前記第1のブロックチェーントランザクションの前記代替条件は、前記第1のブロックチェーントランザクションの出力の前記ロックスクリプトに含まれ、前記第2のブロックチェーントランザクションの入力は、前記第1のブロックチェーントランザクションの前記出力を指し示す、請求項1から28のいずれか一項に記載の方法。
【請求項30】
前記ブロックチェーンは、各ブロックチェーントランザクションがスマートコントラクトを含むアカウントベースのモデルにしたがって動作し、前記第1のブロックチェーントランザクションの前記代替条件は、前記第1のブロックチェーントランザクションの前記スマートコントラクトで定義される、請求項1から28のいずれか一項に記載の方法。
【請求項31】
コンピュータ機器であって、
1つまたは複数のメモリユニットを備えるメモリと、
1つまたは複数の処理ユニットを備える処理装置と
を備え、前記メモリは、前記処理装置上で実行されるように構成されたコードを記憶し、前記コードは、前記処理装置上にあるときに、請求項1から30のいずれか一項に記載の方法を実行するように構成される、
コンピュータ機器。
【請求項32】
コンピュータ可読ストレージ上に具現化され、コンピュータ機器上で実行されると、請求項1から30のいずれか一項に記載の方法を実行するように構成されたコンピュータプログラム。
【請求項33】
買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも前記買い手は、前記商品および/またはサービスに基づいてオンワード販売を行う買い手-売り手であり、前記方法は、前記購入の前記買い手によって、
前記消費税を前記売り手に支払うことを含む、前記売り手からの前記購入を行うことと、
前記購入を行うことに続いて、前記ブロックチェーン上の第1のブロックチェーントランザクションを識別することであって、前記第1のブロックチェーントランザクションは、少なくとも第2のブロックチェーントランザクションが前記買い手の暗号署名で署名されることを要求する第1の条件と、少なくとも前記第2のブロックチェーントランザクションが税務当局の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを前記第2のブロックチェーントランザクションが満たすによって償還されるように構成される、識別することと、
前記ブロックチェーン上に記録されるべき前記第2のブロックチェーントランザクションを送信することであって、前記第2のブロックトランザクションは、少なくとも前記買い手の前記暗号署名を含む前記代替条件のうちの前記第1の条件を満たすように構成され、それによって前記買い手の前記消費税を回収することと
を含む方法。
【請求項34】
前記第2のブロックチェーントランザクションは、送信前に前記買い手によって少なくとも部分的に生成される、請求項33に記載の方法。
【請求項35】
前記第1の条件は、前記第2のブロックチェーントランザクションが前記第1のブロックチェーントランザクションに含まれるパズルの解を含むことも要求し、前記解はシークレットを含み、前記方法はさらに、前記購入を行うことと前記第2のブロックチェーントランザクションを生成することとの間に、
前記買い手が、前記購入への参照および前記オンワード販売に関する情報を含む還付要求を前記税務当局にサブミットすることと、
前記買い手が、セキュアなチャネルを介して前記税務当局から前記シークレットを受信することと
を含み、
前記買い手による前記第2のブロックチェーントランザクションの前記生成は、前記税務当局から受信された前記シークレットを前記第2のトランザクションに含めることを含む、
請求項34に記載の方法。
【請求項36】
コンピュータ機器であって、
1つまたは複数のメモリユニットを備えるメモリと、
1つまたは複数の処理ユニットを備える処理装置と
を備え、前記メモリは、前記処理装置上で実行されるように構成されたコードを記憶し、前記コードは、前記処理装置上にあるときに、請求項33から35のいずれか一項に記載の方法を実行するように構成される、
コンピュータ機器。
【請求項37】
コンピュータ可読ストレージ上に具現化され、コンピュータ機器上で実行されると、請求項33から35のいずれか一項に記載の方法を実行するように構成されたコンピュータプログラム。
【請求項38】
買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも前記買い手は、前記商品および/またはサービスに基づいてオンワード販売を行う買い手-売り手であり、前記方法は、税務当局によって、
前記売り手から前記購入に関する情報を受信することと、
前記購入に関する前記受信された情報に基づいて前記購入を検証することと、
前記検証に応答して、前記売り手が、少なくとも第2のブロックチェーントランザクションが前記買い手の暗号署名で署名されることを要求する第1の条件と、少なくとも前記第2のブロックチェーントランザクションが税務当局の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを前記第2のブロックチェーントランザクションが満たすによって償還されるように構成された第1のブロックチェーントランザクションを取得し、ブロックチェーン上への記録のために送信することを可能にする確認メッセージを前記売り手に返信することと
を含む方法。
【請求項39】
コンピュータ機器であって、
1つまたは複数のメモリユニットを備えるメモリと、
1つまたは複数の処理ユニットを備える処理装置と
を備え、前記メモリは、前記処理装置上で実行されるように構成されたコードを記憶し、前記コードは、前記処理装置上にあるときに、請求項38に記載の方法を実行するように構成される、
コンピュータ機器。
【請求項40】
コンピュータ可読ストレージ上に具現化され、コンピュータ機器上で実行されると、請求項38に記載の方法を実行するように構成されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、税金システムにおけるブロックチェーンの適用に関する。
【背景技術】
【0002】
ブロックチェーンは、分散型データ構造の形態を指し、ブロックチェーンの複製コピーが、分散型ピアツーピア(P2P)ネットワーク(以下では「ブロックチェーンネットワーク」と呼ばれる)内の複数のノードの各々において維持され、広く公開されている。ブロックチェーンはデータブロックのチェーンを含み、各ブロックは1つまたは複数のトランザクションを含む。いわゆる「コインベーストランザクション」以外の各トランザクションは、1つまたは複数のコインベーストランザクションまで遡る1つまたは複数のブロックにまたがり得るシーケンス内の先行するトランザクションを指し示す。コインベーストランザクションについては以下でさらに説明する。ブロックチェーンネットワークにサブミットされるトランザクションは、新しいブロックに含まれる。新しいブロックは、「マイニング(mining)」と呼ばれることが多いプロセスによって作成され、このプロセスは、複数のノードの各々が「プルーフオブワーク(proof-of-work)」を実行しようと競うこと、すなわち、ブロックチェーンの新しいブロックに含まれるのを待っている、順序付けられ妥当性確認(validate)された保留中のトランザクションのプールに基づいて暗号パズルを解くことを伴う。ブロックチェーンはいくつかのノードでプルーニング(prune)され得、ブロックの公開は、単なるブロックヘッダの公開を通して達成され得ることに留意されたい。
【0003】
ブロックチェーン内のトランザクションは、デジタル資産(すなわち、いくつかのデジタルトークン)を伝達すること、仮想台帳またはレジストリにおけるエントリのセットを順序付けること、タイムスタンプエントリを受信および処理すること、および/またはインデックスポインタを時間順にすることという目的のうちの1つまたは複数のために使用され得る。ブロックチェーンは、ブロックチェーンの上に追加の機能を重ねるために活用することもできる。例えば、ブロックチェーンプロトコルは、トランザクションにおける追加のユーザデータまたはデータへのインデックスの記憶を可能にし得る。単一のトランザクション内に記憶することができる最大データ容量に対してあらかじめ指定された制限はなく、したがって、より複雑なデータを組み込むことができる。例えば、これを使用して、ブロックチェーンに電子文書を記憶したり、オーディオまたはビデオデータを記憶したりすることができる。
【0004】
ブロックチェーンネットワークのノード(「マイナー(miner)」と呼ばれることが多い)は、以下でより詳細に説明する分散型のトランザクション登録および検証プロセスを実行する。要するに、このプロセスの間に、ノードは、トランザクションを妥当性確認し、ノードが有効なプルーフオブワークの解を識別しようとするブロックテンプレートにそれらを挿入する。有効な解が見つかると、ネットワークの他のノードに新しいブロックが伝搬され、これにより、各ノードが、新しいブロックをブロックチェーンに記録することができる。トランザクションをブロックチェーンに記録させるために、ユーザ(例えば、ブロックチェーンクライアントアプリケーション)は、ネットワークのノードの1つにトランザクションを送信して、伝搬させる。トランザクションを受信したノードは、妥当性確認済みトランザクションを新しいブロックに組み込むプルーフオブワークの解を見つけようと競い合い得る。各ノードは、同じノードプロトコルを実施するように構成され、そのノードプロトコルには、トランザクションが有効であるための1つまたは複数の条件が含まれる。無効なトランザクションは、伝搬もブロックへの組込みもされない。トランザクションが妥当性確認され、それによってブロックチェーン上に受け入れられたと仮定すると、トランザクション(任意のユーザデータを含む)は、不変の公開記録としてブロックチェーンネットワーク内のノードの各々において登録およびインデックス付けされたままになる。
【0005】
プルーフオブワークパズルを解くのに成功して最新のブロックを作成したノードは、典型的には、ある額のデジタル資産、すなわちいくつかのトークンを配布する「コインベーストランザクション」と呼ばれる新しいトランザクションで報酬が与えられる。無効なトランザクションの検出および拒否は、ネットワークのエージェントとして働き、不正を報告および阻止するようにインセンティブが与えられる競合ノードのアクションによって実施される。情報の広範な公開により、ユーザは、ノードの性能を連続的に監査することができる。単なるブロックヘッダの公開により、参加者は、ブロックチェーンの継続的な完全性を確実にすることができる。
【0006】
「出力ベースの」モデル(UTXOベースモデルと呼ばれることもある)では、所与のトランザクションのデータ構造は、1つまたは複数の入力と1つまたは複数の出力とを含む。任意の使用可能な出力は、トランザクションの先行するシーケンスから導出可能なデジタル資産の額を指定する要素を含む。使用可能な出力は、UTXO(「未使用トランザクション出力」)と呼ばれることがある。出力は、出力を将来償還するための条件を指定するロックスクリプトをさらに含み得る。ロックスクリプトは、デジタルトークンまたは資産を妥当性確認および転送するために必要な条件を定義する述語(predicate)である。トランザクション(コインベーストランザクション以外)の各入力は、先行するトランザクションにおけるそのような出力へのポインタ(すなわち、参照)を含み、指し示された出力のロックスクリプトをロック解除するためのロック解除スクリプトをさらに含み得る。そのため、トランザクションのペアを考慮して、それらを第1のトランザクションおよび第2のトランザクション(または「ターゲット」トランザクション)と呼ぶ。第1のトランザクションは、デジタル資産の額を指定する少なくとも1つの出力を含み、出力をロック解除する1つまたは複数の条件を定義するロックスクリプトを含む。第2の、ターゲットトランザクションは、第1のトランザクションの出力へのポインタを含む少なくとも1つの入力と、第1のトランザクションの出力をロック解除するためのロック解除スクリプトとを含む。
【0007】
そのようなモデルでは、第2のターゲットトランザクションがブロックチェーンネットワークに送信されて伝搬されブロックチェーンに記録されるとき、各ノードで適用される有効性の基準のうちの1つは、ロック解除スクリプトが第1のトランザクションのロックスクリプトで定義された1つまたは複数の条件のすべてを満たすことである。もう1つは、第1のトランザクションの出力が別の先の有効なトランザクションによってまだ償還されていないということである。これらの条件のいずれかにしたがってターゲットトランザクションが無効であることを発見したノードは、(無効なトランザクションを登録するために伝搬する可能性はあるが、有効なトランザクションとしては)それを伝搬することも、ブロックチェーンに記録されるように新しいブロックにそれを含めることもしない。
【0008】
トランザクションモデルの別のタイプは、アカウントベースのモデルである。この場合、各トランザクションは、過去のトランザクションのシーケンスにおける先行するトランザクションのUTXOを参照することによってではなく、絶対アカウント残高を参照することによって転送されるべき額を定義する。すべてのアカウントの現在の状態は、ブロックチェーンとは別個にノードによって記憶され、絶えず更新される。
【0009】
ブロックチェーン技術の1つの提案される用途は、税金システムでの使用である。
【0010】
政府の公共支出に資金を供給するために、一般に、個人およびとりわけ企業などの法人に対して金銭的な請求が課される。この課税は、所得税、財産税、資本利得税などを含む多くの形態で行われ得る。
【0011】
政府は、政府の経済目標に基づいて、これらの課税システムのうちの1つまたは複数を実施し得る。これは、各システムの利点および欠点を考慮したものである。例として、富および貯蓄の変化は、消費税をではなく所得税を介してより容易に把握することができる。
【0012】
消費税は、売上税だけでなく、税関、物品税などの税である。これらのタイプの税は、商品またはサービスの購入に直接結びついている。
【0013】
税徴収システムにおけるブロックチェーンの役割は、以前から検討されている。例として、https://www.pwc.co.uk/issues/futuretax/assets/documents/how-blockchain-could-improve-the-tax-system.pdfには、ブロックチェーンの以下の特性をどのように税に適用することができるかが説明されている。
・ トランスペアレンシ(transparency)-ブロックチェーンは、トランザクションの出所、トレーサビリティ、およびトランスペアレンシを提供する。
・ 制御-許可されたネットワークへのアクセスは、識別されたユーザに制限される。
・ セキュリティ-デジタル台帳は、データが入力されると、変更または改ざんが不可能である。不正の可能性は低く、発見しやすい。
・ リアルタイム情報-情報が更新されると、ネットワーク内の全員に対して同時に更新される。https://cloudblogs.microsoft.com/industry-blog/government/2019/04/16/could-blockchain-become-governments-best-ally-in-driving-tax-compliance/もまた、特定の税収入をリングフェンシングする際のスマートコントラクトの利用の可能性について言及している。
【0014】
したがって、例えば、会社は、トランザクション、購入、および給与支払いのようなイベントを自動的に記録し、会計士に何千もの記録から数字を導出させるのではなく、実際に発生した内容に基づいてその税金(tax bill)を支払うことができる。政府および組織の両方にとって相当な時間を短縮することができる。同時に、ブロックチェーン指向の税金システムを実施し得る前に、法律などの非技術的な考慮事項に対処する必要がある。
【発明の概要】
【0015】
税そのものは行政の問題であり得るが、税を実施するシステムには、技術で解決することができる明らかな問題がある可能性がある。特に、買い手がチェーンの買い手-売り手である場合、すなわち、買い手自身が事業者であり、売り手に支払ったVATなどの消費税の還付(refund)を受ける権利がある場合、現在のシステムを使用すると、買い手に消費税が還付可能になるまでに、買い手は、典型的に、所定の期間の終了まで待たなければならない。既存のシステムのアカウンタビリティを依然として保持しつつ(または、さらに向上させつつ)、買い手に消費税をより迅速に還付することを可能にするメカニズムを提供するために技術を使用することが望ましいであろう。
【0016】
本明細書で開示される一態様によれば、買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも買い手は、上記商品および/またはサービスに基づいてオンワード販売(onward sale)を行う買い手-売り手である、方法が提供される。方法は、上記購入の売り手によって、(i)少なくとも第2のブロックチェーントランザクションが買い手の暗号署名で署名されることを要求する第1の条件と、(ii)少なくとも第2のブロックチェーントランザクションが税務当局(tax authority)の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを第2のブロックチェーントランザクションが満たすによって償還することができる第1のブロックチェーントランザクションを取得することを含む。方法は、買い手から消費税の支払いを受けたことに応答して、売り手が、ブロックチェーン上に記録されるべき第1のブロックチェーントランザクションを送信することをさらに含む。
【0017】
したがって、開示される技術は、実施形態において、売上税およびVATなどの消費税のためのより高速なリアルタイムの税徴収システムを可能にするブロックチェーンのための用途を提供する。この税徴収および管理を容易にする開示されるシステム(その例は、以下で「STAXRT」および「VTAXRT」と呼ばれる)は、買い手が、以前に支払ったVATまたは売上税に対する還付を得ることができるようになるのに、一定期間(例えば、3ヶ月、12ヶ月)待つ必要がないという点で、買い手への消費税のリアルタイム還付を可能にするように設計される。買い手が還付を受ける権利があることを証明することができる限り、還付を入手することができるべきである。
【図面の簡単な説明】
【0018】
本開示の実施形態の理解を支援し、そのような実施形態がどのように実施され得るかを示すために、ほんの一例として、添付の図面を参照する。
【
図1】ブロックチェーンを実装するためのシステムの概略ブロック図である。
【
図2】ブロックチェーンに記録され得るトランザクションのいくつかの例を概略的に示す。
【
図3】農家が綿を販売してから顧客のドレスになるまでの例示的なチェーンにおける売上税の運用を概略的に示す。
【
図4】農家が綿を販売してから顧客のドレスになるまでの例示的なチェーンにおける付加価値税(VAT)の運用を概略的に示す。
【
図5】売上税または付加価値税などの消費税の買い手-売り手へのリアルタイム還付を可能にするメカニズムの一部として使用するための例示的なブロックチェーントランザクションを概略的に示す。
【
図6】購入のチェーンにおける参加者間のVAT支払いの別の例を概略的に示す。
【
図7】VAT支払いを回収するための例示的なプロトコルにおける参加者のアクションを示すシグナリングチャートである。
【
図8】入力および出力を示すVATトランザクションの概略的な視覚的表現である。
【
図9】VATのエスクローのためのコミットメントチャネルを概略的に示す。
【
図10】VATのためのコミットメントチャネルのフローチャートである。
【
図11】VAT支払いを回収するための別の例示的なプロトコルにおける参加者のアクションを示すシグナリングチャートである。
【
図12】購入のチェーンにおける参加者間の売上税支払いの別の例を概略的に示す。
【
図13】売上税支払いのための例示的なプロトコルにおける参加者のアクションを示すシグナリングチャートである。
【
図14】入力および出力を示す売上税トランザクションの概略的な視覚的表現である。
【
図15】売上税のエスクローのためのコミットメントチャネルを概略的に示す。
【発明を実施するための形態】
【0019】
例示的なシステムの概要
図1は、ブロックチェーン150を実装するための例示的なシステム100を示す。システム100は、典型的にはインターネットなどの広域インターネットワークであるパケット交換ネットワーク101で構成され得る。パケット交換ネットワーク101は、パケット交換ネットワーク101内にピアツーピア(P2P)ネットワーク106を形成するように構成され得る複数のブロックチェーンノード104を含む。図示されていないが、ブロックチェーンノード104は、ほぼ完全なグラフとして構成され得る。したがって、各ブロックチェーンノード104は、他のブロックチェーンノード104に高度に接続される。
【0020】
各ブロックチェーンノード104は、ピアのコンピュータ機器を含み、ノード104の異なるものは、異なるピアに属する。各ブロックチェーンノード104は、1つまたは複数のプロセッサ、例えば、1つまたは複数の中央処理装置(CPU)、アクセラレータプロセッサ、特定用途向けプロセッサおよび/またはフィールドプログラマブルゲートアレイ(FPGA)、ならびに特定用途向け集積回路(ASIC)などの他の機器を備える処理装置を含む。各ノードはまた、メモリ、すなわち、1つまたは複数の非一時的コンピュータ可読媒体の形態のコンピュータ可読ストレージを備える。メモリは、1つまたは複数のメモリ媒体、例えば、ハードディスクなどの磁気媒体、ソリッドステートドライブ(SSD)、フラッシュメモリもしくはEEPROMなどの電子媒体、および/または光ディスクドライブなどの光学媒体を採用する1つまたは複数のメモリユニットを備え得る。
【0021】
ブロックチェーン150は、データブロック151のチェーンを含み、ブロックチェーン150のそれぞれのコピーは、分散型またはブロックチェーンネットワーク106内の複数のブロックチェーンノード104の各々で維持される。上述したように、ブロックチェーン150のコピーを維持することは、ブロックチェーン150を完全に記憶することを必ずしも意味しない。代わりに、ブロックチェーン150は、各ブロックチェーンノード150が各ブロック151のブロックヘッダ(後述する)を記憶している限り、データがプルーニングされ得る。チェーン内の各ブロック151は、1つまたは複数のトランザクション152を含み、この文脈におけるトランザクションは、データ構造の一種を指す。データ構造の性質は、トランザクションモデルまたは方式の一部として使用されるトランザクションプロトコルのタイプに依存する。所与のブロックチェーンは、全体を通して1つの特定のトランザクションプロトコルを使用する。1つの一般的なタイプのトランザクションプロトコルでは、各トランザクション152のデータ構造は、少なくとも1つの入力および少なくとも1つの出力を含む。各出力は、プロパティとしてデジタル資産の量を表す額を指定し、その例は、出力が暗号的にロックされている(ロック解除され、それによって償還または使用されるためにはそのユーザの署名または他のソリューションを必要とする)ユーザ103である。各入力は、先行するトランザクション152の出力を指し示し、それによってトランザクションをリンクする。
【0022】
各ブロック151はまた、ブロック151への順番を定義するために、チェーン内の前に作成されたブロック151を指し示すブロックポインタ155を含む。各トランザクション152(コインベーストランザクション以外)は、トランザクションのシーケンスへの順序を定義するために、前のトランザクションへ戻るポインタを含む(注意:トランザクション152のシーケンスは分岐することが可能である)。ブロック151のチェーンは、チェーン内の最初のブロックであった発生ブロック(Gb:genesis block)153までずっと戻る。チェーン150内の早期にある1つまたは複数の元のトランザクション152は、先行するトランザクションではなく発生ブロック153を指し示していた。
【0023】
ブロックチェーンノード104の各々は、トランザクション152を他のブロックチェーンノード104にフォワードし、それによってトランザクション152をネットワーク106全体に伝搬させるように構成される。各ブロックチェーンノード104は、ブロック151を作成し、同じブロックチェーン150のそれぞれのコピーをそれらのそれぞれのメモリに記憶するように構成される。各ブロックチェーンノード104はまた、ブロック151に組み込まれるのを待っているトランザクション152の順序付きセット(または「プール」)154を維持する。順序付きプール154は、「メムプール(mempool)」と呼ばれることが多い。本明細書におけるこの用語は、任意の特定のブロックチェーン、プロトコル、またはモデルに限定することを意図していない。これは、ノード104が有効であるとして受け入れたトランザクションの順序付きセットを指し、それに対して、ノード104は、同じ出力を使用しようとする他のトランザクションを受け入れないように義務付けられている。
【0024】
所与の現在のトランザクション152jにおいて、その入力(または各入力)は、トランザクションのシーケンスにおける先行するトランザクション152iの出力を参照するポインタを含み、この出力が現在のトランザクション152jにおいて償還または「使用」されるべきであることを指定する。一般に、先行するトランザクションは、順序付きセット154または任意のブロック151内の任意のトランザクションであり得る。先行するトランザクション152iは、現在のトランザクションが有効となるためには存在および妥当性確認される必要があるが、先行するトランザクション152iは、現在のトランザクション152jが作成されるときまたはネットワーク106に送信されるときに必ずしも存在する必要はない。したがって、本明細書における「先行する(preceding)」は、ポインタによってリンクされた論理シーケンスにおける先行するものを指し、必ずしも時間シーケンスにおける作成または送信の時間を指すものではなく、したがって、トランザクション152i、152jが順不同に作成または送信されることを必ずしも除外するものではない(オーファントランザクションに関する以下の説明を参照)。先行するトランザクション152iは、同様に、先のトランザクション(antecedent transaction)または先行したトランザクション(predecessor transaction)とも呼ばれる。
【0025】
現在のトランザクション152jの入力はまた、入力認可、例えば、先行するトランザクション152iの出力がロックされている先のユーザ103aの署名を含む。次に、現在のトランザクション152jの出力は、新しいユーザまたはエンティティ103bに暗号的にロックされ得る。したがって、現在のトランザクション152jは、先行するトランザクション152iの入力において定義された額を、現在のトランザクション152jの出力において定義されたように、新しいユーザまたはエンティティ103bに転送することができる。場合によっては、トランザクション152は、複数のユーザまたはエンティティ(そのうちの1つは残り(change)を与えるために元のユーザまたはエンティティ103aであり得る)間で入力額を分割するために複数の出力を有し得る。場合によっては、トランザクションはまた、1つまたは複数の先行するトランザクションの複数の出力からの額をまとめ、現在のトランザクションの1つまたは複数の出力に再分配するために複数の入力を有することができる。
【0026】
ビットコインなどの出力ベースのトランザクションプロトコルによれば、個々のユーザまたは組織などの当事者103が(手動でまたは当事者によって採用される自動プロセスによって)新しいトランザクション152jを制定することを望むとき、制定を行う当事者は、新しいトランザクションをそのコンピュータ端末102から受信者に送信する。制定を行う当事者または受信者は、最終的に、このトランザクションをネットワーク106のブロックチェーンノード104の1つまたは複数(これは、現在では、典型的にはサーバまたはデータセンタであるが、原則として他のユーザ端末であってもよい)に送信する。新しいトランザクション152jを制定する当事者103がトランザクションをブロックチェーンノード104の1つまたは複数に直接送信し、いくつかの例では、受信者に送信しないことも除外されない。トランザクションを受信するブロックチェーンノード104は、ブロックチェーンノード104の各々で適用されるブロックチェーンノードプロトコルにしたがって、トランザクションが有効であるかどうかをチェックする。ブロックチェーンノードプロトコルは、典型的には、新しいトランザクション152j内の暗号署名が、トランザクション152の順序付きシーケンス内で前のトランザクション152iに依存する予想される署名と一致することをチェックするようにブロックチェーンノード104に求める。そのような出力ベースのトランザクションプロトコルでは、これは、新しいトランザクション152jの入力に含まれる当事者103の暗号署名または他の認可が、新しいトランザクションが割り当てる先行するトランザクション152iの出力において定義される条件と一致することをチェックすることを含み得、この条件は、典型的には、新しいトランザクション152jの入力における暗号署名または他の認可が、新しいトランザクションの入力がリンクされている前のトランザクション152iの出力をロック解除することを少なくともチェックすることを含む。条件は、先行するトランザクション152iの出力に含まれるスクリプトによって少なくとも部分的に定義され得る。代替的に、単にブロックチェーンノードプロトコルのみによって固定されてもよく、またはこれらの組合せによるものであってもよい。いずれにしても、新しいトランザクション152jが有効である場合、ブロックチェーンノード104は、それをブロックチェーンネットワーク106内の1つまたは複数の他のブロックチェーンノード104にフォワードする。これらの他のブロックチェーンノード104は、同じブロックチェーンノードプロトコルにしたがって同じテストを適用し、そして、新しいトランザクション152jを1つまたは複数のさらなるノード104にフォワードし、以下同様である。このようにして、新しいトランザクションはブロックチェーンノード104のネットワーク全体に伝搬される。
【0027】
出力ベースのモデルでは、所与の出力(例えば、UTXO)が割り当てられる(例えば、使用される)かどうかの定義は、それがブロックチェーンノードプロトコルにしたがって別の前方のトランザクション152jの入力によって有効に償還されたかどうかである。トランザクションが有効であるための別の条件は、それが償還しようとする先行するトランザクション152iの出力が、別のトランザクションによってまだ償還されていないことである。この場合も同様に、有効ではない場合、トランザクション152jは、(無効としてフラグ付けされ、警告のために伝搬されない限り)伝搬されることも、ブロックチェーン150内に記録されることもない。これは、トランザクタ(transactor)が同じトランザクションの出力を複数回割り当てようとする二重支出を防止する。一方、アカウントベースのモデルは、アカウント残高を維持することによって二重支出を防止する。ここでも、トランザクション順序が定義されているので、アカウント残高は常に単一の定義された状態にある。
【0028】
トランザクションを妥当性確認することに加えて、ブロックチェーンノード104はまた、「プルーフオブワーク」によって支持される、一般にマイニングと呼ばれるプロセスにおいてトランザクションのブロックを最初に作成しようと競い合う。ブロックチェーンノード104において、新しいトランザクションが、ブロックチェーン150上に記録されたブロック151内にまだ現れていない有効なトランザクションの順序付きプール154に追加される。次いで、ブロックチェーンノードは、暗号パズルを解こうとすることで、トランザクションの順序付きセット154からトランザクション152の新しい有効なブロック151を組み立てようと競い合う。典型的には、これは、ナンスが保留中のトランザクションの順序付きプール154の表現と連結されハッシュされたときにハッシュの出力が所定の条件を満たすような「ナンス」値を探索することを含む。例えば、所定の条件とは、ハッシュの出力が特定の所定の数の先行ゼロを有することであり得る。これは、プルーフオブワークパズルの1つの特定のタイプにすぎず、他のタイプが除外されないことに留意されたい。ハッシュ関数の特性は、その入力に対して予測不可能な出力を持つことである。したがって、この探索は、総当たりでしか実行することができないので、パズルを解こうとしている各ブロックチェーンノード104でかなりの量の処理リソースを消費する。
【0029】
最初にパズルを解いたブロックチェーンノード104は、これをネットワーク106に公表し、後にネットワーク内の他のブロックチェーンノード104によって容易にチェックすることができるその解を証明として提供する(ハッシュの解が与えられると、ハッシュの出力が条件を満たすことをチェックすることは簡単である)。この最初のブロックチェーンノード104は、ブロックを、このブロックを受け入れる他のノードのしきい値コンセンサスに伝搬し、プロトコルルールを実施する。次いで、トランザクション154の順序付きセットは、ブロックチェーンノード104の各々によってブロックチェーン150内に新しいブロック151として記録されるようになる。ブロックポインタ155はまた、チェーン内の前に作成されたブロック151n-1を指し示す新しいブロック151nに割り当てられる。プルーフオブワークの解を作成するために必要とされる、例えばハッシュの形態の、かなりの量の労力は、ブロックチェーンプロトコルのルールに従うという最初のノード104の意図を示す。そのようなルールは、別名二重支出としても知られている、前に妥当性確認されたトランザクションと同じ出力の割当てを行う場合、トランザクションを有効として受け入れないことを含む。ブロック151は、一旦作成されると、ブロックチェーンネットワーク106内のブロックチェーンノード104の各々において認識および維持されるので、修正することができない。ブロックポインタ155はまた、ブロック151に順番を付与する。トランザクション152は、ネットワーク106内の各ブロックチェーンノード104において順序付きブロックに記録されるので、これは、トランザクションの不変の公開台帳を提供する。
【0030】
任意の所与の時間にパズルを解こうと競い合う異なるブロックチェーンノード104は、それらがいつ解を探索し始めたかまたはトランザクションが受信された順序に応じて、任意の所与の時間に、まだ公開されていないトランザクション154のプールの異なるスナップショットに基づいてそれを行っていてもよいことに留意されたい。誰がそれぞれのパズルを最初に解いても、どのトランザクション152が次の新しいブロック151nにどの順序で含まれるかを定義し、公開されていないトランザクションの現在のプール154が更新される。次いで、ブロックチェーンノード104は、新たに定義された、公開されていないトランザクション154の順序付きプールからブロックを作成しようと競い合い続け、以下同様である。2つのブロックチェーンノード104が互いに非常に短い時間内にパズルを解いて、ブロックチェーンの相反する見解がノード104間で伝搬される場合に発生し得る任意の「フォーク」を解決するためのプロトコルも存在する。要するに、フォークのどちらのプロングが最も長く成長しても、確定的なブロックチェーン150となる。同じトランザクションが両方のフォークに現れるので、これがネットワークのユーザまたはエージェントに影響を与えないことに留意されたい。
【0031】
ビットコインブロックチェーン(およびほとんどの他のブロックチェーン)によれば、新しいブロック104の構築に成功したノードには、(あるエージェントまたはユーザから別のエージェントまたはユーザにある額のデジタル資産を転送するエージェント間またはユーザ間のトランザクションとは対照的に)追加の定義された量のデジタル資産を分配する新しい特別な種類のトランザクションにおいて、受け入れられた追加の額のデジタル資産を新たに割り当てる能力が与えられる。この特別なタイプのトランザクションは、通常、「コインベーストランザクション」と呼ばれるが、「開始トランザクション(initiation transaction)」または「生成トランザクジョン(generation transaction)」と呼ばれることもある。これは典型的に、新しいブロック151nの最初のトランザクションを形成する。プルーフオブワークは、新しいブロックを構築するノードが、この特別なトランザクションが後に償還されることを可能にするプロトコルルールに従うという意図を示す。ブロックチェーンプロトコルルールは、この特別なトランザクションが償還され得る前に、満期期間、例えば100個のブロックを必要とし得る。多くの場合、通常の(非生成)トランザクション152はまた、そのトランザクションが公開されたブロック151nを作成したブロックチェーンノード104にさらに報酬を与えるために、その出力のうちの1つにおいて追加のトランザクション手数料を指定する。この手数料は通常「トランザクション手数料」と呼ばれ、以下に説明する。
【0032】
トランザクション妥当性確認および公開に関与するリソースに起因して、典型的には、ブロックチェーンノード104の少なくとも各々は、1つまたは複数の物理サーバユニットを含むサーバの形態をとるか、さらにはデータセンタ全体の形態をとる。しかしながら、原則として、任意の所与のブロックチェーンノード104は、ユーザ端末または互いにネットワーク化されたユーザ端末のグループの形態をとることができる。
【0033】
各ブロックチェーンノード104のメモリは、そのそれぞれの1つまたは複数の役割を実行し、ブロックチェーンノードプロトコルにしたがってトランザクション152を処理するために、ブロックチェーンノード104の処理装置上で実行されるように構成されたソフトウェアを記憶する。本明細書においてブロックチェーンノード104に帰する任意のアクションは、それぞれのコンピュータ機器の処理装置上で実行されるソフトウェアによって実行され得ることが理解されよう。ノードソフトウェアは、アプリケーション層、またはオペレーティングシステム層もしくはプロトコル層などの下位層、またはこれらの任意の組合せにおける1つまたは複数のアプリケーションにおいて実装され得る。
【0034】
消費ユーザの役割を果たす複数の当事者103の各々のコンピュータ機器102もネットワーク101に接続されている。これらのユーザは、ブロックチェーンネットワーク106と対話し得るが、トランザクションの妥当性確認にもブロックの構築にも参加しない。これらのユーザまたはエージェント103のうちのいくつかは、トランザクションの送信者および受信者として動作し得る。他のユーザは、必ずしも送信者または受信者として動作することなくブロックチェーン150と対話し得る。例えば、いくつかの当事者は、(例えば、ブロックチェーンノード104からブロックチェーンのコピーを取得した)ブロックチェーン150のコピーを記憶するストレージエンティティとして動作し得る。
【0035】
当事者103のうちのいくつかまたはすべては、異なるネットワーク、例えば、ブロックチェーンネットワーク106の上にオーバーレイされたネットワークの一部として接続され得る。ブロックチェーンネットワークのユーザ(「クライアント」と呼ばれことが多い)は、ブロックチェーンネットワーク106を含むシステムの一部であるといえるが、これらのユーザは、ブロックチェーンノードに求められる役割を果たさないので、ブロックチェーンノード104ではない。代わりに、各当事者103はブロックチェーンネットワーク106と対話してもよく、ブロックチェーンノード106に接続する(すなわち通信する)ことでブロックチェーン150を利用し得る。2つの当事者103およびそれらのそれぞれの機器102、すなわち、第1の当事者103aおよびそのそれぞれのコンピュータ機器102a、ならびに第2の当事者103bおよびそのそれぞれのコンピュータ機器102bは、例示の目的で示されている。そのような当事者103およびそれらのそれぞれのコンピュータ機器102ははるかに多く存在し、システム100に参加し得るが、便宜上、それらは図示されていないことが理解されよう。各当事者103は、個人または組織であり得る。純粋に例示として、第1の当事者103aは、本明細書ではアリスと呼ばれ、第2の当事者103bはボブと呼ばれるが、これは限定的なものではなく、本明細書におけるアリスまたはボブへのいかなる言及も、それぞれ「第1の当事者」および「第2の当事者」と置き換えられ得ることが理解されよう。
【0036】
各当事者103のコンピュータ機器102は、1つまたは複数のプロセッサ、例えば、1つまたは複数のCPU、GPU、他のアクセラレータプロセッサ、特定用途向けプロセッサ、および/またはFPGAを含むそれぞれの処理装置を備える。各当事者103のコンピュータ機器102は、メモリ、すなわち、1つまたは複数の非一時的コンピュータ可読媒体の形態のコンピュータ可読ストレージをさらに備える。このメモリは、1つまたは複数のメモリ媒体、例えば、ハードディスクなどの磁気媒体、SSD、フラッシュメモリもしくはEEPROMなどの電子媒体、および/または光ディスクドライブなどの光学媒体を採用する1つまたは複数のメモリユニットを備え得る。各当事者103のコンピュータ機器102上のメモリは、処理装置上で実行されるように構成された少なくとも1つのクライアントアプリケーション105のそれぞれのインスタンスを含むソフトウェアを記憶する。本明細書において所与の当事者103に帰する任意のアクションは、それぞれのコンピュータ機器102の処理装置上で実行されるソフトウェアを使用して実行され得ることが理解されよう。各当事者103のコンピュータ機器102は、少なくとも1つのユーザ端末、例えば、デスクトップもしくはラップトップコンピュータ、タブレット、スマートフォン、またはスマートウォッチなどのウェアラブルデバイスを含む。所与の当事者103のコンピュータ機器102はまた、ユーザ端末を介してアクセスされるクラウドコンピューティングリソースなどの1つまたは複数の他のネットワーク化されたリソースを含み得る。
【0037】
クライアントアプリケーション105は、最初に、1つまたは複数の適切なコンピュータ可読記憶媒体上で任意の所与の当事者103のコンピュータ機器102に提供され得、例えば、サーバからダウンロードされ得るか、またはリムーバブルSSD、フラッシュメモリキー、リムーバブルEEPROM、リムーバブル磁気ディスクドライブ、磁気フロッピーディスクもしくはテープ、CDもしくはDVD ROMなどの光ディスク、またはリムーバブル光学ドライブなどのリムーバブル記憶デバイス上で提供され得る。
【0038】
クライアントアプリケーション105は、少なくとも「ウォレット」機能を備える。これは2つの主要な機能を有する。これらのうちの1つは、それぞれの当事者103が、トランザクション152を作成し、認可し(例えば署名し)、1つまたは複数のビットコインノード104に送信することを可能にして、トランザクション152を、ブロックチェーンノード104のネットワーク全体に伝搬させ、それによってブロックチェーン150に含まれるようにすることである。もう1つは、それぞれの当事者に、その当事者が現在所有しているデジタル資産の額を報告することである。出力ベースのシステムでは、この第2の機能は、当該当事者に属するブロックチェーン150全体に散在している様々なトランザクション152の出力において定義された額を照合することを含む。
【0039】
様々なクライアント機能は、所与のクライアントアプリケーション105に統合されるものとして説明され得るが、必ずしもこれに限定されず、代わりに、本明細書で説明される任意のクライアント機能が、例えば、APIを介してインターフェースする、または一方が他方へのプラグインである2つ以上の別個のアプリケーション一式において実装され得ることに留意されたい。より一般的には、クライアント機能は、アプリケーション層もしくはオペレーティングシステムなどの下位層、またはこれらの任意の組合せにおいて実装され得る。以下では、クライアントアプリケーション105に関して説明するが、これに限定されないことが理解されよう。
【0040】
各コンピュータ機器102上のクライアントアプリケーションまたはソフトウェア105のインスタンスは、ネットワーク106のブロックチェーンノード104のうちの少なくとも1つに動作可能に結合される。これにより、クライアント105のウォレット機能はトランザクション152をネットワーク106に送信することができる。クライアント105はまた、それぞれの当事者103が受信者である任意のトランザクションについてブロックチェーン150にクエリを行うためにブロックチェーンノード104にコンタクトすることができる(または、実施形態では、ブロックチェーン150は、部分的にその公開性(public visibility)を通じてトランザクションにおける信頼を提供する公共施設であるので、実際にブロックチェーン150における他の当事者のトランザクションを検査する)。各コンピュータ機器102上のウォレット機能は、トランザクションプロトコルにしたがってトランザクション152を定式化し、送信するように構成される。上述したように、各ブロックチェーンノード104は、ブロックチェーンノードプロトコルにしたがってトランザクション152を妥当性確認し、トランザクション152をフォワードして、それらをブロックチェーンネットワーク106全体に伝搬するように構成されたソフトウェアを実行する。トランザクションプロトコルおよびノードプロトコルは互いに対応し、所与のトランザクションプロトコルは所与のノードプロトコルに従い(go with)、一緒に所与のトランザクションモデルを実装する。ブロックチェーン150内のすべてのトランザクション152に対して同じトランザクションプロトコルが使用される。ネットワーク106内のすべてのノード104によって同じノードプロトコルが使用される。
【0041】
所与の当事者103、例えばアリスが、ブロックチェーン150に含まれるべき新しいトランザクション152jを送信することを望むとき、アリスは、関連トランザクションプロトコルにしたがって(アリスのクライアントアプリケーション105内のウォレット機能を使用して)新しいトランザクションを定式化する。次いで、アリスは、クライアントアプリケーション105から、アリスが接続されている1つまたは複数のブロックチェーンノード104にトランザクション152を送信する。例えば、これは、アリスのコンピュータ102に最良に接続されたブロックチェーンノード104であり得る。任意の所与のブロックチェーンノード104は、新しいトランザクション152jを受信すると、ブロックチェーンノードプロトコルおよびそのそれぞれの役割にしたがってそれを処理する。これは、新たに受信されたトランザクション152jが「有効」であるための特定の条件を満たすかを最初にチェックすることを含み、その例については、以下でより詳細に説明する。いくつかのトランザクションプロトコルでは、妥当性確認のための条件は、トランザクション152に含まれるスクリプトによってトランザクションごとに構成可能であり得る。代替的に、条件は、単にノードプロトコルの組込み特徴であってもよく、またはスクリプトとノードプロトコルとの組合せによって定義されてもよい。
【0042】
新たに受信されたトランザクション152jが、有効であるとみなされるためのテストにパスすることを条件として(すなわち、それが「妥当性確認される」ことを条件として)、トランザクション152jを受信する任意のブロックチェーンノード104は、そのブロックチェーンノード104において維持されるトランザクション154の順序付きセットに新たな妥当性確認済みトランザクション152を追加する。さらに、トランザクション152jを受信する任意のブロックチェーンノード104は、妥当性確認済みトランザクション152をネットワーク106内の1つまたは複数の他のブロックチェーンノード104へと前方に伝搬する。各ブロックチェーンノード104は同じプロトコルを適用するので、トランザクション152jが有効であると仮定すると、これは、ネットワーク106全体にわたってすぐに伝搬されることを意味する。
【0043】
所与のブロックチェーンノード104において維持される保留中のトランザクション154の順序付きプールに承認されると、そのブロックチェーンノード104は、新しいトランザクション152を含むそれぞれのプール154の最新バージョンに対してプルーフオブワークパズルを解こうと競い始める(他のブロックチェーンノード104が、トランザクション154の異なるプールに基づいてパズルを解こうと試みている可能性があるが、どのノードでも最初に解いたものが、最新のブロック151に含まれるトランザクションのセットを定義することを想起されたい。最終的に、ブロックチェーンノード104は、アリスのトランザクション152jを含む順序付きプール154の一部についてパズルを解くことになる)。新しいトランザクション152jを含むプール154に対してプルーフオブワークが行われると、それは普遍的にブロックチェーン150内のブロック151のうちの1つの一部となる。各トランザクション152は、先のトランザクションへ戻るポインタを含むので、トランザクションの順序も不変的に記録される。
【0044】
異なるブロックチェーンノード104は、最初、所与のトランザクションの異なるインスタンスを受信し得るので、1つのインスタンスが新しいブロック151において公開される(この時点で、公開されたインスタンスが唯一の有効なインスタンスであることにすべてのブロックチェーンノード104が同意している)までは、どのインスタンスが「有効」であるかについて相反する見解を有する。ブロックチェーンノード104が1つのインスタンスを有効として受け入れ、次いで、別のインスタンスがブロックチェーン150に記録されていることを発見した場合、そのブロックチェーンノード104は、これを受け入れなければならず、最初に受け入れたインスタンス(すなわち、ブロック151で公開されていないもの)を破棄する(すなわち、無効として扱う)。
【0045】
いくつかのブロックチェーンネットワークによって動作される代替タイプのトランザクションプロトコルは、アカウントベースのトランザクションモデルの一部として、「アカウントベース」プロトコルと呼ばれ得る。アカウントベースの場合、各トランザクションは、過去のトランザクションのシーケンスにおける先行するトランザクションのUTXOを参照することによってではなく、絶対アカウント残高を参照することによって転送されるべき額を定義する。すべてのアカウントの現在の状態は、ブロックチェーンとは別個にそのネットワークのノードによって記憶され、絶えず更新される。そのようなシステムでは、トランザクションは、アカウントの実行中のトランザクションタリー(「ポジション」とも呼ばれる)を使用して順序付けられる。この値は、送信者によってその暗号署名の一部として署名され、トランザクション参照計算の一部としてハッシュされる。加えて、トランザクションにおけるオプションのデータフィールドも署名することができる。このデータフィールドは、例えば、前のトランザクションIDがデータフィールドに含まれている場合、前のトランザクションを指し示し得る。
【0046】
UTXOベースのモデル
図2は、例示的なトランザクションプロトコルを示す。これは、UTXOベースのプロトコルの一例である。トランザクション152(「Tx」と略記される)は、ブロックチェーン150の基本的なデータ構造である(各ブロック151は1つまたは複数のトランザクション152を含む)。以下では、出力ベースまたは「UTXO」ベースのプロトコルを参照して説明する。しかしながら、これはすべての可能な実施形態に限定されない。例示的なUTXOベースのプロトコルは、ビットコインを参照して説明されるが、他の例示的なブロックチェーンネットワーク上でも等しく実装され得ることに留意されたい。
【0047】
UTXOベースのモデルでは、各トランザクション(「Tx」)152は、1つまたは複数の入力202および1つまたは複数の出力203を含むデータ構造を含む。各出力203は、未使用トランザクション出力(UTXO)を含み得、これは、(UTXOがまだ償還されていない場合)別の新しいトランザクションの入力202のソースとして使用され得る。UTXOは、デジタル資産の額を指定する値を含む。これは、分散型台帳上のトークンの設定数を表す。UTXOはまた、他の情報の中でも、元となるトランザクションのトランザクションIDを含み得る。トランザクションデータ構造は、入力フィールド(複数可)202および出力フィールド(複数可)203のサイズを示すインジケータを含み得るヘッダ201も含み得る。ヘッダ201はまた、トランザクションのIDを含み得る。実施形態では、トランザクションIDは、(トランザクションID自体を除く)トランザクションデータのハッシュであり、ノード104にサブミットされる生のトランザクション152のヘッダ201に記憶される。
【0048】
アリス103aが、当該デジタル資産の額をボブ103bに転送するトランザクション152jを作成することを望むとする。
図2では、アリスの新しいトランザクション152jは「Tx
1」とラベル付けされている。これは、シーケンス内の先行するトランザクション152iの出力203においてアリスにロックされたデジタル資産の額を取り、これのうちの少なくとも一部をボブに転送する。先行するトランザクション152iは、
図2では「Tx
0」とラベル付けされている。Tx
0およびTx
1は、単なる任意のラベルである。それらは、Tx
0がブロックチェーン151内の最初のトランザクションであること、またはTx
1がプール154内のすぐ次のトランザクションであることを必ずしも意味するものではない。Tx
1は、アリスにロックされた未使用の出力203を依然として有する任意の先行する(すなわち先の)トランザクションを指し示すことができる。
【0049】
先行するトランザクションTx0は、アリスが新しいトランザクションTx1を作成した時点では、または少なくともアリスがそれをネットワーク106に送信する時点までには、すでに妥当性確認されブロックチェーン150のブロック151に含まれている可能性がある。それは、その時点でブロック151のうちの1つにすでに含まれていてもよいし、順序付きセット154で依然として待機していてもよく、この場合、すぐに新しいブロック151に含まれることになる。代替的に、Tx0およびTx1を作成してネットワーク106に一緒に送信することもできるし、ノードプロトコルが「オーファン」トランザクションのバッファリングを可能にする場合には、Tx0をTx1の後に送信することさえもできる。トランザクションのシーケンスの文脈において本明細書で使用される「先行する」および「後続の」という用語は、トランザクション内で指定されているトランザクションポインタ(どのトランザクションがどの他のトランザクションを指し示すかなど)によって定義されるシーケンス内のトランザクションの順序を指す。それらは、同様に、「先行するもの(predecessor)」および「後続するもの(successor)」、または「先の」および「後の」、「親」および「子」などと置き換えられ得る。これは、それらの作成、ネットワーク106への送信、または任意の所与のブロックチェーンノード104への到着の順序を必ずしも意味するものではない。それにもかかわらず、先行するトランザクション(先のトランザクションまたは「親」)を指し示す後続するトランザクション(後のトランザクションまたは「子」)は、親トランザクションが妥当性確認されない限り、妥当性確認されない。親より前にブロックチェーンノード104に到着する子は、オーファンとみなされる。それは、ノードプロトコルおよび/またはノード挙動に応じて、親を待つために特定の時間バッファされるかまたは破棄され得る。
【0050】
先行するトランザクションTx0の1つまたは複数の出力203のうちの1つは、本明細書ではUTXO0とラベル付けされた特定のUTXOを含む。各UTXOは、UTXOによって表されるデジタル資産の額を指定する値と、ロックスクリプトとを含み、ロックスクリプトは、後続のトランザクションが妥当性確認され、したがってUTXOが正常に償還されるために、後続のトランザクションの入力202内のロック解除スクリプトが満たさなければならない条件を定義する。典型的には、ロックスクリプトは、その額を特定の当事者(それが含まれるトランザクションの受益者)にロックする。すなわち、ロックスクリプトは、典型的には、後続のトランザクションの入力内のロック解除スクリプトに、先行するトランザクションがロックされる当事者の暗号署名が含まれるという条件を含むロック解除条件を定義する。
【0051】
ロックスクリプト(通称scriptPubKey)は、ノードプロトコルによって認識されるドメイン固有言語で書かれたコードの一部分である。そのような言語の特定の例は、ブロックチェーンネットワークによって使用される「スクリプト(Script)」(大文字S)と呼ばれる。ロックスクリプトは、トランザクション出力203を使用するためにどの情報が必要とされるか、例えばアリスの署名の必要性、を指定する。ロック解除スクリプトはトランザクションの出力に現れる。ロック解除スクリプト(通称scriptSig)は、ロックスクリプト基準を満たすのに必要な情報を提供するドメイン固有言語で書かれたコードの一部分である。例えば、それはボブの署名を含み得る。ロック解除スクリプトは、トランザクションの入力202に現れる。
【0052】
つまり、図示の例では、Tx0の出力203内のUTXO0は、UTXO0が償還されるために(厳密には、UTXO0を償還しようとする後続のトランザクションが有効となるために)アリスの署名Sig PAを必要とするロックスクリプト[Checksig PA]を含む。[Checksig PA]は、アリスの公開鍵-秘密鍵ペアの公開鍵PAの表現(すなわち、ハッシュ)を含む。Tx1の入力202は、(例えば、実施形態ではトランザクションTx0全体のハッシュであるそのトランザクションID、TxID0によって)Tx1を指し示すポインタを含む。Tx1の入力202は、Tx0の任意の他の可能な出力の中からUTXO0を識別するために、Tx0内のUTXO0を識別するインデックスを含む。Tx1の入力202は、アリスが鍵ペアのアリスの秘密鍵をデータの所定の部分(暗号では「メッセージ」と呼ばれることもある)に適用することによって作成された、アリスの暗号署名を含むロック解除スクリプト<Sig PA>をさらに含む。有効な署名を提供するためにアリスによって署名される必要があるデータ(または「メッセージ」)は、ロックスクリプトによって、またはノードプロトコルによって、またはこれらの組合せによって定義され得る。
【0053】
新しいトランザクションTx1がブロックチェーンノード104に到着すると、ノードはノードプロトコルを適用する。これは、ロックスクリプトおよびロック解除スクリプトを一緒に実行して、ロック解除スクリプトがロックスクリプトで定義されている条件(この条件は1つまたは複数の基準を含み得る)を満たすかどうかをチェックすることを含む。実施形態では、これは2つのスクリプトを連結することを含む:
<Sig PA> <PA> || [Checksig PA]
ここで、「||」は連結を表し、「<…>」はデータをスタックに置くことを意味し、「[…]」はロックスクリプト(この例ではスタックベースの言語)で構成される関数である。同等に、スクリプトは、スクリプトを連結するのではなく、共通スタックを用いて次々に実行され得る。いずれにしても、一緒に実行されるとき、スクリプトは、Tx0の出力内のロックスクリプトに含まれるようなアリスの公開鍵PAを使用して、Tx1の入力内のロック解除スクリプトが、データの予想される部分に署名したアリスの署名を含むことを認証する。データの予想される部分自体(「メッセージ」)はまた、この認証を実行するために含まれる必要がある。実施形態では、署名されたデータは、Tx1の全体を含む(つまり、平文のデータの署名された部分を指定する別個の要素は、すでに本質的に存在するので、含まれる必要はない)。
【0054】
公開-秘密暗号法による認証の詳細は、当業者によく知られている。基本的に、アリスが自身の秘密鍵を使用してメッセージに署名した場合、アリスの公開鍵および平文のメッセージが与えられると、ノード104などの別のエンティティは、メッセージがアリスによって署名されたものに違いないことを認証することができる。署名は、典型的には、メッセージをハッシュし、ハッシュに署名し、これを署名としてメッセージにタグ付けすることを含み、これにより、公開鍵の任意の保持者が署名を認証することができる。したがって、データの特定の部分またはトランザクションの一部などに署名することへの本明細書におけるいかなる言及も、実施形態では、データのその部分またはトランザクションの一部のハッシュに署名することを意味し得ることに留意されたい。
【0055】
Tx1内のロック解除スクリプトが、Tx0のロックスクリプト内で指定されている1つまたは複数の条件を満たす場合(つまり、図示の例では、アリスの署名がTx1内で提供され、認証された場合)、ブロックチェーンノード104は、Tx1が有効であるとみなす。これは、ブロックチェーンノード104が、保留中のトランザクション154の順序付きプールにTx1を追加することとなることを意味する。ブロックチェーンノード104はまた、トランザクションTx1をネットワーク106内の1つまたは複数の他のブロックチェーンノード104にフォワードして、トランザクションTx1がネットワーク106全体に伝搬されるようにする。Tx1が妥当性確認されてブロックチェーン150に含まれると、これは、Tx0からのUTXO0を使用済みとして定義する。Tx1は、未使用トランザクション出力203を使用する場合にのみ有効になり得ることに留意されたい。別のトランザクション152によってすでに使用された出力を使用しようとする場合、Tx1は、他のすべての条件が満たされたとしても無効になる。したがって、ブロックチェーンノード104はまた、先行するトランザクションTx0内の参照されたUTXOがすでに使用済みであるかどうか(すなわち、それが別の有効なトランザクションへの有効な入力をすでに形成したかどうか)をチェックする必要がある。これは、ブロックチェーン150がトランザクション152に定義された順序を課すことが重要である1つの理由である。実際には、所与のブロックチェーンノード104は、どのトランザクション152内のどのUTXO203が使用されたかをマーキングする別個のデータベースを維持し得るが、最終的には、UTXOが使用されたかどうかを定義するものは、ブロックチェーン150内の別の有効なトランザクションへの有効な入力をすでに形成しているかどうかである。
【0056】
所与のトランザクション152のすべての出力203において指定された総額が、そのすべての入力202によって指し示された総額よりも大きい場合、これは、ほとんどのトランザクションモデルにおいて無効性の別の根拠となる。したがって、そのようなトランザクションは、伝搬されることも、ブロック151に含まれることもないであろう。
【0057】
UTXOベースのトランザクションモデルでは、所与のUTXOが全体として使用される必要があることに留意されたい。UTXOにおいて使用済みとして定義された額の一部は、別の一部が使用されていても、「後に残す」ことはできない。しかしながら、次のトランザクションの複数の出力間でUTXOからの額を分割することはできる。例えば、Tx0内のUTXO0において定義された額を、Tx1内の複数のUTXO間で分割することができる。したがって、アリスが、UTXO0において定義された額のすべてをボブに与えたくない場合、アリスは、リマインダを使用して、Tx1の第2の出力において自分自身に残りを与えるか、または別の当事者に支払うことができる。
【0058】
実際には、アリスはまた、通常、アリスのトランザクション104をブロック151に成功裏に含めるビットコインノード104に対する手数料を含める必要がある。アリスがそのような手数料を含めない場合、Tx0は、ブロックチェーンノード104によって拒否され得、したがって、技術的に有効であっても、伝搬されず、ブロックチェーン150に含まれない可能性がある(ノードプロトコルは、ブロックチェーンノード104が望まない場合にトランザクション152を受け入れることを強制しない)。いくつかのプロトコルでは、トランザクション手数料は、それ自体の別個の出力203を必要としない(すなわち、別個のUTXOを必要としない)。代わりに、所与のトランザクション152の入力(複数可)202によって指し示される総額と出力(複数可)203で指定されている総額との間の任意の差が、トランザクションを公開するブロックチェーンノード104に自動的に与えられる。例えば、UTXO0へのポインタがTx1への唯一の入力であり、Tx1は唯一の出力UTXO1を有するとする。UTXO0において指定されたデジタル資産の額がUTXO1において指定された額よりも大きい場合、その差分は、UTXO1を含むブロックを生成するためのプルーフオブワーク競争に勝つノード104によって割り当てられ得る。しかしながら、代替的にまたは追加的に、トランザクション手数料がトランザクション152のUTXO203のうちのそれ自体の1つにおいて明示的に指定され得ることは必ずしも除外されない。
【0059】
アリスおよびボブのデジタル資産は、ブロックチェーン150内のどこかで任意のトランザクション152においてそれらにロックされたUTXOから構成される。したがって、典型的には、所与の当事者103の資産は、ブロックチェーン150全体にわたる様々なトランザクション152のUTXO全体に散在している。ブロックチェーン150内のどこにも、所与の当事者103の総残高を定義する数字は記憶されない。クライアントアプリケーション105におけるウォレット機能の役割は、それぞれの当事者にロックされ、別の前方のトランザクションでまだ使用されていない様々なUTXOのすべての値を一緒に照合することである。これは、ビットコインノード104のいずれかに記憶されたブロックチェーン150のコピーにクエリを行うことによって行うことができる。
【0060】
スクリプトコードは、多くの場合、概略的に(すなわち、正確な言語を使用せずに)表されることに留意されたい。例えば、特定の機能を表すためにオペレーションコード(オペコード)が使用され得る。「OP_...」は、スクリプト言語の特定のオペコードを指す。例として、OP_RETURNは、ロックスクリプトの最初にOP_FALSEが先行するときに、トランザクション内にデータを記憶することができ、それによってデータをブロックチェーン150内に不変的に記録することができる、トランザクションの使用不可能な出力を作成するスクリプト言語のオペコードである。例えば、データは、ブロックチェーンに記憶することが望まれる文書を含み得る。
【0061】
典型的には、トランザクションの入力は、公開鍵PAに対応するデジタル署名を含む。実施形態において、これは、楕円曲線secp256k1を使用するECDSAに基づく。デジタル署名は、データの特定の一部分に署名する。いくつかの実施形態では、所与のトランザクションについて、署名は、トランザクション入力の一部、およびトランザクション出力の一部または全部に署名する。署名された出力の特定の部分は、SIGHASHフラグに依存する。SIGHASHフラグは、通常、どの出力が署名されるかを選択するために署名の最後に含まれる4バイトコードである(したがって、署名時に固定される)。
【0062】
ロックスクリプトは、典型的には、それぞれのトランザクションがロックされる当事者の公開鍵を含むという事実を指して、「scriptPubKey」と呼ばれることがある。ロック解除スクリプトは、典型的には、それが対応する署名を供給するという事実を指して「scriptSig」と呼ばれることがある。しかしながら、より一般的には、UTXOが償還されるための条件が署名を認証することを含むことは、ブロックチェーン150のすべてのアプリケーションにおいて必須ではない。より一般的には、スクリプト言語を使用して、任意の1つまたは複数の条件を定義することができる。したがって、より一般的な用語「ロックスクリプト」および「ロック解除スクリプト」が好まれ得る。
【0063】
図1に示すように、アリスおよびボブのコンピュータ機器102a、120bの各々上のクライアントアプリケーションは、それぞれ、追加の通信機能を含み得る。この追加の機能により、(いずれかの当事者または第三者の扇動で)アリス103aは、ボブ103bと別個のサイドチャネル107を確立することができる。サイドチャネル107は、ブロックチェーンネットワークとは別でのデータの交換を可能にする。そこのような通信は、「オフチェーン」通信と呼ばれることがある。例えば、これは、当事者の一方がトランザクションをネットワーク106にブロードキャストすることを選択するまで、トランザクションが(まだ)ブロックチェーンネットワーク106に登録されることなく、またはチェーン150上に進むことなく、アリスとボブとの間でトランザクション152を交換するために使用され得る。このようにトランザクションを共有することは、「トランザクションテンプレート」の共有と呼ばれることがある。トランザクションテンプレートは、完全なトランザクションを形成するために必要とされる1つまたは複数の入力および/または出力を欠いていてもよい。代替的にまたは追加的に、サイドチャネル301は、鍵、交渉された額または条件、データコンテンツなどの任意の他のトランザクション関連データを交換するために使用され得る。
【0064】
サイドチャネル107は、ブロックチェーンネットワーク106と同じパケット交換ネットワーク101を介して確立され得る。代替的にまたは追加的に、サイドチャネル107は、モバイルセルラーネットワークなどの異なるネットワーク、またはローカルワイヤレスネットワークなどのローカルエリアネットワーク、またはさらにはアリスのデバイス102aとボブのデバイス102bとの間の直接のワイヤードまたはワイヤレスリンクを介して確立され得る。一般に、本明細書のどこでも、参照されるサイドチャネル107は、「オフチェーン」すなわちブロックチェーンネットワーク106とは別でデータを交換するための1つまたは複数のネットワーキング技術または通信媒体を介した任意の1つまたは複数のリンクを含み得る。2つ以上のリンクが使用される場合、全体としてのオフチェーンリンクの束または集合は、サイドチャネル107と呼ばれ得る。したがって、アリスおよびボブがサイドチャネル107上で情報またはデータの特定の部分などを交換すると言われている場合、これは、これらのデータの部分のすべてが全く同じリンクまたは同じタイプのネットワーク上で送信されなければならないことを必ずしも意味するものではないことに留意されたい。
【0065】
オンチェーンの消費税メカニズム
消費税は、売上税だけでなく、税関、物品税などの税である。これらのタイプの税は、商品またはサービスの購入に直接結びついている。これらの消費税のうち、以下の例は、売上税およびVAT(付加価値税)の多段階消費税システムに焦点を当てている。しかしながら、これは、本明細書に開示されるメカニズムが適用可能である用途の範囲を必ずしも限定するものではない。
【0066】
売上税は、最終エンドユーザへの商品の販売に課される消費税を指す。売上税が適用される管轄区域では、この税は、(小売店から顧客へのトランザクションが通常、最終エンドユーザへの販売を表すと仮定して)小売店で販売されるすべてのアイテムに対して支払われる。
【0067】
仲介業(例えば、卸売業者から小売業者)の場合、商品には課税されない。これらの仲介業が売上税を支払わないようにするためには、「中間事業者であることを証明する」必要がある。この証明は、通常、適切な税務当局によって与えられる「再販証明書(resale certificate)」の形態である。
【0068】
中間の買い手は、購入時に、売り手に証明書またはそのID番号などのそのような証明を、典型的にはアイテムが再販用であるというステートメントと共に提供することを求められる。それ以外の場合、購入者(最終消費者であると仮定される)と仮定して、そのような証明のない購入者に販売された各アイテムに対して課税される。
【0069】
図3は、農家の綿から顧客のドレスになるまでの購入の例示的なチェーンにおいて、売上税がどのように運用されるかの例を示す。表は、いくつかの例示的な購入額についての売上税計算を示す。
【0070】
一方、VATの重要な特徴は、参加者が対象物に付加した価値に対してのみ税を支払うことである。例として、VAT率が5%であり、アイテムを£100で購入して£150で販売する場合、参加者が税務当局に支払う義務があるVATは£50の5%である。商品に付加される価値は、£150-£100=£50であることに留意されたい。
【0071】
これを容易にするために、買い手-売り手は、自身が支払うVATと、自身が受け取るVATとを追跡することが予想される。次いで、買い手-売り手は、定められた時期(毎年、四半期ごとなど)に提出する納税申告書にこの情報を記載し、税務当局は、それに応じて買い手-売り手に還付する。
【0072】
図4は、販売移行シーケンスシステムを通って綿が移動し、最終的に顧客によって購入されるドレスとなる例を用いて、どのように商品/サービスに価値が付加されるかを示す。表は、いくつかの例示的な購入額についてのVAT計算を示す。
【0073】
従来、農家、工場、または小売業者などの買い手-売り手は、支払われるべきVATなどの消費税が還付されるようになるまで、管轄区域に応じて、3ヶ月、6ヶ月、または12ヶ月などの所定の期間待たなければならない。消費税のより迅速な還付を可能にする技術的解決策を見つけることが望ましいであろう。本開示は、最大で、VATなどの消費税のリアルタイム還付を可能にするブロックチェーンベースのメカニズムを提供する。代替または追加の利点として、ブロックチェーンベースの解決策を使用して、売上税またはVATなどの消費税の徴収および/または還付におけるアカウンタビリティおよび/またはセキュリティの向上を提供することもできる。
【0074】
例として
図3、
図4および
図6に示されるように、購入のチェーンは、1つまたは複数の商品および/またはサービスの買い手かつ売り手である1つまたは複数の買い手-売り手を含み得る。チェーン内の各買い手および/または売り手は、本明細書ではB_S
iとラベル付けされ得、i=0…nである。例示として
図3および
図4では、n=3であり、
図6では、i=4であるが、これらは単なる例であることは理解されよう。B_S
0は売り手のみであり、nは買い手の数であり、B_S
nは買い手のみ(最終顧客)である。B_S
1からB_S
n-1の各々は、買い手-売り手、すなわち買い手かつ売り手である。買い手-売り手B_S
i+1は、チェーン内の先行する売り手B_S
iから1つまたは複数の商品および/またはサービスを購入し、1つまたは複数の商品および/またはサービスを、その先の買い手B_S
i+2へと販売する。そのため、買い手-売り手は、購入時に消費税を購入する必要がない(売上税の場合)か、または消費税の還付を受ける権利がある(VATの場合)。どの種類の消費税が適用されるかは、管轄区域に依存する。
【0075】
本開示によれば、買い手B_Si+1は、(VATであれ売上税であれ)消費税を売り手B_Siに支払い、売り手は、買い手が消費税を取り戻す権利があると仮定すれば買い手が消費税を取り戻すことを可能にするが、そうでなければ税務当局(TA)が税を請求することを可能にするトランザクションにおいて、チェーン上で消費税をエスクローする。VATの場合、これは、いずれにせよVATの仕組みを反映するが、税務当局の所定の決算期の終了を待つ必要なく、買い手-売り手へのVATのより迅速な還付を可能にする。売上税の場合、税を支払い、その後直ちに還付されることで、ブロックチェーンを使用して、買い手が売上税を支払っていないという事実を不変に文書化することができ、したがって、不正な当事者が、権利がないときに売上税を免れることに対するセキュリティが向上する。
【0076】
図5は、上記を実装するためのブロックチェーンベースのメカニズムにおいて使用され得る例示的なブロックチェーントランザクション152Tを示す。単に便宜上のラベルとして、そのような役割のトランザクション152Tは、本明細書では「ターゲット」トランザクションまたは「第1の」トランザクションと呼ばれ得る。出力ベースのトランザクションモデルでは、ターゲットトランザクション152Tは、ファンディングトランザクション(または「第0の」トランザクション)152Fの出力を指し示す少なくとも1つの入力202を含む。
【0077】
ターゲットトランザクション152Tの入力は、ファンディングトランザクション152Fの、指し示された出力のロックスクリプトをロック解除するロック解除スクリプトを含み、したがって、ターゲットトランザクション152Tにおいてチェーン上で消費税をエスクローするために必要な資金を提供する。ターゲットトランザクション152Tは、エスクローされた資金をロック解除するための条件を指定するロックスクリプトを含む少なくとも1つの出力2030も含む。この出力2030のロックスクリプトは、ターゲットトランザクション152Tの出力2030を指し示す支出トランザクション152S(または「第2の」トランザクション)の入力内のロック解除スクリプトによってロック解除することができ、したがって、支出トランザクション152Sの受益者がエスクローされた資金を受け取ることを可能にする。開示されたメカニズムの出力ベースの実装によれば、ターゲットトランザクション152Tのロックスクリプトは、資金を請求するための少なくとも2つの代替条件、すなわち、少なくとも支出トランザクション152Sが買い手B_Si+1によって署名されることを要求する第1の条件と、少なくとも支出トランザクション152Sが税務当局TAによって署名されることを要求する第2の代替条件とで構成される。したがって、買い手または税務当局のいずれかが、潜在的に資金を請求することができる。これにより、買い手B_Si+1は、還付を受ける権利がある消費税を回収することができるが、買い手B_Si+1がそれを回収しない場合、税務当局TAが代わりに資金を請求することができる。
【0078】
出力ベースのモデルでは、支出トランザクション152Sは、関連当事者(この場合、買い手B_Si+1または税務当局TAのいずれか)の暗号署名を、支出トランザクション152Sの入力内のロック解除スクリプトに含めることによって署名される。署名は、暗号署名機能を使用して当事者(買い手またはTA)の秘密鍵を支出トランザクションの少なくとも一部に適用することによって生成され、この署名は、ロック解除スクリプトに含まれる。署名は、当該当事者の対応する公開鍵を使用して認証することができ、この原理により、署名に対するチャレンジをターゲットトランザクション152Tのロックスクリプトに含めることができる。公開鍵-秘密鍵ペアおよび暗号署名技法の詳細は、それ自体、当業者によく知られている。
【0079】
実施形態では、第1の条件は、買い手B_Si+1による資金の回収を可能にするために、1つまたは複数の追加の要件が満たされることを要求し得る。実施形態では、これは、支出トランザクション152Sのロック解除スクリプトがパズルの解を含むという要件を含み、この解は、買い手が還付を受ける権利があることを検証することに応答して税務当局TAによって買い手B_Si+1に先に提供されたシークレット値を含む。例えば、これは、購入に関する情報を検証すること、および/または(例えば、買い手を、承認された買い手-売り手であると証明する買い手のデジタル証明書を認証することによって)買い手の身元を検証することを含み得る。実施形態では、パズルはハッシュパズルを含み得る。言い換えると、パズルは、プレイメージのハッシュを含み、プレイメージは、少なくともシークレット値(および場合によっては、シークレットと連結された1つまたは複数の追加の要素)から構成される。次いで、買い手B_Si+1は、ターゲットトランザクション152Tの出力2030をロック解除し、資金を請求するために、正しいプレイメージを提示しなければならない。この要件を実装するために、ターゲットトランザクション152Tのロックスクリプトは、ハッシュと、解(この例ではプレイメージ)を含むようにロック解除スクリプトにチャレンジするロックスクリプトの一部とを含む。しかしながら、すべての可能な実施形態において、パズルがハッシュパズルであることに限定されないことに留意されたい。他の可能な暗号パズル、例えば、rパズルも当技術分野で知られている。
【0080】
いくつかの実施形態では、(買い手B_Si+1が資金を回収することを可能にする)第1の条件は、例えば、購入ごとに(例えば、ランダムに、または発注書などの購入に関する情報に基づいて)新しいシークレットを生成することによって、個々の購入ごとに変化する要件を含む。これは、買い手が、個々の還付ごとに承認を得なければならないことを意味する。例えば、このようなシステムは、付加価値税(VAT)の場合に適用することができる。しかしながら、代替的に、第1の条件は、個々の解が購入ごとに提供されることを要求しなくてもよく、複数の購入にわたって静的なままであってもよい。例えば、第1の条件は、暗号署名を用いて自身の身元を証明することのみを買い手B_Si+1に求めてもよいし、買い手が買い手-売り手として最初に登録するときに一度だけTAによって買い手に提供されるシークレットを含む解を提供することを買い手に求めてもよい。例えば、このようなシステムは、売上税の場合に適用することができる。
【0081】
実施形態では、第2の、代替条件は、税務当局TAが買い手B_Si+1の代わりに資金を回収することを可能にするために、1つまたは複数の追加の要件が満たされることを要求し得る。実施形態では、これは、支出トランザクション152Sが買い手B_Si+1および税務当局TAの署名で署名されるという要件を含み得る。この場合、TAは、買い手からの承認を得て初めて資金を回収することができる。買い手がこれを行わず、TAが買い手に税を支払う義務があると考えた場合、TAは常に法的手段に戻ることができる。
【0082】
第2の条件によって要求される追加の要件の別の、代替のまたは追加の例として、ファンディングトランザクションのロックスクリプトは、税務当局TAが資金を請求することができるようになる前にタイムアウト期間が経過していることを要求し得る。すなわち、現在の時間は、ロックスクリプトで指定されたタイムアウト時間よりも後でなければならない。ブロックチェーンの当業者にはよく知られているように、そのような目的のための時間は、人間の時間(秒、分、時間、日、週、月および/または年)で、またはブロックの高さ(ネットワーク106上でプルーフオブワークの解を成功裏に公開させ、したがってブロックチェーン150に含まれたブロックの数)の単位で測定することができる。したがって、税務当局TAは、買い手B_Si+1が一定期間資金を回収しない場合にのみ資金を請求することができる。
【0083】
オプションで、ターゲットトランザクションは、購入のメタデータを記憶するために使用される追加の使用不可能な出力2031も含み得る。例えば、スクリプト言語を使用して、追加の出力2031は、ブロックチェーンネットワーク106によって適用されるプロトコルに応じて、OP_RETURNオペコードを含めるか、またはOP_RETURNの後にOP_FALSEを含めることによって、使用不可能にされ得る。メタデータは、例えば、発注書のコピーまたはハッシュ、インボイス、購入日、店舗ID、顧客ID、インボイスID、および/または購入または関与する当事者に関連する任意の他の情報を含み得る。ターゲットトランザクション152Tがブロック151に含まれると、このメタデータは、例えば、監査目的のために、不変の記録としてチェーン上に留まる。
【0084】
上記のいずれかと同様の機能性が、出力ベースのモデルではなくアカウントベースのモデルにおいてスマートコントラクトを使用して代替的に提供され得ることは理解されよう。
【0085】
どのタイプのトランザクションモデルが使用されても、方法は以下のように進行し得る。買い手B_Si+1と売り手B_Siと税務当局TAとの間の通信は、任意の適切なオフチェーンサイドチャネル107を介して当事者のそれぞれのコンピュータ機器102間で行われ得る。
A.買い手B_Si+1は、売り手B_Siに発注書を送信する。発注書は、注文されている1つまたは複数の商品および/またはサービスを指定する。買い手B_Si+1は、買い手B_Si+1の身元を証明するデジタル証明書(またはその参照)も売り手B_Siに送信し得る。
B.売り手B_Siは、インボイスを生成し、要求メッセージを税務当局TAに送信する。要求メッセージは、販売されている1つまたは複数の商品および/またはサービスを指定するインボイスを含み得る。要求メッセージは、代替的にまたは追加的に、買い手B_Si+1の証明書、および/または売り手の身元を証明するための売り手B_Siのデジタル証明書を含んでもよい。実施形態では、売り手B_Siは、売り手B_Siが買い手の証明書を認証する場合にのみ、要求メッセージを送信し得る。
C.要求メッセージに応答して、TAは、例えば、購入の詳細を検証すること、ならびに/または買い手および/もしくは売り手の証明書を認証することによって、売上税の還付が承認されるかどうかを検証する。このステップは、買い手B_Si+1が買い手-売り手であり、最終消費者ではないことを検証することを含み得る。検証にパスした場合、TAは、確認メッセージを売り手B_Siに返信する。実施形態では、確認メッセージは、ターゲットトランザクション152Tに含まれるべきパズル(例えば、ハッシュパズル)を含み得る。また、場合によっては、確認メッセージは、ターゲットトランザクション152Tのテンプレートバージョンを含み得る。実施形態では、確認メッセージは、TAの身元を証明するTAの証明書を含み得る。
D.売り手B_Siは、買い手B_Si+1に確認を返送する。これは、TAからの確認メッセージからの情報の一部または全部、例えば、TAの証明書を含み得る。
E.買い手B_Si+1は、売り手B_Siに消費税を支払う。これは、別のブロックチェーントランザクション152(図示せず)を介して、または不換通貨を使用して、チェーン上で行われ得る。
F.売り手B_Siは、ターゲットトランザクション152Tを取得する。これを行うために、ターゲットトランザクション152Tは、売り手B_Siが自ら生成し得る。代替的に、ターゲットトランザクション152Tのテンプレートが、TAからの確認メッセージにおいて受信され、例えば、入力202に署名を追加することによって、売り手B_Siが完成させ得る。また、より一般的には、テンプレートは、買い手B_Si+1または第4の当事者などの任意の当事者から受信され得る。
G.売り手B_Siは、ブロックチェーン150上でブロック151において公開されるように、ターゲットトランザクション152Tをブロックチェーンネットワーク106に送信する。このステップは、売り手B_Siが自らターゲットトランザクション152Tをブロックチェーンネットワーク106のノード104に直接送信すること、またはその代わりに売り手B_Siとノード104との間の1つまたは複数の中間当事者を介してターゲットトランザクションを代理送信することを含み得る。いくつかの実施形態では、ステップFは、売り手B_Siが税務当局の証明書を認証した場合にのみ実行され得る。
H.(パズルがターゲットトランザクション152Tに含まれていたことから)シークレットがTAから要求される場合、買い手B_Si+1は、要求メッセージをTAに送信し、それに応答して、要求されたシークレットを受信する。このステップは、買い手B_Si+1と売り手B_Siとの間の購入の完了に応答して、または買い手B_Si+1による別の買い手B_Si+2へのオンワード販売の時点で、または買い手B_Si+1が買い手-売り手としてTAに登録する最初の購入より早い時点に行うことができる。これは、新しいシークレットが購入ごとに要求されるか、1回限りの登録時に1回だけ要求されるか、または実際にシークレットが全く要求されないに依存する(他の実施形態では、買い手B_Si+1の署名は、ターゲットトランザクション152Tにおいてエスクローされた資金を回収する目的で買い手-売り手として買い手の身元を証明するのに十分であるとみなされ得る)。いくつかの実施形態では、ステップGは、買い手B_Si+1がTAの証明書を認証した場合にのみ実行され得る。
I.買い手B_Si+1は、ターゲットトランザクションの出力2030を償還するための支出152Sを得る。このステップは、買い手B_Si+1が自らそれを生成すること、または買い手が、例えば、自身の署名(および必要であればシークレット)をロック解除スクリプトに追加することによって、買い手が完成させるべき支出トランザクション152Sのテンプレートを、別の当事者から受信することを含み得る。テンプレートが受信される場合、テンプレートは、買い手B_Si、税務当局TA、または第4の当事者から受信され得る。
J.買い手B_Si+1は、ブロックチェーン150上でブロック151において公開されるために、支出トランザクション152Tをブロックチェーンネットワーク106に送信する。このステップは、買い手B_Si+1が自ら支出トランザクション152Sをブロックチェーンネットワーク106のノード104に直接送信すること、または買い手B_Si+1とノード104との間の1つまたは複数の中間当事者を介して支出トランザクションを代理送信することを含み得る。いくつかの実施形態では、ステップIは、買い手B_Si+1が税務当局の証明書を認証した場合にのみ実行され得る。
【0086】
ステップA~DおよびHはオプションであるが、当事者間の通信を改善するため、および/またはプロセスのセキュリティを向上させるために採用され得る。例えば、ステップA~Cにおける証明書の提示および認証は、不正なまたは悪意のある当事者によるシステムの破壊に対するセキュリティを向上させる。また、論理的な依存関係がある場合を除いて、上記のステップのすべてが提示された順序で実行される必要はないことにも留意されたい。例えば、ステップEおよびFは、互いに対していずの順序でも実行することができる。
【0087】
例示として、ここで、いくつかの例示的なシステムの実装を、付加価値税(VAT)および売上税に照らして、より詳細に述べる。例示的なシステムは、本明細書では、TAXRT(Tax In Real Time)システムと呼ばれ得る。
【0088】
TAXRTは、その名が示すように、税のリアルタイム処理に基づいて構築された課税システムである。より具体的には、売上税や付加価値税(VAT)など、多段階の消費税システムをめぐるプロセスを管理するためのブロックチェーンベースのシステムである。
【0089】
以下に、リアルタイムシステムの売上税(STAXRT)およびVAT(VTAXRT)バージョンを概説する。それぞれ、カスタマイズされたブロックチェーントランザクションのシステムと、システム内の利害関係者(および/または他の参加者)間の相互作用のためのプロトコルとを中心に構築される。
【0090】
付加価値税システムVTAXRT
VTAXRTは、付加価値税システムの独特の特性を容易にするように設計されたシステムのバージョンである。VATの重要な要素は、「アイテムの売買のシーケンスの参加者」が、そのアイテムに付加された価値に対してのみ税を支払うことが予想されること、そのため、参加者は、アイテムを販売する際に、アイテムの以前の購入で支払った税が還付されることが予想されることであることを想起されたい。このシステムの参加者は、以下のように説明することができる。
【表1】
【0091】
支払い
図6の例によってキャプチャされているように、参加者間の支払いに関してシステムの設計を最初に説明する。このシステムは、VATを徴収し、税務当局TAにVATを支払うことを担うのは売り手であるという前提で設計されていることに留意されたい。
【0092】
最も左の当事者は売り手(B_S0)である。前述したように、この参加者は商品の販売のみ行うと仮定する。買い手B_S1は、B_S0からアイテム(Item1)を購入する。当然ながら、2つ以上のアイテムを購入することも可能であるが、説明の目的で、1つの「アイテム」のみが売買されることに触れる。図示の例では、VAT率は20%に設定されている。そのため、販売価格が£100である場合、B_S1は、VATで£20をB_S0に支払う必要がある。この支払いは、オンブロック(暗号通貨)またはオフブロック(例えば、FIAT)であり得る。このタイプおよび同様のタイプの支払い(販売価格+VAT)は、図の下部に矢印で示されている。
【0093】
B_S1からVATを受け取ると、売り手B_S0は、VATが税務当局またはB_S1のいずれかによってのみ請求され得る(2つの代替条件としてTAまたはB_S1にロックされたUTXO)ようにVATをエスクローするブロックチェーントランザクション(例えば、ビットコイントランザクション)を作成する。上記トランザクションの各潜在的な受信者は、それぞれVATを請求することができる条件を有する。税務当局の場合、指定された時間t1の後にのみ資金を請求することができる。この時間は、売り手B_S0と税務当局との間の共同契約で設定される。これは、管轄区域の税法に規定された標準時間に基づいている可能性が高い。
【0094】
B_S1によるエスクローされた資金の請求は、B_S1に対するVAT還付を表す。B_S1が買い手B_S2にアイテムを販売するときに、B_S1に還付が行われることが予想される。B_S1がアイテムを販売するか、または少なくともアイテムをB_S2に販売することに同意する場合、売り手B_S1は、これを税務当局に通信するであろう。当局の承認を前提として、当局は、シークレット値sv1をB_S1にセキュアに通信するであろう。このシークレット値の知識は、B_S1が、エスクローからVAT還付を請求することを可能にするものである。資金をシークレットにロックするトランザクションを作成することができるようにするために、このシークレットのハッシュも売り手B_S0に通信される。税務当局が(ある時点t1の後であっても)これらの資金に等しくアクセスすることができると仮定すると、B_S1は、シークレット値を受信した後、税務当局が使用することができる前に、資金を請求することが賢明である。TAが資金を請求することを可能にするのは、B_S1が実際には買い手-売り手であることが判明しない(またはそれを証明することができない)という不測の事態を想定したものである。
【0095】
この一連のステップは、シーケンスにおいて後続する参加者の各々の間で繰り返される。買い手-売り手B_SiおよびB_Si+1の一般的なペアを考慮する。Itemi+1はItemiの次の反復(例えば、生地からドレス)であることに留意されたい。B_Si、B_Si+1、および税務当局間の支払いのリストは以下のとおりである。
【0096】
買い手B_Si+1がB_Siからアイテム(Itemi+1)を購入する。VAT率はrに設定され、rは比率である。そのため、販売価格が£Xi+1である場合、買い手B_Si+1は、VATで£rXi+1をB_Siに支払う必要がある。この支払いは、オンブロック(暗号通貨)またはオフブロック(例えば、FIAT)であり得る。
【0097】
B_Si+1からVATを受け取ると、売り手B_Siは、VATが税務当局またはB_Si+1のいずれかによってのみ請求され得るようにVATをエスクローするビットコイントランザクションを作成する。上記トランザクションの各潜在的な受信者は、それぞれVATを請求することができる条件を有する。税務当局の場合、指定された時間t1+1の後にのみ資金を請求することができる。この時間は、売り手B_Siと税務当局との間の共同契約で設定される。これは、管轄区域の税法に規定された標準時間に基づいている可能性が高い。
【0098】
B_Si+1によるエスクローされた資金の請求は、B_Si+1へのVAT還付を表す。B_Si+1が買い手B_Si+2(または売り手SL)にアイテムを販売するときに、B_Si+1に還付が行われることが予想される。B_Si+1がアイテムを販売するか、または少なくともアイテムをB_Si+2に販売することに同意する場合、買い手-売り手B_Si+1は、これを税務当局に通信するであろう。当局の承認を前提として、当局は、シークレット値svi+1をB_Si+1にセキュアに通信するであろう。このシークレット値の知識は、B_Si+1が、エスクローからVAT還付を請求することを可能にするものである。税務当局が(ある時点ti+1の後であっても)これらの資金に等しくアクセスすることができると仮定すると、B_Si+1は、シークレット値を受信した後、税務当局が使用することができる前に、資金を請求することが賢明である。シークレットは、例えば、税務当局によってランダムに生成されることによって、または発注書などの購入ごとの値の予測不可能な関数である(例えば、発注書を税務当局に知られている何らかの他の値と連結してからハッシュする)ことによって、買い手にとって予測不可能であるべきである。
【0099】
プロトコル
参加者間のこの支払いのセットを容易にするために、参加者は、いくつかのアクションを実行し得る。これらのアクションは、
図7に概説されるプロトコルにキャプチャされている。
【0100】
図に示すプロトコルでは、まず、各買い手および/または売り手(B_Si)が、VATトランザクションに署名するため、およびディフィーヘルマンセキュア通信のために利用する少なくとも1つの公開鍵を有すると仮定される(ディフィーヘルマンは、公開チャネルを経由して暗号鍵をセキュアに交換する方法である)。これらの鍵はすべて(トランザクションごとまたは他の形で)異なることができるが、簡略化のために、その買い手-売り手のすべてのこれらの公開鍵にラベルPiが与えられる。絶対に必須である必要はないが、公開鍵Piは、何らかの中央機関、おそらくは税務当局自体によって証明されると仮定される。
【0101】
図7のとおり、最初に起こることは、買い手B_S
i+1が、購入されるアイテムItem
i+1を含む発注書をB_S
iに与えることである。発注書と共に、B_S
i+1は、自身の公開鍵P
i+1も提供する。この情報を使用して、売り手B_S
iは、インボイスを作成し、インボイスを、買い手および売り手の公開鍵ならびにそれらの対応するデジタル証明書と共に税務当局に送信する。
【0102】
税務当局は、情報に対してデューデリジェンスを行い、それには、証明書の信用性を評価すること、および、アイテムItemi+1が前のアイテムの反復であるかを判定することが含まれる。その承認を前提として、当局は、乱数svi+1を作成し、H(svi+1)を計算する。ここで、H()は、決定性ハッシュ関数である。この販売トランザクション(STi+1)は、(ブロックチェーントランザクションではなく)販売の全体的な記述である。それは、当局によって販売IDを与えられ、これは、H(svi+1)、インボイスの署名済みコピー、ならびに適用可能な証明書情報および公開鍵PTAと共に売り手B_Siに返信される。アイテムItemi+1が前のアイテム(例えば、Itemi)の反復である場合、当局は、買い手-売り手B_Siに値sviをセキュアに通信するために、ディフィーヘルマンなどのシークレット共有スキームを開始する(これは、B_SiがItemiの以前の販売に対する税還付を徴収するためである)。
【0103】
シークレット値sviを除外して、情報目的のために、売り手B_Siは、インボイスの署名済みコピー、値H(svi+1)、およびデジタル証明書を買い手B_Si+1に送付する。次いで、買い手B_Si+1は、望む場合、税務当局と証明書を妥当性確認し得る。買い手B_Si+1は、妥当性確認を受信すると、商品に必要とされるVAT(および商品/サービスのコスト)の売り手B_Siへの支払いに進み得る。
【0104】
VATをB_Siに(暗号でまたは他の方法で)支払うと、売り手B_Siは、ブロックチェーンにサブミットされるVATビットコイントランザクション(VATi+1)を構築する。このビットコイントランザクションのコア属性は、それがVATのエスクローとして機能する必要があることである。トランザクションは、想起する限り、以下のルールを実施することである:
【0105】
税務当局は、指定された時点の後にVATi+1の出力にアクセスすることができる。
【0106】
買い手-売り手B_Si+1は、B_Si+1がシークレット値svi+1を作り出すことができる場合、(VAT還付として)VATi+1の出力にアクセスすることができる。
【0107】
これは、VATi+1内のカスタマイズされた出力スクリプトおよび支出トランザクションの署名を管理するプロトコルを通して実施される(以下を参照)。
【0108】
VATi+1がブロックチェーンにサブミットされた後、新たな買い手-売り手B_Si+2がB_Si+1からItemi+2を購入したいと望むシナリオを考慮する。これは、Itemi+2がItemi+1の次の反復(例えば、生地からドレス)である場合である。
【0109】
現在の買い手B_Si+2が自身の発注書を売り手B_Si+1にサブミットすると、販売トランザクションの詳細を税務当局にサブミットする際に、現在の売り手B_Si+2もまた、このデータセットにVAT還付要求を含める。この還付要求は、販売トランザクション(STi+1)およびVATトランザクション(VATi+1)への参照を含む、Itemi+1のB_Si+1の以前の購入の様々な既存の文書を含むであろう。
【0110】
VAT還付要求を受信して妥当性確認すると、(販売トランザクションの処理と同時に)税務当局は、B_Si+1とディフィーヘルマンプロセスを開始し、それを通して、シークレット値svi+1がB_Si+1に渡される。ディフィーヘルマンプロセスは、税務当局および買い手-売り手B_Si+1の証明された公開鍵を使用して実行されることに留意されたい。
【0111】
次いで、買い手-売り手B_Si+1は、値svi+1(および、自身の署名sig(Pi+1))を使用して、VATトランザクション(VATi+1)の出力を使用することができる。
【0112】
B_Si+1が、時間ti+1までにVATi+1の出力を請求しない場合、税務当局は、出力を使用することができる(本質的に、政府はこの時点で資金を請求する)。
【0113】
VATトランザクション
VATトランザクションVAT
i+1は、前述したように、販売トランザクションST
i+1に関連して支払われるVATをエスクローするトランザクションである。VATトランザクションの視覚的表現が
図8に示されている。ここでは、入力および出力が、関連する寄与者および(潜在的な)受信者と共に示されている。売り手B_S
iは、入力のための資金を提供する。税務当局は、自身の署名を承認として提供する(名目的な手数料/最小手数料で入力に与えることを介して)。一方、VAT出力は、税務当局または買い手B_S
i+1のいずれかによって受信されることができる。
【0114】
(VAT出力に加えて)別の出力の存在に気付く。これは、OP_RETURN出力であり、販売トランザクションに関連するメタデータ(例えば、インボイスのコピーまたはハッシュ、トランザクションの日付、店舗ID、顧客ID、インボイスID、または購入に関連する任意の情報)を記憶するための二次出力として含まれる。このメタデータは、必要に応じて、プライバシーの目的で暗号化され得る。ビットコイントランザクション内のOP_RETURN出力は、使用不可能な出力である。別段の指定がない限り、VATトランザクションの「出力」への言及は、OP_RETURN出力ではなく、トランザクションのVAT出力を指す。
【0115】
VATトランザクションの必要なエスクロー特性の成否は、VATおよびその支出トランザクションのスクリプトおよび署名プロトコルの組合せに依存する。支出トランザクションは、VATトランザクションの出力を使用するトランザクションである。
【0116】
これは、
図9に示されるようなコミットメントチャネルの使用により達成される。
【0117】
コミットメントチャネルは3つのトランザクションから構成される。
- VATi+1:これは、VATをエスクローにコミットするトランザクションである。
- VATPay:これは、VATを政府に支払う支出トランザクションである。
- VATRef:これは、VATを買い手-売り手B_Si+1に還付する支出トランザクションである。
【0118】
各トランザクションの詳細は、チャネルの構築のための
図10のフローチャートと共に以下で説明される。
【0119】
S10:初期のコミットメントトランザクションVAT
i+1(表2)は、その<scriptPubKey>にしたがって、以下のいずれかによってのみ使用することができる利用可能なrX
i+1を(その暗号通貨同等物において)作る:
【数1】
【0120】
S20:コミットメントチャネルの支払いトランザクションVATPay(表3)は、税務当局がVATを徴収することができるようになる前に、法律で定められた期間または他の期間が発生することを可能にするように選択されたnLockTime値を含む。この期間内に、買い手-売り手B_Si+1がアイテム反復Itemi+1→Itemi+2を実行し、Itemi+2を販売するのに十分な時間があったであろうことが予想される。nLockTimeは、指定された時間が経過した後にのみビットコイントランザクションが実行可能であることを可能にするビットコイントランザクションパラメータである。
【0121】
S30:支払いトランザクションVATPayは、買い手-売り手B_Si+1および税務当局TAの両方によって署名されなければならない。これは、TAが時間ti+1の後にのみVATを徴収するとの「約束」を破ることができないことを確実にするために行われる。プロセスの一部としてB_Si+1を含めることで、B_Si+1は、nLockTime値がTAによって正しい値に設定されることを保証する能力を有する。逆もまた同様である。
【0122】
S40:還付トランザクションVATRefの<scriptSig>は、その中にシークレット値svi+1を含むことが予想される。そのようなTRefトランザクションの例を表4に示す。
【0123】
各トランザクションタイプの例は、以下の表2、表3、および表4に示される。
【表2】
【表3】
【表4】
【0124】
コミットメントチャネルの作成に関与するプロセスが与えられると、
図6のシーケンス図は、これらのプロセスおよび通信を含むように修正され得る(
図11参照)。TAによるVATトランザクション(VAT
i+1およびVAT
Pay)の作成が、B_S
iを介したB_S
i+1への通信と共に含まれることに留意されたい。
【0125】
売上税システムSTAXRT
STAXRTは、売上税の徴収および支払いの管理を容易にするように設計されたブロックチェーンベースのシステムのバージョンである。いくつかの定義では、VATは売上税のサブセットであると定義されることが多いが、本発明の目的上、この2つは区別され、売上税については、最終購入を行う個人によってのみ税が支払われるという両者間の重要な区別要因が定義される。税の支払いを免れるために、各仲介買い手-売り手{B_Si:i∈[1,n-1]}は、自身が税の支払いから免除されるべきであるという何らかの妥当性確認を提示しなければならない。この免除は、何らかの認められた当局(税務当局、例えばIRS、HMRC)によって買い手-売り手に与えられた証明である。重要なことに、STAXRTの場合、買い手-売り手の証明(certification)の証明は、ブロックチェーン上で行われる。より具体的には、提案された設計では、買い手は、売り手に売上税を支払わなければならない。次いで、売り手は、買い手が小売証明書(retail certificate)を有する場合、買い手によって取り出し可能なブロックチェーン上に売上税を直ちにエスクローする。
【0126】
支払い
STAXRTの場合、システムの設計は、
図12に例として示されるように、参加者間の支払いに関して同様に最初に説明される。
【0127】
最も左の図は売り手(B_S0)である。前述したように、この参加者は、商品の販売のみを行うと仮定する。買い手B_Siは、B_S0からアイテム(Item1)を購入し(この場合も、購入されるアイテムは2つ以上であってもよいが、説明の目的ので、1つの「アイテム」のみが売買されるものとする)。売上税率は20%に設定されている。そのため、販売価格が£100である場合、B_Siは、VATで£20をSに支払う必要がある。この支払いは、オンブロック(暗号通貨)またはオフブロック(例えば、FIAT)であり得る。これらの販売価格+売上税支払いは、図の下部に矢印で示されている。
【0128】
VATと同様に、アイテムの購入に関して、買い手-売り手は、とにかく、売上税を売り手に支払うように求められることに留意されたい。買い手が必要な証明を有する限り、買い手が依然として自身の支払った売上税を「直ちに」回収することができることが望ましい。従来、買い手-売り手は売上税を全く支払わないが、支払う代わりに直ちに還付を受けることで、ブロックチェーン150を使用して、買い手-売り手の証明の有効性を記録することができる。
【0129】
B_Si+1が買い手-売り手B_SiからのアイテムItemi+1に対して£Y支払う最初の販売トランザクションを考慮する。B_Si+1によって何らかの形態の個人識別が与えられると、買い手-売り手B_Siは、税務当局またはB_Si+1のいずれかによってのみ請求され得るように売上税をエスクローするビットコイントランザクションを作成する。上記トランザクションの潜在的な受信者のペアの各々は、それぞれVATを請求することができる条件を有する。税務当局の場合、指定された時間t1の後にのみ資金を請求することができる。この時間値は、小売証明書の所有を証明するために買い手B_Si+1に与えられた期限を表す。
【0130】
以前のある時点で、買い手-売り手B_Si+1は、税務当局に「小売証明書」を付与するよう申請していたであろうことが予想される。この証明書は、税務当局の既知の信頼された公開鍵によって署名されたメッセージの形態であってもよい。このメッセージは公開鍵Pi+1と、買い手-売り手B_Si+1の他の識別情報(例えば、KYC(know your client)情報)とを含む。買い手-売り手は、公開鍵に対応する秘密鍵を排他的に知っている。
【0131】
この秘密鍵は、B_Si+1が、支払った売上税を直ちに請求することを許可するものである。エスクローされた売上税を使わなかった場合(すなわち、時間t1が来るまでに小売証明書免除の所有権を証明することができなかった場合)、税務当局は、単に、自力で売上税を徴収する。
【0132】
この一連のステップは、シーケンスにおいて後続する参加者の各々の間で繰り返される。
【0133】
プロトコル
参加者間のこの支払いのセットを容易にするために、参加者は、いくつかのアクションを実行することが予想される。これらのアクションは、
図13に概説されるプロトコルにキャプチャされている。
【0134】
図13に示すプロトコルでは、各買い手および/または売り手B_S
iは、販売する意図がない場合、税務当局に小売証明書(RCert)を申請する。証明要求は、B_S
i+1からアイテムItem
i+1を購入することを予想している買い手-売り手B_S
i+1によって申請される。この証明を得るために、B_S
i+1は、税務当局に、企業登録番号(Business Registration No.)などの適用可能なKYC情報を送信する。加えて、B_S
i+1は、自身の公開鍵P
i+1も当局に通信する。
【0135】
この情報を受信すると、税務当局は必要なチェックを行い、満足した場合、公開鍵のデジタル証明書を作成することとなる。この小売証明書は、上記情報の署名されたハッシュと共に、生のKYCおよび公開鍵情報を含むであろう。次いで、この証明書はB_Si+1にセキュアに通信される。
【0136】
B_SiからアイテムItemi+1を購入しているとき、売り手B_Siに発注書を提供することに加えて、買い手B_Si+1は、自身の小売証明書も含む。この情報を使用して、売り手B_Siは、インボイスを作成し、インボイスを買い手の小売証明書と共に税務当局に送信する。
【0137】
税務当局は、証明書の信頼性を評価することを含めて、情報に対してデューデリジェンスを行う。その承認を前提として、当局は、売上税トランザクションSTxi+1(表5)、STxPay(表6)、およびSTxRef(表7)を作成する。彼/彼女は、STxi+1およびSTxPayに署名する。
【0138】
売り手B_Siは、署名済みのSTおよびStxトランザクションならびに適用可能なすべてのデジタル証明書を買い手B_Si+1に送付する。「売上税トランザクション(STx)」は、売上税を管理するプロセスで利用されるブロックチェーントランザクションを指し、「販売トランザクション(ST)」という用語は、商品の購入の詳細、例えば、インボイスの詳細などを指す(販売トランザクションSTはブロックチェーントランザクションではないが、売上税トランザクションはブロックチェーントランザクションである)ことに留意されたい。次いで、買い手B_Si+1は、望む場合、税務当局と証明書を妥当性確認し得る。妥当性確認を受信すると、買い手B_Si+1は、STxi+1、STxPayトランザクションに署名し、アイテムに必要とされる売上税の売り手B_Siへの支払いに進む。
【0139】
売上税をB_S
iに(暗号または他の方法で)支払うと、売り手B_S
iは、ビットコイントランザクションSTx
i+1をブロックチェーンにサブミットする。VATx
i+1として、ビットコイントランザクションSTx
i+1は、売上税のエスクローとして機能する。トランザクションは以下の基準を実施する。
- 税務当局は、指定された時点の後にSTx
i+1の出力にアクセスすることができる。
- 買い手-売り手B_S
i+1は、小売証明書の公開鍵
【数2】
に対する秘密鍵の知識を有する場合、STx
i+1の出力にアクセスすることができる。
【0140】
これは、STxi+1内のカスタマイズされた出力スクリプトおよび支出トランザクションの署名を管理するプロトコルを通して実施される(以下を参照)。
【0141】
STxi+1がブロックチェーンにサブミットされた後、買い手-売り手B_Si+1は、公開鍵Pi+1に対応する秘密鍵を使用して生成される署名を使用して、売上税トランザクション(STxi+1)の出力を使用することができる。
【0142】
買い手-売り手B_Si+1が、時間ti+1までにSTxi+1の出力を請求しない場合、税務当局は、出力を使用することができる(本質的に、買い手-売り手が、証明された再販業者であることを証明することができなかったので、政府はこの時点で売上税を請求する)。
【0143】
売上税トランザクション
前述したように、売上税トランザクションSTxi+1は、買い手-売り手が公開鍵Pi+1に対する秘密鍵を所有していることを証明することができる(小売証明書の所有権を示す)まで、売上税を一時的にエスクローするトランザクションである。STxi+1の視覚的表現を表5に示す。繰り返しになるが、入力および出力は、関連する寄与者および(潜在的な)受信者と共に示される。売り手B_Siは、入力のための資金を提供する。税務当局は、自身の署名を承認として提供する(名目的な手数料/最小手数料で入力に与えることを介して)。一方、売上税出力は、税務当局または買い手B_Si+1のいずれかによって受信されることができる。
【0144】
図14は、入力および出力を示す売上税トランザクションを示す。OP_RETURN出力は、販売トランザクションに関連するメタデータを記憶するための二次出力として含まれる。このメタデータは、必要に応じて、プライバシーの目的で暗号化されてもよい。別段の指定がない限り、売上税トランザクションの「出力」への言及は、OP_RETURN出力ではなく、トランザクションの売上税出力を指す。
【0145】
売上税トランザクションの必要なエスクロー特性の成否は、以下で説明され、
図15に示されるようなコミットメントチャネルの使用を通して達成され得る。
【0146】
コミットメントチャネルは、3つのトランザクションから構成される。
- STxi+1:これは、売上税をエスクローにコミットするトランザクションである。
- STxPay:これは、売上税を税務当局に支払う支出トランザクションである。
- STxRef:これは、売上税を買い手-売り手B_Si+1に還付する支出トランザクションである。
【0147】
チャネルの生成は、VATエスクローのためのコミットメントチャネルと同じように動作するが、顕著な違いは、売上税トランザクションSTx
i+1の「ロックスクリプトの還付オプション」がシークレット値sv(これは、税務当局によってB_S
i+1に通信されたシークレット値)の知識を要求しないことである。出力の買い手-売り手使用者B_S
i+1は、証明された公開鍵P
i+1に対する署名を作成することのみが要求される。3つのトランザクションの詳細を、以下の表5、表6、および表7に示す。
【表5】
【表6】
【表7】
【0148】
参加者間の通信
STAXRTとVTAXRTの両方について、参加者は、必要な情報を交換するために互いに通信する。
図16は、参加者間の通信チャネルの例を示し、参加者は、それぞれのコンピューティングデバイスによって表される。
【0149】
結論
開示された技法の他の変形または使用事例は、本明細書の開示が与えられると、当業者には明らかになり得る。本開示の範囲は、記載された実施形態によって限定されず、添付の特許請求の範囲によってのみ限定される。
【0150】
例えば、上記のいくつかの実施形態は、ビットコインネットワーク106、ビットコインブロックチェーン150、およびビットコインノード104に関して説明されている。しかしながら、ビットコインブロックチェーンはブロックチェーン150の1つの特定の例であり、上記の説明は概して任意のブロックチェーンに適用され得ることが理解されよう。すなわち、本発明は、ビットコインブロックチェーンに限定されるものではない。より一般的には、ビットコインネットワーク106、ビットコインブロックチェーン150、およびビットコインノード104への上記のいかなる言及も、それぞれブロックチェーンネットワーク106、ブロックチェーン150、およびブロックチェーンノード104への言及に置き換えることができる。ブロックチェーン、ブロックチェーンネットワーク、および/またはブロックチェーンノードは、上記で説明したように、ビットコインブロックチェーン150、ビットコインネットワーク106、およびビットコインノード104の説明されたプロパティのうちのいくつかまたはすべてを共有し得る。
【0151】
本発明の好ましい実施形態では、ブロックチェーンネットワーク106はビットコインネットワークであり、ビットコインノード104は、ブロックチェーン150のブロック151を作成し、公開し、伝搬し、記憶するという説明された機能の少なくともすべてを実行する。これらの機能のすべてではないが1つまたはいくつかのみを実行する他のネットワークエンティティ(またはネットワーク要素)が存在し得ることは除外されない。すなわち、ネットワークエンティティは、ブロックを作成および公開することはしないが、ブロックを伝搬および/または記憶する機能を実行し得る(これらのエンティティは、好ましいビットコインネットワーク106のノードとはみなされないことを想起されたい)。
【0152】
本発明の非優先実施形態では、ブロックチェーンネットワーク106は、ビットコインネットワークでなくてもよい。これらの実施形態では、ノードが、ブロックチェーン150のブロック151を作成し、公開し、伝搬し、記憶する機能のすべてではないが、少なくとも1つまたはいくつかを実行し得ることは除外されない。例えば、それらの他のブロックチェーンネットワーク上で、「ノード」は、ブロック151を作成および公開するが、それらのブロック151を記憶および/または他のノードに伝搬しないように構成される、ネットワークエンティティを指すために使用され得る。
【0153】
さらにより一般的には、上記の「ビットコインノード」104という用語へのいかなる言及も、「ネットワークエンティティ」または「ネットワーク要素」という用語に置き換えることができ、そのようなエンティティ/要素は、ブロックを作成し、公開し、伝搬し、記憶する役割の一部またはすべてを実行するように構成される。そのようなネットワークエンティティ/要素の機能は、ブロックチェーンノード104を参照して上記で説明した方法と同じ方法でハードウェアに実装され得る。
【0154】
上記の実施形態は、例としてのみ説明されていることが理解されるであろう。より一般的には、下記ステートメントのうちのいずれか1つまたは複数による方法、装置、またはプログラムが提供され得る。
【0155】
ステートメント1:買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも買い手は、上記商品および/またはサービスに基づいてオンワード販売を行う買い手-売り手であり、方法は、上記購入の売り手によって、少なくとも第2のブロックチェーントランザクションが買い手の暗号署名で署名されることを要求する第1の条件と、少なくとも第2のブロックチェーントランザクションが税務当局の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを第2のブロックチェーントランザクションが満たすによって償還することができる第1のブロックチェーントランザクションを取得することと、買い手から消費税の支払いを受けたことに応答して、ブロックチェーン上に記録されるべき第1のブロックチェーントランザクションを送信することとを含む方法。
【0156】
ステートメント2:税務当局からパズルを受信することを含み、パズルの解は、税務当局から買い手に共有されるシークレットを含み、第1の条件は、第2のブロックチェーントランザクションがパズルの解を含むことも要求する、ステートメント1の方法。
【0157】
ステートメント3:パズルは、プレイメージのハッシュに基づいて生成されたハッシュ値を含むハッシュパズルを含み、プレイメージは、パズルの解であり、上記シークレットを含む、ステートメント2の方法。
【0158】
ステートメント4:シークレットはランダム要素を含む、ステートメント2または3の方法。
【0159】
ステートメント5:シークレットは購入ごとに変化し、上記購入に対して一意である、ステートメント2、3または4の方法。
【0160】
ステートメント6:シークレットは購入の情報に基づく、ステートメント2から5のいずれかの方法。
【0161】
ステートメント7:第1の条件は、上記購入を含む買い手による複数の購入にわたって一定のままである、ステートメント1から3のいずれかの方法。
【0162】
ステートメント8:第2の条件は、第2のトランザクションが買い手の暗号署名を含むことも要求する、先行ステートメントのいずれかの方法。
【0163】
ステートメント9:第2の条件は、タイムアウトが経過していることをさらに要求する、先行ステートメントのいずれかの方法。
【0164】
ステートメント10:タイムアウトは、秒、分、時間、日、週、月および/または年の単位で指定される、ステートメント9の方法。
【0165】
ステートメント11:タイムアウトは、ブロック高さの単位で指定される、ステートメント9の方法。
【0166】
ステートメント12:上記取得することは、売り手が第1のブロックチェーントランザクションを少なくとも部分的に生成することを含む、先行ステートメントのいずれかの方法。
【0167】
ステートメント13:生成することは、売り手が税の支払いを受けたことに応答して、売り手によって実行される、ステートメント12の方法。
【0168】
ステートメント14:上記取得することは、売り手が税務当局から第1のブロックチェーントランザクションを受信することを含む、ステートメント1から11のいずれかの方法。
【0169】
ステートメント15:トランザクションを取得する前に、売り手が、購入に関する情報を税務当局に送信し、この情報の少なくとも一部に基づいて税務当局から確認メッセージを受信することを含む、先行ステートメントのいずれかの方法。
【0170】
ステートメント16:購入に関する情報は、購入される商品および/もしくはサービスの表示、ならびに/または売り手が購入のために支払う額を含む、ステートメント15の方法。
【0171】
ステートメント17:購入に関する情報は、買い手から受け取った発注書に基づく、ステートメント15または16の方法。
【0172】
ステートメント18:購入に関する情報は、買い手のデジタル証明書および/または売り手のデジタル証明書を含み、税務当局が、買い手および/または売り手の証明書を認証してから上記確認を返すことを可能にする、ステートメント15、16または17の方法。
【0173】
ステートメント19:確認メッセージは、税務当局のデジタル証明書および/または購入の販売IDを含む、ステートメント15から18のいずれかの方法。
【0174】
ステートメント20:確認メッセージは販売IDを含み、販売IDは第1のブロックチェーントランザクションに含まれる、ステートメント19の方法。
【0175】
ステートメント21:確認メッセージは税務当局の証明書を含み、方法は、売り手が税務当局の証明書を認証することを含み、第1のブロックチェーントランザクションを送信することは、税務当局の証明書の認証を条件とする、ステートメント19または20の方法。
【0176】
ステートメント22:確認メッセージは、売り手が第1のブロックチェーントランザクションを生成する、第1のブロックチェーントランザクションのテンプレートバージョンまたはパズルを含む、少なくともステートメント2および12に従属するステートメント15から21のいずれかの方法。
【0177】
ステートメント23:確認メッセージは、第1のブロックチェーントランザクションを含む、少なくともステートメント14に従属するステートメント15から21のいずれかの方法。
【0178】
ステートメント24:方法は、税務当局からの確認に応答して、売り手が買い手に確認を返信することを含む、ステートメント15から23のいずれかの方法。
【0179】
ステートメント25:買い手への確認は、税務当局からの確認メッセージの少なくとも一部を含む、ステートメント24の方法。
【0180】
ステートメント26:第1のブロックチェーントランザクションは、購入のメタデータをさらに含む、先行ステートメントのいずれかの方法。
【0181】
ステートメント27:消費税は付加価値税(VAT)を含む、先行請求項のいずれかの方。
【0182】
ステートメント28:消費税は売上税を含む、ステートメント1から26のいずれかの方法。
【0183】
ステートメント29:ブロックチェーンは、各ブロックチェーントランザクションが、ロックスクリプトを含む少なくとも1つの出力と、別のトランザクションの出力を指し示し、指し示されたトランザクションの出力をロック解除するためのロック解除スクリプトを含む少なくとも1つの入力とを含む出力ベースのモデルにしたがって動作し、上記第1のブロックチェーントランザクションの代替条件は、第1のブロックチェーントランザクションの出力のロックスクリプトに含まれ、上記第2のブロックチェーントランザクションの入力は、第1のブロックチェーントランザクションの上記出力を指し示す、先行ステートメントのいずれかの方法。
【0184】
ステートメント30:ブロックチェーンは、各ブロックチェーントランザクションがスマートコントラクトを含むアカウントベースのモデルにしたがって動作し、上記第1のブロックチェーントランザクションの代替条件は、第1のブロックチェーントランザクションのスマートコントラクトで定義される、ステートメント1から28のいずれかの方法。
【0185】
ステートメント31:1つまたは複数のメモリユニットを備えるメモリと、1つまたは複数の処理ユニットを備える処理装置とを備えるコンピュータ機器であって、メモリは、処理装置上で実行されるように構成されたコードを記憶し、コードは、処理装置上にあるときに、ステートメント1から30のいずれかの方法を実行するように構成される、コンピュータ機器。
【0186】
ステートメント32:コンピュータ可読ストレージ上に具現化され、コンピュータ機器上で実行されると、ステートメント1から30のいずれかの方法を実行するように構成されたコンピュータプログラム。
【0187】
ステートメント33:買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも買い手は、上記商品および/またはサービスに基づいてオンワード販売を行う買い手-売り手であり、方法は、上記購入の買い手によって、消費税を売り手に支払うことを含む、売り手からの購入を行うことと、購入を行うことに続いて、ブロックチェーン上の第1のブロックチェーントランザクションを識別することであって、第1のブロックチェーントランザクションは、少なくとも第2のブロックチェーントランザクションが買い手の暗号署名で署名されることを要求する第1の条件と、少なくとも第2のブロックチェーントランザクションが税務当局の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを第2のブロックチェーントランザクションが満たすによって償還されるように構成される、識別することと、ブロックチェーン上に記録されるべき第2のブロックチェーントランザクションを送信することであって、第2のブロックトランザクションは、少なくとも買い手の暗号署名を含む上記代替条件のうちの第1の条件を満たすように構成され、それによって買い手の消費税を回収することとを含む方法。
【0188】
ステートメント34:第2のブロックチェーントランザクションは、送信前に買い手によって少なくとも部分的に生成される、ステートメント33の方法。
【0189】
ステートメント35:第1の条件は、第2のブロックチェーントランザクションが第1のブロックチェーントランザクションに含まれるパズルの解を含むことも要求し、解はシークレットを含み、方法はさらに、購入を行うことと第2のブロックチェーントランザクションを生成することとの間に、買い手が、上記購入への参照およびオンワード販売に関する情報を含む還付要求を税務当局にサブミットすることと、買い手が、セキュアなチャネルを介して税務当局からシークレットを受信することとを含み、買い手による第2のブロックチェーントランザクションの生成は、税務当局から受信されたシークレットを上記第2のトランザクションに含めることを含む、ステートメント34の方法。
【0190】
ステートメント36:1つまたは複数のメモリユニットを備えるメモリと、1つまたは複数の処理ユニットを備える処理装置とを備えるコンピュータ機器であって、メモリは、処理装置上で実行されるように構成されたコードを記憶し、コードは、処理装置上にあるときに、ステートメント33から35のいずれかの方法を実行するように構成される、コンピュータ機器。
【0191】
ステートメント37:コンピュータ可読ストレージ上に具現化され、コンピュータ機器上で実行されると、ステートメント33から35のいずれかの方法を実行するように構成されたコンピュータプログラム。
【0192】
ステートメント38:買い手による売り手からの1つまたは複数の商品および/またはサービスの購入に対する消費税を容易にするコンピュータ実装方法であって、少なくとも買い手は、上記商品および/またはサービスに基づいてオンワード販売を行う買い手-売り手であり、方法は、税務当局によって、売り手から購入に関する情報を受信することと、購入に関する受信された情報に基づいて購入を検証することと、検証に応答して、売り手が、少なくとも第2のブロックチェーントランザクションが買い手の暗号署名で署名されることを要求する第1の条件と、少なくとも第2のブロックチェーントランザクションが税務当局の少なくとも暗号署名で署名されることを要求する第2の条件という2つの代替条件のいずれかを第2のブロックチェーントランザクションが満たすによって償還されるように構成された第1のブロックチェーントランザクションを取得し、ブロックチェーン上への記録のために送信することを可能にする確認メッセージを売り手に返信することとを含む方法。
【0193】
ステートメント39:1つまたは複数のメモリユニットを備えるメモリと、1つまたは複数の処理ユニットを備える処理装置とを備えるコンピュータ機器であって、メモリは、処理装置上で実行されるように構成されたコードを記憶し、コードは、処理装置上にあるときに、ステートメント38の方法を実行するように構成される、コンピュータ機器。
【0194】
ステートメント40:コンピュータ可読ストレージ上に具現化され、コンピュータ機器上で実行されると、ステートメント38の方法を実行するように構成されたコンピュータプログラム。
【0195】
本明細書で開示される別の態様によれば、売り手、買い手、および税務当局のアクションを含む方法が提供され得る。
【0196】
本明細書に開示される別の態様によれば、売り手、買い手、および税務当局のコンピュータ機器を備えるシステムが提供され得る。
【図】
【図】
【図】
【図】
【国際調査報告】