Counterpartyのエコシステムについてのまとめ
このブログではしょっちゅうCounterpartyの話が出てきますが、今回今さらですがCounterpartyとは何か?何が出来るのか?どんなプロジェクトがあるのか?などを改めてまとめてみようと思います。話を聞いていると、そもそもCounterpartyが何なのかよくわかっていない、という読者の意見も結構あったからです。
例のごとく技術の話はほぼなしで、概要説明と応用、可能性などについて話をします。なお、Counterpartyについて以前オンライン勉強会をしたこともあり、こちらの記事も参考にしてみてください。(※改めて読むと中々ちゃんと説明しています。ただし今年1月からまた進歩や新プロジェクトなどあったので、そこを中心に今回はまとめます)
Counterpartyとは何か?
Counterpartyは、ビットコインのブロックチェーン上に作られた、ビットコインの機能を拡張するプロトコルだと言えます。
主な機能として、
- 独自通貨(トークン)の簡単発行
コーディングなどの知識必要なしで簡単に自分の通貨を発行することができます。また、一度発行したトークンを後で追加発行したり、これ以上発行できないように発行量をロックすることもできます。 - トークンの分散取引
Counterparty上で作成されたトークンには自動的にそれぞれ分散マーケットが用意され、ブロックチェーン上で直接P2Pで信頼不要のトークン同士のトレードが可能です。 - スマートコントラクト
まだテスト段階ではありますが、CounterpartyはEthereumのスマートコントラクト機能をコピペすることで、ビットコインのブロックチェーンを利用したスマートコントラクトを可能にしました。
他にも細かい機能はありますが、上記3つがCounterpartyの主な機能です。
Counterpartyの仕組み
少しだけ技術の話というか、Counterpartyがどのような仕組み、構造になっているか説明します。
ビットコイントランスアクション+追加データ
Counterpartyは簡単に言えば、ビットコイントランスアクションに追加の(メタ)データを入れ込むことで、そこにトークンの情報(送信量、送信先など)を付与しています。
例えば、私が寄付募集に使っているアドレスを例として見てみましょう。
http://blockscan.com/address?q=1ABG119jVm2jRw6sz4ewurc5jFRJkwu6aj
これがBlockscanという、Counterpartyのトランスアクションを識別できるExplorerです。これを見れば私のこのアドレスがどのトークンをどれくらい保有してて、またこのアドレスが受け取ったトークンや送ったトークンが全てわかります。もちろん通常のBitcoin Explorerのように受け取ったビットコインの値なども確認できます。
このアドレスをビットコインのトランスアクションしか識別できないBlockchain.infoで見てみると、下記のように「出力アドレスをデコードすることができません」という表示が出ます。これがつまりCounterpartyトランスアクションで、Blockchain.infoでは識別できませんよって言われている感じですね。ブロックチェーンのトランスアクション上に確かに存在するけど、このExplorerでは対応していないだけということです。
Counterpartyを使用するにはビットコインが必要
よくある質問の一つに、Counterpartyのトークンの送信手数料はどうなっているのかというものがあります。
ビットコインを送る時には数円程度のビットコインでの手数料が必要になってきますが、例えばCNPCOINを送る時には同様にCNPCOINで手数料を払うのでしょうか?
正解は、Counterpartyで作ったトークンの送信には、ビットコインの手数料が必要です。ではこの手数料は誰に渡されるかというと、ビットコイン同様、ビットコインのブロックチェーンを維持しているマイナーに渡されます。Counterpartyのトランスアクションは基本的にはビットコインと同質のものなので、トークンの送信の確認(Confirmation)はビットコインのマイナーがやってくれるということです。
トークンの送信確認はビットコインマイナーがやるわけですが、手数料は実はビットコイン送信より少し多めに要求されます。今のレートだと一回のトークンの送信に5円程度かかります。(ビットコインなら3円くらいでいける)これは、Counterpartyのトランスアクションは、ビットコインマイナーから見たらただの少額のビットコイントランスアクションでしかなく、処理をしてあげるインセンティブが弱いからです。
詳細は省略しますが、トークンの送信にはビットコインが必要で、マイニング、トークン送信の確認作業はビットコインのマイナーがやっていること、通常のビットコイン送信より手数料が多くかかると認識していればとりあえず十分だと思います。
Counterpartyのネイティブ通貨 XCPの存在
さあちょっとずつ訳がわからなくなってきたかもしれないですが、次はCounterpartyのネイティブ通貨XCPについてざっくりと説明します。
Counterpartyが始動した時にビットコインを燃やす(Proof of Burn)ことでXCPという暗号通貨が作られました。はい、この時点で「は?」となった人も多いと思いますが、Proof of Burnについては以前にこちらの記事で書いたので、興味のある人は読んでみてください。
さて、詳細はとばしてXCPってそもそも何に使われるのかについてですが、XCPは
・新しい独資通貨(トークン)の発行
・スマートコントラクトの実行
上記の二点が主な機能です。スマートコントラクトはまだ実際には動いてはいないので、新しいトークン発行時に0.5XCP(今のレートで100円程度です)が必要になります。(使用されたXCPは使用不可能な状態に燃やされます。つまり、XCPの総供給量はどんどん減って行っているということです)
これは基本的にスパム対策で、誰かが大量のトークン名をコストなしで一気に登録するのを防ぐためです。Counterpartyのトークン名はドメインのように一度とったら自分のものになり、例えばCNPCOINというトークン名を他の人が勝手に使うことはもうできません。また、トークン名を他の人に譲渡したりすることもできます。
ちなみに、トークンを個人的に大量に作成する人をSquatterとか呼び、例えばJAPANというトークン名などいわゆる「いいドメイン」はほぼ抑えられてしまっています。彼らはXCPを大量に消費しているということです。
なお、XCPはPoloniexなどの取引所で購入することが可能です。
CounterpartyのWallet
さて、何となく基本の仕組みがわかったところで、実際にトークンを送受信したり、新しいトークンを発行したりするのに使えるWalletをいくつか紹介します。
Counterwallet.io
オリジナルのWeb版のWalletです。上記で説明したCounterpartyの機能は全て利用することができます。CounterpartyのフルスペックWalletです。
一年ほど前にリリースされたものですが、いまだに使えるレベルではあります。が、残念ながら結構不安定だったり、バグも結構たくさんあります。最近だとこちらのCoindaddyのWeb Walletの方が安定してますね。見た目、機能などは全て同じですが、別サーバーを使っておりこちらの方が正直最近おすすめです。
XCP Wallet
PC用のクロームブラウザーのエクステンションWalletです。
上記のWeb Walletに比べ、ログインにいちいちパスワードを入れたりする必要がなく手軽さがウリです。自分もCNPCOINの配布などはこのWalletからやったりしています。なお、トークンの送受信機能はありますが、トレードの機能は実装されてません。
Mobile Counterwallet(カウンターお財布)
自分も含めたチーム、IndieSquareとして出しているモバイルアプリです。(iOS, Android両方対応)
Counterwallet.ioの機能のほとんどはモバイルでも出来るようにしており、トークン送受信、トレード、新規トークン発行も出来ます。登録も簡単で、スマホでFace to Faceでトークンの受け渡しなどが出来ます。
とりあえず上記3つが主なCounterparty対応Walletです。用途により使い分けてください。(とりあえずカウンターお財布くらいはインストールしてください。)
Counterpartyを利用したプロジェクト
次はCounterpartyを利用している代表的プロジェクトを紹介。それぞれ手短に。
GetGems
日本でも利用者が結構いるGetGemsメッセンジャーのネイティブ通貨GemzはCounterpartyのトークンです。メッセンジャーの利用や、広告を見ることでアプリ内でGemzを受け取ることができ、Gemzはコンテンツ購入などに使えます。
詳細
GetGems Japan公式ページ http://www.getgems.jp/
Storj
分散型クラウド(Dropbox)を目指すStorjの通貨SJCXはCounterpartyのトークンです。自分のハードの空き容量を提供することで、SJCXをもらったり、逆にStorjの分散クラウドを使用するにはこのSJCXが必要になります。
非公式日本語ページ http://storj.jp/
Swarm
Swarmは暗号通貨プロジェクトのクラウドファンディングプラットフォームです。Swarmが発行したSWARMというコインはCounterpartyのトークンで、SWARM保有者は、Swarm上でクラウドファンドをしたプロジェクトのコインを一部受け取ることができます。
また、トークンを使ったクラウドファンディングをクラウドセールとかトークンセールとか呼んでいますが、GetGems, Storj, Swarm, BitnationなどCounterpartyを使ってクラウドセールをするプロジェクトも多く存在します。
Swarm公式ページ https://swarm.fund/
Symbiont
Symbiontは、Counterpartyの共同創業者たちがやっているプロジェクトで、Counterpartyのトークンとトレードの仕組みを利用して、より効率的な金融システムの実現を目指しているプロジェクトです。Symbiontについて自分が以前書いた記事も参考にしてください。
Tokenly
Let's Talk Bitcoin!という暗号通貨スペースでは有名なポッドキャストサイトの創始者である、Adam Lavineを中心に進めているTokenlyというプロジェクトは、より簡単にトークンを使えるようなツールや、トークンを使ったショッピングサイト的なものを作っています。
公式ページ https://letstalkbitcoin.com/blog/tokenly
Spells of Genesis
Spells of GenesisはゲームアイテムをCounterpartyのトークン化をすることで、ゲームアイテムのP2Pでのトレード、ブロックチェーン上で証明可能なレアアイテムの作成、ゲーム内外への自分のアセットの移動などを可能にする新しいタイプのモバイルゲームです。(ちなみにこのプロジェクトには自分も関わっています)
公式ホームページ http://spellsofgenesis.com/
7月29日開始予定のトークンセールについてのページ(日本語)
https://swarm.fund/projects/Spells_of_Genesis_____1436658868
トークンのその他のユースケース
上記のプロジェクト以外にも、独自通貨(トークン)を使ったユースケースはいくらでも考えられます。以下に二つさっと思いつくものを紹介します。
・店舗でのポイントの代用
Tポイントカードお持ちでしょうか、ポイントカードはよろしいでしょうか、とか言われていらっとする日本人の数は何千万人いるんでしょうか?
Counterpartyを使ったトークンを店舗のポイントの代用として使えば、ほとんどコストなしでポイントシステムを誰でも始められるだけでなく、一つのアプリ上で何百店舗のポイントも理論的には管理ができるようになります。
また、ユーザーは分散市場を使えば、ポイントの交換や売買をすることも可能になるため、もう行かなくなったお店のポイントを誰かもっと欲しいと言っている人に売ったりすることも可能になります。
・ブログコインの作成
このブログでも行っているCNPCOINの実験もそうですが、自分専用のコインを発行しそれを自分のファンや読者などに配ることで、トークンを通したコミュニティーの形成やコミュニケーションがとれると思っています。
ブログに限らずこのモデルはミュージシャン、アスリートなどにも応用できますが、自分のポテンシャルのトークン化と言えば一番わかりやすいでしょうか。
他にもトークンの応用方法は無限に広がります。もっと色んな人が独自トークンを使って実験をすることでより独創的なプロジェクトが出てくるのではないでしょうか。
Counterparty vs Ethereum
近々リリースが予定されているEthereumに期待している人は多いですし、私もある程度Ethereumに期待しているところはあるのですが、CounterpartyとEthereumの違いは何なのでしょうか?これに関する議論は色々ありますが、Counterparty寄りの意見にはなりますが、何点か説明しておきます。(が、もちろんEthereumをディスってるわけではないです。ちょっとEthereumへの期待が過剰になっている気はしますがね・・・)
ブロックチェーンの安定性
Ethereumは独自チェーンを構築するのに対し、Counterpartyはビットコインのブロックチェーンを使用しています。ご存知の通りビットコインのブロックチェーンは最も歴史が長く、最も改ざんが難しいチェーンとなっています。
Ethereumは新しいチェーンの優位性を主張していますが、ブロックチェーンの安定性、改ざん不能性という(Immutability)という最も重要な要素を満たすことができないのではないか、とCounterparty側の人たちが反論することがあります。
オープンソースゆえのジレンマ
Ethereumはオープンソースプロジェクトのため、外部の人がコードを確認し他のプロジェクトに使うことも可能になっています。Counterpartyのスマートコントラクトの機能は基本的にEthereumからコピペしたものです。
Counterparty側は、Ethereumが独自チェーンでやろうとしていることは全てビットコインのより安定したブロックチェーン上で実現できると主張しています。これにはもちろんEthereum側からも反論はあるのですが、もしEthereumの機能が実際にビットコイン上で全て実行できるなら、そちらの方が改ざん不能性や安定性が高いためいいのでは?と確かに思ってしまいます。
Counterpartyの課題、弱点
最後にCounterpartyの課題、弱点をいくつか挙げてみます。
・手数料の高さ
上記で説明したように、Counterpartyのトランスアクションには毎回5円程度の手数料がかかります。もし自分のブログの読者100人にトークンを送ろうと思ったらそれだけで、500円かかる計算になります。これを仮に毎日やったとしたら、月に500×30で1万5000円それだけでかかってしまいます。これは全く安くはないですよね。
・分散取引所の使いづらさ
トークン同士で信頼不要の分散取引が出来るというのは画期的な機能ですが、まだまだCounterpartyの分散市場は使いづらいです。また、ビットコインとトークンの直接の取引は今取引所上で出来ないため、中々Counterparty上で活発なトレードが行われるには至っていません。
・全体的な安定性
Counterparty自身がまだ1年半ほどのプロトコルなので仕方ないと言えば仕方ないですが、全体的にサーバーが不安定になって使えなくなったりなどが結構よく起こります。
とりあえず3点あげましたが、手数料問題などオフチェイントランスアクションの活用、ライトニングネットワークなどの新しい技術の応用などで解決できる気はしています。
最後に
かなり長くなってしまいましたが、Counterpartyについて改めてまとめてみました。もしこれでもわからないところがあれば教えてください。後で加筆修正したり、多分この記事はちょくちょく更新してくことになると思います。
ビットコインはお金を置き換えるもの、とかそういう風に言われると何かひいてしまう人もいるかもしれないですが、Counterpartyを使って自分の独自通貨を発行して色々実験してみるのは、一般の人にとってはむしろこちらの方が入りやすいのかもしれません。とりあえず色々工夫したり遊んだり、面白いトークンの使い方がドンドン出てきてほしいなと個人的には思っています。
私は主にこのトークンの応用分野をメインに色々考えているので、もし質問、コメントなどあれば何でも聞いてください。
どうやれば一番簡単にCounterpartyを体験できるか?とりあえずカウンターお財布インストールしてみてください笑そして、Wallet内のパブリックアドレスをTwitter上などで私に教えてくれれば自動的に登録してCNPCOINをお渡ししていますよ。興味がある人は詳細は下記のリンクから確認してみてください。
それでは
※※※
このブログではトークンを使った実験として、寄付+トークンという切り口で実験をしています。この記事が役にたった場合は、カウンターお財布などのCounterparty対応のWalletからビットコインで寄付してください。詳細についてはこちらの記事からどうぞ。このブログの成功を読者と分け合うwin-winの関係を築けるか、という実験です。
また、寄付金額により、お返しのCNPCOINのレートは変わっていきます。最新のレートについてはこちらのスプレッドシートで確認できます。
1ABG119jVm2jRw6sz4ewurc5jFRJkwu6aj