# data[].attributes.body
Cosa è Blockchain

# data[].attributes.attachment_link.title
Blockchain: cos'è, come funziona e perché se ne parla tanto - IlSoftware.it

# data[].attributes.attachment_link.description
Cos'è una blockchain e come funziona: da Bitcoin alle molteplici applicazioni in diversi settori, non soltanto economici ma anche nel commercio e nell'industria.

# data[].attributes.body
A cosa serve e cosa potrei farci

# data[].attributes.attachment_link.readable_text
La tecnologia blockchain, inizialmente utilizzata per la gestione della moneta virtuale Bitcoin, è una sorta di sistema peer-to-peer che consente lo scambio di valute, la loro tracciabilità e soprattutto di conoscere l'identità dei soggetti che effettuano le operazioni. In sostanza, il blockchain è un "libro mastro", un registro in cui si tiene traccia delle operazioni di scambio di valuta e in cui si "registra" l'identità dei titolari di valuta. Ciò consente ad esempio di verificare in qualsiasi momento e in tempo reale l'ammontare di valuta in capo a specifici soggetti senza possibilità di errore in termini quantitativi e di riconoscimento dell'identità. L'operazione è analoga a quella che viene effettuata dalle banche quando tengono traccia del denaro che transita attraverso i propri conti correnti. E non a caso il blockchain è già stata indicata come la tecnologia alla base del prossimo venturo Internet of finance.

Chi può usare il blockchain

Diversamente dalle piattaforme in capo alle banche, che sono di proprietà delle banche stesse e utilizzabili a livello centralizzato, il blockchain è una tecnologia "open" e "free" utilizzabile online da qualsiasi privato e organizzata come un maxi database distribuito. Chiunque può scaricarne una "copia", ossia accedere al sistema: le identità sono protette da crittografia intelligente.

Quanto è sicuro il blockchain

Il blockchain è un protocollo talmente sicuro da essere considerato al momento "inespugnabile". Non a caso l e principali banche mondiali hanno deciso di aderire al consorzio R3, specificamente dedicato all'uso della tecnologia blockchain per la gestione delle transazioni finanziarie attraverso il circuito bancario canonico. Il punto di forza del blockchain sta non solo nella sicurezza delle transazioni ma nella gestione delle identità: di fatto non serve un "arbitro" per approvare le operazioni, come invece avviene nel mondo bancario, dove appunto tutte le transazioni devono essere verificate per andare a buon fine. Per questa ragione le banche considerano il blockchain una tecnologia altamente innovativa, in grado di velocizzare milioni di operazioni azzerando di fatto il rischio di errore nell'identificazione dei soggetti che effettuano operazioni e nell'autenticazione degli stessi.

Il blockchain una minaccia per i notai?

Come tutte le innovazioni che si rispettino anche per il blockchain i benefici fanno il paio con gli svantaggi, in particolare per alcune categorie professionali, notai in primis. Considerati gli "arbitri" per eccellenza, i "certificatori" legali nelle operazioni di compravendita, i notai potrebbero presto perdere questo ruolo, visto che il blockchain consente di verificare la transazione e certificare le identità senza la necessità di mediazione umana. E c'è già chi sostiene che il blockchain starà ai notai come Uber ai tassisti e Airbnb agli albergatori, tanto per citare alcuni dei casi più eclatanti di disintermediazione provocata dal digitale. E proprio Airbnb è fra le più interessate all'adozione del blockchain perché potrebbe gestire in totale autonomia le transazioni senza doversi appoggiare ai circuiti di credito tradizionali.

Con il blockchain si risparmia su commissioni e imposte

L'adozione del blockchain potrebbe avere ripercussioni importanti anche da un punto di vista economico. Il modello peer-to-peer potrebbe infatti consentire di eliminare le commissioni sulle carte di credito - visti i mancati costi operativi e gestionali a carico delle società che erogano carte e servizio - e abbattere tutta un'altra serie di oneri, con benefici in particolare sull'utente finale, dagli esercenti ai singoli privati.

Non solo transazioni: il blockchain anche per registrare atti e gestire il copyright

Ci sono aziende hi-tech che stanno già lavorando a servizi a valore aggiunto correlati al blockchain. CoinSpark, azienda di Tel Aviv, punta ad esempio ad aggiungere testi scritti in fase di transazione. Ad esempio si potrebbero aggiungere documenti in caso di compravendite oppure gestire operazioni quali la registrazione di atti o legate al copyright.

Banche alla ricerca di esperti di blockchain

