デジタル署名とは何ですか? どのように動作しますか?

中級1/19/2024, 6:23:26 PM
ブロックチェーンは、デジタル署名を使用して、分散型検証プロセスの重要な部分として、ユーザーの身元を公開せずにプロセスの認証を安全に行う方法を作成します。

導入

デジタル署名は、サイバーセキュリティ、eコマース、ソフトウェア配布などの分野で使用される暗号ツールです。デジタルメッセージや文書の起源と完全性を検証するための手段を提供します。

しかし、ブロックチェーン技術は、デジタル署名をその分散型および取引検証プロセスの不可欠な部分として普及させました。この記事では、デジタル署名の仕組み、ブロックチェーンで使用されるさまざまなアルゴリズム、およびWeb3空間でのその応用について詳しく調査しています。

デジタル署名の理解

出典: CoinGeek

デジタル署名は、デジタルメッセージ、文書、または取引の真正性と整合性を検証するために使用される暗号技術です。デジタル署名は電子署名よりも安全とされています。

従来、署名は合意が法的に拘束力があり、関係者の身元を確認し、契約条件の明確な受諾を保証します。デジタル署名はさらに一歩進んで、改ざんや偽造の問題を解決し、より安全な署名形式となります。

デジタル署名の特徴

デジタル署名の主な特徴は次のとおりです:

  • 認証:デジタル署名は、送信者の公開鍵でメッセージを検証することで、メッセージが主張された送信者によって送信されたことを証明します。
  • 否認不能性:デジタル署名は、送信者の公開鍵を使用して署名を復号化し、成功した場合、送信者はメッセージの送信を否認することはできません。
  • Integrity: ハッシュ値/ダイジェストを検証できる能力は、データが通信中に改ざんされていないことを証明します。

非対称暗号化

ソース:WikiBooks

非対称暗号化は、2つの異なるキーでデータを暗号化および復号化する方法であり、そのため、1つのキー(つまり公開キー)を誰でも openly で共有することができます。もう1つのキーである秘密鍵は、署名者にのみ知られている機密保持された鍵です。1つで暗号化されたデータは、もう1つでのみ復号化できます。

暗号学において、キーはしばしば数字と文字の並びであり、データを乱数のように見せかけるために使用されます。ただし、データを復号化するための正しいキーを持っている人は、それを元の形に戻すことができます。

例えば、画像を取り、キーで暗号化するとします。たとえば、キーが28j932d8kd8だとします。このキーで暗号化すると、画像は「X5CSycg14=xJ」と見なされます。しかし、正しいキーで復号化することで、元の画像を取得することができます。

理解する必要のある主要用語

ハッシング

ハッシングとは、ハッシュ関数を使用して、可変長のデータ(テキスト、ファイル)を固定長の文字と数字の出力に変換するプロセスです。これは一方向のプロセスであり、ハッシュ値を元の入力に戻すことはできませんが、同じ入力データは常に同じハッシュ値を生成します。

出典: CyberHoot

上の画像では、テキスト(なぞなぞ)がハッシュ関数(SHA-256)を通過し、ハッシュ(数字と文字の固定長)に変換されます。

ハッシュ関数とは何ですか?

署名されるデータを処理し、固定サイズのハッシュ値を生成するアルゴリズム。ハッシュ関数は、元のデータのサイズに関係なく、署名が固定の長さであることを保証します。

ハッシュ値

ハッシュ関数の最終出力はハッシュ値、またはダイジェストとしても知られ、各入力に固有のものです。ハッシュ値のサイズは、使用されるハッシュ関数に応じて32ビットから256ビットまでの範囲に及ぶ。ハッシュ値はデータ認証やデジタル署名の作成などのプロセスで単一の使用にのみ必要とされる。したがって、デジタル署名は取引ごとに固有のものです。

デジタル署名はどのように機能しますか?

デジタル署名を実行するには、次のものが必要です:

  1. キーペア:キーペアは公開/秘密のキーペアで構成されています。秘密鍵は署名を作成するために使用され、対応する公開鍵は署名を検証するために使用されます。

  2. 署名するデータ:署名したいコンテンツまたはメッセージ。これは文書、取引、または任意のデジタルデータである可能性があります。

  3. ハッシュ関数:データにハッシュ関数を適用して固定サイズのハッシュ値を作成します。このハッシュ値は、その後、プライベートキーで暗号化され、デジタル署名が生成されます。

  4. デジタル署名アルゴリズム:秘密鍵をデータと結合し、通常はハッシュ関数を含むアルゴリズム。このアルゴリズムはデジタル署名を生成します。

  5. 検証メカニズム:デジタル署名を検証したい人は、公開鍵と同じデジタル署名アルゴリズムにアクセスする必要があります。公開鍵はデジタル署名を復号化し、ハッシュ値を表示し、その後、オリジナルデータから計算されたハッシュ値と比較されます。

