La diffusione della tecnologia blockchain ha introdotto un nuovo modo di sviluppare applicazioni software.
Cos’è una Dapp, app decentralizzata
Mentre la “classica” APP web o aziendale è installata su un server o un device definito, sulla quale risiede e su cui viene richiamata per venire utilizzata, con la blockchain le APP sono distribuite su molteplici server, chiamati “nodi”, con il vantaggio di una maggiore resilienza e affidabilità dei dati. L’APP decentralizzata, infatti, è sempre disponibile senza intervalli di downtime. Grazie alla distribuzione su multipli nodi, poi, il rischio di perdita o corruzione dei dati è sostanzialmente nullo.
Questo modello di sviluppo è stato introdotto con gli Smart Contract di Ethereum, che distribuiscono le APP su una sorta di super computer globale, la cosiddetta EVM (Ethereum Virtual Machine), ed è stato poi imitato dalle altre blockchain sorte in seguito.
Oltre la finanza
La prima generazione di dAPP (“decentralized app”, APP decentralizzate) era incentrata su applicazioni di tipo finanziario, per lo più specializzate sul mondo delle criptovalute. Con l’ampliarsi dell’adozione della blockchain, però, gli sviluppatori si sono resi conto che le dAPP avevano un potenziale anche fuori da un contesto strettamente finanziario. Lo stesso legame con le criptovalute è iniziato ad apparire come un modo potenzialmente comodo per sostenere l’erogazione di servizi di produttività aziendale più orientati a un mondo b2b.
Alcune blockchain hanno perciò iniziato a proporre utility e software diversi, orientati ad applicazioni industriali o di office automation, fino ad ampliare l’offerta con una ampia selezione di software dedicati alla produttività personale, come dAPP per condividere file, collegarsi da remoto in sicurezza e tante altre.
Condivisione di file
Le soluzioni di storage su blockchain offrono numerosi vantaggi rispetto alla tradizionale condivisione su file server o su servizio SaaS. Innanzitutto, vengono sempre mantenute diverse copie del file distribuite su diversi nodi, in modo da garantire la resilienza del salvataggio dati. La gestione dei permessi è diversa dalle classiche ACL (Access Control List, liste di controllo degli accessi) a cui siamo abituati sui file server. Sulla blockchain, per ogni file salvato, viene rilasciato un token d’accesso, che rappresenta l’unica autorizzazione richiesta per operare sul file: questo sistema garantisce una sicurezza e una privacy senza rivali. Inoltre, molte dAPP prevendono un’interfaccia di gestione dei token, in modo da raggruppare in un unico contenitore tutte le credenziali necessarie per accedere ai nostri file.
I protocolli di condivisione file su blockchain si basano sulla tecnologia IPFS, un protocollo per la distribuzione file P2P, implementato con successo da progetti come FileCoin e Crust Network.
Browser
Per far fronte alle sempre maggiori richieste di privacy e sicurezza poste dagli utenti dei browser mainstream come Chrome o Edge, alcuni team hanno sviluppato browser interamente su blockchain. Questo tipo di browser è nato inizialmente per offrire un supporto nativo alle dAPP e agli ambienti di sviluppo Solidity e Web3.JS, ma poi si è evoluto implementando funzionalità di privacy e security pensate anche per gli utenti tradizionali.
Il primo browser si chiama Brave ed è una personalizzazione di Chromium: il suo focus è sulla privacy e sul blocco del tracciamento dati.
Il secondo browser, invece, si chiama Mist, ed è un software evoluto, creato per supportare nativamente le applicazioni su Solidity e EVM.
Entrambi i browser hanno interessanti applicazioni relative alla privacy e alla protezione dei dati che trovano campo anche nella normale quotidianità d’ufficio.
Comunicazione e privacy
In un contesto come la blockchain, dove la crittografia è di casa, non potevano mancare proposte incentrate sulla protezione della privacy e della riservatezza delle comunicazioni. Sono perciò sorti numerosi progetti specializzati sull’offerta di VPN e connessione remota, come ad esempio il software Orchid, una soluzione evoluta di VPN che permette di lavorare in Smart Working sfruttando la crittografia e la resilienza di un collegamento remoto gestito su blockchain.
Supply chain
Avere a disposizione un “libro mastro” con le caratteristiche di sicurezza e resilienza garantite dalla blockchain, ha fatto sì che molte aziende iniziassero a guardare a questo mondo in cerca di soluzioni finalizzate alla tracciabilità e alla non contraffazione. La blockchain offre nativamente un ambiente in cui registrare transazioni in modo assolutamente affidabile e non falsificabile: alcuni team di sviluppo hanno iniziato a costruire su di essa software rivolti al mondo della produzione industriale e della supply chain. Ci sono diversi progetti, tra cui anche uno adottato da aziende come BMW, incentrati sul controllo della tracciabilità.
Verso l’integrazione totale
Sempre più viva è l’esigenza di una integrazione tra il mondo delle applicazioni standard (desktop, client/server, Web App) e l’ambiente della blockchain. Le app tradizionali hanno bisogno della flessibilità e della resilienza della decentralizzazione, mentre le dAPP potrebbero beneficiare dell’immensa quantità di logiche di business già esistenti. Per questo motivo stanno nascendo progetti con lo scopo di rendere fruibile il codice di librerie create negli ambienti .Net o Java all’interno degli Smart Contract. Uno di questi progetti è, ad esempio, CartaSi, che nasce proprio con l’intenzione di poter effettuare chiamate API all’interno di APP decentralizzate, ma ce ne sono anche altri, nati con lo scopo di estendere sempre più l’applicazione della tecnologia blockchain a logiche di business già consolidate.