テンダーミントコアとは何ですか?これまでで最も包括的なガイド

テンダーミントコアとは…

Contents

読書時間:17分

Cosmosは、最も有望なプロジェクトの1つです。 JaeKwonやEthanBuchmanのような人々がチームに参加しているので、それは多くの可能性を秘めています。その中心と魂にはテンダーミントコアがあります.

テンダーミントの究極のガイド

Tendermint Coreは、Tendermintコンセンサスアルゴリズムとp2pゴシッププロトコルを組み合わせたものです。したがって、すべてをソフトウェアスタックにまとめると、Cosmos-SDKアプリケーション層とともにTendermintCoreを入手できます。.

とにかく、先に進む前に、テンダーミントがなぜそんなに必要なのかを見てみましょう.

ビットコインとブロックチェーン

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

中本聡がビットコインを作成したとき、彼は史上初の分散型暗号システムを作成しました。この発見の本当に注目すべき部分は、彼がビザンチン将軍の問題を解決できたことでした。これは、信頼できない環境で広域ネットワーク(WAN)が合意に達するのに役立ちました。ビットコインは、プルーフオブワークアルゴリズムを使用してコンセンサスを処理しました.

そうは言っても、ビットコインの主な貢献は、それが全世界にブロックチェーン技術を導入したという事実かもしれません.

ブロックチェーンは、簡単に言うと、タイムスタンプが押された一連の不変のデータレコードであり、単一のエンティティが所有していないコンピューターのクラスターによって管理されます。これらのデータの各ブロック(つまり、ブロック)は、暗号化の原則(つまり、チェーン)を使用して保護され、相互にバインドされます。.

言い換えれば、ブロックチェーンは 決定性状態 必ずしも相互に信頼していないノードに複製されたマシン.

決定論的とは、同じ特定の手順を実行した場合、常に同じ結果につながることを意味します.

#CRYPTO BROKERSBenefits

1

eToro
Best Crypto Broker

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

2

Binance
Cryptocurrency Trading


VISIT SITE
  • ? Your new Favorite App for Cryptocurrency Trading. Buy, sell and trade cryptocurrency on the go
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

#BITCOIN CASINOBenefits

1

Bitstarz
Best Crypto Casino

VISIT SITE
  • 2 BTC + 180 free spins First deposit bonus is 152% up to 2 BTC
  • Accepts both fiat currencies and cryptocurrencies

2

Bitcoincasino.io
Fast money transfers


VISIT SITE
  • Six supported cryptocurrencies.
  • 100% up to 0.1 BTC for the first
  • 50% up to 0.1 BTC for the second

例えば。 1 +2は常に3になります.

では、状態とはどういう意味ですか?ビットコインとイーサリアムでそれを見てみましょう.

ビットコインでは、状態は各アカウントの残高のリストであり、未使用のトランザクション出力(UTXO)のリストです。この状態は、残高を変更するトランザクションを介して変更されます.

一方、イーサリアムでは、アプリケーションはスマートコントラクトを実行する仮想マシンです。各トランザクションはイーサリアム仮想マシンを通過し、その中で呼び出される特定のスマートコントラクトに従って状態を変更します.

ブロックチェーンテクノロジーのアーキテクチャを見ると、次の3つの特定のレイヤーがあります。

  • ネットワーキング: ノード全体でのトランザクション/情報の伝播
  • コンセンサス: ノードが提供された決定を下せるようにします >ノードの2/3は悪意のないものです
  • 応用: 一連のトランザクション、つまりトランザクションの処理を指定して、状態を更新する責任があります。トランザクションと状態が与えられると、アプリケーションは新しい状態を返します.

視覚的な手がかりの場合:

テンダーミントの究極のガイド

現在のブロックチェーンアーキテクチャの問題

これら3つのレイヤーすべてを使ってブロックチェーンをゼロから構築するのは本当に大変な作業であることがわかりました。そのため、多くのプロジェクトは、ビットコインコードベースをフォークすることによって構築することを好みました。さて、これは多くの時間を節約しますが、実際には、ビットコインプロトコルの制限によって手錠をかけられています。明らかに、スループットの問題でよく知られているプロトコルを使用している場合、複雑なプロジェクトを実行することはできません。.

