【BTC】ビットコインの主要なアップグレード
はじめに
Project LUCKと書く人
Project LUCKメンバーの佐藤です!Project LUCKというのは、株式会社マーキュリー(代表取締役:都木聡)の中で立ち上げたプロジェクトです。そのコアメンバーが日々、自分たちが学んだことや読者の皆さんとコミュニケーションをとりたいと思い、さまざまな記事を書いています。
今回のテーマ
ビットコインはこれまでいくつか大きなアップデートが起こっているのはご存じでしたか?
ビットコインは分散的に管理されているため、アップデートを行う際にはコミュニティからの合意がないとアップデートが行えません。
そのため、頻繁にアップデートが起こっているということではないですが、過去に2つ大きなアップデートが発生しました。
今回はそれらのアップデートに関する歴史や、アップデート以外でのビットコインの問題点に対処しようと取り組んでいる例について書いていこうと思います。
↓↓↓目次↓↓↓
SegWit
ビットコイン上で最初に発生した大きなアップグレードの「SegWit(Segregated Witness)」は、ビットコインのプロトコルアップグレードで、トランザクションのフォーマット方法を変更しました。
このアップグレードでは、Mt.GOXの事件で悪用されたビットコインの脆弱性であった「トランザクション展性」が主な目的として行われました。
SegWitのアップデート
ブロックサイズの拡大
SegWitでは、ある一定時間内に提出されたトランザクション(取引データ)を集めたブロックの容量を拡大させることなくより多くのトランザクションを含められるようになりました。
具体的にはブロック ウェイトという、トランザクションの有効性をチェックするうえで必要となるデータと、それ以外のデータを分離することでより多くのトランザクションを1つのブロック内に含めることが可能となりました。
このアップグレードによって、アップデート前は最大約 1,650トランザクションが含められましたが、アップデート後には最大約 2,700トランザクションを含めることが可能となりました。取引速度の向上
1.で解説した、ブロックサイズの拡大の影響で取引の速度も向上させることに成功しました。
ビットコインでは1つのブロックはおよそ10分程度で生成されるため、そのブロックの中に入れることのできる総量が増加することで直接的に取引速度の上昇につながりました。トランザクション展性の克服
Mt.GOXの事件で悪用されたビットコインの脆弱性であるトランザクション展性とは、トランザクションの取引内容を変更せずにトランザクションが紐づけられたIDを外部の者が意図的に変化させる脆弱性のことです。
このIDを書き換えることでもともとの取引内容の書き換えが可能になり、そのトランザクションを承認させることでもともとのトランザクションを無効にして送金が可能になっていました。
SegWitのアップデートによってこの問題が解決したため、安全に送金を行うことが可能になりました。アドレス形式の変更
これまで利用されていた、あるウォレット固有の送金や受け取りを行うためのアドレスの形式が変更されました。
この変更によってトランザクション速度の向上、エラー検出メカニズムの改善、トランザクション手数料のさらなる低減が可能になりました。
しかし、これまでのアドレス形式と互換性がなかったためユーザーにとっては非常に困惑する変更でもありました。Lightning Networkの実現
3.で解説を行ったトランザクション展性の脆弱性が解決したことで、ビットコイン上のセカンドレイヤープロトコルであるLightning Networkの構築が可能になりました。
Lightning Networkについては後ほど解説を行います。SegWit2xとの違い
SegWit2xはブロックチェーンを分岐させるハードフォークによるアップグレードで、1つのブロックに含められるデータ量を表すブロックサイズを2MBに拡大する提案でした。
しかしこの提案は実現されることはありませんでした。
SegWitの実装により、ビットコインネットワークの問題が部分的に解決され、さらなる革新的な技術の開発につながった点が重要な功績と言えます。
Taproot
Taprootは2021年11月に導入されたビットコインネットワークの大規模なアップグレードで、プライバシー、スケーラビリティ、セキュリティの向上を目的としています。
このアップグレードによる主な構成要素は、Taproot、Tapscript、シュノア署名の3つのBitcoin改善提案(BIP)です。
Taproot(BIP341)
Taprootでは、先ほど紹介したSegWitアップグレードをベースに、Merkelized Alternative Script Tree(MAST)という技術が導入されました。
この技術は、取引履歴であるトランザクションの詳細をできるだけ開示することなく処理が可能となりました。
そのため、これまでよりも記録されるデータ量が少なく済むようになったことで、プライバシー性の向上やビットコインネットワーク全体での処理能力の向上など、機能的にも大きく使いやすくなりました。シュノア署名(BIP340)
シュノア署名とはトランザクションを承認するときに発生する署名の方法の一つです。
このシュノア署名では複数の署名を1つにまとめる「署名集約」が可能になりました。これによって、より効率的にトランザクションの処理が行えるようになり効率が上がると同時に、改ざんのリスクの排除などセキュリティも大幅に強化されました。Tapscript(BIP342)
Tapscriptとは、今回のアップグレードで追加された特定の処理を自動的に実行できるプログラム言語(スクリプト言語)です。
これによってビットコイン上で繰り返し実行などのより複雑な処理を行えるようになり、これまでできなかったより複雑なスマートコントラクト機能を実装できるようになりました。
また、今回実装されたTapscriptは先ほど解説したSchnorr署名とTaprootに対応していることも特徴です。
Taprootは、Bitcoinのプライバシー保護、スケーリング、セキュリティを大幅に改善し、新機能の導入にもつながる重要なアップグレードと位置づけられています。
現在でもTaprootを用いた新たな取り組みが起こっており、技術的にもビットコインのユースケースとしても非常に重要なアップデートだったことがわかりますね!
終わりに
今回はビットコイン上でこれまで発生した大きなアップグレードについて解説を行いました。
ビットコインは、中央で管理を行う団体や個人がいないため管理も多くの人たちによって行われています。
そのため、中央の管理者がいることによるスピード感はありませんがより公平に開発やアップデートを行うことができるようになっています。
最近ではこれらのアップデートをもとに作成されたプロジェクトや技術も多く登場しており、このようなアップデートがあったことを理解していると「なるほどな~」となるかもしれませんね。