開発者向け高機能フルノードBCHD

bchdは開発者向けのBCH互換クライアント/フルノードで、暗号通貨交換所などのプロ向けの用途に開発されている。現在ほぼ全てのビットコイン用フルノードはC++で書かれているが、bchdはパフォーマンスの良いGo言語で書かれている。bchdではシンプルなGO言語を採用する事によって、より多くの開発者にビットコインキャッシュの開発に参加してもらおうと言う試みだ。

bchdの開発を行うのはジョシュ・エリソープ(Josh Ellithorpe)とクリス・パシア(Chris Pacia)の二人だ。 ジョシュ・エリソープは世界最大級の暗号通貨取引所Coinbase(コインベース)のシニアソフトウェアエンジニア。クリス・パシアは世界でもいち早く暗号通貨を統合した分散型オンラインマーケットのOpen Bazaar(オープンバザール)のリードバックエンドデベロッパーだ。bchdは彼らが趣味として週末に行なっているプロジェクトでBCHコミュニティの為に全力で開発に取り組んでいる。彼らはまたBCH用軽量ウォレットの” BCH Wallet”も開発中でこちらも注目だ。

ジョシュ・エリソープ(Josh Ellithorpe)
クリス・パシア(Chris Pacia)

今回、ジョシュとクリスにこのbchdに関するインタビューを行ったDecentralized Thought。1時間45分に及ぶ長いインタビューだが非常に面白い内容だ。このブログでインタビューの内容を全てお伝えする事は出来ないがbchdの革新的な機能の中でも特に重要な内容を簡単に紹介します。

UTXO commitments:同期時間の短縮

一般的なフルノードではノードの同期に数日間はかかってしまう、これは開発の大きな障害となる為、bchdでは開発者がすぐに開発に取りかかれるようにUTXO commitmentsを導入する。UTXO commitmentsによって開発者は数分以内にフルノードの同期が可能になる。これは特に将来的にブロックサイズがどんどん大きくなっていくビットコインキャッシュでは重要な機能だ。

Cash Shuffle(キャッシュシャッフル):プライバシーの強化

ジョシュはCash Shuffle(キャッシュシャッフル)を開発中でこれはほぼ完成に近く、すぐにリリース予定だ。Cash Shuffleはトランザクションにオプションでプライバシーを持たせられる機能だ。各種トランザクションからUTXOをグループ化し、ミックスすることで匿名性を高める。

Stealth Address(ステルスアドレス)

ステルスアドレスは新しいタイプのアドレス形式で利用者は安全に固定アドレスを利用する事が出来るオプションで、送金する際のプライバシーも強化される。従来のアドレスでは第三者がブロックチェーンを参照し、入金金額等を確認できるが、ステルスアドレスでは第三者はそれを知ることは出来ない。これは支払いの受付やドネーションを受ける際、インターネットに公開したアドレスの入金内容等を知られたくない時などに便利だ。

Neutrino(ニュートリノ)

ニュートリノは新しい形式のSPVウォレット。SPVはスマートフォンなどに利用される軽量ウォレットに利用される技術で、ブロックチェーン全体をダウンロードしなくてもトランザクションの送受信が行えるようになる。SPVの欠点はウォレットの提供者が本質的に利用者とブロックチェーンを中継する媒介の役目を担っている為、理論的にはトランザクションを監視する事が可能だが、ニュートリノを使えばサーバ側ではなくクライアント側で処理が行われるのでプライバシーを損なう事なく軽量ウォレットを作ることが出来る。

Cash Accounts(キャッシュアカウント)

キャッシュアカウントはビットコインキャッシュユーザーの為の新しいサービスでop-returnを利用し、複雑なビットコインキャッシュアドレスを覚えやすい名前(例えばtaro#3451)に変換出来る。これによって例えば電話口などで、QRコードを送ったりテキストのコピー&ペーストを出来ない場合に簡単に自分のアドレスを伝える事が出来る。誰でも簡単に利用出来セットアップにかかる時間は2分程度。https://www.cashaccount.info/

Double spend proofs:二重支払い防止

二重支払い防止によって0確認をコンセンサスレベルの変更をすること無しにより安全にする事が出来る。二重支払いを感知し決済利用者に通知を行う。アヴァランチはより高度な方法で完全に二重支払いを防止するが、アヴァランチはコンセンサスレベルの変更が必要であり、又、準備とテストに一年くらいはかかる可能性もある。対してbchdの二重支払い防止は今でも簡単に導入可能だ。

Malleability fix:マレアビリティ(トランザクション展性)の修復

ビットコインキャッシュはマレアビリティー、(トランザクション展性)の改善も行っている。これが完了するとビットコインキャッシュでもライトニング・ネットワークのようなペイメントチャンネルが可能になる。ビットコインキャッシュでライトニングネットワークと聞くと嫌悪感を抱く人が多いが、トランザクション展性が治る事でライトニング・ネットワークのようなペイメントチャンネルがビットコインキャッシュ上で可能になるのは事実だ。これはあくまでも将来の可能性の一つでしか無いが、パーミッションレスイノベーションというコンセプトは誰かがそれを作る事を止めることは出来ない。この点に関してインタビューの中でジョシュも次のように述べている。

ジョシュ「パーミッションレスコインというものは誰でもセカンドレイヤーで何かを作ることが出来るという事。僕の意見は少数派かも知れないけど、僕はライトニングネットワークそのものが嫌いなわけではない、ライトニングネットワークは複雑すぎるしユーザー体験も複雑すぎる。あれをスケーリングの解決方法として利用するのは批判しているけど、ペイメントチャンネル自体には多くの利便性があると思う。例えばsatoshis.placeの様な場所にはペイメントチャンネルは必要だろうしマイクロペイメントに価値はあると思う。僕はオンチェーンの手数料は安価であるべきだし、オンチェーンでのスケーリングは最重要だと思う。でも自由で自発的な開発によってユーザーがより便利だから使いたいと思う限りセカンドレイヤーも歓迎するべきだと思うよ。本当のパーミッションレスコインというものは誰かが何かを作る事を止められないんだ。ワームホールキャッシュは物凄い批判にあっていたし、僕もプルーフオブバーンのコンセプトは好きじゃないけど、ワームホールキャッシュを誰かが作る事は止められないんだ。ワームホールキャッシュが好きじゃなければ使わなければいい。皆んなが気にいれば使うだろうし、気に入らなければ使わない。それによって価値があるかどうかわかるんだ。だからパーミッションレスコインの上で誰かが何かを作ってそれが気に入らないからって悪者にするのは間違っている。」

https://github.com/gcash/bchd

2019年2月11日(月曜日)