見出し画像

ETHTokyo Hackathon 2024でFinalist(championing teams)に選出されました! 貢献の記録と報酬の分配ツール「Toban -当番-」

2024年8月23日~25日に開催されたイーサリアム開発者たちが世界中から集う大規模なグローバルハッカソン・カンファレンスイベント「ETHTokyo 2024」にチームで参加し、Main Track(Robust democracy)でFinalistに選出、プラチナ企業スポンサー2社からスポンサー賞をいただきました!
本記事では、最大の成果を得ることのできた3日間にわたるハッカソン参加の記録を当事者目線で書いてみます。


「ETHTokyo」は日本で初めて開催された世界中のイーサリアムコミュニティのためのハッカソンで、様々なバックグラウンドとスキルを持った参加者たちと、Ethereum Foundationのコアメンバーをはじめとする、世界中のパイオニアがカンファレンスのスピーカーやハッカソンの審査員として一堂に会する特別なイベントです。
その意義のとても大きい大会で、web3の思想ど真ん中の「Robust democracy」テーマでFinalistに選出いただけた事はとても嬉しく思います。

今回行われるハッカソンのテーマとして、「Freedom of transacting」・「Robust democracy」・「Infrastructure and tooling」の3つが用意されている。
「Robust democracy」は、中央集権の影響を軽減し、情報に基づいた意思決定や透明なガバナンス、コミュニティ間の協力を促進するプラットフォームやツールを作成するトラックとのこと。他にも、クアドラティックファンディング、シビル耐性、分散型の社会的評価システムなどのアイデアに取り組めるという。

https://www.neweconomy.jp/posts/411213



貢献の記録と報酬分配の仕組み

僕たちが開発したプロダクトは、役割ベースの報酬とP2Pの報酬分配を実装した、コミュニティの貢献トラッキングと報酬分配ツール「Toban -当番-」です。ネーミングの由来はまさに日本語のお当番(=役割)からきており、例えばコミュニティの中で掃除当番や料理当番といった小さな貢献やお手伝いに見合った報酬を簡単に贈ることができる機能を有しています。

今回のプロトタイプはHats ProtocolSpritsProtocol Guildのメカニズムを組み合わせて作成しました。

・当番制の義務と権利をHats Protocolで実装
・期間限定、issue単位の小さな貢献、お手伝いなどを拾うFractionalize Token
・少し長めの期間背負う役割と義務に対する報酬を自動計算するSpritsMaker
・従事期間に応じた重み付けをするTime Based Weight (Protocol Guild)
・後付けで貢献を拾うRetrospective Role Assign
・MolochDAOからの派生DAOツールとの互換性と位置づけ
・ユーザーの体験としてIntmax WalletもしくはSmart Walletをつかったフリクションレスな体験を作りたい

Tobanの初期実装アイデア

提出したAKINDOのプロジェクトページはこちら

Tobanの技術設計アイデア

1.ハッカソン本番までの流れ

ハッカソンに参加した理由

「ETHTokyo」を知ったのは確か6月中旬ごろ。4月〜7月にかけて社会人受講生として参加していた千葉工業大学のオンライン講座「web3概論」の中でイベント紹介があり、最終日にイーサリアム創設者のヴィタリック・ブテリン氏や元台湾デジタル発展部部長のオードリー・タン氏らが登壇するカンファレンスもあるということで興味が出てきました。

昨年「Startup Weekend Tokyo Web3」「伊藤穰一web3ビジネスビデオチャレンジ」といったweb3ピッチコンテストには参加していました(それぞれ第3位、第2位受賞)が、どちらもアイデアソンであり、本格的なハッカソンは未経験でした。タイミングとして「web3概論」を受講し終えた自分の腕試しにちょうど良いと思い、エントリーを決めました。この時点で応募テーマやチームメイトのアテは全く無かったです。

チームビルディング

そろそろテーマとチームを探さないとな8月上旬。Code for Japanの「MintRally」プロジェクトの開発でご一緒させていただいたエンジニアのりょーまさんが、Tobanのアイデアでチームメイト募集をされている書き込みを発見。既に参加表明されていたハッカソン経験豊富なHARUKIさんikmzkroさんに続く形で4人目として合流しました。エンジニア属性の4人でチームを組めたことが当日開発スピードに大きく優位に働きました。

Tobanに参画した理由

大小様々な貢献の可視化と報酬の分配については、自分の所属する複数のコミュニティ運営においても持続可能性に課題感を持っており、Tobanのもたらす役割ベースの報酬分配の仕組みが解決の糸口になるのではと考えてチームに参画しました。

