ブロックチェーンアーキテクチャ – レイヤーの説明
ブロックチェーン は、すべての暗号通貨取引のデジタル台帳である。それは、「完了した」ブロックが新しい記録のセットで追加されるにつれて、常に成長しています。各ブロックには、前のブロックの暗号ハッシュ、タイムスタンプ、および取引データが含まれる。
ブロックチェーンアーキテクチャは、以下のモデルに基づいて理解することができる3つの主要な層を持っています。

レイヤー0:ノード – ハードウェアとネットワーキングのレイヤー
ブロックチェーンレイヤー0は、ビットコイン、イーサリアムなどのブロックチェーンネットワークの円滑な運用をサポートする要素で構成されています。インターネット、ハードウェア、数千のノードとの接続は、レイヤー1の完璧な運用を保証するレイヤー0の構成要素である。
コンセンサスを得る役割を担うノードが処理を進めるためには、ユーザーのトランザクションが完了する必要がある。その後、スマートコントラクト、ウォレット、または分散型アプリのようなサードパーティアプリケーション(dApps)はブロックチェーンと通信しなければなりません。この層は、これらの通信のすべての種類を促進する役割を担っています。
もっと詳しく ノードとは?
レイヤー1:コンセンサス(ソリディティ、ムーブ、モトコー) レイヤー
ブロックチェーンは、コンセンサス手続きによって取引の正当性と秩序が保証される分散型台帳である。ネットワーク参加者(採掘者、検証者、または同様の意味を持つ他の名称)は、このプロセスの間に取引を含むブロックのセットを提案し、検証し、通過させようとする。すべてのコンセンサス関連タスクを担当するモジュールがコンセンサス層である。
コンセンサス層は、以下のような方法でこれを実現する。
- 永続性
- コンセンサス
- ライブドア
- 開く
レイヤー2 :アプリケーション / スマートコントラクト / レイヤー2ブロックチェーン
レイヤー2ソリューション は、ベースレイヤの上に位置するオーバーラップするネットワークである。ベースレイヤーから一部のインタラクションを排除することで、レイヤー2はスケーラビリティを高めるプロトコルによって使用される。
アプリケーション層から区別される2つの更なるサブレイヤーは、実行層とアプリケーション層である。
エンドユーザーがブロックチェーンネットワークと通信するためにアプリケーションを利用するのは、アプリケーション層で見つかります。これは、ユーザーインターフェイス、フレームワーク、API、スクリプトで構成される。これらのアプリケーションのバックエンド技術はブロックチェーンネットワークであり、APIを介してブロックチェーンネットワークとインターフェースする。実行層には、チェーンコード、スマートコントラクト、および基礎となるロジックが含まれます。
取引は、アプリケーション層から実行層に渡っても、セマンティック層で承認され実行される。アプリケーションは実行層を指示し、実行層はコマンドを実行し、ブロックチェーンの決定論を維持する。
ブロックチェーンの開発方法
ブロックチェーンプロジェクトの開発には、4つのアプローチがあります。
既存のブロックチェーンのフォークを作成する
ほぼすべての有名なブロックチェーンは、オープンソースのコードを持っています。これは、誰でもこれらのソースコードのコピーを入手し、それを変更し、再利用できることを意味します。
例えば、ライトコインはビットコインのフォークです。
フォークの素晴らしいところは、コーダーがゼロから始める必要がないことです。必要であれば、すでに作成されているコードを活用して、新しい機能を追加することができるのです。しかし、これには非常に高度な技術的専門知識が必要です。
既存のブロックチェーン上でスマートコントラクトを開発する
数多くのブロックチェーンが、仮想マシンによる スマートコントラクト の特徴は、ウォレット、DeFiアプリ、菌類・非菌類トークンなど、数多くのアプリケーションを簡単に構築することができることです。
インフラとコアブロックチェーンは、開発者にとって心配の種ではありません。彼らはただコントラクトの根拠に集中すればいいのです。コードが使用されるブロックチェーンが残りの部分(セキュリティ、分散化など)に対処してくれるでしょう。しかし、根本的な問題は、これらのコントラクトを使って作成されたdAppは、親ブロックチェーンと同じ制限を共有することです。
イーサリアムのブロックチェーンとそのスマートコントラクトはよく知られた例です。イーサリアムにはスケーラビリティの問題が存在します。その結果、このブロックチェーンで使用されているスマートコントラクトの取引スループットと手数料は非常に高い。
ブロックチェーンをゼロから開発する
これは間違いなく、リストの中で最も困難な決定です。これを達成するためには、開発する必要があります。
- レイヤー0:ノード – ハードウェアとネットワーキングのレイヤーです。
- レイヤ1:コンセンサス(Solidity、Move、Motoko)レイヤ。
- レイヤー2:アプリケーション/スマートコントラクト/レイヤー2ブロックチェーン。
これらの各レベルには、数多くの技術的な問題があります。その結果、ブロックチェーンを作るためにこの方法を採用すると、より多くの時間と労力が必要になることは間違いありません。この戦略では、プロジェクトを外部のコードから独立させることができます。その結果、プロジェクトの作成者は、デザインを完成させるための完全な創造的自由を得ることができます。
既存のAPIやSDKを利用する
ブロックチェーンプロジェクトの開発は、開発者が利用可能なAPIとSDKを使用して行うことができます。要するに、これらのツールはプログラマーにとってすぐに使える部品である。
開発者は、すべてを一から構築するわけではありません(コアブロックチェーンとも呼ばれる)。彼らは、すでに存在するプロジェクトのセキュリティや機能性に依存することはありません。その結果、この戦略は彼らの最高の資質をすべて兼ね備えています。
この種の技術を使った最も著名なエコシステムはCosmosであり、最も成功したプロトコルのいくつかを持っています。
- Cosmos
- カヴァ
- オアシスネットワーク
驚愕の技術も
- テンダル ミント
- Cosmos SDK
- IBC
- コスモワズム
コスモススタック
テンダーミントチェーンを作成する
Tendermintはブロックチェーンを起動するためのオープンソースソフトウェアで、開発者はブロックチェーンアプリケーションのネットワーキングとコンセンサスレイヤーを任意の言語で構築することができる。さらに良いことに、IBCを使用して他のブロックチェーンと通信することができる。
テンダーミントの主な成分は次の2つです。
- ブロックチェーンコンセンサスエンジン(Tendermint Core)。 は、その ビザンチンフォールトトレランス (BFT)コンセンサスモデルは、Tendermint Coreと呼ばれるTendermintコンセンサスエンジンの動力源となっています。

