JP7249037B2 - 暗号通貨のためのウォレットシステム - Google Patents

暗号通貨のためのウォレットシステム Download PDF

Info

Publication number
JP7249037B2
JP7249037B2 JP2020002492A JP2020002492A JP7249037B2 JP 7249037 B2 JP7249037 B2 JP 7249037B2 JP 2020002492 A JP2020002492 A JP 2020002492A JP 2020002492 A JP2020002492 A JP 2020002492A JP 7249037 B2 JP7249037 B2 JP 7249037B2
Authority
JP
Japan
Prior art keywords
transaction
signature
wallet
data
unsigned
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020002492A
Other languages
English (en)
Other versions
JP2020074559A (ja
Inventor
理彦 日向
健都 澤田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hashbank
Original Assignee
Hashbank
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hashbank filed Critical Hashbank
Priority to JP2020002492A priority Critical patent/JP7249037B2/ja
Publication of JP2020074559A publication Critical patent/JP2020074559A/ja
Application granted granted Critical
Publication of JP7249037B2 publication Critical patent/JP7249037B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

特許法第30条第2項適用 掲載日 平成29年12月13日 ウェブサイトのアドレス https://prtimes.jp/main/html/rd/p/000000002.000028896.html掲載日 平成29年12月13日 アドレス http://www.zaikei.co.jp/releases/565509/ 掲載日 平成30年2月28日 アドレス https://ceres-inc.jp/news/detail/20180228/
本発明は、秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨のためのウォレットシステム及びそのシステムを用いる署名方法に関する発明である。
2008年に公開鍵暗号方式を利用するブロックチェーンを基礎とするビットコインのテクノロジ基盤が発表されて以来、10年経つ。その技術的特徴から暗号通貨と呼ばれている。日本では、インターネットを介して紙幣、硬貨という実体なくデジタル的に交換される利用態様が重視され、仮想通貨と呼ばれ、資金決済法で「仮想通貨」が定義されている。本明細書では、仮想通貨は、秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨であって、業として取引所で交換等取引されるものを指す。
図15は、代表的暗号通貨の一つである、インターネット上のビットコインネットワーク10を示す。ビットコインネットワーク10は、すべてのトランザクションを保持している元帳であるブロックチェーンを生成するマイナー11、マイナーへトランザクションを伝搬しトランザクションの有効性を検証するノード12によって構成される。
ユーザからビットコインネットワークへトランザクションが送信されると、以下のプロセスで処理される。ビットコインネットワーク上にあるノードは、受領したトランザクションを検証し、検証を通過したトランザクションは隣接する他のノードへ伝搬される。その後、ビットコインネットワーク規約によってマイナーがマイニングと呼ばれる承認処理を行い、トランザクションは新しい元帳の最小構成単位であるブロックへ書き込まれる。この新しいブロックは既存のブロックの集合体の最後尾へ追加される。トランザクション元帳は、一連の連鎖するブロックの集合体として構成され、この態様からブロックチェーンと呼ばれる。更新されたブロックチェーンはノードへコピーが送信され、各ノードは全てのブロックを含むブロックチェーンを保持する。元帳が、直前のブロックチェーンへ後続ブロックを追加するように、トランザクションもビットコインの直前の持ち主から後続の持ち主へ、そのうちの一部が引き渡される形式をとる。その引き継ぎを証するものとして、トランザクション自体にその引き継ぎを証明する情報が付加され、これを署名という。
より具体的には、トランザクションは、そこに記された直前の持ち主のビットコイン通貨額と、そのうち直前の持ち主から新たな持ち主へ渡されるビットコイン通貨額に、その価値の連鎖を証明する情報として署名が付加表象されている仮想的なものである(非特許文献1参照)。
トランザクションは公開鍵暗号アーキテクチャーの元、ユーザによって暗号化された情報が格納され、ネットワーク上を伝搬する。上記署名には、暗号の復号のための秘密鍵を要する。秘密鍵が漏洩すると、価値移転は、インターネット上で欲しいままに実現され、その回復は実質上困難であるものと考えられる。技術論的には、取引のトレーサビリティーがあるとしても、その調査には、莫大なコストがかかり、実質上困難である。これは、暗号は理論的には解読されるものであっても、解読コストがかかるものであれば、実質上安全なものとみなせることと対応させれば理解しやすい。
秘密鍵の漏洩には、秘密鍵を所有する組織内の内部犯罪行為によるものと、外部からのネットワーク侵入によるものとに大別される。実際、前者がマウントゴックス事件であり、後者がコインチェック事件であった。前者は、管理者が単独で仮想通貨を流出可能である仕組みが問題と認識され、後者は、外部からのネットワーク侵入によって高額の仮想通貨がオンライン環境下に晒されている仕組みが問題とされた。
もともとユーザの支配下で、秘密鍵を保管するものがウォレット13としてビットコインアーキテクチャーでも定義されている(非特許文献2)。上記で、ユーザからビットコインネットワーク10へトランザクションがブロードキャスト送信される前の段階で、ユーザは、他人への価値移転を承認する際に秘密鍵を使用してトランザクションに署名承認する。この秘密鍵を保管管理するのに使用される装置がウォレット装置である。仮に秘密鍵をすべてオフラインで管理し、取引の単位毎に秘密鍵を二人以上のオペレータで操作すれば、安全性は高まるが、それでは管理コストが掛かり過ぎ、実際的ではない。しかしながら、オンラインで使用されるホットウォレット装置とオフラインで使用されるコールドウォレット装置をどのように統合使用するかについての具体的な解決策は提示されていない。
ビットコインアーキテクチャでは、すでに一取引を複数の秘密鍵によって署名承認されるマルチシグネチャが提案され、より安全な取引も実現ではあるが、どのように複数の秘密鍵を統合使用するかについての具体的な解決策も提示されていない。
非特許文献1:例えば、アンドレアス著、「ビットコインとブロックチェーン」p1の第3段落、NTT出版株式会社、2016年
非特許文献2:例えば、アンドレアス著、「ビットコインとブロックチェーン」p92の第1段落、NTT出版株式会社、2016年
本発明は、係る課題に対応可能である、内部犯罪に対しても、外部からのネットワーク侵入に対しても、より安全なウォレットシステムを提供することを発明の目的とする。
本発明は、上記目的を達成する、より安全なウォレットシステムを提供する。以下に説明する。
本発明に係るウォレットシステムの一態様は、公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、操作員によって遠隔で署名するための署名サブシステムと、ユーザからの処理リクエストを受入れ、前記署名サブシステムへ署名をリクエストするトランザクション処理サブシステムとを備え、シードと鍵シーケンス番号とによって秘密鍵を再生成可能である決定性ウォレット方式を採用し、前記署名サブシステムのメモリ上にシードを記憶する暗号通貨のためのウォレットシステムにおいて、本発明の一態様のウォレットシステムは、以下の特徴を有する。
すなわち、秘密鍵生成に必要とされる鍵シーケンス番号は、前記トランザクション処理サブシステムで組成された未署名トランザクションを前記署名サブシステムへ入力すると同時または入力後、署名をするときに外部から当該署名サブシステムへ提供され、シードと鍵シーケンス番号とは、前記提供の前には前記署名サブシステムと、前記トランザクション処理サブシステムとに、分散記憶されているように構成されていることを特徴とするウォレットシステムが提供される。
上記構成は、ネットワークの入り口側にあってトランザクションの雛形を生成するトランザクション処理サブシステムと、シードを有し、操作員によって署名を生成する署名サブシステム間がネットワーク上分離され、より安全なウォレットシステムが提供される。
本発明に係るウォレットシステムの他の態様は、公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、操作員によって遠隔で署名するための署名サブシステムと、ユーザからの処理リクエストを受入れ、前記署名サブシステムへ署名をリクエストするトランザクション処理サブシステムとを備え、シードと鍵シーケンス番号とによって秘密鍵を再生成可能である決定性ウォレット方式を採用し、前記署名サブシステム内のメモリ上にシードを記憶する暗号通貨のためのウォレットシステムにおいて、
前記ウォレットシステムは、システム内部で共通のアドレスを表象するものとしての共通キーを採用し、前記トランザクション処理サブシステム及び前記署名サブシステム内において当該共通キーがメモリ上に記憶されている。
前記トランザクション処理サブシステムは、前記署名の受取り、未署名トランザクションの署名完成の管理手段を有し、前記暗号通貨トランザクションのアドレスの支払い承認の署名取得及び保持のため、前記未署名トランザクションの組成手段を有し、前記暗号通貨の標準的トランザクションインプットデータ項目に当該ウォレットシステムの使用のための内部形式の拡張項目として拡張トランザクションインプットデータ項目を加えた、前記未署名トランザクションが組成されるように構成されるように構成されている。
前記拡張トランザクションインプットデータ項目には、前記アドレスに対応する前記共通キーと前記鍵シーケンス番号とを含み、前記トランザクション処理サブシステムで組成され、保持されている状態で、前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記鍵シーケンス番号と、前記署名サブシステムの前記シードとは、物理的に分散記憶されている。
前記未署名トランザクションが前記署名サブシステムに取り込まれることによって、当該未署名トランザクションが署名可能な状態に置かれることを特徴とするウォレットシステムが、本発明の他の態様で提供される。
この構成では、共通キーによって、ウォレットシステム内部が未署名トランザクションを介し、この意味なし記号列で繋ぐことによって、分離配置された複数のデータ構造をシステム連携可能することが可能になり、より安全なウォレットシステムが提供される。
さらに追加の態様では、未署名トランザクションには、拡張トランザクションインプットデータ項目は複数セット格納され、前記共通キーが各セット毎に格納されていることを特徴とする、ウォレットシステムが提供されてよい。
この構成によって、共通キーによって、支払いアドレス毎に異なる署名手段に割り当てることが可能とされる。
さらに追加の態様では、未署名トランザクションの拡張トランザクションインプットデータ項目に格納されている前記共通キーと、署名サブシステムに記憶されている前記共通キーとは、当該ウォレットシステムに備えられたマッチング手段によってマッチングされ、前記共通キーが一致する当該未署名トランザクションが共通キーに対応する前記署名サブシステムの署名手段に提供されるように構成されていることを特徴とする、ウォレットシステムが提供されてよい。
本構成は、マッチング手段によって高速の未署名トランザクションの署名装置への割り当て管理を可能とし、高速化処理によって安全性を向上するとともに当該割り当てをシステム内で処理することによって、安全性を高める効果がある。
さらに追加の態様では、前記署名サブシステムは、操作員の指示によって遠隔地で暗号通貨署名するための遠隔署名装置と、当該遠隔署名装置へ署名リクエスト可搬データを生成、伝搬可能とするコールドウォレットサーバ装置とを含む。
前記シードが前記署名サブシステム内においては前記遠隔署名装置のメモリ上に記憶され、前記共通キーは前記コールドウォレットサーバ装置のメモリ上に記憶され、そして、前記共通キーは、前記遠隔署名装置で署名すべき署名に必要とされる前記シードを特定するための標識とされ、遠隔署名装置で署名後、署名済み未署名トランザクションを含む署名済み可搬データを当該遠隔署名装置から前記コールドウォレットサーバ装置へ伝搬可能に構成されていることを特徴とするウォレットシステムが提供される。
本構成では、コールドウォレットサーバ装置の導入によって、遠隔署名装置への未署名トランザクションの送信が半自動化の処理が可能となり、安全性が向上する。
さらに追加の態様では、コールドウォレットサーバ装置と前記トランザクション処理サブシステムとの間の署名フロー制御が構成される。
コールドウォレットサーバ装置は、署名待ち状態になると、前記共通キーを含む署名待ち通知を前記トランザクション処理サブシステムとのサブシステム間通信手段を介して前記トランザクション処理サブシステムへ送信し、前記トランザクション処理サブシステムからの署名リクエストを待つ。
当該コールドウォレットサーバ装置は、前記未署名トランザクションを含む署名リクエストを前記サブシステム間通信手段を介して前記トランザクション処理サブシステムから受信すると、遠隔地で署名する前記遠隔署名装置のためのデータ伝搬手段を介して、当該署名リクエストの前記署名リクエスト可搬データを生成し当該署名リクエスト可搬データが当該コールドウォレットサーバ装置から出力されるように構成されていることを特徴とするウォレットシステムが提供される。
さらに追加の態様では、遠隔署名装置とコールドウォレットサーバ装置間のデータ伝搬手段が構成される。
遠隔署名装置は、前記コールドウォレットサーバ装置との間にデータ伝搬手段を有し、秘密鍵の保管又は生成のため、当該遠隔署名装置で署名すべき署名に対応する前記シードを含み、当該シードが読み出し可能に構成されているデータストア構造をメモリ上に有し、暗号通貨署名手段を有している。
当該遠隔署名装置は、操作員によって指示されると、前記コールドウォレットサーバ装置から出力される署名リクエストを含む前記署名リクエスト可搬データを前記データ伝搬手段によって読み込み、当該署名リクエスト可搬データに含まれている未署名トランザクション内の共通キーのうち前記コールドウォレットサーバ装置において当該遠隔署名装置で署名すべき署名に関連づけられている前記共通キーと組みとなる前記鍵シーケンス番号と、当該データストア構造から読み出される前記シードとによって、当該遠隔署名装置の署名に必要とされる秘密鍵を再生成する。
そして、当該秘密鍵を使用し前記暗号通貨署名手段によって、前記未署名トランザクションに署名し、当該署名が前記データ伝搬手段を介して署名を含む前記署名済み可搬データとして出力されるように構成されていることを特徴とするウォレットシステムを提供する。
これら構成によって、遠隔署名装置への未署名トランザクションの送信がより確かに半自動化可能となり、より確実に安全性が向上する。
さらに追加の態様では、前記署名サブシステムは、公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、オンラインで署名するためのホットウォレットサーバ装置をさらに備え、前記ホットウォレットサーバ装置のメモリ上に前記シードを記憶する。
前記署名サブシステム内の前記ホットウォレットサーバ装置に記憶されている共通キーと、前記トランザクション処理サブシステムで組成され、保持されている状態で、前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記鍵シーケンス番号と、前記署名サブシステム内のホットウォレットサーバ装置の前記シードとは、物理的に分散記憶され、前記未署名トランザクションが前記トランザクション処理サブシステムから前記署名サブシステム内の前記ホットウォレットサーバ装置に取り込まれることによって、当該未署名トランザクションが署名可能な状態に置かれることを特徴とするウォレットシステムが提供される。
さらに追加の態様では、オンラインで署名するためのホットウォレットサーバ装置でも未署名トランザクションには、前記拡張トランザクションインプットデータ項目は複数セット格納され、前記共通キーが各セット毎に格納されていることを特徴とするウォレットシステムが提供され、共通キーによって、払いアドレス毎共通キーによって異なる署名手段に割り当てることが可能とされる。
さらに追加の態様では、未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記共通キーと、前記署名サブシステムに記憶されている前記共通キーとは、当該ウォレットシステムに備えられたマッチング手段によってマッチングされ、前記共通キーが一致する当該未署名トランザクションが当該共通キーに対応する署名を提供するホットウォレットサーバ装置の署名手段に提供されることを特徴とするウォレットシステムが提供され、トランザクションに触れる人の数を減らせ、複数のホットウォレットサーバ装置を署名により確実に使用可能になり、安全性が向上する。
さらに追加の態様では、ホットウォレットサーバ装置は、トランザクション処理サブシステムとの間にサブシステム間通信手段を有し、秘密鍵の保管又は生成のため、前記共通キーを当該ホットウォレットサーバ装置で署名すべき署名に必要とされる前記シードを特定するための標識とし、当該共通キーと、当該ホットウォレットサーバ装置で署名すべき署名に対応する前記シードとを含み、当該シードが読み出し可能に構成されているデータストア構造をメモリ上に有し、暗号通貨署名手段を有することを特徴とするウォレットシステムが提供され、上記シードが共通キーで呼び出し可能に記憶され使用に便宜で、より安全性が向上する。
さらに追加の態様では、ホットウォレットサーバ装置は、署名待ち状態になると、当該ホットウォレットサーバ装置で署名すべき署名が関連づけられている前記共通キーを含む署名待ち通知を前記トランザクション処理サブシステムとのサブシステム間通信手段によって前記トランザクション処理サブシステムへ送信し、前記トランザクション処理サブシステムからの署名リクエストを待ち、未署名トランザクションを含む署名リクエストを前記サブシステム間通信手段によって前記トランザクション処理サブシステムから受信すると、未署名トランザクション内の共通キーのうち当該ホットウォレットサーバ装置で署名すべき署名が関連づけられている前記共通キーと組みとなる鍵シーケンス番号と、当該ホットウォレットサーバ装置の前記データストア構造から当該共通キーを読み出しキーとして読み出される前記シードとによって、当該ホットウォレットサーバ装置の署名に必要とされる秘密鍵を再生成し、当該秘密鍵を使用し前記暗号通貨署名手段によって、前記未署名トランザクションに署名し、署名を前記サブシステム間通信手段によって前記トランザクション処理サブシステムへ送信するように構成されてことを特徴とするウォレットシステムが提供され、オンライン署名の連携が自動化され、トランザクションに触れる人の数を減らし、より安全性が向上する
さらに追加の態様では、トランザクション処理サブシステムは、署名フロー制御をするためのトランザクションマネジャ装置と、未署名トランザクション組成のための中央制御サーバ装置とを含み、前記トランザクションマネジャ装置が中央制御サーバ装置との間で前記未署名トランザクションを受信するための前記サブシステム内通信手段を第1の通信手段として備える。
また、署名サブシステムとの間で署名待ち通知の受信、署名リクエストの送信及び署名の受信をするためのサブシステム間通信手段を第2の通信手段として備える。
また、前記未署名トランザクションの署名完了まで当該トランザクションを保持する署名ステータス管理手段を備える。
また、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換手段を備える。
また、前記暗号通貨トランザクションを出力するための外部接続通信手段を第3の通信手段とし、前記第3の通信手段を介して前記暗号通貨トランザクションを出力するための暗号通貨トランザクションのデータ出力手段を有することを特徴とするウォレットシステムが提供される。
この構成では、ホットウォレットサーバ装置及びコールドウォレットサーバ装置が同等に自動的に制御可能となり、トランザクションに触れる人の数を減らし、より安全性が向上する。
さらに追加の態様では、トランザクションマネジャ装置は、前記第1の通信手段を介して前記中央制御サーバ装置から前記未署名トランザクションを受信すると、当該未署名トランザクションを当該トランザクションマネジャ装置内の未署名トランザクションプールに蓄積する。
一方で、前記第第2の通信手段を介して署名サブシステムから署名待ち通知を受信すると、
当該トランザクションマネジャ装置内に保持されている前記未署名トランザクションプールの中から、前記署名待ち通知に含まれる前記共通キーと、前記未署名トランザクション内に保持されている前記共通キーとをマッチングし、両者が一致する未署名トランザクションを選択し、
当該未署名トランザクションを前記署名リクエストとともに前記署名サブシステムへ前記第2の通信手段を介して送信する。
その応答として、前記署名サブシステムから前記署名リクエストに対応する署名を前記第2の通信手段を介して受信し、前記未署名トランザクションの署名完了に要する署名数と署名完了数をチェックし、所定の署名承認条件が満たされたとき、前記未署名トランザクションの署名完了とし、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するための前記データ変換手段によって、前記第3の通信手段を介して外部へ前記暗号通貨トランザクションを出力するように構成されていることを特徴とするウォレットシステムが提供され、未署名トランザクションの署名完了に要する署名数と署名完了数をチェックもシステムによって管理可能とし、より安全性が向上する。
さらに、追加の態様で、第1の通信手段は、サーバ認証機能を備えるとよい。トランザクションマネジャ装置とネットワークの入り口側にあるウォレット中央制御サーバ装置との間の通信手段であるサブシステム内通信手段としての第1の通信手段は、サーバ認証機能を備え、より安全なウォレットシステムが提供される。
さらに、追加の態様で、前記署名サブシステムは、操作員の指示によって遠隔地で暗号通貨署名するための暗号手段を有する遠隔署名装置と、当該遠隔署名装置へ署名リクエスト可搬データを生成、伝搬可能とするコールドウォレットサーバ装置とを含み、前記トランザクションマネジャ装置には当該コールドウォレットサーバ装置が1又は複数接続されるとよい。この構成では、より冗長な構成、余裕のある能力が提供可能となり、コールドウォレット処理のスケーラビリティ、アベイラビリティが向上する。
さらに、追加の態様で、コールドウォレットサーバ装置は、操作パネル装置が接続され、署名リクエストのための可搬データ出力を促すプロンプトを表示可能であり、操作パネル装置へのオペレーターの操作によって署名リクエスト可搬データが出力可能であるとよい。コールドウォレットサーバ装置に可搬データ出力装置が接続され、より容易にオフラインにある遠隔署名装置に署名に必要なデータをより早く、より正確にデータ伝搬でき、その意味で、より安全なウォレットシステムが提供される。
さらに、追加の態様で、インターネットからオフラインの遠隔署名装置は可搬データ読み込み装置が接続され、操作パネル装置が接続され前記署名リクエスト可搬データの読み込みを促すプロンプトが表示可能であり、オペレーターの操作によって前記署名リクエスト可搬データを読み込み可能であるとよい。この構成で、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレットシステムが提供される。
さらに、追加の態様で、インターネットからオフラインの遠隔署名装置は可搬データ出力装置が接続され、前記操作パネル装置には署名済み可搬データ出力プロンプトを表示可能であり、オペレーターが暗号通貨署名手段によって前記秘密鍵を用いる署名に伴い署名済み可搬データを出力可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレットシステムが提供される。
さらに、追加の態様で、コールドウォレットサーバ装置の前記操作パネル装置には署名済みの可搬データ読み込みプロンプトが表示可能であり、オペレーターの操作によって署名済み可搬データを読み込み可能であり、当該署名済み可搬データ読み込みに伴い、第2の通信手段を介して当該コールドウォレットサーバ装置から前記トランザクションマネジャ装置へ署名を送信可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働き、さらに、より安全、確実、正確にオフライン署名を遂行でき、より安全なウォレットシステムが提供される。
さらに、追加の態様で、署名リクエスト可搬データ及び署名済み可搬データは、QRコード(登録商標)印刷紙であるとよい。この構成では、より簡便にデータの伝達が可能となる。
さらに、追加の態様で、前記署名サブシステムは、オンラインで署名するための暗号手段を有するホットウォレットサーバ装置を含み、トランザクションマネジャ装置にはホットウォレットサーバ装置が1又は複数接続されるとよい。処理をホットウォレットサーバ装置間で分担すれば、ホットウォレットサーバ装置の多重化によって、処理能力が増し、スケーラビリティが得られ、あるいは、複数のホットウォレットサーバ装置で同じ秘密鍵に対応する署名を保持すれば、1つに故障があっても他のホットウォレットサーバ装置で処理を続行可能であり、アベイラビリティが提供される。
さらに、追加の態様で未署名トランザクションは、複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応するシードは、複数の前記ホットウォレットサーバ装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のホットウォレットサーバ装置に侵入する必要が生じ、より安全なウォレットシステムが提供される。
さらに、追加の態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応するシードは、複数のインターネットからオフラインの遠隔署名装置に分散して格納されたものであるとよい。この構成では、コールドウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のコールドウォレットサーバ装置に侵入する必要が生じ、より安全なウォレットシステムが提供される。
さらに、追加の態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応するシードは、1又は複数の前記ホットウォレットサーバ装置かつ1又は複数のインターネットからオフラインの前記遠隔署名装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバとコールドウォレットサーバ上に跨ってマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためにはホットウォレットサーバ装置及びコールドウォレットサーバ装置に跨って侵入する必要が生じ、より安全なウォレットシステムが提供される。
さらに、追加の態様で、暗号通貨トランザクションをもとに暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段を前記トランザクションマネジャ装置がさらに備えるとよい。この構成では、暗号通貨トランザクションの署名完成から連続して、暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成するため、人の介在する余地がなく、内部者の犯罪行為を排除でき、より安全なウォレットシステムが提供される。
さらに、追加の態様で、第3の通信手段を介して受入れられた前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置をさらに含むとよい。この構成では、トランザクションマネジャ装置とインターネットとの間にブロードキャスト依頼サーバ装置を介在させ、かつ、この間の通信は、第2の通信とは別のルートが用意され、遠隔署名装置の隔離がより確実となり、より安全なウォレットシステムが提供される。
さらに、追加の態様で、暗号通貨ネットワークとインターネット接続され、前記暗号通貨ネットワーク上へブロードキャスト可能である1又は複数のノード装置と、前記ノード装置に接続されており、前記トランザクションマネジャ装置の第3の通信手段を介して受信された前記暗号通貨トランザクションを前記ノード装置を介して暗号通貨ネットワークへブロードキャストするための手段を有するノードマネジャー装置とをさらに含むとよい。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得るが、この構成では、自家用ノードを配し、このような悪意を排除可能である、より安全なウォレットシステムが提供される。
さらに、追加の態様で、ノードマネジャー装置は、前記複数のノード装置からブロックチェーン又はブロックチェーンに記録されるべき未検証トランザクションを受信し、受信された前記ブロックチェーン同士の対比及び前記未検証トランザクション同士の対比又はこれらのいずれかの対比によって、前記複数のノード装置の対比データのうち過半数において前記対比が一致するか否かを検査する手段を含むノードマネジャー装置であるとよい。この構成では、ノード装置に悪意が入る場合の影響をより排除可能である。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得る。ノードのなりすまし等の悪意に対して有効であり、より安全なウォレットシステムが提供される
さらに、追加の態様で、ホットウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。あるいは、追加の態様で、コールドウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。これらの構成では、遠隔地のどのサーバに侵入すればよいのかが外部からも内部からも不案内であり得て、より安全なウォレット装置が提供される。マルチシグネチャを遠隔地に設けるコールドウォレットサーバ装置に跨がらせれば、ネットワークを跨ぐより組織的な内部犯罪グループを必要とし、内部統制上もより安全なウォレット装置が提供される。加えて、同じ鍵を遠隔におけば災害にも強く、アベイラビリティも向上され、この点でもより安全なウォレットシステムが提供される。
さらに、追加の態様で、未署名トランザクションが所定の要件をみたす時、署名リクエストに署名すべきユーザーへ署名を促すプロンプトを表示し、署名入力を可能とする操作パネル装置を備え、前記操作パネル装置は操作パネルサーバ装置を介して前記ホットウォレットサーバ装置に接続されているとよい。この構成では、ホットウォレットサーバの場合でも、例えば、所定の場合に、インターベンション可能であり、より安全なウォレットシステムが提供される。
さらに、追加の態様で、前段落のプロンプトは、前記未署名トランザクショ
ンに含まれる支払い承認総額が所定の閾値を超えるときに表示されるとよい。すべてのトランザクションでプロンプトを介在させると少額の取引に紛れてしまうが、この構成では、高額取引にフォーカス可能であって、より安全なウォレットシステムが提供される。
さらに、追加の態様で、前記複数のホットウォレットサーバ装置は、前記署名サブシステム内前記メモリ上の秘密鍵の保管又は生成するためのデータストア構造のデータエレメントのうち少なくとも一部を入力するためのマスター入力手段を備えるウォレットシステムが提供される。
さらに、追加の態様で、前記複数のホットウォレットサーバ装置は、前記署名サブシステム内の前記メモリ上の秘密鍵の保管又は生成するためのデータストア構造のデータエレメントのうち、少なくとも一部の秘密鍵の保管又は生成に用いるデータを一群のホットウォレットサーバ装置に外部から入力し保管可能であるウォレットシステムが提供される。
さらに、追加の態様で、トランザクションマネジャ装置は、未署名トランザクションが求める署名のうち少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能であるウォレットシステムが提供される。上記3つの構成態様は、秘密鍵マスターデータを外部化、可搬とされることで運用の自由度を増し、どこにどの秘密鍵の情報があるのかが、外部にも内部にも不明とされ得て、ホットウォレットサーバ装置の使用態様の柔軟性は、より安全なウォレット装置の提供を可能とする。また、災害時の柔軟な再構成も可能となり、アベイラビリティの向上を通じ、より安全なウォレットシステムが提供される。
さらに、追加の態様で、少なくとも一部の秘密鍵のための情報を一群のホットウォレットサーバ装置に外部から入力し保管可能であり、前記トランザクションマネジャ装置は、前記未署名トランザクションが求める秘密鍵のうち前記少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能であるとよい。この構成は、秘密鍵マスターデータを外部化、可搬とされることで運用の自由度を増し、どこにどの秘密鍵の情報があるのかが、外部にも内部にも不明とされ得て、ホットウォレットサーバ装置の使用態様の柔軟性は、より安全なウォレット装置の提供を可能とする。また、災害時の柔軟な再構成も可能となり、アベイラビリティの向上を通じ、より安全なウォレットシステム提供される。
さらに、追加の態様で、トランザクションマネジャ装置は、前記共通キー及び当該共通キーに対応する1又は複数の公開鍵生成に用いられたシードを1つのグループとして、1又は複数の当該グループをマスターデータとして保持するとよい。決定性ウォレット、複数のシードがひとつの纏まりのあるグループが形成される。このようなグループは包括管理するのが適当であり、重要性の高いグループの重点管理も可能であり、マルチシグネチャの使用にもより好適であり、より安全なウォレットシステムが提供される。
さらに、追加の態様で、トランザクションマネジャ装置及び中央制御サーバ装置、並びに、前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置は、仮想サーバ上に設けられているとよい。あるいは、追加の態様で、ホットウォレットサーバ装置の一部が1又は複数のクラウドコンピューテングサービス上の仮想サーバ上に設けられているとよい。仮想サーバ構成では、個別のハードウェアをもつよりも安価で構成でき、より安全なウォレット装置が経済的に提供される。クラウドコンピューテングサービスの介在によって、ホットウォレットサーバ装置の一部が外部組織の管理にあって、内部犯罪者は単独で、すべての秘密鍵の入手が困難になり、より安全なウォレット装置が提供される。また、クラウドコンピューテングサービスの提供する高度で多様なネットワーク認証の介在によって、より安全なウォレットシステムが提供される。
さらに、追加の態様で、暗号通貨は決定性ウォレットを採用し得る仮想通貨であり、あるいは、暗号通貨はビットコインであるとよい。ビットコインは情報が開示されており、より安全性への要求が高く、当業者によれば高い安全性を提供し得る本発明により好適である。
あるいは、追加の態様で、前記暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含む決定性ウォレットを採用し得るメタコイン又は決定性ウォレットを採用し得るオルトコインであるウォレットシステムが提供される。いずれもブロックチェーンテクノロジの上で動作することが前提であり、当業者であれば、ビットコインと同様の効果を発揮でき、これらのより安全なウォレットシステムが提供される。
さらに、追加の態様で、前記トランザクション処理サブシステムにおいて、ユーザからの処理リクエストデータは、リクエスターのサーバプログラムとのアプリケーションプログラムインターフェース(以下、APIという)で定められる、以下の、データ項目
1)1又は複数の支払元を特定するための共通キー
2)1又は複数の宛先アドレス
3)支払い金額
4)前記トランザクションの暗号通貨ネットワーク処理の手数料の負担先を前記出金口座負担又は共通キーで定められるアドレス又は宛先アドレスのいずれの負担とするかを定める手数料負担先コード
を含むウォレットシステムが提供される。この構成は、ユーザによって個性のあるリクエストデータをウォレット装置内で使用されるAPIデータ構造APIへ変換させ、内部処理に適合する形式へ変換し、ウォレット装置内の各部のユーザ毎のカスタマイズによる変動を最小限に抑える効果を与え、各導入先での問題トラブルの共通化を図ることができ、対応策の共有によって、より安全なウォレットシステムが提供される。
さらに、追加の態様で、トランザクション処理サブシステム内にアドレスを記憶するアドレスマスタを備え、そのデータストア構造には、以下の1)から3)のデータ項目
1)アドレスに対応する共通キー
2)鍵シーケンス番号
3)暗号通貨アドレス
を含むウォレットシステムが提供されてもよい。
さらに、追加の態様では、未署名トランザクションの保持のためのデータストア構造には、
トランザクションインプットデータ項目として、以下のビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数の標準トランザクションインプットデータ項目として、未使用トランザクションアウトプット(Unspent Transaction Output、UTXO)を特定し、直前のトランザクションを特定するためのビットコインアーキテクチャで定められているデータ構造である、
1) Prevハッシュと、
2) Prevアウトプットインデックスと、
に加えて、以下の3)からの4)をひと組とする1又は複数の標準トランザクションアウトプット項目としての、
3) 宛先アドレスと、
4) 金額と、
を含み、さらに、前記トランザクションインプット毎に、以下の拡張トランザクションインプット構成項目として、
5)前記共通キーと、
6)決定性ウォレットの生成に使用された鍵シーケンス番号と、これに加えて、
7)署名を格納するための署名欄とを、
加えて、追加の拡張トランザクション項目として
8)署名待ち又は署名済み又は送付済みの識別子を格納するためのトランザクションステータスコードをさらに含むウォレットシステムが提供される。
前記署名サブシステム内の前記メモリ上の秘密鍵の保管又は生成のためのデータストア構造には、以下の1)から2)のデータ項目
1)決定性ウォレットの生成に使用されたシードと、
2)決定性ウォレットの生成に使用された鍵シーケンス番号と、
を含むウォレットシステムが提供される。
以上に示されるように、本発明に係るウォレット装置は、内部犯罪に対しても、外部からのネットワーク侵入に対しても、より安全なウォレット装置を提供し、スケーラビリティがあるシステム装置が提供され、アベイラビリティも向上され、その点からもより安全なウォレット装置が提供される。
図1は、本発明の一実施形態に係るウォレット装置1を示す概要構成概念図である。
図2は、本発明に係る一実施形態に係るウォレット装置1の機能構成を概ね示す全体機能ブロック構成図である。
図3は、本発明に係る一実施形態に係るウォレット装置を構成するソフトウェアのAPIモジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねた模式図である。
図4は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのウォレット中央制御モジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図5は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのトランザクションマネジャモジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図6は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのホットウォレットサーバモジュール、操作パネル表示モジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図7は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのコールドウォレットサーバモジュール、遠隔操作モジュール及び遠隔署名モジュルの機能ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図8は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのノードマネジャモジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図9は、他の実施形態である本発明に係るウォレット装置2を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図10は、他の代替実施形態である本発明に係るウォレット装置3を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図11は、他の代替実施形態である本発明に係るウォレット装置4を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図12は、本発明の一実施形態に係るウォレット装置1を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図13は、本発明のいくつかの実施形態に係るウォレット装置の構成要素であるホットウォレット装置、コールドウォレット装置の複数配置する構成を示す、アーキテクチャ概要構成概念図である。
図14は、本発明のいくつかの実施形態に係るウォレット装置で用いる署名方法のフローチャート図である。
図15は、従来技術として示す、仮想通貨の代表的ビットコインのビットコインネットワークを示すアーキテクチャ概念図である。
本発明に係るウォレット装置1の一実施態様は以下である。図1に示されるように、ウォレット装置1は、外部からの取引リクエストデータを受け入れる中央制御サーバ装置100、トランザクションマネジャ装置200、ホットウォレットサーバ装置300、コールドウォレットサーバ装置400、遠隔署名装置450を含み、トランザクションマネジャ装置200は、インターネット上のビットコインネットワークへ適合するデータを作成し、出力する手段を有するウォレット装置である。
より詳細には、本発明に係るウォレット装置1の実施態様を以下である。図2に示されるように、ウォレット装置1は、外部からの取引リクエストデータを受け入れる中央制御サーバ装置100、トランザクションマネジャ装置200、ホットウォレットサーバ装置300、コールドウォレットサーバ装置400、遠隔署名装置450に加え、ビットコインネットワークの構成メンバーである複数のノード装置600及びこれとトランザクションマネジャ装置200との中間にあって、ノード装置600を介してインターネット上のビットコインネットワークへブロードキャストするノードマネジャ装置500を含む。
図2に示されるように、ウォレット装置1の中央制御サーバ装置100は、ユーザリクエストを受け取り、トランザクションの原型を生成し、未署名のトランザクションとしてこれをトランザクションマネジャ装置200へ送信する装置である。トランザクションマネジャ装置200は、未署名のトランザクションを受取るための通信手段を有し、ホットウォレットサーバ装置300あるいはコールドウォレットサーバ装置400へ署名リクエストを送信可能であり、署名を受領後、トランザクションに必要とされる署名条件を満たすか否かを検査する手段を有し、拡張トランザクションをデータ変換し、ビットコイントランザクションを生成し、ノードマネジャ装置500へこれを送信可能である装置である。
ホットウォレットサーバ装置300は、オンライン上装置内で署名する手段を備え、オンラインで直ちにトランザクションマネジャ装置200へ署名を返信する手段を有する装置である。オプションとして操作パネル装置339を備え、操作表示サーバ装置330を介して操作パネル装置339へ署名承認を促すプロンプトを表示可能であり、承認者によって署名指示入力可能である。
コールドウォレットサーバ装置400は、遠隔にある遠隔署名装置450へ向けて署名リクエストを媒体出力するデータ伝搬手段を有し、これには、例えば印刷機で印刷する手段を含み、一方で、遠隔にある遠隔署名装置450から署名が記入された別の媒体を受取るデータ伝搬手段を有し、これは例えばスキャナーで読取る手段であるスキャナー装置を含み、トランザクションマネジャ装置200へ署名を転送する通信手段を有する装置である。コールドウォレットサーバ装置400は、操作オペレータとのコミュニケーションのための操作パネル装置339を備え、オプションとして操作表示サーバ装置330を介し、操作パネル装置339へデータ伝搬媒体処理を促すプロンプトを表示可能であり、操作者によってデータ伝搬入出力可能である。
遠隔署名装置450は、コールドウォレットサーバ装置400の遠隔にあって、媒体から署名リクエストを受取るためのデータ伝搬手段を有し、装置内部に署名手段を含み、コールドウォレットサーバ装置400へ向けて署名を媒体出力するデータ伝搬手段も含む。遠隔署名装置450は操作パネル装置339を備え、操作パネル装置339へデータ伝搬媒体処理を促すプロンプトを表示可能であり、操作者によってデータ伝搬入出力可能であり、署名可能である。以下、各装置の詳細を説明する。
中央制御サーバ装置100は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第1通信部101、アプリケーションプログラムインターフェース(以下でAPIという)部110、中央制御部120、を含み、これらの一部分はソフトウェアの部分でもよい。
中央制御サーバ装置100は、ユーザからトランザクション処理リクエストをゲートウェイ通信手段によって受け取り、API部110によってユーザ形式のリクエストデータをウォレット装置1内で処理するためのデータ形式、すなわち、以下の、データ項目、
1)1又は複数の支払元を特定するための共通キー
2)1又は複数の宛先アドレス
3)支払い金額
を含むデータへ変換し、メモリ上のAPIデータ構造APIに保持する。共通キーは、ウォレット装置1内でアドレスを同定し、アドレスに紐付けられている署名方式を特定するためのキーである。図2に示す一実施形態のAPIデータ構造例では、1つの支払元を特定するための共通キーが一つ図示されている。アドレスは、ビットコインネットワークのアドレスであって、秘密鍵から公開鍵を介し生成された、ビットコインネットワーク上に公開される表示通貨額の所有者を特定する英数文字列である。一方、宛先アドレスは、ビットコインネットワーク上の支払先を特定するアドレスである。
オプションとして、データ項目に以下の、
4)手数料負担先パターンコード
をAPIデータ構造APIに含んでもよい。これは、ビットコイントランザクションのビットコインネットワーク上のマイナーへのマイニング処理の手数料の負担先を、支払元か支払先かいずれかの負担とするかをトランザクション単位に動的に定め得る情報としてリクエストに含まれる場合に、支払元のアドレス又は宛先アドレスのいずれの負担とするかを定めるデータ項目である。このコードを含めることによって、手数料によって支払額を変動させる場合に、人を介在させる必要がなくなるという利点が得られる。加えて、API部110は、ユーザによって個性のあるリクエストデータをウォレット装置1内で使用されるAPIデータ構造APIへ変換させ、内部処理に適合する形式へ変換し、ウォレット装置1内の各部のユーザ毎のカスタマイズによる変動を最小限に抑える効果を与えている。図2に示す一実施形態では、API部はウォレット中央制御装置に組み込まれている。代替として、API部は、アプリケーションゲートウェイ機能を提供するが、ネットワークゲートウェイサーバに組み込まれてもよい。
API部110での処理を終えると、メモリ上のAPIデータ構造APIに保管されたAPIデータ構造APIからリクエスト毎にリクエストデータのコピーが中央制御部120へ伝送される。
中央制御部120は、API部110から通信部を介して、又はアプリケーション間通信を介して受領したAPIデータに基づき、ビットコイントランザクションに拡張データが付加されたウォレット装置1内部形式のトランザクション(以下で拡張トランザクションeTXという)を生成する。
拡張トランザクション生成は、API構造APIに含まれている共通キーと、共通キーによって構造化されたデータストア構造をとり、アドレスに関するデータを保持するための第1のデータストア構造D1を格納したアドレスマスターM1参照によって構成可能とされている。すなわち、ウォレット装置1内では、内部形式としてアドレスは共通キーという別のデータに置き換え可能であり、アドレス情報の露出機会を抑え、安全性の向上を得る利点を提供している。
中央制御サーバ装置100では、少なくとも第1のデータストア構造D1を保持するアドレスマスタを参照し、アドレスを特定する。メモリ上に保持される第1のデータストア構造は、以下の構成を含む。すなわち、
1)アドレスに対応する共通キー
2)鍵シーケンス番号
3)アドレス
である。ここで、本発明に係るウォレット装置1では、秘密鍵は、決定性ウォレット方式によって生成された秘密鍵を使用する。決定性ウォレット方式で秘密鍵が生成されていれば、秘密鍵を保管せずとも、決定性ウォレットの生成に使用されたシード及び鍵シーケンス番号を使用すれば、秘密鍵の再生成が可能であるという利点がある。
第1のデータストア構造に秘密鍵の再生成に必要な情報が全て含まれず、シード情報は他のデータストア構造に分散配置されていることによって、侵入者による意に反する秘密鍵の再生成のリスクを低減し、安全性をより向上している。
第1のデータストア構造の構成に含まれる共通キーは、ウォレット装置1内で同一のアドレスに関連するデータであることを示す意味での共通キーであり、共通キーによって、ウォレット装置1を実現する各部を複数の部分に分散配置可能とされている。分散配置は、以降の実施形態で示されるように、様々な手段によって実現可能であり、ソフトウェアのモジュール構成によって実現されたり、さらに、ソフトウェアのモジュール構成は別のサーバ装置に分散配置されたり、の類である。
拡張トランザクションは、以下の構成を含む。すなわち、これから署名を受ける未署名トランザクションとして、これを保持するための第2のデータストア構造が定められ、ビットコイントランザクションを構成するトランザクションインプットデータ項目、トランザクションアウトプットデータ項目に加え、拡張データ構造が定められている。
トランザクションインプットデータ項目として、ビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数のビットコイントランザクションの標準的トランザクションインプットデータ項目、
1) 支払元アドレスと、
2) Prevハッシュと、
3) Prevアウトプットインデックスと、
また、以下の4)からの5)をひと組とする1又は複数のビットコインの標準的なトランザクションアウトプット項目として、
4) 宛先アドレスと、
5) 金額と、
を含む。これらのデータのうち1)、4)、5)は、APIデータ構造APIからデータが提供され、2)、3)は1)から生成可能なデータである。さらに、標準的なトランザクションインプット毎に、以下の拡張トランザクションインプット構成項目である、
6)前記第2のデータストア構造に対応する秘密鍵を特定するための共通キーと、
7)決定性ウォレットの生成に使用された鍵シーケンス番号、
の二つの項目が定義されている。6)、7)は、例えば、アドレスマスタM1に格納されている第1のデータストア構造D1からデータ提供される。また、加えて、
8)署名を格納するための1又は複数の署名欄を、
トランザクションインプット毎に定めている。署名欄の数は、署名の最大数を定めておけばよい。
加えて、トランザクション単位に一つ、追加の拡張トランザクションeTXの拡張項目として
9)トランザクションステータスの識別子を格納するためのトランザクションステータスコードをさらに含む。トランザクションステータスは、署名待ち又は署名済み又は送付済みの少なくとも3つを含むべきである。
拡張トランザクションeTXの拡張項目が含まれることによって、トランザクション生成と署名処理の分離を可能とし、分散化によって安全性を向上している。加えて、マルチシグネチャの場合でも複数の署名を一括記録する格納場所をトランザクションに追加定義することによって署名がトランザクションに集約され、各署名が分散処理されるマルチシグネチャ管理でも人の介在を不要とする効果を与える。
トランザクションインプットの生成にあたり、支払額に応じ、未使用トランザクションアウトプット(Unspent Transaction Output、以下では単にUTXOと呼称する)のうち、使用可能なUTXOがUTXOプールから選択されるのは、公知のウォレット装置の仕組みと同様であり、そのような手段は当然に本ウォレット装置1も提供している。図2には、UTXOプールのみ図示されている。
拡張トランザクションeTXが生成されると、直ちに第1通信部からトランザクションマネジャ装置200へ送信可能となる。中央制御サーバ装置100とトランザクションマネジャ装置200との間のサーバ装置間通信認証には、公知のメッセージ認証方式例えば、HASH―BASED MASSAGE AUTHENTICATIOPN MESSAGE,HMAC方式を用いるメッセージ認証方式によって、予め定められているニーモニックを秘密鍵とする暗号化通信を可能とする第1通信部によってなされてよいが、これに限らず、この類の公知のサーバ間通信認証が用いられてよい。サーバ間認証の実装によって、より確実に安全性が向上される利点を得られる。特に、たとえ中央制御サーバ装置100がインターネットへの接続パスを有しても、署名装置に署名リクエストするトランザクションマネジャ装置200は直接のインターネット接続パスを有さず、本サーバ間認証を介する接続は実質上外部からの侵入を防止可能な安全性を提供する効果を与える。
トランザクションマネジャ装置200は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第1通信部、第2通信部、第3通信部、トランザクションマネジャ部210、データ変換部240とデータ出力部241を含み、これらの一部分はソフトウェアの部分でもよい。
トランザクションマネジャ装置200は、第1通信部を介して拡張トランザクションを受信可能である。ウォレット中央制御サーバ装置からサーバ装置間通信認証を介して1又は複数の未署名の拡張トランザクションインプットのセット及び拡張トランザクションアウトプットのセットを含む未署名トランザクションは、拡張トランザクションデータ構造を有し、受信されたデータは、トランザクションマネジャ部へ転送可能であり、直ちにも第2のデータストア構造を含む拡張トランザクションプールへ保持可能である。トランザクションに必要とされる署名に必要とされる共通キーも拡張トランザクションインプットにセットで受信され、拡張トランザクションプールへ保持可能である。
署名方式がマルチシグネチャーの場合には、署名完成には、一つの共通キーの下に複数のシードがサブセットとして必要とされるが、この情報は、共通キーマスタに保持されている第4のデータストア構造D4に含まれている。トランザクションマネジャ部は、共通キーマスタを読み取り可能であり、読み取り後にメモリ上の第4のデータストア構造D4へ格納可能である。署名方式がマルチシグネチャーの場合、署名数がトランザクションマネジャ装置200で判明しており、拡張トランザクションの署名欄の所定の使用予定数を決定可能である。拡張トランザクションの署名ステータスは、トランザクションマネジャ部210によって更新可能である。
トランザクションマネジャ装置200は、第2通信部によってオンライン署名装置としてのホットウォレットサーバ装置300と通信可能である。トランザクションマネジャ部210は、署名待ち通知のポーリングを第2通信部を介して受入可能である。トランザクションマネジャ部210は、ホットウォレットサーバ装置300から署名待ち通知のポーリングと同時に、又はこれに遅れて、未署名トランザクション選択のための共通キーを受信可能である。トランザクションマネジャ部210は、拡張トランザクションプールから拡張トランザクションをメモリ上の第2のデータストア構造D2へ読み取り可能であり、第2のデータストア構造D2の共通キー項目とポーリングに含まれる共通キーとをマッチング可能である。そして、トランザクションマネジャ部210は、拡張トランザクションのうち未署名トランザクションの拡張トランザクションインプットに含まれる共通キーと、署名待ち通知のポーリングで指定された共通キーとが一致する未署名リクエストを選択可能であり、メモリ上の第2のデータストア構造D2の拡張トランザクションステータスをUNSIGNEDのステータスへ変更し、未署名リクエストを第2通信部を介してホットウォレットサーバ装置300へ送信可能である。ここで、トランザクションマネジャ部210は、メモリ上の第2のデータストア構造D2の拡張トランザクションステータスのUNSIGNEDのステータスへ変更と同期して、拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスをUNSIGNEDのステータスへ変更可能である。
トランザクションマネジャ装置200は、第2通信部によってオフライン遠隔署名装置を人の操作介在によって制御可能であるコールドウォレットサーバ装置400と通信可能である。トランザクションマネジャ装置200のトランザクションマネジャ部は、署名待ち通知のポーリングを第2通信部を介して受入可能である。トランザクションマネジャ部210は、コールドウォレットサーバ装置400から署名待ち通知のポーリングと同時に、又はこれに遅れて、未署名トランザクション選択のための共通キーを受信可能である。トランザクションマネジャ部210は、拡張トランザクションプールから拡張トランザクションをメモリ上の第2のデータストア構造D2へ読み取り可能であり、第2のデータストア構造D2の共通キー項目とポーリングに含まれる共通キーとをマッチング可能である。そして、トランザクションマネジャ部は、拡張トランザクションのうち未署名トランザクションの拡張トランザクションインプットに含まれる共通キーと、署名待ち通知のポーリングで指定された共通キーとが一致する未署名リクエストを選択可能であり、トランザクションマネジャ部210は、メモリ上の第2のデータストア構造D2の拡張トランザクションステータスをUNSIGNEDのステータスへ変更し、未署名リクエストを第2通信部を介してコールドウォレットサーバ装置400へ送信可能である。ここで、トランザクションマネジャ部は、メモリ上の第2のデータストア構造D2の拡張トランザクションステータスのUNSIGNEDのステータスへ変更と同期して、拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスをUNSIGNEDのステータスへ変更可能である。以上のように、トランザクションマネジャ部210は、ホットウォレットサーバ装置300とコールドウォレットサーバ装置400とを区別なく扱うことが可能であり、署名処理装置構成の自由な配置を可能とする構成柔軟性を与えている。ホットウォレットサーバ装置300とコールドウォレットサーバ装置400の差異部分は、ホットウォレットサーバ装置300及びコールドウォレットサーバ装置400での差異機能として構成されているからである。これによって、トランザクションマネジャ部210の署名フロー制御機能は簡素化され、トランザクションマネジャ部210の処理能力向上に寄与し、より短時間でのポーリング応答も可能とされる。
トランザクションマネジャ部210は、署名を受信後に拡張トランザクションインプット項目の署名欄の署名の存在をチェック可能であり、所定の署名完成条件が満たされているか否かを判定可能である。さらに、トランザクションに含まれる拡張トランザクションインプット項目のすべての署名完成条件が満たされているとき、拡張トランザクション項目である署名ステータスを全ての署名に対して署名済とされるSIGNEDステータスへ更新可能であり、拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスもSIGNEDのステータスへ変更可能である。
データ変換部240は、SIGNEDステータスの拡張トランザクションeTXを標準的なビットコイントランザクションTXへデータ変換可能である。
データ出力部241は、ビットコイントランザクションTXデータをトランザクションブロードキャストリクエストとして、第3通信部によって、サーバ間通信認証を介してノードマネジャ装置500へ送信可能である。サーバ間通信認証は、第1通信部と同様、公知のメッセージ認証方式例えば、HASH―BASED MASSAGE AUTHENTICATIOPN MESSAGE,HMAC方式を用いるメッセージ認証方式によって、予め定められているニーモニックを秘密鍵とする暗号化通信を可能とする第3通信部によってなされてよいが、これに限らず、この類の公知のサーバ間通信認証が用いられてよい。
署名完了後のデータ変換部240の処理、データ出力部241の処理フローの制御は、トランザクションマネジャ部210によって制御可能とされてもよく、トランザクションマネジャ部210は、データ出力部241の処理後に拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスをSENTのステータスへ変更可能である。オプションとして、データ変換部240及びデータ出力部241は、図3に示されているように、トランザクションマネジャ部内部に取り込まれてよい。
ホットウォレットサーバ装置300は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第2通信部、ホットウォレットサーバ部を含み、これらの一部分はソフトウェアの部分でもよい。
ホットウォレットサーバ装置300は、オンライン署名装置として、トランザクションマネジャ装置200へ第2通信部を介して署名リクエストを受け入れ可能であることを通知可能であり、ポーリング通信可能である。
トランザクションマネジャ装置200から、ポーリングに対する応答として、又はこれに遅れて、ホットウォレットサーバ装置300は、トランザクションマネジャ装置200から第2通信部を介して署名リクエストを受信可能である。署名リクエストには、未署名トランザクションを含み、ホットウォレットサーバ部は、その時点で自己に割り当てられている情報と未署名トランザクションに含まれている情報によって、決定性ウォレットの秘密鍵再生成方法に従い署名に必要な秘密鍵を再生成可能であってよい。あるいは、オプションとして、秘密鍵自体を秘密鍵マスタM3に含み、これを読み込み可能でもよい。自己に割り当てられている情報は、マスタから秘密鍵シードを読み込んでもよく、この情報と未署名トランザクションのトランザクションインプット項目の拡張部分の鍵シーケンス番号とから第3のデータストア構造D3をメモリ上に格納可能であり、これから秘密鍵を再生成可能であってもよい。
ホットウォレットサーバ部は、秘密鍵によって未署名トランザクションを元に署名可能である。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による。ホットウォレットサーバ部は、第2通信部を介して、署名をトランザクションマネジャ装置200へ送信可能である。
ホットウォレットサーバ部は、ホットウォレットサーバ装置300に接続された操作パネルサーバ装置と通信可能であり、操作パネルサーバ装置に接続された操作パネルに操作指示画面を表示可能であり、操作パネルから署名承認を入力可能である。例えば、トランザクションインプットに含まれる金額が所定の額よりも少額か否かの画面入力を促すために操作パネルサーバ装置を介して操作パネルへプロンプト表示可能であり、承認者によって署名承認入力可能である。オンラインで承認者によって署名承認入力されると、ホットウォレットサーバ部は直ちに署名を作成可能であり、直ちに署名をトランザクションマネジャ装置200へ第2通信部を介して送信可能である。操作パネルサーバ装置と操作パネルとの間は、SSL(Secure Sockets Layer)通信による認証手段が双方に備えられていてもよい。
コールドウォレットサーバ装置400は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第2通信部、コールドウォレットサーバ部、データ伝搬部を含み、これらの一部分はソフトウェアの部分でもよい。
コールドウォレットサーバ装置400は、オフライン遠隔署名装置として、トランザクションマネジャ装置200へ第2通信部を介して署名リクエストを受け入れ可能であることを通知可能であり、ポーリング通信可能である。
ポーリングの応答によって、又はこれに遅れて、コールドウォレットサーバ装置400は、トランザクションマネジャ装置200から第2通信部を介して署名リクエストを受信可能である。署名リクエストには、未署名トランザクションを含む。
コールドウォレットサーバ装置400は、IO接続された可搬データ出力装置、例えば、QRコード(登録商標)印刷出力装置に対して、データ伝搬部を介して印刷データを出力可能である。
コールドウォレットサーバ部は、コールドウォレットサーバ装置400に接続された操作パネルサーバ装置と通信可能であり、操作パネルサーバ装置に接続された操作パネルに、可搬データ出力としての印刷操作指示画面を表示可能であり、操作員によって操作パネルから署名指示レポート印刷指示を入力可能である。署名指示レポートには、QRコード(登録商標)が印刷されてもよい。操作パネルサーバ装置と操作パネルとの間は、SSLによる認証手段が双方に備えられていてもよい。
コールドウォレットサーバ装置400は、IO接続された可搬データ読み取り装置、例えば、QRコード(登録商標)印刷紙をスキャナ装置によってデジタルデータとし、IOインターフェースから、データ伝搬部を介し署名として取り込み可能である。入力されたデータは、署名データとして、コールドウォレットサーバ部は、第2通信部を介して、トランザクションマネジャ装置200へ送信可能である。
コールドウォレットサーバ装置400は、ホットウォレットサーバ装置300とは異なる遠隔に置かれてもよい。ここでいう遠隔とは、ホットウォレットサーバ装置300に対して遠隔地あるいはトランザクションマネジャ装置200に対して遠隔地であればよく、コールドウォレットサーバ装置400の特性として、人のコントロールする環境下でより安全である環境下にあることをいい、同じフロアの別区画でも、フロアを異にしても、別建屋にあってもよい。
コールドウォレットサーバ装置400は、ホットウォレットサーバ装置300とは異なる遠隔に置かれてもよい。署名者中心に設置できるという利点が得られる。
コールドウォレットサーバ装置400は、複数置かれ、うち一つは、遠距離に置かれてもよく、東京に対する大阪の類である。災害時のリカバリーが保全可能であるという利点がある。
遠隔署名装置450は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、遠隔署名部、データ伝搬部を含み、これらの一部分はソフトウェアの部分でもよい。
遠隔署名装置450は、コールドウォレットサーバ装置400から遠隔にあって、外部とはネットワーク接続されていない環境下に置かれ、コールドウォレットサーバ装置400から出力された署名指示を含む可搬データをデータ伝搬部を介し取り込み可能であればよい。
遠隔署名装置450は、遠隔署名装置450に接続された操作パネルとIO入出力可能であり、遠隔署名装置450に接続された操作パネルに、可搬データ入力としての読み込み操作指示画面を表示可能であり、操作員によって操作パネルから署名指示を入力可能である。遠隔署名装置450は、操作パネルからの署名指示によって、署名を生成可能である。遠隔署名装置450が取り込む可搬データには、未署名トランザクションを含み、遠隔署名装置450は、その時点の自己に割り当てられている情報と未署名トランザクションに含まれている情報によって、決定性ウォレットの秘密鍵再生成方法に従い署名に必要な秘密鍵を再生成可能であってよい。あるいは、オプションとして、秘密鍵自体を秘密鍵マスタに含み、これを読み込み可能でもよい。自己に割り当てられている情報は、マスタから秘密鍵シードを読み込んでもよく、この情報と署名リクエストに含まれる未署名トランザクションのトランザクションインプット項目の拡張部分の鍵シーケンス番号とから第3のデータストア構造D3をメモリ上に格納可能であり、これから秘密鍵を再生成可能であってもよい。上記、いずれかの手段によって、遠隔署名装置450は、秘密鍵によって未署名トランザクションに署名可能である。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による。上記、いずれかの手段によって、遠隔署名装置450は、秘密鍵によって未署名トランザクションに署名可能である。遠隔署名装置部450は、遠隔署名装置450に接続された操作パネルに、可搬データ出力としての印刷操作指示画面を表示可能であり、操作員によって操作パネルから署名印刷指示を入力可能である。入力された指示によって署名をIO接続された可搬データ出力装置、例えば、QRコード(登録商標)印刷出力装置に対して、データ伝搬部を介し印刷紙が出力可能であってよい。
次に、本実施形態に係るウォレット装置1の動作を各装置上のオペレーティングシステム上で図3から図8のフローチャートに示されるソフトウェアの動作とともに説明する。図14は、このうち本発明のいくつかの実施形態に係るウォレット装置で用いる署名方法のフローチャート図を示すが、この説明は対応する図4から図8のとおりである。
図2に示されている中央制御サーバ装置の各部は、CPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって動作可能である。
API部は、中央制御サーバ装置に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、API部110は、APIモジュール110である。APIモジュール110は、図3に示されるフローチャートに従って動作する。APIモジュールは、ユーザフォーマットのインターフェースデータを中央制御モジュール内で使用する内部データフォーマットへ変換するモジュールである。オプションとしてAPI部は、中央制御サーバ装置とユーザシステムとの間に設置されたゲートウェイサーバ装置に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、その場合には、API部はゲートウェイサーバ装置の一部である通信部を介して中央制御サーバ装置に通信接続可能である。
APIモジュールが開始されると、最初のリクエスト待ちステップ111に入り、例えば、仮想通貨取引事業者が管理する外部システムから取引に関するリクエストデータを受け取るためのリクエスト待ちステップ111となる。外部システムから取引に関するリクエストデータを、例えば、ネットワークを介して受信すると、リクエスト受信ステップ112でリクエストをリクエストプールに格納し、再びリクエスト待ちステップ111へ戻る。
APIモジュールは、リクエスト待ちステップ111に並行して、リクエストプールを参照し、レコードが存在すれば、これをAPIデータストア構造へ格納するAPIデータストアステップ113に入る。次に、直ちに、APIデータを中央制御モジュールへ転送するAPI処理転送ステップにおいて、ユーザ仕様のデータフォーマットからウォレット装置1内部形式のデータフォーマットへデータ変換された後に中央制御モジュールへ転送され、その次に、APIデータストアステップ113へ戻って以降、処理を繰り返す。
APIデータストア構造は、図3に示されているデータストア構造であり、5つの項目から構成される。支払口座に相当する共通キー、その支払口座に対応する出金金額を、共通キーと出金金額を組みとして、少なくとも1組、入金先アドレスとして宛先アドレス、その宛先アドレスに対応する入金金額を、宛先アドレスと入金金額とを組みとして、少なくとも1組、そして、APIデータストア構造のルート直下にあるトランザクションの手数料負担をいずれの当事者の負担とするを定める手数料負担先コードである。いずれも、リクエストデータに含まれている。
中央制御部120は、中央制御サーバ装置に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、中央制御部120は、中央制御モジュール120を含む。
中央制御モジュール120は、図4に示されるフローチャートに従って動作する。中央制御モジュール120は、署名処理に関しては、ユーザからのリクエストデータをウォレット装置1内の内部フォーマットでビットコイントランザクションを格納し、未署名トランザクションデータとしてトランザクションマネジャモジュールへ渡すモジュールである。
中央制御モジュール120は開始後、直ちに、APIデータ受け入れ待ちステップ122へ入る。APIモジュールからリクエストデータを、APIデータストア構造で、モジュール間通信、例えば、プロセス間通信手段を介して受け取ると、未署名トランザクション生成を開始する。次のアドレス参照ステップ122では、APIデータの共通キー項目を参照し、以後共通キーとして使用する。次のUTXO選択ステップ123では、共通キーに一致するUTXOがUTXOプール内で検索され、所定の検索順序のもとで支払額を超えるだけの1又は複数のUTXOが集められる。次に、インプットアウトプット仮決定ステップ124では、トランザクションインプットに使用されるUTXOとユーザからリクエストデータで指示された支払内容から、トランザクションアウトプットで作成されるUTXOが一応出揃い、必要なお釣りとしてのトランザクションアウトプットも生成される。次に、手数料決定ステップ125では、手数料負担先コードを参照し、支払先か支払元かによって、手数料のUTXOを追加作成する。次に、インプットアウトプット決定ステップ126では、トランザクションインプット項目、インプットアウトプット項目及び差額としてのマイニング手数料をチェックし、各項目を確定する。必要に応じ、UTXOを追加する。次に、拡張トランザクション送信ステップ127では、第2のデータストア構造を参照し、この項目にトランザクションインプット項目、トランザクションアウトプット項目を当てはめる。
第2のデータストア構造は、署名に関する拡張項目以外の項目はAPIデータストア構造に必要なUTXOから生成可能である生成される一般的なビットコイントランザクション項目と、本発明で付加された拡張項目とで構成される。前者は、公知技術と同一である。一方、拡張データ項目の要素である、共通キーは、検索の結果採用されたUTXOを特定するための情報であり、ウォレット装置1の内部表現情報である。鍵シーケンス番号は現時点で有効なこのUTXOの使用を承認するための署名に必要な秘密鍵に対応する公開鍵を生成するためのシーケンス番号である。第1のデータストア構造のデータを格納されたアドレスマスターを参照し、拡張データ構造が構成される。署名欄は、必要とされる署名数の最大数を総枠として確保しておいてよい。署名に必要とされる完全情報は、トランザクションマネジャモジュールで満たされ、この時点では完成せず、従って、外部からの侵入に対してより安全である。
第2のデータストア構造を元に拡張トランザクションeTxが構成されると、次に拡張トランザクション送信ステップ127へ制御が移り、拡張トランザクションが第1通信部を介して送信される。処理は、APIデータ受け入れ待ちステップ122へ戻され、以上の処理がループ処理される。
トランザクションマネジャ部は、トランザクションマネジャ装置200に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、トランザクションマネジャ部210は、トランザクションマネジャモジュール210を含む。
トランザクションマネジャモジュール210は、図5に示されるフローチャートに従って動作する。トランザクションマネジャモジュールは、大きく分類して、拡張トランザクションを第1通信モジュール201を介し受入れ、拡張トランザクションプールへ格納する第1の部分と、署名を実行するモジュールとの通信を含むフロー制御に関する第2の部分とで構成される。トランザクションマネジャモジュールが開始されると、第1の部分は、拡張トランザクション受入れ待ちステップ211に入り、拡張トランザクションを第1通信部を介して受け入れると、直ちに、拡張トランザクションプールへ格納ステップへ移り、拡張トランザクションプールへ受け入れデータを格納する。
トランザクションマネジャモジュール210が開始されると、トランザクション受入れ待ちステップ211と並行して、署名待ち通知待ちステップ221へ入り、署名待ち通知を第2通信部を介して受信すると、待ち通知ポーリング受け入れステップ222へ処理が移る。次に、署名待ち通知に含まれる共通キーに一致する未署名トランザクションを拡張トランザクションプールから検索によって参照し、署名対象の未署名トランザクションを選択する。第4のデータストア構造D4に従って共通キーマスタに格納されているレコードを参照し、共通キー及び鍵シーケンス番号に対応する公開鍵生成に用いられたシードを得るステップ224の後に、次に、拡張トランザクションが選択されると、そこに記載されているトランザクションインプットUTXOのスクリプト項目には、必要とされる署名方式、例えば、マルチシグネチャ方式の署名方式であると定められていると、署名の全数、そのうち署名承認に必要とされる署名数が定義されており、それに応じ署名欄の枠組みが決定される。例えば、マルチシグネチャの2:3方式であれば、3つの署名のうち、2つに署名を得れば、署名承認条件は満たされ、そのUTXOの使用は承認されたものとされる。次に署名リクエスト送信ステップ226は、選択された未署名トランザクションを添付データとして、署名リクエストを第2通信モジュール202を介して、送信する。その後、処理は分岐し署名待ち通知待ちステップ221へ戻る一方で、署名を待つステップ227では署名が返信されるのを待つ。署名を受信すると直ちに、署名を受け入れ署名欄をSignedへステップ228へ入り、次に拡張トランザクション署名完了ステップ229は、拡張トランザクション全体で署名が完了したかどうかをチェックする。完了していれば、次に、拡張トランザクション署名ステータス更新ステップ250は、拡張トランザクション署名ステータスをSignedへ更新し、ステップ250と並行して、トランザクションデータ変換ステップ240は、ビットコイントランザクションとして、データを変換、整序する。ステップ240の次に、トランザクションデータ送信ステップ241は、第3通信部を介して、ノードマネジャ装置500へビットコイントランザクションデータを送信する。
拡張トランザクション署名完了ステップ229において、拡張トランザクション全体で署名が完了してないと判定されれば、署名を待つステップ227へ戻り、ステップ227からステップ229が繰り返される。
第4のデータストア構造D4は、図5に示されているデータストア構造であり、3つの項目から構成される。ウォレット装置1内部で共通のアドレスを表象するものとしての共通キー、署名生成のために必要とされる秘密鍵とパラレルに、秘密鍵シードに対応して生成された公開鍵シード、決定性ウォレットを生成する場合の、順序を示すための鍵シーケンス番号である。1つの共通キーに対して、例えば、マルチシグネチャ方式では、複数の公開鍵及び秘密鍵を必要とされ、第4のデータストア構造D4は、このうち公開鍵シード及び鍵シーケンス番号が与えれ、鍵シーケンス番号及び公開鍵シードによって、公開鍵が生成可能とされている。共通キー及び鍵シーケンス番号は拡張トランザクションに含まれている項目であり、第4のデータストア構造D4は、これらに生成される公開鍵を介して秘密鍵が特定可能とする。
第4のデータストア構造D4子データストア構造である第3のデータストア構造D3は、秘密鍵に関する構造であり、2つの項目から構成される。ウォレット装置1内部で共通のアドレスを表象するものとしての共通キー、署名生成のために必要とされる秘密鍵シード、決定性ウォレットを生成する場合の、順序を示すための鍵シーケンス番号である。1つの共通キーに対して、例えば、マルチシグネチャ方式では、複数の秘密鍵シード及び秘密鍵が必要とされるが、第3のデータストア構造D3には、秘密鍵マスターM3から秘密鍵シードを1つ受け入れ可能であり、署名リクエストに含まれる拡張トランザクションの拡張トランザクションインプット項目から鍵シーケンス番号が与えられ、これらによって秘密鍵を再生成可能である。したがって、秘密鍵マスターM3から少なくとも共通キー、秘密鍵シードが読み込まれれば足りるが、秘密鍵マスターM3は、共通キーとセットとされたり、複数の秘密鍵シードも含む等、より冗長な構成であってもよい。
ホットウォレットサーバ部310は、ホットウォレットサーバ装置300に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、ホットウォレットサーバ部310は、ホットウォレットサーバモジュール310を含む 。
ホットウォレットサーバモジュール310は、図6に示されるフローチャートに従って動作する。ホットウォレットサーバモジュール310が開始されると、その時点の共通キーを読むステップ311は、例えば、秘密鍵マスタM3に格納されている共通キー及び秘密鍵シードを読み込み、メモリ上の第3のデータストア構造D3の対応するエレメントへ格納する。そして、その時点でホットウォレットサーバモジュール310に割り当てられている共通キーを認識する。次に、署名待ち通知ポーリング送信ステップ312は、トランザクションマネジャモジュール210へ向けて、ホットウォレットサーバモジュール310が署名リクエストを受け入れ可能であることを示す、署名待ち通知をポーリングによって、第2通信部を介して通知する。ポーリングと同時に、共通キーも添付データとしてトランザクションマネジャモジュール210へ送信する。トランザクションマネジャモジュール210は、署名待ち通知待ちステップ221でこのポーリングを待っていることは、上記のとおりである。次に、ホットウォレットサーバモジュール310は、署名リクエストの受信待ちとなり、トランザクションマネジャモジュール210の署名リクエスト送信ステップ226で送信された署名リクエストを、ホットウォレットサーバモジュール310は、署名リクエスト受信ステップ313で受信する。署名リクエストには、未署名トランザクションが含まれている。次に、トランザクションに含まれるトランザクションインプットの総額、すなわち使用されるUTXOの総額が所定の金額よりも少額であるか否かを検査するステップ314は、人的介在を経てUTXOの受け渡しを承認すべきかを判定する。少額であれば、次にそのまま署名ステップ370へ進み、署名を行う。少額でなかれば、操作パネル表示モジュール330を介し操作パネル装置339へ向けて承認リクエストを送信する。操作パネル表示モジュール330は動作開始後にホットウォレットサーバモジュール310からの承認リクエスト受信ステップ331で、操作パネル表示への承認画面を求める要求を受け入れる。次に、操作パネル表示モジュール330は、操作パネル表示モジュール330に接続されている操作パネル装置339に承認画面を表示し、入力を促すプロンプトを表示する。操作パネル装置339からコマンド入力されれば、操作パネル表示モジュール330は、接続を介してこれを受信する。次のステップ署名承認?ステップ333では、操作パネル装置339からのコマンドを判定し、例外処理がないかを判定する。例外処理の必要性が認められれば、その次には、例外処理待ちステップ340へ入り、例外処理を待ち、その後、処理は一旦終了する。一方、次に、署名承認?ステップ333で承認と認められれば、署名承認通知ステップ350へ分岐し、署名承認通知ががホットウォレットサーバモジュール310へ送信され、その後、操作パネル表示モジュール330は一旦終了する。
ホットウォレットサーバモジュール310は、承認リクエスト送信ステップ315後に、承認同期ステップ316に入り、このステップ316で承認待ちとなり、操作パネル表示モジュール330から承認を受信する。図示しないが、承認を所定の時間内に受信しない場合には、操作パネル表示モジュール330で例外処理に陥っている場合であり、予めタイマーを起動する等、所定の時間経過後に時間割り込み又はソフトェア割り込みによって処理待ちを解除し、処理を終了する。承認同期ステップ316で承認入力データを受信後、次に、承認通知受信ステップ317で署名承認を認識し、トランザクションインプット金額<所定額?ステップ314後に合流し、署名ステップ318へ入る。署名ステップ318では、決定性ウォレットのロジックによって、第3のデータストア構造D3にある秘密鍵シードと鍵シーケンス番号から、秘密鍵を再生成し、当該未署名トランザクションのトランザクションインプット項目に含まれているUTXOに署名する。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による。次に、署名送信ステップ319は、署名をトランザクションマネジャモジュールへ第2通信部を介して送信する。
トランザクションマネジャモジュール210では、署名を待つステップ227では署名が返信されるのを待ち、署名を受信すると直ちに、署名を受け入れ署名欄をSignedへステップ228へ入ることは、上記のとおりである。
コールドウォレットサーバ部は、コールドウォレットサーバ装置400に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、コールドウォレットサーバ部410は、コールドウォレットサーバモジュール410を含む。
コールドウォレットサーバモジュール410は、図7に示されるフローチャートに従って動作する。コールドウォレットサーバモジュール410が開始されると、その時点の共通キーを読むステップ411は、例えば、コールドマスタM3に格納されている共通キーを読み込む。そして、その時点でコールドウォレットサーバモジュール410に割り当てられている共通キーを認識する。次に、署名待ち通知ポーリング送信ステップ412は、トランザクションマネジャモジュール210へ向けて、コールドウォレットサーバモジュール410が署名リクエストを受け入れ可能であることを示す、署名待ち通知をポーリングによって、第2通信部を介して通知する。ポーリングと同時に、共通キーも添付データとしてトランザクションマネジャモジュール210へ送信する。トランザクションマネジャモジュール210は、署名待ち通知待ちステップ221でこのポーリングを待っていることは、ホットウォレットサーバモジュールの同様である。次に、コールドウォレットサーバモジュール410は、署名リクエストの受信待ちとなり、トランザクションマネジャモジュール210の署名リクエスト送信ステップ226で送信された署名リクエストを、コールドウォレットサーバモジュール410は、署名リクエスト受信ステップ413で受信し、署名リクエストの情報をもとに遠隔署名装置450向けの可搬データを準備する。次に、可搬データ出力表示ステップ414は、コールドウォレットサーバモジュール410が動作するオペレーティングシステムが置かれているコンピュータ装置に接続されている遠隔コンピュータ装置上のオペレーティングシステムで動作する遠隔操作モジュール420へ向けて可搬データ出力指示を送信する。遠隔操作モジュール420は、例えば、このようにコールドウォレットサーバモジュール410が動作しているオペレーティングシステムが置かれているコールドウォレットサーバ装置400とは別筐体のコンピュータ装置に置かれてよい。遠隔操作モジュール420が開始すると、次に、可搬データ出力指示受信ステップ421は、コールドウォレットサーバモジュールとの間の接続を介し、可搬データ出力指示を受信する。次に、操作パネルへの表示ステップ422では、遠隔操作モジュール420が動作するオペレーティングシステムが置かれているコンピュータ装置(図示せず)に接続されている操作パネル装置429へ可搬データ出力指示画面データを送信し、可搬データ出力指示入力を促すプロンプトを表示させ、可搬データ出力指示が入力されると、これをコマンドとして受け入れる。次に、可搬データ出力画面ステップ423では、遠隔操作モジュール420が動作するオペレーティングシステムが置かれているコンピュータ装置(図示せず)に接続されている可搬データ出力装置(図示せず)、例えば、QRコード(登録商標)印刷出力装置(図示せず)は、オペレーターの指図によって署名リクエスト可搬データ(QRコード(登録商標)印刷紙)を出力し、署名の戻りを待つ。その後、オペレータが、可搬データ(QRコード(登録商標)印刷紙)を署名装置管理区域に運搬する。
遠隔署名部は、遠隔署名装置450に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、その場合には、遠隔署名部430は、遠隔署名モジュール430を含む。
次に、遠隔署名装置450に接続する可搬データ読み取り装置(図示せず)、例えば、QRコード(登録商標)読み取り装置、例えば、スキャナー装置(図示せず)が遠隔署名装置450上のオペレーティングシステムで動作する遠隔署名モジュール430によって駆動され、署名リクエスト可搬データは遠隔署名装置450に読み込まれる。次に、署名ステップ433では、決定性ウォレットのビットコインアーキテクチャーの標準的なロジックによって、第3のデータストア構造D3に格納された秘密鍵シードと鍵シーケンス番号から、秘密鍵を再生成し、署名リクエストに添付されていた未署名トランザクションのトランザクションインプット項目に含まれているUTXOに署名する。第3のデータストア構造D3が可搬データとして受け入れられてもよく、あるいは、遠隔署名装置450に秘密鍵マスタM3に格納されている秘密鍵シードを読み込み、可搬データに含まれている署名リクエストに含まれる共通キー及び鍵シーケンス番号によって、メモリ上に第3のデータストア構造D3が構成されてもよい。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による
次に、可搬データ出力ステップ434では、操作パネル装置439へ可搬データ出力指示画面データを送信し、可搬データ出力指示入力を促すプロンプトを表示させ、可搬データ出力指示が入力されると、これをコマンドとして受け入れ、コンピュータ装置(図示せず)に接続されている可搬データ出力装置(図示せず)、例えば、QRコード(登録商標)印刷出力装置(図示せず)は、オペレーターの指図によって署名可搬データ(QRコード(登録商標)印刷紙)を出力する。その後、遠隔署名モジュールは終了する。並行して、その後、オペレーターは、可搬データ(QRコード(登録商標)印刷紙)を署名装置管理区域外に運搬する。次に、可搬データ読み込みステップ424では、操作パネル装置429へ可搬データ読み込み指示画面データを送信し、可搬データ読み込み指示入力を促すプロンプトを表示させ、操作パネル装置429から可搬データ出力指示が入力されると、これをコマンドとして受け入れ、コンピュータ装置(図示せず)に接続する可搬データ読み取り装置(図示せず)、例えば、QRコード(登録商標)読み取り装置、例えば、スキャナー装置(図示せず)がコンピュータ装置(図示せず)上のオペレーティングシステムで動作する遠隔操作モジュール420によって駆動され、署名リクエスト可搬データはコンピュータ装置に読み込まれ、遠隔操作モジュール420のメモリ上に格納される。次に、署名送信ステップ425は、遠隔操作モジュール420が動作しているコンピュータ装置から、これとコールドウォレットサーバモジュール410が動作するオペレーティングシステムが置かれているコンピュータ装置との接続を介してコールドウォレットサーバモジュール410へ向けて署名を送信する。その後、遠隔操作モジュールは終了する。並行して、その後、コールドウォレットサーバモジュール410の署名受信同期ステップ415は、署名を受信し、メモリ上に格納する。次に、署名送信ステップ416は、第2通信部を介して、署名をトランザクションマネジャモジュール210が動作しているオペレーティングシステムが置かれるコンピュータ装置へ送信される。これに引き続いて、トランザクションマネジャモジュール210では、署名を待つステップ227では署名が返信されるのを待ち、署名を受信すると直ちに、署名を受け入れ署名欄をSignedへステップ228へ入ることは、上記のとおりである。
以上の構成において、図1に示されているように、ビットコインネットワークへのトランザクションブロードキャストのために、拡張トランザクションフォーマットからビットコイントランザクションフォーマットへの変換の後、ノード装置を介してブロードキャストする。
ノード装置は、ビットコインネットワーク上の公知のノード装置でよく、本発明に係るウォレット装置1では、オプションとして、ウォレット装置1内に配設し、これを支配下におき安全性をより向上させている。以下に説明する。
本発明の実施形態に係るウォレット装置1では、オプションとして、自家ノード装置が少なくとも3台ウォレット装置1内に設置されてよい。ノード装置は、場合によっては、隣接し、そこから受け取るブロックチェーンが捏造されているリスクも潜在的には存在する。本発明の実施形態に係るウォレット装置1では、少なくとも3台の自家用ウォレットによって、ノード装置のビットコインネットワーク内の隣接ノードの多様性を確保し、より安全なブロックチェーンの入手を可能とする。確実性の担保は、ノード装置を複数配設し、これらの間でデータが一致することで確実性を担保する。たとえ、これらの間でデータが一致の場合があるとしても、少なくとも2つのデータが一致することで、少なくとも1つのブロックチェーンのみからブロックチェーンが確実なブロックチェーンのブロックであるとするよりもより確実なブロックであることが担保されたものとする。さらにオプションとして、少なくとも3つのブロック比較によって、そのうちの2つが一致すれば、もっと確実なブロックであることが担保されたものとする。さらなるオプションとして、5つ以上のブロックチェーンのブロック比較によって、そのうちの半数以上が一致すれば、もっと確実なブロックであることが担保されたものとする。これら判定は、ノード装置に接続されたノードマネジャ装置500が担う。
ノードマネジャ装置500は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、ノードマネジャ部、第3通信部を含み、これらの一部分はソフトウェアの部分でもよい。
ノードマネジャ部は、自家用ノード装置の配設数を、例えば、ノードマネジャマスタを読み込みメモリ上にストア可能である。ノードマネジャ部は少なくとも定期的にノード装置から、あるいは、ノード部をノードマネジャ装置500に含む場合にはノード部から、少なくとも最新のブロックチェーンのコピーを取り込み可能である。読み込みは、ノード装置との間を接続する通信部を介し、例えば、WEBソケットの類のバルクデータ通信に適する手段が用いられてよい。
ノードマネジャ部は、ノードマネジャ装置500に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、その場合には、ノードマネジャ部510は、ノードマネジャモジュール510を含む。
ノードマネジャモジュール510は、図8に示されるフローチャートに従って動作する。ノードマネジャモジュール510が開始すると、ノードマネジャマスタからノードマネジャマスタを読み込みメモリ上にストアするノード情報及びノードが保有するデータの真性を判定する所定の条件を読むステップ511に入り、次に、タイマー起動ステップ512は、タイマを起動し定期的な繰り返し動作に入り、次に、タイマーイベントを待つステップ513でタイマーイベント通知を待つ。次に、各ノードから未検証トランザクションをコピーするステップ514で各ノードから未検証トランザクションをノードマネジャモジュール510メモリ上の構造及びノードマネジャ装置500に接続された永続メモリ内のデータストア構造に格納し、次に、データの相互対比をするステップ520に入り、データストア構造同士を比較し、一致する組み合わせを検証する。ノードが保有するデータの真性を判定する所定の条件に合えば、ノードの情報は真性とみなす。ノードの情報は真性とみなされれば、再び、タイマーイベントを待つステップ513に戻り、以下の処理を繰り返し実行する。例えば、3つのノードが定義され、その過半数が一致する場合である。ノードの情報は不正と判定されれば、次に、例外処理ステップ521に入り、例外処理に分岐し終了する。ステップ514に並行して、各ノードのブロックチェーンをコピーするステップ515で各ノードのブロックチェーンをノードマネジャモジュール510メモリ上の構造及びノードマネジャ装置500に接続された永続メモリ内のデータストア構造に格納し、次に、データの相互対比をするステップ520に入り、ノードが保有するデータの真性を判定する所定の条件に合えば、ノードの情報は真性とみなす。ノードの情報は不正と判定されれば、次に、例外処理ステップ521に入り、例外処理に分岐し終了する。例えば、3つのノードが定義され、その過半数が一致する場合である。ノードの情報は真性とみなされれば、再び、タイマーイベントを待つステップ513に戻り、以下の処理を繰り返し実行する。
複数のノードのデータ参照によって、ブロックチェーン改竄のまま、真正のノードとして振る舞う不正行為に対して、早期に異常の発見を可能とし、より安全性の高いウォレット装置1を提供する効果を与える。
本発明に係る実施形態のウォレット装置1では、自家用ノード装置を備えたが、代替として、ビットコイントランザクションをもとにビットコインネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段をトランザクションマネジャー装置200がさらに備えてもよい。ブロードキャスト依頼データは、トランザクションマネジャー装置200が直接ビットコインネットワーク上にあるブロードキャストサーバのデータ受入れ口に書き込んでもよいが、さらに他の代替として、第3の通信手段を介して、ビットコイントランザクションを受入れ、それをもとにビットコインネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置を、ウォレット装置1はさらに含んでもよい。
次に、図9は、本発明に係る他の実施形態であるウォレット装置2を示す概念模式図である。ウォレット装置2は、図2から7に示すすべてのモジュールが1つのオペレーティングシステム上で動作する実施形態である。ハードウェア資源を最小化できる効果を得つつ、侵入者は、秘密鍵の利用には、複数のモジュールを跨る必要がある点で、安全性の向上も得られる。
図10は、発明に係る他の実施形態であるウォレット装置3を示す概念模式図である。ウォレット装置3は、前記ホットウォレットサーバモジュールは、前記中央制御モジュール及び前記トランザクションマネジャモジュールがオペレーション動作する第1のオペレーティングシステムとは別のオペレーティングシステム上でオペレーション動作され、秘密鍵が分離されており、第1のオペレーティングシステム上の中央制御モジュールからもトランザクションマネジャモジュールからも、秘密鍵の利用が困難であり、安全性を高める効果がある。
図11は、発明に係る他の実施形態であるウォレット装置4を示す概念模式図である。ウォレット装置4は、前記ホットウォレットサーバモジュールは、前記中央制御モジュールモジュールがオペレーション動作する第1のオペレーティングシステムとは別のオペレーティングシステム上でオペレーション動作され、秘密鍵が分離されており、中央制御モジュールからは、秘密鍵の利用が困難であり、安全性を高める効果がある。
図12は、本発明に係る実施形態であるウォレット装置1を示す概念模式図である。ウォレット装置2は、図2から7に示すすべてのモジュールがすべて別々のオペレーティングシステム上で動作する実施形態である。侵入者は、中央制御モジュールからは、秘密鍵の利用には、複数のオペレーティングシステムを跨る必要がある点で、さらに安全性の向上が図られている。
図13は、トランザクションマネジャ装置200にホットウォレットサーバ装置300が複数接続されている他の実施形態を示す。ホットウォレットサーバ装置300は、中央制御サーバ装置が設置されているロケーションに2つ設置されている。このように、2つ設置され各々が同じ秘密鍵HOT1に係る署名を提供すれば、ウォレット装置の処理能力はほぼ2倍となる。上記の秘密鍵署名方法であれば、トランザクションマネジャの制御フローはパラレルに実行可能だからであり、この追加の構成は、スケーラビリティを提供するとともに、待ち時間の減少によって処理速度の向上、パフォーマンスも向上される。すなわち、トランザクションマネジャ装置200は、未署名トランザクションが求める秘密鍵のうち秘密鍵HOT1に対応する署名リクエストをアジアに配置された2台のホットウォレットサーバ装置300と他のロケーションに配置されたホットウォレットサーバ装置300の一群のホットウォレットサーバ装置300のうちから任意のホットウォレットサーバ装置300へ署名リクエスト可能であり、スケーラビリティとパフォーマンスが向上されている実ウォレット装置が提供されている。ここで、複数のホットウォレットサーバ装置300で別々の秘密鍵HOT1、HOT2(図示せず)が提供される他の実施形態(図示せず)では、ホットウォレットサーバ装置300でマルチシグネチャが構成され、侵入者は、解錠のために複数のホットウォレットサーバ装置300を攻撃せざるを得ず、より高い安全性のウォレット装置が提供可能である。
図13には、さらに、ホットウォレットサーバ装置300の少なくとも1つは遠隔地に設けられており、災害にも強い構成を与えている。
図13には、さらに、トランザクションマネジャ装置200にコールドウォレットサーバ装置400が複数接続されている、さらなる他の実施形態も示す。コールドウォレットサーバ装置400の一方は、他の遠隔地ロケーションである米国に設置されており、その地で秘密鍵を管理できるという利点がある。このように遠隔地に秘密鍵が配置される資産の配置の分散が図られ、人的管理上も、災害対策上も、外部からの侵入による犯罪対策上もより安全性が高まる利点がある。
図13には、さらに、ホットウォレットサーバ装置300の一つが1つのクラウドコンピューティングサービス上の例えば、仮想サーバ上に設けられており、サーバ配置の多様性が確保されており、クラウドコンピューティングサービスによる代替の遠隔地へのホットウォレットサーバ装置300が実現されている。クラウドコンピューティングサービスでは、仮想サーバでハウジングサービスの提供を受けてもよい。クラウドコンピューティングサービスは、1つではなく、複数のクラウドコンピューティングサービスプロバイダから提供を受けてもよく、この場合には、実施手段の多様性がさらに増し、処理の分散化が図られるという利点がある。クラウドコンピューティングサービスプロバイダを跨って、マルチシグネチャが提供されてもよく、その場合には、人的な内部犯罪のリスクをより低減でき、より安全が向上される利点があり、災害対策にも有効である。
図1から13に示された実施形態では、ビットコインの実施形態が示されたが、ビットコイン同様に、ブロックチェーンテクノロジを採用する暗号通貨でも、ここに掲げた技術手段によって、ここに掲げた効果が得られる。
さらに、ビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含む、Bitcoin Cash,Bitcoin Gold,Litecoin,Monacoin,Dogecoinの類のオルトコインは、ブロックチェーンテクノロジの一部を改良したものであり、当業者であれば、本質的にここに開示された技術手段を適用し、同様の効果を得られように実装可能である。
以上、本発明に係る実施の形態を説明したが、本発明は係る実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。本発明が、ここに記載された実施形態に描かれ、実施形態は、かなり詳細に記載されているが、出願人は、この記載によって添付する特許請求の範囲をいかようにも制限、限定する意図はない。追加の利点や修正は、当業者に理解され、一つの実施形態に記載された要素は、他の実施形態にも採用可能である。したがって、発明は、広い面で、特定の詳細事項に限定されず、各々の機器と実施例が示され、記載されている。したがって、出願人の一般的発明概念の精神とスコープから乖離せず、これらの詳細に記載された事項から離れることもあり得る。
なお、ウォレット装置の参考態様を以下に掲げる。
秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置であって、
処理リクエストデータの受入手段を有し、前記アドレスを特定し、署名に用いる前記公開鍵を特定するための第1のデータストア構造を有し、未署名トランザクション保持のための第2のデータストア構造を含む未署名トランザクションの組成手段を有し、当該未署名トランザクション送信のための第1の通信手段を有する中央制御サーバ装置と、
秘密鍵保管又は生成のための第3のデータストア構造をメモリ上に有し、署名リクエストの受信及署名の送信のための第2の通信手段を有し、これを介して入力された前記署名リクエストのための暗号通貨署名手段を有するホットウォレットサーバ装置と、
秘密鍵保管又は生成のための第3のデータストア構造をメモリ上に有し、暗号通貨署名手段を有し、署名リクエストを遠隔地において操作員を介し受入れ、かつ前記署名リクエストに対応する署名を操作員を介し出力するデータ伝搬手段を有する、インターネットからオフラインの遠隔署名装置と、
署名リクエスタからの署名リクエストの受信及び署名の送信のための第2の通信手段を有し、これを介して入力された前記署名リクエストを前記遠隔署名装置と組になり遠隔で署名させるためのデータ伝搬手段を有し、前記遠隔署名装置の署名を識別させる標識としての識別キーをメモリ上に格納するデータストアを有し、前記識別キーを前記第2の通信手段を介して相手側へ送信可能であるコールドウォレットサーバ装置と、
前記中央制御サーバ装置との間の前記未署名トランザクション受信のための前記第1の通信手段を有し、前記ホットウォレットサーバ装置及び前記コールドウォレットサーバ装置、又はこれらのうちの少なくともいずれか一方との署名リクエストの送信及び署名の受信のための前記第2の通信手段を有し、公開鍵鍵特定のための第3のデータストア構造に対応する公開鍵のデータストア構造をメモリ上に自らの署名を識別させる標識としての識別キーで構造化した第4のデータストア構造を有し、前記未署名トランザクションの署名完了まで当該トランザクションを保持する署名ステータス管理手段を有し、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換手段を有し、前記暗号通貨トランザクションを出力するための第3の通信手段を有するトランザクションマネジャ装置とを、含むことを特徴とするウォレット装置である。
上記構成は、トランザクションの雛形を生成するウォレット中央制御サーバ装置と署名を生成するホットウォレットサーバ装置、コールドウォレットサーバ装置との間にトランザクションマネジャ装置を配置し、ネットワークの入り口側にあるウォレット中央制御サーバ装置と秘密鍵情報を有する装置間がネットワーク上分離され、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、第1の通信手段は、サーバ認証機能を備えるとよい。トランザクションマネジャ装置とネットワークの入り口側にあるウォレット中央制御サーバ装置との間の通信手段である第1の通信手段は、サーバ認証機能を備え、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、前記トランザクションマネジャ装置にはホットウォレットサーバ装置が複数接続されるとよい。処理をホットウォレットサーバ装置間で分担すれば、ホットウォレットサーバ装置の多重化によって、処理能力が増し、スケーラビリティが得られ、あるいは、複数のホットウォレットサーバ装置で同じ秘密鍵に対応する署名を保持すれば、1つに故障があっても他のホットウォレットサーバ装置で処理を続行可能であり、アベイラビリティが提供される。
さらに、追加の参考態様で、コールドウォレットサーバ装置は、データ伝搬手段として可搬データ出力装置が接続され、操作パネル装置が接続され署名リクエストのための可搬データ出力を促すプロンプトを表示可能であり、操作パネル装置へのオペレーターの操作によって署名リクエスト可搬データが出力可能であるとよい。コールドウォレットサーバ装置に可搬データ出力装置が接続され、より容易にオフラインにある遠隔署名装置に署名に必要なデータをより早く、より正確にデータ伝搬でき、その意味で、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、インターネットからオフラインの署名装置は可搬データ読み込み装置が接続され、操作パネル装置が接続され前記署名リクエスト可搬データの読み込みを促すプロンプトが表示可能であり、オペレーターの操作によって前記署名リクエスト可搬データを読み込み可能であるとよい。この構成で、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、インターネットからオフラインの署名装置は可搬データ出力装置が接続され、前記操作パネル装置には署名済み可搬データ出力プロンプトを表示可能であり、オペレーターが暗号通貨署名手段によって前記秘密鍵を用いる署名に伴い署名済み可搬データを出力可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、コールドウォレットサーバ装置は可搬データ読み込み装置が接続され、前記操作パネル装置には署名済みの可搬データ読み込みプロンプトが表示可能であり、オペレーターの操作によって署名済み可搬データを読み込み可能であり、当該署名済み可搬データ読み込みに伴い、前記第3通信手段を介してコールドウォレットサーバ装置から前記トランザクションマネジャ装置へ署名を送信可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働き、さらに、より安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、可搬データは、QRコード(登録商標)印刷紙であるとよい。この構成では、より簡便にデータの伝達が可能となる。
さらに、追加の参考態様で、トランザクションマネジャ装置には前記コールドウォレットサーバ装置が複数接続されるとよい。この構成では、より冗長な構成、余裕のある能力が提供可能となり、コールドウォレット処理のスケーラビリティ、アベイラビリティが向上する。
さらに、追加の参考態様で未署名トランザクションは、複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数の前記ホットウォレットサーバ装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のホットウォレットサーバ装置に侵入する必要が生じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数のインターネットからオフラインの前記遠隔署名装置に分散して格納されたものであるとよい。この構成では、コールドウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のコールドウォレットサーバ装置に侵入する必要が生じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、1又は複数の前記ホットウォレットサーバ装置かつ1又は複数のインターネットからオフラインの前記遠隔署名装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバとコールドウォレットサーバ上に跨ってマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためにはホットウォレットサーバ装置及びコールドウォレットサーバ装置に跨って侵入する必要が生じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、暗号通貨トランザクションをもとに暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段を前記トランザクションマネジャー装置がさらに備えるとよい。この構成では、暗号通貨トランザクションの署名完成から連続して、暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成するため、人の介在する余地がなく、内部者の犯罪行為を排除でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、第3の通信手段を介して受入れられた前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置をさらに含むとよい。この構成では、トランザクションマネジャ装置とインターネットとの間にブロードキャスト依頼サーバ装置を介在させ、かつ、この間の通信は、第2の通信とは別のルートが用意され、署名装置の隔離がより確実となり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、暗号通貨ネットワークとインターネット接続され、前記暗号通貨ネットワーク上へブロードキャスト可能である1又は複数のノード装置と、前記ノード装置に接続されており、前記トランザクションマネジャ装置との第3の通信手段を介して受信された前記暗号通貨トランザクションを前記ノード装置を介して暗号通貨ネットワークへブロードキャストするための手段を有するノードマネジャー装置とをさらに含むとよい。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得るが、この構成では、自家用ノードを配し、このような悪意を排除可能である、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、ノードマネジャー装置は、前記複数のノード装置からブロックチェーン又はブロックチェーンに記録されるべき未検証トランザクションを受信し、受信された前記ブロックチェーン同士の対比及び前記未検証トランザクション同士の対比又はこれらのいずれかの対比によって、前記複数のノード装置の対比データのうち過半数において前記対比が一致するか否かを検査する手段を含むノードマネジャー装置であるとよい。この構成では、ノード装置に悪意が入る場合の影響をより排除可能である。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得る。ノードのなりすまし等の悪意に対して有効であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、ホットウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。この構成では、遠隔地のどのサーバに侵入すればよいのかが外部からも内部からも不案内であり得て、より安全なウォレット装置が提供される。マルチシグネチャを遠隔地に設けるホットウォレットサーバ装置に跨がらせれば、ネットワークを跨ぐより組織的な内部犯罪グループを必要とし、内部統制上もより安全なウォレット装置が提供される。加えて、同じ鍵を遠隔におけば災害にも強く、アベイラビリティも向上され、この点でもより安全なウォレット装置が提供される。
さらに、追加の参考態様で、コールドウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。この構成では、遠隔地のどのサーバに侵入すればよいのかが外部からも内部からも不案内であり得て、より安全なウォレット装置が提供される。マルチシグネチャを遠隔地に設けるコールドウォレットサーバ装置に跨がらせれば、ネットワークを跨ぐより組織的な内部犯罪グループを必要とし、内部統制上もより安全なウォレット装置が提供される。加えて、同じ鍵を遠隔におけば災害にも強く、アベイラビリティも向上され、この点でもより安全なウォレット装置が提供される。
さらに、追加の参考態様で、未署名トランザクションが所定の要件をみたす時、前記署名リクエストに署名すべきユーザーへ署名を促すプロンプトを表示し、署名入力を可能とする操作パネル装置を備え、前記パネル装置は操作パネルサーバ装置を介して前記ホットウォレットサーバ装置に接続されているとよい。この構成では、ホットウォレットサーバの場合でも、例えば、所定の場合に、インターベンション可能であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、前段落のプロンプトは、前記未署名トランザクションに含まれる支払い承認総額が所定の閾値を超えるときに表示されるとよい。すべてのトランザクションでプロンプトを介在させると少額の取引に紛れてしまうが、この構成では、高額取引にフォーカス可能であって、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、複数のホットウォレットサーバ装置は、秘密鍵保管のための第3のデータストア構造のデータを入力するための秘密鍵マスターデータ入力手段を備え、少なくとも一部の秘密鍵のための情報を一群のホットウォレットサーバ装置に外部から入力し保管可能であり、前記トランザクションマネジャ装置は、前記未署名トランザクションが求める秘密鍵のうち前記少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能であるとよい。この構成は、秘密鍵マスターデータを外部化、可搬とされることで運用の自由度を増し、どこにどの秘密鍵の情報があるのかが、外部にも内部にも不明とされ得て、ホットウォレットサーバ装置の使用態様の柔軟性は、より安全なウォレット装置の提供を可能とする。また、災害時の柔軟な再構成も可能となり、アベイラビリティの向上を通じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、秘密鍵保管のための第1から第3のデータストア構造は、前記秘密鍵がシードから生成され、再生可能である決定性ウォレットのための鍵シーケンス番号を含む一連のデータを含むとよい。この構成では、秘密鍵自体を保管する必要をなくし、直接の秘密鍵盗難又は漏洩の危険を排除し、より安全なウォレット装置が提供される。特に、内部犯行者対策に有効であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、前記第1、第2又は第4のデータストア構造には、前記未署名トランザクションの署名リクエストの生成のため、前記暗号通貨署名手段がこれに署名可能な前記秘密鍵を特定するための共通キーマスターデータをさらに含むとよい。共通キーによって、ウォレット装置内部での意味なし記号列で繋ぐことによって、複数のデータ構造を分離配置することが可能になり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、トランザクションマネジャ装置は、前記共通キー及び共通キーに対応する1又は複数のシードを1つのグループとして、1又は複数の当該グループをマスターデータとして保持するとよい。決定性ウォレット、複数のシードがひとつの纏まりのあるグループが形成される。このようなグループは包括管理するのが適当であり、重要性の高いグループの重点管理も可能であり、マルチシグネチャの使用にもより好適であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、各装置は、仮想サーバ上に設けられているとよい。この構成では、個別のハードウェアをもつよりも安価で構成でき、かつ、1つのオペレーティングシステム上ですべての機能が構成されるよりも分離のレベルを上げられる、より安全なウォレット装置が経済的に提供される。
さらに、追加の参考態様で、ホットウォレットサーバ装置の一部が1又は複数のクラウドコンピューテングサービス上の仮想サーバ上に設けられているとよい。この構成では、クラウドコンピューテングサービスの介在によって、ホットウォレットサーバ装置の一部が外部組織の管理にあって、内部犯罪者は単独で、すべての秘密鍵の入手が困難になり、より安全なウォレット装置が提供される。また、クラウドコンピューテングサービスの提供する高度で多様なネットワーク認証の介在によって、より安全なウォレット装置が提供される。
CPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で稼働するソフトウェアによって、決定性ウォレットとして秘密鍵を用い公開鍵を生成し、当該公開鍵からアドレスを生成しこれを取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置の暗号通貨署名手段に用いられる秘密鍵署名方法であって、
ユーザシステムからゲートウェイ通信手段によってアプリケーションプログラムインターフェース(Application Program Interface,API)を介して受入れた処理リクエストデータ項目を元に、決定性ウォレット方式で生成されたマルチシグネチャ用のアドレスの生成時に使用した1又は複数のシードに関連づけられた共通キーとアドレス生成の順序を示す鍵シーケンス番号と署名欄を含むデータストア構造を含む未署名トランザクションを中央制御サーバ装置上で動作するオペレーティングシステム上で動作するソフトウェアによって組成し、第1の通信手段を介し前記中央制御サーバ装置からトランザクションマネジャ装置へ送信するステップS1と、このステップに引き続き、
前記第1の通信手段を介して、前記トランザクションマネジャ装置上の前記オペレーティングシステム上で動作する前記ソフトウェアによって、前記未署名トランザクションを受信し、これを前記メモリ上の未署名トランザクションプールに保持するステップS2に引き続き、
前記トランザクションマネジャ装置上のオペレーティングシステム上で動作するソフトウェアによって、他装置からの署名待ち通知の待ち状態となるステップS3と、このステップとパラレルに、
第2の通信手段を介し、ホットウォレットサーバ装置及びコールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、当該装置が保持する前記共通キーと共に署名待ち状態を前記トランザクションマネジャ装置へ通知する、待ち通知ステップS4に引き続き、
前記トランザクションマネジャ装置上のオペレーティングシステム上で動作するソフトウェアが前記通知を受信後、前記共通キーを含む未署名トランザクションを前記未署名トランザクションプールから検索し、そのうちの1つを選択し、当該未署名トランザクションの署名リクエストのために前記第2の通信手段を介して前記待ち通知を送信した前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置へ前記未署名トランザクションを送信するステップS5と、これに引き続き、
前記第2の通信手段を介して前記署名リクエストを受信した前記ホットウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、前記共通キーに対応する秘密鍵を用い前記署名リクエストが署名され、当該署名を前記第2の通信手段を介して前記トランザクションマネジャ装置へ返信するステップS6と、これとパラレルに、
前記第2の通信手段を介して前記署名リクエストを受信した前記コールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、遠隔地で署名する遠隔署名装置のためのデータ伝搬手段を介して、可搬データが出力され、前記遠隔署名装置上のオペレーティングシステム上で動作するソフトウェアによって当該可搬データが読み込まれ、前記遠隔署名装置で前記可搬データに対応する秘密鍵によってなされた署名が前記データ伝搬手段を介して可搬データとして出力され、当該可搬データは前記コールドウォレットサーバ装置へ前記データ伝搬手段を介して読み込まれ、前記コールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって当該署名を前記第2の通信手段を介して前記トランザクションマネジャ装置へ転送するステップS7と、これに引き続いて、
ステップS8では、前記トランザクションマネジャ装置上のオペレーティングシステム上で動作するソフトウェアが前記第2の通信手段を介して受信した署名を前記未署名トランザクションの署名欄に転記し、前記未署名トランザクションの署名完了に要するマルチシグネチャ署名数と署名完了数をチェックし、所定の署名承認条件が満たされたとき、前記署名済みトランザクションは暗号通貨トランザクションへ変換出力され、他方、所定の署名承認条件が満たされない場合には、前記トランザクションマネジャ装置上のオペレーティングシステム上で動作するソフトウェアが他装置からの署名待ち通知の待ち状態となるステップへ戻ることを特徴とする、請求項24に記載の前記ウォレット装置を用いる秘密鍵署名方法が方法の態様として提供されてよく、この態様によって、トランザクションマネジャ装置は、ホットウォレットサーバ装置もコールドウォレット装置も同等に扱え、スムースな署名フローによって、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、待ち通知ステップには、前記ホットウォレットサーバ装置又はコールドウォレットサーバ装置からのポーリングによる通信方法を含むとよい。ポーリングによって、より確実な通信セッションの維持が可能であり、特段のウォレット装置内での追加の制御を必要とせず、シンプルな制御構造は異常監視にも適し、より安全なウォレット装置が提供される。
他の態様で、秘密鍵を用い公開鍵を生成し、当該公開鍵からアドレスを生成しこれを取引に用いる公開鍵暗号方式による暗号通貨のためのソフトウェアをCPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で動作させる暗号通貨のためのウォレット装置であって、
処理リクエストのアプリケーションプログラムインターフェース(APPLICATION PROGRAM INTERFAE,API)からのデータを受入れるためのAPIモジュールと、
アドレスを特定し署名に使用する秘密鍵を指定するための第1のデータストア構造を読み込み、未署名トランザクション保持のための第2のデータストア構造を含む未署名トランザクション組成のためのウォレット中央制御モジュールと、
秘密鍵保管又は生成のための第3のデータストア構造をメモリ上に含む暗号通貨署名のためのホットウォレットサーバモジュールと、
署名を識別させる標識としての識別キーをメモリ上に格納するオフライン署名のためのコールドウォレットサーバモジュールと、
前記秘密鍵保管又は生成のための前記第3のデータストア構造を秘密鍵特定のためモジュール間で共用可能である共通キーで構造化した第4のデータストア構造を格納可能であり、かつ未署名トランザクションを保持するための前記第2のデータストア構造を含む、署名のフロー制御をするためのトランザクションマネジャモジュールと、
前記入力データモジュールと外部インターフェースのための外部通信モジュールと、
前記トランザクションマネジャモジュールと前記ウォレット中央制御モジュール間の未署名トランザクション及び署名済みトランザクション送受信のための第1通信モジュールと、
前記トランザクションマネジャモジュールと前記ホットウォレットサーバモジュール又は前記コールドウォレットサーバモジュール間の署名リクエストの送信と署名受信のための第2通信モジュールと、
オフライン署名のための遠隔署名装置への可搬データ出力及び署名の受入れのための署名リクエスト授受及び署名授受のためのデータ伝搬モジュールと、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換モジュールと、
前記トランザクションマネジャモジュールによって作成された署名を受入れて暗号通貨ネットワークへのブロードキャスト依頼データを作成し、これを出力するための出力モジュールとを、前記ソフトウェアは含み、
秘密鍵保管又は生成のための第3のデータストア構造を有し、前記データ伝搬手段を備え、これを介して入力された署名リクエストのための暗号通貨署名手段を有する、インターネットからオフラインの遠隔署名装置をさらに含むウォレット装置が提供されるとよい。この構成は、複数のサーバ装置の機能を個別化し、機能構成の自由度を上げて、構成配置を容易にする効果も提供しつつ、モジュール間は通信モジュールを配置し、すべての機能を1つのモジュール上に実装する場合に比べ、より安全なウォレット装置が提供されている。
さらに、追加の参考態様で、他の態様は、ウォレット中央制御モジュールと、前記トランザクションマネジャモジュールとは同一オペレーティングシステム上でオペレーション動作されるてもよい。この構成は、最も構成にシステム資源を要せず、エントリレベルに適しているが、なお、モジュールの分離によって、より安全なウォレット装置が提供されている。
さらに、追加の参考態様で、1又は複数の前記ホットウォレットサーバモジュールは、前記トランザクションマネジャモジュールと同一のオペレーティングシステム上でオペレーション動作されるとよい。中央制御モジュールモジュールがオペレーション動作する第1のオペレーティングシステムとは別のオペレーティングシステム上でオペレーション動作され、秘密鍵が分離されており、中央制御モジュールからは、秘密鍵の利用が極めて困難であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、ホットウォレットサーバモジュールは、前記トランザクションマネジャモジュールがオペレーション動作するオペレーティングシステムとは別の1又は複数のオペレーティングシステム上でオペレーション動作されるとよい。この構成では、ホットウォレットサーバモジュールは、中央制御モジュール及びトランザクションマネジャモジュールがオペレーション動作する第1のオペレーティングシステムとは別のオペレーティングシステム上でオペレーション動作され、秘密鍵が分離されており、第1のオペレーティングシステム上の中央制御モジュールからもトランザクションマネジャモジュールからも、秘密鍵の利用が困難であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、暗号通貨は仮想通貨であるとよい。仮想通貨はより高い安全性が事業上求められており、本発明により好適である。
さらに、追加の参考態様で、暗号通貨はビットコインであるとよい。ビットコインは情報が開示されており、より安全性への要求が高く、当業者によれば高い安全性を提供し得る本発明により好適である。
さらに、追加の署名方法の態様で、暗号通貨は仮想通貨であるとよい。仮想通貨はより高い安全性が事業上求められており、本方法の発明により好適である。
さらに、追加の署名方法の態様で、暗号通貨はビットコインであるとよい。ビットコインは情報が開示されており、より安全性への要求が高く、当業者によれば高い安全性を提供し得る本方法の発明により好適である。
さらに、追加の参考態様で、暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含むメタコイン又はオルトコインであるとよい。いずれもブロックチェーンテクノロジの上で動作することが前提であり、当業者であれば、ビットコインと同様の効果を発揮でき、これらのより安全なウォレット装置が提供される。
さらに、追加の署名方法の態様で、暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含むメタコイン又はオルトコインであるとよい。。いずれもブロックチェーンテクノロジの上で動作することが前提であり、当業者であれば、ビットコインと同様の効果を発揮でき、これらのより安全なウォレット装置の署名方法が提供される。
さらに、追加の参考態様で、処理リクエストデータは、リクエスターのサーバプログラムとのアプリケーションプログラムインターフェース(以下、APIという)で定められる、以下の、データ項目
1)1又は複数の支払元を特定するための共通キー
2)1又は複数の宛先アドレス
3)支払い金額
4)前記トランザクションの暗号通貨ネットワーク処理の手数料の負担先を前記出金口座負担又は共通キーで定められるアドレス又は宛先アドレスのいずれの負担とするかを定める手数料負担先コード
を含むとよい。この構成は、ユーザによって個性のあるリクエストデータをウォレット装置内で使用されるAPIデータ構造APIへ変換させ、内部処理に適合する形式へ変換し、ウォレット装置内の各部のユーザ毎のカスタマイズによる変動を最小限に抑える効果を与え、各導入先での問題トラブルの共通化を図ることができ、対応策の共有によって、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、前記未署名トランザクション保持のための前記第2のデータストア構造には、
トランザクションインプットデータ項目として、以下のビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数の標準トランザクションインプットデータ項目として、未使用トランザクションアウトプット(Unspent Transaction Output、UTXO)を特定し、直前のトランザクションを特定するためのビットコインアーキテクチャで定められているデータ構造である、
1) Prevハッシュと、
2) Prevアウトプットインデックスと、
に加えて、以下の3)からの4)をひと組とする1又は複数の標準トランザクションアウトプット項目としての、
3) 宛先アドレスと、
4) 金額と、
を含み、さらに、前記トランザクションインプット毎に、以下の拡張トランザクションインプット構成項目として、
5)前記第1のデータストア構造に対応する公開鍵を特定するための共通キーと、
6)決定性ウォレットの生成に使用された鍵シーケンス番号と、これに加えて、
7)署名を格納するための署名欄とを、
加えて、追加の拡張トランザクション項目として
8)署名待ち又は署名済み又は送付済みの識別子を格納するためのトランザクションステータスコード
をさらに含むとよい。内部形式の拡張項目を拡張トランザクションとしてまとまって定義することで、秘密鍵情報の所在を構成機能間で分離配置可能とし、情報の構造化によって、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、秘密鍵生成のための第3のデータストア構造には、以下の1)から2)のデータ項目
1)決定性ウォレットの生成に使用された秘密鍵シードと、
2)決定性ウォレットの生成に使用された鍵シーケンス番号と、
を含むとよい。この構成で、特に決定性ウォレットで秘密鍵を装置内で署名時に動的に生成可能であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、 前記秘密鍵特定のための第4のデータストア構造には、以下の、
1)前記第3のデータストア構造の秘密鍵を特定するための共通キーと、この1つについて、
2)1又はマルチシグネチャ署名に対応する数の決定性ウォレットの生成に使用された公開鍵シードと、
3)決定性ウォレットの生成に使用された鍵シーケンス番号と、
を保持するとよい。公開鍵も秘密鍵と同様に、動的に生成可能であり、秘密鍵の管理と共通化され、両者がより整合性のある安全なウォレット装置が提供される。
なお、ウォレットシステムの追加の参考態様を以下に掲げる。
本発明に係るウォレットシステムの一参考態様は、公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、操作員によって遠隔で署名するための署名サブシステムと、ユーザからの処理リクエストを受入れ、前記署名サブシステムへ署名をリクエストするトランザクション処理サブシステムとを備え、シードと鍵シーケンス番号とによって秘密鍵を再生成可能である決定性ウォレット方式を採用し、前記署名サブシステムのメモリ上に秘密鍵シードを記憶する暗号通貨のためのウォレットシステムにおいて、本発明の一参考態様のウォレットシステムは、以下の特徴を有する。
すなわち、秘密鍵生成に必要とされる鍵シーケンス番号は、前記トランザクション処理サブシステムで組成された未署名トランザクションを前記署名サブシステムへ入力すると同時または入力後、署名をするときに外部から当該署名サブシステムへ提供され、シードと鍵シーケンス番号とは、前記提供前には前記トランザクション処理サブシステムと、前記署名サブシステムとに、分散記憶されているように構成されていることを特徴とするウォレットシステムが提供される。
上記構成は、ネットワークの入り口側にあってトランザクションの雛形を生成するトランザクション処理サブシステムと、秘密鍵シードを有し、操作員によって署名を生成する署名サブシステム間がネットワーク上分離され、より安全なウォレット装置が提供される。
本発明に係るウォレットシステムの他の参考態様は、公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、操作員によって遠隔で署名するための署名サブシステムと、ユーザからの処理リクエストを受入れ、前記署名サブシステムへ署名をリクエストするトランザクション処理サブシステムとを備え、シードと鍵シーケンス番号とによって秘密鍵を再生成可能である決定性ウォレット方式を採用し、前記署名サブシステム内のメモリ上に秘密鍵シードを記憶する暗号通貨のためのウォレットシステムにおいて、
前記ウォレットシステムは、システム内部で共通のアドレスを表象するものとしての共通キーを採用し、前記トランザクション処理サブシステム及び前記署名サブシステム内において当該共通キーがメモリ上に記憶されている。
前記トランザクション処理サブシステムは、前記署名の受取り、前記未署名トランザクションの署名完成の管理手段を有し、前記暗号通貨トランザクションのアドレスの支払い承認の署名取得及び保持のため、未署名トランザクションの組成手段を有し、前記暗号通貨の標準的トランザクションインプットデータ項目に当該ウォレットシステムの使用のための内部形式の拡張項目として拡張トランザクションインプットデータ項目を加えた、未署名トランザクションが組成されるように構成されるように構成されている。
前記拡張トランザクションインプットデータ項目には、前記アドレスに対応する前記共通キーと前記鍵シーケンス番号とを含み、前記トランザクション処理サブシステムで組成され、保持されている状態で、前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記鍵シーケンス番号と、前記署名サブシステムの前記秘密鍵シードとは、物理的に分散記憶されている。
前記未署名トランザクションが前記署名サブシステムに取り込まれることによって、当該未署名トランザクションが署名可能な状態に置かれることを特徴とするウォレットシステムが、本発明の他の参考態様で提供される。
この構成では、共通キーによって、ウォレットシステム内部が未署名トランザクションを介し、この意味なし記号列で繋ぐことによって、分離配置された複数のデータ構造をシステム連携可能することが可能になり、より安全なウォレット装置が提供される。
さらに追加の参考態様では、未署名トランザクションには、拡張トランザクションインプットデータ項目は複数セット格納され、前記共通キーが各セット毎に格納されていることを特徴とする、ウォレットシステムが提供されてよい。
この構成によって、共通キーによって、支払いアドレス毎に異なる署名手段に割り当てることが可能とされる。
さらに追加の参考態様では、未署名トランザクションの拡張トランザクションインプットデータ項目に格納されている前記共通キーと、署名サブシステムに記憶されている前記共通キーとは、当該ウォレットシステムに備えられたマッチング手段によってマッチングされ、前記共通キーが一致する当該未署名トランザクションが共通キーに対応する前記署名サブシステムの署名手段に提供されるように構成されていることを特徴とする、ウォレットシステムが提供されてよい。
本構成は、マッチング手段によって高速の未署名トランザクションの署名装置への割り当て管理を可能とし、高速化処理によって安全性を向上するとともに当該割り当てをシステム内で処理することによって、安全性を高める効果がある。
さらに追加の参考態様では、前記署名サブシステムは、操作員の指示によって遠隔地で暗号通貨署名するための遠隔署名装置と、当該遠隔署名装置へ署名リクエスト可搬データを生成、伝搬可能とするコールドウォレットサーバ装置とを含む。
前記秘密鍵シードが前記署名サブシステム内においては前記遠隔署名装置のメモリー上に記憶され、前記共通キーは前記コールドウォレットサーバ装置のメモリー上に記憶され、そして、前記共通キーは、前記遠隔署名装置で署名すべき署名に必要とされる秘密鍵シードを特定するための標識とされ、遠隔署名装置で署名後、署名済み未署名トランザクションを含む署名済み可搬データを当該遠隔署名装置から前記コールドウォレットサーバ装置へ伝搬可能に構成されていることを特徴とするウォレットシステムが提供される。
本構成では、コールドウォレットサーバ装置の導入によって、遠隔署名装置への未署名トランザクションの送信が半自動化の処理が可能となり、安全性が向上する。
さらに追加の参考態様では、コールドウォレットサーバ装置と前記トランザクション処理サブシステムとの間の署名フロー制御が構成される。
コールドウォレットサーバ装置は、署名待ち状態になると、前記共通キーを含む署名待ち通知を前記トランザクション処理サブシステムとのサブシステム間通信手段手段を介して前記トランザクション処理サブシステムへ送信し、前記トランザクション処理サブシステムからの署名リクエストを待つ。
当該コールドウォレットサーバ装置は、前記未署名トランザクションを含む署名リクエストを前記サブシステム間通信手段手段を介して前記トランザクション処理サブシステムから受信すると、遠隔地で署名する前記遠隔署名装置のための前記データ伝搬手段を介して、当該署名リクエストの前記署名リクエスト可搬データを生成し当該署名リクエスト可搬データが当該コールドウォレットサーバ装置から出力されるように構成されていることを特徴とするウォレットシステムが提供される。
さらに追加の参考態様では、遠隔署名装置とコールドウォレットサーバ装置間のデータ伝搬手段が構成される。
遠隔署名装置は、前記コールドウォレットサーバ装置との間にデータ伝搬手段を有し、秘密鍵の保管又は生成のため、当該遠隔署名装置装置で署名すべき署名に対応する前記秘密鍵シードを含み、当該秘密鍵シードが読み出し可能に構成されているデータストア構造をメモリ上に有し、暗号通貨署名手段を有している。
当該遠隔署名装置は、操作員によって指示されると、前記コールドウォレットサーバ装置から出力される前記署名リクエストを含む前記署名リクエスト可搬データを前記データ伝搬手段によって読み込み、当該署名リクエスト可搬データに含まれている未署名トランザクション内の共通キーのうち前記コールドウォレットサーバ装置において当該遠隔署名装置で署名すべき署名に関連づけられている前記共通キーと組みとなる前記鍵シーケンス番号と、当該データストア構造から読み出される前記秘密鍵シードとによって、当該装置の署名に必要とされる秘密鍵を再生成する。
そして、当該秘密鍵を使用し前記暗号通貨署名手段によって、前記未署名トランザクションに署名し、当該署名が前記データ伝搬手段を介して署名を含む前記署名済み可搬データとして出力されるように構成されていることを特徴とするウォレットシステムを提供する。
これら構成によって、遠隔署名装置への未署名トランザクションの送信がより確かに半自動化可能となり、より確実に安全性が向上する。
さらに追加の参考態様では、前記署名サブシステムは、公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、オンラインで署名するためのホットウォレットサーバ装置をさらに備え、前記ホットウォレットサーバ装置のメモリ上に秘密鍵シードを記憶する。
前記署名サブシステム内の前記ホットウォレットサーバ装置に記憶されている共通キーと、前記トランザクション処理サブシステムで組成され、保持されている状態で、前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記鍵シーケンス番号と、前記署名サブシステム内のホットウォレットサーバ装置の前記秘密鍵シードとは、物理的に分散記憶され、前記未署名トランザクションが前記トランザクション処理サブシステムから前記署名サブシステム内の前記ホットウォレットサーバ装置に取り込まれることによって、当該未署名トランザクションが署名可能な状態に置かれることを特徴とするウォレットシステムが提供される。
さらに追加の参考態様では、オンラインで署名するためのホットウォレットサーバ装置でも未署名トランザクションには、前記拡張トランザクションインプットデータ項目は複数セット格納され、前記共通キーが各セット毎に格納されていることを特徴とするウォレットシステムが提供され、共通キーによって、払いアドレス毎共通キーによって異なる署名手段に割り当てることが可能とされる。
さらに追加の参考態様では、未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記共通キーと、前記署名サブシステムに記憶されている前記共通キーとは、当該ウォレットシステムに備えられたマッチング手段によってマッチングされ、前記共通キーが一致する当該未署名トランザクションが当該共通キーに対応する署名を提供するホットウォレットサーバ装置の署名手段に提供されることを特徴とするウォレットシステムが提供され、トランザクションに触れる人の数を減らせ、複数のホットウォレットサーバ装置を署名により確実に使用可能になり、安全性が向上する。
さらに追加の参考態様では、ホットウォレットサーバ装置は、前記トランザクションマネジャ装置との間にサブシステム間通信手段を有し、秘密鍵の保管又は生成のため、前記共通キーを当該装置で署名すべき署名に必要とされる秘密鍵シードを特定するための標識とし、当該共通キーと、当該装置で署名すべき署名に対応する前記秘密鍵シードとを含み、当該秘密鍵シードが読み出し可能に構成されているデータストア構造をメモリ上に有し、暗号通貨署名手段を有することを特徴とするウォレットシステムが提供され、上記秘密鍵シードが共通キーで呼び出し可能に記憶され使用に便宜な、より安全性が向上する。
さらに追加の参考態様では、ホットウォレットサーバ装置は、署名待ち状態になると、当該ホットウォレットサーバ装置で署名すべき署名が関連づけられている前記共通キーを含む署名待ち通知を前記トランザクション処理サブシステムとのサブシステム間通信手段によって前記トランザクション処理サブシステムへ送信し、前記トランザクション処理サブシステムからの署名リクエストを待ち、未署名トランザクションを含む署名リクエストを前記サブシステム間通信手段によって前記トランザクション処理サブシステムから受信すると、未署名トランザクション内の共通キーのうち当該ホットウォレットサーバ装置で署名すべき署名が関連づけられている前記共通キーと組みとなる鍵シーケンス番号と、当該装置の前記データストア構造から当該共通キーを読み出しキーとして読み出される前記秘密鍵シードとによって、当該ホットウォレットサーバ装置の署名に必要とされる秘密鍵を再生成し、当該秘密鍵を使用し前記暗号通貨署名手段によって、前記未署名トランザクションに署名し、署名を前記サブシステム間通信手段によって前記トランザクション処理サブシステムへ送信するように構成されてことを特徴とするウォレットシステムが提供され、オンライン署名の連携が自動化され、トランザクションに触れる人の数を減らし、より安全性が向上する
さらに追加の参考態様では、トランザクション処理サブシステムは、署名フロー制御をするためのトランザクションマネジャ装置と、未署名トランザクション組成のための中央制御サーバ装置とを含み、前記トランザクションマネジャ装置は、前記中央制御モジュールとの間で前記未署名トランザクションを受信するための前記サブシステム内通信手段を第1の通信手段として備える。
また、前記ホットウォレットサーバ装置及び前記コールドウォレットサーバ装置、又はこれらのうちの少なくともいずれか一方との間で前記署名待ち通知の受信、前記署名リクエストの送信及び前記署名の受信をするためのサブシステム間通信手段を第2の通信手段として備える。
また、前記未署名トランザクションの署名完了まで当該トランザクションを保持する署名ステータス管理手段を備える。
また、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換手段を備える。
また、前記暗号通貨トランザクションを出力するための外部接続通信手段を第3の通信手段とし、前記第3の通信手段を介して前記暗号通貨トランザクションを出力するための暗号通貨トランザクションのデータ出力手段を有することを特徴とするウォレットシステムが提供される。
この構成では、ホットウォレットサーバ装置及びコールドウォレットサーバ装置が同等に自動的に制御可能となり、トランザクションに触れる人の数を減らし、より安全性が向上する。
さらに追加の参考態様では、トランザクションマネジャ装置は、前記第1の通信手段を介して前記中央制御サーバ装置から前記未署名トランザクションを受信すると、当該未署名トランザクションを当該トランザクションマネジャ装置内の未署名トランザクションプールに蓄積する。
一方で、前記第第2の通信手段を介して前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置から前記署名待ち通知を受信すると、
当該トランザクションマネジャ装置内に保持されている前記未署名トランザクションプールの中から、前記署名待ち通知に含まれる前記共通キーと、前記未署名トランザクション内に保持されている前記共通キーとをマッチングし、両者が一致する未署名トランザクションを選択し、
当該未署名トランザクションを前記署名リクエストとともに当該署名待ち通知を送信した前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置へ前記第2の通信手段を介して送信する。
その応答として、前記署名リクエストを送信した前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置から前記署名リクエストに対応する署名を前記第2の通信手段を介して受信し、前記未署名トランザクションの署名完了に要する署名数と署名完了数をチェックし、所定の署名承認条件が満たされたとき、前記未署名トランザクションの署名完了とし、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換手段によって、前記第3の通信手段を介して外部へ前記暗号通貨トランザクションを出力するように構成されていることを特徴とするウォレットシステムが提供され、未署名トランザクションの署名完了に要する署名数と署名完了数をチェックもシステムによって管理可能とし、より安全性が向上する。
さらに、追加の参考態様で、第1の通信手段は、サーバ認証機能を備えるとよい。トランザクションマネジャ装置とネットワークの入り口側にあるウォレット中央制御サーバ装置との間の通信手段であるサブシステム内通信手段としての第1の通信手段は、サーバ認証機能を備え、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、前記トランザクションマネジャ装置にはホットウォレットサーバ装置が複数接続されるとよい。処理をホットウォレットサーバ装置間で分担すれば、ホットウォレットサーバ装置の多重化によって、処理能力が増し、スケーラビリティが得られ、あるいは、複数のホットウォレットサーバ装置で同じ秘密鍵に対応する署名を保持すれば、1つに故障があっても他のホットウォレットサーバ装置で処理を続行可能であり、アベイラビリティが提供される。
さらに、追加の参考態様で、コールドウォレットサーバ装置は、操作パネル装置が接続され、署名リクエストのための可搬データ出力を促すプロンプトを表示可能であり、操作パネル装置へのオペレーターの操作によって署名リクエスト可搬データが出力可能であるとよい。コールドウォレットサーバ装置に可搬データ出力装置が接続され、より容易にオフラインにある遠隔署名装置に署名に必要なデータをより早く、より正確にデータ伝搬でき、その意味で、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、インターネットからオフラインの遠隔署名装置は可搬データ読み込み装置が接続され、操作パネル装置が接続され前記署名リクエスト可搬データの読み込みを促すプロンプトが表示可能であり、オペレーターの操作によって前記署名リクエスト可搬データを読み込み可能であるとよい。この構成で、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、インターネットからオフラインの遠隔署名装置は可搬データ出力装置が接続され、前記操作パネル装置には署名済み可搬データ出力プロンプトを表示可能であり、オペレーターが暗号通貨署名手段によって前記秘密鍵を用いる署名に伴い署名済み可搬データを出力可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、コールドウォレットサーバ装置の前記操作パネル装置には署名済みの可搬データ読み込みプロンプトが表示可能であり、オペレーターの操作によって署名済み可搬データを読み込み可能であり、当該署名済み可搬データ読み込みに伴い、第2の通信手段を介してコールドウォレットサーバ装置から前記トランザクションマネジャ装置へ署名を送信可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働き、さらに、より安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、署名リクエスト可搬データ及び署名済み可搬データは、QRコード(登録商標)印刷紙であるとよい。この構成では、より簡便にデータの伝達が可能となる。
さらに、追加の参考態様で、トランザクションマネジャ装置にはコールドウォレットサーバ装置が複数接続されるとよい。この構成では、より冗長な構成、余裕のある能力が提供可能となり、コールドウォレット処理のスケーラビリティ、アベイラビリティが向上する。
さらに、追加の参考態様で未署名トランザクションは、複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数の前記ホットウォレットサーバ装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のホットウォレットサーバ装置に侵入する必要が生じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数のインターネットからオフラインの遠隔署名装置に分散して格納されたものであるとよい。この構成では、コールドウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のコールドウォレットサーバ装置に侵入する必要が生じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、1又は複数の前記ホットウォレットサーバ装置かつ1又は複数のインターネットからオフラインの前記遠隔署名装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバとコールドウォレットサーバ上に跨ってマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためにはホットウォレットサーバ装置及びコールドウォレットサーバ装置に跨って侵入する必要が生じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、暗号通貨トランザクションをもとに暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段を前記トランザションマネジャ装置がさらに備えるとよい。この構成では、暗号通貨トランザクションの署名完成から連続して、暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成するため、人の介在する余地がなく、内部者の犯罪行為を排除でき、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、第3の通信手段を介して受入れられた前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置をさらに含むとよい。この構成では、トランザクションマネジャ装置とインターネットとの間にブロードキャスト依頼サーバ装置を介在させ、かつ、この間の通信は、第2の通信とは別のルートが用意され、遠隔署名装置の隔離がより確実となり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、暗号通貨ネットワークとインターネット接続され、前記暗号通貨ネットワーク上へブロードキャスト可能である1又は複数のノード装置と、前記ノード装置に接続されており、前記トランザクションマネジャ装置の第3の通信手段を介して受信された前記暗号通貨トランザクションを前記ノード装置を介して暗号通貨ネットワークへブロードキャストするための手段を有するノードマネジャー装置とをさらに含むとよい。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得るが、この構成では、自家用ノードを配し、このような悪意を排除可能である、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、ノードマネジャー装置は、前記複数のノード装置からブロックチェーン又はブロックチェーンに記録されるべき未検証トランザクションを受信し、受信された前記ブロックチェーン同士の対比及び前記未検証トランザクション同士の対比又はこれらのいずれかの対比によって、前記複数のノード装置の対比データのうち過半数において前記対比が一致するか否かを検査する手段を含むノードマネジャー装置であるとよい。この構成では、ノード装置に悪意が入る場合の影響をより排除可能である。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得る。ノードのなりすまし等の悪意に対して有効であり、より安全なウォレット装置が提供される
さらに、追加の参考態様で、ホットウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。あるいは、追加の参考態様で、コールドウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。これらの構成では、遠隔地のどのサーバに侵入すればよいのかが外部からも内部からも不案内であり得て、より安全なウォレット装置が提供される。マルチシグネチャを遠隔地に設けるコールドウォレットサーバ装置に跨がらせれば、ネットワークを跨ぐより組織的な内部犯罪グループを必要とし、内部統制上もより安全なウォレット装置が提供される。加えて、同じ鍵を遠隔におけば災害にも強く、アベイラビリティも向上され、この点でもより安全なウォレット装置が提供される。
さらに、追加の参考態様で、未署名トランザクションが所定の要件をみたす時、前記署名リクエストに署名すべきユーザーへ署名を促すプロンプトを表示し、署名入力を可能とする操作パネル装置を備え、前記パネル装置は操作パネルサーバ装置を介して前記ホットウォレットサーバ装置に接続されているとよい。この構成では、ホットウォレットサーバの場合でも、例えば、所定の場合に、インターベンション可能であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、前段落のプロンプトは、前記未署名トランザクショ
ンに含まれる支払い承認総額が所定の閾値を超えるときに表示されるとよい。すべてのトランザクションでプロンプトを介在させると少額の取引に紛れてしまうが、この構成では、高額取引にフォーカス可能であって、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、前記複数のホットウォレットサーバ装置は、前記署名サブシステム内で前記秘密鍵の保管又は生成するためのデータストア構造のデータエレメントのうち少なくとも一部を入力するためのマスター入力手段を備えるウォレットシステムが提供される。
さらに、追加の参考態様で、前記複数のホットウォレットサーバ装置は、前記署名サブシステム内で前記秘密鍵の保管又は生成するためのデータストア構造のデータエレメントのうち、少なくとも一部の秘密鍵の保管又は生成に用いるデータを一群のホットウォレットサーバ装置に外部から入力し保管可能であるウォレットシステムが提供される。
さらに、追加の参考態様で、トランザクションマネジャ装置は、未署名トランザクションが求める署名のうち前記少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能であるウォレットシステムが提供される。上記3つの構成参考態様は、秘密鍵マスターデータを外部化、可搬とされることで運用の自由度を増し、どこにどの秘密鍵の情報があるのかが、外部にも内部にも不明とされ得て、ホットウォレットサーバ装置の使用参考態様の柔軟性は、より安全なウォレット装置の提供を可能とする。また、災害時の柔軟な再構成も可能となり、アベイラビリティの向上を通じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、少なくとも一部の秘密鍵のための情報を一群のホットウォレットサーバ装置に外部から入力し保管可能であり、前記トランザクションマネジャ装置は、前記未署名トランザクションが求める秘密鍵のうち前記少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能であるとよい。この構成は、秘密鍵マスターデータを外部化、可搬とされることで運用の自由度を増し、どこにどの秘密鍵の情報があるのかが、外部にも内部にも不明とされ得て、ホットウォレットサーバ装置の使用参考態様の柔軟性は、より安全なウォレット装置の提供を可能とする。また、災害時の柔軟な再構成も可能となり、アベイラビリティの向上を通じ、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、トランザクションマネジャ装置は、前記共通キー及び共通キーに対応する1又は複数のシードを1つのグループとして、1又は複数の当該グループをマスターデータとして保持するとよい。決定性ウォレット、複数のシードがひとつの纏まりのあるグループが形成される。このようなグループは包括管理するのが適当であり、重要性の高いグループの重点管理も可能であり、マルチシグネチャの使用にもより好適であり、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、ホットウォレットサーバ装置の一部が1又は複数のクラウドコンピューテングサービス上の仮想サーバ上に設けられているとよい。この構成では、個別のハードウェアをもつよりも安価で構成でき、より安全なウォレット装置が経済的に提供される。クラウドコンピューテングサービスの介在によって、ホットウォレットサーバ装置の一部が外部組織の管理にあって、内部犯罪者は単独で、すべての秘密鍵の入手が困難になり、より安全なウォレット装置が提供される。また、クラウドコンピューテングサービスの提供する高度で多様なネットワーク認証の介在によって、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、暗号通貨は決定性ウォレットを採用し得る仮想通貨であり、あるいは、暗号通貨はビットコインであるとよい。ビットコインは情報が開示されており、より安全性への要求が高く、当業者によれば高い安全性を提供し得る本発明により好適である。
あるいは、追加の参考態様で、前記暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含む決定性ウォレットを採用し得るメタコイン又は決定性ウォレットを採用し得るオルトコインであるウォレットシステムが提供される。いずれもブロックチェーンテクノロジの上で動作することが前提であり、当業者であれば、ビットコインと同様の効果を発揮でき、これらのより安全なウォレット装置が提供される。
さらに、追加の参考態様で、 前記処理リクエストデータは、リクエスターのサーバプログラムとのアプリケーションプログラムインターフェース(以下、APIという)で定められる、以下の、データ項目
1)1又は複数の支払元を特定するための共通キー
2)1又は複数の宛先アドレス
3)支払い金額
4)前記トランザクションの暗号通貨ネットワーク処理の手数料の負担先を前記出金口座負担又は共通キーで定められるアドレス又は宛先アドレスのいずれの負担とするかを定める手数料負担先コード
を含むウォレットシステムが提供される。この構成は、ユーザによって個性のあるリクエストデータをウォレット装置内で使用されるAPIデータ構造APIへ変換させ、内部処理に適合する形式へ変換し、ウォレット装置内の各部のユーザ毎のカスタマイズによる変動を最小限に抑える効果を与え、各導入先での問題トラブルの共通化を図ることができ、対応策の共有によって、より安全なウォレット装置が提供される。
さらに、追加の参考態様で、トランザクション処理サブシステム内にアドレスを記憶するアドレスマスタを備え、そのデータストア構造には、以下の1)から3)のデータ項目
1)アドレスに対応する共通キー
2)鍵シーケンス番号
3)暗号通貨アドレス
を含むウォレットシステムが提供されてもよい。
さらに、追加の参考態様では、未署名トランザション保持のためのデータストア構造には、
トランザクションインプットデータ項目として、以下のビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数の標準トランザクションインプットデータ項目として、未使用トランザクションアウトプット(Unspent Transaction Output、UTXO)を特定し、直前のトランザションを特定するためのビットコインアーキテクチャで定められているデータ構造である、
1) Prevハッシュと、
2) Prevアウトプットインデックスと、
に加えて、以下の3)からの4)をひと組とする1又は複数の標準トランザクションアウトプット項目としての、
3) 宛先アドレスと、
4) 金額と、
を含み、さらに、前記トランザクションインプット毎に、以下の拡張トランザクションインプット構成項目として、
5)前記共通キーと、
6)決定性ウォレットの生成に使用された鍵シーケンス番号と、これに加えて、
7)署名を格納するための署名欄とを、
加えて、追加の拡張トランザクション項目として
8)署名待ち又は署名済み又は送付済みの識別子を格納するためのトランザクションステータスコードをさらに含むウォレットシステムが提供される。
秘密鍵の保管又は生成のためのデータストア構造には、以下の1)から2)のデータ項目
1)決定性ウォレットの生成に使用された秘密鍵シードと、
2)決定性ウォレットの生成に使用された鍵シーケンス番号と、
を含むウォレットシステムが提供される。
本発明は、秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置に利用可能であり、例えば、仮想通貨交換取引所等、仮想通貨取引事業者やインターネット上で取引決済をする事業者等広く暗号通貨ウォレットを使用する事業に利用可能である。
1 一実施形態に係るウォレット装置
2 他の実施形態に係るウォレット装置
3 その他の代替実施形態に係るウォレット装置
4 その他の代替実施形態に係るウォレット装置
5 その他の代替実施形態に係るウォレット装置
100 ウォレット中央制御装置
110 APIモジュール
120 中央制御モジュール(中央制御部)
200 トランザクションマネジャ装置
210 トランザクションマネジャモジュール(トランザクションマネジャ部)
240 データ変換モジュール(データ変換部)
241 データ出力モジュール(データ出力部)
300 ホットウォレットサーバ装置
310 ホットウォレットサーバ(ホットウォレットサーバ部)
339 操作パネル装置
400 コールドウォレットサーバ装置(コールドウォレットサーバ部)
410 コールドウォレットサーバ(コールドウォレットサーバ部)
420 遠隔操作モジュール
429 操作パネル装置
430 遠隔署名モジュール(遠隔署名部)
439 操作パネル装置
450 遠隔署名装置
500 ノードマネジャ装置(ノードマネジャモジュール)
510 ノードマネジャモジュール(ノードマネジャモジュール部)
600 ノード装置
800 クラウドコンピューティングサービス
D1 第1のデータストア構造
D2 第2のデータストア構造
D3 第3のデータストア構造
D4 第4のデータストア構造
C1 秘密鍵
C2 秘密鍵
H1 秘密鍵
M1 アドレスマスタ
M3 秘密鍵マスタ
M4 共通キーマスタ


