第2回Bitcoin Hackathonも大好評でした!!

f:id:akifuji510:20180925235001j:plain

iOSエンジニアの@akifujiです。
9/22, 23の2日間で、第2回Bitcoin Hackathonを開催いたしました!
今回はそのレポートをお届けします!!

開催の経緯

Yenomでは、「Bitcoinのディベロッパーをもっと増やしたい!」という思いから、8月からBitcoinを使ったハッカソンをCryptoAgeと共催で開いています。

www.neweconomy.jp

第2回は、モバイル開発だけではなく、Webアプリ開発の参加も受け付けて、更にパワーアップしたハッカソンを開催致しました!
今回もBitcoin.comにスポンサーして頂き、賞金の提供及び当日の審査をして頂きました。

当日の様子

会場は、渋谷のブロックチェーン・コアワーキングスペースNeutrinoをお借りました。
総勢17名(内リモートが1人)で、7チームに分かれて、Bitcoinを使ったアプリの開発をしました。

まずは、Yenomの@usatieから、BitcoinのScriptの仕組みについてのレクチャーがありました。
「Unlock/Lock Script」や「スタックマシン」など、他ではあまり聞くことが出来ませんが、Bitcoinのアプリを作る上で、超大切な要素を基礎からみっちり解説しました。

その後、Bitcoinアプリの開発で使うライブラリのハンズオンを行いました。
iOSはYenomが開発を進めているBitcoinKitを使用し、Webは、Bitcoin.comが開発しているJavaScriptでBitcoin Cashのアプリ開発ができるBITBOXを使いました。今回は残念ながらAndroidの参加者はいなかったのですが、bitcoinj.cashというライブラリを使用する予定でした。

f:id:akifuji510:20180925234940j:plain

ほぼ全員が、Bitcoinで開発をするのは初めてであったのにもかかわらず、ウォレットの作成や送受金、そして実際にScriptを書けるようになりました。

ハンズオン、そしてお昼のお弁当を食べ終わると、チームに分かれてアイデアソンをやりました。
勉強したBitcoin Scriptを利用しながら、モバイル/Webアプリを各チームが必死に考えていました。

f:id:akifuji510:20180925234911j:plain

アイデアが決まれば、実装が始まります。
具体的な実装の内容を詰めて、その分担を行い、開発が始まります。
ハンズオン資料を見たり、Yenomの開発陣にガンガン質問しながら、Bitcoin Scriptをアプリに実装していきます。

夕方には、BITBOXの開発者のGabriel Cardonaさんが到着しました。
なんと、今日のハッカソンのためだけに、わざわざサンフランシスコから東京にやって来てくれました!!
夜には、Cardonaさんが、Bitcoin Cashに使われている技術、エコシステム、そしてBitcoin Cashのトークンについて熱く語ってくれました。 参加者からもたくさん質問が出て、中身の濃いセッションでした。

f:id:akifuji510:20180925234954j:plain

その後も開発は夜遅くまで続き、なんと泊まって開発し続けた方も。
CardonaさんやYenomのエンジニアが常にそばに居て、参加者の積極的な質問に答えました。

f:id:akifuji510:20180925234919j:plain

2日目の午後に開発及びスライド準備が終わり、各チームが8分のプレゼンを行い、2日間の成果について発表しました。

審査員は、Bitcoin.comからJelaludoさん、Cardonaさん、CryptoAgeの大日方祐介さん、そしてYenomのusatieの4人でした。審査員からは、各チームに対して鋭い質問や、アイデアへのアドバイスが出て、白熱したプレゼンとなりました。

f:id:akifuji510:20180925235009j:plain

プレゼンが終わると、審査員が別室で審査を行います。 審査は30分以上かかり、中ではみっちりと審査を行いました。

そして、ついに審査発表です。
今回は、Bitcoin.comから1位に1BCH、2位に0.5BCH、3位に0.25BCHの賞が贈られます。
そしてCryptoAge、Neutrino、Yenomからもそれぞれ賞が用意されました。

優勝はYoutuberがライブ配信でビットコインの賞金付きクイズをできるアプリを作ったチームB-chanでした。
Bitcoin.comから優勝賞金である1BCHを贈呈されました。

f:id:akifuji510:20180925234946j:plain

全体的に参加者の技術が高く、Bitcoinは初心者でありながらも、Scriptを使って魅力的なアプリがたくさん開発されました!

各チーム紹介

B-chan: Quiz BitCoin Cash Challenge

チームB-chanは、今流行りのYoutuberを題材に「Youtuberがライブ配信でビットコインの賞金付きクイズをできるアプリ」というアイデアでした。
このチームは、今回のハッカソンで1位を受賞しました!

Youtuberのクイズ企画は多いですが、

  • Youtuberのクイズ企画のギフトは本当に用意されているのか?
  • 本当に商品は配送されているのか?

の2つの課題を

  • Bitcoinをデポジットすることによるギフトの存在の証明
  • 答えをハッシュ化して作ったP2SHアドレスを使い、正解者が答えをUnlock Scriptに入れることでリアルタイムにコインを受け取ることができる

という仕組みで解決していました。

デモでは、実際にVirtual Youtuberを使用し動画を作っていて、ユースケースを想起しやすいものになっていました。

審査員のCardonaさんからは「Youtubeの市場は凄く大きく、視聴者も多いので、Bitcoinが普及するキッカケになる」ということで好評価をいただいておりました。

saitama: Bit Reservation

チームsaitamaは、「公共の場をフェアに利用できるようなマイクロペイメント」というアイデアでした。
チームメンバーの1人が完全リモートという特殊体制ながらも、難しいペイメントチャネルの実装を試み、第3位及びCrytoAge賞を受賞しました。

