JavaScript で実装されたブロックチェーンを評価するにはどうすればよいですか?

PHPz
リリース: 2023-08-27 21:05:07
転載
954 人が閲覧しました

ブロックチェーンは、情報を含むブロックチェーンです。 2009 年に、このテクノロジーは後にサトシ ナカモトによってデジタル暗号通貨ビットコインの作成に採用されました。これは、開発または分析を希望する人なら誰でも完全にオープンです。このテクノロジーの特徴の 1 つは、特定のデータがブロックチェーンに記録されると、その変更が非常に複雑になるということです。 以下は、ブロックチェーン プログラムの評価に使用される用語の一部です。

  • ブロック

    - ブロックチェーン内のブロックには、データ、ハッシュ値、前のブロックのハッシュ値などの情報が含まれます。

  • データ

    - このデータはブロックのタイプに完全に依存します。たとえば、暗号通貨には、トランザクションの送信元、トランザクションの宛先、トランザクション量などの情報があります。コインが取引されました。

  • ハッシュ

    - これは、Aadhar 番号と同じように一意の文字列 ID であり、このハッシュがブロックを識別するために使用されるのと同じように、個人の詳細を見つけるために使用できます。詳細は同じ。ブロックが作成されると、そのハッシュが作成されます。ブロック ハッシュの変更は簡単に識別できます。ブロックのハッシュが変更されると、それは同じブロックではなくなります。

  • 前のハッシュ

    - これは前のブロックのハッシュであり、ブロックのチェーンを接続または作成するために使用されます。

  • 上の画像では、前のハッシュに前のブロックのハッシュが含まれていることがわかります。最初のブロックは、前のブロックを指すことができないため、ジェネシス ブロックとも呼ばれます。ハッシュを変更すると、前のハッシュを持つ次のブロックは変更により無効になります。

使用するパッケージは

crypto.js です。

これは、暗号化アルゴリズムと関数を提供する JavaScript ライブラリです。これを使用して、Web ブラウザーまたは Node.js などのサーバーサイド JavaScript 環境で、ハッシュ、暗号化、復号化、キー生成などのさまざまな暗号化操作を実行できます。 このライブラリは、安全な通信、データ保護、ユーザー認証を提供するために Web アプリケーションで広く使用されています。たとえば、機密データをインターネット経由で送信する前に暗号化したり、ユーザー認証用の安全なパスワード ハッシュを生成したりするために使用できます。

ハッシュ化とプルーフ・オブ・ワークに Crypto.JS ライブラリを使用するプログラムを通して理解してみましょう。

Block と Blockchain の 2 つのクラスがあります。

リーリー

ブロック クラスには 5 つの属性があります -

  • data

    - データをブロックに保存します。

  • hash

    - これは、calculateHash メソッドを呼び出してブロックのハッシュを保存します。

  • prev_hashValue

    - 前のブロックのハッシュ値を保存します。

  • time_stamp

    - タイムスタンプには、ブロックが作成された時間が含まれます。

  • pf_work

    - マイニング中に増加する数値。

  • Block クラスには 2 つのメソッドが含まれています -
リーリー

この関数は、pf_work、prev_hashValue time_stamp、および data を連結し、CryptoJS ライブラリを使用して

SHA256

ハッシュ関数に渡すことによってブロックのハッシュ値を計算します。 リーリー この関数は、proof of work を使用して、特定の数のゼロで始まるハッシュを検索します。ゼロの数は、このメソッドに渡される難易度パラメーターによって決まります。 pf_work 属性は、有効なハッシュ値が見つかるまでインクリメントされます。

リーリー

chain

- これは、ブロックのチェーンを形成する Block オブジェクトの配列です。 ブロックチェーン クラスには 2 つのメソッドがあります -

リーリー

このメソッドは新しい Block オブジェクトを作成し、その中のデータがパラメーターとして渡され、有効なハッシュ値を見つけてチェーン配列に追加するためにマイニングが使用されます。

リーリー

このメソッドは、チェーン配列内の各ブロックを反復処理し、そのハッシュ プロパティが計算されたハッシュ値と一致することを検証することによって、ブロックチェーンの有効性をチェックします。

リーリー

ここでは、ブロックチェーン クラスのプロパティを持つ 2 つのブロックを使用してオブジェクトが作成されます。

この実装は、安全で不変のデータ ストレージを必要とする、より複雑なブロックチェーン アプリケーションを構築するための開始点として使用できます。ただし、これは単なる基本的な実装であり、完全に機能するブロックチェーン システムには、トランザクションの検証、コンセンサス メカニズム、セキュリティ対策などの多くの追加機能も必要であることに注意してください。

例: 完全なコード

ブロックチェーン.js

リーリー このプログラムをコンパイルするには、node.js をインストールする必要があります。この記事 (Node.js - 環境セットアップ) を使用して Node.js をインストールします。次に、次のコマンドを使用して、crypto.js ライブラリをインストールします。

リーリー

次に、JavaScript プログラム ファイルをコンパイルします。ここでは、ファイル名は blockchain です。

リーリー ###出力############

以上がJavaScript で実装されたブロックチェーンを評価するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!