Claims (46)

  1. 公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、操作員によって遠隔で署名するための署名サブシステムと、ユーザからの処理リクエストを受入れ、前記署名サブシステムへ署名をリクエストするトランザクション処理サブシステムとを備え、シードと鍵シーケンス番号とによって秘密鍵を再生成可能である決定性ウォレット方式を採用し、前記署名サブシステムのメモリ上にシードを記憶する暗号通貨のためのウォレットシステムにおいて、
    秘密鍵生成に必要とされる前記鍵シーケンス番号は、前記トランザクション処理サブシステムで組成された未署名トランザクションを前記署名サブシステムへ入力すると同時または入力後、署名をするときに外部から当該署名サブシステムへ提供され、前記シードと前記鍵シーケンス番号とは、前記提供の前には前記署名サブシステムと、前記トランザクション処理サブシステムとに、分散記憶されているように構成されていることを特徴とするウォレットシステム。
  2. 公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、操作員によって遠隔で署名するための署名サブシステムと、ユーザからの処理リクエストを受入れ、前記署名サブシステムへ署名をリクエストするトランザクション処理サブシステムとを備え、シードと鍵シーケンス番号とによって秘密鍵を再生成可能である決定性ウォレット方式を採用し、前記署名サブシステム内のメモリ上にシードを記憶する暗号通貨のためのウォレットシステムにおいて、
    前記ウォレットシステムは、システム内部で共通のアドレスを表象するものとしての共通キーを採用し、前記トランザクション処理サブシステム及び前記署名サブシステム内において当該共通キーがメモリ上に記憶されており、
    前記トランザクション処理サブシステムは、前記署名の受取り、未署名トランザクションの署名完成の管理手段を有し、前記暗号通貨トランザクションのアドレスの支払い承認の署名取得及び保持のため、前記未署名トランザクションの組成手段を有し、前記暗号通貨の標準的トランザクションインプットデータ項目に当該ウォレットシステムの使用のための内部形式の拡張項目として拡張トランザクションインプットデータ項目を加えた、前記未署名トランザクションが組成されるように構成されており、前記拡張トランザクションインプットデータ項目には、前記アドレスに対応する前記共通キーと前記鍵シーケンス番号とを含み、前記トランザクション処理サブシステムで組成され、保持されている状態で、前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記鍵シーケンス番号と、前記署名サブシステムの前記シードとは、物理的に分散記憶され、前記未署名トランザクションが前記署名サブシステムに取り込まれることによって、当該未署名トランザクションが署名可能な状態に置かれることを特徴とするウォレットシステム。
  3. 前記未署名トランザクションには、前記拡張トランザクションインプットデータ項目は複数セット格納され、前記共通キーが各セット毎に格納されるように構成されていることを特徴とする、請求項2記載のウォレットシステム。
  4. 前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記共通キーと、前記署名サブシステムに記憶されている前記共通キーとは、当該ウォレットシステムに備えられたマッチング手段によってマッチングされ、前記共通キーが一致する当該未署名トランザクションが当該共通キーに対応する署名を提供する前記署名サブシステムの署名手段に提供されるように構成されていることを特徴とする、請求項2または3記載のウォレットシステム。
  5. 前記署名サブシステムは、操作員の指示によって遠隔地で暗号通貨署名するための遠隔署名装置と、当該遠隔署名装置へ署名リクエスト可搬データを生成、伝搬可能とするコールドウォレットサーバ装置とを含み、前記シードが前記署名サブシステム内においては前記遠隔署名装置のメモリ上に記憶され、前記共通キーは前記コールドウォレットサーバ装置のメモリ上に記憶され、そして、前記共通キーは、前記遠隔署名装置で署名すべき署名に必要とされる前記シードを特定するための標識とされ、前記遠隔署名装置で署名後、署名済み未署名トランザクションを含む署名済み可搬データを当該遠隔署名装置から前記コールドウォレットサーバ装置へ伝搬可能に構成されていることを特徴とする請求項2から4のいずれか1項に記載のウォレットシステム。
  6. 前記コールドウォレットサーバ装置は、署名待ち状態になると、前記共通キーを含む署名待ち通知を前記トランザクション処理サブシステムとのサブシステム間通信手段を介して前記トランザクション処理サブシステムへ送信し、前記トランザクション処理サブシステムからの署名リクエストを待ち、
    当該コールドウォレットサーバ装置は、前記未署名トランザクションを含む署名リクエストを前記サブシステム間通信手段を介して前記トランザクション処理サブシステムから受信すると、遠隔地で署名する前記遠隔署名装置のためのデータ伝搬手段を介して、当該署名リクエストの前記署名リクエスト可搬データを生成し当該署名リクエスト可搬データが当該コールドウォレットサーバ装置から出力されるように構成されていることを特徴とする請求項5に記載のウォレットシステム。
  7. 前記遠隔署名装置は、前記コールドウォレットサーバ装置との間にデータ伝搬手段を有し、
    当該遠隔署名装置で署名すべき署名に対応する前記シードを含み、当該シードが読み出し可能に構成されている秘密鍵の保管又は生成のためのデータストア構造をメモリ上に有し、
    暗号通貨署名手段を有し、
    当該遠隔署名装置は、操作員によって指示されると、前記コールドウォレットサーバ装置から出力される署名リクエストを含む前記署名リクエスト可搬データを当該データ伝搬手段によって読み込み、当該署名リクエスト可搬データに含まれている前記未署名トランザクション内の前記のうち前記コールドウォレットサーバ装置において当該遠隔署名装置で署名すべき署名に関連づけられている前記共通キーと組みとなる前記鍵シーケンス番号と、当該データストア構造から読み出される前記シードとによって、当該遠隔署名装置の署名に必要とされる秘密鍵を再生成し、当該秘密鍵を使用し前記暗号通貨署名手段によって、前記未署名トランザクションに署名し、当該署名が当該データ伝搬手段を介して署名を含む前記署名済み可搬データとして出力されるように構成されていることを特徴とする請求項5又は6に記載のウォレットシステム。
  8. 前記署名サブシステムは、公開鍵暗号方式による秘密鍵を使用して暗号通貨トランザクションの支払い承認の署名を、オンラインで署名するためのホットウォレットサーバ装置をさらに備え、前記ホットウォレットサーバ装置のメモリ上に前記シードを記憶し、
    前記署名サブシステム内の前記ホットウォレットサーバ装置に記憶されている前記共通キーと、前記トランザクション処理サブシステムで組成され、保持されている状態で、前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記鍵シーケンス番号と、前記署名サブシステム内の前記ホットウォレットサーバ装置の前記シードとは、物理的に分散記憶され、前記未署名トランザクションが前記トランザクション処理サブシステムから前記署名サブシステム内の前記ホットウォレットサーバ装置に取り込まれることによって、当該未署名トランザクションが署名可能な状態に置かれることを特徴とする請求項2から6のいずれか1項に記載のウォレットシステム。
  9. 前記未署名トランザクションには、前記拡張トランザクションインプットデータ項目は複数セット格納され、前記共通キーが各セット毎に格納されていることを特徴とする、請求項8記載のウォレットシステム。
  10. 前記未署名トランザクションの前記拡張トランザクションインプットデータ項目に格納されている前記共通キーと、前記署名サブシステムに記憶されている前記共通キーとは、当該ウォレットシステムに備えられたマッチング手段によってマッチングされ、前記共通キーが一致する当該未署名トランザクションが当該共通キーに対応する署名を提供する前記ホットウォレットサーバ装置の署名手段に提供されることを特徴とする、請求項8または9記載のウォレットシステム。
  11. 前記ホットウォレットサーバ装置は、前記トランザクション処理サブシステムとの間にサブシステム間通信手段を有し、秘密鍵の保管又は生成のため、前記共通キーを当該ホットウォレットサーバ装置で署名すべき署名に必要とされる前記シードを特定するための標識とし、当該共通キーと、当該ホットウォレットサーバ装置で署名すべき署名に対応する前記シードとを含み、当該シードが読み出し可能に構成されているデータストア構造をメモリ上に有し、
    暗号通貨署名手段を有することを特徴とする、請求項8から10いずれか1項に記載のウォレットシステム。
  12. 前記ホットウォレットサーバ装置は、署名待ち状態になると、当該ホットウォレットサーバ装置で署名すべき署名が関連づけられている前記共通キーを含む署名待ち通知を前記トランザクション処理サブシステムとの前記サブシステム間通信手段によって前記トランザクション処理サブシステムへ送信し、前記トランザクション処理サブシステムからの署名リクエストを待ち、
    前記未署名トランザクションを含む署名リクエストを前記トランザクション処理サブシステムとのサブシステム間通信手段によって前記トランザクション処理サブシステムから受信すると、前記未署名トランザクション内の前記共通キーのうち当該ホットウォレットサーバ装置で署名すべき署名が関連づけられている前記共通キーと組みとなる前記鍵シーケンス番号と、当該ホットウォレットサーバ装置の前記データストア構造から当該共通キーを読み出しキーとして読み出される前記シードとによって、当該ホットウォレットサーバ装置の署名に必要とされる秘密鍵を再生成し、当該秘密鍵を使用し前記暗号通貨署名手段によって、前記未署名トランザクションに署名し、署名を前記トランザクション処理サブシステムとの前記サブシステム間通信手段によって前記トランザクション処理サブシステムへ送信するように構成されていることを特徴とする、請求項11に記載のウォレットシスム。
  13. 前記トランザクション処理サブシステムは、署名フロー制御をするためのトランザクションマネジャ装置と、前記未署名トランザクションの組成のための中央制御サーバ装置とを含み、前記トランザクションマネジャ装置が当該中央制御サーバ装置との間で前記未署名トランザクションを受信するための、前記中央制御サーバ装置と、前記トランザクションマネジャ装置との間にトランザクション処理サブシステム内通信手段を第1の通信手段として有し、
    署名サブシステムとの間で署名待ち通知の受信、署名リクエストの送信及び署名の受信をするための前記トランザクション処理サブシステムと、前記署名サブシステムとの間にサブシステム間通信手段を第2の通信手段として有し、
    前記未署名トランザクションの署名完了まで当該トランザクションを保持する署名ステータス管理手段を有し、
    署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換手段を有し、
    前記暗号通貨トランザクションを外部出力するための外部接続通信手段を第3の通信手段として有し、
    前記第3の通信手段を介して前記暗号通貨トランザクションを出力するための暗号通貨トランザクションのデータ出力手段を有することを特徴とする請求項2から12項のいずれか1項に記載のウォレットシステム。
  14. 前記トランザクションマネジャ装置は、前記第1の通信手段を介して前記中央制御サーバ装置から前記未署名トランザクションを受信すると、当該未署名トランザクションを当該トランザクションマネジャ装置内の未署名トランザクションプールに蓄積し、
    前記第2の通信手段を介して前記署名サブシステムから署名待ち通知を受信すると、
    当該トランザクションマネジャ装置内に保持されている前記未署名トランザクションプールの中から、前記署名待ち通知に含まれる前記共通キーと、前記未署名トランザクション内に保持されている前記共通キーとをマッチングし、両者が一致する未署名トランザクションを選択し、
    当該未署名トランザクションを前記署名リクエストとともに前記署名サブシステムへ前記第2の通信手段を介して送信し、その応答として、
    前記署名サブシステムから前記署名リクエストに対応する署名を前記第2の通信手段を介して受信し、
    前記未署名トランザクションの署名完了に要する署名数と署名完了数をチェックし、所定の署名承認条件が満たされたとき、前記未署名トランザクションの署名完了とし、
    署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するための前記データ変換手段によって、前記第3の通信手段を介して外部へ前記暗号通貨トランザクションを出力するように構成されている、ことを特徴とする請求項13項に記載のウォレットシステム。
  15. 前記第1の通信手段は、サーバ認証機能を備える請求項13又は14記載のウォレットシステム。
  16. 前記署名サブシステムは、操作員の指示によって遠隔地で暗号通貨署名するための暗号手段を有する遠隔署名装置と、当該遠隔署名装置へ署名リクエスト可搬データを生成、伝搬可能とするコールドウォレットサーバ装置とを含み、前記トランザクションマネジャ装置には当該コールドウォレットサーバ装置が1又は複数接続される請求項5に従属する請求項13又は14に記載のウォレットシステム。
  17. 前記コールドウォレットサーバ装置は、操作パネル装置が接続され、署名リクエストのための前記署名リクエスト可搬データの出力を促すプロンプトを表示可能であり、前記操作パネル装置へのオペレーターの操作によって前記署名リクエスト可搬データが出力可能である請求項5から7又は16のいずれか1項に記載のウォレットシステム。
  18. 前記遠隔署名装置は可搬データ読み込み装置が接続され、操作パネル装置が接続され前記署名リクエスト可搬データの読み込みを促すプロンプトが表示可能であり、オペレーターの操作によって前記署名リクエスト可搬データを読み込み可能である請求項7又は17に記載のウォレットシステム。
  19. 前記遠隔署名装置は可搬データ出力装置が接続され、前記操作パネル装置には署名済み可搬データ出力プロンプトを表示可能であり、オペレーターが暗号通貨署名手段によって前記秘密鍵を用いる署名に伴い署名済み可搬データを出力可能である請求項18に記載のウォレットシステム。
  20. 前記コールドウォレットサーバ装置は可搬データ読み込み装置が接続され、前記操作パネル装置には署名済みの可搬データ読み込みプロンプトが表示可能であり、オペレーターの操作によって署名済み可搬データを読み込み可能であり、当該署名済み可搬データ読み込みに伴い、前記第2の通信手段を介してコールドウォレットサーバ装置から前記トランザクションマネジャ装置へ署名を送信可能である請求項16に従属する請求項19に記載のウォレットシステム。
  21. 前記署名リクエスト可搬データは、QRコード(登録商標)印刷紙である請求項17又は18に記載のウォレットシステム。
  22. 前記署名サブシステムは、オンラインで署名するための暗号手段を有するホットウォレットサーバ装置を含み、前記トランザクションマネジャ装置には当該ホットウォレットサーバ装置が1又は複数接続される請求項8に従属する請求項13又は14のいずれかに記載の、又は、請求項16に記載のウォレットシステム。
  23. 前記未署名トランザクションは、複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する前記シードは、複数の前記ホットウォレットサーバ装置に分散して格納されたものである請求項22に記載のウォレットシステム。
  24. 前記未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する前記シードは、複数の前記遠隔署名装置に分散して格納されたものである請求項17から21のいずれか1項に記載のウォレットシステム。
  25. 前記未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する前記シードは、1又は複数の前記ホットウォレットサーバ装置かつ1又は複数の前記遠隔署名装置に分散して格納されたものである請求項16に従属する請求項22に記載のウォレットシステム。
  26. 前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段を前記トランザクションマネジャー装置がさらに備える請求項14に記載のウォレットシステム。
  27. 前記第3の通信手段を介して受入れられた前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置をさらに含む請求項14に記載のウォレットシステム。
  28. 暗号通貨ネットワークとインターネット接続され、前記暗号通貨ネットワーク上へブロードキャスト可能である1又は複数のノード装置と、前記ノード装置に接続されており、前記トランザクションマネジャ装置との前記第3の通信手段を介して受信された前記暗号通貨トランザクションを前記ノード装置を介して暗号通貨ネットワークへブロードキャストするための手段を有するノードマネジャー装置とをさらに含むことを特徴とする請求項14に記載のウォレットシステム。
  29. 前記ノードマネジャー装置は、前記複数のノード装置からブロックチェーン又はブロックチェーンに記録されるべき未検証トランザクションを受信し、受信された前記ブロックチェーン同士の対比及び前記未検証トランザクション同士の対比又はこれらのいずれかの対比によって、前記複数のノード装置の対比データのうち過半数において前記対比が一致するか否かを検査する手段を含むノードマネジャー装置である請求項28に記載のウォレットシステム。
  30. 前記ホットウォレットサーバ装置の少なくとも1つは遠隔地に設けられている請求項23又は25に記載のウォレットシステム。
  31. 前記コールドウォレットサーバ装置の少なくとも1つは遠隔地に設けられている請求項24又は請求項5に従属する請求項26に記載のウォレットシステム。
  32. 前記未署名トランザクションが所定の要件をみたす時、署名リクエストに署名すべきユーザーへ署名を促すプロンプトを表示し、署名入力を可能とする操作パネル装置を備え、前記操作パネル装置は操作パネルサーバ装置を介して前記ホットウォレットサーバ装置に接続されている請求項8に従属する請求項14に記載のウォレットシステム。
  33. 前記プロンプトは、前記未署名トランザクションに含まれる支払い承認総額が所定の閾値を超えるときに表示される請求項32に記載のウォレットシステム。
  34. 前記複数のホットウォレットサーバ装置は、前記署名サブシステム内の前記メモリ上の秘密鍵秘密鍵の保管又は生成するためのデータストア構造のデータエレメントのうち少なくとも一部を入力するためのマスター入力手段を備える請求項22に記載のウォレットシステム。
  35. 前記複数のホットウォレットサーバ装置は、前記署名サブシステム内の前記メモリ上の秘密鍵の保管又は生成のためのデータストア構造のデータエレメントのうち、少なくとも一部の秘密鍵の保管又は生成に用いるデータを一群のホットウォレットサーバ装置に外部から入力し保管可能である請求項22に記載のウォレットシステム。
  36. 前記トランザクションマネジャ装置は、前記未署名トランザクションが求める署名のうち少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能である請求項35に記載のウォレットシステム。
  37. 前記トランザクションマネジャ装置は、前記共通キー及び当該共通キーに対応する1又は複数の公開鍵生成に用いられたシードを1つのグループとして、1又は複数の当該グループをマスターデータとして保持する請求項14記載のウォレットシステム。
  38. 前記トランザクションマネジャ装置及び中央制御サーバ装置、並びに、前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置は、仮想サーバ上に設けられている請求項16に従属する請求項22記載のウォレットシステム。
  39. 前記ホットウォレットサーバ装置の一部が1又は複数のクラウドコンピューティングサービス上の仮想サーバ上に設けられている請求項22記載のウォレットシステム。
  40. 前記暗号通貨は決定性ウォレットを採用し得る仮想通貨である請求項14に記載されたウォレットシステム。
  41. 前記暗号通貨はビットコインである請求項14又は請求項37に記載されたウォレットシステム。
  42. 前記暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含む決定性ウォレットを採用し得るメタコイン又は決定性ウォレットを採用し得るオルトコインである請求項14又は請求項37に記載されたウォレットシステム。
  43. 前記トランザクション処理サブシステムにおいて、ユーザからの処理リクエストデータは、リクエスターのサーバプログラムとのアプリケーションプログラムインターフェース(以下、APIという)で定められる、以下の、データ項目
    1)1又は複数の支払元を特定するための前記共通キー
    2)1又は複数の宛先アドレス
    3)支払い金額
    4)前記トランザクションの暗号通貨ネットワーク処理の手数料の負担先を前記出金口座負担又は前記共通キーで定められるアドレス又は宛先アドレスのいずれの負担とするかを定める手数料負担先コード
    を含むことを特徴とする請求項14又は請求項41又は請求項42のうちいずれか1項に記載のウォレットシステム。
  44. 前記トランザクション処理サブシステム内にアドレスを記憶するアドレスマスタを備え、そのデータストア構造には、以下の1)から3)のデータ項目
    1)アドレスに対応する前記共通キー
    2)前記鍵シーケンス番号
    3)暗号通貨アドレス
    を含む請求項14又は請求項41又は請求項42のうちいずれか1項に記載のウォレットシステム。
  45. 前記未署名トランザクションの保持のためのデータストア構造には、
    トランザクションインプットデータ項目として、以下のビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数の標準トランザクションインプットデータ項目として、未使用トランザクションアウトプット(Unspent Transaction Output、UTXO)を特定し、直前のトランザクションを特定するためのビットコインアーキテクチャで定められているデータ構造である、
    1) Prevハッシュと、
    2) Prevアウトプットインデックスと、
    に加えて、以下の3)からの4)をひと組とする1又は複数の標準トランザクションアウトプット項目としての、
    3) 宛先アドレスと、
    4) 金額と、
    を含み、さらに、前記トランザクションインプット毎に、以下の拡張トランザクションインプット構成項目として、
    5)前記共通キーと、
    6)決定性ウォレットの生成に使用された前記鍵シーケンス番号と、これに加えて、
    7)署名を格納するための署名欄とを、
    加えて、追加の拡張トランザクション項目として
    8)署名待ち又は署名済み又は送付済みの識別子を格納するためのトランザクションステータスコード
    をさらに含む請求項14又は請求項41又は請求項42のうちいずれか1項に記載のウォレットシステム。
  46. 前記署名サブシステム内の前記メモリ上の秘密鍵の保管又は生成のためのデータストア構造には、以下の1)から2)のデータ項目
    1)決定性ウォレットの生成に使用された前記シードと、
    2)決定性ウォレットの生成に使用された前記鍵シーケンス番号と、
    を含む請求項14又は請求項41又は請求項42のうちいずれか1項に記載のウォレットシステム。

