acomagu's diary

思ったことを書きます。技術的なことは書きません。

Longhash Hackathon 感想

hack.longhash.com

たまには感想日常ログでも書こうか

なぜ参加したか

ぶっちゃけると運営の @yuzushioh にお世話になっていたので。 Yama が出るっていうから半ば付き合いで出ました。

もしひとりだったら絶対参加しないタイプのイベントで、なんでっていう理由をはっきりとは(なんとなくとしか)述べられないのだけど

  • スポンサー(国含む)から無茶苦茶金が出てそうな感じ -> 色んなものに縛られてよくわからないイベントになってることが多い&「お金があるところにしか居ない人種」みたいなのがいることが多くて、そういう感じが苦手
  • 「ビジネスを考える」経験が殆ど無いので、ベンチャー感出てるイベントだとビジネス考えられなくて死ぬこと多数
  • ハッカソン飽きた/勉強したい/ちゃんと寝たい

という色々が重なって全然乗り気じゃなかったのですが、出ました。

前日まで

一応当日にチームビルディングの時間が儲けられていることを知っていたので、当日までがっつりそれぞれのチームが準備をしてくるタイプのハッカソン(ちなみにそういうのも苦手)ではないと踏んで、しばらくは申し込み以外は何もしてませんでした。

1週間前くらいになって、ハッカソンのトップページに「課題」(ハッカソンで解決すべきもの)なるものがあることを認識し「課題くらいは見てみようぜ」ということで一度集まって「課題を読む会」をやりました。

まじでそれまで何も見てなかった僕達チーム全員は戦慄しました。

だいたい5つくらいある「課題」のなかで、理解できたものが2-3程度しか無く、また理解できたものでもどう実装すればまったく見当がつきませんでした。というのも、どれもブロックチェーン界の最先端で今直面している問題を取り扱ったものだったのです。そもそもブロックチェーンという言葉を適当なブログで目にしてなんとなく仕組みはちょっと知っている、程度のWeb/モバイルエンジニアである自分たちには明らかにオーバーキルであることは一目瞭然でした。

読めば読むほど「わからない」ということだけがわかっていき、万が一のときは全てを押し付ける予定だったたった一人の後輩はいつの間にか失踪し、そのまま当日を迎えました。

当日

出発するときから「帰りたい」と全員が口にしていました。

実は当日のオープニングセレモニーで課題内容が改めて説明される予定で、それで何かわかるかも... と淡い期待を抱いていたのですが英語で全くわかりませんでした(実際にはちょっとヒントにはなったり、認識がずれていたものを修正できたりした。でもペーパーを呼んで全くわからなかったものは話を聞いても全くわからなかった)。

さらにオープニングセレモニー中に「Webフォームからチームを登録してください」というアナウンスに従おうとしたところ、なぜか自分たちのチームだけボタンが押せないというアクシデントが発生。

他のチームは全員スムーズに行えているのに、自分たちのチームメンバーは誰もできない。なぜなのか。周りに中国人しか居ない中日本人チームで肩身を寄せて必死に心当たりを探ったところ、「"Confirmationメール"を無視したかも知れない」という仮説が浮かび上がりました。

そのことを含めて事務局の人に相談したところ、ビンゴでした。そこでわかったのは「2週間前から来続けていた10通のメールを誰一人として開かなかった奇跡の会津大学生達」という伝説がここに刻まれたことでした。

英語で怒られました。

2日目

本格的にDecentralized KYC/AMLの課題に方向性を固め、具体的な実現方法の検討に入りました。

それにしても「ハッカソンマスター」が参加していることには驚きました。最初はピンときませんでしたがしばらくしたら思い出しました。

30分おきに話しかけてきます。

コミュ障なのでそっとしておいてほしいのだけれどコミュ障なので伝えられず、しまいにはハッカソンマスター分のコーヒーまで受け取ってしまいました。

まあ真実は置いておいて、その日は朝から晩までDecentralized KYCのモデルをひたすら試行錯誤し続けていました。いくつか挙げていきます。

  • 個人/KYC事業者/その他企業を含めたソーシャルグラフのような与信ネットワークによって個人やKYC事業者それぞれの信用度が算出できるモデル
  • KYC事業者の信頼性を顧客の投票によって割り出すモデル
  • 投票された複数のKYC事業者からランダムに選択し、それがKYCを行うことがコントラクトされるモデル(寡占を防ぐ)
  • 投票された複数のKYC事業者が顧客のKYC Requirementsの可否(信頼に値するかどうか、KYCの結果)を投票で決めるモデル(寡占を防ぐ)