それを動作させるためにどのように組み合わせるのですか?

ソース:CamCert — 送信者は、ハッシュ値を彼らの秘密鍵で署名(暗号化)し、受信者はハッシュ値を比較してメッセージの信頼性を検証します

ステップ1:元のデータをハッシュ関数を通してダイジェスト/ハッシュ値を作成する

ステップ2: 送信者の秘密キーでダイジェストに署名して暗号化を作成します。

ステップ3:暗号化されたファイルを受信者に送信し、送信者の公開鍵を使用してそれを復号化し、ダイジェストを生成することができます。

ステップ4:復号化後、データを同じハッシュ関数を通して実行して、等価なダイジェストを生成します。

ステップ5:新しく生成されたハッシュを受信したデータと並べて、データの整合性を確認します。一致すると、データの整合性が確認されます。

この図は、送信者マークと受信者カレンの間で文書の転送を示しています。

  1. 署名と送信:マークは文書を送信してプロセスを開始します。文書はハッシュアルゴリズムを通過し、ダイジェスト/ハッシュ値が作成されます。このダイジェストはその後、マークの秘密鍵で暗号化され、デジタル署名が完成します;文書と彼の秘密鍵の組み合わせ。
  2. 受信と検証:受信者であるKarenは、Markの公開鍵を使用してデジタル署名を復号し、元のダイジェストを取得します。独立して、Karenは受信したドキュメントに同じハッシュアルゴリズムを適用し、別のダイジェストを生成します。
  3. Karenは、複合化された署名から生成されたものと独立して生成されたものとを比較します。一致する場合、Karenは文書の整合性と送信者Markの信頼性を確認します。

ブロックチェーンで使用される署名アルゴリズム

デジタル署名アルゴリズムの選択は、セキュリティ要件、キーサイズ、およびパフォーマンスに関する考慮事項などの要因に依存します。各アルゴリズムにはそれぞれ強みと弱点があり、その使用方法は暗号技術の進化や新興セキュリティの課題に応じて変化する可能性があります。

このセクションでは、ブロックチェーン技術で最も一般的に使用されるデジタル署名アルゴリズムについて説明します。

  1. ECDSA(楕円曲線デジタル署名アルゴリズム):これはより短いキーを使用し、計算リソースを少なく要求し、「楕円曲線暗号鍵」を利用します。これは曲線上の点の有限群であり、特定の操作が片方向で簡単に実行されるが逆方向では難しい曲線で行われます。セキュリティのため、ECDSAは離散対数問題に依存しています。これはブロックチェーン技術で最も人気のある署名アルゴリズムです。

  2. EdDSA(エドワーズ曲線デジタル署名アルゴリズム):これは楕円曲線暗号を基にした現代的で効率的なデジタル署名アルゴリズムです。ECDSAなどの他の署名スキームと比較して、特定の懸念事項を解決し、パフォーマンスを向上させることを目的として導入されました。このアルゴリズムは、比較的小さな鍵サイズで強力なセキュリティを提供するよう設計されており、CardanoやSolanaなどのブロックチェーン技術を含むさまざまなアプリケーションに適しています。

  3. シュノールアルゴリズム:シュノール署名は、同じメッセージに対する複数の署名を1つの署名にまとめることができる、デジタル署名アルゴリズムの1種であり、集約を可能にします。この署名は、単なるよりスペース効率的でなければならないだけでなく、より効率的な検証プロセスを促進します。
    複数の当事者が共通のメッセージに署名するようなシナリオで効果を証明します。たとえば、マルチシグアドレスからのトランザクションを承認する場合などです。このような場合、各参加者は自分の公開鍵と署名を提供する必要があります。したがって、3つの当事者が同じメッセージに署名する意向がある場合、証明には3つの公開鍵と3つの署名が含まれます。各ノードが署名検証関数を3回実行し、3つの異なる署名セットと公開鍵を保存する必要があるため、計算とストレージで効率的ではないようです。
    Schnorrアルゴリズムは、単純に彼らの公開鍵の合計に対して有効な署名を生成します。 キーの集約はガス手数料を削減し、ベースレイヤーのスケーラビリティを向上させることができます。 マルチシグネチャトランザクションからの署名は、単一当事者トランザクションからの署名と同じスペースをブロック内で占有します。

  4. BLS署名:BLS(Boneh-Lynn-Shacham)暗号アルゴリズムは、楕円曲線群上の双線形対応に基づいています。これは、Dan Boneh、Ben Lynn、およびHovav Shachamによって2001年に導入されました。BLS暗号の主な焦点は、集約などの特性をサポートする効率的で安全な署名スキームにあります。さらに、BLS署名はEthereum 2.0およびChiaで使用されています。

