NFT – Cz.1 (aspekty techniczne)
Analizując prawne aspekty Metaversu bez wątpienia należy zwrócić uwagę na NFT, czyli non-fungible token. Obecnie już niemal każdy słyszał o słynnej serii NFT przedstawiających wizerunek małpy (BOARD APE YACHT CLUB). Zakupienie tokena pozwala między innymi na uzyskanie dostępu do prywatnego klubu online, do którego należą takie osobistości jak m.in. Eminem, Justin Bieber, Neymar, Jimmy Fallon, ale również otrzymanie wejściówki na eventy organizowane specjalnie dla posiadaczy tokena. Wartość tokenów z tej serii na platformie OpenSea to nawet kilkaset tysięcy dolarów. Czym zatem w ogóle jest NFT? Co kryje się za obrazem powiązanym z tokenem? Jak jest on tworzony? Zacznijmy od odpowiedzi na te pytania!
Jak rozumieć NFT?
NFT to w gruncie rzeczy wpis w zdecentralizowanej bazie danych, tj. w sieci blockchain. Unikatowy wpis danych powiązany jest plikiem graficznym, który reprezentuje dany token. Technologia blockchain zapewnia niezmienialność i integralność zapisanych danych. NFT są tworzone wyłącznie w oparciu o technologie blockchain. NFT nie dotyczy zatem technologii DLT (rozproszonego rejestru).
Czym są smart kontrakty i jak przebiega proces tworzenie tokenów?
W celu utworzenia NFT (wymintowania – minting NFT) należy uruchomić smart kontrakt zapisany w danej sieci blockchain. Czym jest zatem smart kontrakt niezbędny do utworzenia tokena? Obecnie możemy wyróżnić co najmniej kilka sieci blockchain, na których możliwe jest uruchomienie smart kontraktów i utworzenie NFT. Do najczęściej wykorzystywanych należy Ethereum (ETH), Solana (SOL) i Cardano (ADA). Smart kontrakty (nie mylić z umowami) stanowią rodzaj programu, zapisanego w sieci blockchain, przy użyciu języka programowania dedykowanego dla danej sieci, np. Solidity dla sieci Ethereum. Smart kontrakty uruchamiane są po dokonaniu określonej czynności, najczęściej płatności w kryptowalucie. Po dokonaniu płatności kod danego smart kontraktu jest automatycznie wykonywany, co skutkuje utworzeniem tokena. Raz zapisany kod jest niezmienialny, a zatem przy każdorazowym uruchomieniu będzie on w taki sam sposób wykonywał zapisany w nim kod.
Tokeny tworzone są zgodnie ze standardami ustanowionymi dla danej sieci blockchain (tj. zestawem zasad, który dany smart kontrakt musi przestrzegać, żeby być rozpoznawany w danej sieci blockchain). W sieci Ethereum, która jest obecnie najpopularniejszą siecią blockchain wykorzystywaną do uruchamiania smart kontraktów, możemy wyróżnić następujące standardy: ERC-20 dla tokenów wymiennych (fungible), przeznaczonych do odzwierciedlania rzeczy i praw oznaczonych co do gatunku (zamiennych, nieunikalnych), ERC-721 dla tokenów niewymiennych (non-fungible), przeznaczonych do odzwierciedlania rzeczy i praw oznaczonych co do tożsamości (tj. unikatowych), a także ERC-1155, przeznaczony do wspierania masowego tworzenia tokenów.
Jak utworzyć Smart kontrakt?
Utworzenie NFT jest możliwe po uprzednim zapisaniu smart kontraktu w sieci blockchain. Smart kontrakt po uruchomieniu będzie wykonywał zawarty w nim kod i tworzył token. W jaki sposób to zrobić? Możliwe są trzy sposoby:
- własnoręczne napisanie smart kontraktu w języku zaimplementowanym w sieci blockchain np. Solidity dla sieci Ethereum – metoda ta wymaga jednak wiedzy i umiejętności, w szczególności znajomości określonego języka programowania;
- użycie wzorca smart kontraktu, (dostępnego np. na platformie GitHub – open source) i umieszczenie smart kontraktu w sieci blockchain – metoda ta również wymaga umiejętności oraz uiszczenia znaczącej opłaty za udostępnienie smart kontraktu w danej sieci blockchain;
- wykorzystanie istniejącego smart kontraktu udostępnionego poprzez platformę NFT (np. OpenSea, Rarible, Mintable etc.) – jest to najprostsza metoda pozwalająca na utworzenie własnego NFT.
Jakie informacje zawiera NFT?
Token zawiera w sobie unikalne dane wyróżniające go spośród innych. NFT zapisywane na platformie Ethereum zawierają minimalnie dane dotyczące:
- adresu smart kontraktu, który wytworzył token,
- tokenID, tj. unikatową kombinacje danych powiązaną z danym smart kontraktem.
Każdorazowe uruchomienie smart kontraktu wytwarza token i zapisuje go z kolejnym numerem porządkowym (tokenID#1, tokenID#2, tokenID#3 etc.).
Tokeny mogą również zawierać inne informacje (tzw. metadane). W metadanych zawarte są miedzy innymi informacje dotyczące pliku graficznego reprezentującego dany token NFT.
!!! Tokeny wymienne (fungible) nie posiadają tokenID. Po wytworzeniu oprócz adresu smart kontraktu posiadają oznaczenie rodzajowe (np. 1 ETH, 2 ETH etc.). Są one jednak wymienne, gdyż nie posiadają unikatowego numeru porządkowego.
Do czego służą platformy NFT?
Dane zapisane w sieci blockchain mogą być oglądane przy wykorzystaniu odpowiedniego interfejsu komputerowego. Zazwyczaj są to portfele blockchainowe lub dedykowane platformy, np. OpenSea, Rarible, Nift etc. Przy wykorzystaniu tych platform użytkownicy mają możliwość przeglądania danych zapisywanych w sieci blockchain oraz mają dostęp do innych usług świadczonych przez platformę (giełda NFT, „miniting” NFT, obsługa płatności etc.). Za pośrednictwem platformy użytkownik może uzyskać podgląd pliku graficznego reprezentującego NFT oraz dostęp do informacji dotyczących adresu smart kontraktu, tokenID, rodzaju standardu, sieci blockchain, oraz metadanych.
Co zawierają metadane NFT? Czy plik graficzny NFT jest zapisany w sieci blockchain?
W metadanych znajduje się najczęściej link do pliku w formacie JSON, w którym zapisany jest link do pliku graficznego oraz inne dane. Link do pliku jest zapisany w sieci blockchain (on-chain), sam plik w formacie JSON zapisany jest jednak poza siecią (off-chain).
Link zawarty w metadanych opisany jest w protokole ipfs://, który oparty jest o model peer-to-peer (znany z torrentów). Protokół ma na celu rozproszenie metadanych pomiędzy wiele różnych serwerów, co ma zapewnić ich trwałość i utrudnić ingerencje. Metadane oprócz linków do plików graficznych mogą przykładowo zawierać opis danego NFT, wpis od artysty, dane indywidualizujące kolejno utworzone NFT, ale również – co jest rzadkie – licencje niewyłączną udzieloną przez artystę na korzystanie z NFT.
Plik graficzny reprezentujący NFT jest off-chain, tj. zapisany na serwerze, poza siecią blockchain. W teorii istnieje możliwość utraty dostępu do pliku graficznego reprezentującego NFT na skutek problemów z utrzymaniem serwera, problemów technicznych serwera lub poprzez np. kradzież pliku graficznego. Plik graficzny reprezentujący NFT nie jest zatem unikalny. Może on zostać powielony, chociażby poprzez ponowne uruchomienie smart kontraktu z tymi samymi metadanymi. Należy jednak zaznaczyć, że nie będzie to ten sam token, który będzie miał kolejny numer porządkowy tokenID.
***
Pomimo, iż NFT jest zjawiskiem stosunkowo nowym, zdołano znaleźć wiele różnorodnych sposobów jego wykorzystania. NFT może stanowić bowiem nośnik sztuki, przedmiot inwestycji, legitymację przynależności do określonej grupy, czy też tytuł udziału w inwestycji lub projekcie IT. Chociaż NFT jest wykorzystywany na wiele sposobów, w większości porządków prawnych status NFT w dalszym ciągu pozostaje w sferze rozważań. Bez wątpienia jednak NFT jest kolejnym ciekawym zastosowaniem technologii blockchain i przykładem postępującej tokenizacji obrotu. Biorąc pod uwagę znaczenie NFT dla Metaversu nie można obok tego zagadnienia przejść obojętnie. W drugiej części artykułu o NFT skupimy się na prawnoautorskich aspektach tego zagadnienia.
Więcej o prawnych aspektach Metaversu piszemy w artykule Metaverse – kwestie prawne. Wprowadzenie.
Autor: adwokat Piotr Sójka
No Comments