junbird

joined 2 years ago
[–] junbird@poliverso.org 2 points 2 years ago

@diorama In realtà, con Mastodon so che non è così semplice. Nel senso che si può fare (ricordo che c'è addirittura un'istanza con limite di 15k caratteri), ma farlo richiede mettere mano al codice in un paio di punti. Non è un'impostazione facilmente configurabile come lo è in altre implementazioni, è una critica che veniva mossa specificatamente a Mastodon fino a pochi mesi fa. Non a caso, la maggior parte delle istanze ha un limite di 500 caratteri.
Poi, io sinceramente non ho il dono della sintesi, tendo a dilungarmi. Questo stesso messaggio non lo sto pubblicando da @junbird perché è giusto un po' troppo lungo. Sul mio profilo Mastodon mi sforzo tanto di stringere. Non mi piacciono i post divisi in più parti, quindi spesso ometto tanti dettagli e particolari pur di rientrare nei 500 caratteri. Tuttavia, non sempre si possono omettere così tanti dettagli.

[–] junbird@poliverso.org 2 points 2 years ago (1 children)

@skariko Sono d'accordo, ma credo che la maggior parte la pensi in questa maniera. È una cosa che s'è detta mille volte in quest'ultimo anno, ma il problema è che non si tratta di un concept nuovo: idee del genere sono state realizzate in passato e sono o fallite miseramente (PlayStation Home), o sono rimaste di nicchia (Second Life). L'introduzione della VR e della AR difficilmente renderà un mondo alternativo online tanto più rivoluzionario o appetibile, o almeno non in un futuro tanto prossimo. Una UI che necessiti di prendere controllo di un avatar e muoverlo in uno spazio virtuale per andare a fare cose sembra estremamente sconveniente per la maggior parte delle applicazioni. Tutto questo, poi, tralasciando quanto suoni potenzialmente distopico un futuro dove il Metaverso esiste per davvero ed è effettivamente popolare.
Ho sinceramente condiviso Third Room più perché "wow che figata che qualcuno stia lavorando a questa cosa", che altro. In ogni caso, se mai in futuro dovessimo infine determinare che sistemi del genere siano effettivamente utili e desiderabili, sarà un bene avere a disposizione alternative aperte come questa qui.

 

Premetto che continuo a pensare che il #Metaverso consista solo di una buzzword vuota, e che se comunque quelle idee dovessero mai riuscire a prendere piede, non avranno tutta quella rilevanza trasversale che Facebook si aspetta.
Detto ciò, questo progetto basato su Matrix, il protocollo federato per la messaggistica istantanea, decentralizzata e sicura, è quantomeno meritevole di attenzioni: thirdroom.io/preview
Si tratta di uno standard per il Metaverso aperto, decentralizzato e privo di crittovalute ed NFT. Pareri?

[–] junbird@poliverso.org 5 points 2 years ago (3 children)

I'm not sure whether to be nervous about this. It's clearly going to be an alternative to ActivityPub, Diaspora and so on, but I don't expect this new protocol to be integrated into the fediverse and it will likely be its own standalone network. I wonder if it will be able to catch on, and in that case what will it mean for the fediverse. I guess it will just continue to exist, but there would be no futher hope for mainstream adoption.

Do you think this protocol might be a good thing? I mean, would it be that bad if it replaced the fediverse? I'd like to hear some opinions on this. Weirdly, no mentions of blockchains or cryptos. I was expecting this to be part of Dorsey's "web5" vision (and I guess it will probably fit into it).

Now that I think about it, I guess that it would be possible for the admin of an AT protocol's instance to make their server compliant to ActivityPub as well? Dunno if that would make sense or even be convenient in any way. I also wonder whether the target of this protocol are the mainstream social network platforms (think of Twitter and TikTok federating over this).

[–] junbird@poliverso.org 2 points 2 years ago* (last edited 2 years ago)

@Antonio_Gulino Questa è una problematica che più di qualcuno ha sollevato e sulla quale anch'io mi ero soffermato. Come ho già ammesso in un'altra sede, al momento ho ancora poche informazioni sui dettagli di come il sistema è implementato attualmente, quindi non so neanche se questa è una preoccupazione che è già stata presa in considerazione. Personalmente, mi sono ritrovato a fantasticare sugli oblivious transfer e altri schemi crittografici del genere, ma onestamente ora come ora questo non è assolutamente il mio ambito di competenza (sebbene mi interessino molto questo tipo di tecnologie). Perdonami per l'ignoranza, posso chiederti cosa intendevi per "le recupera evtl"? Ho provato a fare ricerche a riguardo, ma non sono riuscito a trovare granché.

