BitCoin(ビットコイン)のTapRoot(タップルート)とは
BitCoin(ビットコイン)のTapRoot(タップルート)のアップデートが行われました。
そもそもタップルートとは、
植物の茎からまっすぐ下に伸びた主根(しゅこん)のことです。
BitCoin(ビットコイン)の大型アップデートの
ソフトフォークとしては2017年のSegWit以来になります。
TapRoot(タップルート)のアップデートは、
BitCoin(ビットコイン)におけるプライバシー向上やスケーラビリティ問題の改善がされ、
スマートコントラクト機能の拡張やマルチシグ利用での手数料削減など、
より実用性が高まることが期待されています。
今回はBitCoin(ビットコイン)のTapRoot(タップルート)について
詳しく解説していきます。
BitCoin(ビットコイン)のTapRoot(タップルート)の技術
TapRoot(タップルート)では機能拡張を
- MAST(マークル化抽象構文木)
- シュノア(Schnorr)署名
という技術を新たに融合することで改善され実現します。
MAST(マークル化抽象構文木)
BitCoin(ビットコイン)を送金する際に
単純にAさんからBさんに1BTCを送金するという取引だけではなく、
BさんがAさんから1BTCを3ヶ月受け取らなかった場合CさんとDさんが受け取れる
という複雑な取引を行うことも可能です。
このようにある条件と異なる条件で送金の挙動が異なるようなときは、
条件分岐が複雑になればなるほど、
トランザクションのデータサイズが大きくなってしまうというデメリットがあります。
それを解決するのがMAST(マークル化抽象構文木)です。
MASTは複雑な条件分岐があるトランザクションのデータサイズを
コンパクトにすることができます。
また、特定条件のみの内容を公開することで、
不必要な条件を隠して、プライバシーを向上させることにも繋がっています。
MAST(マークル化抽象構文木)には、
- 抽象構文木(abstract syntax tree, AST)
- マークル木(merkle tree)
という2つの技術が使われています。
抽象構文木とは、
全体のコードを意味のある小さなコードごとに分割してツリー状にまとめることです。
マークル木とは、
ツリー状のデータ構造になっていて下層にある2つのデータのハッシュ値をとることで、
複数のデータを頂点にあるひとつのデータとしてまとめる技術です。
シュノア署名
シュノア署名は、ドイツの数学者であり暗号学者の
Claus-Peter Schnorr(クラウス-ペーター・シュノア)博士が発案した署名方式です。
ブロックチェーン上に取引情報が記載されているBitCoin(ビットコイン)では、
特定の公開鍵に送付したのかを誰でも判別得できてしまう
ECDSA(楕円曲線DSA)という署名方法を採用していました。
しかし、TapRoot(タップルート)によってシュノア署名を採用することによって、
公開鍵の署名と、任意のスクリプトの署名を同じ形の署名にしたり、
複数の署名を一つにまとめたりできます。
これにより取引情報を隠し、プライバシーの向上を可能にします。
BitCoin(ビットコイン)のTapRoot(タップルート)によって変わること
BitCoin(ビットコイン)のTapRoot(タップルート)によって変わることですが、
スケーラビリティ問題の解決やスマートコントラクトが実装がしやすくなります。
TapRoot(タップルート)によって変わること
- プライバシー機能の改善
- スケーラビリティの向上
プライバシー機能の改善
BitCoin(ビットコイン)のTapRoot(タップルート)によって
プライバシー機能が改善されます。
また、プライバシー向上にMASTも貢献しています。
しかし、MASTを使っていることが自明になってしまうために、
別の条件があることが分かってしまうという欠点が指摘されています。
BitCoin(ビットコイン)のTapRoot(タップルート)では、
シュノア署名の技術を使ったP2TR(ペイトゥタップルート)と呼ばれる
新たな出力を作成することによってMASTが使われているトランザクションを
通常のトランザクションと見せかけることができます。
これによってライバシーを向上させることができるのです。
スケーラビリティの向上
スケーラビリティの向上もシェノア著名とMASTの両方が貢献しています。
スケーラビリティの向上についてもシュノア署名とMASTの両方が貢献しています。
シェノア署名ではマルチシグなどで使われている複数の署名を一つにまとめて
データ容量を小さく削減することができます。
取引に使われている大量の公開鍵に対しる署名を一つだけ記録するだけで済むので、
データ容量が縮小して取引手数料も安価に抑えられます。
MASTは、複雑な条件を含んだスマートコントラクトを効率的に記述することによって
データサイズを削減することが可能です。
通常のブロックチェーンで使ったトランザクションは様々な情報が記載されていますが、
取引に必要のない情報も含まれているので、
MASTによって必要のない情報をブロックに書き込ないようにすることによって
トランザクションデータを小さくすることが可能です。
まとめ
BitCoin(ビットコイン)が誕生してから13年ですが、
TapRoot(タップルート)のアップデートよって
BitCoin(ビットコイン)はますます進化していきそうですね。
コメント