この記事は、主にブロックチェーンに関する知識を 200 行のコードで紹介しています。非常に優れており、必要な方は参考にしてください。
最近、ブロックチェーンの話題が飛び交っています。テクノロジーを理解している人はチェーンに注目しますが、テクノロジーを理解していない人は通貨の価格に注目します。つまり、ブロックチェーンは一連のテクノロジーによって実装された新しい分散型経済組織モデルです。実際、ブロックチェーン技術は 2007 年には登場しました。何年にもわたる改良と完成を経て、現在見られるような btc、eth、eos、true が完成しました。つまり、ブロックチェーンは一連のテクノロジーによって実装された新しい分散型経済組織モデルです。この記事は、さまざまな時代のブロックチェーンのコンセンサスアルゴリズムの観点からいくつかの研究を行うことを目的としています。
1 btc で表される POW: Proof of Work、作業証明。
ビットコインは、ブロック生成プロセスで POW メカニズムを使用します。要件を満たすブロック ハッシュは、先頭に N 個のゼロが含まれており、ネットワークの難易度の値によって異なります。適切なブロック ハッシュを取得するには、多くの試行錯誤の計算が必要であり、計算時間はマシンのハッシュ速度に依存します。ノードが妥当なブロック ハッシュ値を提供する場合、それはそのノードが実際に多数の計算を試行したことを意味します。もちろん、妥当なハッシュを見つけることは確率的な事象であるため、計算回数の絶対値を取得することはできません。ノードがネットワーク全体の n% の計算能力を持っている場合、ノードは n/100 の確率でブロック ハッシュを見つけます。
利点: 安全、アンチフォーク、ビットコインに代表される POW コンセンサス通貨は 9 年間存在しており、その安全性は時間の経過とともにテストされてきました。
短所: 省エネではなく電力の無駄。現実社会に何の貢献もせずに、ビットコインの会計上の権利を争うために大量の電力と計算能力が使用されます。不完全な統計によると、ビットコインのマイニングに必要な電力は現在、180 か国の平均レベルを超えています。 POS が登場したのはまさにこのためです。
2: POS: Proof of Stake、資本の証明。
POS: 資本証明とも呼ばれ、銀行に保管されている資産に似ています。このモデルは、デジタル通貨の保有額と保有時間に基づいて、対応する利子を割り当てます。
動作メカニズム: ネットワーク内のノードは、ノード内のデジタル通貨を POS メカニズムに入れ、ID は検証者に変更されます。 もちろん、POS メカニズムはこれらの検証者の 1 つをブロックの生成者としてランダムに選択します。 、このランダム性と入力デジタル通貨の数は関連しており、より多くのコインを投資した場合、より少ない投資をした場合よりも選択される確率が高くなります。これは基本的に数量比率に比例します。もちろん、一定時間内に POS で選択したジェネレーターがブロックを生成しなかった場合は、次のバリデーターが再度選択されます。効果的なチェーンに関しては、これはブロックチェーンの最長チェーン原則に従います。 POS コンセンサス メカニズムでは担保としてトークンが存在するため、ノードが悪を行っている疑いがあるとシステムが発見した場合、抵当に設定されたトークンは破棄される可能性があるため、POS コンセンサス メカニズムではシステムのセキュリティは提供されません。システム外部のハードウェア コンピューティング能力の競争ですが、システム外のハードウェア コンピューティング能力の競争は、誠実なノードの保証として担保されたトークンに基づいています。
3 PBFT: 実用的なビザンチン フォールト トレランス、実用的なビザンチン フォールト トレランス アルゴリズム。 Byzantine Fault Tolerance アルゴリズムの以前の紹介を参照してください。
PBFT はステート マシン レプリカ レプリケーション アルゴリズムです。つまり、サービスはステート マシンとしてモデル化され、ステート マシンは分散システム内のさまざまなノードにレプリカを複製します。ステート マシンの各コピーはサービスの状態を保存し、サービスの操作も実装します。すべてのレプリカのセットは大文字 R で表され、0 から |R|-1 までの整数が各レプリカを表すために使用されます。説明の便宜上、|R|=3f 1 と仮定します。ここで、f は失敗する可能性のあるレプリカの最大数です。 3f1 を超えるレプリカが存在する場合もありますが、レプリカを追加してもパフォーマンスが低下する以外に信頼性は向上しません。
Chulian は、世界初のハイブリッド コンセンサス パブリック チェーンであり、pbft と pow コンセンサスを組み合わせているのが特徴です。前者を使用してパフォーマンスを確保し、後者を使用して分散化を確保します。簡単に言うと、POW に基づいており、PBFT バックボーン ノードはこのノード上で選出されます。個人的には、2 つの異なるコンセンサス アルゴリズムを統合するのは非常に革新的なアイデアだと感じています。 EOS スーパーノードと同様に、過度の集中化を避けるために最初に POW に基づいてメイン ノードを選択し、その後、それを複数のメイン ノードの下で運用することは分散化に反するように見えますが、これも現段階では効率的です。パフォーマンスと分散化の両方を考慮した、より優れたソリューションを実現します。
最近、ブロックチェーンの話題が非常に盛り上がっていますが、そのテクノロジーを理解している人はそのチェーンに従うことになります。テクノロジーを理解していない人は、通貨の価格に注意してください。つまり、ブロックチェーンは一連のテクノロジーによって実装された新しい分散型経済組織モデルです。実際、ブロックチェーン技術は 2007 年には登場しました。何年にもわたる改良と完成を経て、現在見られるような btc、eth、eos、true が完成しました。つまり、ブロックチェーンは一連のテクノロジーによって実装された新しい分散型経済組織モデルです。この記事は、さまざまな時代のブロックチェーンのコンセンサスアルゴリズムの観点からいくつかの研究を行うことを目的としています。
1 btc で表される POW: Proof of Work、作業の証明。
ビットコインは、ブロック生成プロセスで POW メカニズムを使用します。要件を満たすブロック ハッシュは、先頭に N 個のゼロが含まれており、ネットワークの難易度の値によって異なります。適切なブロック ハッシュを取得するには、多くの試行錯誤の計算が必要であり、計算時間はマシンのハッシュ速度に依存します。ノードが妥当なブロック ハッシュ値を提供する場合、それはそのノードが実際に多数の計算を試行したことを意味します。もちろん、妥当なハッシュを見つけることは確率的な事象であるため、計算回数の絶対値を取得することはできません。ノードがネットワーク全体の n% の計算能力を持っている場合、ノードは n/100 の確率でブロック ハッシュを見つけます。
利点: 安全、アンチフォーク、ビットコインに代表される POW コンセンサス通貨は 9 年間存在しており、その安全性は時間の経過とともにテストされてきました。
短所: 省エネではなく電力の無駄。現実社会に何の貢献もせずに、ビットコインの会計上の権利を争うために大量の電力と計算能力が使用されます。不完全な統計によると、ビットコインのマイニングに必要な電力は現在、180 か国の平均レベルを超えています。 POS が登場したのはまさにこのためです。
2: POS: Proof of Stake、資本の証明。
POS: 資本証明とも呼ばれ、銀行に保管されている資産に似ています。このモデルは、デジタル通貨の保有額と保有時間に基づいて、対応する利子を割り当てます。
動作メカニズム: ネットワーク内のノードは、ノード内のデジタル通貨を POS メカニズムに入れ、ID は検証者に変更されます。 もちろん、POS メカニズムはこれらの検証者の 1 つをブロックの生成者としてランダムに選択します。 、このランダム性と入力デジタル通貨の数は関連しており、より多くのコインを投資した場合、より少ない投資をした場合よりも選択される確率が高くなります。これは基本的に数量比率に比例します。もちろん、一定時間内に POS で選択したジェネレーターがブロックを生成しなかった場合は、次のバリデーターが再度選択されます。効果的なチェーンに関しては、これはブロックチェーンの最長チェーン原則に従います。 POS コンセンサス メカニズムでは担保としてトークンが存在するため、ノードが悪を行っている疑いがあるとシステムが発見した場合、抵当に設定されたトークンは破棄される可能性があるため、POS コンセンサス メカニズムではシステムのセキュリティは提供されません。システム外部のハードウェア コンピューティング能力の競争ですが、システム外のハードウェア コンピューティング能力の競争は、誠実なノードの保証として担保されたトークンに基づいています。
3 PBFT: 実用的なビザンチン フォールト トレランス、実用的なビザンチン フォールト トレランス アルゴリズム。 Byzantine Fault Tolerance アルゴリズムの以前の紹介を参照してください。
PBFT はステート マシン レプリカ レプリケーション アルゴリズムです。つまり、サービスはステート マシンとしてモデル化され、ステート マシンは分散システム内のさまざまなノードにレプリカを複製します。ステート マシンの各コピーはサービスの状態を保存し、サービスの操作も実装します。すべてのレプリカのセットは大文字 R で表され、0 から |R|-1 までの整数が各レプリカを表すために使用されます。説明の便宜上、|R|=3f 1 と仮定します。ここで、f は失敗する可能性のあるレプリカの最大数です。 3f1 を超えるレプリカが存在する場合もありますが、レプリカを追加してもパフォーマンスが低下する以外に信頼性は向上しません。
Chulian は、世界初のハイブリッド コンセンサス パブリック チェーンであり、pbft と pow コンセンサスを組み合わせているのが特徴です。前者を使用してパフォーマンスを確保し、後者を使用して分散化を確保します。簡単に言うと、POW に基づいており、PBFT バックボーン ノードはこのノード上で選出されます。個人的には、2 つの異なるコンセンサス アルゴリズムを統合するのは非常に革新的なアイデアだと感じています。 EOS スーパーノードと同様に、過度の集中化を避けるために最初に POW に基づいてメイン ノードを選択し、その後、それを複数のメイン ノードの下で運用することは分散化に反するように見えますが、これも現段階では効率的です。パフォーマンスと分散化の両方を考慮した、より優れたソリューションを実現します。
関連する推奨事項:
ブロックチェーンを実装するための 200 行のコード ブロックチェーンの例の詳細な説明
ビットコインのブロックチェーン API に精通している友人一度だけアドバイスを提供します
以上がブロックチェーンの開発過程から初期チェーンを見るの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Web開発におけるJavaScriptの主な用途には、クライアントの相互作用、フォーム検証、非同期通信が含まれます。 1)DOM操作による動的なコンテンツの更新とユーザーインタラクション。 2)ユーザーエクスペリエンスを改善するためにデータを提出する前に、クライアントの検証が実行されます。 3)サーバーとのリフレッシュレス通信は、AJAXテクノロジーを通じて達成されます。

