Una panoramica sulla tecnologia blockchain e sugli strumenti crittografici che ne sono alla base. L'approccio Bitcoin ed Ethereum; perché utilizzare una blockchain e perché no
Link alla registrazione del webinar: https://youtu.be/TBx2PCRzCGM?t=594
Dopo la Seconda Guerra Mondiale, con l’arrivo della Guerra Fredda, la crittografia - ora basata sulla matematica- è entrata nell’era digitale e diventa un’arma strategica nelle mani dei Governi, che vogliono mantenerla a loro esclusivo uso.
Nel 1949 arriva il digitale (Claude Shannon,“The Communication Theory of Secrecy System”). La necessità di comunicazione impone l’interoperabilità e la standardizzazione: gli algoritmi di crittografia devono diventare pubblici.
Le necessità del mercato prima e l’arrivo di Internet poi cambiano nuovamente lo scenario. Tra gli anni ’70 e ’90 la crittografia, arricchita da altre capacità, arriva a disposizione di tutti, insieme ad Internet ed al personal computer – W. Diffie e M. E. Hellman “New Directions in Cryptography” (1975).
I computer sono sempre più potenti e gli algoritmi di crittografia più forti -- nel 1991 arriva Pretty Good Privacy (PGP). L’arrivo della fisica quantistica in questo teatro promette possibilità incredibili, ma mette in discussione molte certezze.
Nel frattempo, nei primi anni 2000 arriva una delle applicazioni più importanti della crittografia: la Blockchain.
Codice sorgente delle demo: https://github.com/janmaru/BitGold
Abstract:
Partiremo dalla definizione di criptomoneta e vedremo alcuni esempi di utilizzo di Bitcoin nel campo
della certificazione dei documenti nella blockchain.
In particolare capiremo le potenzialità di un sistema distribuito e anonimo, "read only" e "append only" nell'ambito finanziario, tecnico e politico.
Durante la presentazione vedremo diversi esempi pratici per comprendere il funzionamento delle criptomenete e delle blockchain.
Come? Usando F#, Programmazione Funzionale, CLR,.NET e Azure Notebooks
Mauro Ghiani
Sr. Dev con 30 anni di esperienza in coding.
Programma nell'ambito del Framework Net Core e Standard su AWS per una delle + grandi community di Fantacalcio in Italia.
Promuove lo sviluppo del paradigma della programmazione funzionale, in particolare F# e Scala.
Link alla registrazione del webinar: https://youtu.be/TBx2PCRzCGM?t=594
Dopo la Seconda Guerra Mondiale, con l’arrivo della Guerra Fredda, la crittografia - ora basata sulla matematica- è entrata nell’era digitale e diventa un’arma strategica nelle mani dei Governi, che vogliono mantenerla a loro esclusivo uso.
Nel 1949 arriva il digitale (Claude Shannon,“The Communication Theory of Secrecy System”). La necessità di comunicazione impone l’interoperabilità e la standardizzazione: gli algoritmi di crittografia devono diventare pubblici.
Le necessità del mercato prima e l’arrivo di Internet poi cambiano nuovamente lo scenario. Tra gli anni ’70 e ’90 la crittografia, arricchita da altre capacità, arriva a disposizione di tutti, insieme ad Internet ed al personal computer – W. Diffie e M. E. Hellman “New Directions in Cryptography” (1975).
I computer sono sempre più potenti e gli algoritmi di crittografia più forti -- nel 1991 arriva Pretty Good Privacy (PGP). L’arrivo della fisica quantistica in questo teatro promette possibilità incredibili, ma mette in discussione molte certezze.
Nel frattempo, nei primi anni 2000 arriva una delle applicazioni più importanti della crittografia: la Blockchain.
Codice sorgente delle demo: https://github.com/janmaru/BitGold
Abstract:
Partiremo dalla definizione di criptomoneta e vedremo alcuni esempi di utilizzo di Bitcoin nel campo
della certificazione dei documenti nella blockchain.
In particolare capiremo le potenzialità di un sistema distribuito e anonimo, "read only" e "append only" nell'ambito finanziario, tecnico e politico.
Durante la presentazione vedremo diversi esempi pratici per comprendere il funzionamento delle criptomenete e delle blockchain.
Come? Usando F#, Programmazione Funzionale, CLR,.NET e Azure Notebooks
Mauro Ghiani
Sr. Dev con 30 anni di esperienza in coding.
Programma nell'ambito del Framework Net Core e Standard su AWS per una delle + grandi community di Fantacalcio in Italia.
Promuove lo sviluppo del paradigma della programmazione funzionale, in particolare F# e Scala.
Talk organizzato da The Hive e DevMarche sulle blockchain. Relatore Gabriele Guizzardi di Brain & Bytes. Panoramica sulla struttura delle blockchain e su come possono essere utilizzate.
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...Codemotion
Come poter massimizzare le proprie competenze da Developer per sfruttare la rivoluzione tecnologica che sta portando la Blockchain, le applicazioni decentralizzate e le Criptovalute (Bitcoin, Ethereum, Ripple, etc)? E' questa la domanda a cui ho cercato di rispondermi un paio di anni fa e che ha cambiato drasticamente gran parte della mia vita di "semplice" developer. In questo talk voglio raccontarti la mia esperienza facendo chiarezza su aspetti tecnici riguardanti la blockchain, lo sviluppo su Ethereum (Smart Contracts) e la nuova frontiera del mining Javascript.
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...Codemotion
Come poter massimizzare le proprie competenze da Developer per sfruttare la rivoluzione tecnologica che sta portando la Blockchain, le applicazioni decentralizzate e le Criptovalute (Bitcoin, Ethereum, Ripple, etc)? E' questa la domanda a cui ho cercato di rispondermi un paio di anni fa e che ha cambiato drasticamente gran parte della mia vita di "semplice" developer. In questo talk voglio raccontarti la mia esperienza facendo chiarezza su aspetti tecnici riguardanti la blockchain, lo sviluppo su Ethereum (Smart Contracts) e la nuova frontiera del mining Javascript.
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4Stefano Saladino
Lo scopo dell’intervento è di far conoscere la nuova tecnologia blockchain, le sue caratteristiche, i suoi campi di applicazione e il suo legame con il Bitcoin.
Capire come funziona la tecnologia non è strettamente necessario; è indubbio, però, che la blockchain va sempre più affermandosi. E che cambierà il modo di operare di fornitori, clienti e concorrenti. Insomma, che vi piaccia o no, cambierà anche il vostro modo di fare business.
Meglio dunque giudicare con cognizione di causa.
Internet of Things ... Internet of what? There is not such a thing like a free lunch, so who pays for big IoT benefits? Are our privacy and security jeopardized more than ever?
E' in atto un cambiamento epocale, in grado di rivoluzionare le tradizionali forme di pagamento. Davide Capoti e Matteo Maggioni vi guideranno nel campo delle Valute Digitali, ed in particolare dei Bitcoin, presentando caratteristiche e tratti evolutivi del settore che sta rapidamente guadagnando consensi e popolarità.
LinuxDay 2009
Una presentazione rivolta agli studenti del triennio informatico di un ITIS su Linux e qualche nozione di sicurezza. Venne accompagnata da una demo di social hacking su Facebook.
SGI sandro fontana breve storia della crittografia Ep ISandro Fontana
Qui trovate il link alla registrazione del webinar del 25/02/2021
https://www.youtube.com/watch?v=xcBmqiiB4Dc
La crittografia (o criptografia, dal greco kryptós "nascosto" e graphía "scrittura") è la tecnica di rappresentare un messaggio, in modo che questo possa essere compreso solo dal destinatario. Inizialmente di grande uso in campo militare, diplomatico e commerciale, oggi è presente dovunque nel mondo digitale di tutti i giorni.
Ci sono sempre tre attori: chi genera l’informazione, chi la deve ricevere, chi la vuole -illecitamente- conoscere; l’esito di battaglie e la stabilità di Governi si sono decisi spesso dalla capacità di gestire la segretezza delle informazioni.
I metodi per lo scambio di messaggi segreti risalgono all’anno 600 a.C., attraversano la Grecia antica, Roma imperiale, il medio evo ed il rinascimento dove iniziano a divenire scienza.
Questo primo seminario racconta la storia della crittografia, dai primi esempi di messaggi nascosti, alle macchine cifranti della seconda guerra mondiale.
= = = = = = = = = = = = = = = = = = = =
Talk organizzato da The Hive e DevMarche sulle blockchain. Relatore Gabriele Guizzardi di Brain & Bytes. Panoramica sulla struttura delle blockchain e su come possono essere utilizzate.
Marco Casario - Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzar...Codemotion
Come poter massimizzare le proprie competenze da Developer per sfruttare la rivoluzione tecnologica che sta portando la Blockchain, le applicazioni decentralizzate e le Criptovalute (Bitcoin, Ethereum, Ripple, etc)? E' questa la domanda a cui ho cercato di rispondermi un paio di anni fa e che ha cambiato drasticamente gran parte della mia vita di "semplice" developer. In questo talk voglio raccontarti la mia esperienza facendo chiarezza su aspetti tecnici riguardanti la blockchain, lo sviluppo su Ethereum (Smart Contracts) e la nuova frontiera del mining Javascript.
Blockchain, Bitcoin, Ethereum e Javascript Mining: Monetizzare le proprie Ski...Codemotion
Come poter massimizzare le proprie competenze da Developer per sfruttare la rivoluzione tecnologica che sta portando la Blockchain, le applicazioni decentralizzate e le Criptovalute (Bitcoin, Ethereum, Ripple, etc)? E' questa la domanda a cui ho cercato di rispondermi un paio di anni fa e che ha cambiato drasticamente gran parte della mia vita di "semplice" developer. In questo talk voglio raccontarti la mia esperienza facendo chiarezza su aspetti tecnici riguardanti la blockchain, lo sviluppo su Ethereum (Smart Contracts) e la nuova frontiera del mining Javascript.
Cristina Baldi - Chi ha detto Blockchain? - Rinascita Digitale | DAY #4Stefano Saladino
Lo scopo dell’intervento è di far conoscere la nuova tecnologia blockchain, le sue caratteristiche, i suoi campi di applicazione e il suo legame con il Bitcoin.
Capire come funziona la tecnologia non è strettamente necessario; è indubbio, però, che la blockchain va sempre più affermandosi. E che cambierà il modo di operare di fornitori, clienti e concorrenti. Insomma, che vi piaccia o no, cambierà anche il vostro modo di fare business.
Meglio dunque giudicare con cognizione di causa.
Internet of Things ... Internet of what? There is not such a thing like a free lunch, so who pays for big IoT benefits? Are our privacy and security jeopardized more than ever?
E' in atto un cambiamento epocale, in grado di rivoluzionare le tradizionali forme di pagamento. Davide Capoti e Matteo Maggioni vi guideranno nel campo delle Valute Digitali, ed in particolare dei Bitcoin, presentando caratteristiche e tratti evolutivi del settore che sta rapidamente guadagnando consensi e popolarità.
LinuxDay 2009
Una presentazione rivolta agli studenti del triennio informatico di un ITIS su Linux e qualche nozione di sicurezza. Venne accompagnata da una demo di social hacking su Facebook.
SGI sandro fontana breve storia della crittografia Ep ISandro Fontana
Qui trovate il link alla registrazione del webinar del 25/02/2021
https://www.youtube.com/watch?v=xcBmqiiB4Dc
La crittografia (o criptografia, dal greco kryptós "nascosto" e graphía "scrittura") è la tecnica di rappresentare un messaggio, in modo che questo possa essere compreso solo dal destinatario. Inizialmente di grande uso in campo militare, diplomatico e commerciale, oggi è presente dovunque nel mondo digitale di tutti i giorni.
Ci sono sempre tre attori: chi genera l’informazione, chi la deve ricevere, chi la vuole -illecitamente- conoscere; l’esito di battaglie e la stabilità di Governi si sono decisi spesso dalla capacità di gestire la segretezza delle informazioni.
I metodi per lo scambio di messaggi segreti risalgono all’anno 600 a.C., attraversano la Grecia antica, Roma imperiale, il medio evo ed il rinascimento dove iniziano a divenire scienza.
Questo primo seminario racconta la storia della crittografia, dai primi esempi di messaggi nascosti, alle macchine cifranti della seconda guerra mondiale.
= = = = = = = = = = = = = = = = = = = =
Paper e-Sign, a technology that has been developed by Secure Edge to protect documents from falsification.
It is a graphic seal that, when used on printed documents, makes them impossible to alter in any way
Based on 2D-Plus™ is the 2D graphic codification process itself, which, unlike other codes, allows the encryption of enough information to create an unalterable file of any kind of data; for example: biometric, retinal, and photographic data as well as digital fingerprints and address and birth data.
1. 1
Blockchain
everyone talks about it, nobody really knows how to do it,
everyone thinks everyone else is doing it,
so everyone claims they are doing it...
3. Convegno SGI Bevagna 8 luglio 2018 01
blockckain
le tecniche che
permettono l’esistenza
delle blockchain crittografia a chiave Simmetrica
crittografia a chiave Asimmetrica
message digest (hash)
come funziona una
blockchain
il caso più semplice: bitcoin
blockchain
vs
DLT
criptovalute & ICO
aree di applicazione
teoria e realtà
costi - PoW
tutto ciò che avreste voluto fare
helicopter overview
smart contracts
4. Convegno SGI Bevagna 8 luglio 2018 01
helicopter overview (1)
un linguaggio di scripting: permette di scrivere
programmi memorizzati ed eseguiti nella blockchain
una lista ordinata di blocchi di dati
contenente transazioni applicative
una struttura dati pubblica e decentralizzata:
condivisa tramite una rete P2P
non modificabile;
dimostra autenticità, integrità e non ripudio
un sistema di consenso distribuito che permette
di validare e confermare ogni transazione
5. Convegno SGI Bevagna 8 luglio 2018 01
helicopter overview (2)
Quello che ha dato notorietà alla tecnologia blockchain
è la sua implementazione nei protocolli alla base delle criptovalute:
Bitcoin, Ethereum, Ripple e circa altre 1.600(*)
* fonte: https://coinmarketcap.com/all/views/all/
Ciò che rende la (tecnologia) blockchain interessante
è che risolve il problema della manipolazione dati ed è censor-proof
Sono le sue particolari caratteristche di libro mastro distribuito, totalmente digitale,
aggiornato in tempi quasi reali, con sequenze temporalmente certe, irreversibile e
verificabile, aperto ed affidabile, resistente agli attacchi, la cui sicurezza è basata su
crittografia forte, ad accesso libero e trasparente e può consentire l’anonimato
Blockchain è solo nella sua fase iniziale.
Ci sono molte cose che la blockchain potrebbe cambiare.
È plausibile che la blockchain possa
forse rendere i processi più democratici, sicuri, trasparenti ed efficienti,
trasformando o forse disgregando intere aree di business ed aziende
6. Convegno SGI Bevagna 8 luglio 2018 01
helicopter overview (2)
WILD PUBLIC CONSORTIUM PRIVATE
(by courtesy of Giuseppe Bianchi University of Roma Tor Vergata / CNIT)
Main interest for industrial applications
known/controlled set of untrusted
parties which «build» the chain:
many protocols
anyone can add a block: unknown/
uncontrolled set of miners!
very hard
consensus protocol
7. Convegno SGI Bevagna 8 luglio 2018 01
Detto tutto ciò cosa capita di frequente?
Se i vostri requisiti sono soddisfatti
dalle attuali basi di dati relazionali,
sarebbe folle utilizzare una blockchain
(da Gideon Greenspan, fondatore di Multichain)
8. Convegno SGI Bevagna 8 luglio 2018 01
crittografia (a chiave) Simmetrica: cosa è
Algoritmo di crittografia simmetrica
(Symmetric Encryption Algorithm)
Key
Londra dicembre 1964
Caro Babbo Natale,
quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !
Tuo
John Profumo
Testo in chiaro
Testo in cifrato
/cjj7iTGpHaAYx3KYVPIaq/
IuCXQ7OwvzoTlvB6k4B9fqXzVYvfhcsxkChQQ02a
RIeJYqDIT9+Gr
PJ2v34xtrHwJ8JW2gMtXNeeQfigoTg16pMHp1gU
1d1Isa0wzB0PH4e+1WfZ3lSEz7P7isozCMhgK
MtUoBU8oKizH/
2aa89hox23S39ZIl2udig55gFdiqSkbfeVwwpxiNr/
Op4F88w3s1+JTXikQuNTZ
qMl7rCgEmYWCajCKVkQpTYMXicqjJzkMurRhxc
S+L7BTwHPHo5EnY4jsn0y9cWjrOT8XS3Vz5rUA
enpDDOeOrbGBrlXvSovC9e1nc3jzFv4jHzev5mYp
qKs+KDsOy2o1RjVe/qxvD0X/L7RkDrHu0X0i
GpQvhEj9aMLwn3bbtNAbYrIaFC4fwja5Y0P1s6sE
my9oFU1JHuCYmd6Lt5+rIwTQQ69o2PbeEiI6
9E48MjLKipEfVarqBKnsB3C9+k9F2X73hc9n77ojIl
8vT6XlSSSMY1hhGU5sNIwLWcXrmIciKjBB
pqVeskRbGe4UeiLUaV28LIM5uwDAajOyMmkEde
0GrZN9+d0G544FIQHeg2gndvyfOZNKn287wPyL
YQN43vRoUoIW8DIXRBr7lq1xvQNuA8hS=1MmZ
Key
Londra dicembre 1964
Caro Babbo Natale,
quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !
Tuo
John Profumo
Nella crittografia simmetrica, ogni coppia che deve comunicare, possiede
una chiave condivisa, che tiene riservata (chiave segreta).
Un algoritmo di crittogrfia simmetrica, prende in ingresso (input) dei dati
-ad esempio un testo- e la chiave condivisa tra le parti comunicanti.
Produce dei dati codificati (output), che possono nuovamente essere
trasformati nei dati originali, solo utilizzando la stessa chiave condivisa
Da qui l’attributo “simmetrica”
9. Convegno SGI Bevagna 8 luglio 2018 01
crittografia (a chiave) Asimmetrica: cosa è (1)
Londra dicembre 1964
Caro Babbo Natale,
quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !
Tuo
John Profumo
Testo in chiaro
Testo in cifrato
/cjj7iTGpHaAYx3KYVPIaq/
IuCXQ7OwvzoTlvB6k4B9fqXzVYvfhcsxkChQQ02a
RIeJYqDIT9+Gr
PJ2v34xtrHwJ8JW2gMtXNeeQfigoTg16pMHp1gU
1d1Isa0wzB0PH4e+1WfZ3lSEz7P7isozCMhgK
MtUoBU8oKizH/
2aa89hox23S39ZIl2udig55gFdiqSkbfeVwwpxiNr/
Op4F88w3s1+JTXikQuNTZ
qMl7rCgEmYWCajCKVkQpTYMXicqjJzkMurRhxc
S+L7BTwHPHo5EnY4jsn0y9cWjrOT8XS3Vz5rUA
enpDDOeOrbGBrlXvSovC9e1nc3jzFv4jHzev5mYp
qKs+KDsOy2o1RjVe/qxvD0X/L7RkDrHu0X0i
GpQvhEj9aMLwn3bbtNAbYrIaFC4fwja5Y0P1s6sE
my9oFU1JHuCYmd6Lt5+rIwTQQ69o2PbeEiI6
9E48MjLKipEfVarqBKnsB3C9+k9F2X73hc9n77ojIl
8vT6XlSSSMY1hhGU5sNIwLWcXrmIciKjBB
pqVeskRbGe4UeiLUaV28LIM5uwDAajOyMmkEde
0GrZN9+d0G544FIQHeg2gndvyfOZNKn287wPyL
YQN43vRoUoIW8DIXRBr7lq1xvQNuA8hS=1MmZ
Nella crittografia asimmetrica, ogni partecipante possiede una coppia di chiavi
matematicamente collegate: una pubblica ed una privata.
Un algoritmo di crittografia asimmetrica, prende in ingresso (input) dei dati -
ad esempio un testo- e la chiave pubblica del destinatario.
Produce dei dati codificati (output), che possono nuovamente essere
trasformati nei dati originali, solo utilizzando la chiave privata corrispondente
Ciò che codifica una chiave, può essere decodificato solo dall’altra chiave.
Algoritmo di crittografia asimmetrica
(Asymmetric Encryption Algorithm)
Public Key
Private Key
Londra dicembre 1964
Caro Babbo Natale,
quest’anno sono stato particolarmente
buono. Sono riuscito a spiare tutte le
riunioni del Console ed a registrare
tutte le sue conversazioni. Inoltre ho
distribuito infor mazioni false e
fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova
macchina per la codifica dei miei
messaggi: ho paura che quella che uso
ora non sia tanto valida; potrebbero
scoprirmi !
Tuo
John Profumo
10. Convegno SGI Bevagna 8 luglio 2018 01
crittografia (a chiave) Asimmetrica: cosa è (2)
C’è un secondo effetto nella crittografia asimmetrica, importante quanto e forse più del primo.
Se Bob codifica un proprio messaggio utilizzando la propria chiave Privata quindi pubblica
questo messaggio, chiunque potrà decodificarlo, ma solo ed esclusivamente utilizzando la
chiave pubblica di Bob…
… questo significa con certezza che il messaggio proviene da Bob, l’unico
che ha a disposizione la corrispondente chiave Privata:
Bob’s
Private key
Bob’s
Public key
Ciò che codifica una chiave, può essere decodificato solo dall’altra chiave.
nasce così la Firma Digitale
11. Convegno SGI Bevagna 8 luglio 2018 01
message digest (hash): cosa è (1)
Il valore di hash di un messaggio, di un
testo, di dati in genere viene considerato
come l’impronta univoca di quei dati
… e non è prevedibile
(*) 256bit = 2256 = 1,16*1077
il numero (stimato) di atomi nell’universo è 1080
il numero di secondi, nella vita di una persona che compie 100 anni, è di 3*109
Un algoritmo di hash crittografico (da qui in poi hash) è una elaborazione
che accetta in ingresso una informazione di lunghezza qualsiasi:
da pochi caratteri, all’intero contenuto della Biblioteca Nazionale
Genera in uscita un sequenza univoca di bit, detto appunto hash del
messaggio in input: tipicamente di lunghezza pari a 128, 160 o 256 bit(*)
Dove si applica un algoritmo di hash?
Nella verifica dell’integrità dei dati & firma digitale … e in qualsiasi protocollo di sicurezza
12. Convegno SGI Bevagna 8 luglio 2018 01
message digest (hash): cosa è (2)
prendiamo lo stesso testo, con una piccola modifica:
Caro Babbo Natale,
quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte
le sue conversazioni. inoltre ho distribuito informazioni false e fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia
tanto valida; potrebbero scoprirmi !
prendiamo ad esempio il seguente testo:
Caro Babbo Natale,
quest’anno sono stato particolarmente buono. Sono riuscito a spiare tutte le riunioni del Console ed a registrare tutte
le sue conversazioni. Inoltre ho distribuito informazioni false e fuorvianti a tutti i governi alleati.
Ti prego di portarmi una nuova macchina per la codifica dei miei messaggi: ho paura che quella che uso ora non sia
tanto valida; potrebbero scoprirmi !
Algoritmo di hash utilizzato: SHA256
hash calcolato: 0aab561cf5053babbbac83deda77b014fa9f8b7805376ae45ac4e44bc2f67023
Algoritmo di hash utilizzato: SHA256
hash calcolato: ccfc590ff2be3e0686198f29cbf1098ad248b2572b2a1ae944aa0c59f245738d
la verifica dell’integrità dei dati:
piccoli cambiamenti in input, totali cambiamenti in output
13. Convegno SGI Bevagna 8 luglio 2018 01
il caso più semplice: Bitcoin
bitcoin (BTC)
It was invented by the pseudonym Satoshi Nakamoto in 2008, and released as
open-source software in 2009.
World payment system;
Peer-to-peer and no third parties involved (no Queen);
Usability;
Transactions pseudo-anonymous and irreversible;
Low (or no) fees (until end 2015);
All the users that exchange bitcoins represent
the Bitcoin network, and they are called nodes.
To become a node, each user needs:
✦ an Internet connection;
✦ a Bitcoin wallet (one or more then one)
✦ [a “full node/full client”, “is a client that stores the entire history of bitcoin transactions”]
A Bitcoin wallet can be compared to the user's bank account and it is thus necessary for sending
and receiving bitcoins. It is identied by two mathematically-connected keys:
✦ a private key
✦ a public key
wallet category:
desktop, mobile, Web,
Hardware, Paper
degree of autonomy:
full node/full client,
lightweight client, API client
sign every transaction you perform with private key
your identity/address = hash(your publick key)
14. Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: transactions/payments
14
Bob buys a cofee at Alice's café: how does Alice get paid?
Assumption :
✦ Both Alice and Bob have to possess a Bitcoin wallet.
✦ Alice communicates Bob her address and the bill.
✦ Bob creates a Bitcoin transaction of the due amount, from his wallet to Alice's
one; then Bob is the sender and Alice the recipient of the transaction.
Bitcoin transactions are the means by which each user:
✦ transfers a certain amount of his bitcoins to one or more users;
✦ demonstrates to be the owner of a certain amount of bitcoins:
signing the transaction with private key
note: Bob’s bitcoins, are not in Bob’s wallet; they stay in blockchain
wallet
15. Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: Miners
15
bitcoin miner = gold rusher
They are part of the Bitcoin network and connected to other nodes
Their job:
✦ listen for transactions
✦ checking transactions by
checking the signatures;
checking that bitcoins have not been spent before ! no double-spending!
✦ maintain the blockchain and listen for new blocks
✦ assemble a new block:group transactions into a new block
(extends the latest block you know about)
✦ reach the mining target (initial #0’s in block hash [block ID]) (*)
✦ hope your block is accepted
✦ If all the other miners accept your block, then you make a profit (today 12,5 BTC)
(*) Bitcoin network runs at an estimated 20,000 gigawatt/y (like Ireland)
fonte: https://www.worlddata.info/europe
16. Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: the blockchain
Block 875
Block 874 Block 876
hash
hash
Block n
…
… … …
Block 1 Genesis block
Block 2
hash
hash
hash
hash
hash
Hash (NONCE +
hash prev. block +
transactions-rootHash)
= 00000007C96A72BBC4
Proof of work
17. Convegno SGI Bevagna 8 luglio 2018 01
bitcoin: characters
17
Block 863
Miners
Users
ID Management (nicknames)
no central register
(cryptocurrencies) Exchange
Trust Virtual
computing platform
P2P
full nodes
users/miners
wallet
(cold/hot)
Asymmetric Cryptography (ECC);
Hash functions;
Digital signature;
Block 864
Block 865
Block 866
Block 867
Block 868
Block 869
Block 870
Block 871
Block 872
Block 873
Block 874
Block 875
blockchain
transactions
(in MemPool)
18. Convegno SGI Bevagna 8 luglio 2018 01
… e molti altri elementi
18
Pay-to-script-hash
M-of-N addresses (multi-signature address)
Escrow transactions
Bitcoin software
BIP (Bitcoin Improvement Proposal)
Double Spending⟶ slow block confirmation (1h = 6 block)
Wallet (hot&cold storage)
Bitcoin exchange
Mining Pool
so, why not use the blockchain to create a contract that is automatically
enforced, between two [or more] people, in a decentralized fashion?
blockchain, n. An open-source technology that supports
trusted, immutable records of transactions stored in publicly
accessible, decentralized, distributed, automated ledgers.
[ISO TC 307] Terminology for Blockchain v1.0
19. Convegno SGI Bevagna 8 luglio 2018 01
smart contract
19
The key idea is that the decentralized transaction ledger
functionality of the blockchain could be used to register, confirm,
and transfer all manner of contracts and property.
Contracts
Application Class Examples
General Escrow transactions, bonded contracts, third-party arbitration,
multiparty signature transactions
Financial transactions Stock, private equity, crowdfunding, bonds, mutual funds,
derivatives, annuities, pensions
Public records Land and property titles, vehicle registrations, business licenses,
marriage certificates, death certificates
Identification Driver’s licenses, identity cards, passports, voter registrations
Private records IOUs, loans, contracts, bets, signatures, wills, trusts, escrows
Attestation Proof of insurance, proof of ownership, notarized documents
Physical asset keys Home, hotel rooms, rental cars, automobile access
Intangible assets Patents, trademarks, copyrights, reservations, domain names
21. Convegno SGI Bevagna 8 luglio 2018 01
Bitcoin: script
21
The bitcoin transaction script language, called Script, is a
Forth-like reverse-polish notation stack-based execution
language.
Designed to be limited in scope and executable on a range of hardware:
there are no loops or complex flow control.
The language is not Turing Complete, meaning that scripts have:
limited complexity and predictable execution times.
e.g.:
Locking Script: specifies the condiction that must be met, to spend the output
Unlocking Script: satisfied the conditions and allow the output to be spent
22. Convegno SGI Bevagna 8 luglio 2018 01
Ethereum virtual machine code
22
Ethereum was designed to create, develop and spread smart contracts and has
become the most popular blockchain for creating smart contracts and
decentralised applications.
Uses a proprietary ledger, different from the Bitcoin blockchain
Solidity is a contract-oriented, high-level language for implementing smart
contracts. It was influenced by C++, Python and JavaScript and is designed to
target the Ethereum Virtual Machine (EVM)
other language: Serpent (outdated), Viper (still sperimental)
but it has had 4
hard fork
Implements a built-in powerful fully fledged Turing-complete
programming language that can be used to create "contracts"
that can be used to encode arbitrary state transition functions
23. Convegno SGI Bevagna 8 luglio 2018 01
Ethereum Philosophy /1
A computer distribuited across the entire Internet
Any node keep in its memory the whole RAM of Ethereum Computer
The state is made up of objects called "accounts"
• externally owned accounts, controlled by private keys
• contract accounts, controlled by their contract code
Ethereum Messages (like “transactions” in Bitcoin)
• a message can be created either by an external entity or a contract
• there is an explicit option to contain data
• if the recipient is a contract account, it has the option to return a
response; (encompass the concept of functions)
24. Convegno SGI Bevagna 8 luglio 2018 01
Ethereum Philosophy /2
contracts (account) have equivalent
powers to external accounts,
including the ability to send message
and create other contracts
one can send messages from an
externally owned account by
creating and signing a transaction
work as autonomous agents
every time the contract account receives a message its code
activates, allowing it to read and write to internal storage and
send other messages or create contracts in turn
The
computational
effort is payed in
gas
o
r
a
c
l
e
s
25. Convegno SGI Bevagna 8 luglio 2018 01
Ethereum Philosophy /3
Ether(ETH) [$1.156,09]
is the cryptocurrency associated to Ethereum
Market Cap
$111.964.181.038 USD
7,209,603 BTC
Volume (24h)
$7.182.950.000 USD
462,524 BTC
Circulating Supply
96,847,288 ETH
08/01/2018
Ether is the fuel for operating the distributed application platform Ethereum.
Clients pay the machines executing the requested operations.
Ensuring that developers write quality applications
Ethereum smart contracts are softwares written in a Turing-complete language.
Loops are possible and it is difficult to estimate the difficulty of a computation,
depending on the input.
In Ethereum, the fee for the execution depends on the operations performed
and each operation has its cost.
26. Convegno SGI Bevagna 8 luglio 2018 01
Instead of a smart contract initiating the retrieval of external data, one or more
trusted parties ("oracles") creates a transaction which embeds that data in the
chain.
Contacting external services?
Not so simple
if a smart contract retrieves some information from an external source, this
retrieval is performed repeatedly and separately by each node
Think about a use case where a
smart contract changes its behavior
in response to some external event.
Can we use Smart Contracts?
Smart contracts cannot fetch external data on their own.
Oraclize acts as a data carrier, a reliable connection
between Web APIs and your Dapp.
27. Convegno SGI Bevagna 8 luglio 2018 01
smart is not so smart
we have to remember The DAO hack
writing solid smart contracts can
be extremely difficult in practice
There is ongoing research on how to use
formal verification to express and prove
non-trivial properties.
The DAO was a decentralized autonomous organization
that exists as a set of contracts among people that
resides on the Ethereum blockchain
In June 2016, users exploited a vulnerability in The DAO
code to enable them to siphon off one third of The DAO's
funds to a subsidiary account (about 54M$ in Ether)
28. Convegno SGI Bevagna 8 luglio 2018 01
blockchain VS Distribuited Ledger Technology
(permissionless vs permissioned)
Quando scriviamo “blockchain”,
facciamo riferimento ad una
tecnologia di registrazione dati decentralizzata,
sicura, affidabile e priva di meccanismi di autorizzazione all’accesso.
Tutto ciò è molto bello,
ma guardando da vicino dobbiamo valutare alcune caratteristiche
che (molto) spesso rendono non logico o impossibile il suo utilizzo.
La blockchain potrebbe […] forse rendere i processi più democratici, sicuri, trasparenti ed efficienti
29. Convegno SGI Bevagna 8 luglio 2018 01
(by courtesy of myself https://www.linkedin.com/pulse/1001-reasons-start-blockchain-project-maybe-dlt-sandro-fontana/
1001 Reasons NOT to Start a blockchain project
… maybe a DLT project?
0001) difficoltà ad adeguare la tecnologia ai combiamenti (business, compliance …)
0010) completa trasparenza VS necessità di riservatezza
0011) incapacità di scalare e spreco energetico: PoW
0100) dove mettiamo i dati?
0101) nulla è gratis … ed in alcuni casi costa molto
0110) che succederà nel futuro di alcune (tutte) le blockchain
0111) i rischio per gli utilizzatori, in particolare per gli utenti finali
1000) nel business la mancanza di una autorità garante non sembra accettabile
1001) siamo certi di voler unire A.I. con un sistema che nessuno può bloccare?
la gran parte di questi spunti di riflessione, sono sicuramente gestibili in una
DLT (blockchain permissioned); sarà comunque necessario ripensare a come
disegnare le applicazioni e per questo, sviluppare/imparare altri strumenti.
30. Convegno SGI Bevagna 8 luglio 2018 01
la tecnologia blockchain, per come è costruita,
non ha la possibilità di evolvere e cambiare velocemente:
è necessario ricorrere al consenso di una ampia maggioranza dei nodi
Come può un’azienda basare il suo business, su una tecnologia che non è in
grado di evolversi rapidamente o che non è in sintonia con l'azienda stessa?
Pensate alla difficoltà di gestire l'aggiornamento del software (contratti intelligenti),
di risolvere i bug in modo tempestivo ...
dovremo definire un nuovo modo di progettare le nostre soluzioni software -come
contratti intelligenti- per gestire il loro ciclo di vita e la loro evoluzione.
e.g. GDPR:
con il nuovo regolamento, un cittadino europeo può richiedere ad una azienda
di cancellare i suoi dati personali;
utilizzando una blockchain
la cancellazione completa potrebbe non essere possibile
31. Convegno SGI Bevagna 8 luglio 2018 01
Una delle pietre angolari della catena di blocchi è la completa trasparenza dei dati,
delle transazioni e dei contratti intelligenti (con le loro variabili, il loro stato, ecc…)
Ma la (pseudo)anonimità non sarebbe d'aiuto in un contesto aziendale;
la trasparenza totale non sarebbe più accettabile
per la maggior parte delle applicazioni o per gli utenti.
Poiché le applicazioni (DApps) e i dati sarebbero presenti su tutti i nodi,
dovrebbero essere crittografati (multi-party, crittografia zero-knowledge)
con un conseguente aumento della complessità.
Probabilmente avremo bisogno di implementare nuove funzionalità nel wallet,
con l'obiettivo di gestire la decodifica (e la privacy) dei dati offline.
32. Convegno SGI Bevagna 8 luglio 2018 01
Che ci piaccia o meno, almeno nelle forme che conosciamo meglio,
la blockchain può essere utilizzata per le prove di concetto, non di più.
Anche Ethereum in termini di transazioni
non sembra adatto per applicazioni grandi e reali
… e se un'applicazione non è grande e reale,
perché dovremmo usare una blockchain?
Senza raggiungere le decine di migliaia di transazioni al secondo
(es. VISA/Mastercard),
anche la semplice fatturazione in Italia è un processo di diversi miliardi di fatture
all'anno: significa superare le 500 transazioni al secondo.
E oggi siamo tra 7tr/sec e 20tr/sec, quindi …
33. Convegno SGI Bevagna 8 luglio 2018 01
La blockchain non è un database,
per sua natura non è adatta a contenere megabyte di dati per transazione
In alcune tecnologie ìin realtà si può memorizzare dati,
ma in molte applicazioni potrebbe diventare molto costoso
gestire file/dati all'interno di una catena di blocchi.
Quindi è plausibile utilizzare la blockchain
come un registro distribuito, sicuro, affidabile di identificativi dei dati (hash)
integrato con una piattaforma esterna di archiviazione
che, deve avere caratteristiche di integrità e autenticità
almeno pari a quelle della blockchain con cui è stata integrata.
34. Convegno SGI Bevagna 8 luglio 2018 01
Spesso sentiamo dire che l’utilizzo della blockchain non costa nulla.
In alcuni contesti era vero qualche tempo fa (le fee di una transazione
bitcoin potevano essere zero)
Al di là di questo, oggi ci rendiamo conto che la Proof-of-Work (PoW) è
insostenibile (ma non sembra esserci di meglio)
La rete bitcoin sta iniziando a preoccuparci per inquinamento
e spreco energetico (PoW = Proof-of-waste?).
Altri meccanismo come la Proof-of-Stake (PoS),
al momento non sembrano all'orizzonte.
Ricordiamoci che
ogni esecuzione di un contratto intelligente ha un costo:
dovremo progettare e vendere le nostre soluzioni software in altro modo.
35. Convegno SGI Bevagna 8 luglio 2018 01
Cosa succederà quando tutti i Bitcoins saranno stati estratti?
Le entrate dei minatori dovranno basarsi unicamente sulle spese di
transazione, che aumenteranno sempre più.
Il costo di un'operazione potrebbe diventare proibitivo.
Forse alcuni minatori smetteranno di lavorare e l'intera infrastruttura inizierà
a scricchiolare (dal punto di vista della sicurezza).
Ethereum, nato con l’obiettivo di essere un grande computer distribuito,
andrà meglio ... probabilmente.
36. Convegno SGI Bevagna 8 luglio 2018 01
Dando per certo la sicurezza intrinseca
dei protocolli utilizzati nella tecnologia blockchain
(robustezza delle curve ellittiche scelte e futuro calcolo quantistico a parte),
ricordiamo che le credenziali di accesso -i meccanismi di firma elettronica-
sono la pietra angolare della sicurezza dei dati
e della dimostrazione di "proprietà" dell'utente in ambiente blockchain.
La corretta gestione delle credenziali per l’accesso e controllo delle proprietà, da
parte degli utenti, sono di esclusiva responsabilità degli utenti stessi.
I paradigmi permissionless e trustless -pilastri fondamentali di una blockchain-
lasciano l'utente ad affrontare ogni singolo incidente da solo
Sappiamo molto bene che la "consapevolezza" e il "rispetto" delle politiche di
sicurezza non fanno parte del patrimonio genetico dell'utente medio.
Di conseguenza, i rischi per la sicurezza - lato utente, il lato più vulnerabile - sono in
realtà amplificati nel contesto blockchain.
37. Convegno SGI Bevagna 8 luglio 2018 01
Permissionless: è uno dei pilastri di una blockchain canonica.
La mancanza di un garante e di un elemento di riferimento
è un punto di forza di questo nuovo approccio tecnologico.
Questa caratteristica, trasportata nel mondo delle imprese,
diventa una delle principali debolezze: non c'è certezza, non c'è legge.
La capacità di gestire una funzionalità di "transaction RollBack",
senza violare le caratteristiche di permissionless della tecnologia
blockchain, sarà un incubo.
38. Convegno SGI Bevagna 8 luglio 2018 01
Alla fine di tutto ciò, non dimentichiamo che
se tutto è stato progettato
nel rispetto delle fantastiche caratteristiche di una tecnologia blockchain,
nessuno sarà in grado di fermare uno smart contract ben progettato.
Questo, unito all'intelligenza artificiale, all’Internet-of-Things,
al prossimo universo di auto a guida autonoma
e di robot nella nostra vita ...
potrebbe portarci qui …
40. Convegno SGI Bevagna 8 luglio 2018 01
tutto ciò che avreste voluto fare
… è chissà perché state pensando di farlo tramite le blockchain
shared, public & transparent
i concetti base in una blockchain
own, private & secret
il modello base nel business
+
1001 Reasons NOT to Start a blockchain project
… maybe a DLT project?
41. Convegno SGI Bevagna 8 luglio 2018 01
tracciare la proprietà/proveninenza/esistenza di un documento
gestire asset virtuali
fornire servizi finanziari
gestione del diritto di voto
identità digitale
vendita di propri dati sensibili (DNA) in modo anonimo ma controllato
in teoria …
42. Convegno SGI Bevagna 8 luglio 2018 01
come va avanti …
PC will produce around 1 - 100 Mh/s,
based on CPU or GPU mining stats
(ASIC machine)
AntMiner S9
13.5 Th/s
$1,987.95
43. Convegno SGI Bevagna 8 luglio 2018 01
criptovalute & ICO
ICO è l’acronimo di Initial Coin Offering
significa che qualcuno sta offrendo al mercato
alcune unità di una nuova cripto-moneta.
Sempre più spesso,
una ICO serve per finanziare una nuova idea e/o un’azienda.
La raccolta di fondi è più facile e senza molti vincoli dei
controlli amministrativi, legali e documentali di una IPO (Initial Public Offerting);
inoltre non cede nulla della proprietà della nuova azienda.
Chiunque può lanciare una ICO:
basta preparare un white-paper che spiega come funziona la vostra ICO,
un sito web credibile sul quale raccontate la vostra nuova grande idea.
Quindi richiedere il finanziamento, utilizzando bitcoin o Ether,
in cambio dei quali voi invierete alcuni “token” della vostra nuova moneta
44. Convegno SGI Bevagna 8 luglio 2018 01
criptovalute & ICO
1.NEO (formerly Antshares) Cina, Microsoft: smart contracts, ID
token value from $0.03 to $88.20 ⟶ 294,000% ROI
2.Ethereum token, smart contracts
token value from $0.31 to $713 ⟶ 230,000% ROI
3.Spectrecoin token, total anonymity(TOR)
token value from $0.004 to $0.64 ⟶ 64,000% ROI
4.Stratis C# & .Net development compatible platform (blockchain4dummy)
token value from $0.01 to $2,64 ⟶ 56,000% ROI
45. Convegno SGI Bevagna 8 luglio 2018 01
ref: https://uetoken.com
[…] posso garantire qui e ora che il valore di UET non si ridurrà […] dal momento che
questi gettoni non valgono nulla, quindi non possono perdere valore.
contributi raccolti (US$) 144.872,00
la prima ICO completamente onesta
51. Convegno SGI Bevagna 8 luglio 2018 01
Bitcoin timestamping: Coloured Coin
RETURN <dataHash>
Locking Script
(burning bitcoins)
By “extrinsic” we mean assets that are not
stored directly on the bitcoin blockchain, as
opposed to bitcoin itself, which is an asset
intrinsic to the blockchain.
80 byte available after OP_Return
As the Bitcoin protocol has evolved, it has gained support for smart contracts.
using features added to Bitcoin, certain smart contract functionality can be
achieved through Bitcoin scripting.
“Colored coins refers to a set of similar technologies that use
bitcoin transactions to record (by metadata) the creation,
ownership, and transfer of extrinsic assets other than bitcoin.”