(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-29
(54)【発明の名称】ブロックチェーンベースの取引追跡のための方法及び装置
(51)【国際特許分類】
H04L 9/32 20060101AFI20230622BHJP
G06F 21/64 20130101ALI20230622BHJP
G06F 21/60 20130101ALI20230622BHJP
【FI】
H04L9/32 200Z
G06F21/64
G06F21/60 320
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022570703
(86)(22)【出願日】2021-04-27
(85)【翻訳文提出日】2022-11-18
(86)【国際出願番号】 CN2021090265
(87)【国際公開番号】W WO2021233090
(87)【国際公開日】2021-11-25
(31)【優先権主張番号】202010423858.4
(32)【優先日】2020-05-19
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】522021952
【氏名又は名称】京▲東▼科技信息技▲術▼有限公司
(71)【出願人】
【識別番号】521507084
【氏名又は名称】京▲東▼科技控股股▲フン▼有限公司
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】苟 喜霞
(57)【要約】
本開示の実施例は、ブロックチェーンベースの取引追跡のための方法及び装置を開示する。当該方法の一具体的な実施形態は、上流ノードは、上流ノードと中間ノードとの間のスマートコントラクトを呼び出すことと、中間ノードの秘密鍵で取引明細を暗号化して、取引情報を生成してブロックチェーンに書き込むことと、中間ノードは、上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して、中間ノードの秘密鍵を暗号化して、上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成してブロックチェーンに書き込むことと、中間ノードと末端ノードは、自分の秘密鍵で上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をそれぞれ復号し、中間ノードの秘密鍵を得た後、取引情報を復号して、上流ノードと中間ノードとの間の取引明細を得ることと、を含む。当該実施方法は誰もが取引を追跡することを可能にするため、コストを削減し、価格を安定させることができる。
【特許請求の範囲】
【請求項1】
中間ノードに適用されるブロックチェーンベースの取引追跡方法であって、
中間ノードの秘密鍵で前記中間ノードの上流ノードと前記中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むステップと、
前記中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して、前記中間ノードの秘密鍵を暗号化して前記中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成し、前記中間ノードの上流ノードの秘密鍵情報と前記末端ノードの秘密鍵情報を前記ブロックチェーンに書き込むステップと、
前記中間ノードとその下流ノードとの間のスマートコントラクトを呼び出すステップと、
前記中間ノードの秘密鍵で前記中間ノードの秘密鍵情報を復号して、前記中間ノードの下流ノードの秘密鍵を得るステップであって、前記中間ノードの秘密鍵情報は、前記中間ノードの下流ノードが前記中間ノードの公開鍵で前記中間ノードの下流ノードの秘密鍵を暗号化することにより生成されて前記ブロックチェーンに書き込まれる、ステップと、
前記中間ノードの下流ノードの秘密鍵で下流取引情報を復号して、中間ノードとその下流ノードとの間の取引明細を得るステップであって、下流取引情報は、前記下流ノードが下流ノードの秘密鍵で中間ノードとその下流ノードとの間の取引明細を暗号化することにより生成されて前記ブロックチェーンに書き込まれる、ステップと、
を含む、ブロックチェーンベースの取引追跡方法。
【請求項2】
前記中間ノードの上流ノードの秘密鍵情報と前記末端ノードの秘密鍵情報を前記ブロックチェーンに書き込むステップは、
前記中間ノードの上流取引情報のIDをキーとして、前記中間ノードの上流ノードの秘密鍵情報と前記末端ノードの秘密鍵情報を値として前記ブロックチェーンに書き込むことを含む、
請求項1に記載の方法。
【請求項3】
前記中間ノードによって復号された取引明細を前記中間ノードによってローカルに記録された取引明細と比較して、差異があるかどうかを確認するステップをさらに含む、
請求項1又は2に記載の方法。
【請求項4】
ファーストノードに適用されるブロックチェーンベースの取引追跡方法であって、
前記ファーストノードとその隣接する中間ノードとの間のスマートコントラクトを呼び出すステップと、
前記ファーストノードの秘密鍵で前記中間ノードの上流ノードの秘密鍵情報を復号して、前記中間ノードの秘密鍵を得るステップであって、前記秘密鍵情報は、請求項1に記載の方法で、前記中間ノードによってブロックチェーンに書き込まれる、ステップと、
前記中間ノードの秘密鍵で前記中間ノードの上流取引情報を復号して、前記ファーストノードと前記中間ノードとの間の取引明細を得るステップであって、前記上流取引情報は、請求項1に記載の方法で、前記中間ノードによってブロックチェーンに書き込まれる、ステップと、
を含む、ブロックチェーンベースの取引追跡方法。
【請求項5】
末端ノードに適用されるブロックチェーンベースの取引追跡方法であって、
末端ノードの秘密鍵で前記末端ノードの上流ノードと前記末端ノードとの間の取引明細を暗号化して前記末端ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むステップと、
前記末端ノードの上流ノードの公開鍵で前記末端ノードの秘密鍵を暗号化して前記末端ノードの上流ノードの秘密鍵情報を生成し、前記末端ノードの上流ノードの秘密鍵情報を前記ブロックチェーンに書き込むステップと、
各中間ノードが生成した末端ノードの秘密鍵情報について、前記末端ノードの秘密鍵で当該秘密鍵情報を復号して、当該中間ノードの秘密鍵を得るステップであって、前記秘密鍵情報は、請求項1に記載の方法で、各中間ノードによってブロックチェーンに書き込まれるステップと、
各中間ノードの秘密鍵について、当該秘密鍵で当該中間ノードの上流取引情報を復号して、当該中間ノードの上流ノードと当該中間ノードとの間の取引明細を得るステップであって、前記上流取引情報は、請求項1に記載の方法で、各中間ノードによってブロックチェーンに書き込まれる、ステップと、
各ノード間の取引明細を集約して出力するステップと、
を含む、ブロックチェーンベースの取引追跡方法。
【請求項6】
前記各ノード間の取引明細に関する商品の2次元コードを生成するステップと、
前記2次元コードを各ノード間の取引明細にバインディングするステップと、をさらに含む、
請求項5に記載の方法。
【請求項7】
請求項4に記載の方法を実現するファーストノードと、
請求項1~3のいずれか一項に記載の方法を実現する少なくとも1つの中間ノードと、
請求項5又は6に記載の方法を実現する末端ノードと、
を含む、ブロックチェーンベースの取引追跡システム。
【請求項8】
中間ノードに適用されるブロックチェーンベースの取引追跡装置であって、
中間ノードの秘密鍵で前記中間ノードの上流ノードと前記中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むように構成される取引暗号化ユニットと、
前記中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して、前記中間ノードの秘密鍵を暗号化して前記中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成し、前記中間ノードの上流ノードの秘密鍵情報と前記末端ノードの秘密鍵情報を前記ブロックチェーンに書き込むように構成される秘密鍵暗号化ユニットと、
前記中間ノードとその下流ノードとの間のスマートコントラクトを呼び出すように構成される呼び出しユニットと、
前記中間ノードの秘密鍵で前記中間ノードの秘密鍵情報を復号して、前記中間ノードの下流ノードの秘密鍵を得るように構成される秘密鍵復号ユニットであって、前記中間ノードの秘密鍵情報は、前記中間ノードの下流ノードが前記中間ノードの公開鍵で前記中間ノードの下流ノードの秘密鍵を暗号化することにより生成されて前記ブロックチェーンに書き込まれる、秘密鍵復号ユニットと、
前記中間ノードの下流ノードの秘密鍵で下流取引情報を復号して、中間ノードとその下流ノードとの間の取引明細を得るように構成される取引復号ユニットであって、前記取引復号ユニットは、下流取引情報は、前記下流ノードが下流ノードの秘密鍵で中間ノードとその下流ノードとの間の取引明細を暗号化することにより生成されて前記ブロックチェーンに書き込まれる取引復号ユニットと、
含む、ブロックチェーンベースの取引追跡装置。
【請求項9】
前記秘密鍵暗号化ユニットは、前記中間ノードの上流取引情報のIDをキーとして、前記中間ノードの上流ノードの秘密鍵情報と前記末端ノードの秘密鍵情報を値として前記ブロックチェーンに書き込むようにさらに構成される、
請求項8に記載の装置。
【請求項10】
前記装置は、前記中間ノードによって復号された取引明細を前記中間ノードによってローカルに記録された取引明細と比較して、差異があるかどうかを確認するように構成される比較ユニットをさらに含む、
請求項8~9のいずれか一項に記載の装置。
【請求項11】
ファーストノードに適用されるブロックチェーンベースの取引追跡装置であって、
前記ファーストノードとその隣接する中間ノードとの間のスマートコントラクトを呼び出すように構成される呼び出しユニットと、
前記ファーストノードの秘密鍵で前記中間ノードの上流ノードの秘密鍵情報を復号して、前記中間ノードの秘密鍵を得るように構成される秘密鍵復号ユニットであって、前記秘密鍵情報は、請求項1に記載の方法で、前記中間ノードによってブロックチェーンに書き込まれる秘密鍵復号ユニットと、
前記中間ノードの秘密鍵で前記中間ノードの上流取引情報を復号して、前記ファーストノードと前記中間ノードとの間の取引明細を得るように構成される取引復号ユニットであって、前記上流取引情報は、請求項1に記載の方法で、前記中間ノードによってブロックチェーンに書き込まれる取引復号ユニットと、
を含む、ブロックチェーンベースの取引追跡装置。
【請求項12】
末端ノードに適用されるブロックチェーンベースの取引追跡装置であって、
末端ノードの秘密鍵で前記末端ノードの上流ノードと前記末端ノードとの間の取引明細を暗号化して前記末端ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むように構成される取引暗号化ユニットと、
前記末端ノードの上流ノードの公開鍵で前記末端ノードの秘密鍵を暗号化して前記末端ノードの上流ノードの秘密鍵情報を生成し、前記末端ノードの上流ノードの秘密鍵情報を前記ブロックチェーンに書き込むように構成される秘密鍵暗号化ユニットと、
各中間ノードが生成した末端ノードの秘密鍵情報について、前記末端ノードの秘密鍵で当該秘密鍵情報を復号して、当該中間ノードの秘密鍵を得るように構成される秘密鍵復号ユニットであって、前記秘密鍵情報は、請求項1に記載の方法で、各中間ノードによってブロックチェーンに書き込まれる秘密鍵復号ユニットと、
各中間ノードの秘密鍵について、当該秘密鍵で当該中間ノードの上流取引情報を復号して、当該中間ノードの上流ノードと当該中間ノードとの間の取引明細を得るように構成される取引復号ユニットであって、前記上流取引情報は、請求項1に記載の方法で、各中間ノードによってブロックチェーンに書き込まれる取引復号ユニットと、
各ノード間の取引明細を集約して出力するように構成される集約出力ユニットと、
を含む、ブロックチェーンベースの取引追跡装置。
【請求項13】
1つ又は複数のプロセッサと、
1つ又は複数のプログラムが記憶された記憶装置と、を含み、
前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサに請求項1~6のいずれか一項に記載の方法を実現させるブロックチェーンベースの取引追跡のための電子機器。
【請求項14】
コンピュータプログラムが記憶されたコンピュータ可読媒体であって、前記プログラムがプロセッサによって実行されると、請求項1~6のいずれか一項に記載の方法を実現するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
<関連出願の相互参照>
本特許出願は、2020年05月19日に提出された、出願番号が202010423858.4であり、発明の名称が「ブロックチェーンベースの取引追跡のための方法及び装置」である中国特許出願に基づく優先権を主張し、当該出願の全文を引用により本出願に組み込む。
【0002】
本開示の実施例は、コンピュータ技術分野に関し、特に、ブロックチェーンベースの取引追跡のための方法及び装置に関する。
【背景技術】
【0003】
ブロックチェーンは、人気のあるビットコインの背後にある重要な技術であり、分散型データベースである。情報は、単一のコンピュータ又はデータプラットフォームに記憶されるものではなく、ネットワーク全体に分散されているため、悪意のある攻撃に対する脆弱性が低くなる。その記録は、公開されており、誰でも簡単に検証することができる。各取引はいずれも、ブロックに記憶され、各ブロックには、1つのタイムスタンプが含まれており、前のブロックにリンクされている。情報を変更又は削除する場合、後のブロックについても、同じ動作を実行する必要がある。ブロックチェーンは、チェーン上でのすべての取引の完全な記録として機能し、すべての人に表示される。
【0004】
既存の産業取引プロセスには多くの組織機構が関与しており、その多くは、紙データでリンクを確認するため、プロセスが煩雑であり、統一された同盟が形成されておらず、各組織機構間でデータが共有されていない。
【発明の概要】
【課題を解決するための手段】
【0005】
本開示の実施例は、ブロックチェーンベースの取引追跡のための方法及び装置を提案する。
【0006】
第1の態様では、本開示の実施例は、中間ノードに適用されるブロックチェーンベースの取引追跡方法を提供し、当該方法は、中間ノードの秘密鍵で中間ノードの上流ノードと中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、上流取引情報をブロックチェーンに書き込むステップと、中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して中間ノードの秘密鍵を暗号化して、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成し、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をブロックチェーンに書き込むステップと、中間ノードとその下流ノードとの間のスマートコントラクトを呼び出すステップと、中間ノードの秘密鍵で中間ノードの秘密鍵情報を復号して、中間ノードの下流ノードの秘密鍵を得、ここで、中間ノードの秘密鍵情報は、中間ノードの下流ノードが中間ノードの公開鍵で中間ノードの下流ノードの秘密鍵を暗号化することにより生成されてブロックチェーンに書き込まれるステップと、中間ノードの下流ノードの秘密鍵で下流取引情報を復号して、中間ノードとその下流ノードとの間の取引明細を得、ここで、下流取引情報は、下流ノードが下流ノードの秘密鍵で中間ノードとその下流ノードとの間の取引明細を暗号化することにより生成されてブロックチェーンに書き込まれるステップと、を含む。
【0007】
いくつかの実施例では、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をブロックチェーンに書き込むことは、中間ノードの上流取引情報のIDをキーとして、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を値としてブロックチェーンに書き込むことを含む。
【0008】
いくつかの実施例では、当該方法は、中間ノードによって復号された取引明細を中間ノードによってローカルに記録された取引明細と比較して、差異があるかどうかを確認するステップをさらに含む。
【0009】
第2の態様では、本開示の実施例は、ファーストノードに適用されるブロックチェーンベースの取引追跡方法を提供し、当該方法は、ファーストノードとその隣接する中間ノードとの間のスマートコントラクトを呼び出すステップと、ファーストノードの秘密鍵で中間ノードの上流ノードの秘密鍵情報を復号して、中間ノードの秘密鍵を得、ここで、秘密鍵情報は、請求項1の方法で、中間ノードによってブロックチェーンに書き込まれるステップと、中間ノードの秘密鍵で中間ノードの上流取引情報を復号して、ファーストノードと中間ノードとの間の取引明細を得、ここで、秘密鍵情報は、請求項1の方法で、中間ノードによってブロックチェーンに書き込まれるステップと、を含む。
【0010】
第3の態様では、本開示の実施例は、末端ノードに適用されるブロックチェーンベースの取引追跡方法を提供し、当該方法は、末端ノードの秘密鍵で前記末端ノードの上流ノードと前記末端ノードとの間の取引明細を暗号化して前記末端ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むステップと、前記末端ノードの上流ノードの公開鍵で前記末端ノードの秘密鍵を暗号化して、前記末端ノードの上流ノードの秘密鍵情報を生成し、前記末端ノードの上流ノードの秘密鍵情報を前記ブロックチェーンに書き込むステップと、各中間ノードが生成した末端ノードの秘密鍵情報について、末端ノードの秘密鍵で当該秘密鍵情報を復号して、当該中間ノードの秘密鍵を得、ここで、秘密鍵情報は、請求項1の方法で、各中間ノードによってブロックチェーンに書き込まれるステップと、各中間ノードの秘密鍵について、当該秘密鍵で当該中間ノードの上流取引情報を復号して、当該中間ノードの上流ノードと当該中間ノードとの間の取引明細を得、ここで、上流取引情報は、請求項1の方法で、各中間ノードによってブロックチェーンに書き込まれるステップと、各ノード間の取引明細を集約して出力するステップと、を含む。
【0011】
いくつかの実施例では、当該方法は、各ノード間の取引明細に関する商品の2次元コードを生成し、2次元コードを各ノード間の取引明細にバインディングするステップをさらに含む。
【0012】
第4の態様では、本開示の実施例は、ブロックチェーンベースの取引追跡システムを提供し、当該システムは、第2の態様で説明された方法を実現するファーストノードと、第 1の態様のいずれか一項で説明された方法を実現する少なくとも1つの中間ノードと、第3の態様のいずれか一項で説明された方法を実現する末端ノードと、を含む。
【0013】
第5の態様では、本開示の実施例は、中間ノードに適用されるブロックチェーンベースの取引追跡装置を提供し、当該装置は、中間ノードの秘密鍵で中間ノードの上流ノードと中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、上流取引情報をブロックチェーンに書き込むように構成される取引暗号化ユニットと、中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して中間ノードの秘密鍵を暗号化して、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成し、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をブロックチェーンに書き込むように構成される秘密鍵暗号化ユニットと、中間ノードとその下流ノードとの間のスマートコントラクトを呼び出すように構成される呼び出しユニットと、秘密鍵復号ユニットであって、前記秘密鍵復号ユニットは、中間ノードの秘密鍵で中間ノードの秘密鍵情報を復号して、中間ノードの下流ノードの秘密鍵を得るように構成され、ここで、中間ノードの秘密鍵情報は、中間ノードの下流ノードが中間ノードの公開鍵で中間ノードの下流ノードの秘密鍵を暗号化することにより生成されてブロックチェーンに書き込まれる秘密鍵復号ユニットと、取引復号ユニットであって、前記取引復号ユニットは、中間ノードの下流ノードの秘密鍵で下流取引情報を復号して、中間ノードとその下流ノードとの間の取引明細を得るように構成され、ここで、下流取引情報は、下流ノードが下流ノードの秘密鍵で中間ノードとその下流ノードとの間の取引明細を暗号化することにより生成されてブロックチェーンに書き込まれる取引復号ユニットと、を含む。
【0014】
いくつかの実施例では、秘密鍵暗号化ユニットは、中間ノードの上流取引情報のIDをキーとして、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を値としてブロックチェーンに書き込むようにさらに構成される。
【0015】
いくつかの実施例では、当該装置は、中間ノードによって復号された取引明細を中間ノードによってローカルに記録された取引明細と比較して、差異があるかどうかを確認するように構成される比較ユニットをさらに含む。
【0016】
第6の態様では、本開示の実施例は、ファーストノードに適用されるブロックチェーンベースの取引追跡装置を提供し、当該装置は、ファーストノードとその隣接する中間ノードとの間のスマートコントラクトを呼び出すように構成される呼び出しユニットと、秘密鍵復号ユニットであって、前記秘密鍵復号ユニットは、ファーストノードの秘密鍵で中間ノードの上流ノードの秘密鍵情報を復号して、中間ノードの秘密鍵を得るように構成され、ここで、秘密鍵情報は、第1の態様で説明された方法で、中間ノードによってブロックチェーンに書き込まれる秘密鍵復号ユニットと、取引復号ユニットであって、前記取引復号ユニットは、中間ノードの秘密鍵で中間ノードの上流取引情報を復号して、ファーストノードと中間ノードとの間の取引明細を得るように構成され、ここで、上流取引情報は、第1の態様で説明された方法で、中間ノードによってブロックチェーンに書き込まれる取引復号ユニットと、を含む。
【0017】
第7の態様では、本開示の実施例は、末端ノードに適用されるブロックチェーンベースの取引追跡装置を提供し、当該装置は、末端ノードの秘密鍵で前記末端ノードの上流ノードと前記末端ノードとの間の取引明細を暗号化して前記末端ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むように構成される取引暗号化ユニットと、前記末端ノードの上流ノードの公開鍵で前記末端ノードの秘密鍵を暗号化して前記末端ノードの上流ノードの秘密鍵情報を生成し、前記末端ノードの上流ノードの秘密鍵情報を前記ブロックチェーンに書き込むように構成される秘密鍵暗号化ユニットと、秘密鍵復号ユニットであって、前記秘密鍵復号ユニットは、各中間ノードが生成した末端ノードの秘密鍵情報について、末端ノードの秘密鍵で当該秘密鍵情報を復号して、当該中間ノードの秘密鍵を得るように構成され、ここで、秘密鍵情報は、第1の態様で説明された方法で、各中間ノードによってブロックチェーンに書き込まれるように構成される秘密鍵復号ユニットと、取引復号ユニットであって、前記取引復号ユニットは、各中間ノードの秘密鍵について、当該秘密鍵で当該中間ノードの上流取引情報を復号して、当該中間ノードの上流ノードと当該中間ノードとの間の取引明細を得るように構成され、ここで、上流取引情報は、第1の態様で説明された方法で、各中間ノードによってブロックチェーンに書き込まれる取引復号ユニットと、各ノード間の取引明細を集約して出力するように構成される集約出力ユニットと、を含む。
【0018】
いくつかの実施例では、当該装置は、各ノード間の取引明細に関する商品の2次元コードを生成し、2次元コードを各ノード間の取引明細にバインディングするように構成される2次元コード生成ユニットをさらに含む。
【0019】
第8の態様では、本開示の実施例は、ブロックチェーンベースの取引追跡のための電子機器を提供し、当該電子機器は、1つ又は複数のプロセッサと、1つ又は複数のプログラムが記憶された記憶装置と、を含み、ここで、1つ又は複数のプログラムが1つ又は複数のプロセッサによって実行されると、1つ又は複数のプロセッサに第1の態様のいずれかの方法を実現させる。
【0020】
第9の態様では、本開示の実施例は、コンピュータプログラムが記憶されたコンピュータ可読媒体を提供し、ここで、プログラムがプロセッサによって実行されると、第1の態様のいずれかの方法を実現する。
【0021】
本開示の実施例が提供するブロックチェーンベースの取引追跡のための方法及び装置は、誰もがリアルタイムの生産データを無料で取得できるようにする。人々は、規制順守を簡単に追跡ことができる。データは、ジョイントベンチャー間でシームレスに共有される。合意に至るまでの時間は、大幅に短縮される。最も重要なのは、仲介者の消滅であるため、業界の各セグメントのコストを削減することができる。
【0022】
以下の図面を参照して行われた非限定的な実施例の明細な説明を読むことにより、本開示の他の特徴、目的及び利点がより明らかになる。
【図面の簡単な説明】
【0023】
【
図1】本開示の一実施例が適用され得る例示的なシステムアーキテクチャ図である。
【
図2】本開示によるブロックチェーンベースの取引追跡方法が中間ノードに適用される一実施例のフローチャートである。
【
図3】本開示によるブロックチェーンベースの取引追跡方法がファーストノードに適用される一実施例のフローチャートである。
【
図4】本開示によるブロックチェーンベースの取引追跡方法が末端ノードに適用される一実施例のフローチャートである。
【
図5】本開示によるブロックチェーンベースの取引追跡システムの一適用シナリオの概略図である。
【
図6】本開示によるブロックチェーンベースの取引追跡装置が中間ノードに適用される一実施例の構造概略図である。
【
図7】本開示によるブロックチェーンベースの取引追跡装置がファーストノードに適用される一実施例の構造概略図である。
【
図8】本開示によるブロックチェーンベースの取引追跡装置が末端ノードに適用される一実施例の構造概略図である。
【
図9】本開示の実施例を実現するために使用されるのに適した電子機器のコンピュータシステムの構造概略図である。
【発明を実施するための形態】
【0024】
以下は、図面と実施例を参照して本開示をさらに明細に説明する。本明細書に記載された特定の実施例は、関連する発明を説明するためにのみ使用され、本発明を限定するものではないことが理解され得る。なお、説明の便宜上、図面には、関連発明に関連する部分のみが示されている。
【0025】
なお、矛盾しない場合、本開示の実施例及び実施例の特徴は、互いに組み合わせることができる。以下は、図面を参照し、実施例と併せて本開示を明細に説明する。
【0026】
図1は、本開示のブロックチェーンベースの取引追跡方法又はブロックチェーンベースの取引追跡装置が適用され得る実施例の例示的なシステムアーキテクチャ100を示す。
【0027】
図1に示すように、システムアーキテクチャ100は、端末装置101、ブロックチェーン102、及びサードパーティサーバ103を含み得る。端末装置101、ブロックチェーン102、及びサードパーティサーバ103は、ネットワークを介して通信する。ネットワークは、有線通信リンク、無線通信リンクなどのさまざまな接続タイプを含み得る。
【0028】
ユーザは、端末装置101を、ネットワークを介してブロックチェーン102及びサードパーティサーバ103と対話させて、メッセージなどを受信又は送信することができる。端末装置101には、取引アプリケーション、ウェブブラウザアプリケーション、ショッピングアプリケーション、検索アプリケーション、インスタントメッセージングツール、電子メールクライアント、ソーシャルプラットフォームソフトウェアなどのさまざまな通信クライアントアプリケーションがインストールされてもよい。
【0029】
端末装置101は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末装置101がハードウェアである場合、取引追跡をサポートするさまざまな電子機器であってもよい。各端末装置は、それぞれ1つのノードに対応し、例えば、メーカーの端末装置は、ファーストノードに対応し、小売業者の端末装置は、末端ノードに対応する。ブロックチェーンにおけるノードは、産業プロセスの順序でソートされる。
【0030】
図1に示されているファーストノード、中間ノード1…中間ノードn、及び末端ノードは、同一の貿易組織に属している。貿易組織内の各ノードの取引は、当該ノードの上流ノードと末端ノードに表示される。
【0031】
サードパーティサーバ103は、ノードの追加/削除、秘密鍵の割り当てなどのノード管理機能を提供することができる。
【0032】
なお、本開示の実施例がブロックチェーンベースの取引追跡方法を提供することは、一般に、ブロックチェーン102によって実行される。それに対応して、ブロックチェーンベースの取引追跡装置は、一般に、ブロックチェーン102に設置される。
【0033】
図1の端末装置、ブロックチェーン、及びサードパーティサーバの数は、単なる例示であることが理解されるべきである。実現のニーズに応じて、任意の数の端末装置、ブロックチェーン、及びサードパーティサーバが存在する可能性がある。
【0034】
図2を参照し続けると、
図2は、本開示によるブロックチェーンベースの取引追跡方法が中間ノードに適用される一実施例のプロセス200を示す。当該ブロックチェーンベースの取引追跡方法は、以下のステップを含む。
【0035】
ステップ201:中間ノードの秘密鍵で中間ノードの上流ノードと中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、上流取引情報をブロックチェーンに書き込む。
【0036】
本実施例では、ブロックチェーンベースの取引追跡方法の実行本体(例えば、
図1に示されている中間ノード)は、サードパーティサーバから本ノードの秘密鍵を取得することができる。各ノードはいずれも、他のノードに対応する公開鍵情報を有し、公開鍵情報の送信は、CA(CertificateAuthority、認証局)又は他の方法を採用してその安全性を確保することができる。同様に、各ノードはいずれも、秘密鍵情報を有する。プロセスに含まれる判断はいずれも、対応するスマートコントラクトによって完了することができ、不一致が発生した場合、各取引には書き込み者の署名があるため、直接責任を追及したり、仲裁を申し立てたりすることができる。
【0037】
本ノードは、自分の秘密鍵で本ノードとその上流ノードとの間の取引明細(例えば、ファーストノードに対応するメーカー情報、中間ノード1に対応する中間業者情報、商品名、商品ID(identification、識別)、商品数量、取引時間など)を暗号化して上流取引情報を生成し、上流取引情報をブロックチェーンに書き込む。
【0038】
ステップ202:中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して、中間ノードの秘密鍵を暗号化して中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成し、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をブロックチェーンに書き込む。
【0039】
本実施例では、各ノードはいずれも、他のノードの公開鍵を知っているので、それを使用してターゲットノードの公開鍵を暗号化することができ、次にターゲットノードは、自分の秘密鍵で復号することができる。他の非ターゲットノードは、復号することができない。ファーストノードに加えて、各ノードは、その上流ノードと取引情報を共有することができ、すべてのノードの取引情報を集約する末端ノードと共有することもできる。したがって、各中間ノードについて、当該中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して当該中間ノードの秘密鍵を暗号化する。生成された当該中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をブロックチェーンに書き込む。
【0040】
オプションで、key-value(キー-値)の方法を採用してチェーンに入ることができ、中間ノードの上流取引情報のID(identification、識別)をキーとして、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を値としてブロックチェーンに書き込む。これにより、取引情報を復号するために使用される秘密鍵を容易に見つけることができる。
【0041】
ステップ203:中間ノードとその下流ノードとの間のスマートコントラクトを呼び出す。
【0042】
本実施例では、スマートコントラクト(英語:Smart contract)は、情報化方法で、契約を伝播、検証又は実行することを目的とするコンピュータプロトコルである。スマートコントラクトは、サードパーティなしで信頼できる取引を実行することを可能にし、これらの取引は、追跡可能で元に戻すことができない。
【0043】
ステップ204:中間ノードの秘密鍵で中間ノードの秘密鍵情報を復号して、中間ノードの下流ノードの秘密鍵を得る。
【0044】
本実施例では、中間ノードの秘密鍵情報は、中間ノードの下流ノードが中間ノードの公開鍵で中間ノードの下流ノードの秘密鍵を暗号化することにより生成されてブロックチェーンに書き込まれる。中間ノードは、自分の秘密鍵で他のノード(例えば、中間ノードの下流ノード)が生成した中間ノードの秘密鍵情報を復号して、他のノードの秘密鍵を得ることができる。
【0045】
ステップ205:中間ノードの下流ノードの秘密鍵で下流取引情報を復号して、中間ノードとその下流ノードとの間の取引明細を得る。
【0046】
本実施例では、下流取引情報は、下流ノードが下流ノードの秘密鍵で中間ノードとその下流ノードとの間の取引明細を暗号化することにより生成されてブロックチェーンに書き込まれる。他のノード(中間ノードの下流ノード)の秘密鍵で当該秘密鍵によって暗号化された取引情報を復号して、取引明細を得ることができる。
【0047】
オプションで、各中間ノードについて、当該中間ノードによって復号された取引明細を当該中間ノードによってローカルに記録された取引明細と比較して、差異があるかどうかを確認する。例えば、中間ノード1によって復号された取引明細は、中間ノード2によって記録されているため、中間ノード1の自分で記録された取引明細と比較して、差異があるかどうかを確認する必要がある。
【0048】
図3を参照し続けると、
図3は、本開示によるブロックチェーンベースの取引追跡方法がファーストノードに適用される一実施例のプロセス300を示す。当該ブロックチェーンベースの取引追跡方法は、以下のステップを含む。
【0049】
ステップ301:ファーストノードとその隣接する中間ノードとの間のスマートコントラクトを呼び出す。
【0050】
本実施例では、ブロックチェーンベースの取引追跡方法の実行本体(例えば、
図1に示されているファーストノード)は、ファーストノードと中間ノード1との間のスマートコントラクトを呼び出す。ファーストノードは、貿易プロセスの第1リンクに対応するノードである。中間ノード1は、第2リンクに対応するノードである。スマートコントラクト(英語:Smart contract)は、情報化方法で、契約を伝播、検証又は実行することを目的とするコンピュータプロトコルである。スマートコントラクトは、サードパーティなしで信頼できる取引を実行することを可能にし、これらの取引は、追跡可能で元に戻すことができない。
【0051】
ステップ302:ファーストノードの秘密鍵で中間ノードの上流ノードの秘密鍵情報を復号して、中間ノードの秘密鍵を得る。
【0052】
本実施例では、秘密鍵情報は、ステップ202を介して、中間ノードによってブロックチェーンに書き込まれる。ファーストノードの秘密鍵情報は、中間ノード1がファーストノードの公開鍵で中間ノード1の秘密鍵を暗号化することにより生成されてブロックチェーンに書き込まれる。ファーストノードは、自分の秘密鍵で中間ノード1が生成した中間ノード1の上流ノード(ファーストノード)の秘密鍵情報を復号して、中間ノード1の秘密鍵を得ることができる。
【0053】
ステップ303:中間ノードの秘密鍵で中間ノードの上流取引情報を復号して、ファーストノードと中間ノードとの間の取引明細を得る。
【0054】
本実施例では、上流取引情報は、ステップ201を介して中間ノードによってブロックチェーンに書き込まれる。他のノード(例えば、中間ノード)の秘密鍵で当該秘密鍵によって暗号化された取引情報を復号して、取引明細を得ることができる。
【0055】
図4を参照し続けると、
図4は、本開示によるブロックチェーンベースの取引追跡方法が末端ノードに適用される一実施例のプロセス400を示す。当該ブロックチェーンベースの取引追跡方法は、以下のステップを含む。
【0056】
ステップ401:末端ノードの秘密鍵で末端ノードの上流ノードと末端ノードとの間の取引明細を暗号化して末端ノードの上流取引情報を生成し、上流取引情報をブロックチェーンに書き込む。
【0057】
本実施例では、ブロックチェーンベースの取引追跡方法の実行本体(例えば、
図1に示されている末端ノード)は、サードパーティサーバから本ノードの秘密鍵を取得することができる。各ノードはいずれも、他のノードに対応する公開鍵情報を有し、公開鍵情報の送信には、CA(CertificateAuthority、認証局)又は他の方法を採用してその安全性を確保することができる。同様に、各ノードには秘密鍵情報がある。プロセスに含まれる判断はいずれも、対応するスマートコントラクトによって完了することができ、不一致が発生した場合、各取引には書き込み者の署名があるため、直接責任を追及したり、仲裁を申し立てたりすることができる。
【0058】
本ノード(末端ノード)は、自分の秘密鍵で本ノードとその上流ノード(中間ノード)との間の取引明細(例えば、末端ノードに対応する小売業者情報、中間ノードnに対応する中間業者情報、商品名、商品ID、商品数量、取引時間など)を暗号化して上流取引情報を生成し、上流取引情報をブロックチェーンに書き込む。
【0059】
ステップ402:末端ノードの上流ノードの公開鍵で末端ノードの秘密鍵を暗号化して末端ノードの上流ノードの秘密鍵情報を生成し、末端ノードの上流ノードの秘密鍵情報をブロックチェーンに書き込む。
【0060】
本実施例では、各ノードはいずれも、他のノードの公開鍵を知っているので、ターゲットノードの公開鍵を暗号化するために使用され得、次にターゲットノードは、自分の秘密鍵で復号することができる。他の非ターゲットノードは、復号することができない。当該プロセスは、ステップ202と基本的に同じであるが、末端ノードの秘密鍵情報を再生成する必要がなく、当該中間ノードの上流ノードの秘密鍵情報のみを生成してブロックチェーンに書き込む必要がある。
【0061】
オプションで、key-value(キー-値)の方法を採用してチェーンに入ることができ、末端ノードの上流取引情報のIDをキーとして、末端ノードの上流ノードの秘密鍵情報を値としてブロックチェーンに書き込む。これにより、取引情報を復号するために使用される秘密鍵を容易に見つけることができる。
【0062】
ステップ403:各中間ノードが生成した末端ノードの秘密鍵情報について、末端ノードの秘密鍵で当該秘密鍵情報を復号して、当該中間ノードの秘密鍵を得る。
【0063】
本実施例では、ブロックチェーンベースの取引追跡方法の実行本体(例えば、
図1に示されている末端ノード)は、ブロックチェーンから、各中間ノードがステップ202を介して書き込んだ秘密鍵情報を読み取ることができる。すなわち、各秘密鍵情報は、それぞれ1つの中間ノードに対応する。各秘密鍵情報について、末端ノードの秘密鍵で当該秘密鍵情報を復号して、当該秘密鍵情報に対応する中間ノードの秘密鍵を得る。したがって、末端ノードは、すべての中間ノードの秘密鍵を取得することができる。
【0064】
ステップ404:各中間ノードの秘密鍵について、当該秘密鍵で当該中間ノードの上流取引情報を復号して、当該中間ノードの上流ノードと当該中間ノードとの間の取引明細を得る。
【0065】
本実施例では、末端ノードは、ブロックチェーンから、各中間ノードがステップ201を介して書き込んだ上流取引情報を読み取ることができる。各上流取引情報はいずれも、1つの中間ノードの秘密鍵によって暗号化される。各上流取引情報について、中間ノードの復号された秘密鍵で当該上流取引情報を復号して、中間ノードの暗号化前の取引明細を得る。
【0066】
ステップ405:各ノード間の取引明細を集約して出力する。
【0067】
本実施例では、各中間ノードとその上流ノードとの間の取引明細、及び末端ノードとその上流ノードとの間の取引明細を集約し、当該集約は、リンクデータを集約するスマートコントラクトによって実行され得る。
【0068】
オプションで、前記各ノード間の取引明細に関する商品の2次元コードを生成し、前記2次元コードを各ノード間の取引明細にバインディングする。ユーザは、2次元コードをスキャンして商品の各リンク間の取引明細を取得することができる。
【0069】
本出願で使用されるスマートコントラクトに2種類があり、1つは、双方取引用のスマートコントラクトであり、もう1つは、最後に、小売業者がリンクデータを集約するスマートコントラクトであり、双方取引用のスマートコントラクトは、ロジックがAとBの間のオフライン取引後にプロトコルファイルを生成することであり、ここでは、プロトコルファイルを呼び出すこととプロトコル情報を取得することである。最後に、小売業者がリンクデータを集約するスマートコントラクトは、小売業者がすべてのリンクデータを持っているため、小売業者が取引IDとkeyを介して各ステップの情報を取得することである。
【0070】
図5を参照し続けると、
図5は、本実施例によるブロックチェーンベースの取引追跡方法の適用シナリオの概略図である。
図5の適用シナリオでは、石油貿易を例として取引追跡方法を詳細に紹介し、その具体的なプロセスは、以下のとおりである。
【0071】
1)メーカー(ファーストノード):メーカーとサプライヤーが取引するスマートコントラクトを呼び出す。
【0072】
2)サプライヤー(中間ノード1):サプライヤーの秘密鍵K2でメーカーとサプライヤーの取引明細(例えば、メーカー情報、サプライヤー情報、原油名、原油ID、原油量、取引時間など)を暗号化して、取引情報TX1を生成してブロックチェーンに書き込む。
【0073】
3)サプライヤー(中間ノード1):TX1(平文)をkeyとして、メーカーと小売業者のそれぞれの公開鍵でK2を暗号化し、暗号化結果は、vauleであり、秘密鍵情報TX2と秘密鍵情報TX3を生成してブロックチェーンに書き込む。
【0074】
4)メーカー(ファーストノード):TX2の内容をメーカーの秘密鍵K1で復号してK2を得、次にTX1をK2で復号して生産供給プロトコルの詳細なイベントを得る。それをローカルに記録された取引明細と比較する。
【0075】
5)サプライヤー(中間ノード1):サプライヤーと油精製業者が取引するスマートコントラクトを呼び出す。
【0076】
6)油精製業者(中間ノード2):油精製業者の秘密鍵K3でサプライヤーと油精製業者の取引明細(例えば、サプライヤー情報、油精製業者情報、原油製品の数量、原油製品の価格、取引時間など)を暗号化(暗号文)し、次にチェーンに入って取引情報TX4を形成し、次にTX4をkeyとして、サプライヤーの公開鍵と小売業者の公開鍵でVauleとしてTX4を暗号化し、チェーンに入って秘密鍵情報TX5、TX6を生成する。
【0077】
7)サプライヤー(中間ノード1):サプライヤーの秘密鍵K2でTX5を復号して、油精製業者の秘密鍵K3を得、次に油精製業者の秘密鍵K3でTX4を復号して、サプライヤーと油精製業者の取引明細を得る。それをローカルに記録された取引明細と比較する。
【0078】
8)油精製業者(中間ノード2):油精製業者と小売業者が取引するスマートコントラクトを呼び出す。
【0079】
9)小売業者(末端ノード):小売業者の秘密鍵K4で油精製業者と小売業者の取引明細(例えば、油精製業者情報、小売業者情報、石油製品ID、石油製品の数量、石油製品の種類、取引価格、取引時間)を暗号化(暗号文)し、次にチェーンに入って取引情報TX7を形成し、次にTX7をkeyとして、油精製業者の公開鍵でVauleとしてTX7を暗号化し、チェーンに入って秘密鍵情報TX8を生成する。
【0080】
10)油精製業者(中間ノード2):油精製業者の秘密鍵K3でTX8を復号して、K4を得、次にK4でTX7を復号して、油精製業者と小売業者の取引明細を得る。それをローカルに記録された取引明細と比較する。
【0081】
11)小売業者(末端ノード):小売業者の秘密鍵K4でTX6を復号して、K3を得、K3でTX4を復号して、サプライヤーと油精製業者の取引明細を得る。
【0082】
12)小売業者(末端ノード):小売業者の秘密鍵K4でTX3を復号して、K1を得、K1でTX1を復号して、メーカーとサプライヤー取引明細(メーカー情報、サプライヤー情報、原油製品明細)を得る。
【0083】
13)小売業者(末端ノード):スマートコントラクトを呼び出して上流リンクデータを集約する。
【0084】
本出願は、ブロックチェーン技術を利用して、商品取引プロセスの各組織で、1つのコンソーシアムチェーンを構成し、各組織は、ブロックチェーンのノードとして使用されてもよく、サードパーティのプラットフォームから完全に独立した自動取引スキームを形成する。
【0085】
1)商品流通プロセスにおけるすべてのリンク、ノード及びブロックチェーン技術を組み合わせ、ブロックチェーン技術を利用して、商品流通プロセスにおけるメーカー、中間業者及び小売業者は、同盟を形成し、各組織は、ノードとして、共同でコンセンサスに参加するため、プロセスの信頼性と正確性を向上させることができる。
【0086】
2)商品流通プロセス中に、組織が自分の権限範囲内でのみデータを表示できるように秘密鍵で権限を制御する。
【0087】
3)スマートコントラクトでプロセス全体の実行を駆動することで、商品取引の自動化程度を向上させ、効率を大幅に向上させることができる。
【0088】
4)商品流通プロセス中に、ノードの追加と削除がある場合、設計されたスマートコントラクトによって制御されるため、コンソーシアムチェーンの柔軟性を向上させることができる。
【0089】
さらに
図6を参照すると、上記各図に示されている方法の実現として、本開示は、ブロックチェーンベースの取引追跡装置が中間ノードに適用される一実施例を提供し、当該装置の実施例は、
図2に示されている方法の実施例に対応し、当該装置は、具体的には、さまざまな電子機器に適用することができる。
【0090】
図6に示すように、本実施例のブロックチェーンベースの取引追跡装置600は、取引暗号化ユニット601、秘密鍵暗号化ユニット602、呼び出しユニット603、秘密鍵復号ユニット604、及び取引復号ユニット605を含む。ここで、取引暗号化ユニット601は、中間ノードの秘密鍵で中間ノードの上流ノードと中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、上流取引情報をブロックチェーンに書き込むように構成され、秘密鍵暗号化ユニット602は、中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して、中間ノードの秘密鍵を暗号化して中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成し、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をブロックチェーンに書き込むように構成され、呼び出しユニット603は、中間ノードとその下流ノードとの間のスマートコントラクトを呼び出すように構成され、秘密鍵復号ユニット604は、中間ノードの秘密鍵で中間ノードの秘密鍵情報を復号して、中間ノードの下流ノードの秘密鍵を得るように構成され、ここで、中間ノードの秘密鍵情報は、中間ノードの下流ノードが中間ノードの公開鍵で中間ノードの下流ノードの秘密鍵を暗号化することにより生成されてブロックチェーンに書き込まれ、取引復号ユニット605は、中間ノードの下流ノードの秘密鍵で下流取引情報を復号することにより中間ノードとその下流ノードとの間の取引明細を得るように構成され、ここで、下流取引情報は、下流ノードが下流ノードの秘密鍵で中間ノードとその下流ノードとの間の取引明細を暗号化することにより生成されてブロックチェーンに書き込まれる。
【0091】
本実施例のいくつかのオプションの実装形態では、秘密鍵暗号化ユニット602は、中間ノードの上流取引情報のIDをキーとして、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を値としてブロックチェーンに書き込むようにさらに構成される。
【0092】
本実施例のいくつかのオプションの実装形態では、当該装置は、中間ノードによって復号された取引明細を中間ノードによってローカルに記録された取引明細と比較して、差異があるかどうかを確認するように構成される比較ユニット(図面に図示せず)をさらに含む。
【0093】
さらに
図7を参照すると、上記各図に示されている方法の実現として、本開示は、ブロックチェーンベースの取引追跡装置がファーストノードに適用される一実施例を提供し、当該装置の実施例は、
図3に示されている方法の実施例に対応し、当該装置は、具体的に、さまざまな電子機器に適用することができる。
【0094】
図7に示すように、本実施例のブロックチェーンベースの取引追跡装置700は、呼び出しユニット701、秘密鍵復号ユニット702、及び取引復号ユニット703を含む。ここで、呼び出しユニット701は、ファーストノードとその隣接する中間ノードとの間のスマートコントラクトを呼び出すように構成され、秘密鍵復号ユニット702は、ファーストノードの秘密鍵で中間ノードの上流ノードの秘密鍵情報を復号して、中間ノードの秘密鍵を得るように構成され、ここで、秘密鍵情報は、第1の態様で説明された方法で、中間ノードによってブロックチェーンに書き込まれ、取引復号ユニット703は、中間ノードの秘密鍵で中間ノードの上流取引情報を復号して、ファーストノードと中間ノードとの間の取引明細を得るように構成され、ここで、上流取引情報は、第1 の態様で説明された方法で、中間ノードによってブロックチェーンに書き込まれる。
【0095】
さらに
図8を参照すると、上記各図に示されている方法の実現として、本開示は、ブロックチェーンベースの取引追跡装置が末端ノードに適用される一実施例を提供し、当該装置の実施例は、
図4に示されている方法の実施例に対応し、当該装置は、具体的には、さまざまな電子機器に適用することができる。
【0096】
図8に示すように、本実施例のブロックチェーンベースの取引追跡装置800は、取引暗号化ユニット801、秘密鍵暗号化ユニット802、秘密鍵復号ユニット803、取引復号ユニット804、及び集約出力ユニット805を含む。ここで、取引暗号化ユニット801は、末端ノードの秘密鍵で前記末端ノードの上流ノードと前記末端ノードとの間の取引明細を暗号化して前記末端ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むように構成され、秘密鍵暗号化ユニット802は、前記末端ノードの上流ノードの公開鍵で前記末端ノードの秘密鍵を暗号化して前記末端ノードの上流ノードの秘密鍵情報を生成し、前記末端ノードの上流ノードの秘密鍵情報を前記ブロックチェーンに書き込むように構成され、秘密鍵復号ユニット803は、末端ノードの秘密鍵で各中間ノードが生成した末端ノードの秘密鍵情報を復号して、当該中間ノードの秘密鍵を得るように構成され、ここで、秘密鍵情報は、第1の態様で説明された方法で、各中間ノードによってブロックチェーンに書き込まれ、取引復号ユニット804は、各中間ノードの秘密鍵で当該中間ノードの上流取引情報を復号して、当該中間ノードの上流ノードと当該中間ノードとの間の取引明細を得るように構成され、ここで、上流取引情報は、第1の態様で説明された方法で、各中間ノードによってブロックチェーンに書き込まれ、集約出力ユニット805は、各ノード間の取引明細を集約して出力するように構成される。
【0097】
本実施例のいくつかのオプションの実装形態では、当該装置は、2次元コード生成ユニット(図面に図示せず)をさらに含み、当該装置は、各ノード間の取引明細に関する商品の2次元コードを生成し、各ノード間の取引明細に2次元コードをバインディングするように構成される。
【0098】
次に
図9を参照すると、
図9は、本開示の実施例を実現するために使用されるのに適した電子機器(例えば、
図1におけるファーストノード、中間ノード、及び末端ノード)900の構造概略図を示す。
図9に示されている電子機器は一例にすぎず、本開示の実施例の機能及び使用範囲にいかなる制限を与えるべきではない。
【0099】
図9に示すように、電子機器900は、読み取り専用メモリ(ROM)902に記憶されたプログラム又は記憶装置908からランダムアクセスメモリ(RAM)903にロードされたプログラムに応じてさまざまな適切な動作及び処理を実行できる処理装置(例えば、中央プロセッサ、グラフィックスプロセッサなど)901を含み得る。RAM903には、電子機器900の動作に必要なさまざまなプログラム及びデータも記憶される。処理装置901、ROM902及びRAM903は、バス904を介して互いに接続されている。入力/出力(I/O)インターフェース905もバス904に接続されている。
【0100】
一般に、タッチスクリーン、タッチパッド、キーボード、マウス、カメラ、マイク、加速度計、ジャイロスコープなどを含む入力装置906、液晶ディスプレイ(LCD)、スピーカ、振動子などを含む出力装置907、テープ、ハードディスクなどを含む記憶装置908、及び通信装置909は、I/Oインターフェース905に接続することができる。通信装置909は、データを交換するために、電子機器900が他のデバイスと無線又は有線通信を実行することを可能にすることができる。
図9は、さまざまな装置を有する電子機器900を示しているが、図示したすべての装置を実施又は備えることが要求されていないことが理解されるべきである。代替的に、より多く又はより少ない装置を実施又は備えることができる。
図9に示されている各ブロックは、1つの装置を表してもよく、必要に応じて複数の装置を表してもよい。
【0101】
特に、本開示の実施例によれば、フローチャートを参照して上述したプロセスは、コンピュータソフトウェアプログラムとして実現されてもよい。例えば、本開示の実施例は、フローチャートに示された方法を実行するためのプログラムコードを含む、コンピュータ可読媒体上に担持されたコンピュータプログラムを含むコンピュータプログラム製品を含む。このような実施例では、当該コンピュータプログラムは、通信装置909を介してネットワークからダウンロードされてインストールされたり、記憶装置908からインストールされたり、ROM902からインストールされたりすることができる。当該コンピュータプログラムが処理装置901によって実行されると、本開示の実施例の方法に限定された上記機能が実行される。なお、本開示の実施例で説明したコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体又はこれらの任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気的、磁気的、光学的、電磁気的、赤外線の、又は半導体のシステム、装置又はデバイス、又はこれらの任意の組み合せであってもよいが、これらに限られない。コンピュータ可読記憶媒体のより具体的な例は、1つ又は複数の導線との電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバー、携帯型コンパクトディスク読取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又は上記の任意の適切な組み合わせを含み得るが、これらに限られない。本開示の実施例では、コンピュータ可読記憶媒体は、命令実行システム、装置又はデバイスによって使用されることも又はそれらに結合して使用されることも可能なプログラムを含む又は記憶する任意の有形の媒体であってもよい。本開示の実施例では、コンピュータ可読信号媒体は、ベースバンドにおいて又は搬送波の一部として伝播された、コンピュータ可読プログラムコードを搬送しているデータ信号を含み得る。このような伝播されたデータ信号は、電磁信号、光信号、又はこれらの任意の適切な組み合せを含むが、これらに限られない様々な形態を採用することができる。コンピュータ可読信号媒体はさらに、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよく、当該コンピュータ可読信号媒体は、命令実行システム、装置又はデバイスによって使用されることもそれらに結合して使用されることも可能なプログラムを送信、伝播又は伝送することができる。コンピュータ可読媒体に含まれているプログラムコードは、電線、光ケーブル、RF(無線周波数)など、又はこれらの任意の適切な組合せを含むが、これらに限られない任意の適切な媒体で伝送することができる。
【0102】
上記コンピュータ可読媒体は、上記電子機器に含まれるものであってもよいし、個別に存在しており、当該電子機器に組み込まれていないものであってもよい。上記コンピュータ可読媒体には、1つ又は複数のプログラムが記憶されており、上記1つ又は複数のプログラムが当該電子機器によって実行されると、当該電子機器は、中間ノードの秘密鍵で中間ノードの上流ノードと中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、上流取引情報をブロックチェーンに書き込むステップと、中間ノードの上流ノードの公開鍵と末端ノードの公開鍵をそれぞれ使用して、中間ノードの秘密鍵を暗号化して中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報を生成し、中間ノードの上流ノードの秘密鍵情報と末端ノードの秘密鍵情報をブロックチェーンに書き込むステップと、中間ノードとその下流ノードとの間のスマートコントラクトを呼び出すステップと、中間ノードの秘密鍵で中間ノードの秘密鍵情報を復号して、中間ノードの下流ノードの秘密鍵を得、ここで、中間ノードの秘密鍵情報は、中間ノードの下流ノードが中間ノードの公開鍵で中間ノードの下流ノードの秘密鍵を暗号化することにより生成されてブロックチェーンに書き込まれるステップと、中間ノードの下流ノードの秘密鍵で下流取引情報を復号して、中間ノードとその下流ノードとの間の取引明細を得、ここで、下流取引情報は、下流ノードが下流ノードの秘密鍵で中間ノードとその下流ノードとの間の取引明細を暗号化することにより生成されてブロックチェーンに書き込まれるステップと、を実行する。
【0103】
本開示の実施例の動作を実行するためのコンピュータプログラムコードは、1つ又は複数のプログラミング言語又はそれらの組み合せで書くことができ、前記プログラミング言語は、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語を含み、「C」言語又は類似するプログラミング言語などの従来の手続き型プログラミング言語をさらに含む。プログラムコードは、完全にユーザコンピュータ上で実行されることも、部分的にユーザコンピュータ上で実行されることも、スタンドアロンソフトウェアパッケージとして実行されることも、部分的にユーザコンピュータ上で実行されながら部分的にリモートコンピュータ上で実行されることも、又は完全にリモートコンピュータ又はサーバ上で実行されることも可能である。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザコンピュータに接続され得、又は、外部のコンピュータに接続され得る(例えば、インターネットサービスプロバイダーによるインターネット経由で接続される)。
【0104】
図面におけるフローチャート及びブロック図は、本開示のさまざまな実施例に係るシステム、方法及びコンピュータプログラム製品の実現可能なアーキテクチャ、機能及び動作を示している。ここで、フローチャート又はブロック図における各ブロックは、モジュール、プログラムセグメント、又はコードの一部を表すことができ、当該モジュール、プログラムセグメント、又はコードの一部は、指定されたロジック機能を実現するための1つ又は複数の実行可能な命令を含む。また、いくつかの代替的な実現では、ブロックに記載されている機能は、図面に記載されている順序とは異なる順序で発生することもできることにも留意すべきである。例えば、連続して表されている2つのブロックは、実際にほぼ並行して実行されてもよく、時には逆の順序で実行されてもよく、これは、関連する機能によって決まる。また、ブロック図及び/又はフローチャートにおける各ブロック、及びブロック図及び/又はフローチャートにおけるブロックの組み合わせは、指定された機能又は動作を実行する専用のハードウェアベースのシステムで実現されることも、又は専用のハードウェアとコンピュータ命令の組み合わせで実現されることも可能であることにも留意すべきである。
【0105】
本開示の実施例において説明されたユニットは、ソフトウェアによって実現されてもよく、ハードウェアによって実現されてもよい。説明されたユニットは、プロセッサに設置されてもよく、例えば、「取引暗号化ユニットと、秘密鍵暗号化ユニットと、呼び出しユニットと、秘密鍵復号ユニットと、取引復号ユニットと、を含むプロセッサ」と説明することができる。ここで、これらのユニットの名称は、場合によってはユニット自体を限定するものではなく、例えば、取引暗号化ユニットは、「中間ノードの秘密鍵で前記中間ノードの上流ノードと前記中間ノードとの間の取引明細を暗号化して中間ノードの上流取引情報を生成し、前記上流取引情報をブロックチェーンに書き込むユニット」と説明することもできる。
【0106】
上記の説明は、本開示の好ましい実施例及び採用された技術原理の説明にすぎない。当業者は、本開示に係る発明の範囲が、上記技術的特徴の特定の組み合わせによって形成された技術的解決手段に限られず、同時に、前記発明の構想から逸脱することなく、上記技術的特徴又はその同等の技術的特徴の任意の組み合わせによって形成された他の技術的解決手段、例えば、上記特徴と本開示に開示された同様の機能を有する技術的特徴(それだけに限定されない)とが相互に代替することにより形成された技術的解決手段もカバーしているものとすることを理解すべきである。
【符号の説明】
【0107】
600 取引追跡装置
601 取引暗号化ユニット
602 秘密鍵暗号化ユニット
603 呼び出しユニット
604 秘密鍵復号ユニット
605 取引復号ユニット
700 取引追跡装置
701 呼び出しユニット
702 秘密鍵復号ユニット
703 取引復号ユニット703
800 取引追跡装置
801 取引暗号化ユニット
802 秘密鍵暗号化ユニット
803 秘密鍵復号ユニット
804 取引復号ユニット
805 集約出力ユニット
900 電子機器
901 処理装置
902 読み取り専用メモリ(ROM)
903 ランダムアクセスメモリ(RAM)
904 バス
905 入力/出力(I/O)インターフェース
906 入力装置
907 出力装置
908 記憶装置
909 通信装置
【国際調査報告】