信頼を可視化するSNS bajji(バッジ)におけるブロックチェーン利用方法
株式会社bajjiの藤尾です。
自社サービスにおけるブロックチェーン周りの実装と、E2Eテスト実装を主に行なっています。
現在開発中のbajjiというサービスにおけるブロックチェーンの利用方法を書いてみました。
bajji(バッジ)とは?
『bajji(バッジ)』は、物理的に人と出会った記録と、信頼の証(bajji)を贈った/もらった記録をブロックチェーンに刻むことで、人と人との信頼を可視化していく新しいSNSです。
6月中のオープンβリリースに向けて開発中です。
なぜブロックチェーン?
信頼を可視化するためにbajji Scoreという独自の指標を用いています。
bajji Scoreは、簡単に説明すると「物理的に人と出会った(エンカウント)数」、「信頼の証(bajji)送受信数」「頻度」、そして「経過時間」といった各個人の行動データを基に算出します。算出のためのアルゴリズムとして、Proof of Mylifeというものを検討しています。こちらの詳細については次の機会にご紹介します。
bajji Scoreの信用を担保するには、上記の各個人の行動データが改ざんされていないことを第三者に証明する必要があります。これはまさにブロックチェーンが得意とするところです。
ブロックチェーンにデータを記録することにより、改ざんを防止できますし、さらにパブリックなブロックチェーンを使うことで、サービス提供者側である弊社も含め誰にも改ざんができないdecentralizedな状態にできます。
どのブロックチェーンを使用するの?
β版ではシンプルに
・ユーザーとユーザーが出会った事実(エンカウント)
・ユーザーからユーザーへ、信頼の証であるbajjiが贈られた事実
をパブリックなブロックチェーンに記録できれば良いので、使用経験のあるCounterparty系のフレームワークを使用する予定です。CounterpartyとはBitcoinベースのブロックチェーン上でトークン発行や、メッセージブロードキャスト等を可能にするフレームワークです。
エンカウントの記録は、メッセージブロードキャスト機能を利用して、エンカウント情報をメッセージとして記録することで実現します。
またbajjiが贈られた事実の確認は、bajjiトークンの送受信の履歴をブロックチェーン上で確認することで実現します。
β版ではCounterparty系のフレームワークを使用しますが、bajjiが目指す世界に最適なブロックチェーンというのは、今後変わってくる可能性があります。ブロックチェーンを活用する場合、現在、スケーラビリティや、正常なdecentralizedの維持などの問題がつきまといます。それ自体は、ブロックチェーン技術の発展のために非常に重要であり、私たちもその問題に取り組んでいきたいと思っています。
ただ、bajjiというサービスを提供するうえでは、bajjiが目指す世界を実現することが最重要課題であって、bajjiにおけるブロックチェーンの利用目的は、あくまでもdecentralized にデータを保存する事です。
そのため、ブロックチェーン上の課題が、サービスの発展に影響を与えないシステム構成にすることが重要です。その意味で、bajjiは、非金融分野へのブロックチェーンの応用でありかつ、ブロックチェーンfreeという要素を取り組んだ世界でも稀なケースになるのではないかと考えています。
bajjiシステム構成
ブロックチェーンも含めた簡易的なシステム構成図が下記になります。
基本的には、各ユーザーのActivityイベント(エンカウント、bajjiの送信)が発生するたびにQueueDBにデータ登録し、定期的にCounterpartyのAPIを呼び出し、ブロックチェーンへのデータ書き込みを実施します。
上のシステム構成図で描いた通り、パブリックなブロックチェーンに情報を刻むことで、bajji userでなくともユーザーの行動情報を確認できます。
※初期段階においては全ての情報を暗号化した状態で記録されるので、サービス外ユーザーからは中身まで確認することはできません。将来的には何らかの方法で、サービス外ユーザーからデータの一部を確認できるようにしようと思っています。
どうやって記録するの?
Counterpartyには、豊富なAPIが用意されています。(https://counterparty.io/docs/api/)
いくつかRailsでのコード例を書いてみましたので、エンジニアの方や、コードに興味がある方はこちらからご覧ください。
最後に
弊社開発中のサービスbajjiにおけるブロックチェーンの利用方法を簡単に説明させていただきました。
ブロックチェーンブームが来てから、非金融領域においてはまだまだ企業がパブリックブロックチェーンを活用する事例って少ないと思います。このbajjiが、一つの有効な活用事例となるよう引き続きサービス開発を進めます。
※ bajjiは信頼の気持ちを表す証であり、有価証券、前払式支払手段、法定通貨、仮想通貨または通貨性を持つトークンのいずれでもないため取引できません。また、運営以外から受け取ったbajjiを他のユーザーに送ることはできません。
運営からの告知
現在、6月中にオープンβ版リリースを予定しており、事前登録受付中です。
ご興味ある方は、是非こちらからご登録ください!
リリースに合わせて6/24(月)にイベントも開催しますので、お気軽にお越しください。
https://peatix.com/event/create2/710963/
仲間も募集中!