現在利用できるブロックチェーン活用の多くは暗号資産(仮想通貨)であり、それ以外の分野への応応用を試したことがない人は多いことでしょう。かくいう筆者もそのうちの1人でした。先日、分散型VPNを利用できる「Deeper Connect Mini」を入手する機会があったため、本記事にて暗号資産以外としてのブロックチェーン活用例を紹介します。
VPNとは?分散型VPNの必要性
VPN(正確にはインターネットVPN)は、Virtual Private Networkの略で、パブリックなインターネット上に自分たちだけのプライベートネットワークを作ることができる技術のことを指します。自宅からインターネット接続を行う場合、通信回線を経由して、ISPのゲートウェイを起点にWebページなどにアクセスします。一方でVPNは、通信そのものはISPのゲートウェイを通過するものの、Webページなどへのアクセスの起点はVPN業者のゲートウェイになります。イメージでいうと、自宅からVPN業者との間で糸電話で通信をしているようなものであり、その通信内容はISPからは解読不可になります。このような技術のことをトンネリング技術と呼びます。
日本では、一般人が日常的にVPNを利用することは稀で、主に企業の拠点間接続や組織のネットワークに外からアクセスするような場合に限られます。しかし、検閲がある国では、通信のプライバシーを確保し、検閲システム(ファイアウォール)をすり抜けるための手段としてしばしばVPNが利用されます。
また、最近では公衆Wi-Fiを使うユーザーが盗聴を防ぐためにVPNを利用する機会が増えてきています。公衆Wi-Fiを使い、”http”から始まるアドレスのWebサイトにアクセスする場合、「どこで何をしたか」がすべて漏洩してしまうからです。それを回避するために”https”でアクセスすると、「何をしたか」という内容の漏洩は回避できますが、「どこで」という情報は漏れることになります。これらすべてのプライバシーを守るためにはVPNが必要不可欠になります。
VPNを使わない最悪のケースは、多くの資産を失うことです。例えば、暗号資産を扱う人が公衆Wi-Fiを使い、同一ネットワークに悪意を持つ者がいた場合、ウォレットへのアクセスを盗聴されて資産を抜き取られるということが起こり得ます。
しかし、ユーザーは必ずしもVPNを安全に利用できるとは限りません。VPNの利用は、VPN業者が信頼できるという前提に成り立っているからです。多くのVPN業者は通信履歴を取得していないと主張していますが、彼らがウソをついて実際には取得している場合、それらが何らかのきっかけで流出する可能性があります。また、VPN業者はしばしばサイバー攻撃の対象になり、利用者の情報流出やVPNサービスへのアクセス遮断が行われることがあります。このような問題点を解決する技術として分散型VPNが期待されています。
Deeper Connect Miniについて
Deeper Connectの概要
Deeper Connectは、分散型VPNを実現するためのVPNゲートウェイ製品です。「一生使えるVPN」を謳っており、LAN経路の途中にDeeper Connect本体(以下、端末)を挟むことによって、WAN側から先が分散型VPNで接続されるようになっています。初心者でも分散型VPNを使えるように、製品そのものは初期設定をしなくても利用できるようになっています。
Deeper Connectには複数のモデルがあり、旧モデルのLiteから、現行ではさらに小型化したMiniとNanoが発売されています。モデルごとに製品サイズが異なる他、より大きいMiniはNanoと比べて帯域の処理能力が大きくなっています。
端末は、インターネットに接続するとDeeper Network上でオンラインになっている他の端末を探しに行きます。見つかると、トンネリング技術を使い端末同士で接続します。最終的に、ユーザーの通信は複数の端末を経由してアクセス先に到達することになります。つまり、端末は分散型VPNを使うための入口でもあり、出口にもなります。
分散型VPNを実現する基盤技術
Deeper Connectは、Deeper Networkに接続することにより分散型VPNを実現します。Deeper Networkは、以下の主要技術を複合的に組み合わせることにより成り立っています。
AtomOS
AtomOSは、Deeper Connect上で動作するオペレーティングシステムです。AtomOSにより、分散型VPNを使った通信の柔軟な制御を行います。
AtomOSには、ファイアウォールが内蔵されており、広告などの余計なトラフィックを遮断する機能が付いる他、端末が踏み台攻撃に使われないようにするためにサイバー攻撃を遮断できるようになっています。
また、AtomOSでは、通信を最適化するためのいくつかのプロトコルが存在しています。
一般的に、通信はOSのカーネルを経由するため、オーバーヘッドが生じて遅くなります。AtomOSでは、IntelのDPDK(Data Plane Development Kit)を採用することにより、カーネルを経由せずに通信をすることで高速化を図ります。
AtomOSのトンネリング技術は、汎用的なIPSecではなく独自のトライデントプロトコルを採用しています。このプロトコルは、できるだけデータを圧縮して送信します。しかし、音声や動画のような圧縮の余地が少ないものについては圧縮を施さずに送ることにより、通信そのものを最適化します。
その他、AtomOSでは効率的な輻輳(ふくそう)技術として、BBRをベースとしたTBBRを採用しています。輻輳技術とは、接続先の通信事情に合わせて、データパケットが溢れないように自らの通信速度を調整する技術のことを指します。BBRは、もともとGoogleによって最初に導入され、拠点間接続のためのネットワークで使用されています。従来の標準規格と比べ、送信遅延を50%程度削減することができます。
このように、AtomOSにより、余計な通信を削減しつつ、通信全体を最適化する工夫が行われています。
Deeper Chain
Deeper Chainは、Substrateをベースにした分散型VPNためのブロックチェーンネットワークです。Deeper Chainに帯域を提供するノード(つまり、Deeper Connect)のクレジットスコアを管理する他、帯域を提供するノードやバリデーターへのDPRトークン配布、帯域を確保するためのマイクロペイメントなどの用途で利用されます。クレジットスコアは、ノードが多くの帯域を提供すればするほど溜まっていくようになっています。
Deeper Chainは、PoS(Proof of Stake)を使いながらも、一部の資金力が多いプレイヤーにネットワークが乗っ取られないような工夫が施されています。それがDeeper Chainを構成する2つのレイヤーにあります。
Deeper Chainの上位レイヤーは他のブロックチェーンと同様にバリデーターのノードで構成されています。下位レイヤーは帯域の共有など、Deeper Chainにサービスを提供するノードで構成されています。下位レイヤーのノードは、帯域をネットワークに提供しているため、クレジットスコアを保有しています。上位レイヤーのバリデーターは、ネットワークの検証作業の委任を受けるために、DPRトークン及びクレジットスコアが高いノードからの委任が必要となります。これは、PoC(Proof of Credit)と呼ばれます。PoCにより、Deeper Chain中央集権化を防ぎつつ、分散型VPNネットワークを構成できるようになります。
前述のように、Deeper Chainでは、帯域確保のための支払手段にDPRトークンを利用します。2021年6月27日時点でまだメインネットが利用できないものの、ERC20規格として一部の取引所でトークンを入手することができるようになっています。
Deeper Connect Mini レビュー
外観
Deeper Connect Miniの本体は、12.95cm x 6.72cm x 2.6cmのサイズになります。写真だと見えませんが、本体の両端にLANポートがあります。電源は、USC-Cで供給されます。
付属品はあまり多くありません。本体に加え、USB-CのACアダプタとLANケーブル、接続マニュアルのみです。
接続形態
Deeper Connect Miniの接続形態は、以下の3種類になります。PCと直接接続を行う場合、PCとLANケーブル接続口との間に本体を挟む形で接続します。また、Wi-Fi環境下で利用する場合はモデム(Wi-Fi統合型も含む)とWiFiルータの間に本体を挟む形になります。
特にユーザーのネットワークの知識がなくても、接続形態さえ正しければ分散型VPNを使えるようになります。
管理画面
ステータス表示
ダッシュボードからは、リアルタイムで手元のDeeper Connect Miniからどのようなネットワーク接続が行われているかを参照することができます。
左上のGlobal Connectionでは、どこに接続されているのかが緑の矢印で、どこから接続されているのかが水色の矢印で表示されます。写真では、他の端末からの接続はありません(水色の矢印なし)。
トラフィック履歴では、右側から自分がどれだけ他者の帯域を使ったか(Client Traffic)、他者がどれだけ自分の帯域を使ったか(Server Traffic)を確認することができます。
設定オプション
Deeper Connect では、様々な設定オプションにより、自分で通信をある程度制御することができるようになります。この項目では、主に実際の運用で操作が想定されるオプションを中心に紹介します。
分散型VPN(DPN)モードの切替
Deeper Connect では、分散型VPNのことをDPNと呼んでいます。DPNのモードには3つのモードが用意されています。
「DPN smart route」は、接続先に応じて自動的にDPNを利用するかどうかの判断が行われます。つまり、接続先によってはDPNが使われず直接接続になります。「DPN full route」は、すべてがDPNを利用するモードです。「DPN disabled」ではDPNが無効になり、すべてが直接接続になります。
VPNゲートウェイ地域の選択
利用するVPNゲートウェイの地域を変更したい場合、Tunnelのページから地域を変更することができます。例えば、海外から接続不可な日本国内専用サービスを利用したい場合、日本のVPNゲートウェイを利用することができます。
ルーティング
アクセスするドメインやIPアドレス単位で、ルーティング先を指定することができます。ルーティングの設定では、VPNゲートウェイを地域単位で指定できる他、直接接続を指定することができます。
帯域共有
Deeper Connect は、デフォルトでは他者のためにVPNのゲートウェイになることを許可しています。設定によって、それを拒否することができ、拒否しない場合でも転送容量や帯域幅を絞ることができます。
実際の使い勝手・筆者の所感
筆者は、普段NUROを利用しており、直接接続している場合は”nuro.jp”のゲートウェイを介して通信を行います。Deeper Connect Miniでゲートウェイの接続地域を日本にした場合、ゲートウェイが”zaq.ne.jp”に変わりました(診断くんにて確認)。システム的には、分散型VPNそのものに接続できているといえます。
実際に接続すると、直接接続と比べて通信が大きくもたつく感じがありました。同時間帯においてGoogleのインターネット速度テストを使い、通信速度を比較してみると以下のようになりました。
- 分散型VPN(Deeper Connect Mini):下り 5.86 Mbps / 上り 7.64 Mbps
- 【比較】中央集権型VPN(Express VPN):下り 244.6 Mbps / 上り 243.6 Mbps
- 【比較】直接接続:下り 263.7 Mbps / 上り 311.1 Mbps
また、筆者のPCからwww.token-economist.comにpingを行った場合のラウンドトリップ時間を計測しました。
- 分散型VPN(Deeper Connect Mini):57-91ms
- 【比較】中央集権型VPN(Express VPN):7-9ms
- 【比較】直接接続:4-8ms
ご覧のように、差は歴然で、Deeper Connect Miniを利用した場合のパフォーマンスは比較対象と比べ大きく劣ることがわかりました。
このようにパフォーマンスは分散型VPNの大きな弱点といえます。分散型VPNはゲートウェイに収容されているのは家庭用回線であり、多くの場合、速度が遅く品質にばらつきがあります。中央集権型VPNサービスが専用設備と高速回線を用いていることを踏まえると、パフォーマンスに大差がつくのは必然的と言えます。
そのため、分散型VPNで接続先のハズレを引くと、大幅なパフォーマンス低下を被ることになります。念の為、別時間帯で速度を計測しましたが、その場合は下りが90Mbps程度と上記よりマシになったものの、中央集権型VPNや直接接続と比べた場合の隔たりは埋まりませんでした。
また、一部のユースケースでサービスへのアクセス遮断が発生しました。特に発生しやすいのは、複数のドメインで組み合わせたサービスを利用する場合です。分散型VPNのモードを「DPN smart route」にしている場合や、一部のルートを直接接続にしている場合、接続元のIPアドレスの不一致によりサービスがブロックされることが発生します。そのため、サービスをシームレスに利用できない場面が何度かありました。例えば、WebサービスのログインにFacebook連携を使用している場合、WebサービスのログインページへのアクセスがOKでも、Facebookにリダイレクトした段階でアクセス拒否されるということが発生します。
筆者は、このレビューの感想を「分散型VPNで新しい時代が来た」という結論で締めたかったものの、Deeper Connect Miniで分散型VPNを使った場合は、結果的に大きなパフォーマンス低下に悩まされることになりました。これは、まだDeeper Networkが成熟していないことも要因として上げられるでしょう。パフォーマンスの低下は、Deeper Networkを構成するDeeper Connectが増えることで将来的に解決される問題かもしれませんが、残念ながら「現時点では使えない」と結論づけるしかありません。
このような問題は、分散型VPNに限らず、個人のコンピューターや回線リソースを提供する分散型サービスでは十分に起こり得ることです。ブロックチェーン業界は、非中央集権が良しとされる風潮がありますが、現実的にユーザーエクスペリエンスを考慮すると、この手のサービスは中央集権とのバランスが重要であると、改めて至極当然なことを気がつくに至りました。まだ分散型VPNの世界は始まったばかりなので、この文章を読んだ方は、単純にDeeper Networkや分散型VPNがこれからも使えない技術であるとくれぐれも結論づけないで欲しいと願います。