ご存知のとおり、ブロックチェーンの主要な技術コンポーネントは、主に P2P ネットワーク プロトコル、コンセンサス メカニズム、暗号化技術、アカウントおよびストレージ モデルです。これらの技術の中で、暗号化とコンセンサスメカニズムが最も重要です。そこで今日は暗号化について詳しく説明し、暗号化技術がブロックチェーンにどのように適用されているかを見ていきます。 まず、ブロックチェーンでどのような暗号化アルゴリズムが使用されているかを知る必要があります。実際には、2 つの主要なカテゴリがあります。
1. ブロックチェーンのハッシュアルゴリズム ハッシュ アルゴリズムは、ブロックチェーンで最も一般的に使用されるアルゴリズムです。ブロックの構築やトランザクションの整合性の確認に広く使用されています。 これはハッシュ アルゴリズムとも呼ばれる数学関数アルゴリズムの一種であり、次の 3 つの基本特性を備えている必要があります。
ハッシュ アルゴリズムが暗号的に安全であることが求められる場合、次の 3 つの追加機能も必要になります。 1. 衝突耐性: つまり、2 つの異なる入力に対して、2 つの異なる出力を生成する必要があるということです。 2 つの異なる入力に対して同じ出力が生成された場合、衝突耐性は存在しないか、または衝突耐性は弱いことになります。 2. 機密保持: 不可逆性とも呼ばれ、y = HASH(x) において、出力値 y は入力値 x によって計算できますが、y の値から逆計算して x の値を計算することはできません。不可逆性を保証するためには、x の値は非常に広い範囲から取得する必要があり、計算によって x の値を推測することは困難になります。 3. パズルに優しい: この特徴は、パズルが公平で友好的であるという意味です。たとえば、アルゴリズムでは、y = HASH(x) です。y の値がわかっていて、x の値を取得したい場合は、総当たり列挙と継続的な試行を使用して取得する必要があります。これより良い方法や近道はありません。 ハッシュアルゴリズムは多数ありますが、ビットコインで使用される主なハッシュアルゴリズムは SHA-256 アルゴリズムです。 さらに、MD5、SHA-1、SHA-2(SHA-224、SHA-256、SHA-384、SHA-512)、SHA-3 などの他の一般的なハッシュ アルゴリズムもあります。これらのうち、MD5 と SHA-1 は強力な衝突耐性が欠けており、十分に安全ではないことが証明されているため、市場での使用は推奨されなくなりました。 ハッシュ アルゴリズムの具体的な応用例を見るために、ビットコインを例に挙げてみましょう。 ビットコインでは、ハッシュ アルゴリズムを使用してトランザクションのデータ サマリーを生成します。現在のブロックには前のブロックのハッシュ値が含まれ、次のブロックには現在のブロックのハッシュ値が含まれます。これらは 1 つずつ接続され、以下に示すようにハッシュ ポインター リンク リストを形成します。 上記は単なる概略図です。では実際のビットコインシステムでは、各ブロックには何が含まれているのでしょうか? 上の写真の次の点に注目してください。
上記では、いくつかの重要なフィールドについてのみ説明しました。他のフィールドは、文字通りの意味から簡単に理解できるはずなので、1つずつ説明することはしません。 これらすべてのフィールドが一緒になってブロック ヘッダーを構成し、ブロック ヘッダーは 2 回ハッシュされる必要があり、計算された値が現在の Bitcoin ブロックのハッシュ値になります。ビットコインシステムでは、計算されたハッシュ値が特定の条件(特定の値未満)を満たす必要があるため、要件を満たす新しいハッシュ値を計算するために、ノンス値を継続的に走査する必要があります。要件を満たすハッシュ値が見つかった場合にのみ、これは合法的なブロックになります(この一連のアクションはマイニングとも呼ばれます)。 Python の例: SHA-256 (SHA-256 (ブロック ヘッダー) 上記のもう 1 つの重要なフィールドである Merkle ツリー フィールドを見てみましょう。 マークルツリーはマークルツリーとも呼ばれ、ハッシュアルゴリズムの重要な応用でもあります。 これは実際にはハッシュ ポインターを使用して構築されたバイナリ ツリーまたはマルチ ツリーです。 マークルツリーは次のように表示されます。 ツリーの最上部は、Merkle Root と呼ばれます。Merkle Root もハッシュ値です。どのように計算されるのでしょうか? ビットコインでは、トランザクションごとにハッシュ計算を行い、2つのトランザクションごとにハッシュをマージしてハッシュを作成します。たとえば、図のトランザクションAのハッシュ値はH(A)、トランザクションBのハッシュ値はH(B)です。この2つのトランザクションのハッシュをマージすると、H(hA|hb)になります。計算は上に向かって続けられ、最終的なルートがマークルルートです。 マークルツリー構造はビットコインとイーサリアムの両方で使用されていますが、イーサリアムにはより複雑な機能を実現するために 3 つのマークルツリーがあります。 ここまで、ブロックチェーンにおけるハッシュアルゴリズムの応用について紹介してきました。次に、非対称暗号化アルゴリズムについて見ていきましょう。 2. ブロックチェーンにおける非対称暗号化アルゴリズム ブロックチェーンの重要なポイントの1つはアカウントの問題ですが、ビットコインにはアカウントの概念がないので、人々はどうやってお金を送金するのでしょうか? ここではまずブロックチェーンの非対称暗号化技術を紹介する必要があります。 非対称暗号化技術には、RSA、ECC、ECDSA など多くの種類があります。ビットコインでは ECDSA アルゴリズムが使用されています。 ECDSA は米国政府の標準であり、楕円曲線を使用するアップグレード版です。このアルゴリズムは長年にわたる綿密な暗号解析を経ており、安全で信頼できると広く考えられています。 いわゆる非対称暗号化とは、データを暗号化および復号化するときに 2 つの異なるキーを使用する必要があることを意味します。たとえば、キー A を使用してデータを暗号化し、キー B を使用して復号化することができます。逆に、キー B を使用して暗号化し、キー A を使用して復号化することもできます。したがって、誰かにメッセージを送りたい場合、まず A で暗号化し、その暗号文をその人に送信します。相手が暗号文を受け取ったら、手元にある鍵 B を使用してそのメッセージを復号化できます。これら 2 つのキーのうち、1 つは公開キーと呼ばれ、もう 1 つは秘密キーと呼ばれます。 ビットコインでは、各ユーザーは鍵のペア(公開鍵と秘密鍵)を持ち、ユーザーの公開鍵はビットコイン システム内の取引アカウントとして使用されます。 次の図を見てみましょう。 図からわかるように、最初のトランザクション レコードでは、トランザクションを開始するのはユーザー U0 です。ユーザー U1 に支払われるトークンはどのようにして実現されるのでしょうか。
この例は、ビットコインのトランザクションの署名プロセスであり、ビットコイン トランザクションのデジタル署名用のハッシュ アルゴリズムと非対称アルゴリズムを組み合わせています。 さらに、ビットコインでは、公開鍵と秘密鍵、ビットコイン アドレスの生成も非対称暗号化アルゴリズムによって保証されています。 上記は、ブロックチェーンシステムのコア技術であるハッシュアルゴリズムと暗号化アルゴリズムの応用です。ぜひご連絡ください。 |
<<: Facebookはライブ動画でユーザーを見えなくする匿名化システムを開発した
>>: Hubo Technologyが「2019年グローバルフィンテックイノベーションTOP50」に選出されました
脅威の攻撃者が戦術や手法を進化させ続けるにつれて(たとえば、暗号化されたトラフィック内に攻撃を隠すな...
[[437362]]石油・ガス生産者の操業実績を測る指標は数多くあり、効率性の向上、コストの削減、油...
近年、人工知能分野の発展はますます加熱し続けており、現在の人材不足が注目を集めています。国務院が20...
「最初のディープラーニングフレームワークをどのように選択するか」は、初心者にとって常に頭痛の種でし...
9月10日、テンセントクラウドは9月7日に開催された2023テンセントグローバルデジタルエコシステム...
[[201516]]機械学習について学びたい、または機械学習に専念することを決心した場合、すぐにさま...
専門的な配電設備として、PDU は基本型とインテリジェント型の 2 つのタイプに分けられます。インテ...
イーロン・マスク氏の人工知能企業xAIは最近、GroKと呼ばれる人工知能チャットボットをリリースした...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
1. 異常なネットワークトラフィックの検出コンピュータネットワークは現代人の生活に欠かせないもので...
海外メディアの報道によると、パナソニックは今年3月にアメリカのAIソフト開発会社ブルーヨンダーを70...
自動運転技術が業界全体で開発のマイルストーンに到達し続ける一方で、都市は自動運転車(AV)の目標を補...
自動運転の概念は、誕生以来、常に資本家や技術起業家が好む分野のひとつでした。新しいインフラと5G商用...