L’Intelligenza Artificiale ha una storia che viene da lontano, i primi lavori di rilievo si devono a John McCarthy, Allen Newell e Herbert Simon e sono degli anni ’50. I primi esperimenti su Blockchain (catene di blocchi) sono invece del 1991 grazie al lavoro dei ricercatori Stuart Haber e W. Scott Stornetta, anche se la vera e propria rivoluzione è avvenuta soltanto nel 2008 ad opera di Satoshi Nakamoto, pseudonimo che ancora non si è riuscito ad attribuire ad una persona fisica o ad un team, con la presentazione del paper “Bitcoin: A Peer-to-Peer Electronic Cash System”.
Nonostante questa importante differenza di età, si tratta di due ecosistemi tecnologici abilitanti dotati di interessanti complementarietà e che inevitabilmente nel prossimo futuro sono destinati a collaborare strettamente.
Secondo un report di PWC entro il 2030 l’Intelligenza Artificiale produrrà un aumento del volume d’affari globale per 15,7 trilioni di dollari generando un aumento del PIL del mondo pari al 14%.
Anche le tecnologie Blockchain faranno la loro parte, secondo questa analisi di Gartner nello stesso anno queste avranno un impatto sull’economia globale pari ad altri 3,1 trilioni di dollari, generando un incremento di un altro 3% del PIL mondiale.
Visti i volumi che si ottengono prendendo in considerazione separatamente questi ecosistemi tecnologici, è facile intuire che una relazione tra i due mondi, nel perfetto spirito dell’integratore di tecnologie abilitanti innovative, possa portare a nuovi ed interessanti scenari.
Qualche fondamentale sulle tecnologie
Quando si parla di Blockchain, come descritto nel dettaglio nel white paper di Engineering “Unchaining business through the Blockchain”, ci si riferisce a una famiglia di tecnologie che consentono di realizzare registri distribuiti, i cosiddetti DLT (Distributed Ledger Technology), che si definiscono pubblici o privati in base a chi può leggerne il contenuto e si definiscono permissioned o permissionless in base a chi può accedervi in scrittura. Questi registri sono costituiti da una catena di blocchi di transazioni e questi blocchi sono crittografati, irrevocabili e condivisi da tutti i partecipanti di un ecosistema. Si tratta di tecnologie a cui, con alcune limitazioni, si tende a delegare la fiducia rispetto alle transazioni che vi sono memorizzate. Molte Blockchain pubbliche inoltre hanno la caratteristica di poter “notarizzare” un’informazione, validarne cioè l’esistenza a partire dal momento in cui questa informazione è stata inserita all’interno del sistema e garantirne l’immutabilità nel tempo. Va chiarito tuttavia che “notarizzare” è cosa ben diversa da “certificare”, in quanto non vi è alcuna garanzia che l’informazione inserita su una Blockchain pubblica sia vera, l’unica cosa certa è che quell’informazione esiste dal momento in cui è stata inserita sulla Blockchain e che da quel momento non potrà più essere modificata.
Le Blockchain pubbliche hanno, nelle loro implementazioni più utilizzate, due caratteristiche fondamentali: sono completamente decentralizzate, nel senso che non esiste un nodo della rete più importante di un altro, e sono trasparenti, nel senso che le transazioni sono tutte pubbliche.
Con Intelligenza Artificiale invece si intende la capacità di alcuni sistemi di completare task che normalmente richiederebbero l’intelligenza umana, come il riconoscimento di immagini e testi, la capacità di prendere decisioni in funzione dell’esperienza accumulata e non soltanto sulla base di regole scritte in un algoritmo, la capacità strategica, il ragionamento multi-contesto. Si tratta in gran parte di applicazioni di algoritmi adattativi, in grado cioè di tener conto dell’esperienza, che utilizzano particolari architetture chiamate “reti neurali”, veri e propri modelli computazionali che tentano di replicare, in modo molto semplificato, il funzionamento di una rete neurale biologica.
Le reti neurali, nelle loro implementazioni classiche, hanno anch’esse due caratteristiche distintive in totale controtendenza rispetto a quelle delle Blockchain: sono centralizzate, nel senso che la base di conoscenza è unica e non distribuita, e sono black-box. Quest’ultimo aspetto è particolarmente interessante, in pratica quando una rete neurale fornisce una sua valutazione, per esempio sul contenuto di un’immagine, non esiste quasi mai il modo di capire quali siano gli elementi che hanno contribuito alle scelte intermedie che hanno poi determinato la decisione finale.
Qualche esempio di future potenziali integrazioni
Blockchain come base di conoscenza per algoritmi di AI
Molti registri distribuiti hanno la caratteristica, salvo particolari ottimizzazioni, di replicare l’intero contenuto del registro su tutti i nodi della rete. Si pensi per esempio alla Blockchain di Bitcoin, i nodi contengono tutte le transazioni in Bitcoin che sono state effettuate dall’inizio, cioè da quando il primo nodo è stato acceso ed il primo scambio è stato contabilizzato. Le Blockchain possono rappresentare quindi basi di conoscenza straordinarie che, date in pasto ad apposite reti neurali, possono essere utilizzate con profitto da algoritmi di Intelligenza Artificiale dedicati.
Si pensi per esempio ad algoritmi di Intelligenza Artificiale che necessitino di utilizzare dati immutabili per ragioni normative, come quelli che riguardano i valori di inquinamento dei fumi di uno stabilimento, la velocità raggiunta dai mezzi per il trasporto pesante, i contenuti delle norme pubblicate in Gazzetta Ufficiale.
Smart Contract adattativi
Gli smart contract sono automatismi che consentono di applicare specifiche azioni al verificarsi di particolari condizioni nelle transazioni pubblicate su una Blockchain. L’implementazione attuale si basa per lo più su algoritmi tradizionali, mentre in futuro c’è da aspettarsi che alcune di queste implementazioni possano arrivare a livelli di complessità superiori fino a veri e propri algoritmi adattativi, propri delle metodiche classiche dell’Intelligenza Artificiale. In questi casi verrà naturale utilizzare l’intera base di conoscenza contenuta sulla Blockchain.
Il fatto che i contenuti presenti su molte Blockchain siano pubblici potrebbe anche aprire la strada a nuove iniziative basate sull’utilizzo as a service di algoritmi adattativi implementati tramite smart contract, realizzando dei veri e propri marketplace a disposizione di terzi.
Si pensi per esempio ad algoritmi che calcolano automaticamente il costo di una ricarica di energia elettrica, attivano la transazione economica e calcolano quando e dove sarà consigliabile fermarsi per la prossima ricarica sulla base dell’esperienza di guida dell’utente e del percorso selezionato. Tali algoritmi potrebbero essere concessi in uso anche a terzi che devono effettuare calcoli simili agendo su dati diversi.
Distributed computing as a service
Le Blockchain, soprattutto quelle basate sulla Proof Of Work, hanno la caratteristica di aver bisogno di grande potenza di calcolo per effettuare la cifratura dei blocchi contenenti le transazioni. Allo stesso modo molti algoritmi di Intelligenza Artificiale sono, in alcune condizioni, affamati di prestazioni per via della complessità delle reti neurali. Questo può innescare una vera e propria condivisione di potenza computazionale che può essere ceduta da architetture in quel momento più scariche verso architetture sotto pressione, con indubbi vantaggi di tipo infrastrutturale, energetico ed economico.
Esistono infine ipotesi di integrazione, tra Blockchain e Intelligenza Artificiale, in grado di mitigare i fenomeni di black-box e l’introduzione di bias all’interno delle reti neurali. Quel che è certo è che l’unione di questi concetti, sul piano tecnico ed operativo, può aprire nuovi scenari di enorme interesse in ambito industriale.
Massimo Canducci