ビットコインウォレット

ビットコインウォレット

ビットコインブロックチェーンだけでは運営することはできません。

送信の指示を出したりビットコインアドレス内の枚数を管理するウォレットを使って、ユーザーにトランザクションを生成するための送受信を行ってもらう必要があります。

 

2009年にビットコインが誕生して以来、ビットコインのウォレットは仕組みやデザインの仕方によってタイプの異なるものが多く作られてきました。

ウォレットを動かすコンピュータはブロックチェーンネットワーク上で「ノード」と呼ばれ、送受信を行ってトランザクションを発生させたり、取引記録を管理したりとネットワーク上の役割を与えられます。

ノードの役割に応じてウォレットの仕組みが異なっており、導入に必要な時間や使われるディスク容量が異なります。

 

 

ユーザー視点から見る分類

Webウォレット

ブラウザ上で動作するWebウォレットはデバイスに負荷をかけないという点でとても気軽に用いられています。仮想通貨取引所のウォレットもWebウォレットと呼べます。

Webウォレットは常時インターネット上に存在しているため、パスワードや秘密鍵など重要な情報だけをオンライン上に保存しない形で作成されます。

しかし、暗号解読を行うようなハッカーからは標的にされやすく、サーバー側がウォレットの秘密鍵を保管しているので自己管理ができず、信頼性が低いと言われています。

Blockchain.infoCopay などが有名です。

 

デスクトップウォレット

Webウォレットとは別に、PC上にダウンロードして用いるデスクトップウォレットも存在します。

デスクトップウォレットの場合も、PCをインターネットに接続しているとハッキングの恐れはありますが、インターネットから切断する手段が生まれます。

 

ペーパーウォレット

アドレスや秘密鍵をオフラインで生成し、紙面上の情報として記録するペーパーウォレットを作成することも可能です。

インターネット上に情報を残さないでビットコインの管理を行うことができるのでハッキングリスクを大きく減らすことが可能です。

 

ハードウォレット

秘密鍵を表示させず、USBのような物理デバイス上の情報を用いてウォレットへのアクセス権限を管理します。

ペーパーウォレット同様、インターネット上に秘密鍵の情報を残さずにビットコインの管理を行うことができます。

Ledger nano trazor などが有名です。

 

仕組みから見る分類

ビットコインウォレットの通信方法の仕組みから見ると、「完全クライアント」「SPVクライアント」「サーバー・クライアント型クライアント」の三種類に分類することができます。

 

名前 利用者 セットアップ 必要な容量 対応OS 種類
Bitcoin-Qt 一般 数時間以上 160GB Windows, Mac, Linux 完全クライアント型
bitcoind プログラマー 数時間以上 160GB Windows, Linux 完全クライアント型
Electrum 一般 数分 数十MG Windows, Mac, Linux サーバー・クライアント型
MutiBit 一般 数分 数十MG Windows, Mac, Linux SPVクライアント型
Bitcoin Wallet 一般 数分 数十MG Android, Blackberry SPVクライアント型

 

 

 

完全クライアント型( MultiBit, Bitcoin Wallet)

図: Bitcoin-Qt

Bitcoin-Qtやbitcoindなどの完全クライアント型ウォレットビットコインブロックチェーン内の全てのデータを保存する仕組みのウォレットになっており、

Satoshi Nakamotoの考えるビットコインネットワークの理想論において”標準的”とされるウォレットです。

もし全てのウォレットが完全クライアントであれば、ネットワーク内の全員がブロックチェーン内の全ての取引記録を確認する事ができ、全てのユーザーが不正検知の役割を担う事ができます。

しかし、ビットコインの全ての取引履歴は既に150GBを超えており、全てをダウンロードするにはかなりの時間と相応の保存容量を持ったコンピュータが必要です。

現在の一般ユーザーのほとんどはコストのかかる完全クライアントのウォレットを使うことはないでしょう。

bitcoindはJSON-RPCで開発者向けAPIを提供しているので、Webウォレットのバックエンドやマイニングプールのサーバーとして使われる事があります。

 

以下のbitcodes.earn.comの画像では、2018年5月頃の全世界の完全クライアント型ウォレット(一般的にフルノードと呼ばれる)の分布を見る事ができます。

 

 

 

SPVクライアント型( MultiBit, Bitcoin Wallet)

図: MultiBit

ビットコインでは取引記録をマークル木構造で管理しているので、僅かなデータを用いて特定の取引がブロックに含まれるかどうかを検証することができます。

これを利用したSPV(Simplified Payment Verification)クライアント型ウォレットは、原則的に各ブロックのヘッダーのみをダウンロードします。

全データをダウンロードしないのでSPVクライアントは数十MBのデータをダウンロードすればよく、セットアップに要する時間も数分で済みます。

しかし、SPVクライアント型ウォレットが正しく動作するためには、信用できるフルノードの存在が不可欠となります。

 

 

サーバー・クライアント型(Electrum)

図: Electrum

Elecrumはデスクトップに保存するウォレットですが、起動するとbitcoindを使って実装されたいくつかのElectrumサーバーを通して全ての情報を受け取るのでWebウォレットと似ています。

しかし、ユーザーが保管すべき秘密鍵さえもサーバー側が保管するような一般的なWebウォレットとは異なり、Electrumでは、秘密鍵を保有するのはウォレットを作成したユーザーに限られます。

 

 

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
Recent comment authors
  Subscribe  
新着順 古く順 評価が高い
Nhận thông báo
trackback

[…] Copayなどのビットコインウォレットなどに良く用いられる技術で、一定数の秘密鍵情報が揃わないとビットコインにアクセスできないようにすることでセキュリティレベルを上げるケースが多くみられます。 […]