今回のレポートは、先週に引き続きまして、ビットコインのスクリプトにまつわる話をしたいとおもいます。テーマは、トランザクション・マリアビリティです。トランザクション・マリアビリティというのは、ビットコインの実装における最大の欠陥とも指摘されていたものです。
Mt.Gox事件を当時体験しているひとだったら、かならずや聞いたことのある言葉とおもいます。マーク・カルプレス元CEOの「システムに弱いところがあって、ビットコインがなくなってしまいました」という言葉は記憶に新しいとおもいます。この「システムの弱いところ」というのが、トランザクション・マリアビリティの欠陥をついたバグということなのです。コインが盗まれた原因だとされていました(が、事件の顛末としてはCEOによる内部犯罪の線が濃厚です)。
トランザクション・マリアビリティがある限り、取引所などのシステムにもややこしい対応が必要になりますし、ライトニングネットワークやサイドチェーンといったものが開発できないといわれています。
なんとかして、マリアビリティ問題を解決できないか?
実は、Segwitというのが、このマリアビリティ問題の解決方法になっているのです。Segwitが稼働すると、長らくビットコイン最大の欠陥といわれていたマリアビリティが、完全かつ恒久的に解決します。
これは、めっちゃ大きいです。ですので、Segwitは、今後のビットコインが成長するための基礎がためとして、すごく大きな意味をもってくるというわけです。
ということで、今回のレポートは、3つのことを理解していただきます。
- マリアビリティとはなにか?
- なぜマリアビリティが問題になるのか?
- Segwitにより、どのように解決が行われるのか?
注: マリアビリティは、日本語だと「展性」というのですが、日本に訳したところでそちらも全く聞いたことのない言葉なわけですから、英語のままマリアビリティということにします。
トランザクション・ハッシュとは何か?
一言でいうと、ビットコインのトランザクションひとつひとつにつけられている「トランザクション・ハッシュ」が変更できてしまう問題です。しかも、第三者(悪意がある人)によって、変更することができてしまい、それを防ぐ有効な手立てがありませんでした。
まず、トランザクション・ハッシュについて理解しましょう。