ブロックチェーンのセキュリティはなぜ重要なのか、どのように実装されるのか?

  • URLをコピーしました!

このチュートリアルでは、ブロックチェーンセキュリティの基本について説明します。また、暗号、デジタル署名、ハッシュ、秘密鍵、公開鍵がどのようにデータを保護するのかについても説明します。

前回の ブロックチェーンETFのチュートリアルブロックチェーンチュートリアルシリーズでは、ブロックチェーンETFの仕組みと他の資産との比較について学びました。

データのセキュリティは、ブロックチェーンとその運用方法にとって最も重要です。例えば、一流のセキュリティは、ブロックチェーン上の暗号通貨のようなデジタル資産が複製されたり破壊されたりするのを防ぎます。

高度な暗号技術や行動と意思決定の数学的モデルなど、いくつかの方法がブロックチェーン内部のデータと情報の一流のセキュリティを保証します。

ブロックチェーンセキュリティ

このブロックチェーンセキュリティチュートリアルでは、ブロックチェーン内部のセキュリティの基本的な概念を学び、ブロックチェーンを安全にするもの、そして暗号の基本を理解することができます。また、分散化、コンセンサス、暗号経済学がどのようにブロックチェーンのセキュリティを確保するのかを見ていきます。

さらに、ブロックチェーンをより安全にするためのヒント、量子セキュリティの基本、量子耐性ブロックチェーンの概念についても考察します。

目次

なぜブロックチェーンセキュリティは重要なのか?

ブロックチェーンのセキュリティの重要性を理解し、セキュリティ確保が必要な部分を見ていきましょう。

  • 例えば暗号通貨を例にとると、ブロックチェーンが安全でなければ、暗号通貨はコピーされたり、破壊されたり、盗まれたりする可能性があります。同じことがすべてのメッセージに起こる可能性があるので、暗号化されています。
  • さらに、そのように保護された情報は、もはやプライベートまたは機密性を維持することはできません。これは、例えば、膨大な量の暗号の所有者が知られている場合、より多くの安全性、窃盗、ハイジャックの発生を意味します。
  • 信頼性のないスマートコントラクトは、書面による合意が変更されないという保証がなければ難しいでしょう。

ブロックチェーンのセキュリティに寄与する要因

#1)コンセンサスと不変性

ブロックチェーンのセキュリティに貢献するコンセンサスと不変性

コンセンサスと不変性は、以下の点でブロックチェーンのセキュリティに貢献する。

  • コンセンサスブロックチェーンネットワーク上のノードがネットワークの状態について合意する能力であり、ネットワークを保護するためのルールが遵守されることを保証する。
  • コンセンサス・アルゴリズムは、それらのルールと、ネットワークを共有する誰もがどのように従うべきかを定義しています。コンセンサスの重要な側面は、ユーザーがお互いを信頼することなくルールを遵守することを保証するために、それらのルールを符号化することである。
  • 不変性一方、不変性とは、ブロックチェーン上の取引データが改ざんされたり削除されたりしないことです。これは、ブロックチェーンの技術的な機能である。ブロックチェーンにおけるブロックのリンクは、コンセンサスアルゴリズムコードのおかげで、そのような変更がすべてのノードとノードオペレータに伝達されることを保証します。ノードオペレータは、これらの変更を技術的に拒否したり受け入れたりすることができます。
  • 変更が拒否された場合、変更されたブロックは孤児として渡されるか、メインの最長チェーンから切り離されます。そのブロックを採掘した人は報酬を受け取ることすらできない。

したがって、コンセンサスは、検証者とノードが、チェーンの継続性を確保するために受け入れ可能な変更に同意しても、受け入れ不可能な変更に同意しないことを可能にするので、ブロックチェーンを安全にする。不変性とは、ブロックチェーン上に確保されたあらゆるデータや情報の追跡可能性を保証するものであり、つまり、いかなる種類の変更も気づかれることを意味する。

#2)ブロックチェーンのセキュリティにおける暗号とその役割

暗号は、ブロックチェーンの主要なセキュリティシステムです。第三者から見えない形式でデータの保存や交換を可能にし、メッセージの意味を解き明かす技術的な許可を得た人だけが、送られてきたメッセージを受信して解読することができるのです。

ハッシュ化アルゴリズムは、簡単に読めるデータを、復号化しなければ理解できないデータに変換する。

ブロックチェーンのセキュリティにおける暗号とその役割