イーサリアムが登場したとき、状況はずっと良くなりました。イーサリアムは実際に開発者に、スマートコントラクトやプロジェクトとして知られる独自のカスタマイズされたコードを作成するために使用できるプラットフォームを提供しました。ただし、ビットコインと同様に、イーサリアムにも同じ問題があります。どちらもモジュラーではなくモノリシックアーキテクチャを採用しています.

モノリシックアーキテクチャとモジュラーアーキテクチャ

モノリシックアーキテクチャとは、すべてが1つのピースで構成されていることを意味します。ソフトウェアが「モノリシック」であると見なされると、コンポーネントは相互接続され、相互に依存し、設計はより自己完結型になります。この場合、アーキテクチャはより緊密に結合されており、コードを実行またはコンパイルするには、関連するコンポーネントがすべて存在している必要があります。.

これにより、作成されたシステムがより堅牢になりますが、実際にそれから派生してカスタムコードを作成することはできません。これは、最も柔軟なシステムではありません。さらに、このシステムには別の問題があります。プログラムのいずれかのコンポーネントを更新する必要がある場合は、アプリケーション全体を作り直す必要があります。これは実際には今の状況の中で最も理想的なものではありませんね?

一方、モジュラーアーキテクチャがあります。モノリシックとは異なり、レイヤーは互いにリンクされていません。そのため、それほど堅牢ではないかもしれませんが、さまざまな個別のモジュールを操作することで、アプリケーション全体を更新するのは非常に簡単です。.

モジュールは非常に独立しているため、モジュラーアーキテクチャを使用すると、システムの他の部分に予期しない変更を加えることなく、特定のセクションを実際に更新できます。モジュラープログラムでは、モノリシックとは対照的に、反復プロセスもはるかに簡単です。.

テンダーミントのアーキテクチャと目標

Tendermintはモジュラーアーキテクチャを利用しています。彼らの目標は次のとおりです。

  • さまざまな分散型アプリケーションを構築できるプラットフォームとして、ブロックチェーンのネットワーキングレイヤーとコンセンサスレイヤーを提供します
  • 開発者は、ブロックチェーンのアプリケーション層についてのみ心配する必要があり、コンセンサスとネットワーク層での作業に費やす時間を節約できます。.
  • Tendermintには、TendermintCoreエンジン内で使用されるビザンチンフォールトトレラントコンセンサスアルゴリズムであるTendermintコンセンサスプロトコルも含まれています。

Tendermintのアーキテクチャがどのように見えるかを見てみましょう。

テンダーミントの究極のガイド

ご覧のとおり、アプリケーションはAPCIまたはアプリケーションブロックチェーンインターフェイスと呼ばれるソケットプロトコルを介してTendermintCoreに接続されています。 Tendermint Coreとその上で実行されているアプリケーションは別々のUNIXプロセスで実行されるため、相互に通信するためのメソッドが必要です。 ABCIはこれら2人のコミュニケーションを支援します.

では、ABCIのデザインはどのように見えますか? ABCIはいくつかあります 明確な設計コンポーネント

#1メッセージプロトコル

  • 要求メッセージと応答メッセージのペア
  • アプリケーションが応答を処理している間、要求はコンセンサスによって行われます。
  • protobufを使用して定義されます

#2サーバー/クライアント

  • コンセンサスエンジンがクライアントを実行します
  • アプリケーションはサーバーを実行します
  • 2つの適切な実装があります:非同期rawバイトとgrpc

#3ブロックチェーンプロトコル

ABCIは非常にコネクション型です。 TendermintCoreの3つの接続は次のとおりです。

  • Mempool接続:これは、トランザクションがコミットされる前にトランザクションを中継する必要があるかどうかをチェックします。 CheckTxのみを使用できます
  • コンセンサス接続:この接続は、コミットされたトランザクションの実行に役立ちます。メッセージシーケンスは、すべてのブロックについて、BeginBlock、[DeliverTx、…]、EndBlock、Commitです。
  • クエリ接続:アプリケーションの状態をクエリするのに役立ちます。この部分はクエリと情報のみを使用します

全体として、Tendermintの主な目標は、実用的であるだけでなく、高いスループットを備えたツールを開発者に提供することです。これがとても魅力的なテンダーミントの特性です:

#1パブリックまたはプライベートブロックチェーン互換

プロジェクトが異なれば、ニーズも異なります。イーサリアムのように、誰もが参加して貢献できるオープンシステムが必要なプロジェクトもあります。一方、医療業界のように、ほぼすべての人にデータを公開できない組織があります。彼らにとって、彼らは許可されたブロックチェーンのようなものを必要とします.