Secondo Santander per le banche l'adozione del blockchain potrebbe consentire un risparmio di costi in infrastrutture stimato in 15-20 miliardi di dollari l'anno entro il 2022. E si tratterebbe di una stima "conservativa". Non a caso tutti i grandi istituti di credito si sono dotati di esperti per studiare le modalità di adozione della tecnologia. La principale difficoltà è integrare la piattaforma con i sistemi informativi e le tecnologie in uso. Ma soprattutto non è semplice reperire sul mercato esperti informatici che conoscano appieno il funzionamento del sistema bancario anche da un punto di vista delle procedure legali e delle norme che devono essere applicate a tutela del corretto svolgimento di tutte le operazioni e anche della sicurezza e della privacy dei soggetti interessati. Fra l'altro per le banche sarebbe indispensabile potersi affidare a una sorta di help desk in caso di malfunzionamenti o situazioni anomale per evitare blocchi o criticità che possano mettere a repentaglio il corretto funzionamento del flusso delle transazioni. E c'è bisogno anche di esperti di cybersecurity per evitare che attacchi hacker o diffusioni di virus o malware di sorta possano intaccare operatività e servizi.Secondo uno studio di Deloitte le banche stanno diventando sempre più consapevoli della misura in cui la tecnologia Blockchain, adottata all'interno di un sistema economico volatile e fragile come quello attuale, rappresenti un'innovazione capace di stravolgere il settore in maniera rivoluzionaria: il 58% degli operatori intervistati ne è certo. Inoltre, il 37% intravede nell'adozione della nuova piattaforma il volano per la creazione di nuove opportunità e di modelli di business, seguito dal 20% che ne considera i benefici in proporzione ai costi e al 13% che la ritiene una potenziale minaccia con effetti dirompenti per l'intero comparto.

Il consorzio R3: cos'è e chi c'è dentro

Battezzato il 15 settembre 2015 il consorzio R3 riunisce ad oggi I principali istituti di credito mondiali. Nove i fondatori - Barclays, Bbva, Commonwealth Bank of Australia, Credit Suisse, Goldman Sachs, JP Morgan, Royal Bank of Scotland, State Street e Ubs, ma nel giro di pochissimi mesi il parterre si è ampliato e sono 42 gli attuali membri. Unicredit e Intesa Sanpaolo le italiane in campo.

Il progetto italiano BlockchainLab della Fondazione FintechLab

Blockchainlab è il primo progetto di ricerca avviato dalla Fondazione FintechLab e mira alla realizzazione di un centro di eccellenza a livello globale sulle tecnologie blockchain. I finanziatori avranno a disposizione una mappatura aggiornata di tutte le più promettenti tecnologie, le startup impegnate nello sviluppo di soluzioni ad hoc, una lista degli esperti in materia. La Fondazione FintechLab nasce per promuovere l'adozione e lo sviluppo di nuove tecnologie per il mondo della finanza.

# data[].attributes.attachment_link.title
Blockchain, ecco cos'è e come funziona - CorCom

# data[].attributes.attachment_link.description
La tecnologia blockchain, inizialmente utilizzata per la gestione della moneta virtuale Bitcoin, è una sorta di sistema peer-to-peer che consente lo scambio di valute, la loro tracciabilità e soprattutto di conoscere l'identità dei soggetti che effettuano le operazioni.

# data[].attributes.body
Come si programma
Ho scelto questa pagina perché spiega in modo dettagliato i vari processi

# data[].attributes.attachment_link.readable_text
In this tutorial we're going to build a dumbed down version of the Bitcoin blockchain. We're going to be using the bitcoin core developer guide as a reference. The goal is to start with something super simple and gradually build and refactor our way up to something super complicated that resembles the Bitcoin blockchain. I decided to use the Bitcoin blockchain because it's the most widely used and well known of them all. I'm using node version 8.9.3 and npm version 5.5.1. Feel free to leave comments or questions about anything is this tutorial.

The block chain provides Bitcoin's public ledger, an ordered and timestamped record of transactions. This system is used to protect against double spending and modification of previous transaction records.

Let's run these commands in our terminal:

So we've created our BitcoinBlockchain directory and added a node_modules directory that only includes the crypto-js library which is JavaScript library of crypto standards. Now let's create our block class inside block.js

const SHA256 = require('crypto-js/sha256');

class Block {
 constructor(index, previousBlockHeader = '', transactions, timestamp) {
 this.index = index;
 this.header = this.calculateHash();
 this.previousBlockHeader = previousBlockHeader;
 this.transactions = transactions;
 this.timestamp = timestamp;
 }