暗号は、公開鍵と秘密鍵のペアのセキュリティ方法を使用することに加えて、ハッシュ化の方法によって動作します。ブロックチェーンのデータの安全性を確保する方法としては、非対称鍵暗号と対称鍵暗号が主に用いられる。対称鍵暗号では、1つの鍵を用いてデータや情報を暗号化・復号化する。DESやAESは、対称型公開鍵暗号の例です。

これらは、電子メールやTLS、SSLなどのインターネット暗号化方式で採用されていますが、対称鍵暗号と非対称鍵暗号を組み合わせて使用することもあります。

(i)ブロックチェーンは非対称鍵暗号を採用している。 公開鍵暗号方式より安全で、異なる秘密鍵と公開鍵を用いてデータや情報を暗号化・復号化します。公開鍵は、デジタル証明書などを通じて一般に公開されています。情報または暗号などの送信者は、受信者の公開鍵を使用してデータを暗号化します。受信者は、公開鍵と結びついた秘密鍵で復号化することで、データを解読する鍵を持っています。

(二) もちろん、暗号化された形式や読めない形式で送信されるため、第三者がアクセスすることはできない。

(iii) は、その 秘密鍵の保有者 は、所有者の証明として、そこに含まれる情報を復号化する権限と権利を有する者である。

(iv) A キージェネレータ は、暗号技術において公開鍵と秘密鍵を生成するために使用されるコンピュータプログラムである。これらの乱数発生器(RNG)または疑似乱数発生器(PRNG)は、データの安全性を確保するために、ある程度のランダム性を利用しています。

(v) 鍵はデータを保護する を確保することができます。ブルートフォースとは、暗号化されたデータを、関連する秘密鍵を持たずに解読しようとする方法の1つである。ブルートフォースは試行錯誤の手法で、可能性の高い文字の組み合わせを複数回推測し、最小の数から鍵を作るというものです。

このソフトウェアは非常に高速で、パスワードや鍵などを推測することによって、いくつかの暗号化技術に侵入し、システムをハッキングするために使用されます。

ブルートフォースは、非対称公開鍵暗号を破ることができません。まず、鍵の構成と長さが推測を難しくしているからです。その理由は、鍵の構成と長さが推測しにくいからです。それゆえ、解読が困難な共通鍵アルゴリズムには、128ビット長の鍵を生成する128ビット暗号化システムが採用されているが、2048ビット。

(vi) ビットコイン財布のアドレスとその秘密鍵を手動で生成することで、bitcoinaddress.orgのランダムな公開鍵と秘密鍵ジェネレータをテストすることができます。両方のキーは、妥協される可能性を減少させながら、オフラインで生成されます。

この方法は、散発的なユーザーのマウスの動きを使用して、ユニークな種を生成し、生成されたキーを推測するのが難しい(実際には不可能)ランダムネス度を増加させるものです。このタイプのPRNGは、システムのエントロピーを使用して、PRNGの初期条件を推測しにくくする方法で、結果を推測しにくくするために、ランダムネス処理にデータをシードします。

他のシステムは、パスフレーズと鍵導出関数を使用して秘密鍵を決定論的に導出する。これらの方式は、ウォレットアドレスを簡単に生成・管理できる最新のHDウォレットで採用されている。HDウォレット内の全てのウォレットアドレスに対する全ての秘密鍵は、同じ鍵導出関数を使用して生成され、単一のパスフレーズで復元することができる。

暗号化アルゴリズム

暗号技術には強弱があり、暗号文から平文を復元するのに必要な時間とリソースの量によって評価される。

#1) 従来の暗号化は、保存データの保護には有効ですが、転送中のデータの保護には非常に高価です。

#2) 現代の非対称公開鍵・秘密鍵暗号は、鍵を配布する問題を解決しています。OpenPGPのような方式は、公開鍵暗号(非対称暗号)と従来の暗号のハイブリッドを使用しています。

サイファとは、情報の暗号化・復号化を可能にする数学的関数のことです。 平文を暗号化するために、単語、数字、フレーズであるキーを使用します。異なるキーは、異なるサイファーテキストまたはハッシュを生成します。

#3) 暗号アルゴリズムは、暗号化された暗号文を生成するために、その数学関数と平文入力に注入するランダムデータを収集する。

下の画像は、暗号アルゴリズムの動作を説明するものです。

暗号アルゴリズム

#4) サイファは、メッセージを隠すためにさまざまな戦略で機能します。追加データと組み合わせたり、逆行させたり、転置させたり、これらはほんの一例である。

#5) 例えば 対称鍵暗号化では、メッセージを隠すために、平文の単位の順番を定期的に入れ替える転置サイファを使用することがあります。このような関数やサイファは、両義関数と呼ばれる。サイファー・テキストは平文の並べ替えを構成する。この場合、メッセージを解読するためには、逆関数をサイファーテキストに適用して、テキストの元の順序を復元し、平文に戻す。