では、テンダーミントはこれらの両方のニーズを満たすのにどのように役立つのでしょうか。 Tendermintは、ブロックチェーンのネットワーキングとコンセンサスのみを処理することを忘れないでください。だから、それはに役立ちます:

  • ゴシッププロトコルを介したノード間のトランザクションの伝播
  • バリデーターがブロックチェーンに追加される一連のトランザクションについて合意するのに役立ちます.

これが意味するのは、アプリケーション層は、開発者が定義したい方法で自由に定義できるということです。エコシステム内でバリデーターセットをどのように定義するかを定義するのは開発者次第です.

  • 開発者は、アプリケーションに、これらのバリデーターがエコシステム内に賭けたネイティブトークンの数に基づいてバリデーターを選出する選挙システムを許可することができます。別名、プルーフオブステークとパブリックブロックチェーンの作成
  • さらに、開発者は、コンセンサスとエコシステムに入る新しいノードを処理する、事前に承認されたバリデーターの制限されたセットを定義するアプリケーションを作成することもできます。これは認証の証明と呼ばれ、許可されたブロックチェーンまたはプライベートブロックチェーンの特徴です.

#2高性能

Tendermint Coreを介して作成されたアプリケーションは、並外れたパフォーマンスを期待できます。テンダーミントコアのブロック時間はわずか1秒です。また、アプリケーションで許可されている限り、250バイトのトランザクションで1秒あたり10,000トランザクションのトランザクション量を処理できます。.

#3ファイナリティ

ファイナリティとは?

簡単に言うと、特定のアクションが実行されると、それを取り戻すことはできません。それでは、簡単な金融取引の例を見てみましょう。システムに不具合があるという理由だけで、会社の株を購入するとします。株の所有権を失うことはありません。ご想像のとおり、ファイナリティは金融システムにとって非常に重要です。百万ドルの取引を行った後、その翌日、グリッチが原因でその取引が無効になったと想像してみてください。.

前に述べたように、ビットコインとイーサリアム(Casper FFGが完全に実装されるまで)には、実際には決済の最終性がありません。ハードフォークまたは51%の攻撃が発生した場合、トランザクションは元に戻される可能性があります.

一方、テンダーミントは、トランザクションの完了から1秒以内に即座にファイナリティを提供します。バリデーターの3分の2未満が悪意のあるものである限り、フォークがシステムに作成されることはありません。ブロックが作成されるとすぐに(1秒以内)、ユーザーはトランザクションが完了するので安心できます.

#4セキュリティ

テンダーミントは安全であり、参加者に彼らの行動にも責任を負わせる。前に述べたように、バリデーターの3分の2未満が悪意のあるものである限り、テンダーミントをフォークすることはできません。場合によっては、ブロックチェーンがフォークする場合、責任を判断する方法があります。さらに、テンダーミントのコンセンサスはフォールトトレラントであるだけでなく、ビザンチンのフォールトトレラントが最適です。

#5使いやすい

Tendermintのもう1つの優れた点は、その使いやすさです。前に述べたように、それらはアプリケーション層を適切にカスタマイズできるモジュラーアーキテクチャを持っています。これにより、既存のブロックチェーンコードベースをABCIを介してTendermintに簡単にリンクできます。これの完璧な例は、基本的にTendermintの上にあるEthereum仮想マシンコードベースプラグであるEtheremintです。.

イーサリアムはイーサリアムとまったく同じように機能しますが、上記のすべての優れた機能の恩恵も受けます。 MetamaskやTruffleなどのすべてのEthereumツールはEthermintと互換性があります.

#6スケーラビリティ

Tendermintのプルーフオブステークの実装は、従来のプルーフオブワークコンセンサスアルゴリズムよりもはるかにスケーラブルです。主な理由は、POWベースのシステムではシャーディングを実行できないことです。.

シャーディングは基本的にデータベースを水平方向にパーティション分割し、ノードによって並列に実行される小さなデータベースまたはシャードを作成します。その理由は、強力なマイニングプールがシャードを簡単に引き継ぐことができるからです。.

Tendermintは、スケーラビリティを大幅に向上させるシャーディングの実装を可能にします.

テンダーミントコンセンサスプロトコル

では、Tendermintコンセンサスプロトコルがどのように機能するかを見てみましょう。コンセンサスプロトコルとは正確には何ですか?

