bitcoin-pile

ビットコインによるマイクロペイメント概況と実現方法

研究所レポート「ラズベリーパイによるビットコインフルノードの立て方」(23ページ)を配信しました。レポートへ

研究所レポート「仮想通貨交換業者に関する内閣府令(案)の公表について」」(24ページ)を配信しました。レポートへ

詳細日本語マニュアル付きTrezorの購入はコインギフトから

bitcoin-pile

ビットコインでは、マイクロペイメントは不可能というのが、いわゆる「ビットコインをすこしかじった人」の定説だと思う。ビットコインは、承認に10分かかる上に、一秒間にせいぜい7-10個のトランザクションしかさばくことができない。これはマイクロペイメントには適さないの。

しかしながら、ビットコインのマイクロペイメントを実現する方法がいくつか提案されており、それの実装にむけて、開発者たちが動いている。

本記事では、ビットコインによるマイクロペイメントの実現の仕組みと、実装について全体をまとめる。

<マイクロペイメントの用途>

マイクロペイメントは、主に投げ銭やチッピング、デジタルコンテンツの視聴などといった、少額の課金に利用することが想定されている。

例えば、動画をサイトなどで、動画を見るたびに、1円-5円といった少額を課金したり、Q&Aサイトで、質問を行ったりする際に課金したり、またはベストアンサーの人に支払ったり。

ソーシャルメディアや、コンテンツ全般で、直接の課金が可能になる。

<モデル>

現在マイクロペイメント系で有名なものには、次のものがある

changeTip-500x300

Change tip

Change tipは、少額のチップを贈り合うことができるもので、twitterやreddit(2chの米国版のようなもの)など、主要なソーシャルメディアで利用できる。

※訂正 ここであげていたstreamium.ioは、分散型のサービスのようでした。詳しくは別記事で取り上げます。

<仕組み>

ビットコインのマイクロペイメントには2方式がある。1つは、中央型サーバー型、2つめは、Decentralizedのものだ。

これは、いったんサービス提供者の中央サーバーに、ビットコインをデポジットしておく。そして、その中から、少額のビットコインを支払うのだが、その支払いと精算はブロックチェーン上ではなく、中央サーバーのデータベースを、サービス提供者の権限で書き換えることによって行う。(オフブロックチェーン取引)

ビットコインは、必要に応じて、サービス提供者のサーバーから、手元のウォレットなどに引き出すことができる。

いわゆる取引所のモデルと同様である。この方式のマイクロペイメントの問題は、2つある。

ひとつは、明らかにサービス提供者を信用する必要があり、サービス提供者の破綻や持ち逃げ、または、サーバーのハッキングリスクなどがある。

2つ目は、サービス毎に、ビットコインをデポジットしなければならず、マイクロペイメントといっても、いったん再換金可能な企業内ポイントに変換するような仕組みに近い。また、支払いがサービス内で閉じてしまうことになり、サービスをまたぐ場合は、いったんリアルなビットコインに戻して、再デポジットが必要だ。汎用性という意味では不十分である。

<完全P2Pによるビットコインマイクロペイメント>

上記の問題をクリアしたマイクロペイメントの仕組みが、現在提案されている。ビットコインのブロックチェーンと連動し、完全に2者間だけで、マイクロペイメントを実現する。第三者は不要で、また、相手を信頼する必要が一切ない。

ビットコインのマイクロペイメントは、一般的に「ペイメントチャネル」と呼ばれる。

主な提案されているプロジェクトに、

Micro Payments Channel with bitcoinj

Bitcoin Lightning Network

の2つがある。前者は、javaによるノードbitcoinjに実装が試みられているシンプルなマイクロペイメントである。

後者は、より複雑で、高度な機能を備えた実装で、2015年の2月にホワイトペーパーが公開され、プロジェクトが進んでいる。

いずれもまだ実用には至っていない。

マイクロペイメントチャネルは、このように幾つかのものが提案されており、いずれも理論的なものが発表されている段階だ。現在はそれをソフトウェアとして実装していく最初のフェーズに差し掛かっているというくらいの段階である。まだ、マイクロペイメントができるウォレットなどは存在していない。

<マイクロペイメントチャネルの仕組み>

マイクロペイメントチャネルの仕組みを簡単に解説する。ビットコインをそのままつかってマイクロペイメントをやろうとすると、10分待たされることに加えて、取引毎に、少額(1-3円程度)の手数料がかかる。

もし、一回につき数円程度の超少額支払いを100回しようと考えると、手数料だけで100-300円かかってしまい、実用にならない。

マイクロペイメントチャネルでは、この問題を次のように解決する。

基本的な考え方は、「期限を区切る」というものだ。1ヶ月といった期限を設けて、その間の細かい支払いについては、ブロックチェーンに記録はしない。1ヶ月の期限が到来したあとに、その間の支払いをまとめてブロックチェーンに1回だけ書き込む。

これにより、手数料は、期限を設定するとき(支払いチャネルを開くとき)に1回、そして、チャネルをクローズして、最終的な精算をするときの1回、合計2回だけですむ。その間に、行われたマイクロ支払いに関しては何回トランザクションをしても、どれだけ少額でも、手数料は不要である。