[–] junbird@poliverso.org 3 points 2 years ago

@iusondemand No, sono uno studente dell'Uniba. Credo che la faccenda che hai menzionato sia la stessa che è stata portata alla mia attenzione su Mastodon. Ha a che fare con questa lettera? docs.google.com/document/d/15j… Non ne ho ancora sviscerato i dettagli (probabilmente lo farò domani mattina, perché in questo momento sto facendo fatica a tenere aperti gli occhi), ma mi è parso di capire che stessero ridistribuendo un grosso dataset di attività di istanze del Fediverso. Non è una situazione un po' diversa, considerando anche che il sistema che ho descritto non conserva i dati che processa, ma solo l'output della profilazione, e che fa tutto questo solo su esplicita iniziativa dei singoli utenti?
Per quanto riguarda invece i dubbi sollevati, forse avrei dovuto specificare che questo sistema non è necessariamente da immaginare come una piattaforma centralizzata, che conserva le profilazioni di tutti. Il sistema verrà prima o poi reso open source, il che implica che chiunque potrebbe eventualmente averne una propria istanza, totalmente auto-controllata.

[–] junbird@poliverso.org 1 points 2 years ago

@leo_mantooo Quando parlo del fatto che l'utente può utilizzare la propria profilazione nei contesti che ritiene più etici, mi riferisco anche a dilemmi del genere. Magari un utente potrebbe decidere di non usarla mai nel contesto dei social network. Non credo inoltre che i suggerimenti di post e contenuti portino necessariamente alla costituzione di bolle. Gli algoritmi dei siti mainstream sono tarati in quella maniera, per massimizzare la ritenzione delle sessioni e la quantità di interazioni, ma mettere a punto algoritmi di raccomandazione che non rinchiudano l'utente in una echo chamber è possibile.

[–] junbird@poliverso.org 1 points 2 years ago (1 children)

@skariko Capisco che intendi, perché è qualcosa che ho riscoperto solo da pochi mesi, quando mi sono avvicinato a Mastodon (il mio profilo è pieno di toot in cui mi stupisco di quanta "roba" fossi in grado di trovare esplorando liberamente il fediverso). Come ho detto in un'altra sede, però, ci vedo del valore comunque nei suggerimenti e ritengo che il problema nasca quando questi suggerimenti vengono imposti come unica alternativa alla fruizione dei contenuti. Voglio i suggerimenti, ma voglio anche la lista imparziale di opzioni dalla quale scegliere. Penso sia (anche) un problema di scelta, che a volte non viene data agli utenti.
Non sono sicuro di aver capito cosa intendi per "profilazione obbligatoria", però. Nel senso, no, nessuno ti costringe a profilarti. Tutto nasce dall'iniziativa dell'utente.

[–] junbird@poliverso.org 2 points 2 years ago (1 children)

@skariko Il "spero davvero sia la comunità adatta" era dovuto proprio al fatto che fossi indeciso tra questa comunità ed !eticadigitale. mannaggia.

 

(spero davvero sia la comunità adatta)
Sono ad appena un paio di esami dalla laurea in informatica e un mese e passa fa ho chiesto a un mio professore se fosse disposto a farmi da relatore. Abbiamo quindi cominciato a discutere su quello che avrei potuto produrre per la tesi e a un certo punto ho fatto menzione del fediverso e di ActivityPub. Questo ha fatto nascere un'idea.
Uno dei principali ambiti di ricerca del mio relatore riguarda i cosiddetti "recommender system", i sistemi che si occupano di fornire suggerimenti agli utenti in base a dati precedentemente raccolti. A questo proposito, da qualche tempo questo mio professore si occupa anche della messa a punto di un sistema che permette alle persone di estrapolare da varie piattaforme (social e non) le proprie informazioni, che vengono quindi processate al fine di generare un profilo unico dell'utente, che tenga conto di tutte le attività che ha svolto su tutte le piattaforme che utilizza. L'utente può poi utilizzare questa sua profilazione in diversi contesti, come appunto quello dei recommender system.
Questo sistema sarà ovviamente in grado di servire gli utenti delle piattaforme più mainstream, ma, come forse avrete già intuito, ciò che si è pensato è di renderlo compatibile anche con le implementazioni di ActivityPub. L'unico dubbio riguarda la ricezione di un progetto del genere da parte degli utenti delle piattaforme del fediverso, che sono generalmente molto sensibili a temi quali appunto la profilazione e persino gli algoritmi di raccomandazione. In generale, ci si è chiesto se queste persone potrebbero trovare utilità in un sistema del genere. Ho ragionato che il problema non è la profilazione di per sé, bensì il modo con cui viene fatta da Big Tech (che contemporaneamente cerca di rendere sconveniente a chiunque altro l'accesso a quei dati), e che gli algoritmi di raccomandazione sono il male solo se sono manipolatori e sono influenzati da qualche pregiudizio. Invece, l'idea dietro a questo sistema è che l'utente, in autonomia, decide di creare una propria profilazione, del quale ha completo ed esclusivo controllo, e che può utilizzare nei contesti che ritiene più etici.
D'altro canto, però, vorrei leggere le opinioni di quanti più utenti del Fediverso, specie di chi ha forti opinioni su questi argomenti. A questo proposito, se state leggendo questo post da una piattaforma che permette di boostare/ricondividere/eccetera, vi sarei eternamente grato se lo faceste. Per me è abbastanza importante raccogliere un buon numero di pareri sulla questione. Grazie in anticipo a tutti quelli che risponderanno 😀

