シンプルなDAppsの構築by Karl Floersch
この記事は、Karl Floersch氏 の「Simple Decentralized App Architecture」を翻訳したものです。全てのクレジットは、Karl Floersch氏に属します。
DAppsを構築していく上で、2つの重要なテクノロジーが存在します。以下で図式を用いて解説します。
- IPFS(InterPlanetary File System)
IPFSとはBitTorrentやGitのようなデータストアです。簡単にいえばP2PのAWSといったところです。IPFSは近い将来、コンテンツの質を保証するレイヤーになるでしょう。 - Ethereum
ビットコインの誕生以後にモデリングされたEthereumは、ネットワーク上であらゆる人に共有されるコンピュータです。ここで重要なことは、保存されているデータや実装されたコードが誰でも信用することができるということです。
この図式を理解するためにはKickstarterのようなクラウドファンディング型のDappのフローを思い浮かべると良いでしょう。
クライアント側
- dappのハッシュ値を受け取るために正引き(DNS lookup, ドメインネームシステムにおいてホスト名からIPアドレスを解決すること)を実行する
- IPFS上のpeerからdappをダウンロードする
- HTML/JavaScript/CSSを読み込む
- もっとも直近で、イーサリアム上で作られたクラウドファンディングプロジェクトの見直しを行う。それぞれのプロジェクトはビデオ、コンテンツ、報酬などのハッシュ値を含む。
- IPFSからプロジェクトの中身をダウンロードするためハッシュを用いる
- プロジェクトに対してETHを送金する
イーサリアム側
- クラウドファンディングのスマートコントラクト(プログラム)がETHを受け取る
- 一度クラウドセールが終了すると、プログラムによってプロジェクトの作成者にも送金した人にもETHが支払われる
この例では、世界基準では最新のリストを含み、コンテンツそのものに言及し、支出に対して簡潔なロジックを示します。つまりIPFSはDAppに記述されたコードとプロジェクトそのものを含みます。
シンプルなブロックを積み上げることとともに、パワフルなアプリケーションを作り上げることが可能です。さあ、dapps開発を始めましょう。
EthereumTech Lab.|イーサリア研究所ではブロックチェーン、特にイーサリアムに対して強い興味を持った学生または社会人のメンバーを募集しています。
発信はMedium上で行い、本格的な開発状況に関する分析、または開発者それぞれの思想をリサーチし、日本語にて発信するなど様々な方向性の記事を作成しています。
EthereumTech Lab.はイーサリアムのモバイルウォレットを開発している”Wei Wallet Team”(*https://github.com/popshootjapan/WeiWallet-iOS) が中心となり、活動を行っています。オフラインでのイベント/ミートアップ実施の機会も多く開催していく予定です。
ご興味のある方は、こちら
EthereumTech Lab | イーサリアム研究所
今後の記事更新のお知らせ・イベント情報・最新ニュースはFacebookグループへの参加がおすすめです。