様々なオンラインコミュニティやDAOにとって、相互運用性を持たせた新たなDAOツールとしては勿論のこと、ハッカーハウスや合宿所のようなボランティアベースで運営されている施設への導入にも相性が良いと感じています。例えば、新潟県山古志村の村民とオンラインコミュニティメンバーの"デジタル村民"が交わりながら運営されている「ネオ山古志村」に導入できれば、リアル&デジタル村民が真に同じ立ち位置でコミュニティ運営に参画できる画期的な施策になるかもしれません。

当日までの準備

「ハッカソン開幕の23日18時まで絶対にコードを書いてはいけない」というルールに従い、そこに抵触しない範囲で、可能な限り事前準備を進めました。8月10日よりDiscord上でプロダクト実装アイデアに関するリサーチと意見交換が始まり、当日使用する予定のHatsModulesコントラクトをHARUKIさんの技術ブログを参考に弄り倒していました。バックエンド設計と並行してロゴや全体デザインにも着手。

それぞれの機能の関係性を考える
仮ロゴ


20日頃から、出揃ってきたスポンサープライズ(賞金応募)を確認して、プレゼン先を選定してゆきました。スポンサー付きハッカソンでは、スポンサー企業の展開する技術や市場にフィットした成果物を作成し、自主的にスポンサー企業にプレゼンをしてノミネートに漕ぎつけるという流れです。複数の企業からプライズを獲得したい場合は、それぞれの企業に合った文脈を成果物に入れつつ、それらの整合性をとらなければならないので難しいです。

今回はメインプライズが3件にスポンサープライズが11件。その中でTobanにマッチするメインプライズは「Robust democracy」一択(!)。スポンサープライズは提供価値の観点から「GMO Internet Group(テーマ:アーリーアダプターだけではなく、その外側の層にいる人たちに利用者を広げる方法)」と「Mercoin(テーマ:メルカリが開発するNFTマーケットプレイスの新機能/新しいデジタルコンテンツの提案)」、技術的観点から「ENS(テーマ:ETHアドレスとENSを統合するプロジェクト)」「Cabinet(テーマ:高いスケーラビリティが求められるDApps)」にもエントリーを想定しました。

21日の夜にZoomミーティングでチームメンバーの初顔合わせと作戦会議でした。HARUKIさんとikmzkroさん、同席いただいたApolloさんははじめましてでしたが、前日までのDiscordでのやりとりもありスムーズに打ち解けました。

そして2日後、いよいよ本番へ。

Zoom会議にも出席してくれたikmzkroさんちのフクちゃん

2.ハッカソン当日

1日目:8月23日(金)

イベント会場のDRAGON GATE(渋谷パルコDGビル18F)は13時開場。ハッカソン開始時間の18時まで時間はあるものの、有給休暇をとった他のメンバーは早めに入場。3人に遅れること数時間、16時前に会場に到着しました。DRAGON GATE 18F会場は昨年9月以来で懐かしい。

DRAGON GATE エントランス
DRAGON GATE 18F エレベーター前

17時頃には既に100名弱の参加者が会場で開会式を待っている状態でした。会場入りして他のメンバーを探していると、韓国の参加者から「ウチのチームに入らない?」と声を掛けられました。18時までは単独参加or4人に満たない人数のチームは、仲間集めに奔走されているようでした。
程なくして3人と合流して、Tシャツなど無料配布記念品を貰い、座席を確保。開会までGitHubや使用予定のパッケージ等について最終確認を行ないました。

大会前の会場の様子
大会前の会場の様子(反対側)

18時になり、ハッカソンが開会しました。事前にDiscordやZoomで打ち合わせていたので、取り進めのイメージ共有が早く、役割分担してすぐに個々人で開発に入ることができました。
僕は過去「MintRally」や「HENKAKU茶道具オークション」ではバックエンドを担当してきましたが、今回は一転フロントエンドを担当することになりました。使用するフレームワークとライブラリをNext.js+Chakra UIに決めていたこと、適切なフロントエンド画面作成に関するIssueが準備されていたことに加え、アプリ構成が見慣れているHardHatのモノリポだったため大きく躓くところはなかったです。よかった。

ikmzkroさんはHatsModules周り、HARUKIさんはフォーム作成とINTMAX Wallet SDKセットアップ、りょーまさんは基本的なデプロイスクリプト作成をそれぞれ担当されました。

開会宣言とルール説明
役割分担の作戦会議

フロントエンド作業に大きな躓きは無かったものの、共同開発によるプルリク承認・マージの結果、最新版とローカル環境のあれこれとのバージョンが食い違う事態が多々発生しました。序盤は逐一修正しなければならない場面が多く一苦労でした。