[–] junbird@poliverso.org 1 points 2 years ago* (last edited 2 years ago)

@ColorIsh No, circa IPFS sono abbastanza informato (non troppo, ma le basi le conosco). Mi riferivo a FileCoin. Anche a me IPFS intriga molto, in generale il poter richiedere risorse in base a cosa sono piuttosto che in base a dove sono. Tuttavia anch'io sono scettico circa la sua adottabilità dal mainstream (nonostante l'obiettivo di questo protocollo sia letteralmente quello di rimpiazzare quello HTTP). Tuttavia è concettualmente molto figo. So che Brave supporta IPFS nativamente e che gli altri browser possono supportarlo tramite plugin. Realizzare un sito hostato su IPFS sarebbe un progettino divertente. Peccato che ora come ora l'unica applicazione che IPFS è riuscita a trovare sia quella di hostare le immagini associate agli NFT (una soluzione adottata al solo fine di poter dire che gli NFT sono decentralizzati ecc).

[–] junbird@poliverso.org 1 points 2 years ago (2 children)

La prima in realtà, nel senso di utilizzare le blockchain per file sharing/cloud storage, non è neanche realizzabile, a causa dei limiti alle dimensioni dei blocchi di cui parlo. Esiste in realtà una blockchain, quella di FileCoin, il cui scopo è proprio quello. Non me ne sono mai interessato molto, quindi mi mancano i dettagli tecnici, ma in realtà mi è parso di capire che non è la blockchain a fornire questo servizio, bensì proprio la rete IPFS. FileCoin introduce solo degli incentivi per tentare di rendere IPFS economicamente sostenibile (credo che FileCoin sia un progetto a cura proprio degli sviluppatori di IPFS), Onestamente, però, non ho idea di come funzioni e se effettivamente funzioni.

 

!eticadigitale

Come praticamente tutti, ho sentito parlare di crittovalute per la prima volta molti anni fa, nel contesto del dark web e di Silk Road più nello specifico. Non ho però mai approfondito l'argomento fino a circa un anno fa, quando il boom degli NFT provocò una nuova onda di entusiasmo per la tecnologia sottostante. Inizialmente mi affascinava molto e mi ci sono documentato veramente tanto. Oggi voglio quindi parlarvi di quelle che sono state battezzate "blockchain". Mi auguro che troviate la lettura interessante e che possa essere un buon spunto di discussione.

Come funzionano

