見出し画像

「NOT A HOTEL NFT」を支えるシステムの全貌

こんにちは、2022年8月にNOT A HOTELにソフトウェアエンジニアとして入社した伊達 明伸です。現在はNOT A HOTEL NFTを購入したり、利用するためのシステム開発を担っています。今回はNOT A HOTEL NFTを支えるシステムとはどのようなもので、どのような仕組みで動いているのか、テクノロジーの観点からお伝えします。

NOT A HOTEL NFTとは


「NOT A HOTEL NFT」とは、NOT A HOTELを年間1日単位から利用できる会員権です。ある特定の同じ日が毎年「旅する日」に変わり、有効期限の47年間、その特定の日にNOT A HOTELに宿泊することができます。(ちなみに47年間というのは建物の耐用年数と同じ期間です。)

「NOT A HOTEL NFT」を購入しリビールすると、保有する「MEMBERSHIP」に『毎年旅をする日』が刻印されます。毎年、チェックアウト日の90日前に「THE KEY」という宿泊券NFTが配布 (Airdrop) されます。どのNOT A HOTELに宿泊できるかは「THE KEY」がAirdropされるタイミングでランダムに決まります。現在も増え続けている全国各地のNOT A HOTELのいずれかに毎年宿泊することができるので、偶然を楽しみ、旅をしながらNOT A HOTELの世界観を体験することができます。

NOT A HOTELのメンバーシップ会員権である「MEMBERSHIP」や、宿泊券である「THE KEY」も、OpenSeaなどのNFTマーケットで売買することができます。

*詳しくはこちら: NOT A HOTEL NFT

左:MEMBERSHIP X、右:THE KEY

より多くの人に届けるため、買いやすさを追求


今回NOT A HOTELがMEMBERSHIPの販売を決め、その手段としてNFTを選定した背景を説明します。端的にいうと「NOT A HOTELをより買いやすくして、多くの人に届けたい」からです。

これまでNOT A HOTEL購入の最小単位は30日分の所有権でしたが、それをより買いやすくするために1日単位で購入できる方法を試行錯誤していました。しかし、1日単位でも所有権として購入すると、登記や重要事項説明などの手続きを踏む必要があり、とても買いやすい状態とはいえません。 加えて、今後、海外にもNOT A HOTELをつくっていこうと考えていますが、海外の不動産購入となるとなおさら複雑性が増します。

そこで所有権ではなく「利用権」として販売することで、1日単位の販売において煩雑な手続きを踏む必要がなくなります。また、プレゼントや売買、譲渡もしやすくなり、流動性も高くなります。

日付をランダムにしたのは、偶然性を楽しんでほしいからです。ただ旅をするのではなく、なんでもなかった日が「毎年旅をする特別な日」に変わり、人生の記念日が一つ増えるというのも、より購入者が楽しんでもらえる体験になるのではと考えています。加えて、ホテル経営の観点からすれば、1泊あたりの提供価格を大幅に下げることもできるようになります。ランダムに日付が設定されることで、47年間その日の稼働率が100%となるためです。

さらにNFTという手段を選定したことで、デジタル上で価値を流通させられるようになります。同じことをしたい場合に会員権を紙で発行するという手段も考えられますが、NFTにすることでインターネット上でこの権利を流通させることができるため、流動性が飛躍的に向上します。

流動性が十分高ければ、例えばMEMBERSHIP購入から10年間利用し、残りの37年間分を使わなくなってしまったというような状況になっても、残りの権利を妥当な価格で他の方に容易に移譲することができます。

また、宿泊券NFTである「THE KEY」も同様にNFTのマーケットプレイスで流通させることできます。例えばある年に宿泊に割り当てられた日程がどうしても都合があわず使えない場合、その年の宿泊券のみ他の方に売ったりプレゼントしたり、といったこともできます。逆に、特定の日付の宿泊券が欲しい場合、その日付のNFTがマーケットプレイスで出品されていれば、そこで購入することができます。もし出品されていなくても、持ち主にオファーをかけることもできるのです。

このように二次流通のハードルを下げることで、より買いやすく売りやすい状態をつくることができます。

システム概要と使用技術


システムの概要を図に表すと下記のようになります。

システム概要図

NOT A HOTEL NFTの販売サイトは、フロントエンドのNext.js、バックエンドのGo + Cloud Runで動いています。

MEMBERSHIPやTHE KEYのNFTをMint (=NFTを新しく作成すること) したり、管理したりする場合は、フロントエンドのWeb3.jsを介してMetaMaskにアクセスし、MetaMaskを介してEthereumとやりとりを行っています。

また、スマートコントラクトの内容、例えば、MEMBERSHIPやTHE KEYのNFTをMintする際の規約などを記述する際は、Solidityで記述しAlchemyを通じてEthereumのネットワークにdeployしています。

その他に使用している技術やツール、それぞれの説明は下表を御覧ください。

使用技術/ツール

システムの主な機能


NOT A HOTEL NFTを支えるシステムとして、現在開発している機能は主に4つです。

  • MEMBERSHIPの発行

  • MEMBERSHIPのリビール

  • THE KEYのAirdrop

  • THE KEYを使用した宿泊予約

それぞれどのような機能で、どのように動いているかを説明していきます。

MEMBERSHIPの発行

まずは、ユーザーがサイトからMEMEBERSHIPを購入し、そのMEMBERSHIPのNFTがMintされる機能です。この機能が最もNFTと関連した動きをしているため、詳しく書いていきます。

全体の流れを図にすると下図のようになります。

全体の流れ