JavaScriptエンジンが内部的にどのように機能するかを理解することは、開発者にとってより効率的なコードの作成とパフォーマンスのボトルネックと最適化戦略の理解に役立つためです。 1)エンジンのワークフローには、3つの段階が含まれます。解析、コンパイル、実行。 2)実行プロセス中、エンジンはインラインキャッシュや非表示クラスなどの動的最適化を実行します。 3)ベストプラクティスには、グローバル変数の避け、ループの最適化、constとletsの使用、閉鎖の過度の使用の回避が含まれます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

現実世界におけるJavaScriptのアプリケーションには、サーバー側のプログラミング、モバイルアプリケーション開発、モノのインターネット制御が含まれます。 2。モバイルアプリケーションの開発は、ReactNativeを通じて実行され、クロスプラットフォームの展開をサポートします。 3.ハードウェアの相互作用に適したJohnny-Fiveライブラリを介したIoTデバイス制御に使用されます。

私はあなたの日常的な技術ツールを使用して機能的なマルチテナントSaaSアプリケーション(EDTECHアプリ)を作成しましたが、あなたは同じことをすることができます。 まず、マルチテナントSaaSアプリケーションとは何ですか? マルチテナントSaaSアプリケーションを使用すると、Singの複数の顧客にサービスを提供できます


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール
