指先一つでbitcoinの支払いができる! paycoin
店舗の支払いの際に用いるシステム。店舗側に本システムをもちいることで、あらかじめ事前登録をしておけばお客さんが指紋情報のみでその店の支払いをすることができます! 支払いにbitcoinを用いることで手数料がゼロに! 導入する店舗さんの負担を減らします。 お客さんも、これでお財布を持ち歩く必要も、盗難に対する警戒も、旅先の急なスマホの充電切れを心配する必要もありません。
メインの決済システムをサーバー化しているため、導入する店舗さんに必要なシステムがすでに市場にあるもので構築できます。 よって格安で構築が可能になっています。
bitcoinは日々紙幣価値を増し、強固な決済プラットフォームの土台となってきています。またユーザー数の増加とともにbitcoinを用いた決済システムも社会的に受け入れる基盤も整いつつあります。bitcoinは将来的には貨幣のやりとりにかかるコストを徹底的に削減したプラットフォームとして、無駄ないストレスない貨幣価値の活用が可能になるとして期待されています。私たちは貨幣流通を行う際の、ユーザーのデバイスによる制約すら無くそうという考えを持っています。
bitcoinはシステム維持のためのマイニングの費用の確保を目的として、送金の際に手数料を送ることができます。この手数料が一定程度あることで優先的に処理が行われることになります。しかし店舗側はお客さんの支払ったお金が今すぐ手に入ることより、将来的に必ず手元にくることの方が重要です。よって私たちは送金が済むまでの時間を伸ばす代わりに手数料をゼロにしています。
指紋認証端末とwindowsPC、wifi接続環境があれば追加の設備投資も必要なし! 指紋認証端末も1万円程度で購入することができます。
お客さんがレジの前で、お財布を探したり、お釣りを探して列が並んだりすることがありません。 お客さんの満足度もお店側の満足度も向上します
指紋読み取りデバイスには指をスライドさせる方式と、光を当ててイメージを取る方法が主に使われていますが、今回は両方の方式で実装して比較を行った結果、後者の方式を選択しました。前者は安価でPCなどに備え付けられており手に入りやすいのですが精度が悪く、世界中の人を登録し、識別するだけの認証精度がありません。人の指には少なくとも50点以上の特徴点があり、その内の12点以上の特徴点を取得することで一兆人程度の認識が可能になりますが、今回使用したスライド式デバイスは指の押し具合などによって読み取り結果が大きく変動してしまうため、これらの特徴点を正確に読み取ることができないと判断しました。そこで、後者の方法を用いることで、得られる指紋データの精度を良くすることで、認識率を高めました。また、従来良く使われている特徴点方式から、近年識別精度の観点から注目を浴びている位相相関方式へと認識アルゴリズムを変更することで、認識率をさらに高めることができました。今後は、特徴点方式と位相相関方式の組み合わせや海外で公開されている指紋画像データベースなどを利用して機械学習によって分類器を構築することで、認証することが可能な人を増やし、世界中にユーザーができてもほぼ100%認識できるシステムへと改良していきたいと考えています。 また指紋認証のデータベースを今はローカルに保存していますが、将来はアルゴリズムだけをローカルに置き、暗号化された特徴ベクトルをサーバーに送ることで認証する方式を採用していきます。
- 指紋認証デバイスを用いた認証システムの開発(指紋認証の画像からユーザーIDを求める)
- bitcoin取引所とユーザーIDの関連付けのためのインターフェースとサーバーの作成
- 店舗側の決済システム(店舗側が値段を入力し、ユーザーが指紋認証することで決済が完了するシステム)
- coincheck api
- Amazon web service
- Windows Biometric Framework
- rails
- visual studio 2017
- windows10 PC
- 店舗用のwindowsアプリはmasterブランチ、サーバーはserverブランチにあります。
- サーバーブランチを本番環境用に構築する場合はpuma.rbのコメントアウトを適宜外してください
- visual studio のファイルはsample_app2 にあります。実行にはcpprestsdkを導入してください
- imageブランチはgithubの画像アップロード用なので削除しないようにしてください
- 指紋認証プログラム:biometrix.cpp
- ruby : 2.4.2p198
- sqlite