Non-fungible token’lar (NFT) son zamanlarda oldukça popüler hale geldi. Her ne kadar bir NFT oluşturma süreci çok kolay görünse de aslında NFT’yi mint ederken arka planda nasıl işlemlerin gerçekleştiğini biliyor musunuz? Türk kripto para piyasasının önemli Twitter hesaplarından olan Smart Contract (@KumpirMafyası) konu hakkında güzel bir flood yayınladı. Gelin flood’a göz atalım…
NFT’ler Nasıl Oluşuyor?
Smart Contract’ın da belirttiği gibi aslında mint işlemini bizler NFT’leri mint etmeyi web sitelerindeki mint tuşu dışında görmüyoruz. Ama mint tuşuna basılması ile arka planda ciddi bir çalışma gerçekleşiyor.
Kullanıcı mint tuşuna bastığında Ethereum, Avalanche, Binance Smart Chain ve Polygon gibi Ethereum Virtual Machine (EVM) tabanlı ağlarda bu talimat akıllı kontrata web sitesi aracılığı ile iletiliyor. Bu noktada Smart Contract, kullanıcının talebinin akıllı sözleşmeye aktarılan javascript kodunun görüntüsünü de paylaşıyor.
Daha sonra web sayfası kod aşaması başlıyor. Smart Contract ise konuyla ilgili, “Web sayfasından direkt blockchain’e işlem göndermeniz mimari olarak mümkün değil, bir “node”a göndermemiz gerekiyor. Node, bizim taleplerimizi blockchain’e dahil etme görevi olanlardır, madenciler de bir nevi node ‘dur, Metamask de kendi node’unu kullanır.” açıklamasını yapıyor.
NFT ve Akıllı Sözleşmeler
Yapılan açıklamalara göre web sayfası kullanıcının talebi doğrultusunda node’lar aracılığı ile akıllı sözleşmeye ilettiğinde blockchain’de de bu kodu karşılayan solidty mint kodu oluşuyor. Bu koda NFT’nin akıllı sözleşmesinde saklanıyor ve değişmiyor.
Daha sonra akıllı sözleşme bu talebi, blockchain’in temel beyni olan EVM’e iletiyor ve EVM’ye bunu iletirken solidty kodunda değil bytecode şeklinde çevirip gönderiyor. Sonrasında ise EVM aldığı komutu blockchin’e işlemek için çalışmaya başlıyor.
Bunun sonrasında her bir NFT için ağda saklama hizmeti olan “SSTORE” komutu çalışıyor ve bir slot’a NFT bilgileri kaydediliyor. Smart Contract’ın açıklamalarına göre 1 adet SSTORE kullanımının maliyeti 20.000 gas ve bu Ethereum yellowpaper’da yer alıyor.
Dolayısıyla mint süreci ile aslında blockchain’de hangi adresin hangi nolu ID’li NFT’sinin olduğu kalıcı olarak kaydedilmiş oluyor. Smart Contract bu konuyla ilgili bir örnek de paylaşıyor:
Ya Sorun Çıkarsa?
Peki, kullanıcı mint işlemini yaptı ancak bir yerde sorun çıkarsa ve mint işlemi gerçekleşme bu nasıl sorgulanabilir?
Smart Contract’ın yaptığı açıklamalara göre işlemin doğru bir şekilde gerçekleştiğini kullanıcılar “balanceof” kodu ile sorgulayabilir. Böylece Blockchain kullanıcıya bu mint karşılığı işlemleri gösteren bir fatura veriyor ve buna da “transaction” deniyor.
Dolayısıyla aslında bizim tek bir tuşla gerçekleştirdiğimiz işlemin arka planında sıra sıra pek çok farklı adım takip ediliyor ve sistem saat gibi tıkır tıkır işliyor.