Slide del talk "Bitcoin in codice - Parte 2" per la community "Coding Zone".
Video del talk: https://www.youtube.com/watch?v=Zf_FxWmCoSQ
Questa miniserie di talk ha come obiettivo quello di esplorare gli aspetti interni di funzionamento di Bitcoin, comprendere come e perché funziona, facendo un viaggio attraverso tutti gli aspetti che è necessario conoscere per costruire una transazione in codice (JavaScript con l'uso della libreria bitcore-lib) e inviarla al Network.
Durante il secondo incontro tratteremo i seguenti temi:
・I testnet faucets
・Le faucet storicamente
・Il blockchain explorer
・Costruiamo una nuova transazione
・Il modello UTXO
・Le fee di transazione
・La firma digitale nella transazione
・La transazione RAW
・Scopriamo che esiste il Bitcoin SCRIPT
・Protezione del forziere
Slide del talk "Bitcoin in codice - Parte 1" per la community "Coding Zone".
Video del talk: https://www.youtube.com/watch?v=IPmDZJXtnW8
Questa miniserie di talk ha come obiettivo quello di esplorare gli aspetti interni di funzionamento di Bitcoin, comprendere come e perché funziona, facendo un viaggio attraverso tutti gli aspetti che è necessario conoscere per costruire una transazione in codice (JavaScript con l'uso della libreria bitcore-lib) e inviarla al Network.
Durante il primo incontro tratteremo i seguenti temi:
・Modello di esecuzione del Bitcoin SCRIPT
・I linguaggi concatenativi
・Esecuzione della transazione P2PKH (Pay To Public Key Hash)
・Cenni ad altri smart contracts in Bitcoin SCRIPT
・Invio della transazione al Network
・Attesa per entrare nel blocco
・Il mining di Bitcoin
・La transazione è nel blocco ed è conclusa il forziere è stato aperto e i lingotti spostati.
Slide del talk "Bitcoin in codice - Parte 1" per la community "Coding Zone".
Video del talk: https://www.youtube.com/watch?v=w3m34C7x5Tk
Questa miniserie di talk ha come obiettivo quello di esplorare gli aspetti interni di funzionamento di Bitcoin, comprendere come e perché funziona, facendo un viaggio attraverso tutti gli aspetti che è necessario conoscere per costruire una transazione in codice (JavaScript con l'uso della libreria bitcore-lib) e inviarla al Network.
Durante il primo incontro tratteremo i seguenti temi:
・Bitcoin Address
・Chiave Privata
・Chiave Pubblica
・Da Chiave Privata a pubblica
・Chiave privata deterministica
・Brain Wallet
・I formati degli address
・Il formato WIF delle chiavi private
・Wallet Gerarchici con Master Key
Paolo Moro - Lightning Network, the second layer of Blockchain is ready - Cod...Codemotion
La Blockchain: dettagli tecnici dei blocchi, dove sono le informazioni importanti. La differenza tra blocchi e transazioni. Per comprendere come funziona il secondo layer è fondamentale capire come vengono incluse le transazioni nei blocchi. Gli script: agganciamo una blockchain secondaria (off-chain), dove vengono applicati e quali sono quelli impiegati per lo strato Lightning. Cosa sono e come creare i canali, la loro creazione con le varianti disponibili. Come effettuare spese tramite portafogli fuori catena. Simuleremo una transazione fuori catena agganciata alla blockchain testnet.
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à.
Paolo Moro - LAB Lightning Network - Codemotion Rome 2019Codemotion
Dimostrazione live su come creare dei server che generano la propria chain collegata attraverso canali alla blockchain principale di BitCoin. Lavoreremo con micro-servizi Docker che permettono altissima flessibilità e bassi consumi. Gli script e le applicazioni per sfruttare al meglio questa tecnologia. Come effettuare spese tramite portafogli fuori catena. Simuleremo una transazione fuori catena agganciata alla blockchain testnet.
Monitorare una flotta di autobus: architettura di un progetto di acquisizione...Speck&Tech
ABSTRACT: In Alto Adige il sistema del traporto pubblico sta vivendo grandi cambiamenti con l'introduzione di nuove tecnologie e grandi investimenti; la transizione richiede tempo, e per continuare a monitorare la flotta in questa fase abbiamo deciso di creare un sistema di monitoraggio sviluppato in-house e basato su free software. Parleremo dell'architettura del sistema e delle sfide principali che abbiamo incontrato durante lo sviluppo e la messa in produzione.
BIO: Sono Marco Pavanelli, il responsabile del team di sviluppo interno di Sasa Spa. Mi occupo di software da quasi 30 anni, ho una grande passione per Python e per l'ecosistema open source; sono stato speaker a Pycon Italia 2022 e a Pycon Sweden 2023, e sono stato invitato come speaker anche a SFScon 2023 a Bolzano.
Slide del talk "Bitcoin in codice - Parte 1" per la community "Coding Zone".
Video del talk: https://www.youtube.com/watch?v=IPmDZJXtnW8
Questa miniserie di talk ha come obiettivo quello di esplorare gli aspetti interni di funzionamento di Bitcoin, comprendere come e perché funziona, facendo un viaggio attraverso tutti gli aspetti che è necessario conoscere per costruire una transazione in codice (JavaScript con l'uso della libreria bitcore-lib) e inviarla al Network.
Durante il primo incontro tratteremo i seguenti temi:
・Modello di esecuzione del Bitcoin SCRIPT
・I linguaggi concatenativi
・Esecuzione della transazione P2PKH (Pay To Public Key Hash)
・Cenni ad altri smart contracts in Bitcoin SCRIPT
・Invio della transazione al Network
・Attesa per entrare nel blocco
・Il mining di Bitcoin
・La transazione è nel blocco ed è conclusa il forziere è stato aperto e i lingotti spostati.
Slide del talk "Bitcoin in codice - Parte 1" per la community "Coding Zone".
Video del talk: https://www.youtube.com/watch?v=w3m34C7x5Tk
Questa miniserie di talk ha come obiettivo quello di esplorare gli aspetti interni di funzionamento di Bitcoin, comprendere come e perché funziona, facendo un viaggio attraverso tutti gli aspetti che è necessario conoscere per costruire una transazione in codice (JavaScript con l'uso della libreria bitcore-lib) e inviarla al Network.
Durante il primo incontro tratteremo i seguenti temi:
・Bitcoin Address
・Chiave Privata
・Chiave Pubblica
・Da Chiave Privata a pubblica
・Chiave privata deterministica
・Brain Wallet
・I formati degli address
・Il formato WIF delle chiavi private
・Wallet Gerarchici con Master Key
Paolo Moro - Lightning Network, the second layer of Blockchain is ready - Cod...Codemotion
La Blockchain: dettagli tecnici dei blocchi, dove sono le informazioni importanti. La differenza tra blocchi e transazioni. Per comprendere come funziona il secondo layer è fondamentale capire come vengono incluse le transazioni nei blocchi. Gli script: agganciamo una blockchain secondaria (off-chain), dove vengono applicati e quali sono quelli impiegati per lo strato Lightning. Cosa sono e come creare i canali, la loro creazione con le varianti disponibili. Come effettuare spese tramite portafogli fuori catena. Simuleremo una transazione fuori catena agganciata alla blockchain testnet.
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à.
Paolo Moro - LAB Lightning Network - Codemotion Rome 2019Codemotion
Dimostrazione live su come creare dei server che generano la propria chain collegata attraverso canali alla blockchain principale di BitCoin. Lavoreremo con micro-servizi Docker che permettono altissima flessibilità e bassi consumi. Gli script e le applicazioni per sfruttare al meglio questa tecnologia. Come effettuare spese tramite portafogli fuori catena. Simuleremo una transazione fuori catena agganciata alla blockchain testnet.
Monitorare una flotta di autobus: architettura di un progetto di acquisizione...Speck&Tech
ABSTRACT: In Alto Adige il sistema del traporto pubblico sta vivendo grandi cambiamenti con l'introduzione di nuove tecnologie e grandi investimenti; la transizione richiede tempo, e per continuare a monitorare la flotta in questa fase abbiamo deciso di creare un sistema di monitoraggio sviluppato in-house e basato su free software. Parleremo dell'architettura del sistema e delle sfide principali che abbiamo incontrato durante lo sviluppo e la messa in produzione.
BIO: Sono Marco Pavanelli, il responsabile del team di sviluppo interno di Sasa Spa. Mi occupo di software da quasi 30 anni, ho una grande passione per Python e per l'ecosistema open source; sono stato speaker a Pycon Italia 2022 e a Pycon Sweden 2023, e sono stato invitato come speaker anche a SFScon 2023 a Bolzano.
Presentazione fatta in occasione del primo meetup "blockchain e dintorni Bari"
Nella presentazione mostro come effettuare una transazione in codice sulla rete testnet di bitcoin. In javascript utilizzando la libreria bitcore di bitpay. E' un modo per entrare nel dettaglio di alcuni aspetti del protocollo Bitcoin. Il codice e' in questo repository https://github.com/gncvalente/bitcoin_playground
La Tokenomics Italiana verso una DAO MADE IN ITALY di Fantini Fabrizio SMAU 1...INNOVABILITA
Presentazione workshop del 19.10.2023 AREAN 1 in occasione dello SMAU MILANO 2023 presso il GATE 16 FieraMilanoCITY La Tokenomics Italiana verso una DAO MADE IN ITALY di Fantini Fabrizio SMAU 19 ottobre 2023 la finanza rigenerativa
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.
Marco Arena - Perché nel 2015 parliamo ancora di C++? | Codemotion Milan 2015Codemotion
Un sacco di applicazioni che utilizziamo quotidianamente sono sviluppate in C++. Per esempio, se stai leggendo questo abstract in un browser, allora probabilmente stai usando un software scritto in C++. Nonostante la diffusione di tanti altri eccellenti linguaggi, perché il C++ è ancora così utilizzato? Sapevi che nel 2014 è stato il secondo linguaggio più amato della SO Developer Survey? Cosa offre in più rispetto ad altre tecnologie? Presenterò la mia visione, e anche alcuni “segreti” che rendono il C++ speciale ed evoluto.
Blockchain - crittomonete, Bitcoin e altre applicazioniDavide Carboni
Un misterioso scienziato inventa nel 2008 un protocollo informatico che consente per la prima volta di realizzare un sistema di pagamento decentralizzato, sicuro e autonomo in quanto svincolato da ogni autorità di controllo. Nel 2009 nasce il Bitcoin definito da alcuni non come il denaro di Internet ma piuttosto come la Internet del denaro. In queste slide ripercorriamo rapidamente la storia e le caratteristiche di questa tecnologia emergente.
Bitcoin Forensics - Riciclaggio e Antiriciclaggio nell'era del Bitcoindalchecco
La Bitcoin Forensics, il riciclaggio e l'antiriciclaggio nel mondo del Bitcoin. Teoria del Bitcoin e delle investigazioni digitali su criptovalute con cenni su indirizzi, wallet, chiavi private e pubbliche. Indicazioni su come ottenere bitcoin e come monitorare le transazioni. Proposta di personalizzazione di DEFT Linux in modalità live in una sorta di DEFTCoin, con tool per Bitcoin Forensics, in particolare software free e open source come Electrum, Bitcoin Core, Bitcoin Explorer, Bitcoin-Tools, BTC Recover, BTCScan, KeyHunter, Bitcoin Sneak Peak e Bulk Extractor. Approfondimenti su come vengono eseguite transazioni bitcoin in anonimato tramite Tor e indirizzi Onion. Alcuni esperimenti sul riciclaggio e pulizia di bitcoin tramite mixer o tumbler come Satoshidice, Bitmixer, Bitcoin Fog, Coinjoin, Onionwallet e Bitlaundry. Cenni sul monitoraggio dei bitcoin tramite servizi web e feed rss, esempio di furto di bitcoin.
Presentazione fatta in occasione del primo meetup "blockchain e dintorni Bari"
Nella presentazione mostro come effettuare una transazione in codice sulla rete testnet di bitcoin. In javascript utilizzando la libreria bitcore di bitpay. E' un modo per entrare nel dettaglio di alcuni aspetti del protocollo Bitcoin. Il codice e' in questo repository https://github.com/gncvalente/bitcoin_playground
La Tokenomics Italiana verso una DAO MADE IN ITALY di Fantini Fabrizio SMAU 1...INNOVABILITA
Presentazione workshop del 19.10.2023 AREAN 1 in occasione dello SMAU MILANO 2023 presso il GATE 16 FieraMilanoCITY La Tokenomics Italiana verso una DAO MADE IN ITALY di Fantini Fabrizio SMAU 19 ottobre 2023 la finanza rigenerativa
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.
Marco Arena - Perché nel 2015 parliamo ancora di C++? | Codemotion Milan 2015Codemotion
Un sacco di applicazioni che utilizziamo quotidianamente sono sviluppate in C++. Per esempio, se stai leggendo questo abstract in un browser, allora probabilmente stai usando un software scritto in C++. Nonostante la diffusione di tanti altri eccellenti linguaggi, perché il C++ è ancora così utilizzato? Sapevi che nel 2014 è stato il secondo linguaggio più amato della SO Developer Survey? Cosa offre in più rispetto ad altre tecnologie? Presenterò la mia visione, e anche alcuni “segreti” che rendono il C++ speciale ed evoluto.
Blockchain - crittomonete, Bitcoin e altre applicazioniDavide Carboni
Un misterioso scienziato inventa nel 2008 un protocollo informatico che consente per la prima volta di realizzare un sistema di pagamento decentralizzato, sicuro e autonomo in quanto svincolato da ogni autorità di controllo. Nel 2009 nasce il Bitcoin definito da alcuni non come il denaro di Internet ma piuttosto come la Internet del denaro. In queste slide ripercorriamo rapidamente la storia e le caratteristiche di questa tecnologia emergente.
Bitcoin Forensics - Riciclaggio e Antiriciclaggio nell'era del Bitcoindalchecco
La Bitcoin Forensics, il riciclaggio e l'antiriciclaggio nel mondo del Bitcoin. Teoria del Bitcoin e delle investigazioni digitali su criptovalute con cenni su indirizzi, wallet, chiavi private e pubbliche. Indicazioni su come ottenere bitcoin e come monitorare le transazioni. Proposta di personalizzazione di DEFT Linux in modalità live in una sorta di DEFTCoin, con tool per Bitcoin Forensics, in particolare software free e open source come Electrum, Bitcoin Core, Bitcoin Explorer, Bitcoin-Tools, BTC Recover, BTCScan, KeyHunter, Bitcoin Sneak Peak e Bulk Extractor. Approfondimenti su come vengono eseguite transazioni bitcoin in anonimato tramite Tor e indirizzi Onion. Alcuni esperimenti sul riciclaggio e pulizia di bitcoin tramite mixer o tumbler come Satoshidice, Bitmixer, Bitcoin Fog, Coinjoin, Onionwallet e Bitlaundry. Cenni sul monitoraggio dei bitcoin tramite servizi web e feed rss, esempio di furto di bitcoin.
25. // 10_transaction.js
var bitcore = require('bitcore-lib');
//bitcore.Networks.defaultNetwork = bitcore.Networks.livenet;
bitcore.Networks.defaultNetwork = bitcore.Networks.testnet;
function deterministicPrivateKey(mappa_del_tesoro) {
const value = Buffer.from(mappa_del_tesoro);
const hash = bitcore.crypto.Hash.sha256(value);
const bn = bitcore.crypto.BN.fromBuffer(hash);
return new bitcore.PrivateKey(bn);
}
const mappa_del_tesoro = `
Seconda stella a destra, questo è il cammino
E poi dritto fino al mattino
Poi la strada la trovi da te
Porta all'isola che non c'è
`;
26. const sorgente = deterministicPrivateKey(mappa_del_tesoro);
const destinazione = deterministicPrivateKey('apriti sesamo ciccio cappuccio');
const address_sorgente = sorgente.toAddress();
const address_destinazione = destinazione.toAddress();
var tx = bitcore.Transaction(); // Transazione di tipo: Legacy P2PKH
// devo trovare un output di transazione non speso
// http get https://api.bitcore.io/api/BTC/testnet/address/
mwprx4B5aTLTD8eFDPBvyfBBrtMk68Cqk2/?unspent=true
var utxo = {
"txId": "1b00aa5791cb6607e034b4b0a2d8dfdba83ad0c07d6cf3d260ce43a1f78cb64f",
"outputIndex": 0,
"address": "n3ct4eSiLQrJSpPGA8JmZHxKJ9WMFcXKvz",
"script": "76a914f271bb23c0fa55be23aacddfc8f95d7244fffcb988ac",
"satoshis": 100000
};
tx.from(utxo);
38. const sorgente = deterministicPrivateKey(mappa_del_tesoro);
const destinazione = deterministicPrivateKey('apriti sesamo ciccio cappuccio');
const address_sorgente = sorgente.toAddress();
const address_destinazione = destinazione.toAddress();
var tx = bitcore.Transaction(); // Transazione di tipo: Legacy P2PKH
// devo trovare un output di transazione non speso
// http get https://api.bitcore.io/api/BTC/testnet/address/
mwprx4B5aTLTD8eFDPBvyfBBrtMk68Cqk2/?unspent=true
var utxo = {
"txId": "1b00aa5791cb6607e034b4b0a2d8dfdba83ad0c07d6cf3d260ce43a1f78cb64f",
"outputIndex": 0,
"address": "n3ct4eSiLQrJSpPGA8JmZHxKJ9WMFcXKvz",
"script": "76a914f271bb23c0fa55be23aacddfc8f95d7244fffcb988ac",
"satoshis": 100000
};
tx.from(utxo);
39. "outputIndex": 0,
"address": "n3ct4eSiLQrJSpPGA8JmZHxKJ9WMFcXKvz",
"script": "76a914f271bb23c0fa55be23aacddfc8f95d7244fffcb988ac",
"satoshis": 100000
};
tx.from(utxo);
// 50000 satoshi di pagamento
tx.to(address_destinazione, 50000);
// 10000 satoshi al miner
tx.fee(10000);
// il resto mettilo sempre nel mio wallet sorgente :)
tx.change(address_sorgente);
// firmo questa transazione con la mia chiave privata
// solo io posso spostare i miei utxo
tx.sign(sorgente);
43. tx.from(utxo);
// 30000 satoshi di pagamento
tx.to(address_destinazione, 50000);
// 20000 satoshi al miner
tx.fee(10000);
// il resto mettilo sempre nel mio wallet sorgente :)
tx.change(address_sorgente);
// firmo questa transazione con la mia chiave privata
// solo io posso spostare i miei utxo
tx.sign(sorgente);
// serializza la transazione sul protocollo a livello di Byte
tx.serialize();
const raw_transaction = tx.toString();
console.log('raw transaction: ', raw_transaction);