ブロックチェーン、そのハッシュアルゴリズム、および署名アルゴリズム

  1. Bitcoin(BTC):
    ハッシュアルゴリズム:SHA-256
    デジタル署名アルゴリズム:ECDSA、Schnoor(TapRoot Soft Fork)

  2. イーサリアム (ETH):
    ハッシュアルゴリズム:Keccak
    デジタル署名アルゴリズム:ECDSA

  3. Litecoin (LTC):
    ハッシュアルゴリズム:Scrypt
    デジタル署名アルゴリズム:ECDSA

  4. リップル(XRP):
    ハッシングアルゴリズム:SHA-256
    デジタル署名アルゴリズム:ECDSA

  5. Cardano (ADA):
    ハッシュアルゴリズム:Keccak
    デジタル署名アルゴリズム:EdDSA(エドワーズ曲線デジタル署名アルゴリズム)

  6. Polkadot (DOT):
    ハッシュアルゴリズム:Blake2
    デジタル署名アルゴリズム:EdDSA

  7. Tezos (XTZ):
    ハッシュアルゴリズム:Blake2b
    デジタル署名アルゴリズム: EdDSA

  8. BNBチェーン(BNB):
    ハッシュアルゴリズム:Keccak(BEP-2トークン用に使用)
    デジタル署名アルゴリズム:ECDSA

ビットコインがデジタル署名を使用する方法

Bitcoinは、各取引ごとに一意の署名を生成するために楕円曲線デジタル署名アルゴリズム(ECDSA)を利用しています。しかし、最近の進歩により、SchnorrアルゴリズムがTapRootソフトフォークを通じて導入されました。このアルゴリズムは、ストレージ効率と検証速度の効率に優れており、トランザクションの集約機能によってBitcoinのスケーラビリティを最大30%向上させることができます。

)

ソース:TimesofIndia — 署名されたトランザクションのみがプロパゲートされ、ネットワークノードによって検証されることができます

Bitcoin取引の基本的な仕組みは、デジタル署名の使用を含む一連の手順を必要とします。

ここに概要があります:

  1. 送信者はビットコイン取引を行うことを決定します。これには、別のユーザーまたは複数のユーザーにビットコインを送ることが含まれる場合があります。
  2. 送信者は、受信者のウォレットアドレス、送金されるBTCの金額、関連する手数料、および取引の入力として使用されるビットコインの出所(未使用取引出力またはUTXO)など、重要な詳細を含む取引メッセージを作成します。
  3. 送信者は楕円曲線デジタル署名アルゴリズム(ECDSA)を使用して、プライベートキーでトランザクションメッセージに署名します。このデジタル署名は、送信元アドレスの正当な所有者によってトランザクションが承認されたことの証拠を提供します。
  4. 取引メッセージはSHA-256(Secure Hash Algorithm 256ビット)を使用してハッシュ化され、その後RIPEMD-160(RACE Integrity Primitives Evaluation Message Digest 160ビット)を使用してさらにハッシュ化されます。このプロセスにより、通常は取引IDまたはハッシュとして知られる固定長のハッシュが生成されます。
  5. 署名された取引はビットコインネットワークにブロードキャストされ、すべてのノード(ビットコインネットワークに参加しているコンピューター)に表示されるようになります。ネットワーク内のノード(マイナーを含む)は、取引の妥当性を検証します。この検証には、デジタル署名のチェックも含まれ、送信者の公開鍵と取引で使用される未使用で有効な入力(UTXO)が一致していることを確認します。
  6. 有効な取引は、競争するマイナーによって収集されます。彼らは複雑な数学問題(プルーフ・オブ・ワーク)を解くために競います。問題を最初に解いたマイナーが、検証済みの取引を含むブロックをブロックチェーンに追加します。
  7. 新しく追加されたブロックはネットワークにブロードキャストされ、他のノードはそのブロック内の作業証明とトランザクションの正当性を検証します。合意が形成されると、ブロックは確認され、そのトランザクションはブロックチェーンに永久に記録されます。
  8. 受信者のウォレット残高は受け取ったビットコインを反映するように更新され、送信者のウォレット残高は使用済みUTXOを考慮して調整されます。