JP2020002492A 2020-01-10 2020-01-10 暗号通貨のためのウォレットシステム Active JP7249037B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020002492A JP7249037B2 (ja) 2020-01-10 2020-01-10 暗号通貨のためのウォレットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020002492A JP7249037B2 (ja) 2020-01-10 2020-01-10 暗号通貨のためのウォレットシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018530817A Division JP6736033B2 (ja) 2018-06-12 2018-06-12 暗号通貨のためのウォレット装置及びその装置を用いる署名方法

Publications (2)

Publication Number Publication Date
JP2020074559A JP2020074559A (ja) 2020-05-14
JP7249037B2 true JP7249037B2 (ja) 2023-03-30

Family

ID=70610340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020002492A Active JP7249037B2 (ja) 2020-01-10 2020-01-10 暗号通貨のためのウォレットシステム

Country Status (1)

Country Link
JP (1) JP7249037B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000134191A (ja) 1998-10-21 2000-05-12 Nippon Telegr & Teleph Corp <Ntt> セション鍵リカバリ方法及びプログラム記録媒体
JP2004320648A (ja) 2003-04-18 2004-11-11 G-Ratio Co Ltd 電子署名を用いた情報管理方法およびこれを用いた商取引方法並びにシステム
US20150287026A1 (en) 2014-04-02 2015-10-08 Modernity Financial Holdings, Ltd. Data analytic and security mechanism for implementing a hot wallet service
US20160098723A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
JP2017505048A (ja) 2013-12-31 2017-02-09 ヴァスコ データ セキュリティ インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング 電子署名方法、システムおよび装置
JP2019105903A (ja) 2017-12-11 2019-06-27 三菱Ufj信託銀行株式会社 仮想通貨保全システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000134191A (ja) 1998-10-21 2000-05-12 Nippon Telegr & Teleph Corp <Ntt> セション鍵リカバリ方法及びプログラム記録媒体
JP2004320648A (ja) 2003-04-18 2004-11-11 G-Ratio Co Ltd 電子署名を用いた情報管理方法およびこれを用いた商取引方法並びにシステム
JP2017505048A (ja) 2013-12-31 2017-02-09 ヴァスコ データ セキュリティ インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング 電子署名方法、システムおよび装置
US20150287026A1 (en) 2014-04-02 2015-10-08 Modernity Financial Holdings, Ltd. Data analytic and security mechanism for implementing a hot wallet service
US20160098723A1 (en) 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
JP2019105903A (ja) 2017-12-11 2019-06-27 三菱Ufj信託銀行株式会社 仮想通貨保全システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
アンドレアス・M・アントノプロス,ビットコインとブロックチェーン,第1版,NTT出版株式会社,2016年07月21日,p.92-103
石黒尚久ほか,図解入門 最新ブロックチェーンがよ~くわかる本 第1版 Blockchain,第1版,株式会社秀和システム,2017年08月01日,p.54-65

