Przed Blockchain był Internet

Przed blockchainem i ERC-721 istniała sieć WWW (lub po prostu sieć). Pierwsze komercyjne zastosowania internetu pojawiły się pod koniec lat 80., aw 1989 r. Tim Berners-Lee stworzył sieć na wierzchu internetu. Sieć składa się z protokołu HTTP (HyperText Transfer Protocol), języka HTML (HyperText Markup Language), uniwersalnych identyfikatorów zasobów (URI) i przeglądarek internetowych. HTTP jest podstawowym protokołem do łączenia wszystkich elementów razem. HTML zapewnia język do tworzenia witryn, które użytkownicy mogą odwiedzać. Identyfikatory URI identyfikują zasoby, takie jak strony internetowe, dokumenty i obrazy, z których ludzie mogą korzystać. Przeglądarki umożliwiają użytkownikom odwiedzanie i wykorzystywanie tych różnych zasobów.

Pierwotnym celem sieci było umożliwienie naukowcom dzielenia się dokumentami i ułatwienie swobodnej wymiany pomysłów. Nie tylko udało się to ponad wszelkie rozsądne oczekiwania, ale także zmieniło świat w ciągu kilku krótkich lat.

Problemy z Internetem:

Ograniczenia sieci stały się oczywiste. W swobodnej wymianie pomysłów nie uwzględniono własności cyfrowej i praw własności. Jeśli inżynier tworzy nowy wynalazek oprogramowania i wypuszcza go do sieci, nic w protokole nie chroni autora – użytkownicy go pobierają, wykonują, kopiują; wynalazek nadaje się do celów, których twórca nigdy nie zamierzał i których nie może zaakceptować. Protokół nie zapewnia mechanizmu rekompensaty finansowej dla autora za korzystanie z jego pracy, a protokół nie zapewnia nawet mechanizmu uniemożliwiającego komuś zabranie oprogramowania wynalazcy, umieszczenie na nim własnego nazwiska i sprzedaż jako własne.

W miarę rozwoju sieci osoby i organizacje, które chcą prowadzić handel, szukały sposobów na ochronę swoich praw własności, ale brak ochrony wbudowanej w sam protokół ogranicza możliwości.

Świat blockchain jest inny.

Zabezpiecz swoje aktywa w Blockchain

W środowisku blockchain ktoś jest właścicielem zasobu, posiadając klucz prywatny. Dowodzą własności, podpisując ten zasób publicznym podpisem cyfrowym utworzonym na podstawie tego klucza prywatnego. Blockchainy dokonują transakcji w cyfrowej walucie w pozbawionym zaufania, zdecentralizowanym środowisku, ale użytkownicy dokonują transakcji także poza cyfrową walutą. Wszelkie towary lub usługi, które można przedstawić w oprogramowaniu, mogą służyć jako zasób cyfrowy w łańcuchu bloków.

Składnik aktywów klasyfikuje się jako zamienny lub niezamienny. Zasób zamienny to taki, w którym każda jednostka jest dokładnie równa każdej innej jednostce w swojej klasie. Dolar amerykański jest zamienny. Jeśli pójdziesz do sklepu i dokonasz zakupu, kupca nie dba o to, czy użyjesz tego dolara, czy tego dolara do transakcji, ponieważ wszystkie dolary są takie same. Aktywa niewymienialne są wyjątkowe w swojej klasie. Załóżmy, że idziesz do restauracji i zamawiasz kanapkę z kurczakiem, która kosztuje X, a kelner przynosi ci kanapkę z rybą, która kosztuje dokładnie X. Te dwa są niezamienne, ponieważ mimo że mają ten sam charakter (oba są kanapkami) i mają dokładnie taką samą wartość, wcale nie są tym samym.

(Klasyfikuj Bitcoin jako niewymienialny. Chociaż każdy bitcoin ma tę samą wartość w danym czasie, każdy bitcoin ma znaną historię, a jeden bitcoin wydany na pranie pieniędzy, handel narkotykami lub inną nielegalną działalność w przeszłości staje się mniej pożądany niż inny bitcoin z czystą historią).

ERC-20 i standardy tokenów

W sieci Ethereum istnieje standard tokenów ERC-20 do tworzenia aktywów zamiennych. Akronim ERC oznacza Ethereum Request for Comment, a numer jest po prostu indeksem identyfikującym. Standard ERC-721 został stworzony do zawierania transakcji na aktywach niezamiennych (erc721.org).

Standard tokenu ERC działa podobnie jak interfejs w programowaniu obiektowym. Interfejs definiuje kontrakt, którego programista musi przestrzegać, aby tworzyć obiekty. Programiści tworzą wiele obiektów z jednego interfejsu, ale muszą zaimplementować każdą właściwość i metodę tego interfejsu. Obiekty mogą implementować dodatkowe właściwości i metody poza zdefiniowanymi w interfejsie. Na przykład interfejs może definiować „pojazd” z właściwościami zdefiniowanymi jako „opony” i „układ kierowniczy”.