19時頃には夕食として寿司が振る舞われ、飲み物は冷たいジュースから温かいコーヒーまで食べ放題&飲み放題の大判振る舞い。夕食時は他のチームも含め、会場全体が和やかな雰囲気でした。

成果物の提出・指定のフォーマットでエントリー項目記入・プレゼン動画の提出の締切が全て3日目の朝8時59分に設定されていました。そのため、山場は2日目夜から3日目朝のスパートと考え(徹夜前提!)初日は22時頃に解散。一旦それぞれ帰宅して明日に備えることにしました。※ハッカソン開催中は18Fホールを24時間開場していました。徹夜前提やん!
とはいえ、進捗報告は未明までDiscord上でやり取りして、抜かりなく1日目を終えました。

2日目:8月24日(土)

朝9時に会場入りできるように早出して、会場で振る舞われたサンドイッチとコーヒーを朝食に、昨日の続きに取り組みます。始発で僕より早く到着していたHARUKIさん曰く、1日目に徹夜で残っていたチームはほぼいなかったそう。

途中通り道の10Fエントランスで出迎えてくれるDGペンギン

HARUKIさんの担当部分とコード内容の擦り合わせをしつつ、必要なフロントエンド画面をひたすら制作。昼前になると他チームも続々と集まってきて、会場が手狭になってきたのでここで作戦変更を決断します。

大きな作業画面が欲しくなってきたタイミングでもあったので、外部ディスプレイを繋ぐことのできる近場の会議室に移って、集中できる作業環境で夜まで開発にブーストをかけました。DRAGON GATEからタクシーで20分圏内で会議室に到着、昼食はラーメン屋、夕飯は中華飯店にテイクアウトで調達し、良い気分転換にもなりました。

DRAGON GATE会場で振る舞われた夕食も気になりつつも…会議室で中華をテイクアウト

夕食後、22時まで会議室で議論とコーディングを続けた後、DRAGON GATE会場に戻りました。複数チームが居残り(徹夜)で作業している中、我々も空きスペースに陣取り、ブラックコーヒーをお供に徹夜で残りの作業に取り掛かりました。

3日目:8月25日(日)成果物提出

4時〜5時、7時〜8時の記憶が曖昧(半分寝てた)。DRAGON GATE 18Fの壁面はガラス張りで、夜はライトアップされた夜景が、朝は眩しい朝焼けが眼前に広がるなんとも贅沢なロケーション…!のはずが、記憶にあるのはひたすら眺めていたPC画面だけでした。

いつの間にか朝に

バックエンドがフロントエンドと繋がり、デモンストレーション環境が整ったのが朝8時頃(プレゼン資料は完成していた)。締切までおよそ1時間。
ここからデモンストレーションを含む3分ピッチ動画の作成、指定のフォーマットでエントリー項目記入を手分けして行います。

ピッチ動画の提出はYouTubeへアップロードしたURL以外受け付けてもらえないので、りょーまさんが3分プレゼンを繰り返しながらブラッシュアップ(録画)、録画ファイルができたら受け取り次第アップロード(新しく良いものができたら差し替え)というやり方で、納得のゆく成果物が出揃い提出に至ったのは8時57分。残り2分、間際で提出できました!!ちなみにギリギリまで粘ったのは我々だけでなく、朝8時過ぎに13チームほどだった提出物は、8時59分時点で最終的に40チームまで増えていました。

3日目:8月25日(日)スポンサープレゼン

成果物のアップロードを終えて安堵したも束の間、朝食もそこそこにスポンサー企業へのプレゼン時間が始まりました。参加チームは同じ18Fフロアに出展されているお目当ての企業ブースを訪問してハッカソンの成果物をプレゼンします。他のチームが休憩に入る中、我々のチームは即プレゼンに切り替えて動けた点で、多数の企業に時間的余裕を持って訪問でき、印象を残すことができたと思います。

株式会社メルコイン様とGMOインターネットグループ株式会社様にはTobanのツールとしての利点を、Cabinet株式会社様とENS Labs LTD様には開発時に苦労したエピソードを全面に押し出すといった具合に、予定通りそれぞれの文脈でスポンサー企業にTobanの優位性をアピールしました。

Bug Report
We found a bug of cabinet RPC URL.
I discovered a bug where meta-transactions are not processed correctly when using the Cabinet RPC URL.
Specifically, I was unable to generate TypedSignedData that includes a tuple of objects.
*Note: The same code worked correctly when using the Alchemy RPC URL.

https://app.akindo.io/communities/27X3dKjOoFjaX0E4/products/0npJeQPZnh3LAxjD
Cabinetには発見したバグについて報告しました