これは、ウィキペディアがコンセンサス意思決定を定義する方法です。

「コンセンサス意思決定は、グループメンバーが開発し、全体の最善の利益のために意思決定をサポートすることに同意するグループ意思決定プロセスです。コンセンサスは、各個人の「お気に入り」でなくても、サポートできる許容可能な解決策として専門的に定義される場合があります。 「コンセンサス」は、メリアム・ウェブスターによって、第一に一般的な合意、第二に、信念または感情のグループ連帯として定義されています。」

簡単に言うと、コンセンサスはグループ内で合意に達する動的な方法です。投票は少数派の感情や幸福を考慮せずに多数決で決着するだけですが、一方で、コンセンサスは、グループ全体に利益をもたらす可能性のある合意に達することを保証します.

より理想的な観点から、コンセンサスは、より平等で公正な社会を構築するために世界中に散らばっている人々のグループによって使用されることができます.

コンセンサス意思決定を実現する方法を「コンセンサスメカニズム」と呼びます。.

では、コンセンサスとは何かを定義したので、コンセンサスメカニズムの目的を見てみましょう(ウィキペディアから取得したデータ).

  • 合意を求める:コンセンサスメカニズムは、グループから可能な限り多くの合意をもたらす必要があります.
  • コラボレーティブ:すべての参加者は、グループの最善の利益を最優先する結果を達成するために協力することを目指す必要があります.
  • 協同組合:すべての参加者は、自分の興味を第一に考えて、個人よりもチームとして働くべきではありません.
  • 参加型:コンセンサスメカニズムは、全員がプロセス全体に積極的に参加する必要があります.
  • 包括的:コンセンサスプロセスには、できるだけ多くの人が関与する必要があります。長期的には自分の投票に重みがないと信じているために、人々が実際に投票したくないという通常の投票のようにすべきではありません。.
  • 平等主義:コンセンサスを達成しようとするグループは、可能な限り平等主義的である必要があります。これが基本的に意味することは、すべての投票が等しい重みを持っているということです。ある人の投票が他の人の投票よりも重要になることはありません.

コンセンサスメカニズムとは何か、そしてそれらが何を目指すべきかを定義したので、部屋の中の他の象について考える必要があります。.

ブロックチェーンのようなエンティティにどのコンセンサスメカニズムを使用する必要があるか.

ビットコインの前は、コンセンサスに達する際に最大の問題に答えることができなかったために失敗したピアツーピアの分散型通貨システムの反復がたくさんありました。この問題は「ビザンチン将軍問題」と呼ばれています.

ビザンチン将軍の問題

ピアツーピアネットワークで何かを行うには、すべてのノードがコンセンサスに達することができる必要があります。ただし、このシステムが機能するためには、ネットワーク全体の最善の利益のために行動する人々に多くの重点が置かれています。しかし、すでに知っているように、倫理的な方法で行動することに関しては、人々は本当に信頼できるものではありません。ここでビザンチン将軍の問題が発生します.

テンダーミントの究極のガイド

この状況を想像してみてください.

要塞化された城の周りには軍隊があります。彼らが勝つことができる唯一の方法は、彼らがユニットとして一緒に城を攻撃する場合です。しかし、彼らは大きな問題に直面しています。軍隊は互いに遠く離れており、将軍は攻撃を直接伝達して調整することができず、一部の将軍は腐敗しています.

彼らができる唯一のことは、一般から一般にメッセンジャーを送ることです。ただし、メッセンジャーには多くのことが起こる可能性があります。腐敗した将軍はメッセンジャーを傍受してメッセージを変更する可能性があります。では、将軍は、個々の将軍の倫理に頼ることなく、協調攻撃を確実に開始するために何ができるでしょうか。どうすれば彼らは信頼できない方法で合意に達し、必要なことを行うことができますか?

それがビザンチン将軍の問題であり、中本聡はプルーフオブワーク(POW)コンセンサスメカニズムを使用してこの問題を解決しました.

プルーフオブワークとは?

