ピッカーの皆さんと実現したい、βテストの先のイノベーション

2018/6/23
6月11日から始まった新しいコメント欄のβテストでは、試作中の「サンクスポイント」機能が試せるようになりました。テストが始まってからの1週間、舞台裏ではどんなことが分かってきたのか? CTOの杉浦に振り返ってもらいました。
小野 前回の記事では、ブロックチェーンの入門的なお話と、βテスト開始時に直面したトラブルについて伺いました。ほかにも、頭を悩ませている課題があるそうですね…?
杉浦 今までとは発想を変えてシステムを作る必要があると感じたのは、「イーサリアムへ送ったデータが必ず取り込まれるわけでは無い」点です。
皆さんのサンクスポイントの保有履歴データは、イーサリアムというブロックチェーンのネットワーク上に記録しています。イーサリアムに送ったデータが取り込まれないことが、想像していたより高い頻度で起きました。
取り込まれないと、データが無効になってしまいますから、取り込まれなかったデータを探しては、それをもう一度送り直さなくてはいけません。
こうした一手間がかかりますが、これはイーサリアムの短所でもあり、長所でもあるんですよ。
杉浦 正明(すぎうら・まさあき)
NewsPicks 取締役CTO。大学卒業後、日立ソリューションズを経て、シンプレクスに入社。大手証券会社向けプロジェクトのマネージャーを歴任した後に、高速為替取引システムの開発リーダーとしてアーキテクチャ設計に従事。2012年にトークノートに取締役CTOとして参画し、2014年にユーザベースに入社。2016年にユーザベースから分社化したNewsPicksの取締役CTOに着任。
小野 どういった長所があるのでしょうか?
杉浦 前回お話したとおり、ブロックチェーンではネットワークの参加者同士がデータを直接やりとりし、承認したデータを台帳に記録します。これが「マイニング」と呼ばれる作業です。
マイニングは全世界で分散され、同時並行に行われるので、二人以上の参加者が同時にマイニングしてブロックを台帳に記録してしまうことがあるんですよ。
この「マイニングの競合」を避けるために、マイニングが終わって次のマイニングが始まるまで、一定の間隔(ブロックタイム)を開けます。
ほかのブロックチェーン、例えばビットコインでは、このマイニングの競合を避けるために10分間と長めのブロックタイムを設けるものもあります。
小野 イーサリアムのブロックタイムはどのくらいですか?
杉浦 イーサリアムは取り込みまでの処理速度を上げるために15秒ほどにしているんです。
取り込みまでの処理速度を重視したイーサリアムを使う際には、自分が送ったデータが記録されたか、ほかのノードにも広く行き渡ったかを確認するプロセスを設ける必要があるのだと学びました。
小野 杉浦さん、「朝一番の確認作業がツライ」って言ってましたね。
杉浦 βテストが始まって数日は、取り込まれなかったデータを検出して再送するのを手動でやっていたので大変でした。現在はその作業を自動化したので大丈夫です。
これまでのシステム開発の思想から、分散型の思想に変えなくてはいけないと実感したポイントでした。
※β版アプリはiOS版のみのご提供になります。あらかじめご了承ください。
新たに取り込まれたデータを受信している画面。

サンクスには「ガス代」がかかる?

