Paid API by mining Cryptocurrency
紹介動画
背景
APIの提供は、3rd partyのエコシステムを広げる上で重要なパーツです。
有名な話では、Jeff BezosによるThe API Mandate
(AWSで提供するサービスは須らくAPIとして機能を公開すべし or die) があります(一次ソース求む)。
AWSの発展もAPIが大きな役割を担っていると言えるでしょう。
一方で、APIを提供する上で様々なブロッカーがあります。
セキュリティはもちろんですが、中でも経済的な問題があります。
基本的に24時間提供し続ける必要があり、かつ稼働中にコストが発生する、さらにエコシステム拡大による利益は計上しにくいということで、ビジネス上Goを出しにくいことも多々あるのではないでしょうか。
簡単な解決策は月額利用料金を取ることですが、利用者側としては使い勝手が悪いです。Subscriptionの管理コストもあります。
一方で従量課金は利用者としては良いですが、提供側の負担が大きいです。
提案手法
今回はCoinhiveにインスパイアされ、暗号通貨の力を利用した、提供しやすく使い勝手の良い有料APIを提供する方法を考えました。
具体的には、暗号通貨のマイニングを利用したゲートウェイを用意することで、この問題に対処します。
API利用者側がマイニングや購入により通貨を入手し、各APIエンドポイントに設定された金額を支払うことで実現します。
これにより、事前決済型のAPI利用となり、管理コストが減ります。
また、マイニングでも入手しやすい通貨を利用することで、参入障壁を下げることができます。
課題
レイテンシは大きく増大します。決済が完了するまで待つ必要があるので、数ミリ秒で結果を返すことは難しいでしょう。
また、エラー時の支払いをどうするかも考慮する必要があるでしょう。
技術的詳細
詳細はこちらに記載しています。
利用方法
デモサイト は、現在稼働していません。
GitHubに上げているので、詳細はそちらでご確認ください。