#3) 秘密鍵と公開鍵はどのようにデータを保護するのか?

データを保護するための秘密鍵と公開鍵の仕組み

(i) 公開鍵と秘密鍵のペアを用いた暗号は、数学的なプロセスです。秘密鍵を使用してデジタル署名を作成すると、その取引は他のものと一意になり、ブロックチェーンの外部または内部の誰によってもコピーできないようになります。

(ii) あるトランザクションに対する署名は、2つの署名を生成するために同じ秘密鍵が使用されている場合でも、異なるトランザクションに対する署名と類似することはできない。

(iii) さらに、鍵はハッシュ化によって数学的に隠されるだけでなく、鍵の関係も解き明かすことが困難です。したがって、そのように保護されたオリジナルのメッセージを見つけることは困難である。

(iv) 秘密鍵と公開鍵によるデータ、情報、取引の保護は、2つの大きな素数の積を見つけるのは簡単だが、大きな数が非常に大きな素因数しか持たない場合、その因子を見つけるのはますます難しく、不可能になるという考え方に依存している。

(v) これは、現在考えられる最速のコンピュータを含むあらゆる方法で、その数の因数を計算するのに何千年もかかるからである。

2つの数の差がモジュラスで割り切れる場合、2つの数はモジュラスで合同であると言われます。数30は、30と7の差は7で割り切れるので、9のモジュラス7と合同である。

つまり、次のように表されます。

>> a 弾性率b (mod l)は、a = kl + b (kは整数)のとき、aとbが互いに合同でモジュラスである場合にのみ成立する。

トムがハリーからのメッセージを受け取りたい場合、誰もがメッセージを暗号で書くことができるにもかかわらず、彼だけがメッセージを解読することができる。トムは非常に大きな素数a,bを2つ選び、k=abと書き、kを使ってメッセージを暗号化するが、メッセージを解読するにはaとbが必要である。

トムは2つの数a、bを選び、k=ab、l=最小公倍数{a-1、b-1}とする。
ハリーからのメッセージを安全に受け取りたいトムは、c>1でcがlと同素数、つまりcとlには共通因子がないdを選択する。
また、トムはct = 1 (mod l)となる、lより小さい一意のtを見つける。
トムはcとkの正体を公開し、a,b,tを非公開にする。

Lとkは同素数であり、0<L<kの条件を満たしている。
ハリーはLd ここで、Ld = Lc (mod k)を送信し、メッセージLd をトムへ。
メッセージを受け取った後、Ld をハリーから受け取ると、トムはそれを a, b, c, t, l, k を使って解読し、L を求める。d.

解読するために、トムは次の定理を使う。

(Ldt弾性率 L(mod k)です。

例題です。

  • ハリーはメッセージLをトムに送り、トムはa=17, b=23を選択、つまりk=39, l=176, c=3, t=59
  • トムはハリーにk=391、c=3を伝える(kとcがあってもtを求めることはできない)。
  • ハリーはLを計算する。d = Lを使用して=180d = Lc (mod k)であり、cとkの知識がある。
  • トムは暗号メッセージ180を受信する。
  • トムはLを計算するd)t弾性率 L(mod k)です。L モジュラス18059 (mod 391)であり、ハリーからの秘密のメッセージを解読する。
  • コンピュータはmodulモジュラスは、上記の関数の結果を求めるために微積分を使用します。

理想的には

  • があれば係数b (mod n), nはa-bを分割し、nがa -bを分割する場合、nは(a-b)c = ac-bcを分割し、これはacを意味するモジュラスbc (mod n); および
  • としている。k 弾性率bk(mod n)
  • 解答はこの例に準じます。式中のxを求めるには、0係数x弾性率100; および 173 弾性率x (mod 101)です。
  • から173 はほとんどの電卓にとって大きすぎるため、17から始めます。6= 24137569 とし、まず101で割ると、17が得られる。6 = (238985)(101) + 84 なので、17がわかる。6弾性率84 (mod 101) に取り組むことができます。

1713であり、これは=(176)2 x 17 である。 係数842 x 17 弾性率 119952 (mod 10)

モジュラス65(mod101)です。

よって、x=65。

#その4)デジタル署名の作成

ここで、ブロックチェーンにおいてデジタル署名がどのように作成され、機密保持にどのような役割を果たすのかを理解しましょう。

