NFT ဆိုတာ Non-Fungible Token ရဲ့ အတိုကောက်ဖြစ်ပြီး digital ပိုင်ဆိုင်မှုတစ်ခုကို သက်သေခံပေးတဲ့ token တစ်မျိုးပါ။ ဒီနေရာမှာ Non-Fungible ဆိုတာ အစားထိုးလို့မရတဲ့ သီးသန့်ဖြစ်တဲ့ သဘောပါ။ ဥပမာ — ငွေတစ်ထောင်တန် တစ်ရွက်နဲ့ နောက်ထပ် တစ်ထောင်တန်တစ်ရွက်က တန်ဖိုးတူပြီး အစားထိုးလို့ရပါတယ်။ ဒါပေမယ့် ဒါဗင်ချီရဲ့ မူရင်းပန်းချီကားတစ်ချပ်နဲ့ သူ့ရဲ့ မိတ္တူတစ်ချပ်က တန်ဖိုးမတူပါဘူး။
NFT တွေဟာ blockchain technology ပေါ်မှာ အခြေခံထားပါတယ်။ NFT တစ်ခုကို ဝယ်ယူလိုက်တယ်ဆိုတာ digital ပိုင်ဆိုင်မှု တစ်ခုရဲ့ မူပိုင်ခွင့်ကို blockchain ပေါ်မှာ မှတ်တမ်းတင်ပြီး ရယူလိုက်တာပါ။ ဒီ NFT တွေကို cryptocurrency တွေနဲ့ ရောင်းဝယ်ကြပါတယ်။ အများဆုံး အသုံးပြုကြတာက Ethereum နှင့် Solana blockchain ပေါ်မှာပါ။
NFT တွေကို digital art တွေ၊ music တွေ၊ video တွေ၊ virtual land တွေ၊ gaming items တွေအတွက် အသုံးပြုကြပါတယ်။ NFT market ထဲမှာ အကျော်ကြားဆုံး project တွေထဲက တစ်ခုကတော့ Bored Ape Yacht Club ပါ။ သူတို့က digital ape ပုံတွေကို NFT အနေနဲ့ ရောင်းချပြီး တစ်ချို့ဟာ အရမ်းကို တန်ဖိုးကြီးမားခဲ့ပါတယ်။
NFT တွေရဲ့ အားသာချက်ကတော့ digital ပိုင်ဆိုင်မှုတွေကို စိတ်ချလုံခြုံစွာ မှတ်တမ်းတင်နိုင်တာ၊ တစ်ဆင့်ပြန်လည် ရောင်းချနိုင်တာတို့ပါ။ ဒါပေမယ့် NFT market က မတည်ငြိမ်တဲ့အတွက် ရင်းနှီးမြှုပ်နှံတဲ့အခါ သတိထားဖို့လိုပါတယ်။ တစ်ခါတစ်လေ NFT တွေက သိသိသာသာ တန်ဖိုးကျဆင်းသွားတာမျိုးလည်း ဖြစ်တတ်ပါတယ်။
အခုနောက်ပိုင်းမှာ NFT technology ကို ဖန်တီးမှုအနုပညာလောကထက်ကျော်လွန်ပြီး အိမ်ခြံမြေလုပ်ငန်း, ပညာရေးအသိအမှတ်ပြုလက်မှတ်, ပွဲလက်မှတ်စတဲ့ နယ်ပယ်တွေမှာပါ စမ်းသပ်အသုံးပြုနေကြပါပြီ။ ဒါကြောင့် NFT ဟာ ဒီဂျစ်တယ်စီးပွားရေးစနစ်ထဲမှာ အရေးပါတဲ့ အခန်းကဏ္ဍက ပါဝင်လာမယ်လို့ မျှော်လင့်ရပါတယ်။
NFT Minting
NFT Minting အကြောင်းရှင်းပြပေးပါမယ်။ NFT minting ဆိုတာ digital ဖိုင်တစ်ခုကို blockchain ပေါ်မှာ NFT အဖြစ် ဖန်တီးတဲ့ လုပ်ငန်းစဉ်ပါ။
ပထမဆုံးအနေနဲ့ NFT mint လုပ်မယ့်သူဟာ digital file တစ်ခုကို အရင်ပြင်ဆင်ဖန်တီးရပါတယ်။ ဒါက image, video, audio, 3D model စသည်ဖြင့် ဖြစ်နိုင်ပါတယ်။ ပြီးရင် ဒီဖိုင်ကို cloud storage platform တစ်ခုဖြစ်တဲ့ IPFS (InterPlanetary File System) ပေါ်မှာ upload လုပ်ရပါတယ်။ IPFS က decentralized storage ဖြစ်တဲ့အတွက် ဖိုင်တွေကို ပိုပြီးလုံခြုံစွာ သိမ်းဆည်းနိုင်ပါတယ်။
ဒုတိယအဆင့်အနေနဲ့ crypto wallet တစ်ခု လိုအပ်ပါတယ်။ MetaMask လို wallet မျိုးကို အသုံးပြုနိုင်ပါတယ်။ ဘာကြောင့်လဲဆိုတော့ minting process မှာ gas fees တွေ ပေးဆောင်ဖို့ cryptocurrency လိုအပ်လို့ပါ။ များသောအားဖြင့် Ethereum blockchain ပေါ်မှာ mint လုပ်ကြတဲ့အတွက် wallet ထဲမှာ ETH ရှိနေဖို့ လိုအပ်ပါတယ်။
တတိယအဆင့်ကတော့ NFT marketplace တစ်ခုကို ရွေးချယ်ဖို့ပါ။ OpenSea, Rarible, Mintable စတဲ့ platform တွေထဲက တစ်ခုခုမှာ account ဖွင့်ရပါမယ်။ ပြီးရင် Create/Mint NFT ဆိုတဲ့ နေရာကနေ NFT ရဲ့ metadata တွေကို ဖြည့်သွင်းရပါတယ်။ Metadata ထဲမှာ NFT ရဲ့ နာမည်၊ ဖော်ပြချက်၊ properties တွေ၊ royalty percentage စတာတွေ ပါဝင်ပါတယ်။
စတုတ္ထအဆင့်မှာတော့ smart contract ကို deploy လုပ်ရပါတယ်။ Smart contract ဆိုတာ NFT ရဲ့ စည်းမျဉ်းစည်းကမ်းတွေ၊ လုပ်ဆောင်ချက်တွေကို သတ်မှတ်ပေးတဲ့ code တွေပါ။ Platform အများစုမှာ အသင့်သုံး smart contract တွေ ပါရှိပေမယ့် ကိုယ်ပိုင် smart contract ရေးပြီးလည်း အသုံးပြုနိုင်ပါတယ်။
နောက်ဆုံးအဆင့်ကတော့ minting transaction ကို confirm လုပ်ဖို့ပါ။ ဒီအဆင့်မှာ gas fees တွေ ပေးဆောင်ရပါတယ်။ Gas fees က network ရဲ့ busy ဖြစ်မှု အပေါ်မူတည်ပြီး အတက်အကျ ရှိတတ်ပါတယ်။ Transaction အောင်မြင်သွားရင် ကိုယ့်ရဲ့ NFT က blockchain ပေါ်မှာ permanent record အဖြစ် ရောက်ရှိသွားပါပြီ။
NFT minting process မှာ အရေးကြီးတဲ့ အချက်တွေကို ထည့်သွင်းစဉ်းစားဖို့ လိုပါတယ်။ ဥပမာ — မိမိရဲ့ digital content က original ဖြစ်ရပါမယ်။ တစ်ပါးသူရဲ့ မူပိုင်ခွင့်ကို ချိုးဖောက်တာမျိုး မဖြစ်စေရပါဘူး။ နောက်ပြီး gas fees တွေက မြင့်မားနိုင်တဲ့အတွက် ကုန်ကျစရိတ်ကိုလည်း ကြိုတွက်ထားသင့်ပါတယ်။ Metadata တွေကို သေချာဖြည့်သွင်းဖို့လည်း အရေးကြီးပါတယ်။ ဘာကြောင့်လဲဆိုတော့ blockchain ပေါ်မှာ ရောက်ရှိပြီးတဲ့နောက် ပြင်ဆင်ဖို့ ခက်ခဲသွားမှာ ဖြစ်လို့ပါ။
NFT minting က blockchain technology ရဲ့ အရေးကြီးတဲ့ လုပ်ငန်းစဉ်တစ်ခု ဖြစ်ပါတယ်။ ဒီလုပ်ငန်းစဉ်ကို နားလည်ခြင်းအားဖြင့် digital assets တွေကို blockchain ပေါ်မှာ ဘယ်လို tokenize လုပ်လဲဆိုတာ သိရှိနိုင်ပါတယ်။ NFT creator တစ်ယောက်အနေနဲ့ ဒီအကြောင်းအရာတွေကို ကောင်းကောင်း နားလည်ထားမှသာ အောင်မြင်တဲ့ NFT project တစ်ခုကို ဖန်တီးနိုင်မှာ ဖြစ်ပါတယ်။
NFT တွေကို Blockchain ပေါ်သိမ်းတာလား?
လူအများစုက NFT ဆိုတာ digital art တွေ၊ image တွေကို blockchain ပေါ်မှာ တိုက်ရိုက်သိမ်းထားတယ်လို့ ထင်ကြပါတယ်။ ဒါပေမယ့် တကယ့်လက်တွေ့မှာတော့ ဒီလိုမဟုတ်ပါဘူး။
NFT တစ်ခုမှာ အဓိကအပိုင်း နှစ်ပိုင်း ပါဝင်ပါတယ်။ ပထမတစ်ခုက smart contract ဖြစ်ပြီး ဒုတိယတစ်ခုက metadata ဖြစ်ပါတယ်။ Smart contract ကတော့ blockchain ပေါ်မှာ တိုက်ရိုက်သိမ်းဆည်းထားပါတယ်။ ဒါပေမယ့် NFT ရဲ့ ပုံရိပ်၊ properties တွေပါတဲ့ metadata ကိုတော့ blockchain ပြင်ပမှာ သိမ်းဆည်းထားရပါတယ်။ ဘာကြောင့်လဲဆိုတော့ blockchain ပေါ်မှာ data သိမ်းဆည်းတာက အရမ်းကုန်ကျစရိတ် များလွန်းလို့ပါ။
Metadata တွေကို အများအားဖြင့် IPFS (InterPlanetary File System) လို decentralized storage system တွေမှာ သိမ်းဆည်းလေ့ရှိပါတယ်။ IPFS က file တစ်ခုချင်းစီကို unique hash တစ်ခုနဲ့ သိမ်းဆည်းပေးပါတယ်။ ဥပမာ — CID (Content Identifier) လို့ခေါ်တဲ့ “QmT5NvUtoM5n6FQPC…” စတဲ့ hash တစ်ခု ရရှိပါတယ်။ ဒီ hash ကို NFT smart contract ထဲမှာ reference အဖြစ် သိမ်းဆည်းထားပါတယ်။
Smart contract ထဲမှာ tokenId တစ်ခုနဲ့ IPFS hash တစ်ခုကို mapping လုပ်ထားပါတယ်။ NFT marketplace တစ်ခုက NFT တစ်ခုကို ပြသတဲ့အခါ၊ ပထမဆုံး smart contract ကနေ IPFS hash ကို ရယူပါတယ်။ ပြီးမှ အဲ့ဒီ hash ကို သုံးပြီး IPFS ကနေ metadata ကို ဆွဲယူပါတယ်။ Metadata ထဲမှာ image URL၊ description၊ attributes စတဲ့ အချက်အလက်တွေ ပါဝင်ပါတယ်။
ဒီလို သိမ်းဆည်းတဲ့ပုံစံကို “off-chain storage with on-chain reference” လို့ ခေါ်ပါတယ်။
NFT နှင့် ERC 721
NFT ဆိုတာ Non-Fungible Token ဖြစ်ပြီး ERC-721 ကတော့ Ethereum blockchain ပေါ်မှာ NFT တွေ ဖန်တီးဖို့အတွက် အခြေခံ standard တစ်ခု ဖြစ်ပါတယ်။
ERC-721 ကို ၂၀၁၈ ခုနှစ်မှာ William Entriken, Dieter Shirley, Jacob Evans နဲ့ Nastassia Sachs တို့က တီထွင်ခဲ့ပါတယ်။ ဒီ standard က blockchain ပေါ်မှာ unique digital assets တွေကို ဘယ်လို represent လုပ်မလဲဆိုတဲ့ စံသတ်မှတ်ချက်တွေကို ပေးထားပါတယ်။ ERC-721 မတိုင်ခင်က cryptocurrency တွေအတွက် ERC-20 standard ကို အသုံးပြုခဲ့ကြပါတယ်။ ဒါပေမယ့် ERC-20 token တွေက fungible ဖြစ်တဲ့အတွက် unique items တွေအတွက် မသင့်တော်ပါဘူး။
ERC-721 ရဲ့ အဓိက feature တွေထဲမှာ tokenId ဆိုတာ ပါဝင်ပါတယ်။ tokenId က NFT တစ်ခုချင်းစီကို unique ဖြစ်စေတဲ့ နံပါတ်ပါ။ ဥပမာ — CryptoPunks collection ထဲက punk တစ်ခုချင်းစီမှာ သီးခြား tokenId တွေ ရှိကြပါတယ်။ ဒါ့အပြင် ERC-721 မှာ NFT တွေကို လွှဲပြောင်းဖို့အတွက် transferFrom() function၊ NFT ပိုင်ရှင်ကို စစ်ဆေးဖို့အတွက် ownerOf() function စတဲ့ အခြေခံ function တွေ ပါဝင်ပါတယ်။
ERC-721 smart contract တစ်ခုရဲ့ ပုံမှန်ဖွဲ့စည်းပုံကို ကြည့်ရင် contract ထဲမှာ NFT ရဲ့ metadata တွေဖြစ်တဲ့ name၊ symbol တို့လို properties တွေ ပါရှိပါတယ်။ ပြီးတော့ NFT တစ်ခုချင်းစီရဲ့ ပိုင်ရှင်တွေကို track လုပ်ဖို့ mapping တွေ ပါဝင်ပါတယ်။ NFT တွေကို mint လုပ်တဲ့အခါ၊ transfer လုပ်တဲ့အခါ event တွေကိုလည်း emit လုပ်လေ့ရှိပါတယ်။
ERC-721 ရဲ့ အားသာချက်တွေကတော့ NFT တွေကို စနစ်တကျ စီမံခန့်ခွဲနိုင်ခြင်း၊ marketplace တွေနဲ့ အလွယ်တကူ ချိတ်ဆက်နိုင်ခြင်း၊ လုံခြုံရေးပိုင်းမှာ စိတ်ချရခြင်းတို့ ဖြစ်ပါတယ်။ ဥပမာ — OpenSea လို marketplace တွေက ERC-721 standard ကို အသုံးပြုထားတဲ့အတွက် NFT creator တွေအနေနဲ့ သူတို့ရဲ့ NFT တွေကို အလွယ်တကူ ရောင်းချနိုင်ပါတယ်။
နောက်ပိုင်းမှာ ERC-721A လို enhanced version တွေလည်း ပေါ်ထွက်လာပါတယ်။ ERC-721A က Azuki NFT project က တီထွင်ထားတာဖြစ်ပြီး gas fees တွေ သက်သာစေဖို့ optimize လုပ်ထားပါတယ်။ အထူးသဖြင့် NFT တွေကို batch mint လုပ်တဲ့အခါ ပိုပြီး ထိရောက်ပါတယ်။
ERC-721 ဟာ NFT ecosystem ရဲ့ အခြေခံအုတ်မြစ်တစ်ခု ဖြစ်ပါတယ်။ ဒီ standard ကြောင့် NFT တွေဟာ စနစ်တကျ ဖွံ့ဖြိုးလာနိုင်ခဲ့ပြီး digital asset တွေကို blockchain ပေါ်မှာ ထိရောက်စွာ စီမံခန့်ခွဲနိုင်ခဲ့ပါတယ်။
Original Article – https://medium.com/@minsithu_53495/non-fungible-token-%E1%80%94%E1%80%BE%E1%80%84%E1%80%B7%E1%80%BA-erc-721-335e61fe0a3b
Leave a Reply