NFT
NFT: Non-fungible token
- tokens that represent ownership of unique items(not interchangeable)
- each individual token in NFTs is completely unique and is not divisible
- ownership of an asset is secured by the blockchain - no one can modify the record of ownership or copy/paste a new NFT into existence, trackable by using blockchain as a public ledger
- NFT is minted from digital objects as a representation of digital or non-digital assets.
- can represent digital art, real world items and much more..
An NFT internet | The internet tody |
NFTs are digitally unique, no two NFTs are the same. | A copy of a file is the same aas the original. |
Every NFT must have an owner and this is of public record and easy for anyone to verify. | Ownership records of digital items are stored on servers controlled by institutions. |
NFTs are compatible. with anything b uilt using Ethereum. | Companies with digital items must build their own infrastructure. |
Content creators can sell their work anywhere and can access a global market. | Creators rely on the infrastructure and distribution of the platforms they use. These are often subject to terms of use and geographical restrictions. |
Creators can retain ownership rights over their own work, and claim resale royalties directly. | Platforms retain the majority of profits from sales. |
Ownership of NFT
Ownership of NFT
- managed through the unique ID and metadata that no other token can replicate
- each token minted has a unique identifier that is directly linked to one Ethereum address.
- NFTs are minted through smart contracts that assign ownership and manage the trasferability of the NFTs.
- smart contracts that conform to ERC-721 standard
Minting process
- Creating a new block
- Validationg information
- Recording information into the blockchain
How to prove you own it
- If you purchase an NFT, then the ownership of the unique token is transferred to your wallet via your public address.
- The token proves taht your copy of the digital file is the original
- 👉 your private key is proof-of-ownership of the original
- The content creator's public key serves as a certificate of authenticity for that particular digital artefact.
- creator's public key is essentially a permanent part of the token's history
- creator's public key can demonstrate that the token you hold was created by a particular individual, thus contributing to its market value
Issues and criticisms
Unenforceability of copyright
- ownership of an NFT on the blockchain does not inherently convey legally enforceable intellectual property rights to the file
- right-clicker mentality: anybody can easily coopy a file referenced by an NFT
Storage off-chain
- NFTs generally don't store the associated artwork file on t he blickchain due to the large size of file and speed
- this makes the art itself vulnerable to link rot (i.e. broken link)
Environmental concerns
- NFT purchases and sales cost the high energy usage and consequent gas emissions associated with blockchain transactions.
- there are some solutions with lower associated footprints
- use validation protocols such as PoS, use of off-chain transactions, bying carbon offsets option
Artist and buyer fees
- Sales platforms charge artists and buyers fees for minting, listing, claiming, and secondary sales
- some artists were on average paying more money in fees than they were making in sales -> not profitable
Security
- some NFTs were being exploited by sellers to unknowingly gather user's IP addresses
- "exploit" works via the off-chain nature of NFT, as the user's computer automatically follows a web address in the NFT to display the content
- the server at the address can then log the IP address
- OpenSea has a particular vulnerability because it allows HTML files to be linked
Plagiarism and fraud
- artists and creators having their work sold by others as an NFT without permission.
- 실제 owner가 아닌 사람이 key를 가지면 owner처럼 행동이 가능
- anonymity and the ease with which they can be forged make it difficult to pursue legal action against NFT plagiarists.
Ethereum and NFT
Ethereum makes it possible for NFTs to work for a number of reasons:
- Tx history and token metadata is publicly verifiable
- Once a tx is confirmed, it's nearly impossible to manipulate that data
- Trading NFTs can happen peer-to-peer without needing platforms
- All Ethereum products share the same "backend": makes NFTs portable across products.
Other applications of NFTs
- Certificates of authenticity
- Tokengating: use NFT to unlock access
ERC-721
ERC: Ethereum Request for Comment
- application-level standards in the Ethereum ecosystem
- once the proposal is reviewed and approved by the community, it becomes a standard
ERC-721
- open standard that describe how to build NFT on EVM compatible blockchains.
- standard interface for NFT
- defines some functions with compliance to ERC-20 👉 makes it easier for existing wallet to display simple token information
ERC-20
- technical standard for writing smart contracts on the Ethereum blockchain network, used for token implementation.
- contains a set of rules that all Ethereum based tokens must follow.
- defines tokens as blockchain-based assets that can be sent/received and have value.
- ERC-20 coins run on Ethereum's blockchain network and use gas as the transaction fee.
ERC20-like Functions
Before ERC-20
- all tokens were different from each other -> painful for wallets and exchange platforms
With ERC-20
- integrate various standardized tokens onto existing platforms
- facilitate easy exchange btw ERC-20 tokens and other tokens.
ERC20-like functions
- name: define token's name
- symbol: define token's shorthand name or symbol (ex. ETH)
- totalSupply: define the total number of tokens, supply doesn't have to be constant
- balanceOf: return number of tokens owned by an input address
- ownerOf: return the address of the owner of a token
- approve: grants or approves another entity the permission to transfer tokens on the owner's behalf
- takeOwnership: outside party can call to take tokens out of another user's account (optional)
- 다른 주소로부터 특정 ERC-721 토큰의 소유권을 가져오는데 사용됨
- transfer: allows the owner to transfer t he token to another user
- tokenOfOwnerByIndex: the smart contract stores NFT's unique IDs in an array and tokenOfOwnerByIndex function can retrieve this information (optional but recommended)
Metadata Function
- tokenMetadata: interface that lets us discover a token's metadata or a link to its data
Events
- Transfer: fired when the ownership of the token changes from one to another.
- emit the information on which account transferred the token, which account received the token, and which token (by ID) was tasferred
- Approve: fired when a user approves another user to take ownership of the token = fired whenever approve function is executed
- emit the information on which account currently owns the token, which account is approved to take ownership of the token in the future, and which token(by ID) is approved
'CS > 블록체인응용' 카테고리의 다른 글
12-1. DeFi (0) | 2023.12.05 |
---|---|
11. Private blockchain and Dapp (0) | 2023.12.03 |
9. Ethereum Transactions and Smart Contract (0) | 2023.11.29 |
8. Ethereum Proof-of-Stake (1) | 2023.11.28 |
Lec 7-2: Proof-of-Stake (0) | 2023.10.20 |