また、今回スポンサープライズ対象外でしたが、INTMAX Wallet SDKを使用したご縁でINTMAX(Ryodan Systems AG)様にもプレゼンとご挨拶をさせていただきました。


3日目:8月25日(日)メインプライズプレゼン

午後にはいよいよメインプライズのプレゼン審査が始まりました。5つのブースに振り分けがあり、審査員2名にプレゼンする形式でTobanはフロア中央の3番ブースでした。

メインプライズの審査員振り分け

審査員はOpen Dollar FounderのJoseph Schiarizzi氏とPWN DAO co-founderのNaim Ashhab氏。着席してのプレゼンの後に淡々と質疑応答が進み、特に突っ込んだ質問もないまま短時間で終了したため「これどっちだ!?」と一抹の不安を覚えます。

後日気が付いたのですが、Joseph氏はOpenSeaのバックエンド開発を手掛けたエンジニアであり、トークンによってステークホルダーを分散化したベンチャーキャピタルのDAO "MetaCartel Ventures"のメンバーでもあるそうです。質問が少なかったのはTobanの実現したいことやアルゴリズムに理解が深かったのかもしれません。

メインプライズ審査員の面々(https://www.ethtokyo.com/)

3日間のハッカソンで、やれる事はほぼ全てやりきれました!スポンサープライズを含む審査結果発表の16:00頃まで漸く時間ができたので、隣のビルで遅めの昼食を済ませ、それぞれ仮眠をとったりしていました。

3日目:8月25日(日)そしてFinalist選出へ

会場の参加者がソワソワし出した16:00。Discordで該当者にFinalist選出と受賞セレモニーの3分ピッチ準備の連絡が!メンバーと一緒に待機エリアで結果発表の刻を待ちます。

受賞セレモニーの連絡が来ました!
待機エリアで結果発表を待つことに

スポンサープライズが順番に発表されました。TobanはGMOインターネットグループ株式会社様よりプライズ獲得!

2.アーリーアダプターだけではなく、その外側の層にいる人たちに利用者を広げる方法-$1,000
ブロックチェーン技術の普及には、技術に詳しくない一般ユーザーの参加が不可欠です。このテーマでは、Ethereumの複雑さを隠蔽し、日常的なアプリケーションのように使えるプロダクトの開発を目指します。例えば、従来の決済アプリのようなUIを持つDeFiアプリケーション、NFTを活用したロイヤリティプログラム、または地域通貨としてのトークン活用などが考えられます。ユーザー教育と簡単な操作性が鍵となります。

https://app.akindo.io/hackathons/3dXM7ZO2WsxvlkXp
スポンサープライズの発表

続いてCabinet株式会社様よりプライズ獲得!

高いスケーラビリティが求められるDApps
Cabinet社はブロックチェーンのRPCノードを提供しています。 アプリケーション開発者とEthereumブロックチェーンのプロトコルを開発する人をつなぐ役割を持っています。ETHTokyo 2024では、Cabinetのノードに接続して、大量のトランザクション処理が必要なDAppsを開発してください
条件として、ノードプロバイダーとしてCabinetを使用すること

https://app.akindo.io/hackathons/3dXM7ZO2WsxvlkXp
スポンサープライズの発表②

最後にメインプライズが発表され、Tobanは「Robust democracy」でFinalist(championing teams)に選出されました!!

メインプライズの発表(championing teamsとしてToban, ONI-CHAN, zkCreditが選出)


副賞として、2024年11月12日~15日にタイのバンコクで開催されるイーサリアム開発者向けのカンファレンス「DEVCON」のチケットを獲得!!

副賞の発表。バンコクで開発者会議だー!


さらに副賞として、BlockApexチームからToban開発のサポートをいただけることに!!



3分ピッチはメンバー全員で登壇しました。


3分ピッチの様子
3分ピッチの様子②
Finalist全員で集合写真


閉会後はGMO Yoursに移動にしてAfter Partyに参加しました。

みんなで会場まで移動
綺麗なGMO Yoursのエントランス
エンジニアたちが互いに3日間の健闘を讃え合いました!


4日目:8月26日(月)

4日目のカンファレンスのクロージングセッションで、イーサリアム財団エグゼクティブディレクター・宮口あや氏がTobanについて言及されていたようです!!

宮口あや氏がTobanについて言及
3日間ありがとうございました!!

3.Tobanの今後

「Toban -当番-」は、今後もオープンソースソフトウェアとして開発を継続します!そこで現在、一緒に開発を進めていただけるエンジニアさん、デザイナーさん、プロトタイプが完成した際のテストユーザーさんを募集しています。ご興味がございましたらぜひお声がけください!


この記事が気に入ったらサポートをしてみませんか?