しかしどれも穴がありうまく機能しないと思われました。特に投票が絡んでくるとSybil Attackを回避することができず、投票券に価値を持たせてPoWのようなアルゴリズムをもたせる必要が出てきました(しかし報酬が弱い)。

ハッカソン会場が11時で閉まるという緊急事態により五反田での作業場所を必死に探した結果、一人3700円を払って駅前のBIG ECHOで作業をしました。

最終日

会場に到着した時点でハッキングタイム残り3時間、前日の時点でモデル/技術が複雑になりすぎていたことを実感していました。

「現実性」と「ハッカソンの成果物として価値あるもの」を改めて考えた時、明らかにスケールしないレベルで複雑になりすぎ考慮すべき課題が爆発的に増えていたため、残り1時間の時点で完全なDecentralizationを諦めることを決定しました。「KYCは政府が必要とするものなので、政府が責任を持つべき」という理論の元、以下のモデルに方針転換しました。

  • グローバルで統一的なKYCのフロー/様式が定義されていることを仮定する
  • 参加する政府とそれが委託した機関は信頼できると仮定する
  • 公開鍵暗号ブロックチェーンを介して顧客から予め定められたKYC業者(達)へと渡る
  • KYC業者(達)はブロックチェーンに結果と顧客のWallet IDを書き込む
  • 信用情報利用者(DEX)は顧客のWalletIDとブロックチェーンを照合する

できるだけ後半はモデルの変更にも汎用的な部分のみ並行でデモを作るようにしていたのですが、なかなか見せられるようなデモを最後に用意することができませんでした。

なんとかかんとか日本語のプレゼン資料と走り書きの英語の図を用意して提出、しばらくぼーっとして、なんか声優さんが来てるっていうんで歌を聴きに行きました。

小見川千明さんという人で、唯一けものフレンズで見かけていました(パンサーカメレオンなんて居たっけ? とか言ってすみません)。結構売れっ子みたいです。さすがスーパースポンサーハッカソン

楽しい人で、歌めっちゃうまかったです。ああいうふうに歌いたい... 喋ってるときの声はすごく高いのに歌声は低めのほうが得意っぽかったのが印象的だった。かっこよかった。あとBINGOをやって、「先着2名は写真集プレゼント!」という企画が会ったのですがなんと2着になり同時にBINGOになった人とのじゃんけんにも勝ってしまい、サイン入り写真集もらいました。なんとハグもしてもらいました(そして激写される)。

(なんかこれハグを遠慮する人みたいになってますが、右手は写真集を持っていたからで、左手はちゃんとハグさせてもらいました)

写真集、せっかくもらったので大事にします。いい思い出になりました。

その後、チームごとにブースを建ててそれぞれのハッカソンの成果を見たり、審査員にアピールする時間に移ります。もうまじで英語わからん。久々に喋りました。喋れてないけど。

初めての他チームのやってることをちゃんと見れる機会でもあったのでいろいろ思うところもあって、まず自分たち技術的なレベル低いなあ... というところ。

もちろんハッカソンは技術的なレベルだけを競うものではないのでそれだけで負けっていうわけではないのですが、全くわからない分野に素手で殴り込みに来てしまった分、インターンに行った時なんかよりぜんぜん「無力さ」を実感し、後悔しました。

ハッカソンに申し込むってわかったときからでももっと勉強できたはず。ブロックチェーンっていう技術をキャッチアップしてなかった技術者としての敗北感。もちろんそんな分野は山ほどあるしきりがないけれど、でもここに来てしまった以上そういう言い訳をする気にはなりませんでした。

まとめると勉強しようって思った。

あとこれはずっと思ってるけど英語もね。必須。

それからもうちょっと技術的で細かい所を行くと、やっぱりプロトコルレベルから新しい何かを提案できないか? ということを考えられる頭を持っていくべきだったなと。ブロックチェーンはそれ自体の開発もまだまだ活発でいつ何がひっくり返るかわからないので、そこから考慮して行きたかった。いや、一番最初に弾いたんだよね。今の自分たちではそこを考えることは無理なので、そこ以外の路線で行こうって。つまり勉強しようってことか。