Also Published As

Publication number Publication date
JP2020074559A (ja) 2020-05-14

Similar Documents

Publication Publication Date Title
JP6736033B2 (ja) 暗号通貨のためのウォレット装置及びその装置を用いる署名方法
US11283797B2 (en) Authenticating a user device associated with a user to communicate via a wireless network in a secure web-based environment
KR101661933B1 (ko) 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
CN112994892B (zh) 跨链交互方法、装置、系统和电子设备
CN100477833C (zh) 认证方法
CN101479987A (zh) 生物测定凭证验证框架
KR20080098372A (ko) 컴퓨터 시스템, 복수의 웹사이트와 통신하기 위한 방법, 제1 웹사이트가 제2 웹사이트와 사용자 계정들을 링크하기 위한 방법, 및 컴퓨터 판독가능 매체
CN101527634B (zh) 账户信息与证书绑定的系统和方法
CN110535807B (zh) 一种业务鉴权方法、装置和介质
KR101943228B1 (ko) 보안성이 강화된 가상화폐용 블록체인 시스템
US11461565B2 (en) Apparatus and methods for remote controlled cold storage of digital assets using near field communication tags
CN113052599B (zh) 交易凭证的生成、验证及存储方法、装置、设备和系统
CN111523142B (zh) 数据处理方法、装置、电子设备及介质
CN110210863A (zh) 区块链安全交易方法、装置、电子设备及存储介质
CN112653556A (zh) 一种基于token的微服务安全认证方法、装置、存储介质
US20230259899A1 (en) Method, participant unit, transaction register and payment system for managing transaction data sets
KR20180052838A (ko) 수취인 증명 기반의 불변의 이중 기록을 이용한 안심송금 방법
CN101533504A (zh) 电子医务系统及其装置
JP7249037B2 (ja) 暗号通貨のためのウォレットシステム
WO2019027409A1 (en) MODULAR SYSTEM FOR PROCESSING AND STORING DATA
US20230084651A1 (en) Method, terminal, monitoring entity, and payment system for managing electronic coin datasets
CN113570369A (zh) 一种区块链隐私交易方法、装置、设备及可读存储介质
CN113765672A (zh) 医疗属性令牌访问控制方法、系统、存储介质及电子设备
JP7000207B2 (ja) 署名システム
US20230222509A1 (en) Method, terminal, and coin register for transmitting electronic coin data sets

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20200124

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210612

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20210612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220822

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221017

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20221120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20221121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230310

R150 Certificate of patent or registration of utility model

Ref document number: 7249037

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350