Web3におけるデジタル署名の応用

デジタル署名の動作と重要性を理解したので、取引のセキュリティ、アイデンティティの認証、およびWeb3エコシステムにおけるデータの整合性を確保するデジタル署名の実用的な応用を強調しましょう。

取引認証

たとえば、アリスがイーサリアムをボブに送金したいとします。彼女は自分の秘密鍵で取引に署名し、デジタル署名を生成します。 イーサリアムネットワークは、アリスの公開鍵を使用して署名を検証し、取引が彼女によって承認されていることを確認します。これはNFTの所有権の移転にも適用され、署名された取引でブロックチェーンに記録され、所有権変更の正当性が確保されます。

スマートコントラクトの実行

スマートコントラクトは署名とやり取りするために構築されており、検証後に取引を実行することができます。例えば、分散型の貸出プラットフォームでは、ユーザーが融資リクエストを開始します。このリクエストによりスマートコントラクトが実行されます。ユーザーは自身の秘密鍵で取引に署名し、スマートコントラクトは署名を検証して融資契約を実行します。

分散型アイデンティティと認証

ユーザーは、ブロックチェーンのアイデンティティ、例えばEthereumアドレスを使用して、分散型アプリケーション(dApp)にログインします。dAppは、所有権の証明として、ユーザー(プライベートキー)から署名されたメッセージを要求します。デジタル署名により、ユーザーのアイデンティティが認証されます。

これは新しいWeb3ユーザーを受け入れる簡単な方法でもあります。アカウントを作成したり、別のパスワードを保存する必要がないため、ユーザーは自分の身元を隠すことができ、必ずしも電子メールアドレスなどの個人情報を公開する必要はありません。

NFTのデータ完全性と否認不能

アーティストは、NFTとしてミントする前に、デジタルアートファイルにプライベートキーで署名します。デジタル署名は作品の整合性を保証し、アーティストが後で著作権を否定することはできません。

投票システム

分散型投票プラットフォームでは、投票者は自分の選択肢にプライベートキーで署名して投票します。デジタル署名は投票を認証し、各投票者が自分の貢献を確認できるようにします。このアプリケーションはガバナンス投票やコンセンサスプロトコル投票で見られます。

クロスチェーン相互運用性

ユーザーはブリッジプロトコルを使用してトークンを1つのブロックチェーンから別のブロックチェーンに送金します。ユーザーはソースチェーンで取引に署名し、宛先チェーンは署名を検証してクロスチェーンの転送を許可します。

課題と将来のトレンド

量子攻撃の課題

デジタル署名は、ブロックチェーン上での認証の確実な方法の1つです。しかし、大規模な量子コンピューターの開発は、暗号アルゴリズムが量子コンピューターによって迅速に解読される可能性があるため、ブロックチェーンのセキュリティに脅威をもたらすでしょう。

量子コンピューターは信じられないほどの速さでタスクを処理でき、従来のコンピューターが数時間かかることを数秒で達成することができます。悪意のある者は量子コンピューターを使用して、ブロックチェーン全体を危険にさらす量子攻撃を行うことができます。

それでも、それらはすでに開発中のポスト量子署名によって防ぐことができますが、それらはブロックチェーン上でより大きなストレージスペースを取ることになります。

結論

デジタル署名は、非対称暗号化とハッシュ化の原則に基づいて、データの信頼性と整合性を検証します。それは、送信者の秘密鍵を使用してデータのハッシュ形式を認証し、受信者が送信者の公開鍵で検証することで機能します。ブロックチェーンによって最も一般的に使用される暗号化アルゴリズムには、ECDSA、EdDSA、Schnoor、およびBLS署名があります。

さらに、デジタル署名の使用は、取引認証、スマートコントラクトの実行、ガバナンス投票、クロスチェーン転送、およびNFTのデータ整合性において主に適用されます。

Tác giả: Paul
Thông dịch viên: Sonia
(Những) người đánh giá: Piccolo、Edward、Ashley He
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.

デジタル署名とは何ですか? どのように動作しますか?

中級1/19/2024, 6:23:26 PM
ブロックチェーンは、デジタル署名を使用して、分散型検証プロセスの重要な部分として、ユーザーの身元を公開せずにプロセスの認証を安全に行う方法を作成します。

