Vóór Blockchain was er het web

Vóór blockchain en vóór ERC-721 was er het World Wide Web (of gewoon het web). De eerste commerciële toepassingen van internet verschenen eind jaren tachtig en in 1989 creëerde Tim Berners-Lee het web bovenop internet. Het web bestaat uit HyperText Transfer Protocol (HTTP), HyperText Markup Language (HTML), Universal Resource Identifiers (URI’s) en webbrowsers. HTTP is het onderliggende protocol om alle onderdelen met elkaar te verbinden. HTML biedt een taal om sites te maken die gebruikers kunnen bezoeken. URI’s identificeren bronnen zoals websites, documenten en afbeeldingen die mensen kunnen gebruiken. Browsers stellen gebruikers in staat om deze verschillende bronnen te bezoeken en te gebruiken.

Het oorspronkelijke doel van internet was om onderzoekers in staat te stellen documenten te delen en de vrije uitwisseling van ideeën te vergemakkelijken. Dit lukte niet alleen boven alle redelijke verwachtingen, maar veranderde ook de wereld in een paar jaar tijd.

Problemen met internet:

De beperkingen van internet werden duidelijk. De vrije uitwisseling van ideeën hield geen rekening met digitaal eigendom en eigendomsrechten. Als een ingenieur een nieuwe software-uitvinding maakt en deze op het web vrijgeeft, beschermt niets in het protocol de auteur – gebruikers downloaden het, voeren het uit, kopiëren het; de uitvinding leent zich voor doeleinden die de maker nooit heeft bedoeld en mogelijk niet goedkeurt. Het protocol voorziet niet in een mechanisme om de auteur financieel te compenseren voor het gebruik van zijn werk, en het protocol voorziet niet eens in een mechanisme om te voorkomen dat iemand de software van de uitvinder neemt, er zijn eigen naam op zet en het als zijn eigen verkoopt..

Naarmate het web zich heeft ontwikkeld, hebben individuen en organisaties die handel willen drijven, manieren gezocht om hun eigendomsrechten te beschermen, maar een gebrek aan bescherming ingebouwd in het protocol zelf beperkt de mogelijkheden.

De wereld van blockchain is anders.

Bedek uw activa op de blockchain

In een blockchain-omgeving bezit iemand een asset door een private key te bezitten. Ze bewijzen het eigendom door dat item te ondertekenen met een openbare digitale handtekening die is gemaakt op basis van die privésleutel. Blockchains handelen digitale valuta af in een betrouwbare, gedecentraliseerde omgeving, maar gebruikers handelen ook activa buiten digitale valuta uit. Alle goederen of diensten die in software kunnen worden weergegeven, kunnen dienen als een digitaal actief op een blockchain.

Een actief wordt geclassificeerd als fungibel of niet-fungibel. Een vervangbare troef is dat elke eenheid exact gelijk is aan elke andere eenheid in zijn klasse. De Amerikaanse dollar is fungibel. Als u naar een winkel gaat en een aankoop doet, maakt het de handelaar niet uit of u deze dollar of die dollar gebruikt voor de transactie, omdat alle dollars hetzelfde zijn. Niet-vervangbare activa zijn uniek in hun klasse. Stel dat je naar een restaurant gaat en een broodje kip bestelt dat X bedrag kost, en de ober brengt je een broodje vis dat precies X bedrag kost. De twee zijn niet-vervangbaar, want hoewel ze van dezelfde aard zijn (beide zijn sandwiches) en precies dezelfde waarde hebben, zijn ze helemaal niet hetzelfde.

(Classificeer Bitcoin als niet-vervangbaar. Hoewel elke bitcoin op een bepaald moment dezelfde waarde heeft, bevat elke bitcoin een bekende geschiedenis en wordt een bitcoin die in het verleden is uitgegeven aan het witwassen van geld, drugshandel of andere illegale activiteiten minder wenselijk dan een andere. bitcoin met een schone geschiedenis.)

ERC-20 en tokenstandaarden