- アプリケーション・ブロックチェーン・インターフェイス(ABCI)。 アプリケーション層のロジックとコンセンサスエンジンは、すぐに使える機能の集合体であるApplication Blockchain Interface (ABCI)によって接続されています。ABCIはネットワーキング層の中心的な要素であるため、すべての通信とトランザクションはこれを経由する必要がある。

テンダル ミント プロス
Tendermintには、各ブロックチェーンネットワークの様々なレイヤーを分割することができる2つの主要なパーツがあります。そこから、各レイヤーの開発者は、自分たちの問題に集中すればよい。
Tendermintのコンセンサスエンジンは、信頼できるByzantine Fault Tolerant(BFT)コンセンサスパラダイムを使用し、プロジェクトでその機能が完璧に動作するようにメカニズムに他の機能が追加されています。
Tendermint コンサ
バリデータノードの3分の1がネットワーク上で悪意ある行動をとった場合、ブロックチェーンが攻撃を受ける可能性がある。このフォールトトレランス率は、他のコンセンサスモデル、例えば 51%攻撃 になっています。 プルーフオブワーク (PoW) コンセンサスモデル。

バリデータはコンセンサスを得て、トランザクション/ブロックを配信するために、いくつかの段階を経て対話しなければならない(prevote, pre-commit, commit)。その結果、バリデータの数はシステム全体のスループットに大きな影響を与える。システム内のバリデーターが多くなると、スループットは低下する。
Cosmos SDK。dAppの作成
Cosmos SDKは、オープンソースのフレームワークで、パーミッションのあるdAppを作成するためのものです。 プルーフ・オブ・オーソリティ (PoA)とマルチアセット公開 プルーフオブステイク (PoS)ブロックチェーンです。Cosmos SDKでは、アプリケーション固有のブロックチェーンやプライベートブロックチェーンを作成することができます。
Cosmos SDKは、開発者が他のブロックチェーンとネイティブに通信できるオリジナルのカスタムブロックチェーンを迅速に構築することを可能にします。これらのチェーンは、その後IBCを介してより大きなCosmosネットワークに接続することができます。
Golangは、Cosmos SDKとTendermint Core(BFT Consensus)を作成するために使用されるプログラミング言語である。Cosmos Hubの初期実装であるGaiaは、Cosmos SDKを使用して構築されました。
Cosmos SDKの長所
ユーザーは、この方法を用いて、ブロックチェーンのブロックチェーンを作成することができ、以下のように知られています。 ブロックチェーン間通信 技術(IBC)です。このようなネットワークは、既存のコードや技術を利用して、わずかな調整を行うだけで既に実装可能です。
必要なタスクの大部分は、Cosmos SDKによってアプリケーションロジックレイヤーで処理されます。これは、トランザクションからストレージ、暗号化、ガバナンス、トークン、ウォレット、残高など、あらゆることに関係します。開発者は、ゼロから何かを作る代わりに、これらの既製のコンポーネントをプロジェクトで使用することができます。
Cosmos SDKの短所
Ethereumは、スマートコントラクトやdAppsを作成するための最も広く使用されているフレームワークの1つです。オンラインには多くのリソースがあり、これらのERC標準を中心とした大規模なコミュニティも存在します。一方、Cosmos SDKのコミュニティはまだ小さすぎ、ドキュメントやリソースも限られています。
Cosmos SDKは、そのコードのほとんどをGoプログラミング言語で含んでいます。Goは非常に洗練された最新のプログラミング言語ですが、その習得は時に困難です。また、Cosmos SDKを十分に活用するには、Tendermint Core、ABCI、Interblockchain Communication(IBC)プロトコルの知識も必要です。そのため、使用する前に多くの知識を習得する必要があります。
IBCです。他のチェーンと通信する
IBCは、曖昧で動的なトポロジーで構成された異種ブロックチェーン間で、信頼性が高く、組織的で、認可された通信を行うためのエンドツーエンド、接続指向、ステートフルなプロトコルである。
データ構造、抽象化、セマンティクスのセットを定義することで、適度な制約に従った任意の分散型台帳が実装でき、このプロトコルは相互運用性を実現することができます。
トークン転送、アトムスワップ、マルチチェーンスマートコントラクト(相互に理解可能なVMの有無にかかわらず)、その他のタイプのデータやコードのシャーディングは、IBCで構築可能なクロスチェーンアプリケーションのほんの一部にすぎません。
CosmWasm。あらゆる言語でdAppを作成
CosmosエコシステムのCosmWasmスマートコントラクトエンジンは、Cosmos SDKとIBCをベースにしています。簡単に言えば、Cosmos(コスモス)流にWebAssembly(Wasm)を使用し、それが名前の由来となっています。EVM 以外では、クロスチェーンで解釈可能な唯一の VM です。
Cosmos SDKは、CosmWasm用に記述されたモジュールを受け入れることができます。現在Cosmos SDKを使用してブロックチェーンを開発している人は、既存のロジックを変更することなく、簡単にCosmWasmスマートコントラクト互換性をチェーンに追加することができます。
CosmWasmのための最も一般的なプログラミング言語はRustですが、GolangやVlangのような他の言語も開発されています。将来的にはAssemblyScriptのような異なるプログラミング言語が存在する可能性もある。
このガイドは、この技術をテストしたり、製品に取り入れたりしたい開発者向けに、このテーマを深く掘り下げて説明することを目的としています。主にCosmos SDKの経験を持つGo開発者と、ブロックチェーンプラットフォームを探しているRust開発者を対象にしています。
CosmWasmの使用方法
CosmWasmは別のCosmos SDKモジュールであるため、バイナリだけでブロックチェーンへの統合を開始することができます。
スマートコントラクトを持つ新しいブロックチェーンは、以下を使用して起動することができます。 wasmd は、Cosmos Hubと同じセキュリティパラダイムを採用し、テストおよび文書化された技術を使用して、すぐに利用できます。
コントラクトをホストし、それらと通信するために、機能するブロックチェーンが必要です。それはメインネット、テストネット、またはローカルホストブロックチェーンである可能性があります。
結論
コスモスのネットワークは、より将来性がある。数多くの開発者を集め、640億円以上の資産運用を担当している。
それを使って多くのチェーンが構築されているが、そのソフトウェア開発キットはしばしば軽視される。これに対し、Cosmosは完全担保型の安定コインであるCompositeを発表した。ネットワークはDeFiの植民地化で占められているようである。