メインコンテンツへスキップ

dApps:アプリのどの部分を分散化するのか

分散型アプリは、状態やルールの一部を共有ネットワークで扱います。ウォレット接続の有無だけでなく、アイデンティティ、データ、操作の仕組みを確認しましょう。

アプリを構成する複数のシステム

Ethereum では、dApp は通常スマートコントラクトとフロントエンドで構成されます。ただし、画面、ストレージ、ネットワーク接続にはホスト型サービスを使う場合があります。ArcBlock では ARC、ArcSpace、ArcBlock Chain がそれぞれアプリの実行、データ保存、チェーン上の記録を担います。

確認したい三つの要素

アイデンティティと権限

DID は人、エージェント、資産などを識別します。要求を受け入れるかはアプリが判断し、認証だけですべての権限が得られるわけではありません。

DID

データとアクセス

ファイルの保存先、読み書きできる主体、アクセスの取り消し方を確認します。ArcSpace は独立したデータ領域を提供しますが、権限の設計はアプリにも必要です。

ArcSpace

ルールと記録

ArcBlock Chain はプロトコル操作でアカウント、トークン、資産の関係を記録します。ネットワークが実行するルールとアプリのコードが担うルールを区別します。

ArcBlock Chain

例:イベントの参加証明

たとえば主催者が参加者の DID に参加証明の VC を発行し、写真をアクセス制限付きのデータ領域に保存し、ウェブサイトで表示する構成が考えられます。証明書はサイトとは別に検証できますが、写真へのアクセスとサイトの稼働はそれぞれのサービスに依存します。各部分にアクセスと復旧の設計が必要です。

設計した役割をアプリに組み込む

Blocklet はコンテンツ、設定、実行要件をデプロイ可能な単位にまとめます。dApp の一部になれますが、パッケージ形式だけで分散化されるわけではありません。Blocklet の仕様を起点に、DID Connect で認証を連携し、チェーン SDK で取引を扱います。

考え方と実践の記録

日付付きの記事で ArcBlock の考え方と過去のプロジェクトをたどれます。実装には現在の製品ページと技術文書も参照してください。