ブロックチェーンテクノロジーは魔法のようなものです。多くの技術者にとって、これは単なる傑作です。このような強力なものについて、ブロックチェーンの原理が何であるか知っていますか? 以下、編集者がブロックチェーンの原理が何であるかを分析して分析します? ブロックチェーンはビットコインの重要な概念です。この通貨は清華大学 PBC 金融学院のインターネット金融研究室に接続されています。 , 新浪科技は「2014-2016年世界ビットコイン発展研究報告書」を発表し、ブロックチェーンがビットコインの最下層であると言及した。テクノロジーとインフラ。
ブロックチェーンは本質的に、分散型データベース システムであるビットコインの基盤となるテクノロジーです。ブロックチェーンは暗号化技術を使用して一連のデータ ブロックを生成し、各データ ブロックにはビットコイン ネットワーク上のトランザクションに関する情報が含まれており、トランザクションの正当性を検証して次のデータ ブロックを生成するために使用されます。
その原理は何ですか?
ブロックチェーンのさまざまな定義を見て、この概念についてのこれまでの説明が常にビットコインに限定されていたことに気づき始めました。ブロックチェーンの定義は一意かつ明確ではありません。ここでは、研究論文に基づいて「ブロックチェーン」の特性についての私の個人的な洞察を共有したいと思います。
「ハッシュ チェーン」の形式でデータ構造を使用して、基礎となるデータ (後述) を保存します。 )
複数のノードがシステム操作に参加します (分散)
特定のプロトコルまたはアルゴリズムを通じてコンセンサス (コンセンサス プロトコル/アルゴリズム) に達し、基本データの一貫性を確保します。
ビットコインは、ブロックチェーン技術の中で最も代表的で影響力のあるアプリケーションの 1 つです。ビットコインがブロックチェーンをどのように利用しているかを理解することで、他の種類のブロックチェーン アプリケーションをより簡単に理解できるようになります。
アプリケーションについて話す前に、その技術的な性質を理解することが最も重要です。ブロックチェーンに対するすべての回答は、最初にブロックチェーンの無形の特性について言及しているため、最初に理解することはブロックチェーンがどのように実装されているかということです?
必須知識; パスワード Hash() 関数の一方向の性質: Hash(x) = y の場合、データ ブロック A、B、C が連続して存在する場合、x の y
ハッシュ チェーンを見つけるのは困難です。次に、このようにハッシュ値を計算できます。 「||」スプライシングに注意してください。
H0 = Hash(A)
H1 = Hash(B || h0)
H2 = Hash(C || h1 )H2は計算したハッシュヘッダーです。さて、なぜこれをハッシュチェーンと呼ぶのかというと、h2 の値は前の一連のデータの内容と計算の順序に依存するからです。あなたが今 h2 を知っていて、他の人が A、B、C を保持している場合、その人が A、B、C のいずれかを変更しても、あるいは A、B、C の順序を変更しても、正しい h2 を再度計算することはできません。
実は、ここではブロックチェーンの概念が少し意味を成します。 「ブロックチェーンワード」とは、英語のblockchainの訳語です。文字通りに理解すれば、チェーンで「構成された」データのブロックでその基本的な意味を説明するのに十分です。ビットコイン ブロックチェーンは、実際にはハッシュ チェーンのバリエーションです (ビットコインでは、プルーフ オブ ワーク コンセンサス メカニズムを実装するために、以下で説明するノンスに関するルールと特別な要件が追加されたことに注意してください)。 、ブロックチェーンの必要な機能ではありません)。変更方法は? 乱数 (Nonce) を追加します。
データ ブロック A、B、C が順番に生成されたと仮定します。このようにハッシュヘッダーを計算してみましょう。 「||」スプライシングに注意してください。
H0 = Hash(A || Nonce0)
H1 = Hash(B || h0 || Nonce1)
H2 =Ha Hash (C || h1 || Nonce2)
ここで追加の要件も追加します。つまり、h0、h1、h2 はすべて指定された 0 桁で始まる必要があります。たとえば、各ハッシュ値は 5 で始まる必要があります。 0、h0、h1、h2 は次のようになります (00000 *****************)
この要件を追加すると、h0、h1、h2 は次のようになります。出力の形式に従って入力を反転して A、B、C を与えることはできないため、計算はそれほど簡単ではありません。徹底的な計算を行うには、ナンスを変更し続けて、満足するナンス値を見つけるしかありません。 h0 、 h1 、 h2 が要件を満たすように要件を調整します。
いわゆるマイナーが何をしているのかは誰もが知っています。データのブロードキャスト ブロックを受け取り、現在のハッシュ チェーンの先頭を計算します。ハッシュが正常に計算されると、全員に通知されます。私はそれを自分で見つけて、他の人に次のハッシュヘッダーを計算させました。実際、ブロックチェーンの性質はここでもほぼ同じです。ネットワーク内の全員がデフォルトでそのプロトコルを使用し、最長のハッシュ チェーンの後の新しいヘッダーのみを計算する場合は、すべて問題ありませんが、誰かが同じ方法で実行したい場合は、より多くの計算能力が必要になります。正直な人がルールに従えば、一連のフォークを計算したり、新しいチェーンを直接計算したりすることができるため、誰もがそれを認めることができます。
この困難性の証明として、サトシ・ナカモトは、新しいハッシュ・ヘッダーの確率が正直なノードによって計算され、新しいハッシュ・ヘッダーの確率qが次のように計算されると仮定して、ポアソン分布の確率モデルを確立しました。不誠実なノード。 、N値を計算します。
この N 値の意味は、新しいハッシュ ヘッダー h1 を計算し、N 個のヘッダー (h2、h3、h4...) を追加した後、ネットワークが新しいヘッダーを認識する必要があることです。 H1.現時点で、攻撃者が攻撃を成功させたい場合は、N を超える長さの分岐を少なくとも 1 つ計算する必要があるためです。攻撃者がネットワーク全体のコンピューティング能力の 50% を持っていない場合、この可能性を実現することは困難です。
つまり、ブロックチェーンが暗号化ツールの賢い応用であることは明らかです。もちろん、ブロックチェーンの可能性は私が述べたものだけではありません。保険、監査、医療など、さまざまな業界の巨人がその可能性を模索しています。良いアイデアがあり、ブロックチェーンがもたらすことができると考えていれば、そのメリットははるかに大きいでしょう。効果があるので、ぜひ試してみてください。
以上がブロックチェーンの原則について詳しくは 1 つの記事でご覧くださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。