f:id:akifuji510:20180925235039j:plain

カフェなどで少ないお金でずっと滞在する人がいるという問題を解決するために、空間利用券を時間に応じて購入できるようにするマイクロペイメントを実装していました。iOS12から、更に拡張されたNFCを利用して、席においてあるNFCタグにかざして取引を行うような仕組みを考案していました。

審査員のCardonaさんや大日方さんからは、「これから流行るIoTや、サービスの小分け支払いのトレンドを捉えたアプリケーション」というコメントを頂いていました。

55: BCHランナー

チーム55は、Bitcoinと位置情報を掛け合わせて、ランニングを楽しく出来るようなアプリを作っていました。
ランニングというユニークな題材で、Yenom賞を受賞していました。

f:id:akifuji510:20180925234931j:plain

GPSの情報を用いてアンロックできるようなP2SH形式のトランザクションを作り、サーバー側で指定した場所に行くとBCHがもらえるような仕組みを作りました。また、TimeLockを利用することで、時間制限も作り、よりエンターテイメント性を追求していました。

T9: コンテンツトランザクション

チームT9は、デジタルコンテンツの中古売買というアイデアを実装していました。

f:id:akifuji510:20180925235017j:plain

OP_RETURNを用いてコンテンツにUIDを付与し、最後にUIDを持っているユーザのみコンテンツを見ることができて、コンテンツを他のユーザに渡したりすることができるようにするという仕組みを用いて、デジタルコンテンツの二次流通市場を作ろうとしていました。

Cardonaさんからは「デジタルコンテンツの所有権は巨大市場であり、題材として良かった」とコメントを貰いました。
Yenomのusatieからは、「デジタルコンテンツの管理こそWormholeのようなトークンを用いた方が良かった」とのアドバイスがありました。

Haratani: Goxしない取引所

昨今、世間を賑わせている取引所を題材に「個人間で安全に仮想通貨と法定通貨の交換を行うプロトコルとプラットフォーム」の実装にチャレンジしていました。
公正なプロトコルを作ろうとしているという点を評価されてNeutrino賞を受賞しました。

f:id:akifuji510:20180925234926j:plain

取引所は、法定通貨の送金の確認だけを行い、確認次第、Bitcoinの取引に必要なsecretナンバーの送付だけを行うことで、取引所が資産を預からないような仕組みを考案していました。

コブサラダ: Bitcoin Scriptを用いたクイズキャンペーン

コブサラダチームも、チームB-chanと似て、「プレゼント企画をトラストレスに行う」仕組みを開発していました。

f:id:akifuji510:20180925235031j:plain

チームB-chanとは異なり、複数のUTXOを用意することで、1つの問題に対して複数の回答者が当選できるようにしていました。

審査員からの大日方さんからは、アメリカで大流行しているクイズショーのHQ Triviaを例に、クイズショーのトレンドを抑えている点を評価してもらっていました。

OTON: ビットコインで宝くじ

チームOTONは、Bitcoinを使って公正な宝くじを作ることにチャレンジしていました。
宝くじという誰にでも非常に馴染みのある題材を、Bitcoinで実装することに成功し、ハッカソンの第2位を受賞しました。

f:id:akifuji510:20180925235025j:plain

参加者は、Bitcoinアドレスにお金を送ることで、抽選券を購入し、当選番号はブロックハッシュで決めることで、誰にも操作出来ないような宝くじを実現しました。
どの審査員からも好評価を頂きながらも、日本では法律的にアウトな点を指摘されていました笑

参加者の声

多くの参加者に楽しんで頂き、たくさんの嬉しいコメントを頂きました。
こちらは、事後アンケートから一部コメントを抜粋です。

「Bitcoin Scriptの書き方がわかっただけではなく、Bitcoinのトランザクションの仕組みがよりわかりました。サポートありがとうございました!」

「メンターの方や、チームの人とも色々話もできて楽しかったです! Bitcoinについても、参加前よりいろいろ知識も付きましたし、ありがとうございました!」

「ビットコインキャッシュへの期待がかなり高まりました!BITBOX、Wormholeを使うことで、基礎の理解が深まりました!知り合いも増えてよかったです!いろいろ教えていただきありがとうございました。」

「楽しかったです。運営してくださった皆さんありがとうございました。手を動かすことで学べることがおおいことを実感した2日間でした。」

また、既に参加者の方から参加レポートを書いてもらっています!

note.mu

madoka-saotome.com

次回も乞うご期待!

まだまだ、もっと多くの人にBitcoinの開発をやって欲しいと、我々は考えています!
10月23日には、Bitcoinの開発に関する勉強会を開催致します!!
今回のハッカソンで好評だったusatieによるBitcoin Scriptのレクチャーがあったり、LT枠も用意しています。 初心者から大歓迎なので、是非参加してください!

connpass.com

また、Bitcoinディベロッパー向けのSlackチャンネルを作っています!!
どなたでも参加出来て、ハッカソンの参加者やYenomのエンジニアに開発の相談、またBitcoin Cash TestnetのFaucetが利用出来たりします! 是非こちらのリンクからご参加下さい。

当日使用した資料

レクチャー、ハンズオン資料

usatieによるBitcoin Scriptの解説

BitcoinKitのハンズオン資料 hackmd.io Android用のBitcoinライブラリ、bitcoinjのハンズオン資料 hackmd.io BITBOXのハンズオン資料
bitcoin-hackathon.md · GitHub

開発に使用したサービスなど

ライブラリ

API

Explorer

Faucet