Quando la tecnologia Blockchain fu annunciata attraverso l’articolo intitolato Bitcoin: A Peer-to-Peer Electronic Cash System di Satoshi Nakamoto nel 2008, si trattava di un innovativo mix di crittografia a chiave pubblica (inventato negli anni ’70), funzioni hash crittografiche (nate negli anni ’70 ) e prove di lavoro (inventato negli anni ’90).
Negli ultimi anni sono stati creati molti progetti derivati e ispirati alla blockchain. La maggior parte di questi non sono tecnicamente blockchain, ma piuttosto sistemi di contabilità distribuita.
Cerchiamo di codificare come costruire una blockchain in soli otto passaggi. Per semplicità, ho usato i termini blockchain e sistema di contabilità distribuita in modo intercambiabile in questo articolo.
Passo 1: identificare un caso d’uso adatto
C’è un sacco di clamore intorno alla blockchain. Ho letto che le blockchain possono cancellare la fame globale, rendere il mondo libero dalla corruzione, porre fine alla povertà e fare molto di più senza sudare. Sfortunatamente, non è vero. Quindi, il passaggio 1 è identificare un caso d’uso che abbia senso per il business.
Ci sono 3 cose che le blockchain possono fare molto bene:
Autenticazione e verifica dei dati: include archiviazione immutabile, firme digitali e crittografia. I dati in quasi tutti i formati possono essere archiviati nella blockchain. Le blockchain possono creare coppie di chiavi pubblico-private e possono anche essere utilizzate per generare e verificare firme digitali.
Gestione patrimoniale intelligente: include l’emissione, il pagamento, lo scambio, l’impegno e la pensione. Un asset smart / crypto è la versione tokenizzata di un asset del mondo reale, ad es. oro, argento, petrolio, terra.
Contratti intelligenti: questo è un termine il più delle volte compreso male, ma è qualcosa per un altro giorno.
Passo 2: identificare il meccanismo di consenso più adatto
La blockchain originale, che alimenta la criptovaluta bitcoin, ha utilizzato la prova del lavoro come meccanismo di consenso. Ma oggi ci sono più sistemi di contabilità distribuita che offrono una serie di meccanismi di consenso come prova di puntata, tolleranza ai guasti bizantina, consenso basato sui depositi, accordo bizantino federato, prova del tempo trascorso, PBFT derivato, tolleranza ai guasti bizantina ridondante, tolleranza ai guasti bizantina semplificata , Consenso federato, Round Robin e Delegated Proof of Stake.
A seconda del caso d’uso, è necessario scegliere il meccanismo di consenso più sensato.
Passo 3: identificare la piattaforma più adatta
Esistono molte piattaforme blockchain oggi e la maggior parte sono gratuite e open source. A seconda del meccanismo di consenso scelto nel passaggio 2, è necessario selezionare la piattaforma blockchain più adatta.
Alcune delle piattaforme più popolari, in ordine alfabetico sono:
Passo 4: progettazione dei nodi
Le soluzioni blockchain possono essere autorizzate (ad esempio un registro fondiario gestito dal governo) o senza autorizzazioni (ad esempio Bitcoin, dove chiunque può diventare un minatore). Le soluzioni blockchain possono essere private (ad esempio un sistema di gestione dei contratti implementato in un’azienda farmaceutica), pubbliche (ad esempio una criptovaluta supportata da attività) o ibride (ad esempio un gruppo di banche che gestiscono una piattaforma KYC condivisa).
Un altro fattore da considerare in questa fase è se i nodi verranno eseguiti sul cloud, on-premise o entrambi. Poi arrivano problemi di configurazione hardware come processori, memoria e dimensioni del disco. Devi anche decidere i sistemi operativi di base (di solito Ubuntu, CentOS, Debian, Fedora, Red Hat o Windows).
Passo 5: Progetta l’istanza Blockchain
La maggior parte delle piattaforme blockchain richiede un’attenta configurazione pianificata per i seguenti elementi:
Alcuni parametri possono essere modificati in fase di esecuzione ma altri no, quindi questo è un passaggio molto cruciale.
Passo 6: creazione delle API
Alcune piattaforme blockchain sono dotate di API predefinite, mentre altre no. Le principali categorie di API di cui hai bisogno sono per:
Generazione di coppie di chiavi e indirizzi
Esecuzione di funzioni correlate al controllo
Autenticazione dei dati tramite firme e hash digitali
Strage e recupero dei dati
Gestione del ciclo di vita degli asset intelligenti: emissione, pagamento, permuta, escrw e pensionamento
Contratti intelligenti
Passo 7: progettare l’interfaccia di amministrazione e utente
A questo punto dovrai scegliere il front-end e i linguaggi di programmazione (ad es. HTML5, CSS, PHP, C #, Java, Javascript, Python, Ruby, Golang, Solidity, Angular JS Nodejs). Dovresti anche scegliere database esterni (ad esempio MySQL, MongoDB) e server (inclusi server Web, server FTP, server di posta).
Passo 8: aggiunta di Future Tech
Puoi migliorare notevolmente la potenza della tua soluzione Blockchain integrando Intelligenza artificiale, biometria, robot, cloud, servizi cognitivi, contenitori, analisi dei dati, Internet of Things e Machine Learning.
Input your search keywords and press Enter.
Azione non consentita!