ブロックチェーンの基礎-パートII

ブロックチェーンの技術的説明

ブロックチェーンは、英語の「ブロックチェーン」(ブロックのチェーン)に由来し、レコードのリストが連続したブロックに保持される分散型分散データベースの一種です。

レコードとは、データベースに保存される情報です。たとえば、支払人のアカウントから受取人のアカウントへの資金の移動の記録、ドキュメントの作成の記録、配達の受領の記録などです。 。

新しいブロックとレコードはブロックチェーンにのみ追加され、後続の各ブロックは前のブロックを参照します。 したがって、1つのブロックを変更すると、後続のすべてのブロックがカスケードされます。 これを適切に実装すると、レコードは実質的に永続的で変更できなくなります。 ブロック内のエントリも配置されます。

ハッシュ関数、ハッシュツリー(「マークルツリー」)、デジタル署名などの暗号化ツールを使用して、個々のレコードとブロックの信頼性を検証します。

個々のレコードは、各ネットワーク参加者によって、指定されたデータベースの基準を満たすように検証(検証)されます(たとえば、指定されたレコードが必要なデジタル署名を持っていることの検証)。

検証基準はすべてのネットワーク参加者間で共有され、終了時に評価でき、データベースの現在の状態に関して、どのコンピューターまたはいつ開始するかに関係なく、常に同じ方法で評価されます。つまり、そうではありません。ランダム変数または外部変数に依存します。

4月10日-v6.jpg

市場における資産の現在価値などの外部変数を使用するには、これらの変数を最初にデータベースに確実に入力する必要があります。これは、オラクルと呼ばれます。 オラクルは、ブロックチェーン内の個別のエントリとして書き込まれる外部情報の信頼できるソースです。

ただし、唯一の情報源としてのオラクルはセキュリティの脆弱性である可能性があるため、分散型のBFT実装を使用することを強くお勧めします(以下のビザンチン将軍の問題とビザンチンエラーの許容度を参照)。

分散型ネットワーク内で新しいブロックを作成および選択する方法は、コンセンサスアルゴリズムと呼ばれます。 コンセンサスは、各参加者が同じ、完全に順序付けられた有効なレコードとブロックのセットを表示するブロックチェーンの機能です。

このアルゴリズムは、特定の配置内で有効なトランザクションのみが選択されることを保証し、レコードが変更できないことを保証するために1つ以上の過去のブロックとレコードを変更することは非常に困難であることも保証します。

過去に変更を深く行う必要があるほど、変更後のより多くのブロックを置き換える必要があります。 コンセンサスアルゴリズムは、このタイプの攻撃の実際的な適用可能性のレベルを超えて、参加者のサイズと数に比例してこの補償のコストを増加させる手法を使用します。

4月10日-v9.jpg

他のデータベースと区別するブロックチェーンの主な機能は次のとおりです。

1.複数のノードに接続できます。

2.ノードの不正な動作に対する暗黙の保護が含まれています。

3.すべてのネットワーク参加者に一連のトランザクションの同じビューを提供します。

4.それは誰もが入力した記録の不可侵性を保証します。 このように、参加者は誰も持っていません

特権的な地位、

5.すべての参加者は、ブロックチェーンに入力されたエントリが有効であると見なします。

これは、ブロックチェーンが個々の参加者間の透明性と信頼の問題を解決することを意味します。

一方では、一度書かれたものが変更不可能であり、各参加者によって検証可能であることを保証し、他方では、著者によって本物で否定できないデジタル署名記録手段の場合、それはアルゴリズム的に記録の有効性を検証し、防止します競合します。

広い意味では、他のタイプの分散型データベース(分散型台帳、DLT)もブロックチェーンと見なされ、レコードをブロックチェーンにグループ化する必要はありませんが、ブロックチェーンと重要な特性を共有します。

4月10日-v3.jpg

アクセスに関しては、ブロックチェーンネットワークを次の基本的なタイプに分けることができます。

1.パブリックブロックチェーン-誰でも新しいブロックの作成に参加して参加できます。 誰でも現在のブロックとレコードのセットをダウンロードできるため、入力した情報の検証者になります。 したがって、不公正な行動の試み(履歴記録の変更、無効な情報の書き込みの試みなど)は、一般の人々によって迅速に検出されます。