つまり、期間を区切って、一種のクリアリングのようなことをして、結果だけを、ブロックチェーンに書き込むということによりマイクロペイメントを実現しようというものである。

こうかくと、中央集権的なオフチェーン取引となにが違うのか?といわれるが、根本的に違う。このマイクロペイメントにおいては、間をとりもつ第三者も中央集権的なデータベースも不要で、AとBだけでマイクロペイメントが可能だ。

しかも、相手を信頼する必要がなく(ゼロトラスト)、相手が突然いなくなったり、不正をするという前提でも動く。このマイクロペイメントチャネルはこれらを理論的に実現する。

<理論>

これがマイクロペイメントチャネルの基本的な考え方だ。具体的な方法は、次のような形をとる。

AからBにマイクロペイメントを行うとしよう。まず、A→Bの間に、ペイメントチャネルというものを構築する。具体的には、

①AとBのマルチシグ(2 of 2で両方の署名がないと資金が動かない)アドレスをつくる。

②そのマルチシグアドレスから、Aへの資金返還のトランザクションを作りABがサインする。これは期限付きのトランザクションで、たとえば1か月後から有効といった先付けトランザクションである。これはブロードキャストせずに、Aが保管する。もし、Bが音信不通になった場合、Aはこれをブロードキャストすることで資金を取り戻せる。

③マルチシグアドレスに、Aが資金をデポジットする。たとえば1BTC。すると、この1BTCの範囲で、AからBへいくらでも支払いができるようになる。

④マイクロペイメントを行うには、AからBへの資金移動のトランザクションを作成し、AがサインしてBに渡す。これはブロードキャストしない。次の支払いが行われるたびに、新しくトランザクションを作り、金額を更新する。これは、ブロードキャストされないので、手数料はかからない。AとBとの間で確認しあえばよいだけである。

Bはいつでも自分のサインを加えることで、これをブロードキャストし、ブロックチェーン上で確定することもできる。

⑤チャネルの期限が到来すると、たとえば一ヶ月後など。最終的なAからBへの支払いトランザクションをBがブロードキャストする。これにより、支払いが確定される。

ポイントは、オフチェーン取引中も、ブロードキャストしていないだけでビットコインのトランザクションが生成され、お互いに確認しあう。これは、有効な署名付きのトランザクションなので、いったんブロードキャストしてしまえば確定するため、オフチェーン中であっても確実な取引をしていると言える。

文章だけではわかりにくいので、詳しくは、日向氏による動画の解説を見ていただきたい。

<問題点>

仕組みはシンプルだが、実装が難しいと言われている。まず、期限付きの返金トランザクションが確実に動く必要があるが、トランザクション展性の問題で、これが確実に動かない場合がある。

そのため、これを確実にするようなビットコインのスクリプトの拡張が必要になる。現在そのためのスクリプトが提案されているが、まだ正式に採用には至っていない。

また、手順が複雑であり、トランザクションの生成手順やサインの順番などを間違えたり、ブロードキャストのタイミングが前後するとうまくいかない。このため、バグのない実装は簡単ではないと考えられている。

<A→B→Cのマイクロペイメント>

基本的なマイクロペイメントチャネルでは、A→Bのような二者間で繰り返し行われるマイクロペイメントを想定している。A→B→Cのように、Aが直接Cにチャネルを貼らなくても、中間のBを経由してマイクロペイメントをおこなう仕組みも考えられている。

それが、Lightning Networkのしくみであり、多段階のルーティングによるマイクロペイメントを可能にしている。これは更に複雑なトランザクションの生成が必要であり、現在ホワイトペーパーが提案されているが、実装はまだである。

<まとめ>

・マイクロペイメントが実現すると、コンテンツ視聴や、投げ銭・チッピングといった分野において、少額の課金が可能になり、大きな付加価値を生み出す可能性がある。

・ビットコインのマイクロペイメントは、中央の信頼者を不要にした完全なP2Pマイクロペイメントである。

・これが実現すると、少額課金は、ブロックチェーンに都度書き込む必要がないため、ブロックチェーンの混雑や、ブロックサイズの上限といった問題が解決される可能性がある。

・最終的な精算金額だけを書き込むので、プライバシー上も利点がある

・確実な実装には、ビットコインのスクリプトの拡張が必要であるが、現在は提案段階である。またソフトウェアが複雑になるため、実装には技術力が必要となる。

私の意見だが、最終的には、ビットコインにおいてマイクロペイメントは可能になるはずだ。現在のビットコインのプロトコルのセキュリティを脅かさず実装できるはずであり、いずれ必ず実現するだろう。現在マルチシグが浸透してきているように、2年ほどたって、2017年くらいには、多くのマイクロペイメントがなされるようになっていると考えられる。。

<参考文献>

詳しい仕組みについては、下記の日向氏による解説を見てほしい。

ビットコインとプライバシー (ドキュメント)

デジタルマネー協会での動画配信

 

Donate with IndieSquare

このブログでは読者の皆さんとのつながりを作る実験としてトークンを配布しています。
※記事が役に立った場合は、寄付ボタンをクリックして、ぜひ寄付をお願いします。寄付額相当のDOUBLEHASHコイン(詳細説明)を送付いたします。
コインを受け取るには、IndieSquare Walletからお送りください。