著者:OneKey Chinese, Source: Author's Twitter @OneKeyCN
Taprootのアップグレードは、2021年末の709,632番目のブロックで発効した。その時点では、人々はイーサリアムNFTの熱狂に巻き込まれ、これがBTCの最も「富を築く」アップグレードになるとは誰も知らなかった。
Taprootは、Segwitアップグレードとともに、BTCネットワークに新機能を導入し、間接的にブロックデータをスケールアップ(1MBから4MBに相当)させ、2023年から現在に至るまでのBTCエコシステムの爆発的な発展の火付け役となりました。 タプルート資産、オーディナルズTaproot Assets、Ordinals、BRC-20、ARC-20、Runes、その他の新しいアセットも、Taprootの送金採用率を基本的に半分以上に保っています。
しかし、新しい資産や機能の導入に伴い、セキュリティ上の新たな課題も生じています。
ビットコインのエコシステムは、イーサリアムのエコシステムとは根本的なモデルが異なります。BTCの新しいアセットエコシステムにおける「構築するものが非常に多い」「理解するための障壁が高い」という現在の光景は、多くのユーザーにとってエキサイティングなものです - 結局のところ、それはしばしば「一攫千金」のチャンスを意味します。
しかし、これはまたユーザーのセキュリティ意識に新たな要求を突きつけるものでもある。以前のアトミック・マーケットプレイスのように、シグネチャーの種類を誤って使用し、ハッキングにつながった事件もありました。
以下では、OneKeyが、セキュリティインフラが限られているBTCエコシステムにおいて、資産のセキュリティを最大限に高め、フィッシングを防ぐ方法について詳しく解説します。
Taprootアップグレードの影響
フィッシング防止の具体的な話に入る前に、Taprootアップグレードの影響を整理する必要があります。
前述したように、BTCのマルチアセット・エコシステムの繁栄に間接的に貢献するだけでなく、BTCトランザクションの基礎となるレイヤーにも大きな変化がありました。PSBT(Partial Signature Based Transactions)の組み合わせは、ハッカーに漁夫の利を与える。
1つはシュナー署名です。その通り、このアップデートはホワイトペーパーにあったECDSA署名に取って代わるものです。この署名の技術的な特徴は、複数の署名や公開鍵が1つに集約されることだ。これまで複数の署名を何度も検証する必要があったものが、1回で済むようになり、署名のフットプリントが直接的に削減されます。
ひとつはMAST技術です。前者が署名を集約するのに対し、MASTは複数のスクリプト(ビットコインの限定的な「スマートコントラクト」と考えることができる)を「集約」するために使用される。また、支出をアンロックするために検証を提出する場合、支出条件の1つだけを検証する必要がある。多くの条件を持つ複雑なスクリプトのフットプリントは大幅に削減できる。
これら2つのテクノロジーはプライバシーに最も大きな影響を与え、暗黙のうちにセキュリティリスクの余地を残している。
転送ロギングのために、すべてのUTXO転送はアップグレード後に同じように見えます。Mempoolでは、転送タイプはすべてP2TRとして表示され、アドレスはすべてbc1pで始まる同じ長さです。
以前は、通常のアドレスへの転送 (P2PKH / P2WPKH) とスクリプト化されたアドレスへの転送 (P2SH / P2WSH) を簡単に区別できました。
さて、他の人がUTXOを使う前は、通常のアドレスへの転送とスクリプト化されたアドレスへの転送の区別がつかなかったことを観察してください。
スクリプトの場合、マイナーの検証もスクリプトの消費条件の1つを公開するだけでよく、分岐スクリプトの残りの部分は外部にはわかりません。
ビットコインエコシステムにおける新しい資産のフィッシングを防ぐための5つのマインドトリック
明らかに、BTCのティア1資産エコシステムの現在のセキュリティインフラは、イーサほど強固なものではありません。
同時に、フィッシングはイーサリアムとまったく同じようには機能せず、多くのフィッシング攻撃は発見される前に市場全体で十分に理解されていない可能性がある。例えば、Atomicマーケットにおける*SIGNHASH_NONEシグネチャのセキュリティインシデントや、Unisat / Xverseウォレットは後から追加されたセキュリティアラートでした。
(1) 最初のマインドトリック:決まりきった暗号セキュリティの基本。
つまり、秘密鍵のオフライン保存のセキュリティに注意を払い、信頼できるURLかどうかに注意を払い、トロイの木馬ウイルスなどからコンピュータを保護することに注意を払う。
しかし、FOMO市場では、新しいプロジェクトは、ユーザーが「駆け込みたくなる」前に、信頼のコンセンサスを形成していない可能性があり、そのため、次のいくつかのトリックが特に重要になる。
(2)2つ目の商売のコツ:インプットとアウトプットを明確にする。
イーサには「ブラインド署名」があります。つまり、署名の際、ウォレットが解析しない場合、ごちゃごちゃした文字の段落しか見ることができず、署名後に資産に何が起こるか予測できません。また、コインを失うリスクも生じます。
一方、ビットコインでは、取引の入力と出力、そして入力と出力に対応する転送アドレスが常に明確です。(つまり、「どこから来て、何コイン入ったか」と「どこへ行き、何コイン行ったか」です)。
署名する際、PSBTが使用されているかどうかにかかわらず、取引の前後で発生する変更はウォレットに明確に表示されるはずです。だからこそ、インプットとアウトプットがあなたの意図する期待にマッチしているかをチェックすることが重要なのです。
たとえば、ハッカーがオーディナルズインスクリプションNFTを一度にすべて漁ろうとした場合、トランザクションの入力(INPUT)には、すべてのインスクリプションNFTが投入されたことが表示されます。同時に、出力(OUTPUT)には、それらがすべて見知らぬアドレスに送られたことが表示されます。
MagicEdenでOrdinalsの碑文NFTをリストするためにUnisatを使用する例を考えてみましょう。MagiEdenマーケットプレイスで1つまたは複数のOrdinals NFTの注文を行うと、PSBT署名要求がポップアップ表示され、トランザクションの入力(INPUT)が1つまたは複数のOrdinalsであることが示され、トランザクションが成功した場合に受け取るビットコインの数が出力されます。
(3)3つ目のマインドトリック:シグネチャの種類に注意する。
ビットコインの現在の署名タイプのSFはこちら(https://btcstudy.org/2021/11/09/bitcoin-signature-types-sighash/)で見ることができます。
ここで注意すべき唯一の署名タイプは、 SIGHASH_NONE (0x02) と SIGHASH_NONE | SIGHASH_ANYONECANPAY (0x82) です。これらはどちらも、「トランザクションの出力に関係なく、トランザクションへの入力にのみ署名する」ことを意味します。
トランザクションのインスクリプション資産の場合、安全な署名タイプはSIGHASH_SINGLE | SIGHASH_ANYONECANPAY (0x83)となり、PSBTを介して信頼性のない完全なトランザクションを構築することができます。これはまた、MagicEden、OKX、および他の主要な碑文交換市場で使用されている署名タイプです。
Atomicマーケットプレイスが以前、SIGHASH_NONE | SIGHASH_ANYONECANPAY (0x82)署名を誤って使用した例を考えてみましょう。
Atomicのインスクリプションアセットをペンディングオーダーすると、署名時に正しいインプットとアウトプットが表示されます。
しかし、ハッカーがこのPSBTを手に入れ、アウトプットを修正することは十分に可能であり、提出されたトランザクションはマイナーによってパックされ、最終的に保留中の注文のお金を受け取ることができなくなります。要するに、使用されている署名タイプは入力部分のみに署名するため、最終的に「0ドル購入」につながるからだ。
良いニュースは、UnisatやXverseなどの主要なBTCエコウォレットが、すでに警告を強調表示したり、SIGHASH_NONEタイプの署名タイプを無効にしたりすることをサポートしていることです。該当するシグネチャタイプのリマインダーが表示された場合は、特別な目的以外には使用しないでください。
(4) 第四の心得: スクリプトには注意しましょう。
特定のスクリプトアドレスにアセットを転送する必要があるプロジェクトやプラットフォームがある場合は、特に注意が必要です。署名すると、アセットが見慣れないアドレスに出力されます。
以前のコンテンツでご存知のように、Taprootのアップグレード後、スクリプトアドレスはユーザーの秘密鍵アドレスと同じになります。
泥棒が秘密鍵アドレスになりすまそうとした場合、受け取った資産を直接転送することができます。
本物のスクリプトアドレスの場合。スクリプトアドレスの全内容を公開しているかどうかによります。不完全な内容を開示している場合、ユーザーが使用時に操作に署名することで正常にアセットを転送できても、悪意のあるUTXOロック解除条件の1つ以上が隠されている可能性があります。UTXO資産が突然「閉鎖」され、将来のある時点ですべてのUTXO資産が取り上げられる可能性もあります。
仮にスクリプト全体をオープンソース化したとしても、市場に出回っているウォレットにはスクリプトのMASTの完全性と出力アドレスの対応関係を検証する機能はなく、技術に精通したユーザーにはTaprootアルゴリズムを使って自分で確認するよう求めています。あるいは、プロジェクトとチームを信頼することです。
良いニュースは、現在のアプリケーションでは、あらゆる種類の内接資産の取引に複雑なスクリプトは必要なく、PSBT(部分署名取引)を使って入力と出力を指定すれば十分だということです。
しかし、今後のBTC L2の運用では、複雑な複数条件のビットコインスクリプトが関わってくる可能性が高い。例えば、Babylon @babylon_chain のビットコイン誓約スクリプトには、比較的複雑な没収ロジックとロック解除ロジックがあります。
この種のビットコインスクリプトでネイティブ誓約を使用する場合は、スクリプトをオープンソース化し、セキュリティと完全性を検証することが特に重要です。
(5)商売の5つ目のコツ:セキュリティの進展に目を光らせ、それが起こる前に気づくこと。
セキュリティ分野のトップアカウントをフォローすることで、最新のフィッシングの手口を把握し、いち早く警告を受けることができます。SlowMistのCosine @evilcos、Go Plus Security Official @GoPlusSecurity、Scam Sniffer @realScamSniffer、OneKey公式アカウント @OneKeyCN などのアカウントをフォローしてください。
予防に関しては、他の場所からセキュリティの経験を移行することができます。
例えば、イーサではフィッシングというものが存在します。つまり、ヘッダーとテールが類似したアドレスを構築することで、履歴に誤ってコピーされ、ユーザーが資産を失うというものです。また、BTC署名トランザクションを構築する際、出力アドレスを明確にチェックしないことで、穴に足を踏み入れることが可能です。
Unisat/Xverseのような主要なBTCエコウォレットでは、タップルートアドレスはbc1px...e9wh0(例)として表示され、bc1pはタップルートアドレスの固定開始です。
これは、確認のために6文字しか表示していないのと同じです。これは、一般的なアドレス帳機能を持ち、基本的に10桁以上のイーサを表示するウォレットの標準的なものと比べると、明らかに不十分です。
これは、ハッカーがカスタムフィッシングのために一致するアドレスを生成することがかなり可能であることを意味します(ビットコインではまだあまりありませんが)。
ですから、もしあなたが必死になっているのなら、手遅れになる前にできるだけ多くのアドレスをチェックすべきです。
要するに......。
ビットコインを勉強する
ビットコインのセキュリティを勉強する
と。Taprootはビットコインに新しいアセットとシナリオを導入しており、私たちは新しい形のセキュリティ脅威、特に進化するフィッシングのテクニックについても学ばなければなりません。
特に今、不完全な生態学的インフラでは、組織化されたフィッシングはもちろんのこと、コインの置き忘れや燃やされたコインも起こります。