2.コンソーシアムブロックチェーン-コンソーシアムのメンバー(中央で決定)のみが参加/参加できます。 参加できる参加者の数が限られていることとその承認により、信頼できる一貫した情報のソースとしてのこのデータベースの使用が制限されています。 さまざまなタイプの攻撃のコスト、したがってそれらの実際的な実現可能性を判断するために、特定のコンセンサスアルゴリズムのプロパティをより徹底的に分析する必要があります。 バリアントは、コンソーシアムがブロックを作成する権利を保持し、読み取りアクセスが一般に公開されている、パブリック読み取りアクセスを備えたコンソーシアムブロックチェーンです。

3.プライベートブロックチェーン-特定の組織のメンバーに限定されます。 1つの組織がデータベースのすべてのコピーを管理しているという事実は、データベースを外部から信頼できないものにします。

個々のタイプ間の境界は完全に厳密ではなく、ブロックチェーンのガバナンスの方法にも大きく依存することを覚えておくことが重要です。 例としては、パブリックアクセスを備えたブロックチェーンがあります。これは、ブロックを作成するときに、創設者などの参加者のグループを大幅に支持するように最初から設定されています(創設者がトークン)。

選択されるアクセスのタイプは、アプリケーションとその特定のニーズによって異なります。 パブリックコントロールが必須要件の1つである場合、パブリックブロックチェーンまたはコンソーシアムブロックチェーンが理想的なソリューションです。 非公開情報が狭いグループで共有されている場合は、プライベートブロックチェーンを選択するのが適切な場合があります。

4月10日-v4.jpg

ハッシュ関数

ブロックチェーンテクノロジーの重要なコンポーネントの1つは、暗号化ハッシュ関数(ハッシュ)です。 ハッシュ関数は、ブロックチェーン領域で複数の用途があります。 このような関数は、実質的に任意の長さ(1文字、数百、数千、さらには数十億文字)の入力文字列から固定長の出力文字列を計算します。 暗号化ハッシュ関数には、次のプロパティがあります。

1.速度:利用可能なコンピューティングシステムでハッシュ値を計算するのは高速です

2.一方向:逆関数は非常に難しく、実際に見つけることは不可能です。 知識の出力文字列から、入力文字列を計算することはできません。

3.衝突のない:最新の強力なハッシュ関数では、同じ出力につながる2つの異なる入力を見つけることをリアルタイム(想像できる)時間で知ることはできません。 特定の入力に対して、同じ出力を生成する別の入力を見つけることができません(または非常にまれです)。

4.アバランシェ:入力の小さな変更(1ビットなど)により、出力が大幅に変更されます(通常、出力文字列のほとんどの文字が変更されます)。

ハッシュは、ブロックチェーンテクノロジーで次の目的で最もよく使用されます。

1.ブロックチェーンブロックの相互接続と変更に対するそれらの保護、

2.ブロックチェーンの外(オフチェーン)に大きなファイルを保存する場合-ハッシュを電子指紋としてブロックチェーンに保存します。

3.コンセンサスアルゴリズムのプルーフオブワークでは、頻繁に使用されるタスクは、その文字列を見つけることです。

1.追加することで、特定のハッシュを取得します(たとえば、ビットコインでは、いくつかのゼロで始まるハッシュを探します)。

多くのハッシュ関数がありますが、今日、SHA-256関数はブロックチェーンで最も頻繁に使用されています。 ハッシュの例を以下の表に示します。

入力文字列

SHA-256ハッシュ

abc

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

abC

0a2432a1e349d8fdb9bfca91bba9e9f2836990fe937193d84deef26c6f3b8f76

cから

bd1b09f907871923193bb63452854c85de56d36a51cc3137ebb4928a3228bf82

表:ハッシュの例(ハッシュ関数SHA-256)

Share:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn

Related Posts

$ 2Tとカウント:金曜日の展望

著名な業界ベンチャーキャピタリストであり、 照れ屋男子、昨日、ログオンしたときに現実を見失うことが簡単であるという洞察に満ちたコメントがあり、明日のデジタル構築に焦点を当てました。 それはにありました タングステンに関す