B I T S T A M P S
Contattaci

19 maggio 2020

BITSTAMPS trasparenza e sicurezza.

scritto da Marco Sangiovanni, CTO

Fin dalla nascita dell'idea di realizzare BITSTAMPS i principi che hanno guidato le scelte strategiche, architetturali e relativi al software sono stati quelli di sicurezza e trasparenza nei confronti di quelli che sarebbero stati i nostri utenti.

Per garantire completa trasparenza e veridicità, relativamente a tutte le operazioni eseguite sulla piattaforma BITSTAMPS, abbiamo deciso di integrare nella nostra soluzione la tecnologia blockchain.

QUAL È LO SCOPO PER CUI UTILIZZIAMO LA BLOCKCHAIN?

Il fatto utilizzare una blockchain non è di fatto esaustivo circa quali caratteristiche, con quali scopi e in quali modalità venga effettivamente utilizzata.

Nel nostro caso, l'obiettivo principale è quello di offrire agli utenti la possibilità di avere la certezza in modo trasparente e non alterabile che i francobolli da noi emessi esistessero in serie limitate e che la storia di ogni singolo francobollo fosse di fatto certificata.

Abbiamo quindi progettato la nostra soluzione per utilizzare la blockchain come tecnologia in grado di assolvere come prima cosa alla necessità di notarizzare il ciclo di vita di ogni singolo francobollo emesso da BITSTAMPS.

NOTARIZZAZIONE E BLOCKCHAIN

Il processo di notarizzazione è il processo che si occupa di attribuire un valore di autenticità ad un gruppo di informazioni raccolte in un file specifico. BITSTAMPS utilizza tale processo per autenticare ogni singolo file prodotto dalla piattaforma. Questi file vengono prodotti per differenti tipologie di contenuto e per differenti fasce di tempo.

