こんにちは!セブンバニーズの古酒です

8月になってビットコインもフォークして、BitcoinCashという名前のビットコインが出来たりして、界隈は引き続き話題に事欠かないですね。

略称はBCCだったり、BCHだったり未だ統一されていないようですが、BitConnectという通貨がBCCを略称として使っており、確定ではないですがBCHが使われるようになるのではと個人的には予想しております。

さて、このBCHですが、前回ご紹介した海外の取引所の1つ「Bittrex」がいち早く取り扱いまして、Crypto Currency Market Capitalizationsでは出来高がトップとなっており、これによりPoloniexを出来高で凌いでいるという状況になっています。

一方、PoloniexもBCHの状況を見てリリースを出しました。

8/1のFork時のBTC残高に応じてBCHを付与するつもり、ただPoloniexのMarketでBCHを取り扱うかは未定、引出しすぐにできるかはわからない。という内容です。

PoloniexもBCHという略称を使っていますね。もうBCHでいいんじゃないでしょうか。

私のPoloniexのアカウントは引き出し上限額を大幅に引き上げていることもあり、Skypeによるサポートがあります。

上図のように、サポート担当のJohnとはこれまで何度もやりとりしているので、もはやマブダチ。

今回のリンクも彼の方からわざわざお知らせしてくれました。ありがとう、John。

TwitterなどではPoloniexサポートページでの応答が遅いなど不満が多く聞こえて来ますが、少なくとも私は不満を感じたことはありません。

ただし、取引所には常にハッキングの危険性があるので資産を置きっぱなしにしたりするのはなるべく避けたほうが良いでしょう。

さて、前置きが長くなってしまいましたが、今回はビットコインの話ではなく、匿名通貨と呼ばれるZcashの匿名送金を試してみたので、一連の流れをご紹介したいと思います。

匿名送金ができるZcashとはどんな通貨なのか

「Zcashは、オープンで承認を必要とせず、ゼロ知識証明による暗号化を用いて取引のプライバシーを完全に保護する初の暗号通貨です。」(公式ページより)

この通り、ゼロ知識証明という暗号作成方法をブロックチェーン技術に適用することにより送金のプライバシーを保護する機能があります。

一般的にはこれを匿名送金と呼び、主に『これまでは』ダークマーケットなどで利用されてきました。

ビットコインもこれまでは一個人が上限なく秘密鍵及び公開アドレスを持てることで匿名な通貨としてクローズアップされることがありましたが、ブロックチェーン上に全てのトランザクションが公開されているので、その証跡を追うことは専門の捜査機関にとっては実はそう難しいことではないようです。

その証左として、あのMt.Goxの資金流出事件に関与したとされる人物が先日逮捕されました。

ブルガリアのビットコイン取引所(BTC-E)の関係者だったようですが、流出経路をたどるとその大部分がBTC-Eへ辿り着いていたそうです。

つまり公開アドレスと個人情報が紐づくと、その気になれば購買履歴、送金履歴などが解析されてしまうわけですね。

ブロックチェーンのメリットとデメリット、匿名送金のニーズについて話すと中々本題に入れないので、このくらいにしておきましょうか。

匿名送金を試す

さて、本題ですが、私は経営者兼プログラマーでもありますので、Ubuntu上でZcashのフルノードを構築しています。

Ubuntu 16.04.2 LTS
Zcashd v1.0.10-1

Linux環境の構築、Zcashdのビルドについては初心者の域を超えると思いますので、詳しく知りたい方はこちらを参考してください。

さて、Zcashdのブロックチェーンの同期が終わり、匿名送金に使うZcash(以下ZEC)を某取引所からWalletに送った後の状況が以下です。

ちなみにZECのブロックチェーンはこちらで確認することが出来ます。

ubuntu@coind:~$ zcash-cli getwalletinfo
{
“walletversion”: 60000,
“balance”: 0.99900000, ←ウォレットに入っている金額
“unconfirmed_balance”: 0.00000000,
“immature_balance”: 0.00000000,
“txcount”: 1,
“keypoololdest”: 1500879293,
“keypoolsize”: 101,
“paytxfee”: 0.00000000
}

1ZECを送金手数料0.001ZECで送金した状態です。
“balance”部分に0.999と表示されているのがわかりますね。

ここから、送金先の匿名アドレスに0.1ZEC送ってみましょう。

