ブロックチェーンをソフトウェアソリューションに組み込むには、バックエンドロジックなどの中央集権的な要素とブロックチェーン台帳やスマートコントラクトなどの分散的な要素を接続・連携させるための高度なアーキテクチャ設計が必要となるため、一筋縄ではいきません。

我々は、このデザインスペースと可能なアーキテクチャの解決策を体系的に探求している。具体的には、分散化の程度が異なるアプリケーションのためのアーキテクチャのブループリントを提供し、概念的な構成要素とそれらの間の可能な関係を説明する。

私たちの研究によると、ブロックチェーンの状態変化や状態収集を処理する専用コンポーネントに結びついたメッセージングフレームワークを含むイベント駆動型アーキテクチャは、ブロックチェーンベースのアプリケーションでブロックチェーンに依存したビジネスロジックを振り付けるための一般的なアプローチであることが分かっています。

序論

ブロックチェーンとは、分散型・非中央集権型の台帳で取引ブロックを連結したものであり、以下のように考えることができます。

ブロックチェーンをより大きなシステムの一部と考えれば、特定のプラクティスやアーキテクチャがより頻繁に発生し、その結果、他のものより有利であることが証明されると仮定できる。さらに、既存の十分に実績のあるソフトウェア設計コンセプトを調査し、ブロックチェーンベースのアプリケーションへの適用可能性を評価します。

研究目的を具体化するために、次のようなリサーチクエスチョンを設けます。

RQ1) ブロックチェーンを利用したアプリケーションに適した既存のアーキテクチャ上のソフトウェア設計原理や概念は何か、またそれらはどのように適用できるのか? RQ2)アーキテクチャ設計の観点でどのような概念的構成要素があり、それらはどのように関連しているのか?本稿では、説明のため、主にパーミッションレス・ブロックチェーン、特に現在最も人気のあるエコシステムであるイーサリアムについて言及します。提示されたいくつかの概念は、許可されたブロックチェーンの文脈では異なる価値を持ちますが(例えば、データの機密性)、依然として適用可能であることに留意してください。

ブロックチェーン指向ソフトウェア工学(BOSE)は、ブロックチェーンベースのシステム設計、開発、導入のためのソフトウェア工学の原則と実践を定義し、適用することに特化したものです。Porru et al.はこの分野の問題点、課題、特異性を明らかにした最初の著作の一つです。

DAppのアーキテクチャ設計

現在、ブロックチェーン技術を用いたアプリケーションの設計・開発は難易度が高く、性能、使い勝手、ユーザー体験などの特性によって、その利用度合いも大きく左右されるようになっています。

よく考えられたアーキテクチャ設計は、これらの基準のバランスをとるのに役立ちます。

プラクティス/パターンを含むアーキテクチャ設計のオプションについて、典型的な概念的構成要素とそれらの関係とともに議論し、最後に表Iにまとめる。 最後に、マイクロサービスやBlockchain as a Service(BaaS)などの文脈における関連トピックについて説明する。

A. イベント駆動型アーキテクチャ

ソフトウェアコンポーネントであるブロックチェーンは、非同期かつイベントドリブンな性格を持つ。これは、取引の実行と確認に遅延があることと、ブロックチェーン上で発生する重要な変更や操作は、通常イベントとして伝搬されることに起因しています。