Le blockchain sono protocolli che regolamentano quelle reti (solitamente peer-to-peer) il cui fine è quello di mantenere una lista comune (ognuno conserva una propria copia, non ne esiste una "autorevole") di blocchi di dati. Ciascun blocco ha un id che è derivato crittograficamente non solo dai propri contenuti, ma anche da quelli di tutti i blocchi precedenti. L'utilità di una tale struttura dati è che permette di assegnare un timestamp a ogni specifico blocco (come descritto nel paper "How to time-stamp a digital document"), certificando cioè che i suoi contenuti sicuramente esistevano prima o dopo di quelli in certi altri blocchi.
Nel contesto delle crittovalute, le informazioni contenute nei blocchi altro non sono che transazioni, firmate con chiave privata, che stabiliscono il trasferimento di "moneta" dall'indirizzo di un utente (che deriva dalla corrispondente chiave pubblica) a quello di un altro. Le transazioni sono dunque cronologicamente ordinate e ciò previene che si possano verificare dei "double-spending" (un problema che a lungo ha impedito che un sistema del genere potesse venire realizzato): è impossibile pre-datare una transazione al fine di spendere nuovamente quanto è già stato speso.
Le transazioni possono anche fare riferimento ai cosiddetti "smart contract", letteralmente dei contratti, ma che sono espressi in un linguaggio informatico (quali il DSL "Solidity"), formale e inflessibile, piuttosto che in uno giuridico, che può essere ambiguo e che quindi ha talvolta bisogno di essere interpretato. Inoltre, questi contratti non vengono fatti rispettare da un'autorità: i loro effetti sono piuttosto automaticamente applicati dal sistema, che funge quindi da parte terza realmente imparziale (una feature di questa tecnologia spesso descritta col termine "trustlessness"). Gli utenti inoltrano transazioni all'indirizzo di uno smart contract al fine di sottoscrivercisi implicitamente.
Per generalizzare, si potrebbe dire (almeno per certe architetture) che anche le normali transazioni per trasferire "moneta" a beneficio di un altro utente sono in realtà indirizzate a degli smart contract, i quali prevedono che la quantità di "moneta" trasferita possa essere poi nuovamente trasferita solo tramite transazioni adornate da una firma valida. Per chiarire, quello che fondamentalmente tutti gli smart contract vanno a definire sono condizioni per le quali si possono o meno verificare certe modifiche allo stato del sistema.
Tra gli obiettivi di una blockchain c'è appunto quello di essere priva di autorità, quindi nuovi blocchi possono essere creati e propagati da chiunque faccia parte della rete. Tuttavia, affinché un blocco sia considerato valido, questo deve ovviamente riportare informazioni corrette (le transazioni all'interno devono rispettare i termini stabiliti dai relativi smart contract), ma deve anche contenere una cosiddetta "proof-of-work" (una "prova di lavoro svolto", solitamente nella forma di un valore numerico detto nonce), che porti l'id del blocco ad assumere certe proprietà.
L'unico modo di produrre un blocco valido è con la brute-force, andando a tentativi, cioè appunto svolgendo del lavoro (un processo detto gergalmente "mining") del quale la "proof-of-work" sarà poi una prova innegabile da presentare agli altri nodi del network. È un meccanismo che previene che la rete venga intasata da blocchi invalidi (che terrebbero inutilmente impegnati i nodi), perché verificare che una proof-of-work sia invalida è semplicissimo, mentre produrne una valida per un blocco farlocco non porterebbe vantaggi (il blocco verrebbe alla fine comunque respinto, a causa dell'invalidità suoi contenuti) e sarebbe inutilmente costoso. Il livello di difficoltà di questo processo è infatti dinamicamente modificato, così che il tempo trascorso tra un blocco e un altro (il "blocktime") rimanga più o meno costante. Ciò ha il fine sia di garantire che ci sia sempre (a prescindere ad esempio dai progressi tecnologici) abbastanza tempo affinché l'ultimo blocco valido riesca a raggiungere un buon numero di nodi, ma anche che trovare le "proof-of-work" sia sempre (a prescindere ad esempio dall'abbandono improvviso dal network di macchine molto performanti) abbastanza sconveniente per attori malevoli e non troppo sconveniente per gli attori onesti.
Lo stato del sistema è infatti aggiornato solo quando un nuovo blocco viene verificato, quindi una volta ogni blocktime. Se tra un blocco e un altro passassero ore, ciò sarebbe estremamente sconveniente per gli utenti, dato che che una transazione non ha alcun effetto almeno fino a quando non viene prodotto un nuovo blocco valido (ad esempio, in un sistema con blocktime di circa 10 minuti, se l'ultimo blocco è stato verificato da 5 minuti, nel migliore dei casi si dovranno attendere altri 5 minuti per vedere applicati gli effetti della propria transazione).
Dato che il blocktime è più o meno costante, si tende a paragonarlo alla frequenza di clock delle CPU. Infatti, la verifica di nuovi blocchi è uno dei modi con cui le blockchain possono segnare il tempo internamente (riprendendo l'esempio precedente, dopo 6 blocchi sarà passata 1 ora circa). Uno smart contract potrebbe per esempio impedire specifiche operazioni fino a quando non saranno stati prodotti un certo numero di blocchi validi.
I nodi competono per trovare una proof-of-work per un blocco che sia successivo all'ultimo che è già stato verificato. Chi per primo presenta un nuovo blocco valido viene solitamente ricompensato con nuova "moneta" (emessa per l'occasione), oltre che con le commissioni che gli utenti hanno allegato alle transazioni contenute nel blocco prodotto.
Infatti, anche dopo che si è inoltrata una transazione, questa potrebbe non avere mai effetti, semplicemente perché non c'è modo di imporre ai nodi di includerla nei blocchi che producono (nulla vieta di produrre blocchi vuoti, dopotutto). Quindi, c'è invece un meccanismo di incentivo economico, per il quale chi include in un blocco una certa transazione, se ne intasca anche le relative commissioni. Dato che i blocchi hanno solitamente una dimensione massima (una misura che ha il fine di prevenire attacchi di tipo DoS, ma che collateralmente va anche a limitare la quantità di aggiornamenti che il sistema può elaborare per volta), inoltrare una transazione è come fare un'offerta per l'acquisto di spazio all'interno di un blocco. Si tratta di un mercato nel quale vige davvero solo la legge della domanda e dell'offerta: chi offre di più verrà ovviamente incluso per primo nei blocchi (perché altrimenti i nodi correrebbero il rischio di far validare a qualcun altro le transazioni più ghiotte), anche nel caso ci dovesse essere una lista di transazioni pendenti molto lunga.
È stabilito infine che la lista di blocchi più lunga è l'unica da considerare valida. Ciò impedisce che la storia delle transazioni possa essere riscritta (quindi potenzialmente causando double-spending), perché per modificare un blocco passato non solo sarebbe necessario trovarne una nuova "proof-of-work", ma sarebbe necessario farlo anche per tutti i blocchi che sono venuti dopo. Mentre l'attore malevolo esegue questo processo, gli attori onesti continuano a produrre blocchi genuini, preservando il primato di "lunghezza" della lista originale, che rimarrà quindi quella valida. Si riuscirebbe a compiere un'operazione del genere solo controllando la maggior parte della potenza di calcolo di tutta la rete ("51% attack").

Funzionano?

La mia intenzione non è quella di sostenere che protocolli di questo genere non facciano quello che promettono, almeno da un punto di vista strettamente tecnico. Piuttosto, voglio mettere in discussione l'adottabilità, l'usabilità, l'applicabilità e l'effettiva utilità della tecnologia in questione.
Innanzitutto, com'è ormai noto, ci sono seri problemi di scalabilità. I limiti alla dimensione dei blocchi, in combinazione al problema che il blocktime non può essere eccessivamente breve, fa da collo di bottiglia al sistema. Ne consegue che ad esempio la rete di Bitcoin può al più processare 7 transazioni al secondo, contro le 1700 transazioni al secondo di un circuito di pagamenti tradizionale quale Visa.
Ovviamente, nel caso delle blockchain, "al secondo" è un modo di dire, perché (com'è già stato spiegato) gli aggiornamenti al sistema si verificano solo una volta ogni blocktime. C'è quindi anche il fondamentale problema che le operazioni su blockchain semplicemente non possono avvenire con tempistiche immediate. È anzi comune dover attendere ben più di un blocktime prima di vedere applicati gli effetti di una propria transazione. Questo presupponendo che si sia abbastanza facoltosi da poter convincere i miner (i nodi che svolgono il mining) a includere le proprie transazioni nei blocchi che producono, offrendo loro delle mance adeguate.
I costi di transazione non sono in alcun modo regolamentati (non ce n'è modo), quindi i costi lievitano come conseguenza di alti volumi di traffico, a danno principalmente di chi non può permettersi spese eccessive. Gli elevati costi di transazione rendono per altro sconveniente trasferire piccole quantità di "moneta", rendendo il sistema inadeguato a effettuare spese di bassa entità.
Col blocktime che non può essere diminuito eccessivamente, la soluzione ovvia (anche se non risolverebbe il problema dell'immediatezza delle transazioni) sembra essere quella di incrementare la dimensione dei blocchi. Questa è in realtà una questione incredibilmente spinosa, che già solo nell'ambito di Bitcoin ha dato origine a numerose "hard fork" (come Bitcoin Cash, che ha parzialmente la stessa storia delle transazioni di Bitcoin, ma che da un certo punto in poi adotta parametri diversi secondo i quali considerare validi i blocchi, causando un vero e proprio scisma) e persino a una specie di guerra civile (Bitcoin XT).
Neanche incrementare la dimensione dei blocchi sembra infatti essere una buona soluzione. Il limite attuale dei blocchi di Bitcoin è di 1 MB, quindi per raggiungere il throughput di Visa dovrebbe essere possibile per i blocchi raggiungere una dimensione di approssimativamente 243 MB. Ciò escluderebbe dal network (indebolendo i presupposti per la decentralizzazione) le macchine meno performanti, specialmente quelle con limitato spazio di archiviazione. Infatti, ogni nodo deve memorizzare per conto suo le informazioni di tutti i blocchi validi, che se avessero quelle dimensioni ideali richiederebbero (nel peggior caso possibile) ben 35 GB di spazio per ogni singolo giorno.
A questo proposito, le dimensioni della lista di blocchi continuano ad aumentare, nel caso di Bitcoin al ritmo di (al più) 1 MB ogni circa 10 minuti (il blocktime). Ad oggi, Bitcoin richiede 400+ GB di spazio per far parte della rete come "full node", Ethereum va invece già verso il suo primo TB. Operare un proprio nodo è semplicemente sconveniente per gli utenti comuni, mentre operare un cosiddetto "lightweight node" implica fidarsi dei "full node". Dato però che operare "full node" è alla portata di pochi, il sistema pare non raggiungere i suoi obiettivi in termini di decentralizzazione.
Questo vale specialmente per il processo di mining, L'idea iniziale era che tutti avrebbero contribuito alla sicurezza del network usando le proprie macchine domestiche: chiunque avrebbe avuto la possibilità di unirsi alla corsa al prossimo blocco, tutti sarebbero stati di tanto in tanto pagati dal sistema, e gli utenti si sarebbero scambiati tra loro quanto guadagnato per avere accesso a beni e servizi. Posta in questi termini, è una visione meravigliosamente ottimistica, poetica quasi: denaro che funziona alla stregua del file sharing tramite BitTorrent. E finché Bitcoin consisteva di una piccola community di appassionati, funzionava davvero in questo modo, ma sono sorti diversi problemi una volta che si è stabilito che queste "monete" valessero effettivamente qualcosa.
Data le possibilità di profitto, il diventare miner si è tramutato in un investimento: chi se lo può permettere, acquista macchine molto performanti e costose (inaccessibili ai più) così da primeggiare quanto più spesso possibile nella corsa ai blocchi. Insomma, essere i primi a produrre un blocco valido col proprio laptop è già da molto tempo qualcosa di estremamente irrealistico. Questo processo è ormai prerogativa delle mining farm, vere e proprie aziende il cui scopo è quello di intascare le ricompense per aver prodotto nuovi blocchi. Di conseguenza, il consenso nel network è garantito solo da una manciata di attori, tant'è che qualcuno ipotizza che basterebbe che le tre più grandi mining farm di Bitcoin si mettessero d'accordo per attuare un 51% attack nella corrispondente rete. Anche da questo punto di vista, quindi, è difficile definire Bitcoin come "decentralizzato".
In realtà, ci sono esempi ben peggiori di centralizzazione in ambito blockchain. Personalmente, ad esempio, fatico davvero a comprendere il senso delle blockchain "permissioned" (dove Bitcoin ed Ethereum sono "permissionless", invece), nelle quali solo pochi nodi (una ventina di solito), approvati da un ente centrale (un'azienda, il più delle volte), possono produrre nuovi blocchi. Questi network usano spesso un algoritmo di consenso chiamato Proof-of-Authority: semplificando all'estremo, se un nodo prova ad attuare furbate, l'ente che gestisce la blockchain prende provvedimenti nei suoi confronti, magari estromettendolo. Queste piattafome sono, ovviamente, le più performanti, in ambito blockchain, ma considerando che presentano un'autorità centrale, non capisco le ragioni per le quali necessitino di essere blockchain.
Una dimostrazione dell'estrema centralizzazione di sistemi di questo genere ci è stata data a seguito del recente fiasco di TerraUSD, quando la relativa blockchain (di tipo permissioned, appunto) è stata "messa in pausa" per diversi giorni. A Bitcoin va quantomeno riconosciuto che rende impossibile che qualcosa del genere possa accadere (ci sarà sempre qualcuno a produrre blocchi),
Date le criticità della Proof-of-Work come algoritmo di consenso, e considerando anche il suo enorme impatto ambientale (dovuto alla competizione alla quale i nodi partecipano per produrre blocchi, i miner svolgono un'enorme quantità di lavoro che è estremamente ridondante), si sono proposte diverse alternative negli anni. Tra queste, la Proof-of-Stake è quella sicuramente più popolare, nonostante alcuni detrattori sostengano che comporti delle fondamentali e irrisolvibili falle per la sicurezza rispetto alla Proof-of-Work. Ignorando questi aspetti, però, l'unico problema che la Proof-of-Stake risolve è quello ambientale, mentre per il resto non fa altro che rendere esplicita la naturale propensione di queste reti a privilegiare chi dispone di più capitale (più "moneta" corrisponde a un nodo, più è probabile che quel nodo venga selezionato per produrre il prossimo blocco).
In generale, si sono discusse, o anche implementate, un sacco di soluzioni per i vari problemi delle blockchain (ad esempio, il lightning network di Bitcoin promette transazioni istantanee con bassissimi costi di transazione e un throughput fino a 1 milione di transazioni al secondo), ma la sensazione è che siano in realtà solo compromessi che tendono a vanificare le idee iniziali. Una di queste soluzioni è direttamente un'alternativa alle blockchain, ossia gli hashgraph, dei quali però so poco e se ne parla ancora meno (forse perché la tecnologia è protetta da brevetto).
L'inconvenienza di scambiarsi "moneta" tramite Bitcoin potrebbe forse essere il motivo per il quale più di recente si è passato dal considerarlo "denaro digitale" al considerarlo "oro digitale", nel senso che è seriamente visto da molti come una vera e propria riserva di valore, come lo è considerato l'oro. Non voglio approfondire questi aspetti finanziari, perché non è il genere di cose in cui sono ferrato, ma questa idea sembra derivare dalla convinzione che l'oro abbia valore solo in virtù della sua scarsità, quando in realtà il punto è che l'oro è anche desiderabile: ha proprietà utili in ambito tecnico e scientifico ed è banalmente anche considerato bello a vedersi. Ma se le crittovalute non sono utili ad acquistare beni e servizi, per quale ragione dovrebbero allora essere considerate desiderabili?
Uno dei modi in cui si è cercato di riposizionare questa tecnologia è presentandola (specialmente a partire dal lancio di Ethereum, dato che Bitcoin ha funzionalità limitate in questo ambito) come la base per piattaforme di smart contract. Sostanzialmente, le blockchain possono essere viste come dei computer globali distribuiti in grado di eseguire codice in modo sicuro, nel senso che non si corre il rischio che l'esito di una procedura venga falsato da attori malevoli.
Precedentemente ho descritto gli smart contract come appunto dei contratti, ma possono semplicemente essere visti come degli script eseguiti dai nodi della rete quando una transazione lo richiede. Più uno script è complesso, più la sua esecuzione comporterà elevati costi di transazione, rendendo quindi le crittovalute indispensabili per accedere a queste funzioni.
Questa "programmabilità" delle blockchain viene effettivamente sfruttata per definire dei contratti di natura finanziaria, ma è usata anche per costruire delle "applicazioni decentralizzate" ("dapp") che in pratica usano gli smart contract al posto di più ordinarie procedure server-side. Le dapp sono quello a cui ci si riferisce quando si parla di "web3".
Il problema però è che è difficile trovare applicazioni effettivamente utili per gli smart contract. Questo perché quello che le blockchain fanno è solo assicurare che informazioni già scritte non vengano successivamente modificate senza i permessi necessari. Com'è ovvio, sono in grado di dare garanzie solo nei confronti di ciò che è già all'interno del sistema, ma nativamente all'interno del sistema troviamo solo bilanci in crittovaluta e poco altro. Per trovare applicazioni utili è necessario fare interagire le blockchain col mondo esterno, che è difficile e necessita di riporre fiducia nei cosiddetti "oracoli". Si può anche semplicemente effettuare una transazione per far memorizzare alla rete certe informazioni provenienti dal mondo esterno. Da quel punto in poi avremo la garanzia che quelle informazioni non potranno mai essere modificate, ma ciò in realtà non è granché utile. La vera criticità si verifica proprio al momento dell'input, cioè l'unico passaggio per il quale le blockchain non possono fornire garanzie: nessuno vieta a nessuno di pubblicare frottole sulla rete, non esiste schema crittografico che possa prevenirlo.
Nulla dimostra meglio questi limiti degli NFT. Sono il modo in cui viene replicata la scarsità degli oggetti fisici nel mondo digitale, ma in realtà no. Ci siamo abituati a vedere un'immagine e a dire "questo è un NFT", ma in realtà quell'immagine è solo un'immagine. Gli NFT sono fondamentalmente (parlando in particolare del paradigma di Ethereum) degli smart contract che stabiliscono chi gode di determinati diritti (ossia, il proprietario), come quello di poter trasferire quei diritti a qualcun altro (che è ciò che rende possibile venderli). Questi smart contract stabiliscono anche che i corrispondenti NFT sono associati a qualcosa, riportandone il link (spesso a risorse su IPFS, ma a volte anche a risorse su server centralizzati). Questi link portano tendenzialmente ad immagini ed è così che la "CryptoArt" funziona.
Il collegamento tra gli NFT (interni alla rete) e le corrispondenti immagini (esterni alla rete) è estremamente debole e addirittura labile (anche nel caso siano su IPFS). L'idea dovrebbe essere che possedere un NFT dovrebbe darti i diritti sull'immagine corrispondente, ma non c'è modo di imporre qualcosa del genere senza ad esempio una legge che lo stabilisca (il che vuol dire ricorrere a un'autorità in grado di risolvere dispute, e a quel punto a che ci servono gli NFT?).
Un discorso simile si può fare persino per quegli NFT che rappresentano risorse nei videogiochi, perché i videogiochi che usano le blockchain come inventari dei giocatori sono solitamente sistemi centralizzati in mano a un'azienda, che in ogni momento può banalmente decidere che un certo NFT non rappresenti più nulla di significativo nel suo videogioco.
Se un NFT fosse in grado di concedere al suo proprietario dei diritti crittograficamente innegabili, ciò sarebbe magari interessante, ma ribadisco che ciò è seriamente limitato dall'inaccessibilità di informazioni provenienti dal mondo esterno, che sono ciò che davvero ci interessa. La conseguenza è che le dapp in circolazione si limitano ad essere elaboratissime supercazzole per la speculazione finanziaria (il denaro è quello che le blockchain sono effettivamente in grado di trattare).
Alcuni estremisti vorrebbero invece portare TUTTO sulla blockchain, tutte le informazioni personali di tutta la popolazione, così da costruire una società in blockchain. Diplomi, referti medici, addirittura fedine penali, così che gli smart contract siano automaticamente in grado di compiere decisioni sulla base del profilo di un utente. Tralasciando diverse difficoltà tecniche e d'uso di un sistema del genere, e specialmente le implicazioni distopiche, forse sarebbe il caso di notare che l'inflessibilità degli smart contract non è totalmente qualcosa di positivo: gli utenti, le persone, hanno bisogno di flessibilità quando interagiscono con le macchine. L'idea di una società automatizzata, dove il potere giudiziario è in mano alle macchine, è secondo me terrificante.
Non voglio mettere in dubbio che, nonostante i loro difetti, le crittovalute non possano in assoluto essere considerate utili. Metto di nuovo le mani avanti perché vado a parlare di qualcosa di cui non mi intendo, ma presumo che un circuito di pagamenti decentralizzato possa essere genuinamente utile in certe parti del mondo. Peccato solo che il resto del mondo renda il sistema in questione meno utilizzabile, stressandolo al solo fine di specularci finanziariamente.
Infatti, rispondendo alla domanda che ho posto prima, le crittovalute al momento sono desiderabili solo perché c'è la percezione che il loro valore sia destinato a incrementare: si comprano con la speranza di rivenderle a prezzi più alti a qualcuno che spererà a sua volta di rivenderle a prezzi ancora più alti e così via, un sistema che a un certo punto diventa insostenibile. È una bolla.
Ciò è testimoniato dal fatto che la maggior parte degli investitori acquista crittovalute da servizi di exchange centralizzati e poi li lascia lì, in attesa di rivendere. Invece di possedere crittovalute, possiedono un credito in crittovaluta nei confronti di entità centralizzate, delle quali si fidano ciecamente, ignorando non solo diversi episodi passati che suggeriscono che non dovrebbero farlo (MtGox, QuadrigaCX, eccetera), ma soprattutto le ragioni per le quali le crittovalute esistono in primo luogo.
Potrebbero riscuotere il proprio credito, richiedendo cioè che gli exchange trasferiscano quanto devono dal proprio indirizzo a quello dell'investitore, ma spesso non lo fanno perché fidarsi dell'exchange è più comodo. C'è un sacco di gente ormai che investe in crittovalute, ma la tecnologia vera e propria è comparativamente utilizzata da davvero pochi.
Insomma, la maggior parte delle persone che parla di blockchain sembra essere in realtà unicamente interessata alle possibilità di profitto, ignorando quello a cui effettivamente dovrebbero servire le blockchain. Dopo 13 anni non stiamo neanche più parlando di denaro digitale, sicuro e senza intermediari, stiamo parlando solo di un insensato sistema finanziario che ha l'unico scopo di generare profitti in modo fine a sé stesso.