l'avevo iniziato ma ancora non finito. Effettivmaente con poco tempo è dura.
Grazie del chiarimento. Affascinante l idea di superare l attuale client/server, anche se è da capire se abbia senso. Mi spiego ad ora avrebbe efficienza minore con centralizzazione non così differente. Dunque in prospettiva di anni come dici è una possibile via. Interessante e almeno da valutare.
...
Si la parte di "Programmare logica immutabile non è uno scherzo" la sottolinerei varie volte. Oltre a giocare con SOlidity seguii un corso IOHK e feci qualche esperimento con Plutus/Haskell per Cardano ma in tal modo si risolvono, forse, alcuni aspetti(es più facile evitare bug) ma aumenta, almeno per me, esponenzialmente la difficoltà causa linguaggio diverso da tutto quello che conoscevo(interessante e bello se lo si prende come allenamento mentale, ma frustrante se si vuole essere davvero efficaci e produttivi)
Programmare logica immutabile è complesso al limite del proibitivo, a prescindere delle complessità intrinseche al linguaggio.
Il codice dello smart contract è esposto e costituisce uno
honey pot per qualsiasi male intenzionato.
Ergo tendenzialmente ogni minima trascuratezza si paga.
Detto ciò, che si tratti di applicare una patch per un bug od aggiungere una qualsiasi estensione funzionale, l'immutabilità di fondo rappresenta comunque un problema cardinale.
Il dualismo di fondo tra assicurare upgradability e rispettare un criterio di immutabilità implica fare delle scelte di compromesso difficili ed assumersi grandi responsabilità.
Riflettiamo più ad ampio raggio sul concetto cardinale delle Crypto, eredità del movimento Cypherpunk, ossia l'assunto "
code is law".
Non "
math is law", o "
cryptography is law", attenzione.
Code. Codice.
Il codice software introdotto dal programmatore incarna la
legge prima del software, nonchè un
contratto vincolante che tu
firmi nel transare, a prescindere da intenzioni ed esito. Quanti
leggono e capiscono il contratto software che firmano?
E' una bella responsabilità per il programmatore e una bella gatta da pelare per l'investitore, perchè
tra l'altro in certe condizioni ciò rischia di collocare un consesso di
maintainer che scrivono codice
al di sopra della "legge". Non è proprio una sfumatura di poco conto.
Quanto all'architettura client / server secondo me dovrà essere superata, è questione di tempi. Lunghi, certo.
La ragione per la quale sopravvive oggi però non è tanto tecnica, ma utilitaristica.
Ormai si tratta perlopiù di un retaggio del
software chiuso, che permette da un canto un certo
lassismo nella qualità del codice senza troppi trade-off sulla sicurezza, dall'altro di rendere opachi a piacimento certi processi. Così da potere ad esempio raccogliere ed elaborare impunemente dati, come fanno Google od i Social Networks odierni.
Presto o tardi il paradigma architetturale generale tenderà a privilegiare il P2P.
Il processo che è iniziato con Napster, Tor, GnuTella, eMule, BitTorrent, ecc... sta ormai cominciando ad interessare le applicazioni di chat/video messaging (es. Signal) e finirà fatalmente per sconvolgere l'architettura odierna dei Social Network, coinvolgendo in fieri device mobile e IoT.
Salvo eventi che sovvertano in modo
permanente l'iter della globalizzazione P2P, protocolli open e reti aperte saranno probabilmente la chiave di volta della prossima rivoluzione digitale. Il fulcro di questa rivoluzione starà probabilmente nel fatto che tenderà
a perseguire un ecosistema digitale globale nel quale abbiano pari cittadinanza digitale persone e protocolli di automazione..
Ciò permetterebbe di delegare indifferentemente a persone, algoritmi (Smart Contract) o dispositivi (Smart devices IoT, veicoli) determinati processi ed incombenze digitali.
Sarebbe
indifferentemente possibile l'interazione digitale
efficiente tra
persona e persona,
persona e software o
software e software (es. dispositivo-dispositivo).
Tutte cose oggi ancora relativamente malagevoli.
Sono tutte idee che già ben si colgono oggi in nuce.
La visione di fondo di Tesla o Ethereum, in ambiti diversi, ne sono l'epitome.