導入

デジタル署名は、サイバーセキュリティ、eコマース、ソフトウェア配布などの分野で使用される暗号ツールです。デジタルメッセージや文書の起源と完全性を検証するための手段を提供します。

しかし、ブロックチェーン技術は、デジタル署名をその分散型および取引検証プロセスの不可欠な部分として普及させました。この記事では、デジタル署名の仕組み、ブロックチェーンで使用されるさまざまなアルゴリズム、およびWeb3空間でのその応用について詳しく調査しています。

デジタル署名の理解

出典: CoinGeek

デジタル署名は、デジタルメッセージ、文書、または取引の真正性と整合性を検証するために使用される暗号技術です。デジタル署名は電子署名よりも安全とされています。

従来、署名は合意が法的に拘束力があり、関係者の身元を確認し、契約条件の明確な受諾を保証します。デジタル署名はさらに一歩進んで、改ざんや偽造の問題を解決し、より安全な署名形式となります。

デジタル署名の特徴

デジタル署名の主な特徴は次のとおりです:

  • 認証:デジタル署名は、送信者の公開鍵でメッセージを検証することで、メッセージが主張された送信者によって送信されたことを証明します。
  • 否認不能性:デジタル署名は、送信者の公開鍵を使用して署名を復号化し、成功した場合、送信者はメッセージの送信を否認することはできません。
  • Integrity: ハッシュ値/ダイジェストを検証できる能力は、データが通信中に改ざんされていないことを証明します。

非対称暗号化

ソース:WikiBooks

非対称暗号化は、2つの異なるキーでデータを暗号化および復号化する方法であり、そのため、1つのキー(つまり公開キー)を誰でも openly で共有することができます。もう1つのキーである秘密鍵は、署名者にのみ知られている機密保持された鍵です。1つで暗号化されたデータは、もう1つでのみ復号化できます。

暗号学において、キーはしばしば数字と文字の並びであり、データを乱数のように見せかけるために使用されます。ただし、データを復号化するための正しいキーを持っている人は、それを元の形に戻すことができます。

例えば、画像を取り、キーで暗号化するとします。たとえば、キーが28j932d8kd8だとします。このキーで暗号化すると、画像は「X5CSycg14=xJ」と見なされます。しかし、正しいキーで復号化することで、元の画像を取得することができます。

理解する必要のある主要用語

ハッシング

ハッシングとは、ハッシュ関数を使用して、可変長のデータ(テキスト、ファイル)を固定長の文字と数字の出力に変換するプロセスです。これは一方向のプロセスであり、ハッシュ値を元の入力に戻すことはできませんが、同じ入力データは常に同じハッシュ値を生成します。

出典: CyberHoot

上の画像では、テキスト(なぞなぞ)がハッシュ関数(SHA-256)を通過し、ハッシュ(数字と文字の固定長)に変換されます。

ハッシュ関数とは何ですか?

署名されるデータを処理し、固定サイズのハッシュ値を生成するアルゴリズム。ハッシュ関数は、元のデータのサイズに関係なく、署名が固定の長さであることを保証します。

ハッシュ値

ハッシュ関数の最終出力はハッシュ値、またはダイジェストとしても知られ、各入力に固有のものです。ハッシュ値のサイズは、使用されるハッシュ関数に応じて32ビットから256ビットまでの範囲に及ぶ。ハッシュ値はデータ認証やデジタル署名の作成などのプロセスで単一の使用にのみ必要とされる。したがって、デジタル署名は取引ごとに固有のものです。

デジタル署名はどのように機能しますか?

デジタル署名を実行するには、次のものが必要です:

  1. キーペア:キーペアは公開/秘密のキーペアで構成されています。秘密鍵は署名を作成するために使用され、対応する公開鍵は署名を検証するために使用されます。

  2. 署名するデータ:署名したいコンテンツまたはメッセージ。これは文書、取引、または任意のデジタルデータである可能性があります。

  3. ハッシュ関数:データにハッシュ関数を適用して固定サイズのハッシュ値を作成します。このハッシュ値は、その後、プライベートキーで暗号化され、デジタル署名が生成されます。

  4. デジタル署名アルゴリズム:秘密鍵をデータと結合し、通常はハッシュ関数を含むアルゴリズム。このアルゴリズムはデジタル署名を生成します。

  5. 検証メカニズム:デジタル署名を検証したい人は、公開鍵と同じデジタル署名アルゴリズムにアクセスする必要があります。公開鍵はデジタル署名を復号化し、ハッシュ値を表示し、その後、オリジナルデータから計算されたハッシュ値と比較されます。

