Press enter to see results or esc to cancel.

Luca Martelli in Sviluppo App Mobile

La tecnologia BlockChain per sviluppare app, è una buona idea?

La tecnologia Blockchain attualmente va per la maggiore. È stata pensata per rendere sicure le transazioni, ma in realtà può risultare utile in svariati settori. E non è che all’inizio. Ci vorrà del tempo prima che questa tecnologia possa imporsi ed entrare a far parte della nostra vita quotidiana.

Ma come sapere se la tecnologia BlockChain è adatta al vostro progetto di applicazione? Prima di rispondere a questa domanda bisogna innanzitutto capire bene i vantaggi e gli svantaggi che questa tecnologia porta con sé.

sviluppare app blockchain 1

BlockChain, di cosa si tratta ?

Una BlockChain è una struttura di dati che la criptomoneta Bitcoin utilizza per il proprio registro pubblico, dove sono registrate tutte le transazioni. Curiosamente, il termine “blockchain” non compare nella descrizione originale del protocollo Bitcoin. Lo si trova però all’interno di uno dei commenti inseriti all’interno del codice.

In ragione della sua origine fluida, non esiste una definizione precisa di cos’è una “catena di blocchi”. Pur non essendoci dubbio che venga utilizzata da Bitcoin, le opinioni riguardo altri utilizzi di questa tecnologia sono variegati. Alcuni sostengono che l’unico utilizzo appropriato di questo termine sia in rapporto al protocollo di Bitcoin.

In generale, quando si parla della tecnologia BlockChain, pensiamo ad una base di dati distribuita che comprende blocchi di dati. Oltre ai dati che gli utenti vi hanno inserito, ciascun blocco contiene un timestamp ed un legame crittografico verso il blocco precedente. La base di dati BlockChain è leggibile da qualsiasi utente. Non dimentichiamoci di citare la sua architettura peer-to-peer. Questa caratteristica la differenzia dalla logica client-server che attualmente è la più utilizzata in internet. In pratica, ciò significa che gli utenti possono realizzare delle transazioni senza dover passare da terzi.

Si tratta della tecnologia sulla quale si basa la moneta Bitcoin. Se avete intenzione di creare un sito di e-commerce con un sistema di pagamento elettronico come questo la BlockChain sarà indispensabile ma questa tecnologia si presta a molti altri usi.

Vantaggi e svantaggi della tecnologia BlockChain

Il fatto che la BlockChian sia una base di dati distribuita la rende particolarmente utile in certi casi. Le applicazioni distribuite vengono eseguiti su computer in rete. Esse coordinano le proprie azioni trasmettendo messaggi tra diverse unità dell’applicazioni o attraverso memoria condivisa. Ciò permette di ottenere un grado di disponibilità più alto rispetto alle applicazioni “classiche”. In alre parole, reagiscono meglio quando un imprevisto isola una parte della rete dal resto.

Questi vantaggi scontano però alcuni inconvenienti. Può essere complicato conservare i dati in una BlockChain. Effettivamente, non c’è alcuna garanzia che un aggiornamento effettuato in un punto si distribuirà alle altre parti della rete. Ciò significa che teoricamente qualcuno potrebbe spendere due volte lo stesso Bitcoin. Fortunatamente, il modo in cui la catena di blocchi di Bitcoin registra le transazioni è concepita per risolvere questo problema.

Creare applicazioni con la tecnologia BlockChain è impegnativo

Sviluppare e testare delle applicazioni distribuite non è facile. L’utilizzo di un software di test e di debugging su di un solo computer è già abbastanza impegnativo. L’utilizzo di un software che deve contemporaneamente interagire con altri software sulla rete lo rende ancora più difficile. Il funzionamento instabile dei computer è all’origine del termine « heisenbug ». Quest’ultimo è definito come un bug che cambia il proprio comportamento durante il test. Sicuramente nel corso dello sviluppo di una applicazione che utilizza la BlockChain vi avrete a che fare.

sviluppare app blockchain 2

Allo stesso modo dovrete aspettarvi di incontrare dei « mandelbugs ». La causa di questi bugs è incerta e complessa, tanto che il comportamento osservato sembra essere un buon esempio della teoria del caos. Troverete probabilmente anche dei « schrödinbugs ». Si tratta di bug molto maligni dei quali non vi renderete conto fino a quando non utilizzerete la vostra applicazione in maniera non convenzionale. Ciò provocherà un comportamento nuovo ed inatteso.

Tutti questi bugs sono difficili da trattare nelle applicazioni non distribuite ma le cose si complicano ancora di più nel caso delle applicazioni distribuite. Ciò succede perché lo sviluppo di applicazioni che utilizzano la BlockChain è più complesso e più costoso delle altre.

Il fatto che i dati compaiano in una catena di blocchi non significa che siano esatti. Nel caso di Bitcoin è relativamente facile verificare se una transazione è valida. Per farlo si utilizza la crittografia a chiave pubblica per certificare l’autenticità dei trasferimenti di Bitcoin da un proprietario all’altro. L’autenticità di un Bitcoin è verificata prima che quest’ultimo venga aggiunto alla catena dei blocchi. Non è invece scontato come i dati possano essere validati all’interno di un’altra applicazione basata sulla BlockChain.

La natura distribuita delle catene di blocchi le rendono molto difficili da trattare. Riassumendo, la BlockChain presenta due difficoltà maggiori per gli sviluppatori di applicazioni. In tutti i modi bisogna trovare una maniera efficace di convalidare i dati che saranno inseriti nella catena di blocchi. Inoltre, una volta fatto ciò, ci sarà bisogno di inserire i dati nella catena.

Aspetti giuridici

La maggior parte delle transazioni necessitano di un quadro giuridico ben definito. Quanto alla tecnologia BlockChain non esiste ancora una regolamentazione a riguardo. Bisogna ancora provvedere a questo aspetto ed inoltre manca ancora una definizione legale di “catena di blocchi”.

C’è voluto un certo tempo per i giuristi per mettere in piedi un quadro giuridico basato sull’utilizzo commerciale dell’infrastruttura a chiave pubblica (PKI). Negli Stati Uniti questo ambito è regolato dalla American Bar Association’s Digital Signature Guidelines. Nella UE esiste la direttiva 1999/93/CE, ma è ormai obsoleta.

Troppe zone d’ombra?

La tecnologia BlockChain offre un enorme potenziale per il mondo degli affari. Nonostante ciò, è importante tenere a mente che si tratta di una tecnologia recente. Ha ancora bisogno di essere perfezionata per essere utilizzata su larga scala. Ma non abbiamo dubbi che questa tecnologia potrà nel prossimo futuro rivoluzionare la nostra società.

Commenti

Comments are disabled for this post