In het Ethereum-netwerk bestaat de ERC-20-tokenstandaard om vervangbare activa te creëren. Het ERC-acroniem staat voor Ethereum Request for Comment, en het nummer is gewoon een identificerende index. De ERC-721-standaard is gemaakt om niet-vervangbare activa (erc721.org​.

Een ERC-tokenstandaard werkt enigszins als een interface bij objectgeoriënteerde programmering. Een interface definieert een contract dat een programmeur moet volgen om objecten te maken. Programmeurs maken meerdere objecten vanuit één interface, maar ze moeten elke eigenschap en methode van die interface implementeren. De objecten kunnen aanvullende eigenschappen en methoden implementeren die verder gaan dan die gedefinieerd in de interface. Een interface kan bijvoorbeeld een ‘voertuig’ definiëren met eigenschappen die zijn gedefinieerd als ‘banden’ en ‘stuurmechanisme’.

Vanuit deze interface maken programmeurs ‘driewieler’-objecten,’ motorfiets’-objecten en ‘auto’-objecten. ‘Motor’- en’ auto’-objecten bevatten een ‘gastank’-eigenschap die’ driewieler’-objecten niet nodig hebben. ERC-tokenstandaarden werken op precies dezelfde manier.

CryptoKitties en de dageraad van ERC-721

cryptokittyDe ERC-721-standaard is geïntroduceerd door Dieter Shirley van Axioma Zen. Het oorspronkelijke doel van de standaard was om CryptoKitties te creëren. CryptoKitties zijn unieke verzamelbare digitale kunstwerken van katten. Je kunt niet alleen een unieke verzameling CryptoKitties bezitten, maar je kunt ook de katten fokken om nieuwe CryptoKitties te creëren.

Dit opent mogelijkheden voor potentiële inkomsten waar u nieuwe katten kunt maken en ze kunt verkopen. Als je een bijzonder wenselijke CryptoKitty hebt waarmee anderen graag zouden fokken, kun je geld verdienen door dekgeld aan te rekenen.

Na verloop van tijd zullen CryptoKitties zelf misschien niet waardevoller blijken te zijn dan de hoelahoepjes of Davy Crockett coonskin-petten die enorme rages waren in de kinderjaren van babyboomers. In die tijd was de meest geavanceerde technologie zwart-wittelevisie. De echte waarde van CryptoKitties kan blijken te zijn dat ze een proof of concept bieden voor niet-vervangbaar eigendom van digitale activa.

De niet zo geheime code

De code van de ERC-721-tokenstandaard is een contract dat gebeurtenissen en functies definieert. Algemene uitleg van de code is hier voldoende, en gedetailleerde technische informatie is beschikbaar op het ERC-721-website.

Programmeurs moeten drie gebeurtenissen implementeren: Transfer (), Approval () en ApprovalForAll (). Overdracht triggers wanneer het eigendom verandert. Goedkeuring wordt geactiveerd wanneer het goedgekeurde adres voor een niet-fungibel token (NFT) verandert of opnieuw bevestigt. ApprovalForAll wordt geactiveerd wanneer een operator een eigenaar in- of uitschakelt.

De functies die programmeurs moeten implementeren zijn:

balanceOf () om alle niet-fungibele tokens (NFT’s) te tellen die aan een eigenaar zijn toegewezen

eigenaar van() om de eigenaar van een NFT te vinden

safeTransferFrom () om het eigendom van een NFT van het ene adres naar het andere adres over te dragen en genereert uitzonderingen als de parameters problemen hebben

transferFrom () om het eigendom van een NFT over te dragen

goedkeuren() om het goedgekeurde adres voor een NFT in te stellen of opnieuw te bevestigen

setApprovalForAll () om goedkeuring van een derde partij (‘operator’) in of uit te schakelen om alle activa van msg.sender te beheren

getApproved () geeft het goedgekeurde adres voor deze NFT terug of het nuladres als er geen is

isApprovedForAll () geeft true terug als de operator een goedgekeurde operator is voor de eigenaar, anders geeft false terug

supportsInterface () geeft true terug als het contract een geldige interfaceID implementeert, anders geeft false terug

Final Thoughts: The Nine Lives of Emerging Technologies

De ERC-721 vertoont vanaf het allereerste begin enkele potentiële beperkingen, simpelweg vanwege de aard van digitale technologie. Elk digitaal object structureert eenvoudig een verzameling bits, en de bits kunnen worden gewijzigd. Stel dat je een kunstenaar bent die het grootste digitale portret ooit heeft gemaakt. Als iemand ervoor kiest het portret te kopiëren en er een snor op te schilderen, zou u dat dan kunnen voorkomen, simpelweg omdat u kunt bewijzen dat u eigenaar bent van het originele bezit? Bent u eigenaar van het nieuwe activum dat is afgeleid van uw eigendom? Als het asset geen kunstwerk was maar een stuk uitvoerbare code, zou je het gebruik van die code kunnen beperken?

Wanneer een nieuwe technologie op de markt komt, zijn niet alle mogelijkheden en beperkingen direct duidelijk. Daarom brainstormen ingenieurs over de mogelijkheden en uitdagingen, en als de hersenen niet in staat zijn tot stormen, zijn lichte motregen en af ​​en toe een vlaag vaak voldoende. Wat we op dit punt kunnen zeggen, is dat ERC-721 een doordachte benadering is en een bescheiden hoeveelheid hoop biedt bij het verlichten van enkele van de oorspronkelijke tekortkomingen van het World Wide Web-protocol..