Taproot/Graftroot解説 第1回 Taprootの概要
はじめに
本記事は、全3回に渡って、Taproot/Graftrootと呼ばれるビットコイン上の新しいコントラクトのアイデアを紹介します。また、これらの技術の前提ともなる、シュノア署名やMuSigについても取り上げます。
第1回では、Taprootの概要について解説し、第2回ではシュノア署名とMuSig、第3回でGraftrootの概要について解説します。
前提知識として、MASTについての最新動向記事に目を通しておくことが望ましいです。
ゴール
Taprootのコンセプト、メリット、課題を把握する
ターゲット
ビットコインのチェーンの実装、技術面について興味のある方
トピックス
はじめに
– 第1章 Taprootの目的
– MASTの課題
第2章 Taprootのアイデア
– コントラクトのテンプレート化
第3章 Taprootに対する考察
– Taprootのメリット
– Taprootの課題
まとめ
第1章 Taprootの目的
Taprootは、2018年1月にGregory Maxwellによって提案された、MAST(Merkelized Abstract Syntax Trees)の効率性と秘匿性をより強固なものとするアイデアです。
MASTとは、ビットコイン上の複雑な条件を含むコントラクトを効率的にトランザクションに記述することができ、不要な情報をブロック上に公開する必要がないため、秘匿性も向上させる技術です。
まずは、Taprootが解決しようとしているMASTの課題について説明します。
MASTの課題とは?
MASTでは、複雑な条件を含むコントラクトを、Abstract Syntax Treesと呼ばれるツリー構造で記述し、そのツリーのハッシュ値のみをオンチェーンに記述することで、トランザクションのデータサイズを削減します。
例として、アリスとボブの2-of-2のマルチシグと、一定のタイムアウト値経過後にボブへ支払いされるコントラクトをMASTで記述する場合の構造を、図1に示します。
ここで、オンチェーン上に含まれるMAST rootやhashの値は、マルチシグやタイムアウトのスクリプト自体より小さなデータとなるため、直接トランザクションにスクリプトを記述するより、トランザクションサイズを削減することができます。
また、MAST rootやhashの値だけでは、このトランザクションにアリスやボブが関わっていることは特定できず、プライバシーの向上にも繋がります。
ここで、MASTにおける課題とは何でしょうか?
まず、秘匿性について考えてみると、確かにMAST rootやhashだけではアリスやボブのアドレスまでは特定できませんが、MASTを用いて何かしらの記述をしている、ということは分かります。
一般的な支払いのトランザクションの数に比べて、MASTを用いたトランザクションの数が極めて少ない場合、MASTのフォーマットを用いたトランザクションを発行している、という行為自体が、何らかの情報漏洩に繋がる可能性があります。
それでは、すべてのトランザクションがMASTのフォーマットで記述されていればどうでしょう?
その場合、一般的なトランザクションと複雑な条件を含むトランザクションを区別することは難しくなりますが、MASTのフォーマットに従うためには少なくとも2つ以上のhashが必要なため、単純な支払いであってもダミーのスクリプトを用意して、そのhashをトランザクションに埋め込む必要があります。これでは、MASTを用いることで逆にトランザクションの容量が増加してしまうことになり、効率性のメリットを損ないます。
したがって、MASTには確かに、効率性と秘匿性というメリットはあるものの、両者はトレードオフの関係にあり、秘匿性を向上させようとすると効率性が低下する、という課題があります。
第2章 Taprootのアイデア
Taprootのアイデアは、MASTの課題である効率性と秘匿性のトレードオフに対して、特定の条件下であれば、両者を同時に満たすことが可能となるものです。
ここで、特定の条件下というのは、MASTで記述したいコントラクトをテンプレート化し、そのテンプレートに従うものであれば、Taprootのアイデアによって最適化できる、というものです。
それでは、「コントラクトのテンプレート化」とはどういうことなのか?
また、どのように実装しているのか?
シュノア署名の技術がどのように活用されているのか?
続きが気になった方は、DMMオンラインサロンにて開講中の「即戦力!ブロックチェーン技術者養成道場」をのぞいてみてくださいね。
本文はオンラインサロン「ブロックチェーン技術者養成道場」の会員限定公開となっております。
記事の続きをお読みになりたい方は、DMMオンラインサロンより即戦力!ブロックチェーン技術者養成道場にお申し込みください。
参加お申し込み・詳細
DMMオンラインサロン【即戦力!ブロックチェーン技術者養成道場】
https://lounge.dmm.com/detail/469/