公開鍵は、例えばウェブサイトや電子メールの暗号化の専門用語でいうところのデジタル証明書を通じて、安全ではありますが公に利用することができます。証明書は認証局またはCAによって発行されます。

電子証明書は、公開鍵と同じように個人情報を含んでいます。それ自体が署名されている電子署名の真正性は、その署名を検証することで証明されます。電子メールやWebの暗号化では、CAからの公開鍵を使って、発行されたデジタル証明書の署名を検証した上で、情報やメッセージの真正性を検証しています。

ブロックチェーンでは、秘密鍵はトランザクションにデジタル署名するために使用されます。そして、関連する公開鍵は、対応する秘密鍵でそのように作成されたメッセージが本物であることを、それらのメッセージ上のデジタル署名の真正性を検証するために使用されます。これが、プライベートウォレットからブロックチェーンシステムにトランザクションを通して送信するときに起こることです。

このように、秘密鍵は送信されたデータの機密性を保証します。

デジタル署名の作成は、数学的なコンピュータ処理であり、以下のようなプロセスで行われます。

ブロックチェーンにおけるデジタル署名の生成方法と機密保持の役割

最後のステップでは、メッセージやトランザクションが改ざんされていない場合、2つのハッシュは同一となる。メッセージは本物であると検証され、そうでない場合は改ざんされているか本物でないとして拒否される。

したがって、ブロックチェーン内の取引が改ざんされた場合、送信者またはその機械が送信時に形成したハッシュとは異なるハッシュとなり、元の取引はまず受信者の秘密鍵で復号される。

この考え方は、暗号通貨の往復取引や暗号決済に利用されています。

ブロックチェーン内の鍵に関連する他のセキュリティ戦略としては

  • ブロックチェーン内のマルチシグネチャーウォレットアドレスプロトコルは、ウォレットの所有者-保有者全員に鍵のコピーを作成することを可能にします。例えば、ウォレットが家族や会社によって所有され、3者以上の署名がないと取引が許可されない場合に適用される。
  • マルチシグネチャウォレットでは、ある当事者は他の人が立会人でなければ暗号を使うことができません。資金を使用するためには、その鍵を所有する複数の当事者によって署名されなければならない。
  • 一部のオンラインウォレットとブロックチェーンシステムでは、マルチシグネチャープロトコルを使用しており、1つの秘密鍵はユーザーのデバイスに保存され、もう1つはユーザーがオフラインまたは別の場所に保存し、もう1つはサービスプロバイダーに残されています。一方を紛失したり、置き忘れたりした場合、2つのうちのいずれかがウォレットやサービスのロックを解除することができます。

オンライン・セキュリティに話を移すと、一部のシステムでは、各セッションのワンタイム・リンクとして秘密鍵を生成することが可能です(前方秘匿として知られています)。

#5)ハッシュ化はブロックチェーンのデータ保護にどう役立つのか?

ハッシュ化では、入力データはハッシュ関数と呼ばれる数学的関数や数式を通過する。この関数は、入力を元のメッセージに戻さない限り意味をなさない出力に変換する。

  • 出力は、入力の長さに関係なく同じ長さでなければならない。例えば、Proof of Workアルゴリズムを使用するビットコインのブロックチェーンでは、SHA-256が使用されるアルゴリズムであり、256ビットまたは64文字の長さのハッシュを生成する。
  • 2つの異なる入力、例えば大文字と小文字の違いなど、ごくわずかな違いであっても、同じような出力を得ることはできません。
  • 同じ入力は、関数で何度ハッシュ化されても一貫性を保つために、常に同じ出力をします。
  • このプロセスは不可逆です。つまり、出力から始めてそれをハッシュ化しても、それを生成する入力は生成されないということです。

ブロックチェーンに話を戻すと、ブロックチェーンは、それぞれがデータのセットを含むブロックの鎖であり、ブロックにはブロックチェーンのデータに関して生成されたハッシュまたは出力があります。データに変更があれば、ハッシュを変更する必要があります。さらに、各ブロックのハッシュは、前のブロックのハッシュに関しても生成されるので、すべてのブロックが相互にリンクしています。

したがって、あるブロックのデータが変更されると、すべてのブロックのハッシュが変更されることを意味します。これは、ブロックチェーンにおけるデータの安全性を確保する上で重要な点であり、ブロックチェーンではデータが安全にリンクされ、不変であるためである。

ブロックチェーンにおけるブロックデータ、ブロック識別子/ハッシュ、ブロックのリンク。

ハッシュはブロックチェーンのデータ保護にどのように役立っているか

したがって、ハッシュ識別子は相互にリンクされ、ブロックチェーンにおけるデータの安全性と不変性を確保する。