Z poziomu tego interfejsu programiści tworzą obiekty „trójkołowe”, „motocyklowe” i „samochodowe”. Obiekty „motocykl” i „samochód” zawierają właściwość „zbiornika paliwa”, której obiekty „trójkołowe” nie potrzebują. Standardy tokenów ERC działają dokładnie w ten sam sposób.

CryptoKitties and the Dawn of ERC-721

cryptokittyStandard ERC-721 został wprowadzony przez Dieter Shirley z Axiom Zen. Pierwotnym celem standardu było stworzenie CryptoKitties. CryptoKitties to unikalne kolekcjonerskie cyfrowe dzieła sztuki kotów. Możesz nie tylko posiadać unikalną kolekcję CryptoKitties, ale możesz także hodować koty, aby tworzyć nowe CryptoKitties.

Otwiera to możliwości potencjalnych dochodów, w których możesz tworzyć nowe koty i je sprzedawać. Jeśli masz szczególnie pożądanego CryptoKitty, którego inni chcieliby wyhodować z ich, możesz zarabiać na opłatach za stadnina.

Z czasem same CryptoKitties mogą okazać się nie bardziej wartościowe niż hula-hop czy czapki z coonskin Davy’ego Crocketta, które były wielkimi modami w dzieciństwie wyżu demograficznego. W tamtych czasach najnowocześniejszą technologią była czarno-biała telewizja. Prawdziwą wartością CryptoKitties może okazać się to, że zapewniają one dowód słuszności koncepcji niewymienialnej własności zasobów cyfrowych.

Niezbyt tajny kod

Kod standardu tokena ERC-721 to umowa definiująca zdarzenia i funkcje. W tym miejscu wystarczą ogólne wyjaśnienia kodu, a szczegółowe informacje techniczne znajdują się na stronie Strona internetowa ERC-721.

Programiści muszą zaimplementować trzy zdarzenia: Transfer (), Approval () i ApprovalForAll (). Przeniesienie wyzwala w przypadku zmiany właściciela Zatwierdzenie jest wyzwalane, gdy zatwierdzony adres niezastąpionego tokenu (NFT) zmienia się lub ponownie potwierdza. ApprovalForAll wyzwala, gdy operator włącza lub wyłącza właściciela.

Funkcje, które programiści muszą zaimplementować to:

balanceOf () aby policzyć wszystkie tokeny niezawieralne (NFT) przypisane do właściciela

właściciel() znaleźć właściciela NFT

safeTransferFrom () do przeniesienia własności NFT z jednego adresu na inny adres i zgłasza wyjątki, jeśli parametry mają problemy

przenieść z() przenieść własność NFT

zatwierdzać() ustawić lub ponownie potwierdzić zatwierdzony adres dla NFT

setApprovalForAll () aby włączyć lub wyłączyć zatwierdzanie strony trzeciej („operatora”) do zarządzania wszystkimi zasobami msg.sender

getApproved () zwraca zatwierdzony adres dla tego NFT lub adres zerowy, jeśli go nie ma

isApprovedForAll () zwraca true, jeśli operator jest zatwierdzonym operatorem dla właściciela, w przeciwnym razie zwraca false

supportInterface () zwraca true, jeśli kontrakt implementuje prawidłowy interfaceID, w przeciwnym razie zwraca false

Ostateczne myśli: dziewięć żywotów nowych technologii

Od samego początku ERC-721 wykazuje pewne potencjalne ograniczenia wynikające po prostu z natury technologii cyfrowej. Każdy obiekt cyfrowy po prostu konstruuje zbiór bitów, a bity można zmieniać. Załóżmy, że jesteś artystą, który stworzył najwspanialszy cyfrowy portret wszechczasów. Jeśli ktoś zdecyduje się skopiować portret i namalować na nim wąsy, czy możesz temu zapobiec tylko dlatego, że możesz udowodnić, że jesteś właścicielem oryginalnego zasobu? Czy jesteś właścicielem nowego zasobu pochodzącego z Twojej nieruchomości? Gdyby zasób nie był dziełem sztuki, ale fragmentem kodu wykonywalnego, czy byłbyś w stanie ograniczyć użycie tego kodu?

Kiedy na scenie pojawia się nowa technologia, wszystkie możliwości i ograniczenia nie są od razu oczywiste. W konsekwencji inżynierowie przeprowadzają burzę mózgów na temat potencjałów i wyzwań, a jeśli mózg nie jest zdolny do burz, często wystarczą lekkie mżawki i sporadyczne burze. W tym miejscu możemy powiedzieć, że ERC-721 to przemyślane podejście i daje niewielką nadzieję na złagodzenie niektórych pierwotnych niedociągnięć protokołu World Wide Web.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me