Taproot ビットコインアップデートとは
Taprootは最も期待されているビットコインプロトコルのアップデートです。どのような新機能がもたらされるのか、そしてなぜそれが重要なのかを説明します。
Taprootのアップデートは、ビットコインのプロトコルに2つの注目すべき新機能をもたらします
- MAST
- Schnorr署名
これらはそれぞれ単独でも大きなアップグレードですが、一緒になるとプライバシーとスマートコントラクトの機能が劇的に向上します。
MASTとは
MASTとは、Merkelized Abstract Syntax Treeの略称です。MASTとは何かを説明する前に、まずビットコインが現在スマートコントラクトをどのように扱っているかを説明します。
P2SH
スマート・コントラクトは、スマート・コントラクトが発動または処理されるために満たされる必要のある条件 スクリプトとともに作成されます。
例えば、1つ目の条件として、コインは1日後にしか動かせない、2つ目の条件として、ジョンはコインを即座に動かせる、といった具合です。コインを動かすためには、これらの条件のうち少なくとも1つが満たされなければなりません。
スマート・コントラクト内のこれらの条件は隠され、オーナーだけがその発動方法を知っています。条件はハッシュ*で隠されます (条件は秘密鍵、ハッシュは公開鍵)。これはP2SH (pay to script hash)とも呼ばれます。条件のひとつをトリガーにしてコインを動かすと、その条件とハッシュが公開されます。条件のハッシュが最初のハッシュと等しいかどうかは、後で誰でも確認できます。
*ハッシュは数字と文字のランダムな文字列で、ビットコインのウォレットアドレスに似ています。ハッシュを得るには、一方向性関数が使用されます。つまり、常にYからXの値を得ることができるが、XからYの値を得ることはできません。Xが公開鍵でYが秘密鍵です。
P2SHの欠点は、条件の1つが満たされるたびに、他の条件がすべて同時に明らかになることです。このため、エコシステムの他のユーザーが資金の使い道を知ることができ、プライバシー上のリスクがあります。
もうひとつの重要な欠点は、条件ごとに書き込まれるデータ量が膨大になり、取引手数料に直接影響することです。
なぜP2SHではなくMASTなのか
Merkelized Abstract Syntax Treeは、ビットコイン・スマートコントラクトのプライバシーとデータの問題を解決する方法です。
上で説明したように、P2SHではすべての条件が1つのハッシュの中に隠されているため、1つの条件が満たされると、すべての条件が公になります。
一方MASTは、各条件を個別にハッシュ化し、各条件がハッシュ化された後にのみ、これらのハッシュ化された条件をMerkle rootと呼ばれる単一の「マスター」ハッシュにハッシュ化することができます。その結果、残りの条件はハッシュの後ろに隠されたままなので、条件が満たされた時点で明らかにされるのは1つの条件だけになります。

Schnorrとは
は、現在のECDSA (Elliptic Curve Digital Signature Algorithm)を置き換える予定のビットコイン署名方式です。
SDSSはECDSAよりも前にClaus Schnorrによって開発されましたが、Schnorrが特許を取得したため、ビットコインでは使用されませんでした。特許は2008年に失効しています。サトシ・ナカモトがECDSAを好んだのは、オープンソースであり、より理解され、より一般的に知られていたからでしょう。
署名とは
ブロックチェーン上のすべての取引は、ブロードキャストされて別のアドレスに送信される前に署名されなければなりません。取引には単一の署名 (ベーシックウォレット) または複数の署名 (マルチシグウォレット) が必要です。ベーシックウォレットは単一の所有者によって運用されますが、マルチシグウォレットは取引がブロックチェーンにブロードキャストされるために複数の署名が必要です。
マルチシグトランザクションとは
マルチシグトランザクションは複数の秘密鍵によって署名されなければなりません。例えば、マルチシグウォレットは、トランザクションをさらにブロードキャストするために、5つの秘密鍵のうち少なくとも4つと有効な署名がなければならないという条件を設定することができます。
なぜECDSAではなくSchorrなのか
デフォルトでは、ビットコインはマルチシグウォレットをサポートしておらず、ワークアラウンドを使用してマルチシグトランザクションを許可しています。これは事実上トランザクションサイズを増加させ、トランザクションに1つの秘密鍵ではなく複数の署名が書き込まれる (より多くのバイトはより多くの手数料に等しい) ため、トランザクション手数料に直接影響を与えます。これは、例えば10個の署名を必要とするような大きなマルチシグウォレットを使用する際に問題となります。
さらに、マルチシグトランザクションの署名にECDSAを使用すると、ブロックチェーン上の誰もがトランザクションの署名に使用されたウォレットを見ることができます。すべてのウォレットがブロックチェーン上に公開されるため、これはプライバシーにとって好ましくありません。
Schorr署名付きトランザクションは、署名の長さが常に同じであるため、シングル署名かマルチ署名かを区別することは不可能です。ブロックチェーン上のトランザクションを見ると、シングル署名の取引もマルチ署名の取引も同じように見えます。
複数の署名者の署名はすべて1つの署名にまとめられ、その署名がトランザクションに署名することにより、現在のマルチシグ取引におけるプライバシーとデータの両方の問題が解決されます。