上記の例のコンテキストでPOWがどのように機能するかを確認しましょう。将軍が別の将軍と通信したいとします。どのように下がると思いますか?

  • 元のメッセージに「nonce」が追加されます。ナンスはランダムな16進値です.
  • 次に、この新しいメッセージがハッシュされます。将軍は、ハッシュされたときに4つの「0」で始まるメッセージのみを送信することに事前に同意するとします。.

    ハッシュによって必要な数の0が得られない場合、ナンスが変更され、メッセージが再度ハッシュされます。このプロセスは、目的のハッシュが受信されるまで繰り返されます.

  • プロセス全体は非常に時間がかかり、多くの計算能力を消費します.
  • 最終的にハッシュ値を取得すると、メッセンジャーに元のメッセージとナンスが与えられ、他の将軍と通信するように指示されます。では、誰かがメッセージを傍受しようとするとどうなりますか?さて、ハッシュ関数のなだれ効果を覚えていますか?メッセージは大幅に変更され、必要な数の「0」で始まらないため、メッセージが改ざんされていることに気付くでしょう。.

したがって、POWを暗号マイニングのコンテキストに置くには:

  • 鉱山労働者は、暗号パズルを解いてブロックチェーンにブロックを追加しようとします.
  • このプロセスには多くの労力と計算能力が必要です.
  • 次に、鉱夫は自分のブロックをビットコインネットワークに提示します.
  • 次に、ネットワークはハッシュをチェックするだけでブロックの信頼性をチェックします。ハッシュが正しい場合は、ブロックチェーンに追加されます。.

したがって、必要なナンスとハッシュを見つけるのは難しいはずですが、それが有効かどうかを確認するのは簡単なはずです。それがプルーフオブワークの本質です.

さて、あなたはおそらく疑問に思っているでしょう、なぜ鉱山労働者はビットコインを採掘するために彼らの時間と資源を犠牲にする必要がありますか?まあ、彼らはかなり健全な経済的インセンティブを持っていることがわかりました:

ブロックを発見すると、12.5ビットコインのブロック報酬を受け取ります。報酬は210,000ブロックごとに半分になります.

ブロックをマイニングすると、ブロックの一時的な独裁者になります。あなたはブロック内に取引を置く責任があるので、取引手数料を受け取る権利があります.

そこにあるビットコインの数は限られており、正確には2100万です。それで、これらの鉱夫が一度にすべてのビットコインを採掘するのを止めているのは何ですか??

ビットコインマイニングは時間の経過とともに次第に難しくなることが判明しました。この機能は「難易度」と呼ばれ、マイニングを続けるとマイニングの難易度が上がり続けます。.

これが、今日、ソロマイナーが自分のコンピューターだけを使用してビットコインをマイニングすることはほとんど不可能である理由です。マイナーは現在、力を合わせて「マイニングプール」を作成し、計算能力をまとめてプールし、グループとしてマイニングします。これらのプールは、ビットコインをマイニングするためにマイニング用に特別に作成されたASIC(特定用途向け集積回路)を使用します.

捕虜の問題

プルーフオブワークアルゴリズムには3つの主な問題があります。これについては以前に詳しく説明したので、一般的な概要を説明します。.

  • エネルギーの浪費:ビットコインはアイルランドやスロバキア共和国よりも多くの電力を消費します。この莫大なエネルギーの浪費は、ビットコインの原則の1つです。無駄のための無駄です.
  • 一元化:すでにお話ししたように、ビットコインはマイニングにASICを使用しています。それに関する問題は、ASICが高価であり、より多くのお金があるプールはより多くのASICを持ち、その結果、より多くのマイニングパワーを持つ傾向があります。そのため、ビットコインは望んでいるほど分散化されていません.
  • スケーラビリティ:POWのアーキテクチャそのものが、スケーラビリティを妨げています。ビットコインは1秒あたりわずか7トランザクションを管理します。現代の金融システムにとって、それは単に十分ではありません.

テンダーミントを入力してください

そこで、プルーフオブワークコンセンサスシステムの多くの問題に対処するために、コンピュータサイエンスとシステムエンジニアリングの卒業生であるジェクォンがテンダーミントを作成しました。 Tendermintは、純粋にBFTベースのプロトコルであり、基盤となるセキュリティメカニズムとしてProof-of-Stake(PoS)を使用して許可のない設定で構築されています。.

複雑さのため、テンダーミントは完成するのにほぼ4年かかりました.

JaeKwonとTendermintのCTOであるEthanBuchmanは、RaftとPBFTに触発されて、ビザンチン将軍の問題を満足させるコンセンサスシステムを作成しました。. です

「決定論的プロトコルとしてモデル化され、部分的な同期の下で動作し、ネットワークと個々のプロセス自体の遅延の範囲内でスループットを実現します。」

