ユーザー・ソブリンティ(主権)の現在地:niftynei × ビットコインウォレット開発者パネル【前編】
では、まずはこんな質問から始めてみましょうか。
なぜ「ウォレット」なんでしょう?
ここにいる全員が、ウォレット技術、もしくは「人々がビットコインを保持するための何らかの仕組み」に関わる仕事をしていますよね。
世の中には、ビットコインに限らず、取り組めることは無数にあるのに、なぜ「ビットコインを守るためのツールづくり」だったのでしょうか?
こんにちは!yutaro です。本日のPro向け「BTCインサイト」では、
台北で開催された bitcoin++ sovereignty edition の中でも、特に注目度の高かった「User Sovereignty Panel」を取り上げます。
セルフカストディの現在地を、ウォレット開発の第一線にいるレジェンド達がどう語ったのか?──その内容を余すことなく聞ける素晴らしいパネルでした。
(※本日は前編です)
導入:パネルと登壇者紹介
【niftynei】
Bitcoin++ では、実はあまりパネルディスカッションってやらないんですよね。
えっと、それには特に大した理由はなくて、単に私が怠け者だから、というだけなんですけど。
でも今日は、主権(ソブリンティ)系のテック、とくにウォレットまわりで活動している人たちが一堂に会してくれているので、本当にうれしく思っています。
まずは、Payjoin Foundation のエグゼクティブディレクターであり、Payjoin プロジェクトの創設者でもある Dan Gould が来てくれています。
それで合ってますか?
【Dan Gould】
まあ、燃え尽きた灰の中から拾い上げた、という感じですね。
一度燃え落ちたものを、僕たちが引き継いで続けている、というか。
【niftynei】
それはぜひ詳しく聞きたい話ですね。
あとでその話にも入りましょう。
それから、PSBTの仕様を立ち上げた Ava Chow も来ています。
BIP エディタとしては、Peter Wuille に次いで 2 番目に多くの編集をしている人です。
ハードウェアウォレットインターフェイスも、あなたのプロジェクトでしたよね。
【Ava Chow】
そういうことになっている…らしいです。
【niftynei】
そして、Bitcoin Core という小さなソフトウェアの、長年のウォレットメンテナーでもあります。
【Ava Chow】
そうですね。
【niftynei】
ウォレット部分に関しては、あなたが一番長くメンテナーを務めている人、ということになりますか?
【Ava Chow】
えっと、そうではないですね。
【niftynei】
もう少しマイクを近づけてもらえますか?
【Ava Chow】
はい。
その、ウォレットには、私の前にもメンテナーがいました。MeshCollider という人で、彼は 4 年くらい担当していました。
【niftynei】
あなたはどれくらいウォレットに関わっているのですか?
【Ava Chow】
私はメンテナーになって 3 年くらいです。
ウォレット自体に携わっている期間で言うと、だいたい 9 年になると思います。
【niftynei】
その隣にいるのが Alekos Filini で、今は Portal Technologies の CEO 兼 CTO を務めています。
Portal Technologies は主権的な鍵管理とアイデンティティ管理に取り組んでいますが、私にとっては、あなたは BDK の作者としての方が有名ですね。
【Alekos Filini】
そうですね、いつかは Portal の方が BDK より有名になってくれたらいいな、とは思っているんですが、今のところはまだ「BDK の人」として知られています。
【niftynei】
BDK は今、単独の財団も持っていますよね。
【Alekos Filini】
ええ、そうです。BDK Foundation があります。
私はもう開発には関わっていませんが、財団の理事には入っています。
寄付や資金を管理して、それを BDK の開発に回す、という役割ですね。
そして、昨日ちょうど MetaMask との連携を発表したところです。
MetaMask が BDK を統合しました。
【niftynei】
それはすごいですね。
つまり、あなたのコードが今や、みんなのブラウザの中で動いているわけです。
ここにいる人たちは誰も MetaMask を使っていない気もしますけど。
【Alekos Filini】
シットコイナーたちのブラウザの中では、ですね。
【niftynei】
おめでとうございます。本当に大きな出来事ですよね。
それから、マイクをシェアしてもらう形で申し訳ないのですが、Nick Farrow も来てくれています。
彼は Lloyd のインターンとしてキャリアをスタートしたんですよね?
【Nick Farrow】
そのとおりです。
【niftynei】
そして今は、ユーザーが使える FROST——ユーザー向けの FROST を実現する Frostsnap テクノロジーに取り組んでいます。
【Nick Farrow】
ええ、そうです。
マルチシグを簡単にする。
そして、あなたの人生の貯蓄を、自宅の外に安全に出す。
それが目指しているところです。
【niftynei】
いいですね。
なぜウォレットなのか?各開発者がこの領域に取り組む理由
【niftynei】
では、まずはこんな質問から始めてみましょうか。
なぜ「ウォレット」なんでしょう?
ここにいる全員が、ウォレット技術、もしくは「人々がビットコインを保持するための何らかの仕組み」に関わる仕事をしていますよね。
世の中には、ビットコインに限らず、取り組めることは無数にあるのに、なぜ「ビットコインを守るためのツールづくり」だったのでしょうか?
【Dan Gould】
僕から始めてもいいですか?
ウォレットについて本格的に取り組み始めたのは 2018 年頃でした。
そしてすぐに気づいたんです。
ウォレットを作るって、とんでもなく難しいし、報われない仕事なんだ、と。
それで僕は、システムやプロトコル設計の方に少し軸足を移したんですね。
それでもこの領域に取り組む理由は明確で、チャンスが圧倒的に大きいからです。
ビットコインには、まだウォレットの種類が限られていて、携わる開発者の数も多くありません。
だからこそ、「解決できる問題」が無数に残っている。
そこが、この分野の一番魅力的なところです。
そして、最近は DevKit(BDK)に注力しています。
たくさんのウォレットと統合できる仕組みを作る方が、よりレバレッジが効くと判断したからです。
【niftynei】
つまり今のあなたは、ウォレットそのものを開発しているわけではなく、
「他のウォレット開発者が利用する基盤インフラ」
を作っている、ということですね?
【Dan Gould】
その通りです。
私たちは大きく 3 つの領域に分かれて活動しています。
各ウォレットとの統合
研究開発
核となる API・プロトコルの設計と実装
統合の仕事は、いわば“ビジネス寄り”の領域ですね。
既存のコードベースに新しいプロトコルを組み込む必要があり、そのコードにはテストや品質保証が整っていないケースもよくあります。
それでも、なんとか動かす必要がある。
【niftynei】
でも良いニュースがあります。
みんなが使っている基盤ライブラリ(BDK)は、非常に高い品質基準を満たしています。
その上にどれだけ“宝の山”が積み上がろうとも、
“一番難しい部分”は DevKit がしっかり支えている、というわけですね。
DevKit が主流になってから、もう 3〜5 年は経ちますよね。
【Alekos Filini】
ここでちょっと話の順番を変えますが、Dan の話に乗っかりたい。
僕が BDK を作り始めた理由そのものが、
「ウォレットの開発はあまりにも複雑すぎる」
という問題意識だったんです。
当時、Blockstream の Green Wallet (現 Blockstream App) に関わっていましたが、Green は非常に古参のウォレットです。
BIP39 より前から存在していましたし、BIP32 以前から動いている部分もあります。
その結果どうなるか?
後方互換性の“泥沼”です。
古い仕様も全部サポートしないといけない。
新しい仕様を入れようとすると無数の例外処理が発生し、コードが破綻していく。
そこで思ったんです。
「もっと良い方法はないのか?」
「古い機能も、新しい機能も、綺麗に扱える“共通の基盤”を作れないのか?」
それが BDK の原点でした。
Bitcoin Core ウォレットに取り組み始めた理由
【Ava Chow】
BIP39 や BIP32 より前から存在していたウォレットといえば……
私が Bitcoin Core ウォレットに関わり始めた理由も、まさにそれなんです。
私はもともと Bitcoin Armory というウォレットを使っていました。
ただ、私が使い始めた当時、Armory は ほぼメンテされていない状態でした。
実質的に開発者が 1 人だけで、その人も十分な時間を確保できていなかったんですね。
しかも Armory はバックエンドで Bitcoin Core を使っていました。
そこで最初に起きたのがこれです。
Bitcoin Core をアップデートしたら、Armory が壊れた。
私はまず Armory 側を修正し、それから
「Bitcoin Core の側では今何が起きているのか?」
を確かめるために Bitcoin Core のコードを見るようになりました。
そして再び Armory が壊れないように監視し始めたんです。
ですが、Armory のメンテがどんどん滞っていく一方で、
私は Bitcoin Core の方に関わる時間がどんどん増えていきました。
ウォレットに取り組む理由はとてもシンプルです。
ビットコインを使うとき、必ずウォレットに触れるからです。
ウォレットは、ビットコインとユーザーをつなぐ “フロントエンドインターフェイス” そのものです。
もしビットコインを広く使ってほしいなら、ウォレットがきちんと動くことは絶対に必要だと思っています。
【Dan Gould】
この比喩、本当にもっと知られていいと思うのですが、
「ウォレットはビットコインにとって、ウェブにおけるブラウザのような存在」
ですよね。
【Nick Farrow】
今ちょうど面白い状況がありまして――
たとえば、FROST を使った新しいハードウェアウォレットを作るとします。
既存のウォレットにそれを組み込もうとすると、かなり難しいんですよ。
だから僕たちは 必要に迫られて、自分たちでウォレットを作らざるを得なかったんです。
最初は「Sparrow をフォークして Frostsnap のデバイスを対応させる」という案もありました。
でも最終的に僕たちはこう判断しました。
「自分たちが作るハードウェアに最適化された UX のウォレットを、新しく作った方がいい」
そして振り返ってみると、これは Bitcoin ウォレット全体によくあるパターンなんです。
誰かが「特定の課題」を解決するためだけに、新しいウォレットを作る。
「プラグインで何でもできる汎用ウォレット」みたいな世界には、まだ到達していません。
みんな、自分たちの目的を達成するために独自ウォレットを構築している状態なんです。
BDK を使うウォレットはどれくらいある?
【niftynei】
では、順番を少し変えて……
ここにいる皆さんのうち、BDK を使っているウォレット開発者はどれくらいいますか?
【Dan Gould】
まず僕たちの側から言うと、
BDK と直接統合している部分はかなり多いです。
たとえば Bull Bitcoin は BDK を使っていますし、
私たちはそのための統合を行ってきました。
また、BDK の CLI テストツールとの統合も持っています。
今後予定している他の統合案件の多くも BDK ベースです。
理想的には、
「BDK に Payjoin を含めて機能として出荷できるようになる」
と良いのですが、まだそこまではできていません。
ただ、Payjoin と BDK は独立したプロジェクトなので、
必須ではなく、“利便性のため”の統合といった位置づけですね。
開発者の多くは「BDK に組み込まれているなら安心」と考えて採用するので、
その点で大きい意味があります。
【Alekos Filini】
いくらで統合できますか?(笑)
コードベースに直接統合するとなると……議論の余地はあるかと。
【niftynei】
これこそまさにリアルタイムのビジネスディベロップメントですね(笑)。
では、ユーザー体験(UX)の話に移りましょう。
ウォレット開発者が今もっとも重視すべき UX は何でしょう?
あるいは、ユーザーはウォレットを選ぶ際に何を最優先にすべきだと思いますか?
DH Magazine Proへの招待
月7ドルでDH Magazine Proに参加して、より詳細な情報を受け取りつつ、Diamond Handsの活動を支援しよう!
詳細は以下のPro版の内容紹介記事をご確認ください。











