ブロックチェーンは新しいインターネットですか?まあ、確かにそうです!!
ブロックチェーンテクノロジーは、インターネット3.0またはプロトコルのインターネットです。進化として始まったものは、徐々に革命になりつつあります。私たちが現在知っているように、それはビジネスを変革する可能性を秘めていますが、その方法を理解することはそれほど簡単ではありません。そう これは、Blockchainがどのように機能するかを理解するためのリーフレットです。
- ブロックチェーンテクノロジーとは何ですか?
- ブロックチェーンはどのように機能しますか?
2.1トランザクションの独立した検証
2.2検証済みトランザクションの集約
2.3ブロックのマイニング - 誰かがシステムをハッキングしようとした場合はどうなりますか?
ブロックチェーンテクノロジーとは何ですか?
ブロックチェーン は 分散型分散データベース トランザクションが強力なによって保護されている不変のレコードの 暗号化アルゴリズム ネットワークステータスは、 コンセンサスアルゴリズム 。
デジタルタイムスタンプ
簡単に言うと、Blockchainは情報を含むブロックのチェーンです。
この技術はもともと1991年に記述され、 タイムスタンプデジタルドキュメント レコードのバックデートやテンパリングを回避するため。
テクノロジーがどんなに優れていても、中本聡がそれを使用してデジタル暗号通貨を作成するまで、その真の可能性は実現されませんでした 「」 ビットコイン '。
ブロックチェーンテクノロジー|初心者のためのブロックチェーンチュートリアル|エドゥレカ
Hadoop開発者の役割と責任
それでは、Blockchainがどのように機能するかを見てみましょう。
ブロックチェーンはどのように機能しますか?
ブロックチェーンがブロックチェーンネットワーク上の単純なトランザクションでどのように機能するかを理解してみましょう。
ジェームズが送信したいとします 5 BTC 彼の友人ケビンに。現在、このトランザクションは次の形式でブロードキャストされます。 デジタル メッセージ。
デジタルメッセージには固有の署名があります。署名がドキュメントの所有権の証明を提供するのと同じように、同様に、 デジタル署名 の証拠を提供します 取引は本物です。
これで、この生成されたトランザクションはネットワークにブロードキャストされ、そこで伝播されます ピアツーピア。
トランザクションはネットワーク内でピアツーピアで伝播します
上記のトランザクションが最初に受信されたと仮定します ノードA ネットワークで。
トランザクションの独立した検証
トランザクションをネイバーに送信する前に、トランザクションを取得する各ビットコインノードは最初にトランザクションを検証します。これにより、有効なトランザクションのみがシステム全体に伝播され、無効なトランザクションはそれらを受信した最初のノードで破棄されることが保証されます。すべてのノードは、長い基準の議題に対して各トランザクションを確認します。
検証済みトランザクションの集約
マイニングノードによるこれらのトランザクションの新しいブロックへの独立した集約と、プルーフオブワークアルゴリズムによる提示された計算の組み合わせ。
- 各ノードは、受信時にすべてのトランザクションを自律的に確認し、それを伝播する前に、有効な(ただし未確認の)トランザクションのプールを作成します。 トランザクションプール、メモリプール、またはmempool
- トランザクションが到達 M iningノード 他のノードと同じように、新しいトランザクションを収集、検証、および中継します
- 他のノードとは異なり、マイナーノードはこれらのトランザクションを 候補ブロック
例を挙げて、これをよりよく理解しましょう。
アンディが鉱山労働者だとしましょう。 (マイニングノードは、ブロックチェーンのローカルコピー、2009年のビットコインシステムの開始以降に作成されたすべてのブロックのリストを維持します)
ここで、すべてのトランザクションをブロックに収集した後、Andyはブロックヘッダーを作成する必要があります。このステップは、ブロックチェーンがどのように機能するかを理解するために重要です
ブロックヘッダーの作成
ブロックヘッダーを作成するには、マイニングノードは次の表に示すように6つのフィールドに入力する必要があります。
サイズ | フィールド | 説明 |
4バイト | バージョン | ブロックヘッダーを作成するには、マイニングノードはリストされている6つのフィールドに入力する必要があります |
32バイト | 前のブロックハッシュ | チェーン内の前の(親)ブロックのハッシュへの参照 |
32バイト | マークルルート | このブロックのトランザクションのマークルツリーのルートのハッシュ |
4バイト | タイムスタンプ | このブロックのおおよその作成時間(Unixエポックからの秒数) |
4バイト | 難易度ターゲット | このブロックのプルーフオブワークアルゴリズムの難易度ターゲット |
4バイト | 教皇使節 | プルーフオブワークアルゴリズムに使用されるカウンター |
Andyのノードのブロックヘッダーにすべてのフィールドが入力されると、Andyは開始しました 鉱業 ブロック。
ブロックのマイニング
- 他のすべてのフィールドに入力すると、ブロックヘッダーが完成し、マイニングのプロセスを開始できます。
- 目標は、の値を見つけることです。 教皇使節 その結果、難易度の目標よりも小さいブロックヘッダーハッシュが生成されます
- マイニングノードは、要件を満たすナンスが見つかる前に、数十億または数兆のナンス値をテストする必要があります。
Andyのノードによって候補ブロックが構築されたので、Andyのハードウェアマイニングリグがブロックを「マイニング」して、ブロックを有効にするプルーフオブワークアルゴリズムのソリューションを見つけるときが来ました。
プルーフオブワーク は、作成が困難(コストと時間がかかる)であるが、他の人が検証するのは簡単で、特定の要件を満たすデータです。
パズルを見つける-なぜ難しいのですか?
- したがって、SHA-256は一方向性関数です。 強引な 特定の出力値への唯一の方法です
- 平均して、解決策を見つけるには多くのランダムな推測が必要であるため、課題は困難です
- 誰かが解決策の特別な鍵を見つけるのに平均して約10分かかります
コインの分布を予測可能に保つために、より多くの人がパズルに取り組むと、パズルを解くのがますます難しくなります。
次に、に従ってブロックを検証します。 プルーフオブワーク アルゴリズムでは、Andyのマイニングノードは難易度の目標に到達する必要があります。
難易度がどのように表されるか見てみましょう。
難易度の表現
- ブロックには、「難易度ビット」または単に「ビット」と呼ばれる表記で難易度ターゲットが含まれています
- ブロックの難易度ビットが0x1903a30cであるとします。この表記は、難易度の目標を係数/指数形式で表し、指数の最初の2桁の16進数と、次の6桁の16進数を係数として表します。
この表現から難易度の目標を計算する式は次のとおりです。
つまり、これが難易度係数であり、Andyのマイニングノードが難易度の目標を達成するために非常に懸命に取り組んできました。次に何が起こるか見てみましょう。
ブロックのマイニングに成功
- Andyにはいくつかのハードウェアマイニングリグがあり、それぞれが SHA256 信じられないほどの速度で並列のアルゴリズム
- Andyのデスクトップで実行されているマイニングノードは、ブロックヘッダーをマイニングハードウェアに送信します。マイニングハードウェアは、1秒あたり数兆のノンスのテストを開始します。
- ブロックのマイニングを開始してから約11分後、ハードウェアマイニングマシンの1つが解決策を見つけて、マイニングノードに送り返します。
- すぐに、Andyのマイニングノードはブロックをすべてのピアに送信します
- 新しいブロックを受け取り、検証してから伝播します。ブロックがネットワーク全体に波及するにつれて
Nそのブロックがネットワーク内で伝播されると、各フルノードは独立してブロックを検証します
各ブロックの独立した確認
- ビットコインのコンセンサスメカニズムでは、新しい各ブロックはネットワーク上のすべてのノードによって個別に検証されます
- これにより、有効なブロックのみがネットワーク上に伝播されます。
- ノードは、すべて満たす必要のある基準の長いリストに対してブロックをチェックすることにより、ブロックを検証します
ブロックのチェーンの組み立てと選択
ノードが新しいブロックを検証すると、ブロックを既存のブロックチェーンに接続してチェーンの組み立てを試みます。
上記のネットワークでは、ノード(オレンジ色)がブロックを検証すると、ブロックを既存のブロックチェーンに接続してチェーンを組み立てます。
ブロックがネットワークによって検証されると、ブロックチェーンの一部になり、ブロックパズルを正常に解決すると、マイナーに報酬が与えられます。
鉱夫の報酬
- 鉱夫は貴重なリソースを使用してブロックを検証するため、与えられます 金銭的賞
- ビットコインの場合、彼らは報酬としていくつかの新しく作成されたビットコインを受け取ります
ここで、複数のブロックが同時に解決された場合はどうなるのかという疑問が生じます。
はい、これは確かに可能です!このような場合、いくつかのブランチが存在します。
いくつかの支店
- 問題は難しいですが、複数のブロックが同時に解決される可能性があります
- いくつかの枝 そのような場合、ブロックチェーンで可能です
- 誰もが受け取った最初のブロックの上にブロックを構築するだけです
- 他のノードが異なる順序でブロックを受信した可能性があります
- 彼らは最初に受け取ったブロックの上に構築されます
- この状況が連続して複数回発生することは非常にまれであるため、誰かが次のブロックを解決すると、ネクタイが壊れます。
- ブロックチェーンはこの状況ですぐに安定します
- 原則として、利用可能な最長のチェーンに切り替えることです
ブロックチェーンはすぐに安定します。すべてのノードは、元帳の現在の状態と一致しています。
Javaでシングルトンクラスを作成する
了解しました。コンセンサスルールにより、ブロックチェーンネットワークがそのようなあいまいさから救われます。
ここで別の質問が発生します。誰かがシステム内のトランザクションまたはレコードを変更しようとするとどうなりますか?
誰かがシステムをハッキングしようとした場合はどうなりますか?
ブロックが解決されると、暗号化ハッシュ出力がそのブロックの識別子になります。
ブロックチェーンはバックリンクされたレコードの分散データベースであるため。ブロックが形成されると、暗号化ハッシュ出力がそのブロックの識別子になり、次のブロックに結び付けられて、ブロックのチェーンが作成されます。
したがって、ブロックチェーンは強力な暗号化アルゴリズムによって保護されており、レコードを変更する方法はありません。
誰かがいずれかのブロックのトランザクションを変更しようとすると、ブロックのハッシュが変更され、その結果、前のすべてのブロックのハッシュが変更されます。ノードは到着しません コンセンサス、したがって詐欺は簡単に検出できます
だから、これはそれです。誇りを持ってください、今のところあなたはこのハンサムな技術を知った後、群衆から目立ちます。
私はこれを願っています ブロックチェーンのしくみ ブログはあなたにとって有益でした。
質問がありますか?コメント欄にご記入ください。早急にご連絡いたします。
Blockchain Technologyについて学び、暗号化、Blockchain Networks、Smart Contracts、Ethereum、Hyperledgerの概念を習得したい場合は、インタラクティブなライブオンラインをチェックしてください。 ここでは、24時間365日のサポートが付属しており、学習期間全体をガイドします。