Bitcoin
Blockchain

Yours のテストユーザーになった話

More than 1 year has passed since last update.

これは、仮想通貨・ブロックチェーン Advent Calendar 2016 9日目の記事です。

昨年、Blockchain Universityのレクチャーに行ったという縁で、Yoursのテストユーザーになることができました。そのレポートを共有します。

Yoursとは?

Yoursとは、クリエイターのための、Bitcoinを使ったマイクロペイメントサービスです。

創業者の Ryan X. Charlesさんは、元Redditのエンジニアでした。
Redditでは、良いコンテンツがたくさんあるにもかかわらず、なかなかクリエイターがマネタイズすることが難しく、その課題を解決するためにYoursを立ち上げました。
また、Ryanさんは一時期、BitcoinのプログラムをJavaScriptで書き換えるような取り組みも行っており、Bitcoinについてもバイナリレベルでよく知っています。

写真家・ライター・漫画家など、クリエイターがマネタイズできるようにするため、マイクロペイメントが必要だということで、
Bitcoinの課題である、少額決済・即時決済の課題を解決するために、まずはマイクロペイメント部分のプロトタイプを作られました。

テストユーザーに参加した

現在、YoursのSlack にて、テストユーザーの募集を行っています。現在20名ほど登録されており、順次案内をしていく予定だそうです。

デモ

マイクロペイメントの画面はこんな感じです。今はBitcoinのTestnetに接続されています。

screencapture-test-de5c897de77d7752-yours-network-1480983338155.jpg

Confirmed balance: 確定済みの残高
Unconfirmed balance: 未確定の残高
Total balance: Confirmed + Unconfirmed

ここまでは普通のBitcoinの残高の値と同じです。
さらに、Channel balance という、Yours上のペイメントチャネルの残高が新設されています。

その下は、BitcoinからYoursへの引き出し、Yours上の資金受取のための公開鍵、送金機能、となっています。

Yoursの仕組み

Yoursは、Bitcoinの資金とYoursの資金を接続することでマイクロペイメントを実現しています。

例えば、AさんがBさんにYours上でマイクロペイメントを行うとします。

このとき、Aさんは、ペイメントチャネルというものを開きます。
具体的には、コンピューターユーザーのAliceに委託する形を取り、fromが自分(Aさん)、toAliceのBitcoin Transactionを発行します。(図では 1Bitcoin)

その後、Aliceに預けた金額の中から、Bさんに少額送金を行います。(図では100bit)

Yours_structure.jpg

預けた資産の中であれば、何回でもBさんや、他の人に支払いができるようになります。
逆に、AさんがYours上で資金を受け取る場合は、デポジットした金額の範囲で受け取れるような仕様となっているそうです。

Yoursネットワーク上で資産が存在するけれども、Bitcoinのトランザクションに反映されていない残高が Channel balance となります。

Lightning Networkと仕組みとしては似ていますが、より機能を特化してシンプルにした形です。

現在の状況と課題

現在は、マイクロペイメント部分のworking prototypeが出来ている状況で、一部の細かな状況でのバグ修正を行っている状況です。
主なバグとしては、Yours上で同時にたくさんのペイメントが発生した場合のバグや、メッセージプロセスのバグがあるそうです。

もともとのコンセプトとしては、クリエイターのためのマイクロペイメントサービスということで、
ソーシャルの部分の機能については、マイクロペイメント機能が落ち着いた後、着手するそうです。

まとめ

クリエイターのためのマイクロペイメントサービス Yours のプロトタイプを紹介しました。
日本での展開も考えているそうなので、興味がある方はぜひ、Ryanさんにコンタクトを取ってみてはいかがでしょうか。
特に、漫画や写真など、WEBコンテンツを持っているサービスの方とお話してみたいそうですよ!

明日は、 him0net さんの、「一行ずつ理解しながら bitcore-lib でトランザクションを作る」 という記事です。 普段ライブラリなどを通して何気なくトランザクションを作っていますが、Scriptとかを使おうとすると、トランザクションの中身を一つずつ理解してみたくなりますよね!楽しみです。