見出し画像

なぜいまさら…? ビットコインのスマートコントラクト

つづき。

前回までに
「そもそもビットコインはスマート・コントラクトである」
「ビットコインは、仮想マシン (Bitcoin Script)を実行することで、スマート・コントラクトを実現している。細部では異なるが、イーサリアムのような、スマート・コントラクトを重視するブロックチェーンと同様である。」
という辺りを説明しました。

そして「従来のビットコインは、Bitcoin Script の利用に対し、消極的だった」という説明もしました。

それが何故いまさら…という疑問に対する、単純明快な答えはたぶんありません。しかし、下記のような状況の変化が影響していると考えられます。

背景1 「意外にもイーサリアムが使い物になった」

"意外" などいうとイーサリアンから殺人光線を照射されそうですが。ビットコイン陣営にとっては、"意外" だったことでしょう。

振り返ってみると、コントラクトのバグにより、多額の資金が奪われたり回収不能になったり、挙句はチェーンが分裂したり、散々なこともあったイーサリアムですが。コントラクトのコードがチェーンを止めること無く、今まで来ています。"止まらない" というのはブロックチェーンにとって極めて大事なことです。「ビットコインも Bitcoin Script をもう少し活用しても良いかもしれない」という、ふわっとした空気の醸成に、イーサリアムの存在はありましょう。

背景2 「Bitcoin Cash がスマート・コントラクトに積極的」

繰り返しになりますが、従来のビットコイン開発勢は、スマート・コントラクトに消極的でした。なので、検証ノードをクラッシュさせるような脆弱性が発見された場合、命令そのものを無効化することで対処してきました。

しかしながら、無効化された命令の中には、軽微な仕様変更を行えば安全に使えるものもありましたし、複雑なスマート・コントラクトを実現するために便利に使えるものもありました。

ビットコインから喧嘩別れした Bitcoin Cash は、今のビットコイン開発勢の方針に異を唱えています。日本のビットコイン・マキシマリストは「ビッグ・ブロック vs スモール・ブロック」のような、ページビューを稼げそうな単純な話しか取り上げない傾向にあり、なかなか伝わってきづらいのですが、Bitcoin Cash 陣営は、Bitcoin Script のような地味なところにも再検討の手を入れようとしています。

敵対するチェーンが頑張っているなら、こちらも無視はできないという。これは割と政治的な話に聞こえるかもしれませんが、純粋に技術的な競争としても、メリットがありそうな話に無視を決め込むわけにもいかないでしょう。

背景3 「 "単に送金する" 以上の需要が発生している」

言うまでもないことですが、ビットコインの典型的な使われ方は "送金" です。ブロックチェーンを使うことで「手持ちの資金を誰かに送りました」という証明ができます。

しかし、ビットコインが使われる場面が増えるに従って「とりあえず特定のアドレスにビットコインを送りますが、受け取り手に不正があった場合にはそのアドレスからビットコインを取り戻せるようにしたいです」「最初の半年間は誰も触れず、次の半年間は特定のアドレスだけ、その後は別のマルチシグ・アドレスだけが取り出せるようにしたいです」といった複雑な要求が生まれてきています。

また、サイド・チェーンやオフ・チェーンといった、スケーリング関連の技術も、単に送金するという枠を超えた需要に含まれます。

これらの需要は全て送金のための条件、つまり "契約" なので、スマート・コントラクトとして処理されるべきということになります。

...

以上、ビットコインでのスマート・コントラクトが、いまさら注目されている背景を幾つか挙げてみました。流行りの理由というのは、明確なものが無い "ふわっ" としたものであることが常で、挙げた以外にも「BTC の対 fiat 価格が下がり気味なので、投機目的の連中が藁にもすがる思いで煽っている」などいう身も蓋もない要因等もありましょう。

ともあれ、複数の要因により「機が熟した」ということなのだろうと、中の人は近況を解釈しています。技術にせよ政治にせよ、タイミングって、だいじです。

...

さて、なかなか本題に到達しないのですが。
次稿では「なぜ Miniscript がビットコインにとって必要なのか」という辺りを整理したいと思います。

この記事が気に入ったらサポートをしてみませんか?