①スマートコントラクトの内容を記述し、Ethereum上にdeploy
MEMBERSHIPをMintするためのコードをSolidityにて記述します。コードには、例えば下記のようなことが書かれています。

  • ETH価格の設定

  • Mint可能な数の設定

  • 一度にMint可能な個数の設定

  • Mint機能

    • 署名なしでMintする機能

    • 署名ありでMintする機能

    • 特定のアドレスに一括Mintする機能

  • Burn機能

このコードは、Hardhatという開発ツールからAlchemyを介してEthereumネットワーク上にdeployされます。これによりMEMBERSHIPのNFTのMint依頼が発生した際に記述したコードの内容にしたがって、新規NFTが発行されるようになります。

②購入開始
NFTを購入したいお客さまがWebサイトから購入ボタンを押す

③MetaMaskのアカウント情報確認
フロントエンドのWeb3.jsを介して、MetaMaskと通信します。(NOT A HOTEL NFTを購入するには、MetaMaskのアカウントが必要なので、ユーザーはMetaMaskにログインした状態で購入を開始します) MetaMaskのアカウント情報を確認し、本人確認を行います。

④署名の生成
MetaMaskで本人確認のための署名を作成してバックエンドに送ります。それを受けバックエンドではMintを実行するのに必要な署名を作成し、フロントエンドに返します。

⑤購入承諾
バックエンドからMint用の署名が届いたら、ユーザーに購入金額、手数料を提示し、購入の承諾を得ます。

⑥⑦新規NFTのMint
ユーザーが購入を承諾したら、MetaMaskはMint用の署名をEthereumに送ります。それを受けて新規NFTがMintされます。MintされたMEMBERSHIP NFTは、ユーザーページから確認ができるようになります。

MEMBERSHIPのリビール

ユーザーはMetaMaskのアカウントでユーザーページにログインします。ユーザーページにアクセスすると、リビールボタンが表示され、そのボタンを押すと、それぞれのMEMBERSHIPにランダムで割り当てられた「旅する日」が表示されます。

「旅する日」が刻印されたMEMBERSHIP


THE KEYのAirdrop

宿泊日のチェックアウト日の90日前になると宿泊券NFTである「THE KEY」がAirdrop(配布)されます。「THE KEY」には宿泊する日付、何泊か、どのNOT A HOTELに宿泊するのかが書かれています。「THE KEY」は、ユーザーページから確認することができます。

Airdropされた「THE KEY」

THE KEYを使用した宿泊予約

ユーザーページから予約開始ができます。予約するためのリンクが発行されて、そのリンクを踏むとスマホアプリが起動し、予約を確定させることができます。

その他、開発中の機能

ここに紹介した以外に、MEMBERSHIPやTHE KEYをセカンダリーマーケットへ簡単に出品する機能や、 THE KEYを他の人にプレゼントする機能などの開発を進めています。

開発体制


現在は下記のような4人体制で開発を行っています。

  • PdM: 1人 (社員)

  • フロントエンド: 1人 (パートナー)

  • バックエンド: 1人 (社員)

  • ブロックチェーン: 1人 (パートナー)

そのほか、ビジネスデベロップメント(事業責任者)とコミュニティマネージャーの社員が在籍しています。サイトなどのデザインは、開発の4人とは別に、パートナーのデザインチームが担当しています。

国内最大級のNFTプロジェクト


NOT A HOTEL NFTのシステム開発の一番の特徴は、国内最大級のNFTプロジェクトを支えるシステムであるという点です。

現在NOT A HOTEL NFTは約5億円分が販売完了し、今後さらに販売が進んでいくことが予想されますが、国内の数あるNFTのプロジェクトの中で数億単位でNFTが売れているプロジェクトはなかなか存在しません。

すでにこれほどの規模で事業が動いており、今後の事業成長に付随してさまざまな新しいビジネスニーズが生まれ、それをNFT含めたシステムでどう実現していくかを考え開発していく経験ができるのは、このシステムに携わる一番の醍醐味です。

また、ユーティリティを伴うNFTのプロジェクトという点でも、他のNFT関連システムと比較して特徴的なところです。

これまでのNFTプロジェクトは画像などの電子データをNFTで管理することが多かったと思います。しかし、NOT A HOTEL NFTは、建物という実存する“モノ”とNFTを紐付けていかなければなりませんし、その建物は別荘や自宅、ホテルとしての機能をそなえており、“サービス”でもあるため、単にNFTを販売して終わりというわけにはいきません。Web3とWeb2、そしてリアルな"モノ"をどう織り交ぜて、サービスを実現していくのかを考えるのも非常に特徴的でおもしろい点だと思います。

誰もが普通にNFTの利益を享受できる状態を目指す


今回のMEMBERSHIP購入者の中には「NFTを初めて購入した」という方が多く、JPYとEthereumの決済選択肢の中でJPYを選んだ方も多数いらっしゃいました。そのような状況から、これまでNFTに親しみがなかった人でも「誰もが不安を感じることなく普通にNFTを使えていて、その利益を享受できる状態」を目指しています。

現在だと、NFTを個人で管理するのはなかなかハードルが高いものだと思います。秘密鍵を自身で管理する必要がありますし、秘密鍵が入ったスマホを壊してしまった事例や、秘密鍵を奪われるといった事例を聞くこともあります。そういった不安をなくし、より多くの人にNOT A HOTEL NFTを届けることができる仕組みを構築していきたいと考えています。

さらにお話を聞きたい方はカジュアル面談へ


NOT A HOTELのメンバーと気軽にコミュニケーションをとることができます。気になるトピックがある方は、ぜひカジュアル面談のお申し込みをお待ちしております。(多数ご連絡いただいた場合は、すべてにお返事を差し上げることが難しい場合もございます。ご了承ください。)


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