あとそれに関連して、もう一つ強く実感したのはやっぱり「ブロックチェーン、このハッカソン的面白さは今しか無いかも」という話。こんだけ未成熟で無名の学生だってブロックチェーンの基盤技術の提案がWelcomeな状況。すごく貴重な瞬間に立ち会っているんだなと思った。ただそういう時期独特のしんどさというか、逆に言えば変化が激しい分キャッチアップも無茶苦茶大変だろうなーとも思った。面白いところでもあると思うけど。

まとめると勉強しようって思った。おわり。

まあ話を戻して、とりあえず審査員に伝えたいことは伝えられて(日本語も中国語もわかる人の力を借りて)、最終コンペティションには選ばれませんでした。

んー世界はちゃんと筋が通るようにできてる。

最後に最終コンペティションに残ったチームのプレゼンを聞いて終了だったんだけど、同じKYCのテーマを選択してたところは1チームも残っていなくて残念だった。

あまりその前のブースでも他のソリューションを聞けなかったので(というかそもそも見かけなかった)、かなり残念。「ビッグデータを活用したWalletIDの分類」とかAtomic Swapの課題が多かったかなー。

そんな感じで、あとはめっちゃうまいケータリングの(その場で握ってもらえる)寿司とピザを食べて終了。

その他全体を通して思ったこと

だいたい上記までで思ったことも書いた気がするけど、他にも反省点があって、

まずひとつはせっかく夜遅くまで掛けて(チームメイトが)作ったデモがプレゼンでほとんど活用されず無駄になってしまったこと。

これってなぜ起こったかと言うと、

  • 直前まで仕様変更が続いた
    • 逆にそれが予想されていたので、具体的な部分まで作れなかった
  • そもそも何を作ればいいかイメージがついていなかった
    • 全員で「何を作るか」の共有が必要... ただこれは今回より抽象的なレベルでの変更が続いたので無理そう
    • 誰も技術に慣れていなかったため、具体的な実装がイメージつかなかったというのも大いにあった

という感じで、結局「抽象的な部分に集中しすぎて具体的なデモなんかをちゃんと見れていなかった」というのが大きい気がしているんだよね。

それって結局プロジェクトのマネジメントがうまく行っていなかったということで、そこをよく考えていきたいと思っている。具体的には、

  • ハッキングタイム中のタスクはどう分割できてどう振り分けられるのか?
  • 特に技術者中心のハッカソンでのチームでは技術的に最もできそうな人にマネジメントが集中するケースがあるが、本当にそれは意味があるのか? 逆に情報の集中を招いていないか?
  • ハッカソンにおけるプロジェクトマネジメントで必要最小限の業務は? 本当に必要なことは何か?

みたいなところ。本音を言うとこれらを勉強して、うまくアウトソースして自分は開発に専念したい。

次に感じたことは、「ブロックチェーンって技術的におもしろい」というところ。

特に今回感じたのは「原理的に価値を効率よく集めることができない(ズルができない)」という部分を学ぶのが新鮮で、管理者(つまり見張っている特定の人)がいないのにそれが実現できる「技術」というのは、おもしろいなーと思った次第。「社会をハックする頭」の使い方って論理と言うよりはビジネスを考えるときに使う頭に似ていて、割と目からウロコな体験も多かったのでこういう頭の訓練をしておくと後々技術にも生きてくるのかもなーと思った(実際にブロックチェーン関連技術はそういうアイディアの集合)。

今からブロックチェーンを本格的に学ぶかは気分次第だけど、少なくとも関心はとても高まりました。

あと、ハッカソンとしての今回のイベントについて。最初に書いたとおり始めはすごい乗り気ではなかったんだけど、やってみるとハッカソンとしてみれば実はすごく良いイベントだったんじゃないかと思った。理由としては、

  • 解決すべき課題を限定し、かつ技術的に難しいものにすることでハッカソンにありがちな「現実性がない」「その場限り」みたいなことを防ぐことができる。アイディアが絶対将来に役に立つ。
  • 海外から沢山の人が来ていて楽しい。翻訳できる人も多いので自分たちでもなんとかなった。
  • お金がたくさんあるところを随所に感じたけれどスポンサー感はまったくなかった。国からとかもお金出てたからだろうか... お寿司とピザまじでうまかった。

みたいなところ。めっちゃいいイベントだなと思った(自分たちはしんどかったけど)。唯一運営として微妙だったところは11時で閉まってしまうような会場と、会場から遠い宿泊場所。

まとめ

以上です!