Blockchain Applicationの課題について
目的
Ethereumを使ってtotoのようにJリーグに賭けられるアプリケーションを作成している。 まだ設計の段階だがそこで出てきた課題について残しておく
アプリケーションについて
Design Dodcument
Mock
出てくる課題
ethereum blockchainを使った場合、以下が課題として出てきた。
- transatctionの処理に数分かかるときがある(遅い)
- ユーザがtransfer時にgasを支払う必要がある。
- どのデータ、処理をblockchainに置いて、どれをserverに置くか適切に設計する必要がある。
- blockchain上のcontructに置いたデータは単なる変数なので、複雑な検索などはできない。
- データの使いやすさを求め contruct data -> server dbにコピーする場合、タイミング、方法などの検討が必要
設計について
まだ実装はしていないが、数分のデータ表示の遅延が許容されるならば以下のような設計はどうだろうか
ポイントは
- 価値の交換に関する重要なアクション、データのみコントラクトに置く。
- contractに置いたデータは検索性が低いので、RDBに同期する。
- ユーザへのデータ表示はRDB経由のみとする。(アドミン機能は直接contractをみる場合あり)
blockchain上でRDBのように複雑なデータ構造を表現できるようにならないと、全てblockchain上で完結するのは難しそう。