  calculateHash() {
 return SHA256(this.index +
 this.previousBlockHeader +
 JSON.stringify(this.transactions)).toString() +
 this.timestamp;
 }
}

module.exports = Block;

Bitcoin uses a SHA-256 Cryptographic Hash Algorithm which creates a string of text, called a signature, out of any piece of data. Since each one of our blocks is going to be unique, each block is going to generate its own unique hash using its calculateHash() function. The calculateHash() function is going to take each property of a new block, moosh it together into one string and return a SHA-256 hash of that string. Each block has to also reference its previous block's hash(Header). This ensures a transaction cannot be modified without modifying the block that records it and all following blocks. Let's jump into our terminal and quickly test this by running these commands:

const Block = require('./block')

new Block(0, "previous block's header", {coinAmount : 10}, Date())

And you should get this output

Block {
 index: 0,
 header: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855undefined',
 previousBlockHeader: 'previous block\'s header',
 transactions: { coinAmount: 10 },
 timestamp: 'Fri Dec 29 2017 11:37:33 GMT-0700 (MST)'
}

To keep things simple, for now we're just going to include one simple transaction per block {coinAmount:10}. In the future we're going to have a collection(array) of transactions in each block. Let's create a blockchain.js file and start building out our blockchain class.

const Block = require('./block');

class Blockchain {
 constructor() {
 this.chain = [this.createGenesisBlock()];
 }

createGenesisBlock() {
 return new Block(0, "This Is The Genesis Block", {coinAmount : 10}, Date());
 }

getLastBlock() {
 return this.chain[this.chain.length - 1];
 }

addBlock(newBlock) {
 newBlock.previousBlockHeader = this.getLastBlock().header;
 newBlock.header = newBlock.calculateHash();
 this.chain.push(newBlock);
 }
}

module.exports = Blockchain

So every time we create a new Blockchain it's going to come complete with a Genesis block. Jump back into the terminal and run these commands

const Blockchain = require("./blockchain");

const Block = require('./block');

let newBlockchain = new Blockchain();

newBlockchain.addBlock(new Block(1, "previous block header data", {coinAmount : 5}, Date()));

newBlockchain.addBlock(new Block(2, "previous block header data", {coinAmount : 3.55}, Date()));

Notice how each block's previousBlockHeader hash equals the previous block's previousBlockHeader hash. Man that's a mind puck, you get it though ;)

Blockchain {
 chain:
 [ Block {
 index: 0,
 header: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855undefined',
 previousBlockHeader: 'This Is The Genesis Block',
 transactions: [Object],
 timestamp: 'Fri Dec 29 2017 12:02:33 GMT-0700 (MST)' },
 Block {
 index: 1,
 header: '35f87048396bd3386a35dc4ddf5fdb2c07c628ae510d00afda3714002a34b8a7Fri Dec 29 2017 12:13:46 GMT-0700 (MST)',
 previousBlockHeader: 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855undefined',
 transactions: [Object],
 timestamp: 'Fri Dec 29 2017 12:13:46 GMT-0700 (MST)' },
 Block {
 index: 2,
 header: 'c2bd3f90136364832f43f87499888c6284f53deb9573c47fddd60c3d7e2313f5Fri Dec 29 2017 12:28:00 GMT-0700 (MST)',
 previousBlockHeader: '35f87048396bd3386a35dc4ddf5fdb2c07c628ae510d00afda3714002a34b8a7Fri Dec 29 2017 12:13:46 GMT-0700 (MST)',
 transactions: [Object],
 timestamp: 'Fri Dec 29 2017 12:28:00 GMT-0700 (MST)' }
 ]
}

Hope this made sense! Yell in the comments section if it didn't. In part 2 we're going to add blockchain validation functionality to make sure no one tampers with our blockchain. We're also going to begin building out a Transaction class. And if things really get exciting we're going to talk about Merkle Roots; a Merkle Root is essentially just a hash of a bunch of hashed transactions, I know there's a lot of hashing going on!

# data[].attributes.attachment_link.title
Build A Bitcoin Blockchain In JavaScript Part 1 - CloudBoost

# data[].attributes.attachment_link.description
In this tutorial we're going to build a dumbed down version of the Bitcoin blockchain. We're going to be using the bitcoin core developer guide as a reference. The goal is to start with something super simple and gradually build and refactor our way up to something super complicated that resembles the Bitcoin blockchain.