Cosmos
Cosmos Network…ICSで定義されるIBCのネットワーク
Cosmos Hub…IBCに対応するIBCハブブロックチェーン
Cosmos SDK…ブロックチェーン開発キット
Cosmosの単一のブロックチェーンを表す名称ではないことに注意。ブロックチェーンはCosmos Hub
Cosmosはゾーンと呼ばれる独立した並列ブロックチェーンの分散型ネットワークです。
ゾーンは基本的にTendermintブロックチェーンです。
ゾーンは他のゾーンに直接データを転送することも、ハブを介して転送することもできます。
ハブはゾーン間の接続数を最小限に抑え、二重消費を回避します。
例えば、ゾーンAはハブCを介してゾーンBに接続し、ゾーンBからトークンを受け取ることができる。
この方式では、ゾーンはより少ない接続数を維持することができます。
どちらの方法もインターブロックチェーン通信プロトコル(IBC)を利用しています。
IBCは、任意のデータパケットをターゲットブロックチェーンにルーティングするため、インターネットネットワーク層に似ています。
ターゲット ブロックチェーンは、任意のデータを持つ特定の順序付けされたパケットが別のブロックチェーンから来たことを知ることができます。
輸送と順序付けを処理することで、プロトコルは、クロスゾーントランザクションを実現するためにいくつかのステップを持っています。
まず、関与する各チェーン はライトクライアントとして動作し、他のヘッダを追跡します。
転送が開始されると、プロトコルはオリジンチェーン上の資産をロックします。
その後、対象のブロックチェーンにプルーフが送られ、ロックされた資産の表現が作成されます。
同様のメカニズムが、元のトークンを回復するために使用されます。
このスキームは、Tendermintの間で相互運用性を可能にします。
他の種類のブロックチェーンはペグゾーンを介してコスモスチェーンと相互運用することができます。
ペグゾーンはペグされたサイドチェーンのメカニズムに似ており、ソースブロックチェーンのロックされたトークンの表現がターゲットブロックチェーン上に作成されます。
Cosmosはブロックチェーンの開発をネットワーキング、コンセンサス、アプリケーションの3つの層に抽象化しています。
Tendermint BFTは、ネットワーキング層とコンセンサス層を実現します。
Tendermint BFTエンジンは、Application Blockchain Interface (ABCI)と呼ばれるプロトコルでアプリケーション層に接続されています。Cosmos SDKはアプリケーション層を実現し、開発者はWASMにコンパイル可能な言語でスマートコントラクトを開発することができます。
https://gyazo.com/caa6dc9e4638bd4f5d74093c340d846f
図11はコスモスネットワークスタックの一般的な概要を示しています.
ラッパーを開発することで 他のプログラミング言語にも対応しています。
アプリケーション層は フレームワークであるCosmos SDKで開発できます
この レイヤーは Tendermint BFT エンジン (コンセンサスを担当するコンポーネント) に接続します。
Cosmosは当初はアセットトークンに限定されていましたが、現在では任意のデータ転送をサポートしています。
CC-Txs の場合、リレイヤーはトランザクション送信者に代わってトランザクション料金を支払います。
リレイヤーは CC-Txs を無料に保つために、あらゆる種類の金銭的なインセンティブをホワイトリストに登録することができます。
Cosmos ではバリデーターがトランザクションのブロックを処理する.
バリデーターはブロック x を処理してトランザクションフィーを得るために ATOM トークンをステークする必要がある.
代議員は、取引処理をバリデータに任せることができ、取引手数料を得ることができます。
オープンガバナンスモデルを促進する方法として、参加者(バリデーターやデリゲーターなど)はATOMトークンを保持し、システムのパラメータを変更できる提案に投票することができます。
ネットワークガバナンスに関する決定、投票、検証、またはトランザクション検証を他のバリデーターに委任することは、PoSビューと同様に、アトムがどれだけ多く保持されているかの関数として行われます。
アトムは取引手数料の支払いにも使用できます.
コスモスでは各ゾーンは主権を持っています。
つまり、例えば、アカウントやトランザクションの認証、オンチェーンの認証、ガバナンスの提案と投票、バリデータの処罰メカニズム、手数料の分配とステークトークンの提供 配布、および杭トークンの新単位の作成などを定義することができます。
ARK