2023年9月13日(水)、ブロックチェーンハブ主催のブロックチェーンアカデミーにて使用したスライドです。
4 Ethereum IIICSO /[email protected]— 4 Ethereum III — 2023-09-13 – p.1/28
View Slide
https://speakerdeck.com/ks91— 4 Ethereum III — 2023-09-13 – p.2/28
( )SFC ( )CSO (Chief Science Officer)1993 ( )2006 ( )SFC22 P2P (Peer-to-Peer)2011 ( )2018 2019VR 2021.9 & VR 2022.32023 AI VR&RPG 2023.5 “Don’t Be So Serious”VOXEL 2023.7 DAZE 2023→ ( )— 4 Ethereum III — 2023-09-13 – p.3/28
web34 web3NFT (Non-Fungible Token)DAO (Decentralized Autonomous Organization)— 4 Ethereum III — 2023-09-13 – p.4/28
1. NFT DAO2. : NFT3. : DAO4.— 4 Ethereum III — 2023-09-13 – p.5/28
NFT DAODeFi ( )— 4 Ethereum III — 2023-09-13 – p.6/28
( )= =:. . . ( : )( ) . . .. . .. . .. . .— 4 Ethereum III — 2023-09-13 – p.7/28
⇒( ) . . .. . .— 4 Ethereum III — 2023-09-13 – p.8/28
DeFi ( )DeFi : Decentralized Finace. . .( )DeFiDAO— 4 Ethereum III — 2023-09-13 – p.9/28
NFT ( )NFT : Non-Fungible Token( )(1 ) → fungible token( ) → NFT— 4 Ethereum III — 2023-09-13 – p.10/28
ERC-721ERC (Ethereum Request for Comments) 721 EIP (Ethereum Improvement Proposal)https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.mdinterface ERC721 {function balanceOf(address _owner) external view returns (uint256);function ownerOf(uint256 _tokenId) external view returns (address);function safeTransferFrom(address _from, address _to, uint256 _tokenId, . . .) external payable;:}interface ERC721TokenReceiver {function onERC721Received(.. ., uint256 _tokenId, . . .) external returns(bytes4);}interface ERC721Metadata {function name() external view returns (string _name);function symbol() external view returns (string _symbol);function tokenURI(uint256 _tokenId) external view returns (string);}tokenURI URL ( ) ( )— 4 Ethereum III — 2023-09-13 – p.11/28
ERC-721 NFTτʔΫϯ *%൪߸63-ΞυϨε63-/'5ҰҙҰҙʁ ҰҙʁҰҙࣄ্࣮Ұҙެ։伴ͷμΠδΣετϝλσʔλίϯτϥΫτͱ͍͏ఆٛҬ˞ͦͷίϯτϥΫτͱ͍͏ఆٛҬͷதͰ ࣮ઢҹͰࣔͨ͠ҰҙੑΛอূ͢Δʹա͗ͳ͍˞ഁઢҹͰࣔͨ͠Ұҙੑ ࣮ɾӡ༻ͷ࣍ୈͰอূͰ͖Δɹྫ͑ 63- ʹͦΕ͕ࢦ͢Ϧιʔεͷ҉߸ֶతμΠδΣετΛؚΊΔ͜ͱ ྫ *1'4 ͷར༻ ʹΑΓɹʮ63-ˠσʔλʯͷҰҙੑΛอͯΔ ͦͷ߹Ͱʮσʔλˠ63-ʯͷҰҙੑແ͍ ରσʔλը૾ॴ༗ऀϝλσʔλ 63- ରσʔλ 63-ൿີ伴ҰҙҰҙʁϢʔβҰҙʁ— 4 Ethereum III — 2023-09-13 – p.12/28
NFTNFT URLMarlinspike, M.: My first impressions of web3 (2022)Web3. . .URL↑ NFT → → NFTNFT ↔NFT— 4 Ethereum III — 2023-09-13 – p.13/28
DAO ( )DAO : Decentralized Autonomous OrganizationVitalik Buterin (Ethereum )https://blog.ethereum.org/2014/05/06/daos-dacs-das-and-more-an-incomplete-terminology-guide/(1)(2) ( )(3)DAO. . ./— 4 Ethereum III — 2023-09-13 – p.14/28
: NFT— 4 Ethereum III — 2023-09-13 – p.15/28
NFTLinux (Ubuntu 22.04)Python3 + eth-brownie 1.19.3 (Python Ethereum )$ brownie bake nftnft ( )contractsSimpleCollectible.solERC-721— 4 Ethereum III — 2023-09-13 – p.16/28
NFT (1)NFTNFT$ cd nft # nft$ brownie console # eth-brownie (Python )# ↓ Python>>> network.disconnect() # ( )>>> network.connect(’mainnet’) # Ethereum>>> collectible = SimpleCollectible.at(’ ’) #>>> collectible.ownerOf(OpenSea NFT ID) #>>> collectible.tokenURI(OpenSea NFT ID) #URLURLURL ( )— 4 Ethereum III — 2023-09-13 – p.17/28
NFT (2)NFT(?)NFT>>> collectible.ownerOf( NFT ID) #>>> collectible.ownerOf( NFT ID) #NFT EthereumEthereum NFTNFTEthereumLazy Minting (?)( )( )NFT— 4 Ethereum III — 2023-09-13 – p.18/28
NFT< , ID>ERC-721OKNFT . . .ID→ NFTID NFTNFTURL . . . URL . . .→NFT— 4 Ethereum III — 2023-09-13 – p.19/28
NFTσʔλ "ϒϩοΫνΣʔϯ #⒩ʜ ʜϒϩοΫνΣʔϯ #⒪ʜ ʜεϚʔτίϯτϥΫτ $⒩εϚʔτίϯτϥΫτ $⒪ಛఆͷετϨʔδ˞Ͳ͜ʹஔ͔ΕΑ͏ͱɹ͍͠σʔλಉ͡ͷϒϩοΫνΣʔϯ͕ಉ͡Ͱҟͳ͍ͬͯͯ εϚʔτίϯτϥΫτ͕ҟͳΔΠϯελϯεͳΒఆٛҬผͱͳΔଟ͘ͷ߹ې͡ΒΕͳ͍ېࢭͰ͖ͳ͍˞/'5 ͕σʔλΛࢦ͢ํࣜͱσʔλΛ֨ೲ͢Δํࣜ σʔλͷՄ༻ੑҟͳΔͱͯ͠ҰҙੑʹؔΘΔੑ࣭มΘΒͳ͍ಉҰεϚʔτίϯτϥΫτ $⒫εϚʔτίϯτϥΫτ $⒬/'5⒩ /'5⒪/'5⒫/'5⒬/'5⒮/'5⒭σʔλ "ېͣΔΑ͏ͳઃܭίετߴېࢭͰ͖ͳ͍— 4 Ethereum III — 2023-09-13 – p.20/28
NFTNFT . . .NFT ( )↑ID . . .— 4 Ethereum III — 2023-09-13 – p.21/28
NFTNFT>>> network.disconnect() #>>> network.connect(’goerli’) # Ethereum>>> accounts.add( ) #>>> collectible = SimpleCollectible.deploy({’from’: accounts[0]}) # NFT>>> collectible.createCollectible( ) # NFTgoerli /( )“Gas used”GasGweiERC-721a ID 1— 4 Ethereum III — 2023-09-13 – p.22/28
NFT :ERC-721 NFTNFT (ID)NFT → URINFT( NFT )(ID)(URI) → NFT ( )URI → ( )→ ( )NFTNFT NFT— 4 Ethereum III — 2023-09-13 – p.23/28
: DAO— 4 Ethereum III — 2023-09-13 – p.24/28
DAO(1) ( )(2)(3). . .(a) ( )(b) ( )https://medium.com/coinmonks/beanstalk-exploit-a-simplified-post-mortem-analysis-92e6cdb17ace— 4 Ethereum III — 2023-09-13 – p.25/28
MakerDAOhttps://docs.makerdao.com/smart-contract-modules/governance-moduleplot ( )drop ( )plot eta ( ) exec ( )https://github.com/dapphub/ds-chief/blob/master/src/chief.solhttps://github.com/dapphub/ds-auth/blob/master/src/auth.solhttps://github.com/dapphub/ds-pause/blob/master/src/pause.sol— 4 Ethereum III — 2023-09-13 – p.26/28
— 4 Ethereum III — 2023-09-13 – p.27/28
— 4 Ethereum III — 2023-09-13 – p.28/28