• 18 May 2024
NFT e Smart Contract

Quando ci avviciniamo all’idea di progettare un NFT, dovremmo seguire una strategia che sia legata alla sua creazione ma a partire dal suo software. Parliamo quindi di smart contracts.

Quello che le immagini non dicono

Ciò da cui si parte, ogni volta che viene generato un NFT è la chiave algortimica che sta nella sua forma. Mi spiego. Se conosciamo la funzione di quello che a tutti gli effetti non è di sicuro un quadro o un video o un suono, possiamo allora capire che si tratta di Smart Contract. Sì, i contratti (non per forza intelligenti) che generano il tutto. Tutto il mondo degli NFT poggia su questi. Smart Contract. Un NFT sarà quindi un contenuto notarizzato su blockchain (quindi registrato e reso attivo) attraverso la semplice creazione di un contratto, un programma intelligente con egli input e degli output. Il protocollo che quindi si attiva dà vita ad un’automatizzazione programmatica che si sviluppa sulla blockchain seguendo determinate fila.

Blockchain, NFTs e Software

Noi faremo riferimento alla blockchain di Ethereum, che è al momento quella su cui sta viaggiando l’intera galassia degli NFT. Partendo da qui diremo allora che questi contratti intelligenti vengono eseguiti e automatizzati in maniera deterministica sulla EVM (Ethereum Virtual Machine). Diremo poi che ci sono dei punti fondamentali ai quali bisogna rimandare la creazione di un Non Fungible Token e quindi di uno smart contract (lo ripeto più volte affinchè l’unione sia definitiva). Primo fra tutti è il suo aspetto di immutabilità. E questa è la forza pura che sta alla base non soltanto di un NFT ma di tutto il mondo che gira sui blocchi infiniti (quasi) della rete blockchain. Essere immutabile è una grande garanzia, è il timbro che definisce la natura del programma. E’ la sua matrice e impronta digitale.

Progettazione e Smart Contracts

Non l’immagine quindi, né il quadro digitalizzato, né il video o la musica estrapolata in maniera sensazionale, ma l’algoritmo che fa riferimento all’HASH. A questo dobbiamo pensare quando ci occupiamo di NFT e quindi di Smart contract e quindi di Blockchain e quindi di tecnologia che corre su di una rete decentralizzata. Ritorniamo allora sul punto progettuale di un NFT. Per fare in modo che questo possa avere vita sulla rete decentralizzata deve avere alla base un programma generato da un software attraverso la progettazione di un’architettura che comprenda la generazione di input e output. Dopo di questo andrà scritto un programma e per fare in modo che il computer (e quindi la macchina) sia in grado di leggerlo dovrà essere attivato un codice che sia leggibile. Un Byte Code. Alla fine la EVM (in particolare quella cara ad Ethereum) sarà in grado di leggerlo.

Piattaforme e Oracoli

Sono diverse le piattaforme che ci permettono di poter creare dei programmi intelligenti. Una fra tante è REMIX che viaggia sempre sulla main network di Ethereum. E ancora Solidity, il linguaggio prescelto per la programmazione. Da qui poi potremo riferirci a REMIX IDE per una real integreted environment. La modalità in cui le blockchain comunicano tra loro, va oltre la dimensione legata ad Internet. Quello che fanno molto semplicemente queste catene di blocchi è parlare un linguaggio tutto loro. In gergo si parlerà di “Oracoli”. Gli stessi Smart Contract sono “triggerati” (attivati) dagli oracoli. Questi permettono di processare rendendo appunto attivi gli output. E’ l’oracolo a comunicare con la rete, e nel farlo riporta i dati che devono essere utilizzati dagli stessi Smart Contracts. E su questo vorrei fare una chiusa. Se l’oracolo sbaglia, idem capiterà allo smart contract. Quindi la definizione di contratto intelligente perde qui tutto il suo fascino.

Conclusioni

Quando parliamo di Metaverso, di Realtà Virtuale, NFT, Blockchain, Smart Contract, dovremmo sempre rifarci ad una definizione e ad una struttura che riporti sempre il grado algoritmico di programmazione. Senza questo valore (che non è aggiunto) e senza questa realtà, si rischierebbe di parlare a vuoto di qualcosa che non è impalpabile ma che poggia le sue basi su di una cifratura che dà vita ad una vera e propria architettura della programmazione.