わかりました。次々と投げる複雑な言葉がたくさんあることはわかっていますが、テンダーミントのコンセンサスとは何か、なぜそれが設計どおりに設計されたのかを理解するには、これらの複雑な用語のいくつかが何を意味するのかを理解する必要があります。あなたはそれらすべてが複雑なパズルのように互いにどのようにリンクするかを見るでしょう.

#1FLP不可能

FLP(Fischer Lynch Paterson)Impossibilityは、コンセンサスアルゴリズムが持つことができるのは次の3つのプロパティのうちの2つだけであると述べています。

  • 安全性
  • 保証された終了または活性
  • フォールトトレランス

テンダーミントの究極のガイド

画像クレジット:

言い換えれば、FLPの不可能性 それ

「非同期分散システムでは、少なくとも1つの障害に対して回復力がある場合、終了と合意(活性と安全性)の両方を期限付きで満たすことはできません(ビザンチン障害よりも弱い一般的なフォールトトレランスの結果を証明します)。必要なフェイルストップノードは1つだけなので、許容範囲です。したがって、BFTはFLP不可能クレームに含まれています。」

したがって、基本的に、ノードがメッセージを受信、処理、および応答するのにかかる特定の時間がないため、非同期WANがコンセンサスを得るのはまったく不可能です。ビットコインのようなノードの大規模なネットワークが同期しようとしていると想定することは非常に非現実的であるため、これは明らかに大きな問題です。.

さて、シンクロニシティが問題になるでしょう。しかし、研究者のDwork、Lynch、Stockmeyersは、「部分的な同期が存在する場合のコンセンサス.」これはDLSコンセンサスと呼ばれていました.

#2DLSコンセンサスと部分的な同期

DLSの論文では、同期システムと非同期システムの間に、「部分的に同期」する特別なシステムが存在すると述べています。この部分同期システムには上限時間を指定できるため、実行可能なBFTプロトコルを設計できます。.

DLSによると、プロトコルを設計する際の本当の課題は、部分的に同期されたシステムで正しく機能するプロトコルを用意することです。.

それでは、ビットコインやイーサリアムのような人気のある分散型プロトコルがその点でどのように機能するかを見てみましょう.

ビットコインには、約10分という既知の上限があります。したがって、トランザクションのブロックは10分ごとに生成されます。このタイミングの仮定は、ノードが情報を収集してゴシップを介して送信するために10分を取得するようにネットワークに課されます。.

ステートマシンとは何ですか?

一方、上位ブロック時間を15秒に保つことで、ブロックとネットワークの同期を仮定するイーサリアムがあります。ブロック時間が非常に短いため、ビットコインよりもスケーラブルですが、実際にはそれほど効率的ではありません。イーサリアム鉱山労働者は多くの孤立したブロックを生成します.

#3活気と終了

終了は、各正しいプロセッサが最終的に決定を下す必要があることを示すプロパティです。現在私たちが持っているほとんどのコンセンサスアルゴリズムは、安全性と終了のために同期モデルに依存しています。彼らは既知の固定された境界とルールを持っているので、彼らが持ちこたえない場合、チェーンは複数のプロトコルに分岐します

非同期ネットワークで機能するコンセンサスプロトコルは確かにありますが、FLP不可能性定理に従うと、決定論的ではありません。それは私たちを….

#4決定論的プロトコルと非決定論的プロトコル

通常、純粋に非同期のコンセンサスプロトコルは、高度な不確実性と複雑さを伴うOracleなどの非決定論的メンバーに依存します。.

では、テンダーミントはこれらすべての要因にどのように対処するのでしょうか?

Tendermintは、ほとんど非同期で決定論的なBFTコンセンサスであり、バリデーターが投票権を示す利害関係を持っています。 FLP不可能性の三角形では、活気よりもフォールトトレランスと安全性(一貫性)を優先します.

テンダーミントは、同期と非同期の期間の間で絶えず揺れ動きます。つまり、進行を進めるにはタイミングの仮定に依存しますが、進行の速度はシステムパラメータに依存せず、実際のネットワーク速度に依存します。.

また、バリデーターの3分の1未満が破損/不注意である場合、非同期の存在下でTendermintがフォークすることはありません。これが、テンダーミントがビザンチンフォールトトレラントである理由です。前にも言ったように、テンダーミントは活気よりも安全に重点を置いています。したがって、バリデーターの3分の1以上が悪意のあるものである場合、ネットワークフォークの代わりに、Tendermintブロックチェーンは、2/3番目のバリデーターがコンセンサスに達するまで一時的に停止します。.