Ecco l'elenco dei singoli file che sono oggetto del processo di notarizzazione:

  • File di una nuova tipologia di francobollo.
    Il file contiene le informazioni principali che lo compongono, il suo identificativo univoco e l'elenco completo di tutti i singoli esemplari "stampati" di quel francobollo specifico, ognuno con il proprio identificativo univoco. Non potranno quindi essere aggiunti, rimossi o modificati i francobolli successivamente alla conclusione del processo di stampa.
  • File contenente le operazioni avvenute nell'ora precedente (avviene ogni 60 minuti) in riferimento ai francobolli emessi che sono delle seguenti tipologie:
    • Cambio proprietario (registrazione del nuovo proprietario a seguito di una vendita o di un invio).
    • Invio (informazioni riguardante l'invio del francobollo che è stato utilizzato per poter inviare una card).
    • Ricezione (informazioni riguardante la ricezione del francobollo che è stato utilizzato per poter inviare una card).
    • Cambio stato (Passaggio dallo stato di nuovo a quello di usato di un francobollo quando viene utilizzato per spedire una e-card).
    • Annullamento (Annullamento in casi straordinari di un francobollo).

Abbiamo scelto la blockchain pubblica di Ethereum come sistema migliore per offrire ai nostri utenti il servizio più flessibile ed affidabile in termini di velocità, trasparenza e sicurezza.

La blockchain ha un ruolo chiave nel processo di notarizzazione appena descritto in quanto viene utilizzata per registrare in modo distribuito e accessibile tutti i riferimenti ai file sopra descritti che vengono trattati secondo i flussi descritti in dettaglio nei paragrafi successivi.

FLUSSO NUOVO FRANCOBOLLO E STAMPA SINGOLI ESEMPLARI

Quando viene predisposta una nuova tipologia di francobolli (Es. Penny Black) viene creato un file di testo in formato json che contiene le seguenti informazioni:

  • Url pubblico dell'immagine associata a quella tipologia di francobollo (Es. immagini del francobollo del Penny Black).
  • Hash crittografico generato tramite l'algoritmo sha256 che identifica in modo certo il contenuto del file immagine riportata all'url del punto precedente.
    In questo modo l'immagine originale non potrà essere più modificata, pena la non corrispondenza del relativo hash.
  • Il prezzo di vendita da parte di BITSTAMPS espresso in euro.
  • Il codice univoco per ogni singolo esemplare di francobollo generato per la tipologia in oggetto per un totale di esemplari pari alla tiratura prevista.

Il file generato, viene quindi salvato, viene calcolato l’hash del suo contenuto testuale tramite l'algoritmo sha256, e il file viene posizionato ad un indirizzo web pubblico prima di avviare la scrittura sulla blockchain.

La scrittura sulla blockchain pubblica di Ethereum viene effettuata tramite uno smart contract e consente la registrazione di queste informazioni:

  • Hash del contenuto del file json generato
  • Url pubblico dove file è raggiungibile
  • Data di inizio della registrazione delle operazioni contenute nel file. (in questo caso orario di inizio generazione francobolli sulla piattaforma)
  • Data di fine della registrazione delle operazioni contenute nel file. (in questo caso orario di fine generazione francobolli sulla piattaforma)

FLUSSO OPERAZIONI FRANCOBOLLI ESISTENTI

Periodicamente (attualmente ogni 60 minuti) viene generato un file in formato json contenente tutte le operazioni che la piattaforma e gli utenti hanno condotto nei confronti dei francobolli esistenti in quell'intervallo specifico di tempo.

Vengono registrate le seguenti operazioni ciascuna con i relativi dati:

  • L’operazione di acquisto (registrata per ogni singolo esemplare di francobollo) contiene le seguenti informazioni:
    • Tipologia operazione (codice : purchased)
    • Data operazione
    • Identificativo operazione
    • Prezzo di acquisto in euro
    • Canale di vendita (piattaforma BITSTAMPS o Marketplace)
    • Proprietario precedente (rappresentato dal suo codice univoco)
    • Nuovo proprietario (rappresentato dal suo codice univoco)
    • Francobollo (rappresentato dal suo codice univoco)
  • L’operazione di invio del francobollo contiene le seguenti informazioni:
    • Tipologia operazione (codice : sent)
    • Data operazione
    • Identificativo del vecchio owner del francobollo (in questo caso l’utente che lo spedisce)
    • Identificativo del nuovo owner (in questo caso l’utente "postino" di BITSTAMPS)
    • Francobollo (rappresentato dal suo codice univoco)
  • L’operazione di cambio stato del francobollo contiene le seguenti informazioni:
    • Tipologia operazione (codice : changed)
    • Data operazione
    • Identificativo operazione
    • Identificativo del vecchio stato (e relativo codice ad esempio NEW)
    • Identificativo del nuovo stato (e relativo codice ad esempio USED)
    • Francobollo (rappresentato dal suo codice univoco)
  • L’operazione di ricezione del francobollo contiene le seguenti informazioni:
    • Tipologia operazione (codice : delivered)
    • Data operazione
    • Identificativo operazione
    • Dentificativo del vecchio owner del francobollo (in queso caso l’utente "postino" di BITSTAMPS)
    • Identificativo del nuovo owner (in questo caso l’utente che lo riceve)
    • Francobollo (rappresentato dal suo codice univoco)
  • L’operazione di annullamento del francobollo contiene le seguenti informazioni:
    • Tipologia operazione (codice : canceled)
    • Data operazione
    • Identificativo operazione
    • Identificativo del vecchio owner del francobollo
    • Identificativo del nuovo owner (in questo caso l’utente BITSTAMPS che fa da collettore per I francobolli annullati)
    • Francobollo (rappresentato dal suo codice univoco)

Il file generato, viene quindi salvato, viene calcolato l’hash del suo contenuto tramite l'algoritmo sha256, e il file viene posizionato ad un indirizzo web pubblico prima di avviare la scrittura sulla blockchain.

La scrittura sulla blockchain pubblica di Ethereum viene effettuata tramite uno smart contract e consente la registrazione di queste informazioni:

  • Hash del contenuto del file json generato
  • url pubblico dove file è raggiungibile
  • data di inizio della registrazione delle operazioni contenute nel file.
  • data di fine della registrazione delle operazioni contenute nel file.

HASH, TOKEN E CRYPTO

Come descritto nei paragrafi precedenti, l'utilizzo della blockchain attuale ci permettere di raggiungere gli obiettivi di sicurezza e trasparenza che ci siamo prefissi e che vogliamo offrire ai nostri clienti aumentandoli sempre di più col tempo.

Oggi forniamo agli utenti informazioni rispetto all'hash che identifica la specifica registrazione sulla blockchain di Ethereum che contiene al suo interno conferma della sua proprietà.

Non stiamo utilizzando la blockchain per generare dei token né tanto meno per gestire una vera e propria crypto valuta. I francobolli BITSTAMPS sono ad oggi acquistabili, inviabili e presto vendibili, unicamente tramite la piattaforma BITSTAMPS.

Nessuna ipotesi è però preclusa per migliorare l'esperienza dei nostri utenti. Molti miglioramenti sono già in lavorazione e verranno presto rilasciati.

COME CONTROLLARE I DATI DELLA BLOCKCHAIN

Stiamo lavorando per poter offrire strumenti semplici nell'utilizzo da fornire a tutte le tipologie di utente che consentano di verificare in modo incontrovertibile la veridicità e l’immutabilità delle informazioni.

Renderemo sempre più semplice ed immediato il processo di verifica di tutti i dati visualizzati dall’app rispetto a quelli registrati così da permettere tali controlli a tutti gli utenti, non solo a quelli esperti o particolarmente tecnologici.

Nei prossimi articoli descriveremo il processo completo per effettuare fin da ora tali verifiche.