Strumenti per il deploy e l'esecuzione di Smart Contract sulla Blockchain Ethereum. Interazione fra Blockchain e Intelligenza Artificiale a livello strutturale e applicativo.
Capire le potenzialità della Blockchain per comprendere come sfruttare l'opportunità di un mondo sempre più decentralizzato. Un'introduzione sui concetti più importanti alla base di questa tecnologia.
Capire le potenzialità della Blockchain per comprendere come sfruttare l'opportunità di un mondo sempre più decentralizzato. Un'introduzione sui concetti più importanti alla base di questa tecnologia.
Il web service e i sistemi embedded - Tesi - cap2pma77
Nel capitolo secondo capitolo della tesi " SVILUPPO E IMPLEMENTAZIONE SU MICROCONTROLLORE DI UN’APPLICAZIONE WEB SERVER PER IL CONTROLLO DI UN SISTEMA EMBEDDED"sono presentati diversi prodotti commerciali impieganti Web Service , in modo particolare dispositivi di tipo embedded. Viene discusso, inoltre, su come le tecnologie Web entrino nel mondo industriale e della domotica e si pone l’attenzione sui fattori che impediscono il pieno sviluppo in questi ambiti. Infine vengono proposti diversi articoli che affrontano tematiche simili a quelle della tesi.
Una semplice guida che spiega come installare e utilizzare il software open-source Cacti per la gestione della rete.
A simple guide on how to install and use the software open-source Cacti for network management.
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
Mavigex parla al #WhyMCA 2012 e presenta l'architettura del sistema #SkyMedia.
Un gruppo di aziende provenienti da tutta Europa sta mettendo a punto un sistema tecnologicamente innovativo per dare una marcia in più agli eventi sportivi, combinando tecnologie all'avanguardia come droni volanti, schermi immateriali, telecamere 3D, applicazioni mobili per iPhone iPad e Android e tracciamento delle prestazioni degli atleti in tempo reale.
Tutte queste tecnologie sono combinate assieme per fornire ad atleti e spettatori una visione a 360 gradi dell'evento, con una prospettiva mai vista fino ad ora. Le prime dimostrazioni delle potenzialità di questo sistema sono state messe a disposizione della Maratona di Torino gia' dall'edizione 2011.
Una peculiarità è la potenziale versatilità di tale sistema e la sua applicabilità a diversi scenari sportivi. Altri sport infatti potrebbero trarre vantaggio da queste tecnologie, quali il ciclismo, l'arrampicata sportiva e lo sci.
Il talk illustrerà l'architettura e i componenti del sistema, e come sia stato possibile rendere accessibili al grande pubblico tecnologie fino ad ora limitate all'ambito di ricerca.
Maggiori informazioni sul progetto al sito http://ict-skymedia.eu/skymedia/
Hey there! Are you ready to create something awesome? In questa talk vedremmo l'evoluzione del .NET MF verso questo nuovo toolkit di prototipazione rapida, di come cambi l'approccio sia costruttivo che implementativo verso i micro dispositivi. Durante il talk saranno esplorati i nuovi strumenti messi a disposizione, il cambi di paradigma per l'accesso all'hw, i nuovi device ed i relativi moduli. Vedremmo poi come sia possibile integrare nuove componenti sia hardware che software all'interno di Visual Studio e di .NET Gadgeteer
Programma il futuro: una scelta open sourceMarco Ferrigno
Un'analisi tecnica dello strumento che avrà un grande impatto culturale sul futuro del nostro Paese: Programma Il Futuro. Nato da un'idea che ha visto coinvolti Il MIUR, il CINI – Consorzio Interuniversitario Nazionale per l’Informatica - e aziende IT intervenute come sponsor, l'iniziativa ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Il fine ultimo è dunque la formazione sin dalla tenera età del pensiero computazionale. Scopriremo insieme al collega Mario Rossano (responsabile della progettazione software) il perchè di un approccio opensource ad un progetto ad elevata criticità per il sistema Paese.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
A Bit 2018 abbiamo parlato dell'evoluzione di una tecnologia che promette di cambiare il modo in cui viaggiamo, permettendo una migliore gestione dell'identità e delle transazioni
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...Codemotion
In questo Talk verrà presentata una tra le più moderne e produttive piattaforme di sviluppo embedded attualmente esistenti: il .NET Micro Framework di Microsoft (.NETMF).
Il web service e i sistemi embedded - Tesi - cap2pma77
Nel capitolo secondo capitolo della tesi " SVILUPPO E IMPLEMENTAZIONE SU MICROCONTROLLORE DI UN’APPLICAZIONE WEB SERVER PER IL CONTROLLO DI UN SISTEMA EMBEDDED"sono presentati diversi prodotti commerciali impieganti Web Service , in modo particolare dispositivi di tipo embedded. Viene discusso, inoltre, su come le tecnologie Web entrino nel mondo industriale e della domotica e si pone l’attenzione sui fattori che impediscono il pieno sviluppo in questi ambiti. Infine vengono proposti diversi articoli che affrontano tematiche simili a quelle della tesi.
Una semplice guida che spiega come installare e utilizzare il software open-source Cacti per la gestione della rete.
A simple guide on how to install and use the software open-source Cacti for network management.
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
Mavigex parla al #WhyMCA 2012 e presenta l'architettura del sistema #SkyMedia.
Un gruppo di aziende provenienti da tutta Europa sta mettendo a punto un sistema tecnologicamente innovativo per dare una marcia in più agli eventi sportivi, combinando tecnologie all'avanguardia come droni volanti, schermi immateriali, telecamere 3D, applicazioni mobili per iPhone iPad e Android e tracciamento delle prestazioni degli atleti in tempo reale.
Tutte queste tecnologie sono combinate assieme per fornire ad atleti e spettatori una visione a 360 gradi dell'evento, con una prospettiva mai vista fino ad ora. Le prime dimostrazioni delle potenzialità di questo sistema sono state messe a disposizione della Maratona di Torino gia' dall'edizione 2011.
Una peculiarità è la potenziale versatilità di tale sistema e la sua applicabilità a diversi scenari sportivi. Altri sport infatti potrebbero trarre vantaggio da queste tecnologie, quali il ciclismo, l'arrampicata sportiva e lo sci.
Il talk illustrerà l'architettura e i componenti del sistema, e come sia stato possibile rendere accessibili al grande pubblico tecnologie fino ad ora limitate all'ambito di ricerca.
Maggiori informazioni sul progetto al sito http://ict-skymedia.eu/skymedia/
Hey there! Are you ready to create something awesome? In questa talk vedremmo l'evoluzione del .NET MF verso questo nuovo toolkit di prototipazione rapida, di come cambi l'approccio sia costruttivo che implementativo verso i micro dispositivi. Durante il talk saranno esplorati i nuovi strumenti messi a disposizione, il cambi di paradigma per l'accesso all'hw, i nuovi device ed i relativi moduli. Vedremmo poi come sia possibile integrare nuove componenti sia hardware che software all'interno di Visual Studio e di .NET Gadgeteer
Programma il futuro: una scelta open sourceMarco Ferrigno
Un'analisi tecnica dello strumento che avrà un grande impatto culturale sul futuro del nostro Paese: Programma Il Futuro. Nato da un'idea che ha visto coinvolti Il MIUR, il CINI – Consorzio Interuniversitario Nazionale per l’Informatica - e aziende IT intervenute come sponsor, l'iniziativa ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Il fine ultimo è dunque la formazione sin dalla tenera età del pensiero computazionale. Scopriremo insieme al collega Mario Rossano (responsabile della progettazione software) il perchè di un approccio opensource ad un progetto ad elevata criticità per il sistema Paese.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
A Bit 2018 abbiamo parlato dell'evoluzione di una tecnologia che promette di cambiare il modo in cui viaggiamo, permettendo una migliore gestione dell'identità e delle transazioni
Sviluppo di soluzioni embedded moderne con .NET Micro Framework by Lorenzo Ma...Codemotion
In questo Talk verrà presentata una tra le più moderne e produttive piattaforme di sviluppo embedded attualmente esistenti: il .NET Micro Framework di Microsoft (.NETMF).
5. www.olomedia.it 5
BASED ON BLOCKCHAIN TECHNOLOGY
ETHEREUM: THE WORLD COMPUTER
Grazie alla tecnologia blockchain realizza un
sistema distribuito su scala mondiale
È un sistema permissionless: Chiunque può
connettersi alla rete e mettere a disposizione le
proprie risorse
Le applicazioni realizzate per la rete Ethereum
(DApp) hanno la caratteristica di essere
inarrestabili.
6. www.olomedia.it 6
ETHEREUM NETWORK
Ethereum Virtual Machine (EVM)
Per mettere su un nodo della rete è sufficiente avviare un
EVM e fornire l’indirizzo della rete a cui connettersi
Tipologie di nodi
• Full nodes • Light clients • Miners
Tipologie di rete
• Pubblica • Consorzio • Privata
Reti di test
• Ropsten • Rinkeby • Rete privata
Client Ethereum (web3 API)
Ethereum Network
Wallet App layer
User interaction
Data
Code
7. www.olomedia.it 7
WALLET
Gestione degli indirizzi Ethereum
Genera gli indirizzi partendo da una coppia di chiavi
pubblica/privata
Conserva le chiavi
Traccia l’ammontare dei fondi che afferiscono ad un account
Client Ethereum (web3 API)
Ethereum Network
Wallet App layer
User interaction
Data
Code
8. www.olomedia.it 8
CLIENT ETHEREUM (WEB3 API)
Web3 API: interfaccia di accesso
Insieme di librerie che consentono di interagire con un nodo
locale o remoto.
Utilizzo di uno Smart Contract
Per potere invocare uno SC ed utilizzarne le funzionalità è
necessario settare nelle web3 API l’indirizzo e l’ABI dello
SC
Client Ethereum (web3 API)
Ethereum Network
Wallet App layer
User interaction
Data
Code
Client Ethereum
Applicativo che attraverso uno o più nodi della rete fornisce
un punto di accesso alla rete stessa sfruttando le web3 API.
9. www.olomedia.it 9
USER INTERACTION
Interazione tramite web3 API e wallet
Per potere interagire con la rete un utente deve
necessariamente utilizzare un proprio wallet.
Le transazioni di Ether possono essere performate
direttamente dal wallet
Per utilizzare le funzionalità messe a disposizione dagli SC è
necessario realizzare un opportuna App.
Le App utilizzano le librerie web3API per interagire con le
App e il wallet per ricevere le interazioni dell’utente
Client Ethereum (web3 API)
Ethereum Network
Wallet
App layer
User interaction
Data
Code
10. www.olomedia.it 10
DECENTRALIZED APPLICATION (DAPPS)
Cuore del progetto Ethereum
Applicazioni decentralizzate che vengono eseguite su diverse
macchine della rete rendendone l’esecuzione inarrestabile.
Client Ethereum (web3 API)
Ethereum Network
Wallet App layer
User interaction
Data
Code
Affidabilità
Non esiste un single point of failure, se alcune macchine
cadono l’applicazione continua ad essere eseguita
Sicurezza
Vengono utilizzate tecniche crittografiche per mettere in
sicurezza il codice e i dati in modo che nessuno possa alterarli
Trasparenza
Ogni attore della rete può verificare la correttezza delle
procedure delle DApps
11. www.olomedia.it 11
La compilazione trasforma il codice in
bytecode, eseguibile sulle EVM
COMPILE
Avviene utilizzando l’indirizzo dello SC
assegnatogli in fase di deploy
INTERACT
Il bytecode viene distribuito a
tutti i nodi della rete
DEPLOY
È necessario utilizzare la funzione
“selfdestruct” opportunamente configurata.
REMOVE
SMART CONTRACT LIFECYCLE
12. www.olomedia.it
PAY FOR COMPUTATION
12
Le fee sulle transazioni sono calcolate in gas. Il
gas è un asset virtuale della rete Ethereum che
non può essere comprato, venduto o conservato
GAS
L’esecuzione di ogni comando ha un costo, più è
complesso il calcolo computazionale più alto è il costo.
ESTIMATION
Per accelerare l’inserimento della transazione
all’interno di un blocco è possibile dare più gas
VELOCITÀ
14. www.olomedia.it 14
METAMASK
Client Ethereum
Permette di interfacciarsi a qualsiasi rete di tipo Ethereum
tramite l’indirizzo della rete stessa.
Inietta direttamente nel browser l’interfaccia web3
direttamente utilizzabile dalle app javascript.
È sia un Client che un Wallet ethereum implementato
come plugin per il browser
Wallet Ethereum
Genera indirizzi Ethereum e tiene memoria dello stato di
ogni singolo indirizzo.
Le transazioni di Ether possono essere performate
direttamente dal wallet
17. www.olomedia.it 17
GANACHE
Test environment
Simula la rete Ethereum sulla macchina di sviluppo mediante un
singolo processo
Implementa le stesse web3 API dei client Ethereum
Emula una rete con account multipli ed ether fake
Permette di resecare lo stato della rete
18. www.olomedia.it
SMART CONTRACT SECURITY PROBLEM
18
Non sono ancora stati definiti gli standard in materia di sicurezza
degli Smart Contract
Le vulnerabilità nascoste rilevate nei contratti intelligenti nuovi
o esistenti possono portare a risultati indesiderati anche gravi.
Nel 2017, l’acking del wallet Parity ha causato la perdita di
circa 180 milioni di dollari.
Nel 2016 un bug in una DAO ha permesso ad un hacker di
sottrarre 50 milioni di dollari dal suo Smart Contract.
19. www.olomedia.it
SMART CONTRACT TESTING
19
FORMAL VERIFICATION
SEARCH BASED
SOFTWARE ENGINEERING
(SBSE)
SOFTWARE TESTING BEST PRACTICE
Utilizzo di algoritmi matematici per assicurare la
correttezza nell’esecuzione e nelle computazioni
di sistema.
Converte il problema di ingegneria del software
in un problema di ricerca computazionale
risolvibile tramite un algoritmo di metaheuristica.
Solitamente applicato a tutte le fasi del processo
di sviluppo software.
21. www.olomedia.it
CONSENSUS AND ARTIFICIAL INTELLIGENCE
21
PROOF OF INTELLIGENCE
• I nodi devono addestrare una rete neurale predefinita in
modo da produrre risultati simili a risultati proposti (ad
esempio, l'hash del blocco corrente dato come input gli
hash dei blocchi precedenti).
• I parametri dell'addestramento della rete neurale
serviranno come prova dell'avvenuta computazione.
• La verifica viene fatta inserendo parametri trovati e
confermando il risultato
23. www.olomedia.it
BLOCKCHAIN & ARTIFICIAL INTELLIGENCE
23
La blockchain rappresenterà per l’intelligenza artificiale ciò che il
linguaggio scritto è stato per il cervello dell’uomo e per la sua costante
evoluzione. (Orlovsky Maxim)