テンダーミントも完全に決定論的であり、プロトコルにランダム性はありません。システムのリーダーはすべて、定義された数学関数を介して、決定論的なバージョンで選出されます。したがって、実際には、システムが想定どおりに動作していることを数学的に証明できます。.

テンダーミント–プルーフオブステークシステム

プルーフオブステーク(POS)システムには、「バリデーター」と呼ばれる特定の人々がいます。これらのバリデーターは、システム内のステークをロックします。その後、彼らはブロックチェーンの隣に追加されると感じているブロックに賭ける責任があります。ブロックが追加されると、彼らは彼らの賭け金に比例した報酬を受け取ります.

了解しました。これが一般的なPOSの仕組みです。それでは、テンダーミントがどのように機能するかを見てみましょう.

まず、使用する用語のいくつかをよく理解しましょう。

  • ネットワークは多くのノードで構成されています。特定のノードに接続されているノードは、そのピアと呼ばれます.
  • コンセンサスプロセスは、特定のブロックの高さHで行われます。次のブロックを決定するプロセスは、複数のラウンドで構成されます。.
  • ラウンドは、NewHeight、Propose、Prevote、Precommit、およびCommitの多くの状態で構成されます。各状態は、ラウンドステップまたは単に「ステップ」と呼ばれます.
  • ノードは、指定された高さ、ラウンド、ステップ、または(H、R、S)、または(H、R)にあると言われ、ステップを省略します。.
  • 何かを事前投票または事前コミットするということは、何かに対する事前投票または事前コミット投票をブロードキャストすることを意味します.
  • ブロックが取得したとき >(H、R)でのプレヴォーの2/3は、ロック変更の証明またはPoLCと呼ばれます。.

ステートマシンとは?

ステートマシンは、いわばテンダーミントプロトコルのエンジンです。次の図は、それがどのように見えるかについての良いアイデアを示しています。

ステートマシンとは何ですか?

さて、ここで何が起こっているのですか?

各ラウンドが通過する状態を覚えていますか? NewHeight、Propose、Prevote、Precommit、およびCommit.

このうち、「提案、事前投票、事前コミット」は1ラウンドで構成され、他の2ラウンドは特別ラウンドです。理想的なシナリオでは、状態遷移は次のように動作します。

新しい高さ -> (提案する -> 事前投票 -> 事前コミット)+ -> コミット -> 新しい高さ ->…

ただし、それが常に機能するとは限りません。ブロックがコミットされる前に、複数のラウンドが必要になる場合があります。複数のラウンドが必要になる理由は次のとおりです。

  • 指定された提案者が不在の場合があります.
  • 提案されたブロックはおそらく無効です.
  • ブロックは時間内に伝播しませんでした.
  • >プレヴォーの2/3がバリデーターノードによって時間内に受信されませんでした.
  • 次のステップに進むには、+ 2/3の投票が必要ですが、少なくとも1人のバリデーターが他の何かに投票したか悪意を持って投票した可能性があります.
  • >ブロックの事前コミットの2/3は、事前投票が受信された可能性があるにもかかわらず受信されませんでした.

各州で何が起こるか?

了解しました…では、すべての州を調べて、全体がどのようにまとめられるかを見てみましょう。.

提案する

この段階で、指定された提案者、つまり選択されたノードは、(H、R)に追加されるブロックを提案します。この段階は、次の2つの方法のいずれかで終了します。

ブロックが提案され、それが優先段階に入ります.

ブロックを選択する提案者の時間は、とにかくそれが事前投票段階に入るときに期限切れになります.

事前投票

今、私たちは前向きな段階に来ています。この段階では、すべてのバリデーターが決定を下す必要があります.

  • どういうわけか、バリデーターが前のラウンドから提案されたブロックにロックされている場合、バリデーターは自動的にサインオフし、そのブロックをブロードキャストします.
  • バリデーターが現在のラウンドで受け入れ可能な提案を受け取った場合、検証者は提案されたブロックの賛辞に署名してブロードキャストします.
  • ただし、提案に問題があると感じた場合、または提案をまったく受け取っていない場合(たとえば、提案者の時間がなくなった場合)、「nil」の賛成票で署名します。.
  • この段階ではブロックロックは発生しません.
  • この期間中、すべてのノードはゴシッププロトコルを介してシステム全体にプレヴォーを伝播します.

