SPV

軽さが魅力!スマホでも使えるノード、SPV

SPV(Simplified Payment Verification)とは?

SPV(Simplified Payment Verification)はブロックチェーンの全データをダウンロードせずにトランザクションの検証を行う方式のことです。ビットコインのノードの中でもSPVは軽量ノードとされ、フルノードと区別されています。

フルノードは過去から現在までを通して、全てのブロックチェーンをダウンロードして検証します。しかし、フルノードは容量的にスマートフォンなどには入りません。

SPVノードはフルノードのデータの1/1000程度の容量だけで済み、ダウンロード時間もフルノードと比較すると格段に短いという特徴があります。スマートフォンや容量が少ない端末などでビットコインを管理できる仕組みとして、開発・採用されました。

SPVはsimplified payment verificationの略で、直訳すると「簡単な取引検証」という意味になり、原則的にはブロックのヘッダーしかダウンロードしません。フルノードがブロックチェーン全データをダウンロードするのとは対照的な方法です。

使われる場所/タイミング

SPVが使われる場所は、マルチビットかビットコインウォレットなどです。この2つはSPVクライアントの中でも代表的なものです。ほんのわずかなデータだけを用いて、ブロックチェーンの一部のデータをダウンロードすることができます。

フルノードとは対照的に、クライアント使用時にインストールに時間をかけたくない場合や、回線が細いスマートフォンなどでも、SPVノードであればビットコインを使うことが可能です。

種類/特徴

SPVには代表的なハッシュ(暗号化技術)として「マークルルート」というアルゴリズムがあります。これはデータ構造を指しますが、ブロック内に含まれるトランザクションの代表値を計算して、その値だけをブロック内に書き込むことでデータ量を減らす方法です。

ルート=木という意味であり、どこか下位のトランザクションを不正に書き換えると、その影響がツリー構造の上まで連鎖するのを防ぐ方法です。ブロックにはマークルルートだけを格納し、ブロックデータ自体は非常に軽量になるように設計されています。

SPVの仕組みと制限

SPVクライアント(たとえばスマートフォンなどで使えるウォレットなど)は、数十MB程度のデータをダウンロードするだけですぐに使うことができます。

一方でフルノードとは違うので、SPVノードでは取引データが含まれません。これは過去の取引データの内容まではSPVノードでは確認できません。これを確認する場合は、ビットコインネットワーク上のフルノードデータが必要です。

つまり、フルノードとSPVノードの取引検証方法には違いがあるということです。

SPVウォレットとは?

ウォレットにはソフトウェアウォレットとハードウェアウォレットがあります。前者は端末にウォレットアプリとしてソフトウェアをインストールするものです。ハードウェアウォレットは、デバイス型のウォレットです。

ソフトウェアウォレットには、フルノードとSPVクライアントタイプがあります。前者の代表的な公式クライアントにはビットコイン・コアがあり、これは基本的にはPC用です。後者のSPVウォレットの代表的なものには、ビットコインウォレットがあります。ビットコインウォレットに対応した、さまざまなタイプのウォレットアプリも各社からリリースされています。

SPVウォレットのアプリは、QRコードを使ってビットコインの送受信を行うようになっています。SPVウォレットはスマホにアプリとして入れておくことで、何のストレスもなく簡単に持ち歩きできるように開発されています。SPVウォレットは、スマホにウォレットを入れた状態で持ち歩ける実用性が魅力です。

軽くて使いやすい一方で、万が一スマホを紛失する・故障した場合はウォレット自体が失われる懸念もありますが、リカバリー(パスフレーズを使う)することが可能です。

種類/特徴

SPVクライアント方式のウォレットはモバイル端末でも簡単に動かせるので、アプリとしてさまざまなタイプがリリースされています。

仕組み

SPVウォレットはブロックチェーン自体を自分で持つわけではありません。どこかにフルノードサーバー(ブロックチェーンの全データを持つサーバー)があり、ブロックチェーンの一部情報を読みにいきます。
その読み込んだ情報から、残高や支払い履歴などを得ることができます。読み込む情報は自分のSPVウォレット情報(トランザクション情報)だけです。

使い方

SPVウォレットの使い方は、スマホならアプリケーションをダウンロードするだけですぐに使うことが可能です。第三者に依存せず、自分でウォレットを管理して使うことができます。

他のウォレットとの違い

ウォレットにはハードウェアウォレットやソフトウェアウォレットがあります。ハードウェアウォレットであるビットコイン・コアは、ブロックチェーンの全データをダウンロードできます。そのためにデータ容量が膨大であり、時間もかかります。実際に使い始めるまでには数時間を要することもあります。また、ディスク容量がそれなりに必要になります。

ソフトウェアウォレットであるSPVウォレットは、軽量化されたデータ部分だけダウンロードすることで済み、設定するにも数分で実装できます。軽くて扱いやすいのですが、その背景には信用できる完全なクライアントのノードデータが必要になります。

攻撃を受ける可能性の有無

SPVウォレットはその端末内に秘密鍵を保存することになります。端末がネットにつながっている場合、ハッキングされてしまうと秘密鍵が流出する危険があります。ハッキングによる秘密鍵の流失や、端末の故障・紛失で秘密鍵を失ってしまうことを防ぐためには、信用できないSPVウォレットは使用せず、管理を徹底しましょう。

今、暗号資産(仮想通貨)を始めるなら
DMMビットコイン