こんにちは、Takです。前回の勉強会はLibraについて解説、議論しました。
本番リリースを前にメンバーも増えたことなので、今回はフィナンシェのBlockchainアーキテクチャ変遷を紹介しました。
初期設計(Closed β)
- オークション、マーケットプレイスのロジックは全てBlockchain(Ethereum)上に実装
- 一般的なDapps同様、ユーザがMetamask等のウォレットを使ってBlockchainと交信
課題
- Etherでの入出金、ERC20トークンの売買が可能なことから、一般向けにリリースするには仮想通貨交換業の免許が必要。取得のために何千万、何億円とかけて体制を構築する必要がある。取引所が本業ではないので、そのための投資が割に合わない
- Metamaskのようなウェットの扱いに慣れていないユーザにとっては、大変使いづらくユーザビリティが悪い
- Etherを所持していないユーザは取引所のアカウント作成から始めなければならず、使用開始のハードルが著しく高い
一般公開(Open β)
- 円で入出金を行い、ERC20トークンをプラットフォーム外へ持ち出させない仕様に変更。これにより仮想通貨交換業の免許が不要となる
- Blockchainとの交信をサーバーサイドで実施する仕様に変更。ガス代も運営が支払う。これによりMetamaskの使用や、取引所のアカウント作成が不要となる
詳しい仕組みについてはブロックチェーンで人をカード化して売買できるサービスを作ったので解説するを参照。
課題
- 将来的に1日に10万トランザクション処理する必要があるが、Ethereumのスピードが早くなっていない場合は、我々のサービスでメインネットを占有してしまう
- Ethereum価格の上昇に伴いガス代が上昇。ユーザに課しているトランザクション手数料を超えガス代赤字となった
FiNANCiE Lightningの導入(Open β)
- オークション、マーケットプレイスのロジックをOff-Chainし、実行結果をデータベースに格納する仕様に変更。これによりスケーラビリティのボトルネックとガス代赤字が解消された。そもそもユーザ目線でEthereumの使用は秘匿されており、この変更による悪影響はない。むしろ、トランザクション手数料が無料となり、トランザクションファイナリティの待ち時間がゼロとなったことで、ユーザビリティが著しく向上した
- Off-Chainでの実行結果を一定時間おきにIPFSへアップロードし、IPFSハッシュをEthereumに書き込む仕様に変更。プラットフォームのIntegrityのためTraceabilityとImmutabilityを確保した格好
今後
- 我々が目指すのは"Decentralized"なプラットフォーム。On-Chainで全て処理する状態に再移行する
- 使用するチェーンについてはEthereum3.0が本命。しかし、暫定的にCosmosやPolkadotで独自チェーンを開発することや、EOSやLibraを利用することを検討
最後に
フィナンシェではエンジニアを募集してます。本番運用している、ゲーム関連以外のBlockchainを使ったコンシューマー向けサービスは少ないです。実践的な経験が積め、知見が溜まりますよ。
ご興味のある方は是非、採用フォームかWantedlyからお声がけください。
勉強会記事一覧