事前コミット

ここで、「プリコミット」と呼ばれる「ラウンド」の最終ステップに入ります。この段階に入ると、バリデーターは自分の投票をブロードキャストすることによって決定を事前にコミットします。次の3つのシナリオのいずれかが発生する可能性があります。

  • バリデーターが受信した場合 >特定の受け入れ可能なブロックに対するプレヴォーの2/3は、バリデーターがサインオフし、ブロックへのプリコミットをブロードキャストします。また、そのブロックにロックされます。 1つのバリデーターが一度に1つのブロックにのみロックオンできます.
  • ただし、バリデーターがNULの投票の3分の2以上を受け取った場合、検証者はロックを解除し、「NIL」へのターンを事前にコミットします.
  • 最後に、2/3の過半数をまったく受け取っていない場合は、サインオフもロックもしません。.

この段階を通して、ノードはネットワーク全体のプリコミットについて継続的にうわさ話を続けます.

最終的に、提案されたブロックが2/3を超える事前コミットを取得した場合、「コミット」ステップに進みます。ただし、その段階に達しない場合は、次のラウンドの「提案」段階に入ります。.

コミット

コミット状態は「ラウンド」の一部ではありません。 NewHeightと並んで、これは2つの特別ラウンドの1つです。コミット状態では、2つの並列条件がチェックされ、それらが満たされているかどうかが確認されます。.

  • まず、バリデーターは、ネットワークによって事前にコミットされたブロックを受信する必要があります。それが完了すると、彼らはサインオフし、コミットメントをブロードキャストします.
  • 次に、ブロックの少なくとも2/3の事前コミットを受信するまで待機する必要があります.

    これが行われると、ブロックはネットワークにコミットされます.

新しい高さ

ブロックの高さを1増やすだけで、ブロックが追加されたことを示します.

バリデーターの選択

これまでに理解したかもしれませんが、Cosmosが機能するには、バリデーターの初期セットを選択することが重要です。だから、どれだけ正確にそれらが選ばれるのか?

誰もがいつでもマイナーになることができるビットコインとは異なり、Tendermintシステムが取り込むことができるバリデーターは非常に多いです。バリデーターは個別に多くの機能を実行する必要があるため、バリデーターの数を増やすと遅延が発生するだけです.

これが、コスモスが創世記の日(つまり、募金活動の日)に100人のバリデーターを選択することを決定した理由です。バリデーターの数は、10年で300に落ち着くまで、毎年13%ずつ増加します。.

テンダーミントの究極のガイド

だから、結果はどうですか?

コスモスホワイトペーパーが述べているように:

「テンダーミントは並外れたパフォーマンスを提供します。 5大陸の7つのデータセンターに分散した64ノードのベンチマークでは、コモディティクラウドインスタンスで、Tendermintコンセンサスは1秒あたり数千のトランザクションを処理でき、コミットレイテンシは1〜2秒程度です。特に、バリデーターがクラッシュしたり、悪意を持って作成された投票をブロードキャストしたりするなど、過酷な敵対的状況でも1秒あたり1,000をはるかに超えるトランザクションのパフォーマンスが維持されます。」

以下のグラフは、上記の主張を裏付けています。

キャスパーvsテンダーミント

Tendermintと並んで、CasperはPOSプロトコルのもう1つの人気のある実装です。.

テンダーミントは安全性に重点を置いていますが、キャスパーの焦点は活気にあり、FLPは不可能です。だから、フォーク中にキャスパーで何が起こるか?

Casper FFGは、ブロックチェーンの構築を継続できるようにすると同時に、このチェーンがファイナライズされていないことをすべてのノードが認識するというプロパティも備えています。したがって、ブロックチェーンはファイナリティなしで利用可能なままになります。チェーンのバリデーターは、フォークされたチェーンに移動することを選択できます。バリデーターの3分の2以上が投票すると、チェーンを切り替えます.

さらに、Casperには有名なスラッシュメカニズムがあります。あらゆる種類の悪意のある攻撃により、バリデーターは即座に賭け金を削減します.

テンダーミント結論

だから、あなたはそれを持っています。できるだけ多くの貴重な情報をお届けできれば幸いです。テンダーミントとその可能性についてどう思いますか?下のコメントセクションで音を立ててください!

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me