それを動作させるためにどのように組み合わせるのですか?

ソース:CamCert — 送信者は、ハッシュ値を彼らの秘密鍵で署名(暗号化)し、受信者はハッシュ値を比較してメッセージの信頼性を検証します

ステップ1:元のデータをハッシュ関数を通してダイジェスト/ハッシュ値を作成する

ステップ2: 送信者の秘密キーでダイジェストに署名して暗号化を作成します。

ステップ3:暗号化されたファイルを受信者に送信し、送信者の公開鍵を使用してそれを復号化し、ダイジェストを生成することができます。

ステップ4:復号化後、データを同じハッシュ関数を通して実行して、等価なダイジェストを生成します。

ステップ5:新しく生成されたハッシュを受信したデータと並べて、データの整合性を確認します。一致すると、データの整合性が確認されます。

この図は、送信者マークと受信者カレンの間で文書の転送を示しています。

  1. 署名と送信:マークは文書を送信してプロセスを開始します。文書はハッシュアルゴリズムを通過し、ダイジェスト/ハッシュ値が作成されます。このダイジェストはその後、マークの秘密鍵で暗号化され、デジタル署名が完成します;文書と彼の秘密鍵の組み合わせ。
  2. 受信と検証:受信者であるKarenは、Markの公開鍵を使用してデジタル署名を復号し、元のダイジェストを取得します。独立して、Karenは受信したドキュメントに同じハッシュアルゴリズムを適用し、別のダイジェストを生成します。
  3. Karenは、複合化された署名から生成されたものと独立して生成されたものとを比較します。一致する場合、Karenは文書の整合性と送信者Markの信頼性を確認します。

ブロックチェーンで使用される署名アルゴリズム

デジタル署名アルゴリズムの選択は、セキュリティ要件、キーサイズ、およびパフォーマンスに関する考慮事項などの要因に依存します。各アルゴリズムにはそれぞれ強みと弱点があり、その使用方法は暗号技術の進化や新興セキュリティの課題に応じて変化する可能性があります。

このセクションでは、ブロックチェーン技術で最も一般的に使用されるデジタル署名アルゴリズムについて説明します。

  1. ECDSA(楕円曲線デジタル署名アルゴリズム):これはより短いキーを使用し、計算リソースを少なく要求し、「楕円曲線暗号鍵」を利用します。これは曲線上の点の有限群であり、特定の操作が片方向で簡単に実行されるが逆方向では難しい曲線で行われます。セキュリティのため、ECDSAは離散対数問題に依存しています。これはブロックチェーン技術で最も人気のある署名アルゴリズムです。

  2. EdDSA(エドワーズ曲線デジタル署名アルゴリズム):これは楕円曲線暗号を基にした現代的で効率的なデジタル署名アルゴリズムです。ECDSAなどの他の署名スキームと比較して、特定の懸念事項を解決し、パフォーマンスを向上させることを目的として導入されました。このアルゴリズムは、比較的小さな鍵サイズで強力なセキュリティを提供するよう設計されており、CardanoやSolanaなどのブロックチェーン技術を含むさまざまなアプリケーションに適しています。

  3. シュノールアルゴリズム:シュノール署名は、同じメッセージに対する複数の署名を1つの署名にまとめることができる、デジタル署名アルゴリズムの1種であり、集約を可能にします。この署名は、単なるよりスペース効率的でなければならないだけでなく、より効率的な検証プロセスを促進します。
    複数の当事者が共通のメッセージに署名するようなシナリオで効果を証明します。たとえば、マルチシグアドレスからのトランザクションを承認する場合などです。このような場合、各参加者は自分の公開鍵と署名を提供する必要があります。したがって、3つの当事者が同じメッセージに署名する意向がある場合、証明には3つの公開鍵と3つの署名が含まれます。各ノードが署名検証関数を3回実行し、3つの異なる署名セットと公開鍵を保存する必要があるため、計算とストレージで効率的ではないようです。
    Schnorrアルゴリズムは、単純に彼らの公開鍵の合計に対して有効な署名を生成します。 キーの集約はガス手数料を削減し、ベースレイヤーのスケーラビリティを向上させることができます。 マルチシグネチャトランザクションからの署名は、単一当事者トランザクションからの署名と同じスペースをブロック内で占有します。

  4. BLS署名:BLS(Boneh-Lynn-Shacham)暗号アルゴリズムは、楕円曲線群上の双線形対応に基づいています。これは、Dan Boneh、Ben Lynn、およびHovav Shachamによって2001年に導入されました。BLS暗号の主な焦点は、集約などの特性をサポートする効率的で安全な署名スキームにあります。さらに、BLS署名はEthereum 2.0およびChiaで使用されています。