取引を検証するプロセスでは、このハッシュの仕組みが利用される。これは、あるブロックのハッシュ化に成功した人が、そのブロックを採掘して報酬を受け取るというものである。採掘者は、チェーン内の有効なブロックを採掘するために必要な望ましい出力ハッシュを生成するハッシュ値を見つけるために、繰り返し推測を行っている。

#暗号経済学とブロックチェーンセキュリティ

暗号経済学は、あらかじめ定義されたルールと報酬が、さまざまな状況でなされるべき決定を数学的に決定するゲーム理論と同じイデオロギーを使用しています。暗号経済学では、ブロックチェーン上のノードの振る舞いをモデル化する。

  • 経済思想は、参加者の行動と行動の可能な結果を含むブロックチェーン・プロトコルに符号化される。
  • 暗号経済学は、ポジティブで正直な行動を奨励し、そのような行動をとる参加者に報酬を与える一方で、悪意のある行動や欠陥のある行動を抑止する。

暗号経済学は は、ビットコインのマイニング報酬を通じて、コンピュータの処理能力を投入することでネットワークをサポートする人々に報酬を与えています。同時に、不正なノードや非効率なノードは、ネットワークから追放されることで罰せられます。

  • コンセンサス・アルゴリズムと暗号経済学による報酬のバランスは、多くの人々がネットワークを支持し積極的に参加する動機となるため、ネットワークのさらなる安全性を保証します。これは、51%攻撃につながる可能性のある単一のグループまたはエンティティに、より多くの他の人が悪意のある活動にハッシュレートをコミットする可能性を払拭するものである。 例えば ビットコインネットワークの競争力は、悪意のある攻撃の可能性を最小限に抑えることができます。
  • 暗号経済学では、大量のハッシュレートが非常に多くの人々によってネットワークにコミットされ、51%攻撃のような不安要素が実行不可能ではないにしても困難で高価であることを保証することによって。 例えば、以下のようなものです。 において、非常に小さな潜在的報酬のためにそのような攻撃を実行することは、コストの面で非常に懲罰的である。

したがって、ブロックチェーンはビザンチンフォールトトレランス(BFT)として知られる特性を持っています。これは、一部のノードが侵害されたり悪意ある行動をとったりした場合でも、ネットワークが正常に動作し続ける能力を定義するものです。禁止事項として設定される悪意ある行為に対するインセンティブよりも、誠実な行為に対するインセンティブの方が高く保たれている限り、このようになるのです。

しかし、ハッシュレートが小さいブロックチェーンネットワークでは、ハッシュレートの合計が非常に小さく、51%のノードを攻撃してネットワークを制御するために膨大なハッシュレートをコミットすることが手頃であるため、51%攻撃が発生する可能性があります。

#7)量子コンピュータと量子耐性のあるブロックチェーン

超高速コンピュータのアルゴリズムを使えば、たとえ非常に大きな素因数を持つ大きな数であっても、その因子を数秒以内に計算することが容易かつ高速にできるようになるかもしれない。これは、現在の暗号アルゴリズムで保護されたブロックチェーンを破ることができるようになることを意味する。数秒以内に暗号鍵を発掘することが可能になるからだ。

  • これに対応するため、これに対抗できるブロックチェーンについての議論や作業が始まっている。このような量子耐性ブロックチェーンは、量子コンピューターがチェーンを破ることをさらに難しくする。
  • これらのブロックチェーンは、量子コンピュータに耐えられない現在の暗号アルゴリズムを採用する代わりに、量子コンピュータの挑戦に耐えるより強力な鍵を生成できるアルゴリズムを採用することになる。

まとめ

このチュートリアルでは、ブロックチェーンを安全にするための暗号、ハッシュ、デジタル署名、さらにコンセンサスと暗号経済学の基礎と働きについて考察しました。暗号はブロックチェーンを安全にするための中心的な手法ですが、他の技術もブロックチェーンを安全にするために重要な役割を果たすことを確認しました。

ハッシュと鍵の暗号化を通じて機密性を確保する暗号がブロックチェーンのセキュリティに大きな役割を持つとしても、デジタル署名は取引の真正性と機密性の維持に役立つことを見ました。

お勧めの本 =>> ブロックチェーンDNSソフトのベスト

我々は、暗号経済学と分散化は、それを破壊するために多くの努力をコミットするよりも、ネットワークの継続性を促進し、維持するために、彼らのリソースをコミットするように多くのユーザーを奨励することを見た。

<<PREV チュートリアル | NEXT チュートリアル>>

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次