こんにちは! TECH Street 編集部です!
今回は2022 年9月29 日(木)に開催した、「Web3エンジニア勉強会〜ブロックチェーン業界トレンドとエンジニアによる開発知見LT~」のイベントレポートをお届けします。
この10年で一気に世の中に広まったブロックチェーン。そもそもグロックチェーンとは何なのか、NFTって?そんな基礎的な疑問の解決から、業界を取り巻く課題や最先端の取り組みを、登壇者のお二人が実際の開発事例等を用いてお話いただきました。
登壇者はこちらのお二人です。
難波 諒太郎さん/株式会社アーリーワークス
冨平 準喜さん/株式会社AldeaLab、CommentScreen株式会社、AI Picasso株式会社
早速内容を紹介します!
まずは株式会社アーリーワークスの難波さんより「ブロックチェーンの概要と今後のトレンド」についてお話いただきました。
ブロックチェーンの概要と今後のトレンド
難波: 本日はブロックチェーンの定義やイメージをお伝えした後に、ブロックチェーンのプロダクトやブロックチェーンを活用したプロジェクトのお話をしたいと思います。また、最後にNFTに関連するスマートコントラクトについてご紹介します。
ブロックチェーンとは?
まずはブロックチェーンの定義についてお話します。
日本ブロックチェーン協会によって定められている定義と広義のブロックチェーンの定義の2つがあります。
まずブロックチェーンの定義について説明いたします。今回はビットコインを例にします。
1.ビザンチン障害を含む不特定多数のノードを用い、 時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、 またはその実装をブロックチェーンと呼ぶ。
2.電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、 高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。
1つ目のブロックチェーンの定義についてですが、ビットコインにはPoWというコンセンサスのアルゴリズムがあります。こちらはコンピューターのマシーンリソースをかけてハッシュ計算をする必要があります。このマシーンリソースを全ネットワーク以上のマシーンパワーをかける必要がまず覆す上ではあるということと、ブロックが記載されればされるほどブロック分の計算を再計算する必要があるので時間経過とともにそのブロックを覆すことが難しくなる=ブロックチェーンの定義を満たしております。
2つ目の広義の定義についてですが、ビットコインの場合はトランザクションに電子署名というものが付与されています。この検証およびブロックのハッシュ計算の結果でのブロックハッシュを全ノードで比較することでデータの統一性を実現しています。また、複数ノードでネットワークを構築しているので、1つのノードが落ちたとしても高可用性でシステムは継続できるということで、定義を満たしております。
ブロックチェーンのデータイメージ
次にブロックチェーンで保有される情報のイメージを紹介いたします。
従来のデータベースとブロックチェーンを比較いたします。
左側のデータベースを示しているでは、ノートに鉛筆で字を書き込んで消しゴムで消すイメージです。何度も書いては消し、上書きをすることを繰り返すことが可能です。
この状態は実運用上、取り回しが聞きやすくメリットも大きい反面、運営を信用する必要があります。
一方でブロックチェーンの場合、ノートにボールペンで書いてしまうイメージです。
上書きができず、変更をしたとしても二重線を引いて以前のデータをそのまま過去履歴として読み取ることができる状態であると言えます。
これがビットコインなどの暗号通貨の送金する際には
・送金履歴が削除されていないこと
・改竄されていないこと
この2点をすべて履歴として確認できるため、不正な改竄が行われていないことが分かります。
ブロックチェーンのネットワーク
左側:従来のデータベースによるネットワーク
これが第三者機関が中央集権的にデータを管理しているイメージです。
右側:ブロックチェーンのネットワーク
ネットワークを構成するサーバーのようなそれぞれのノードが同一の台帳情報を保有しているため、送られてきた台帳情報と自身の持っている台帳情報が正しい情報かどうかの検証をすることで、各ノードがそれぞれを監視し合って改竄を検知する仕組みができています。
これらの特徴によってブロックチェーンは不正なデータを時間経過に伴って改竄を困難にし、かつ履歴データを残すことで正しい取引が過去行われたことを保証できる仕組みになっています。
まとめると…
・高い改ざん耐性
・ゼロダウンタイム
・情報の透明性
以上4点がブロックチェーンの主な利点です。
ブロックチェーンのプロダクトについて
ブロックチェーンには様々な種類がありますが、著名なプロダクトを4つ紹介いたします。
それぞれ
・コンセンサスのアルゴリズム
・トランザクションの処理数
・トランザクション手数料
という観点からお話します。
〈ビットコイン〉
PoWによってコンセンサスを取ります。その場合、ビットコインの場合1秒間でおよそ6件から7件の処理数を実現でき、手数料は1件あたり15ドルかかります。
〈イーサリアム〉
こちらはコンセンサスのアルゴリズムがPoWからPoSに変わりました。ここにあるデータはPoW時点のデータになりますが、トランザクションの処理数は13件から15件ほど、手数料は10ドルから20ドルほどになっています。
イーサリアムのようにトランザクション数に応じて手数料が高くなるという問題とトランザクション処理数が13件から15件ほどでは間に合わないという問題を解決するためのプロダクトを2点紹介します。
〈Solana〉
こちらのコンセンサスのアルゴリズムはすべて説明すると非常に難しいのですが、特筆したアルゴリズムとしてPoHというものがあります。
こちらはトランザクションにユニークなハッシュとカウントと呼ばれる数値を保有しています。これによりトランザクションの時系列順が事前に決まっているので、非同期処理的にトランザクションの処理が可能となり処理能力を非常に向上させる仕組みになっています。
トランザクション処理数は、公式では1秒間に5万件ほどと発表されており、ビットコインやイーサリアムと比較しても多く、手数料も0.00005ドルほどと安価になっています。
〈アバランチ〉
こちらは独自のアバランチコンセンサスという独自のアルゴリズムを使っています。これは確率論的に覆ることがないとされるノード数ごとに承認するトランザクションを分担して並列処理でそれらを承認することで処理能力を高めています。トランザクションの処理数は1秒間に4500件程度とビットコインとイーサリアムと比較しても多く、手数料も0.1ドルほどと安価です。
ブロックチェーン本体を利用したサービス
先ほど話したNFT関連の話をしましょう。
・Crypt Punks
こちらは1つのNFTが高価で売買されたもののうちの1つです。これはまさにコレクションという感じで結構昔に発行されたNFTです。現在のところ、このNFTを保有していることが、昔からNFTを売買したりしている古株としての証であり、業界のステータスになったりします。過去には当時の時価で約27億円という価格で売買されたりもしました。
・Art Blocks
これはGenerative Art専門のNFTプラットフォームです。
購入されるまで実際に作ったクリエイターも、購入者もどんなNFTが出るかわからないというコンセプトが注目を集めたりしていました。こちらも以前は高い金額での取引がありました。
・Axie Infinity
こちらがNFT×ファイナンスのGameFiを開発したPlay to Earnの代表のプロジェクトです。こちらもアクティブユーザーがデイリーで280万人を超えるほどの大ヒットであり、NFTがゲーム業界まで進んできていることがよくわかる事例です。
・STEPN
これまで紹介したようにNFTのプロジェクトは数えきれないほど出ており、今回フォーカスしたいのは「STEPN」というプロジェクトです。
STEPNは歩く際、誰でも履いている【シューズ】をNFT化しているのが特徴です。シューズのNFTを所有しながらウォーキングすると、トークンとして報酬をもらえます。このトークンの活用方法はいくつかあります。
そのまま現金化することもできますし、より効率よく稼ぐためにシューズNFTのランクアップをするために利用することもできたりします。もしNFTをランクアップできれば、それ以降歩くときより多くのトークンを稼げるなど、ゲーム要素のあるものになっています。
STEPN全体のフロー
まずユーザーはこのアプリを使うために暗号通貨を購入する必要があります。Solanaを活用する場合であれば、STEPNのアプリをインストールすると、Solanaのwalletを生成できます。その後Solana生成したwalletに取引所などで購入したSolanaを送金します。そうするとSTEPNのアプリの中でSolanaを活用できる状態になるので、STEPNのアプリで靴を購入できます。
実際に靴を買うと歩けるようになるわけですが、その歩いた履歴や距離、それに応じた報酬は一時的にデータベースに書き込んだりしています。その情報をもとに報酬をwallet側に移動して、その移動したwalletの通貨をSolanaに変換したりすることができます。このようにしてSolanaで靴を買って、歩いて稼げるというのがこのSTEPNの仕組みです。
先ほどSolanaというチェーンを利用した話をしましたが、現状このSTEPNではバイナンスチェーンとイーサリアムチェーンに対応しており、合計3つのチェーンに対応しています。
STEPNでデプロイされているコントラクト情報
全体では39行程で非常にシンプルかつ短いコードになっています。
ベースはERC721EnumerableというコントラクトとOwnableというコントラクトを継承した形になっています。中の関数については、コンストラクターという関数から説明していきます。
これはerc721規格のSTEPNの名前をSTEPN NFTとしてシンボルをSNFTとしている処理内容です。その下の_baseURIというのが付随するメタデータを保存ができるのですが、そのメタデータの保存先を返す関数になります。
その下のsetBaseURIというのがbaseURIを上書きする関数ですが、こちらはデプロイしたオーナー権限を持つものしかできない関数になっています。その下にmintとありますが、これもオーナー権限でmint先のユーザーとそのmintするトークンIDでmintを実施するという関数になっています。最後にburnという関数でNFTを償却してNFTを使えないようにするという関数が埋め込まれています。その他にこの継承元がERC721Enumerableというオーナブルの2つがあるのでSTEPNNFTコントラクト上は叩けるといった形でスマートコントラクトが構成されています。
こちらのコントラクトを視ていただくと、複雑なゲーム関係の処理などは一切入っておらず、NFTの鋳造や、参照先の変更のコードしかありません。STEPNのバックエンドのことについて確定的なこととしてお伝えはできませんが、おそらくゲーム関係の1次的なステートはデータベースで管理して、重要なアセットなど安全にに担保したいところはスマートコントラクト上で管理している仕組みになっているものと思われます。
トークンの各種規格
今回上記4つをあげました。
〈ERC20〉
NFTではなく、“代替性トークンのFT”です。こちらは複数のwalletアドレスが複数のトークンを保有できるので、多対多の関係性になっています。
一般的な暗号通貨はこれにあたりますが、それぞれの通貨を区別できないような特徴をもっています。
〈ERC721〉
複数種類のトークンを1個ずつ発行できます。それぞれwalletアドレスは1種類に対して1個保有でき、そのため非代替性トークンと呼ばれたりしています。世の中にあるNFTの多くはこちらの規格に準拠しています。
〈ERC1155〉
複数種類のトークンを複数個ずつ発行することが可能です。複数個のwalletアドレスが複数個保有できます。そのためSemi-Fungible Token=準代替性トークンと呼ばれたりします。ゲーム内で発行されるような通貨やゲーム内で複数個あるような武器のようなユースケースにおいて利用されることが多いです。
〈ERC3525〉
ネット上にも情報があまりないと思うので、細かく説明致します。まさに今月(2022年9月)の7日に承認された規格です。見かけ上はERC1155と非常に類似した準代替制トークンです。仕様としてはERC20と721の組み合わせのような仕組みになっています。
特徴としては複数種類のトークンを複数個数ずつ発行でき、複数個のwalletアドレスがそれぞれ複数個保有できる作りになっています。こちらに加えてスロットという概念が存在して、トークンごとにこのスロットという単位でトークンを分割できます。このスロットで分けられた異なるスロット間のトークンは非代替性を保証し、同一のスロット内にあるそれぞれのトークンは代替性を実現するといった仕組みになっています。
これによってそれぞれのトークンが、同一のスロット内にある時は異なるトークン同士でも足し算引き算を実行できるようになっており、非常に汎用性が高く、使い勝手が良いERC規格ができました。
トークンのスロットごとに細かい条件を設定することも現実的になってくるため、債権、保険証券などの商品にも応用が期待されています。
まとめ
STEPNを主軸に、ブロックチェーンを活用して広いユーザーに利用されているブロックチェーンサービスを紹介いたしました。
STEPNほど活況になったプロジェクトもスマートコントラクト自体は非常にシンプルに構成されており、EVM互換であれば同一のソースコードで動く・異なるネットワーク間でも動くことをご理解いただけたかと思います。また最後にお伝えしたとおり、金融商品など広範囲の商品のカバーが期待されるような規格も現在開発されているため、ますますブロックチェーンの活用が広がっていくでしょう。
ぜひ今後のブロックチェーンの動向に注視いただければと思います。
Q&A(難波 諒太郎さん/株式会社アーリーワークス)
ブロックチェーン/NFT でのサービスを運用する場合、運用者の作業はどのようなことがあるのでしょうか。
開発対象のサービスによって運営者の作業は増減すると考えます。
原則としてはブロックチェーンやその技術を使ったサービスも他のシステムと変わりませんので、自動化できるところとできないところ、あるいはしない方がよいところも出てくると考えます。
またシステムのアップデートなどに伴いスマートコントラクトのアップデートが必要になるなど、サービスのアップデートとともに実装しなおす個所なども出てくると思います。
なぜいまweb3なのでしょう。プロ視点でビシっとしたご意見をお聞きしたいです。
「コンポーザビリティ」と「相互運用性」がポイントかと思います。
コンポーザビリティというのが、システムがコンポーネント(部品)的なものであって、作ったものがどこのプラットフォームにも出せる特徴のことです。web3では基本全ての情報がブロックチェーン上に公開されているもので誰でも参照(コピー)が可能であり、ソース元の検証ができます。
次に、相互運用性というのが、複数のシステムやデータを接続、組み合わせて運用することが可能である性質を意味します。
この2点の特徴が非常に画期的で、まさにEthereumなどをはじめとするスマートコントラクトで作成されたシステムについては、サービス間で(例:NFT関連であれば、OpenSeaやRaribleやLooksRareなどのマーケットプレイスなど)相互に連携できるようになっており、今まで人的リソースを使って管理する、APIで他システム同士をつなぎ合わせるなど、多くのカロリーを使っていた業務がブロックチェーンによってシステムとして自動化されることで、サービスの選択肢が増えたため、WEB2でできなかったことがWEB3ならできるのではないか!という期待感もあって業界が盛り上がってきているのかな、と考えます。
スマホのように一般人がブロックチェーンに接するようになるものは例えばどのようなものですか?ゲームですかね?
ゲームはひとつの体験となって普及するきっかけとなると思いますが、広義ではユーザーにとって利便性の提供などメリットを提供できるソフト(アプリケーション)かと思っています。
スマホも出た当初はappも少なかったのでガラケー人口が勝っていましたが、ゲームを含む様々なアプリケーションの充実によってスマートフォンの普及が進んだ背景があったと考えます。
すでに浸透しつつあるものとしては仮想通貨のウォレットもそうですし、GameFiなどのゲームやSTEPNのようなヘルスケアアプリなどもあげられるかと考えます。
STEPN、実際いまどうなんだろう?discordだけは入ってるけど追いかけてない
サービスの部分の盛り上がりについては、僕自身エンジニアのため、営業的観点からのうまいコメントは難しいです。。。
どういったサービスであっても栄枯盛衰だと思いますのでコメントは差し控えますが、システム的観点としては2018年当時などに比べるとブロックチェーンとDBを掛け合わせることに対し業界が寛容になったなという感想です。
またSTEPNを利用するユーザーに対するユーザビリティとブロックチェーンのメリットの両立を目指したサービスのひとつとして、引き続き興味深いなと感じております。
web3サービス開発に興味あります。イーサリアムのテストネットワークで、顧客調査をしたあと、メインネットワークやAvalancheに移行することは、どの程度工数がかかるイメージなのでしょうか?その場合、おすすめのチェーンはどこでしょうか?
チェーンについてはそれぞれ個性があるため、どういったシステムを作りたいのかが肝かなと思います。そのうえで継続的に使えるネットワークの保持については市場の動向の察知なども必要ですので、一概にこのチェーンがというのはないという印象です。現在の流行としてはEVMなのでイーサリアムはマストかなと思います。ちなみにAvalancheはノードを立てるための学習コストは払う必要があるという所感です。
イベント内容目次に「* ERC1155とERC721について」とあるのですが、OpenSeaで作成配布したNFT画像の転売履歴を追跡したい場合はチェーンにイーサリアムを選択してERC721で生成しなければ不可能なのでしょうか?ガス代を節約するためチェーンにポリゴンを選択すると勝手にERC1155になってしまいます。とてもややこしく良い解説書籍などがあればご紹介いただけると助かります。
ERC規格についてはEVMの流行もありチェーンをまたぐ場合なども考慮していくと複雑化していることは共感するところです。
他方、規格の制御についてはチェーン内で完結するものはシンプルなので、一度本質的な教本や技術書に立ち戻ることも大事かと思います。
そういう意味では実書としてはマスタリングイーサリアム、WEBドキュメントであれば公式のものをおススメいたします。
ブロックチェーンってなにから勉強すればよい?そもそも非エンジニアからのイキナリは厳しいですか?
僕自身もエンジニア経験が浅いところからブロックチェーンの開発を始めましたので、右も左も分からない状況について非常に共感いたします。
個人的に思うことは、一番最初からブロックチェーン自体のアルゴリズムまわりは難しいので、ここから学習すると心が折れてしまうことがあるかと思います。僕自身の経験も踏まえると、おすすめは、まずはシステムを作って動かすという小さいところから取り組んでみることをおススメいたします
開発言語については、まず最初はJavaScriptとSolidityという言語で簡単なところから始めてみると良いと思います。
そこからシステム規模が大きくなってきたら大規模システムの作り方を勉強していくという流れで、進めてみていただけると一つ一つのブロックチェーン技術への理解もシステム開発全体像への理解も深まり、少しずつ慣れ親しんでいただけるかと思います。
web3、NFT、IT業界だけじゃなく、別の業種・業界でのビジネス事例がしりたいです
手前味噌ですが、弊社では不動産の賃貸契約システムをブロックチェーンによるコントラクトで契約締結を終えるシステムを提供しています。
ブロックチェーンはその改ざん耐性から契約行為と非常に相性がよく、世界を見ても契約行為に関するブロックチェーンプロダクトは今後も増えていくと考えます。
確かに、スキルを得るにはどういうPGM言語からやれば良いのか気になる。
イーサリアムを動かしてるSolidityという言語とJavaScriptを触ってみるのが最初かなと思います。まずはその2つを触ってみるのが良いかもしれません。
処理数と手数料、いままでのシステム開発ではなかった感覚なので慣れないです。人に説明する時、どういう風に話せば良いでしょう。
パブリックチェーンにおけるジレンマだとは思いますが、ブロックチェーンがgas代など従量課金であることを考えれば、オンプレで高い金額で自前で用意していたサーバーをドカンと費用を出して買っていた昔からすれば、今のクラウドサーバーサービスも従量課金となり、ギャップによって当時のエンジニアの方々も理解が追い付かなかったような気がしておりまして、こちらになぞらえて説明するのはいかがでしょうか??
NFT事業を運営している会社はどのように利益を得ていますか?
一般的にはNFTの売買収益であったり、NFT流通によるロイヤリティあるいはプラットフォームなどの場合は利用手数料が上げられるかと思います。
NFTってアートのイメージしかなかった。STEPN以外にもアートじゃない事例ありますか??
アート以外ですと、ゲームもそうですが、卒業証明書や会社在籍証明書などの証明書群、イベント会場の入場チケットなどに使われはじめています。
一風変わったものだとシャチハタさんがハンコのNFTなども出されてます。
メタバースとの関係をアドバイス願います
メタバースも大きくは定義が3つあると思っており、XRを指す、ブロックチェーンを指す、その両方を指す、といろいろあるので回答が難しいですが、仮想空間上ですべての手続き取引がブロックチェーンというトラストレスなシステムによって相手が会ったことも見たことも話したこともない第三者であっても安心して契約・取引ができる機能をブロックチェーンが担っていくのかな、と考えております。
Dappsのチェーン検討においては要領とトランザクション頻度が判断軸としては大きいのでしょうか
かなり大きなファクターだと考えております。
GSTに交換する際のガス代について聞きたかったです。運営が払っているんですね
説明が足りなかったかもしれないですが、SpendingからWalletに移す場合は運営が払っており、Wallet上で交換する際はユーザーが払っているというのが正しい認識になると思います。
ブロックチェーン周りはEVMなどの規格が定まってきているとおっしゃいましたが、もうわりと抽象化が進んでいて技術的な参入障壁はどんどん下がっていくのかなと思ったのですがどうでしょうか?
ご推察の通りかと思います。まさに規格をもとにある程度のSolidityを記載できることと、それらを既存システムの設計に織り込んで実装をすることができることでサービスの開発は、従来に比べてかなり参入ハードルは下がったと考えています。
ブロックチェーン技術が標準になった場合、各エンジニアは開発をするのでしょうか?それともただ導入だけして、、、のような感じなのでしょうか。
ブロックチェーン技術が標準になったとしても、最低限のコントラクトの作成であったり、UXを考慮した上での開発はやはり必要になりますので、その際はエンジニアは今後も知見を活かしながら継続的に開発をしていくかと考えています。
つづけて難波さんに自社で開発している新たなブロックチェーンの概要についてご説明いただきました。
独自開発ブロックチェーン「GLS」
最後に弊社が独自開発しているブロックチェーン「GLS」のお話をいたします。
弊社がブロックチェーンの課題として考えていることが2点あります。
「ファイナリティの問題」と「完全分散の弊害によるUXの低下」です。
現在のブロックチェーンは、ファイナリティが早いものは早いのですが、取引が承認されたとしても確定するまでに必要な時間が結構かかったりします。そのファイナリティに時間を要することをGLSは解消しようとしています。UXの低下については、先ほど第三者を信用せずとも動くシステムであるという話をしましたが、実際にサービスとして動くにあたって、自律したシステムであるがコントロールできない箇所があるので、ユーザーサポートに限界があります。このUXの低下を解消するためにGLSを開発しています。
GLSはブロックチェーンに存在する3つの要素が存在します。
・承認速度
・拡張性
・セキュリティの改竄体制
この3つを両立させることがブロックチェーン業界では難しいとされていますが、GLSは実現を目指して開発しています。
GLSはデータベースのメリットとブロックチェーンのメリットの2つを組み合わせようとしています。
〈データベースのメリット〉
超高速な承認、データベース上での並列処理による高TPSの実現、保存されたらファイナリティを持つ
〈ブロックチェーンのメリット〉
ゼロダウンタイム、開発コストの削減、EVM互換による学習コストの削減であったりサーバーのコストの削減、改竄体制および透明性
コンセプトとしては権利の部分は集中しつつ、管理の部分はユーザーをサポートできるようなブロックチェーンシステムとして成り立つよう開発しています。
Q&A(難波 諒太郎さん/株式会社アーリーワークス)
開発期間5か月というのは一般的に短いのですか?長いのですか?
比較したことはないですが、開発時は1日に1000行以上のコードを書いたりしています。
「NFTが成功するかどうかって、仕組みじゃなくPRに金かけられるかどうかやで」って聞いたのですが、実際どうなのでしょうか?
「世の中に認知される」「買う動機」は必要ですね。難しい質問です…!
受注証明書はスマートコントラクトのみでは実現は難しかったのでしょうか?
結論はスマートコントラクトのみでやらなかったのですが、やろうと思えばできるかもしれません
全部入りを、どうやって実装するのでしょうか?
もちろんすべての機能を最大値で設計することは不可能と考えておりますが、セキュリティであればここまであればおよそ大丈夫であろう、処理速度であればここまであればUXとして十分であろうという基準点をすべて満たす機能実装を設計から行うことで実現していると考えています。当然今後の技術革新如何によって、その基準値は変わるもののフルスクラッチで開発しているから対応可能な部分も他社と比較して多いと考えております。
DAOについては今後どうなると思いますでしょうか。
非常にドライなDAO的観点でいえばプロジェクトに貢献できない人は必要がない、といったような弱肉強食感が強く出るため、スイッチしやすい業種業態とそうでないもので大きく分かれてくると考えるため、すべての組織構造がDAO化していくことは今のところ考えておりません。よりよく生きるため、よりよく働くための今のピラミッド型の組織構造とDAO型の組織構造を今の時代にマッチさせることが重要と思いつつ、非常に難しいとも考えております。
実際にNFTがメタデータで対象のデータと紐づいていると確認するにはどうすればよいでしょうか。プラットフォームを開設する際はこちらの確認を開設者がしなくてはいけないのでしょうか。
一般的な規格に準拠しておりましたら、tokenURI関数を叩くことで、メタデータを取得することができますので、こちらで紐づいていることをご確認いただけると思います。また、確認方法についてはOpenSeaなどの他のマーケットプレイス上のNFT詳細ページにも表示されておりますので、こちらからもご確認いただけるとかと思います。
NFTのクリエーターへのロイヤリティの有無、二次流通以降のクリエイターやマーケットプレイス側への手数料はコーディング可能なのでしょうか?ERC721に含まれていないのでしょうか?
業界的にも問題になっていますが、ロイヤリティは共通化されておらず各NFTマーケットプレイスが独自実装しており、そもそもの話でいうとERC721にはロイヤリティに関する内容は含まれておりません。
一方でERC2981という規格がございますので、こちらに準拠する形で、マーケットプレイスが開発されておりましたら、ロイヤリティの共通化がなされた状態でコーディング可能です。
最後に冨平さんより『AuditDAO』の開発秘話や実際にデモの様子を共有いただきSolidityが使えるようになるまでを参加者の皆さんへ披露いただきました。
コンテストプラットフォーム 「AuditDAO」でSolidity入門しよう!
冨平: Web3プロジェクトということでAuditDAOというものを我々は作っていますが、開発のストーリーについてお伝えします。次にSolidity入門ということで、実際にデモを使いながらSolidityが使えるようになるまでのお話をできればと思います。
AuditDAO開発ストーリー
まず“Audit”と聞いても何かピンとこない方が多いことでしょう。
最近、ブロックチェーンのハッキング事件が増えているのではないかなと思います。
こういう事件があるからこそ、ブロックチェーンは危ないのではと一般の方は考えてしまいますが、ブロックチェーンを守るための努力も色々となされています。最近の事例ですと
Solanaのブロックチェーンで大規模なハッキング事件が発生しました.。これはwalletのソースコードに不具合があったことが原因でした。最近はCurve Financeでもハッキングが発生し、これはwalletの扱いが良くなかったとのことで7700万円以上の被害が出ました。
ブロックチェーンはコードが公開されているため、直接ハッキングしようとすると、できてしまいます。バグを含むプログラムを一回出してしまうとハッキングし放題です。そこでバグを見つけるのが“Audit”です。Auditとは、スマートコントラクトの公開前に監査をすることで、バグを見つけて安全なスマートコントラクトにすることです。
有名なブロックチェーンプロジェクトはすべてAuditがされています。基本的にスマートコントラクトというのは誰でもアクセスできる形になっており、1度ローンチしたらずっと残り続けるものです。スマートコントラクト自体にもお金が入っているため、1度攻撃されてしまったらお金が取られてしまいます。
開発に至った経緯
私自身、ブロックチェーン自体は4〜5年前ぐらいからやっており、ブロックチェーンの論文を書いたりしていました。Web3プロジェクトの前にステーブルコインを作るプロジェクトをやっていたのですが、その際に監査を出すときにAuditのコストが高すぎると思いました。これをうまく改善する方法はないかと思ったのが今回の開発のきっかけでした。
Auditがどれだけ高いかについての事例ですが、Auditの監査会社で一番有名なQuantstampという会社があります。約1年前ブロックチェーンが話題になっていた時、1個のプロジェクトの監査に1億円にもなっていたようです。それは開発している中心の強いエンジニアがいて、必ずチェックしますというエンジニアの組織のため、高額になるのですが、平均して1000万円ぐらいAuditにかかります。少し安いところでも500万円ぐらいです。
さらに高いだけでなく時間もかかります。Web3のプロジェクトは非常に早くて1か月単位で動いてきますが、監査を出すと2か月ぐらいかかります。Web3のプロジェクトと監査のスピードが全く一致しておらず、それも良くないということでAuditDAOを作りました。
これはAuditをコンテスト形式にできるプラットフォームです。イメージしていただきたいのはWeb3の「Kaggle」です。
Kaggleというのは機械学習のコンペサイトです。AIの精度を高めるには非常に時間がかかります。例えば、3人が1年がかりで、1%、2%高くしましたと言っても、お金も時間もかかります。それを機械学習のコンペに出すと、Kaggleには300万人の登録があるのでその300万人が同時にAIを作って競うと1週間で1年分の成果が出てしまうようなことがあります。KaggleはGoogleが買収するぐらい大きなプラットフォームです。でもWeb3はないよね、ということでWeb3のコンペサイトを作ろうと思ったのが始まりです。
何ができるのかと言いますと、まずコストが安くなります。なぜなら優秀なエンジニアを囲う必要がなく、好きで登録している人気の上位の方に託すだけでいいからです。
さらに数百人が同時に実施するので、従来であれば2か月ほどかかっていたものが48時間以内で完結します。
AuditDAOの簡単な説明
今使えるところを説明しますと、まだAuditはできていないですが、ガス代の比較コンテストは実施しています。
ガス代というのはスマートコントラクトをデプロイするためにかかるコストです。長いプログラムだとお金がかかり、短いプログラムだと安くなります。
例えばNFTを渡すだけでガス代がかかったりしてしまうので、なるべくプログラムを少なくし、ガス代を低くしましょうという考え方はよくあるのですが、このコンテストはガス代が低い人が優勝するようになっています。
Solidityはスマートコントラクトを書く言語になりますが、それを書いて提出するAtcoderのようなコンテストです。1位は賞金をもらうことが可能です。
Solidityについて
スマートコントラクトとは、ブロックチェーン上でプログラムを自動的に実行する仕組みのことです。walletからスマートコントラクトを呼べるようになっています。1つのスマートコントラクトには1つのアドレスがついており、スマートコントラクト内の変数や関数の状態は世界中のブロックチェーンをノードするもので同期されています。そのため、誰が呼び出しても、スマートコントラクトの変数や関数は同じ値がかえってくるものです。
例えばウォレットからEtherの金額を送るトランザクションを作ると、スマートコントラクト上にあるコントラクトが実行されて実際の結果が返ってきます。スマートコントラクト自体は基本的にはスマートコントラクトは1回デプロイすると変えられないものですが、やり方によっては変更が可能です。
AuditDAOデモ
実際にSolidityを書いてAuditDAOに参加してみましょう。
デモ動画を埋め込みいたします。
今後の展望
まずはAuditの案件を増やしていこうと思っています。
Web3の優秀なエンジニアがここに集まっていろんなものを作っていて楽しいというプラットフォームにしたいと思っています。また、優秀な人が集まってきたら、人材紹介などもできるのではないかと考えています。
そして、もう一つはVCへの紹介とトークン受け入れです。AuditDAOが成長していくことで、世界中の優秀なプロジェクトがみんなここに申し込むことになりますので、投資活動なども行っていきたいと考えています。
最後に世界中には様々なプロジェクトがたくさんあり、良いプロジェクトと悪いプロジェクトを見極めるのが非常に難しいです。審査と一緒にプロジェクトのスコアリングと保険ができるようにしていきたいと思っております。
Q&A(冨平 準喜さん/株式会社AldeaLab、CommentScreen株式会社、AI Picasso株式会社)
組織とかコミュニティとしてDAOがしっかりビジネスとして動き出すのは現実的にいつ頃でしょうか?
DAO化の動きは増えてはいます。ただ、ビジネスとしてうまくいっているプロジェクトは数えられる程しかありません。MakerDAOは有名ですが、一度失敗を経験して3度目で成功しています。DAOとして回すには難易度が高いです。投票が分散化しすぎると、良い意思決定が出来ないというデメリットがあります。DAOを立ち上げて上手くいくまでは2〜3年はかかるのかなと思います。
最近は上場じゃなくてDAO化を目指すと聞いたのですが、そんな世界なのでしょうか?
最近は株式会社という概念ではなく、DAOという概念になっている。DAOの上場が増えているかと思います。会社の株式がDAOになりつつあります。DAOにはガバナンストークンがあるのですが、それが会社の株式のようなものです。そのガバナンストークンを持っているほどDAOの意思決定に関与できるという仕組みです。ですので我々もバイナンスなどの取引所に上場していくことが目標になっていくと思われます。多くのweb3企業はガバナンストークンの上場を考えているかと思われます。
すごい、、、小3からか、、、きっかけは何でしたか?
ポケモンが好きで、自分でゲームを作ってみたいというのがきっかけでした。
DAOは組織形態としていかがでしょうか。メリットとデメリットはどのようなことを実感されてますでしょうか。
メリットは、プロジェクトの応援者を増やせること、株とは違って分散型取引所にてすぐに価値がつくこと。
デメリットは、意見が分散してしまうこと、分散して自立できるプロジェクトを作るのが難しいこと、一般的にコミュニティに配布する配分が大きいため創業者の持株比率が相対的に低くなることです。そのため時価総額が低くなってしまうと創業者のメリットが少なくなってしまいます。
どういう勉強してどうやって情報収集してどういう言語からやったか聞いてみたい、エンジニアとして気になる!
私はC言語から入りました。基本的に自分一人でネットでぐぐって勉強していました。何か作りたいプロジェクトがあると、新しい言語を勉強する感じです。
スマートコントラクトは監査を考えたら維持費が案外かかる?
まず、メインネットの公開前に必ず監査を入れる必要があるので、初期のタイミングで費用がかかります。一回だけではなく、複数監査を受けたほうがいいという風潮があり、複数受ける場合には維持費がかかる形になります。ただ複数受けるようなプロジェクトは、もうすでに何億も調達しているプロジェクトが多い印象です。
このDAOでは貢献したらガバナンストークンが報酬になるんですか?
このDAOではランキング上位者には、USDCが配布されます。今後はガバナンストークンの配布も考えています。
ガス代は定量的に判断できると思いますが、バグや可読性などの品質に関するランキング付けはどのように行うのでしょうか?
テストが通ったものだけが、ランキングに反映されるようになります。
OSSのGPL3ライセンスになってますが、一般的なんでしょうか?
MITライセンスが一般的です。
大企業や政府が利用するようなアプリケーションの開発が全てkaggleみたいな個人の競争によって作られるような時代は来ると思われますか?
開発自体はスタートアップが中心に行われるかと思いますが、Auditなどのバグを見つける作業は個人の競争になっていくと思います。
国内では法的にDAOのトークン発行が難しい中でDAO参加者のインセンティブはどうやって設計しているのでしょうか?ガバナンストークンのみでしょうか?
現状で国内でDAOを発行するのは難しいです。日本人が行うプロジェクトでも、シンガポールやドバイで登記して、トークンを発行するのが一般的です。
イベントレポートは以上となります!
次回のレポートもお楽しみに♪