ブロックチェーン、そのハッシュアルゴリズム、および署名アルゴリズム

  1. Bitcoin(BTC):
    ハッシュアルゴリズム:SHA-256
    デジタル署名アルゴリズム:ECDSA、Schnoor(TapRoot Soft Fork)

  2. イーサリアム (ETH):
    ハッシュアルゴリズム:Keccak
    デジタル署名アルゴリズム:ECDSA

  3. Litecoin (LTC):
    ハッシュアルゴリズム:Scrypt
    デジタル署名アルゴリズム:ECDSA

  4. リップル(XRP):
    ハッシングアルゴリズム:SHA-256
    デジタル署名アルゴリズム:ECDSA

  5. Cardano (ADA):
    ハッシュアルゴリズム:Keccak
    デジタル署名アルゴリズム:EdDSA(エドワーズ曲線デジタル署名アルゴリズム)

  6. Polkadot (DOT):
    ハッシュアルゴリズム:Blake2
    デジタル署名アルゴリズム:EdDSA

  7. Tezos (XTZ):
    ハッシュアルゴリズム:Blake2b
    デジタル署名アルゴリズム: EdDSA

  8. BNBチェーン(BNB):
    ハッシュアルゴリズム:Keccak(BEP-2トークン用に使用)
    デジタル署名アルゴリズム:ECDSA

ビットコインがデジタル署名を使用する方法

Bitcoinは、各取引ごとに一意の署名を生成するために楕円曲線デジタル署名アルゴリズム(ECDSA)を利用しています。しかし、最近の進歩により、SchnorrアルゴリズムがTapRootソフトフォークを通じて導入されました。このアルゴリズムは、ストレージ効率と検証速度の効率に優れており、トランザクションの集約機能によってBitcoinのスケーラビリティを最大30%向上させることができます。

)

ソース:TimesofIndia — 署名されたトランザクションのみがプロパゲートされ、ネットワークノードによって検証されることができます

Bitcoin取引の基本的な仕組みは、デジタル署名の使用を含む一連の手順を必要とします。

ここに概要があります:

  1. 送信者はビットコイン取引を行うことを決定します。これには、別のユーザーまたは複数のユーザーにビットコインを送ることが含まれる場合があります。
  2. 送信者は、受信者のウォレットアドレス、送金されるBTCの金額、関連する手数料、および取引の入力として使用されるビットコインの出所(未使用取引出力またはUTXO)など、重要な詳細を含む取引メッセージを作成します。
  3. 送信者は楕円曲線デジタル署名アルゴリズム(ECDSA)を使用して、プライベートキーでトランザクションメッセージに署名します。このデジタル署名は、送信元アドレスの正当な所有者によってトランザクションが承認されたことの証拠を提供します。
  4. 取引メッセージはSHA-256(Secure Hash Algorithm 256ビット)を使用してハッシュ化され、その後RIPEMD-160(RACE Integrity Primitives Evaluation Message Digest 160ビット)を使用してさらにハッシュ化されます。このプロセスにより、通常は取引IDまたはハッシュとして知られる固定長のハッシュが生成されます。
  5. 署名された取引はビットコインネットワークにブロードキャストされ、すべてのノード(ビットコインネットワークに参加しているコンピューター)に表示されるようになります。ネットワーク内のノード(マイナーを含む)は、取引の妥当性を検証します。この検証には、デジタル署名のチェックも含まれ、送信者の公開鍵と取引で使用される未使用で有効な入力(UTXO)が一致していることを確認します。
  6. 有効な取引は、競争するマイナーによって収集されます。彼らは複雑な数学問題(プルーフ・オブ・ワーク)を解くために競います。問題を最初に解いたマイナーが、検証済みの取引を含むブロックをブロックチェーンに追加します。
  7. 新しく追加されたブロックはネットワークにブロードキャストされ、他のノードはそのブロック内の作業証明とトランザクションの正当性を検証します。合意が形成されると、ブロックは確認され、そのトランザクションはブロックチェーンに永久に記録されます。
  8. 受信者のウォレット残高は受け取ったビットコインを反映するように更新され、送信者のウォレット残高は使用済みUTXOを考慮して調整されます。

