Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ブロックチェーンとNFT 〜事例と動向〜@IPSJ CHUGOKU Conference
Search
NAKAO Kazuyoshi
August 26, 2022
Technology
0
270
ブロックチェーンとNFT 〜事例と動向〜@IPSJ CHUGOKU Conference
NAKAO Kazuyoshi
August 26, 2022
Tweet
Share
More Decks by NAKAO Kazuyoshi
See All by NAKAO Kazuyoshi
薬局DXのための分散型アイデンティティ技術の活用
nakao4532
0
180
CyberAgent in Blockchain@Loft #4
nakao4532
0
240
Other Decks in Technology
See All in Technology
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
510
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
100
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
140
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
210
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
100
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
870
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
180
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Unsuck your backbone
ammeep
668
57k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Agile that works and the tools we love
rasmusluckow
327
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
GraphQLとの向き合い方2022年版
quramy
43
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Transcript
ブロックチェーンとNFT - 事例と動向 - 2022.8.26 情報処理学会中国⽀部主催講演会
プロフィール 名前︓ 仲尾 和祥 所属︓ 株式会社サイバーエージェント AI事業本部 DX本部 ブロックチェーンスタジオ ブロックチェーンに関わる活動︓
・情報銀⾏サービス事業の実証実験 ・医療分野での情報連携プラットフォームの設計 ・Web3サービス事業の技術⽀援 @osho4532
1. ブロックチェーンの基礎 2. EthereumとNon-Fungible Token(NFT) 3. NFTの活⽤事例 4. 研究動向 ※︓本資料はブロックチェーン技術に関する情報共有を⽬的にしており
暗号資産等の投資には⼀切関係ありません
ブロックチェーンの基礎
ブロックチェーンの構成技術 ブロックチェーンの定義(ISO/TC 307から引⽤)︓ distributed ledger with confirmed blocks organized in
append-only, sequential chain using cryptographic links. ・Cryptographic Links: ハッシュ関数を利⽤し、データをリンクさせる管理⽅法 ・Confirmed Blocks: ネットワーク参加者全員が正しいと承認したデータ ・Distributed Ledger(DLT)︓P2Pネットワークで同期された台帳データベース → 取引データを恒久的に検証可能な形で記録可能なネットワークを実現
Cryptographic Links ハッシュ関数を利⽤し、データをリンクさせる(改竄の検証を可能にする)管理⽅法 ①最初のデータを記録したブロック1(GENESIS BLOCK)を⽣成する ②ブロック1に記録したデータをハッシュ化する ③②のハッシュ値と共に新たなデータを記録したブロック2を⽣成する ④ブロック2に記録したデータをハッシュ化する ⑤④のハッシュ値と共に新たなデータを記録したブロック3を⽣成する
Confirmed Blocks ネットワーク参加者が正しいと承認したデータ(ブロック) 前提︓ブロックチェーンでは、複数の参加者が同時に取引を⾏う可能性がある →ある時点で実施された取引の数量を確定(承認)させる必要がある コンセンサスアルゴリズム︓ネットワークの合意形成⽅法を定めたアルゴリズム ・クラシカルコンセンサス︓数理的に保証された合意形成⽅法 ・ナカモトコンセンサス︓確率的なアプローチによる合意形成⽅法 Tx2 Tx3
Tx1 Tx4 Block Tx2 Tx3 Tx1 Tx4
クラシカルコンセンサス 数学的に保証された合意形成⽅法(例︓PBFT、HotStuff) 分散システムの課題︓ビザンチン将軍問題の解決が必要 ・絶対的に正しい中央管理システムが存在しない ・故障/悪意を持ったノードがネットワークに参加する可能性がある PBFTのアプローチ︓ ①故障許容ノード数fを決める ②3f+1以上の参加ノードを集める ③リーダーをランダムに決定する ④トランザクションを残りの3f個のノードで検証
デメリット︓ ・不特定多数のノードが参加する場合に適⽤不可 ・ノード数に応じて通信負荷が⾼くなる
ナカモトコンセンサス 確率的なアプローチによる合意形成⽅法(例︓Proof of Work、Proof of Stake) クラシカルコンセンサスの課題︓不特定多数のノードによる合意形成が不可 →ブロックのリンク分岐を⼀時許容し、⻑期的な攻撃を現実的に不可能にする 想定される攻撃⼿段︓Sybil Attack(51%攻撃)
攻撃を成功させるには、マージが発⽣まで攻撃ブロック⽣成を成功する必要有 Block N+1 Block N Block N+1 Block N+2 Block N+3 Block N+3 Block N+2 Block N+3 Block N+4 : 正常なブロック : 削除予定のブロック : 攻撃ブロック
Distributed Ledger(DLT) P2Pネットワークで同期(コンセンサスアルゴリズム)された台帳データベース ①更新 ②同期 ③参照 特徴︓ ・各ノードは同⼀のデータを同期保持 ・全ノードでデータ操作可能 ・Cryptographic
Linksにより操作履歴を保持 ・操作履歴の削除/変更は不可能
EthereumとNFT
Ethereum 2015年にリリースされた第⼆世代のブロックチェーン 特徴︓ ・プラットフォーム上の共通通貨として$ETHを提供 → 送⾦の他、トランザクションの発⾏時に⼿数料(GAS)に必要となる ・任意のプログラム(コントラクト)を保存/実⾏可能 ・コントラクトを⽤いてトークンと呼ばれるデジタル資産を作成可能
コントラクトについて EVM(Ethereum Virtual Machine)上で動作する任意のプログラムのこと 特徴︓ ・チューリング完全な専⽤のプログラミング⾔語(Solidity)で作成可能 ・参照透過性を保つために外部データにアクセスできない ・GASはEVMが実⾏する命令(オペコード)ごとに消費され、0になると実⾏停⽌ ・トークンと呼ばれるデジタル資産は標準仕様に沿って作成する必要がある
Ethereumの標準仕様 多くのOSSと同様に、改善提案(Improvement Proposal)から策定される EIP(Ethereum Improvement Proposal)のステータス変移︓ EIPのステータスがFinalとなったもののうち、アプリケーションの標準仕様は ERC(Ethereum Request for
Comments)として規格化される Withdrawn Final Living Last Call Review Draft Idea Stagnant
Non-Fungible Token(NFT) ブロックチェーン上で、個々に識別する必要のあるデジタル資産の総称 UUID(コントラクトID+トークンID)を付与して識別 例: ・ブロックチェーンゲームのアイテム/プレイアブルキャラクター ・DvP決済に利⽤される証券 ・個⼈/Walletに紐づいた情報(ニックネーム、SNSアカウント等) ユースケースに応じてERCが策定されており、現在も増加している →本⽇は、EIPのステータスがFinalになっているNFTのERCを4つ紹介する
注意︓ERCの番号は、単にX番⽬にEIPとして提案されたという意味でしかない
ERC721 Non-Fungible Token Standard(2018-01-24 Created) ・⼀番最初に作成されたNFTの標準仕様 ・個々のトークンを識別できないERC20トークンと差別化するために提案された 機能︓ ・NFTの移転と、移転した履歴の追跡ができるインターフェイスを標準化 →個⼈間のNFTの移転/オークション等の第三者を介した移転を実現
・(OPTIONAL)メタデータ拡張機能として、NFTと資産の紐付ける⼿段を提供
ERC721:NFT移転インターフェイス ERCでは、基本的にSolidityによる関数と機能説明を定義
ERC721:メタデータ拡張について NFTと資産との紐付けについては、JSONファイルのURIを保持するのみである → 偽物のNFTを作成し、本物と思わせて販売するような⼿⼝が発⽣している URL: https://yyy.com/image/1 NFT A NFT作成者 JSON
{ “imageURL”: “https://yyy.com/image/1” } 参照 URI: https://xxx.com/json/1 参照 偽NFT作成者 NFT B 参照
余談︓On-Chain NFTについて NFTに紐づいたJSONファイルや画像ファイルは恒久的に存在するとは限らない →画像ファイル(PNG, SVG)をOn-Chainで管理するOn-Chain NFTが存在する ⽅法: 容量の⼤きいSVG画像の場合 Storage Layer
Storage Contract 01 Storage Contract 02 Storage Contract 03 ・・・ Attribute Layer NFT Layer NFT Contract Attribute Contract 01 Attribute Contract 02 Attribute Contract 03 ・・・ SVGタグデータをバイナリ化して保存 NFTの属性とSVGタグデータの紐付け ユーザーへ発⾏するNFTの管理 ※︓コントラクトはブロックに保存されるため、最⼤容量が⼩さく設定されていることが影響
余談︓CryptoPunksとERC721 Ethereumで最古に発⾏されたNFTプロダクトとしてCryptoPunksがよく紹介される CryptoPunks: 24×24のピクセルアートと紐づけたNFTを発⾏したプロジェクト CryptoPunksのNFTが最初に発⾏されたのは2017-06-09と時系列に⽭盾 補⾜︓ERC721は2018-01-24に作成(EIP721は2017-09-23に作成) CryptoPunksはERC20を修正したV1を発⾏後、ERC721仕様のV2を再発⾏した
ERC1155 Multi Token Standard ・複数種類のトークン(FT/NFT)を1つのコントラクトで扱うことができる規格 ・ゲームのような複数のトークン規格を1サービス内で作成するため利⽤ 機能︓ ・複数種類のトークン(FT/NFT)を1つのコントラクトで⽣成(Mint)可能 ・1Tx内で複数のトークンを⼀括移転する機能の実現(TransferBatch)
ERC2981 NFT Royalty Standard ・NFTマーケットプレイスでは、NFT売買時にNFT作成者へ報酬の⼀部を移転する 仕組みが存在している(Royalty Reward) ・ただし、上記の仕組みは各マーケットプレイスで設定する必要があった → コントラクト内でRoyaltyの報酬額を⼀元設定できる規格を作成
機能︓ ・報酬を受け取る⼈、および報酬の割合を設定するインターフェイスの提供 ※︓強制的に報酬を発⽣させる提案EIP2571があったが、こちらは標準化されなかった
ERC4907 Rental NFT, ERC-721 User And Expires Extension ・ERC721規格のNFTへのオプショナルな拡張機能 ・NFTを期間限定で貸し出すことができるレンタル機能を追加する
機能︓ ・NFTの保有者とは別に使⽤者と使⽤期限を設定する機能
NFTの活⽤事例
デジタルアイテム/アート
Crypto Kitties ネコの育成、収集、繁殖を⾏うブロックチェーンゲーム 特徴︓ ・ゲームで育成するネコがNFTとして提供されている ・2匹のネコを使って繁殖することで、新たなネコを作成できる ・ランダムに⽣成されるネコからユニークなネコを作成するのが⽬的 ・ゲーム作成者がNFTの標準仕様を提案 https://www.cryptokitties.co/
Bored Ape Yacht Club(BAYC) Yuga Labsが提供する類⼈猿(Ape)のNFTアートコレクション 特徴︓ ・「NFTを持つ=会員権の取得」で成功した事例 ・NFT所有者のみが利⽤可能なコミュニティが存在 ・オフラインパーティーの実施
・限定グッズの販売 ・コラボプロジェクトのNFTを先⾏販売する等 ・NFTアート分野のブランド創出に成功した稀有な事例 https://boredapeyachtclub.com/#/
OpenSea 世界最⼤のNFTマーケットプレイス 特徴︓ ・2021年8⽉には32億ドルの取引 ・取引⼿数料として2.5%徴収 取引されるNFTの種類︓ ・Game: Trading Cards/Items ・Art:
Collectibles/Music/Photo ・Utilities: Domain Names/権利 https://opensea.io/
ふるさと納税の返礼品 地⽅のイラストをNFT化し、ふるさと納税の返礼品に利⽤(株式会社あるやうむ) ふるさと納税の返礼品の条件︓ 当該都道府県等の区域内において⽣産された物品⼜は提供される役務その他これに類するもの →地⽅の⾵景画等をデジタル化したものであれば返礼品として提供可能 https://alyawmu.com/furusato-nft/
プロトコル/ユーティリティ
Ethereum Name Service(ENS) Ethereum上の取引において、IDではなく名前の指定で取引可能にするサービス また、ENSはEthereumのIDだけではなく、SNSアカウント等も紐付け可能 →Twitter名をENSに登録した名前に変更することが流⾏った
セキュリティトークン (証券/保険/その他権利)
UniCask 蒸留所にあるウイスキー樽の所有権を購⼊できるNFTを販売 ・従来、ウイスキー樽を購⼊するには1樽ごとに購⼊する必要があった →ウイスキー樽を分割株式化することで⼩⼝での購⼊を可能にした ・蒸留酒は年⽉が経つと価値が向上 ※︓ただし樽で保管する必要有 ・各樽ごとに開封時期は決まっている https://unicask.jp/
コミュニティ/組織運営
Colored Carp – Nishikigoi NFT ⼭越住⺠会議による電⼦住⺠票を兼ねたデジタルアートのNFT発⾏プロジェクト NFT保持者へのサービス︓ ・デジタル住⺠専⽤のコミュニティチャット(Discord)の参加 ・コミュニティメンバーによる意⾒の集約・投票権の提供 ・NFTの販売収益をベースとした独⾃財源の利⽤⽅法検討会への参加
https://note.com/yamakoshi1023
Nouns DAO NFTを⽤いたコミュニティの形成/サービス創出を⽬指す組織運営の実験プロジェクト 前提︓ブロックチェーンの分野では、ボトムアップで様々なサービスが誕⽣した →NFTを⽤いたコミュニティを作ることでボトムアップを加速する試み 仕組み︓ ①毎⽇1つのNFTを販売し、購⼊資⾦を組織管理Walletに集約 ②NFTの保有者はNounsの組織メンバーとして活動できる ③Nounsメンバーは、組織に対して新たな取り組みの提案が可能 ④Nounsメンバーは、提案に対して承認/否決の投票が可能
⑤提案が承認されると組織管理Walletから活動資⾦を提供
Vita DAO 研究開発の新たなエコシステム構築を⽬指すプロジェクト(DeSci) 基礎研究分野での課題︓ ・研究初期における研究資⾦の不⾜(成果が⾒えないと投資がされない) ・特定企業による研究データの独占(論⽂・特許の公開が企業により阻⽌) →⼩⼝かつ多数のメンバーによる研究資⾦の確保により基礎研究を推進する取り組み トークンの活⽤⽅法︓ ・研究資⾦は、VITA(Fungible Token)にて調達
・研究成果(IP)をNFTにし、情報公開権を制御
直近の動向
新興ブロックチェーン基盤 Ethereumの課題︓利⽤ユーザーの増加により、処理速度(TPS)が問題 解決策として、3つの⽅向でプロジェクトが開始されている ①コンセンサスアルゴリズムを刷新した新たな基盤の構築 例︓Solana、Polkadot/Substrate ②Ethereumと協調動作するLayer2の作成 例︓Polygon、Avalanche、Immutable X ③Ethereum2.0の開発 このうち、②と③については連動して技術開発が進められている
Solana コンセンサスアルゴリズムにProof of History(PoH)を採⽤したブロックチェーン PoHの特徴︓ ・ネットワーク内で⼀貫性のある時間軸を提供するリーダーノードが存在 ・リーダーは、ユーザーのトランザクションを順序を付ける ・他のノードは、トランザクションの処理の実⾏と検証を実施する
Polkadot/Substrate 異なるブロックチェーン基盤が相互運⽤することを⽬指したプロジェクト ・Polkadot: 各ブロックチェーンのブロックを記録/連動させる基盤 ・Substrate: ブロックチェーン基盤を構築できるフレームワーク Ethereumの問題点︓単⼀ネットワークだけでは全てのトランザクションを処理不可 →セキュリティが担保された複数のブロックチェーン基盤を⽤意して協調動作
Layer2技術 Leyer1のブロックチェーンと連動可能な別のブロックチェーンを構築する技術 ・Layer1: EthereumのようなLayer2の記録を保持するブロックチェーン ・Layer2: トランザクション処理をLayer1とは別に処理するブロックチェーン Layer2として動作するブロックチェーン︓ ・Polygon ・Avalanche ・Immutable
X ..etc 動作イメージ
Ethereum2.0 Ethereum 1.0で発⾒した課題を解決するために進められているメジャーアップデート ・Validator(マイナー)の集中化/ブロックのファイナリティ⽋如 →コンセンサスアルゴリズムをPoWからPoSへ変更する ・短期間でのトランザクション数の増加 →2種類のチェーンを⽤意して連動することで並列処理を実現(Sharding) ・Beacon Chain: 全トランザクションの処理結果を記録
・Shard Chain: ⼀部のコントラクトのトランザクションのみを記録
本⽇の内容︓ 1. ブロックチェーンの基礎 2. EthereumとNon-Fungible Token(NFT) 3. NFTの活⽤事例 ・デジタルアイテム/アート ・プロトコル/ユーティリティ
・セキュリティトークン ・コミュニティ/組織運営で 4. 直近の動向 ・新興ブロックチェーン基盤の紹介 ・スケーラビリティ技術
ありがとうございました