イベントレポート
BG2C FIN/SUM
ビットコインにスマートコントラクトはあるの? ~知られざるビットコイン最新技術動向
ビットコインの技術革新は今も進行中
2020年9月1日 07:10
ビットコイン(Bitcoin)は2009年に立ち上がった最初の暗号通貨(仮想通貨、暗号資産)であり、最初のパブリックブロックチェーン技術だ。ビットコインの名前は非常に有名だが、ビットコインの技術革新が今も進行中であることを認識している人はあまり多くないようだ。
そのようなギャップを埋める目的で、金融庁と日本経済新聞社主催のイベント「BG2C FIN/SUM BB」の2日目(2020年8月25日)に、「ビットコインコミュニティ」に関するパネルディスカッションが開催された。イベント全体を見回すと金融業界の専門家やFinTechスタートアップが目立ったが、このパネルではビットコインの本質に迫る議論が繰り広げられた。
このパネルの登壇者らは次の通り。
- 加藤 岬造氏
Crypto Garage COO 兼 CBO。ビットコインの技術をビジネスに応用する取り組みを進めている。 - 安土 茂亨氏
Chaintope CTO。2015年頃からビットコイン関連ライブラリの開発に取り組む。 - タデウス・ドライジャ(Thaddeus Dryja)氏
MIT Digital Currency Initiative(マサチューセッツ工科大学 デジタル通貨イニシアチブ)リサーチ・サイエンティスト。レイヤー2技術Lightning Network発明者の一人。最近の取り組みはビットコインのノードのストレージを軽量化する「Utreexo」。 - モデレータ:渡邉 太郎氏
デジタルガレージDG Lab (Blockchain) CTO。ビットコイン技術の推進に取り組む。
パネルディスカッションの動画は下記リンクから見ることができる。BG2Cは英語セッションが中心だったが、このパネルは日本語で行われた。
ビットコインの流儀:スケーラビリティの努力
タデウス・ドライジャ氏は2011年からビットコインに関心を持っていたという。ドライジャ氏はビットコインを高速に取引できるレイヤー2技術「Lightning Network」の発明者の一人だ。ドライジャ氏はその後、ビットコイン上のスマートコントラクトのシステム「Discreet Log Contracts(DLC)」を作った。ドライジャ氏が今取り組んでいる研究はビットコインを支えるノードのストレージを小さく速くする技術「Utreexo」である。
以下、ドライジャ氏の発言要旨である(注:発言内容の忠実な再録ではない)。
ビットコインとは何か?
ビットコインは非常に壊しにくいインターネット上のシステムだ。ビットコインは1台のコンピュータを止めただけでは消せないし、多くのコンピュータを止めても消せない。ビットコインを消すためには全部のコンピュータ(ノード)を停止しないといけない。ビットコイン論文を最初に読んだとき、その点に感銘を受けた。ビットコインは止まらずに存在しつづけるシステムだ。
「コミュニティ」という言葉は、実はビットコインの世界ではあまり使われていない。コミュニティのメンバーかどうかに関係なく、ただソフトウェアをダウンロードすればビットコインのユーザーになれる。ビットコインの開発者(デベロッパ)のコミュニティは存在する。開発者コミュニティはあまり大きくない。ビットコイン本体のソフトウェアを作っている人は世界中で100人以下だ。
ビットコインの開発者が集まる会議もよく開かれている。だが、こうしたコミュニティに参加しなくてもビットコインを使うことはできるし、匿名の開発者もいる。匿名のコミュニティがビットコインの面白いところだ。
「ビットコインはスケールしないのか?(性能向上しないのか?)」とよく聞かれる。他のブロックチェーンの論文もよく読むが「ビットコインの100倍の速さのブロックチェーン」や「1000倍、1万倍の性能向上」の話が出てくる。しかし、いずれもビットコインと同じルールではない。ビットコインと同じ基準では比較できない。
ビットコインのスケーラビリティは難しい問題だ。だが、実際のビットコインにはスケーラビリティがあるともいえる。PoW(proof of work)とナカモト・コンセンサスにより何億、何兆というハッシュ計算を多数のコンピュータが実施し、その結果は1秒以内にどのコンピュータや携帯電話からでも検証できる。
また、(ドライジャ氏が)今研究している「Utreexo」は、ビットコインのシステムが変わらなくてもスケーラビリティを強化できる技術だ。
ビットコインも変わることができる。例えば他のシステムで本当に凄い発見があれば、それをビットコインに適用できる。
以上がドライジャ氏が述べるビットコインのスケーラビリティ(性能向上)への考え方だ。暗号通貨でありパブリックブロックチェーンであるイーサリアムは、シャーディング(並列分散処理)によるスケーリングのような新しいアイデアをどんどん投入してエコシステムを拡大する姿勢なのに対して、ビットコインはセキュリティを最重視し、技術を厳しく評価して進めている。両者の姿勢は対照的だといえる。
ビットコインにスマートコントラクトはある、ない?
安土茂亨氏は、スタータップ企業ChaintopeのCTO(最高技術責任者)を務める。2015年からビットコインのライブラリの開発に取り組んできた。
「ビットコインは古いのか?」という問いに対して、安土氏は「歴史的には一番古い」と回答したうえで、次のように続けた。以下、発言要旨である。
2009年から10年以上も止まらずに動き続けている。その一方で、様々な改善も進んでいる。古いコードベースのまま進化していないということではなく、改良が加えられてきた。また2017年からLightning Networkもメインネットで決済できるようになった。今もその問題点を改善する取り組みが続いている。
「ビットコインにはスマートコントラクトはないのか?」という問いに対しては、次のように答えた。以下、要約する。
ビットコインは公開鍵暗号を使い、コインの所有者が状態遷移(コインが移動)する。その遷移の受け渡しを電子署名によりちゃんと検証する。それをスクリプトで書く(注:ビットコインには命令列を実行する「スクリプト」機能がある)。いろいろな機能をスクリプトを組みあわせることで実現できる。そういう意味ではスマートコントラクトを備えているといえる。
ビットコインのスクリプトがイーサリアムのスマートコントラクトなどと異なる点は、ループ(繰り返し)を含むプログラムを実行できないことだ。イーサリアムのスマートコントラクトは「チューリング完全」と呼ばれておりループを含む任意のプログラムを実行できる。
ただし、そのようなコントラクトをオンチェーンで(ブロックチェーン上で)実行しなければならないかどうか、そこは考慮すべき点だ(注:イーサリアムではスマートコントラクトのバグによる事故やバグを突いた攻撃が問題となっており、スマートコントラクトには監査が必須だと言われている)。逆に、ビットコインと比べて「できること」を極端に減らしたMimblewimble というブロックチェーンプロトコルもある。何でも実行できることが良いのか、何を本当にブロックチェーン上で実行すべきかは要検討だ。
このように、安土氏はビットコイン開発者コミュニティの考え方を説明した。
パネリストの加藤氏は、関連して「ビットコインでは、スクリプトでif文が使える。なんらかの条件を付けた動作をプログラミングすることはもちろんできる。ただし、ビットコインの微妙なバランスを保った状態を壊さずに実現できるかどうかがポイントだ」と述べた。
イーサリアムの特徴はブロックチェーン上の自由なプログラム実行だが、ビットコインのコミュニティは自由なプログラム実行がブロックチェーンの安全性を壊してしまう可能性を懸念している。ここが両技術のコミュニティの最大の違いだ。
もっとも、加藤氏が所属するCrypto Garageは、前述したドライジャ氏のスマートコントラクト分野の研究成果「Discreet Log Contracts(DLC)」を活用したユースケースを世に出している。「アイデアをベースにいろいろなところで検証して、穴がないか、有益かを様々な視点から検証していく。それがビットコインのコミュニティの考え方、文化には合う」と加藤氏は説明した。
モデレータの渡邉氏は加藤氏の発言に補足して「イーサリアムで使われるスマートコントラクトはフレキシブル、チューリング完全で(プログラムで実行できることは)なんでもできる。一方、ビットコインはなぜできないか。何かのトリガーで自動執行されてお金が動くことはセキュリティが要求される。手軽だが脆弱な仕組みは、ビットコインに適用することはできない。それがビットコイン開発者コミュニティの中の暗黙の了解、常識になっている」と述べた。
「イーサリアムのようなフレキシビリティを持ったスマートコントラクトを目指しているし、最終的にはできると思う。だがビットコインの開発者コミュニティではイーサリアムなど以上に慎重に開発を進めている。完璧なものを作り上げようとしており、それに関する技術的ジレンマで現場は苦労している」(渡邉氏)。
ビットコインは3年ぶりの大型アップデートが間近
続いて、パネルディスカッションではビットコインの注目の技術に関する話題を取りあげた。
ドライジャ氏は、「次の新しい出来事は、おそらくSchnorr/Taproot」だと述べた。「ビットコインの基本はデジタル署名。私のお金を『ここ』に送ります、と書いて印鑑を押す(注:送金先アドレスや金額を指定してデジタル署名で真正性を証明することを指す)。その署名を強化する。マルチシグや簡単なスマートコントラクトをサポートする。例えば今日はこの2人の署名があれば送れるが、明日になれば他の3人の署名で送れるようになる。そうしたシステムがSchnorr/Taprootだ」。
また、「Jeremy Rubinが作っているスマートコントラクトのシステムの研究がある。ビットコインに取り入れられるかどうかはまだ分からないが。そして、私(ドライジャ氏)が作っている『Utreexo』がある。自分のノートパソコンにビットコインを導入するとかなり重い。Bitcoin Coreを動かすには数百Gバイトのスペースが必要になるしメモリーも必要。Utreexoはそのサイズを小さくする。GバイトではなくKバイトになる」。
この話題に関連して、安土氏は「Schnorr/Taprootという新しい技術の導入がいよいよ間近になってきた。2017年にSegWitが最後のソフトフォークとして入って以降、コンセンサスレベルの新しい技術は追加されていなかった。それが近い。楽しみ」と語った。また、ビットコインの軽量クライアントがリリースされることを取りあげ「より沢山の『ノード経済』が生まれる。エコシステムを組み上げる上で楽しみな技術」と語った。
ビットコインの新技術では、2017年に導入された技術仕様「SegWit」の後、ソフトフォークを伴う大きなアップデートはなかった。Schnorr/Taprootは、SegWit以来の大型アップデートになると期待されている。
「デジタル・ドル」はビットコインから学ぼうとしている
パネルディスカッションの終盤、ドライジャ氏は「私たちMIT DCI(マサチューセッツ工科大学 デジタル通貨イニシアチブ)は、アメリカの中央銀行(連邦準備制度理事会)と一緒に中央銀行デジタル通貨の研究を始めた」と重要な話を明かした。「中央銀行デジタル通貨でビットコインの技術を使うかどうかは検討中だが、ビットコインから学ぼうとしている。ビットコインのテクノロジーが、中央銀行デジタル通貨に入るかもしれない」。
アメリカの中央銀行デジタル通貨の具体的な構想はまだ明らかになっていないが、水面下では研究が続いている。将来の「デジタル・ドル」にはビットコインに学んだ技術が取り入れられている可能性があるわけだ。
ビットコインの開発者コミュニティは「信用できる第3者を必要としない取引」という本質を追究し、最高水準のセキュリティを保ちながらスケーリング(性能向上)とスマートコントラクト(より高度なプログラム実行機能)の実現に取り組んでいる。ビットコインの技術は依然として、要注目だといえる。