RPC(Remote Procedure Call)を使って呼び出すのが一般的ですが、テストということでzcash-cliコマンドで直接、匿名送金をしてみます。

ubuntu@coind:~$ zcash-cli z_sendmany “t1c2FadCERkyHpcwc6eC9Fh5XZypw8ffD32” “[{\”address\”:\”zcqZF5avPgubX1tabLcRyfV74kSMGUC8L6cm6mzqsXkDuXLtxJiZuPoJodAoCxPDmh1RirNw9dxXwy5ksGPiga3qzsEm6ME\”,\”amount\”:0.1}]” 1 0.001

使用したコマンドはz_sendmenyという複数の匿名アドレス(通称zアドレス)向けに送金するコマンドです。

“t1c2FadCERkyHpcwc6eC9Fh5XZypw8ffD32″は送金元の公開アドレス(通称tアドレス)で、
“zcqZF5avPgubX1tabLcRyfV74kSMGUC8L6cm6mzqsXkDuXLtxJiZuPoJodAoCxPDmh1RirNw9dxXwy5ksGPiga3qzsEm6ME”が送金先のzアドレスです.

今回は本サイトCoinChoiceの担当編集者にzアドレスの作成、及び受送金の確認にご協力頂きました。
(注:ここに記載されたアドレスは偽物です。今回利用したアドレスではありません。)

このコマンドを実行すると以下のような値が返ってきます。(注:これも偽物!)

opid-df48cd1e-59a8-346d-9b73-5b7e3e4fb0a1

この値を使って、z_getoperationresultやz_getoperationstatusというコマンドを使って匿名送金の状況や結果を確認することが出来ます。

このopidという値、実行後、しばらくするとコマンドの結果が返ってこなくなります。

これもプライバシー保護のためでしょうか、つまり匿名送金直後の状態を自分で別途管理しておかないと、しばらくすると誰にいくら送ったのかわからなくなります。

私が送金直後に実行したz_getoperationresultの結果です。

ubuntu@coind:~$ zcash-cli z_getoperationresult
[
{
“id”: “opid-df48cd1e-59a8-346d-9b73-5b7e3e4fb0a1”,
“status”: “success”,
“creation_time”: 1500692998,
“result”: {
“txid”: “a3fbdc82fe09cf3855f20b9ae7356e0a4bc7bb6151c374cdc560a5cf106a6f75”
},
“execution_secs”: 113.772459643, ←実行に113秒かかっているということ
“method”: “z_sendmany”,
“params”: {
“fromaddress”: “t1c2FadCERkyHpcwc6eC9Fh5XZypw8ffD32”,
“amounts”: [
{
“address”: “zcqZF5avPgubX1tabLcRyfV74kSMGUC8L6cm6mzqsXkDuXLtxJiZuPoJodAoCxPDmh1RirNw9dxXwy5ksGPiga3qzsEm6MEAAAAAAA”,
“amount”: 0.1 ←送金額
}
],
“minconf”: 1,
“fee”: 0.001 ←送金手数料
}
}
]

匿名送金の処理に2分弱要していることがわかります。割と重たい処理ですね。メモリをたくさんする使用するそうです。

今回は、コマンドラインによる匿名送金の様子をご紹介いたしましたが、下記のサイトではWindowsやMac向けのクライアントソフトがダウンロードできます。

Windows向け
Mac向け

無事、匿名送金できたのか?

匿名送金先のコインチョイス編集担当者はWindows向けのクライアントで着金を確認。

後日、担当編集者から匿名送金にて0.1ZECを返金してもらうのですが、tアドレスの残高とzアドレスの残高はそれぞれ個別に管理されており、tアドレスはブロックチェーン上で残高などが外部から確認できますが、zアドレスの残高は外部からは知ることが出来ません。

tアドレスとzアドレスの合計残高がわかるのはWalletにアクセスできる人だけです。

但し、tアドレスから匿名送金されたとされる履歴はexplorerから何となく分かるので、プライバシーを重視される方はtアドレスにも注意を払う必要があるようです。

また、送金時にmemo欄を利用することが可能ですが、これを利用するとプライバシー機能が低下するようなので、匿名送金時には利用しないほうが良いでしょう。

ビットコインもまだまだ普及期なのにZcashの匿名送金にどれほどニーズがあるのかはわかりませんが、お金とプライバシーは切っても切れない関係だと思うので、こういう通貨もあるんだと覚えてもらえれば幸いです。

それではごきげんよう。