Web3におけるデジタル署名の応用

デジタル署名の動作と重要性を理解したので、取引のセキュリティ、アイデンティティの認証、およびWeb3エコシステムにおけるデータの整合性を確保するデジタル署名の実用的な応用を強調しましょう。

取引認証

たとえば、アリスがイーサリアムをボブに送金したいとします。彼女は自分の秘密鍵で取引に署名し、デジタル署名を生成します。 イーサリアムネットワークは、アリスの公開鍵を使用して署名を検証し、取引が彼女によって承認されていることを確認します。これはNFTの所有権の移転にも適用され、署名された取引でブロックチェーンに記録され、所有権変更の正当性が確保されます。

スマートコントラクトの実行

スマートコントラクトは署名とやり取りするために構築されており、検証後に取引を実行することができます。例えば、分散型の貸出プラットフォームでは、ユーザーが融資リクエストを開始します。このリクエストによりスマートコントラクトが実行されます。ユーザーは自身の秘密鍵で取引に署名し、スマートコントラクトは署名を検証して融資契約を実行します。

分散型アイデンティティと認証

ユーザーは、ブロックチェーンのアイデンティティ、例えばEthereumアドレスを使用して、分散型アプリケーション(dApp)にログインします。dAppは、所有権の証明として、ユーザー(プライベートキー)から署名されたメッセージを要求します。デジタル署名により、ユーザーのアイデンティティが認証されます。

これは新しいWeb3ユーザーを受け入れる簡単な方法でもあります。アカウントを作成したり、別のパスワードを保存する必要がないため、ユーザーは自分の身元を隠すことができ、必ずしも電子メールアドレスなどの個人情報を公開する必要はありません。

NFTのデータ完全性と否認不能

アーティストは、NFTとしてミントする前に、デジタルアートファイルにプライベートキーで署名します。デジタル署名は作品の整合性を保証し、アーティストが後で著作権を否定することはできません。

投票システム

分散型投票プラットフォームでは、投票者は自分の選択肢にプライベートキーで署名して投票します。デジタル署名は投票を認証し、各投票者が自分の貢献を確認できるようにします。このアプリケーションはガバナンス投票やコンセンサスプロトコル投票で見られます。

クロスチェーン相互運用性

ユーザーはブリッジプロトコルを使用してトークンを1つのブロックチェーンから別のブロックチェーンに送金します。ユーザーはソースチェーンで取引に署名し、宛先チェーンは署名を検証してクロスチェーンの転送を許可します。

課題と将来のトレンド

量子攻撃の課題

デジタル署名は、ブロックチェーン上での認証の確実な方法の1つです。しかし、大規模な量子コンピューターの開発は、暗号アルゴリズムが量子コンピューターによって迅速に解読される可能性があるため、ブロックチェーンのセキュリティに脅威をもたらすでしょう。

量子コンピューターは信じられないほどの速さでタスクを処理でき、従来のコンピューターが数時間かかることを数秒で達成することができます。悪意のある者は量子コンピューターを使用して、ブロックチェーン全体を危険にさらす量子攻撃を行うことができます。

それでも、それらはすでに開発中のポスト量子署名によって防ぐことができますが、それらはブロックチェーン上でより大きなストレージスペースを取ることになります。

結論

デジタル署名は、非対称暗号化とハッシュ化の原則に基づいて、データの信頼性と整合性を検証します。それは、送信者の秘密鍵を使用してデータのハッシュ形式を認証し、受信者が送信者の公開鍵で検証することで機能します。ブロックチェーンによって最も一般的に使用される暗号化アルゴリズムには、ECDSA、EdDSA、Schnoor、およびBLS署名があります。

さらに、デジタル署名の使用は、取引認証、スマートコントラクトの実行、ガバナンス投票、クロスチェーン転送、およびNFTのデータ整合性において主に適用されます。

Tác giả: Paul
Thông dịch viên: Sonia
(Những) người đánh giá: Piccolo、Edward、Ashley He
* Đầu tư có rủi ro, phải thận trọng khi tham gia thị trường. Thông tin không nhằm mục đích và không cấu thành lời khuyên tài chính hay bất kỳ đề xuất nào khác thuộc bất kỳ hình thức nào được cung cấp hoặc xác nhận bởi Gate.io.
* Không được phép sao chép, truyền tải hoặc đạo nhái bài viết này mà không có sự cho phép của Gate.io. Vi phạm là hành vi vi phạm Luật Bản quyền và có thể phải chịu sự xử lý theo pháp luật.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500