小野 そういえば、皆さんがサンクスを送り合う際に、NewsPicksがイーサリアムに支払う費用があると聞きました。
杉浦 Gas代のことですね。イーサリアムのネットワークにデータを記録するごとに費用がかかっています。
ここまで説明してきたとおり、イーサリアムは中央で管理する人を設ける代わりに、みんなで手分けして記録を管理しよう(分散型)というものです。
でも、データを正しく格納し、それが正しいことをチェックするなどコンピューティングパワーを使います。こうした作業をする参加者をブロックチェーンの世界では「マイナー」と呼びます。
イーサリアムの場合は、データを記録するごとにネットワーク使用料のような手数料「Gas」を支払う仕組みになっており、それがマイナーの報酬として使われます。
小野 Gas代って、どうやって決まるんですか?
杉浦 データを記録したい人が自由に設定できるんですよ。
「早く記録したい」と高いGas代を設定すれば優先的に処理されますし、逆に安すぎるとマイナーが見つかりにくくなります。すべては需給に応じて決まるんですね。
Gas代の相場の変動に合わせられないと、場合によってはデータの記録がストップしてしまうかもしれないし、早すぎると無駄に高いGas代を支払うことになってしまう場合も。
小野 ちょうどいい値段を設定するのが難しそうですね。
杉浦 そこも工夫したポイントのひとつです。直近のGas代を調べて妥当な金額を算出するプログラムを作って、あまりにも高すぎるときにはデータを送るのを止めるなど、自動化を進めています。
サンクスポイントでは「Eth Gas Station」というサイトのAPIから、直近の参考になるGas代を取得、リーズナブルな価格の際に処理を行うように工夫している。

βテストで実現したいイノベーション

小野 最後に、今回のβテストにどんな可能性を感じているかを聞かせてください。
杉浦 やはりNewsPicksに価値を感じてくださっているピッカーの皆さんとともに、機能開発ができる、というところです。
スマホが普及期を過ぎて、ニュースを提供するサービスも多種多様なものが登場する中、本質的な価値を提供し続けないと、皆さんの支持を得られない時代だと感じます。
単発の広告や一過性のマーケティングを行うだけでは、中長期的にサービスを使っていただくことにはつながらない。特にNewsPicksのような月額で対価をいただくようなサービスは、より顕著にその傾向があると考えています。
中長期的にサービスを使っていただくために、改善し続けるためにはどうすればよいのか。その一つの答えが、サービスを応援くださる皆さんとともにサービスを改善する、「共創(Co-Creation)」 にあるのではないかと考えるようになりました。
参加者の皆さんと一緒にNewsPicksをアップデートできるのは、私たちにとっても新しい開発スタイルへの挑戦です。
5月のピッカー感謝祭に集まってくださった皆さん。
杉浦 もうひとつは、新しい技術を本番さながらの環境で試すことができる点です。
イーサリアムを含むブロックチェーンは可能性を秘めた技術で、この新しいテクノロジーを導入することに意義を感じています。
ブロックチェーンには、「参加者にデータが公開されて誰もが利用することができるが、決して改変できない」という特性を持っています。
この特性を上手く利用し、日々集まるデータをブロックチェーン上に記録することで、信頼できる情報の集まるプラットフォームを作れるのではないかと考えます。
小野 ブロックチェーンを活用しているサービスの、先行事例はあるのでしょうか。
杉浦 商用サービスにおいてブロックチェーンを使っているサービスは、未だ多くありません。また、ネット上の情報も少なく、特に日本語の情報が少ない状況です。
果たして私たちのサービスの規模であっても実用に足る技術なのか、社内でのテストだけでは分からないことが多々ありました。
βテストという形で、皆さんのお力を借りながら一緒にこの技術の有用性を検証することで、新しいテクノロジーの発展に寄与したいです。
小野 βテストで皆さんとやっていることは、世界的にみてもまだ例のない実験なのですね。
杉浦 サンクスポイントは、NewsPicksで生まれた感謝の気持ちを「サンクスポイント」という形にして、ピッカーさん同士でやりとりできる機能です。
感謝の循環によってサービスの質を高める仕組みを作ることができるとしたら、これほど素晴らしいことはありません。
皆さんのご協力なしには実現しえないことを、今私たちはやろうとしています。残りのβテストの期間を充実したものにできるよう、私たちも試行錯誤しますので、引き続きお付き合いいただければと思います。どうぞよろしくお願いいたします!
※β版アプリはiOS版のみのご提供になります。あらかじめご了承ください。
(デザイン:片山亜弥、撮影:神の味噌汁 様、執筆:小野晶子、監修:竹内秀行、杉浦正明)