こんにちは、ペリッパーです。
4年ぶりのビットコイン大型アップデート『Taproot』が実施されることが決まりました。
今回は知っておかなくてはならないTaprootについて、『Taprootとは何か』、『Taprootに採用されている技術について』、『Taproot実装にあたりマイナーの支持がなぜ必要なのか』について解説します。
Taprootとは
Taprootとは、ビットコインの大型アップデートのことです。前回はsegwitと呼ばれる『1ブロックあたりのトランザクション容量を大きくすること』を目的に2017年にアップデートが実施されています。
このアップデートは従来ブロックに入っていたトランザクションデータ(バージョン情報など)をWitness領域といわれる箇所に移すことを可能としました。
結果、1ブロックに収納されるトランザクションデータは2倍になり、当時課題であったトランザクションのつまりなどを解消することに成功しています。
そして今回のTaprootによるアップデートの目的は、現状の課題である『プライバシー機能』と『スケーラビリティー』の向上です。
Taprootでは、新しいスクリプト言語であるTapscriptを組み合わせ、シュノア署名とMASTという技術を使いこれらを改善しています。簡単に技術について解説しようと思います。
シュノア署名
ビットコインにおいてこの署名というのは、BTCの所有権を証明するということで重要な役割を担っています。
ただ、現在の課題として、ビットコインの送金時に複数名の署名(マルチシグ)が必要となるのですが、このデータがブロックの中を占める割合が大きいことが挙げられています。この課題を解決するのがシュノア署名という技術です。
シュノア署名では、上図のように、複数の署名(ECDSA)ではなく、1人の署名でトランザクションを済ませることができます。これは署名にかかる時間が短縮することを可能にし、さらに署名データを減らすことにつながり、取引手数料削減を実現することにつながります。これらが結果的にスケーラビリティーの問題を解決することができます。
MAST
MAST(Merklized Abstract Syntax Tree:マークル化抽象構文木)とは、複雑なトランザクションデータを効率的に記述し、不要な情報をブロックに書き込むことなく秘匿性を向上させる技術のことです。
少し具体例を出します。
ビットコインを送金する際には、単純に「AさんからBさんに1BTCを送金する」という取引だけではなく、「AさんがBさんに送った1BTCをBさんが1週間受け取らなかった場合、Cさんへ送金する」といった複雑な取引条件を設定することができます。
この条件が複雑になればなるほどトランザクションデータのサイズは大きくなります。その結果、ブロックサイズを圧迫し、トランザクション詰まりや取引手数料の高騰などスケーラビリティ問題を引き起こすことになります。
MASTでは、条件分岐のスクリプトをマークル木構造に割り当て、実行しない条件をハッシュのままにすることでトランザクションのサイズを小さくすることができます。また、MASTは条件に関連する人物のみに内容が公開される仕組みのため、実行されなかった条件は閲覧することができずプライバシー保護にも繋がります。
Taproot実装にあたりマイナーの支持が必要な理由
ここまで、Taprootとは何かと、Taprootの技術について解説しました。
では、なぜマイナーの支持が必要なのでしょうか。前述したとおり、Taprootは大型のアップデートのため開発者だけでは実現できません。なぜならば実際の取引処理はマイナーが行っているからです。
現状、ビットコインネットワークの基盤となるソフトウェア「ビットコイン・コア」が5月1日に最新バージョンである0.21.1をリリースしており、ここにTaprootのアクティベーション・コードを追加しています。
マイナーがこのバージョンアップをしないとTaprootが実現しないためです。
Taproot発表後、既に9割以上の支持を集め、2021年11月15日に実装が決まりました。これからのマイニングに目が離せないですね。今からでも簡単にマイニングを始める方法については、下記記事を参考にしてみてください。
「マイニング収益が上がるか不安だな~」って方は、筆者が毎日マイニングした収益をTwitterで発信しています。確認してからマイニングするといいかもしれません。
それでは。
コメント