Come fare la tracciabilità sulla blockchain in maniera corretta

in #ita6 years ago

Siamo nel 2019 e la tracciabilità dei prodotti alimentari è un argomento molto importante per le aziende che puntano sulla qualità dei prodotti perchè se un prodotto è tracciato è pure di conseguenza controllato e di solito è un prodotto di altissima qualità.

Questa frase in realtà non significa nulla perchè un prodotto controllato non è sicuramente al 100% un prodotto di qualità perchè un prodotto controllato significa solo che l'azienda produttrice è a conoscenza di tutto ciò che riguarda il prodotto in questione.

Dato che l'azienda spende risorse per questi controlli è molto probabile (per la mia esperienza sempre) che il prodotto è di alta qualità.

Ma la tracciabilità?
La tracciabilità non è altro che un ulteriore strumento che consente un maggiore controllo del prodotto e di solito viene fatto dall'azienda e tutti i dati che vengono creati restano interni all'azienda.

Qui nasce il problema (se vogliamo chiamarlo così) che se un cliente vuole controllare tutti i passaggi del prodotto che ha comprato questo non può farlo perchè i dati sono privati e in caso di difetti deve obbligatoriamente passare tramite l'azienda.

Questo passaggio in teoria (poi non so quanto sia realmente così) potrebbe consentire all'azienda di non divulgare i dati o addirittura di modificarli a suo piacimento.
Dico in teoria perchè dato che tutta la tracciabilità la possiede solo l'azienda questa può rifiutarsi di concedere i dati al consumatore o addirittura dato che questi sono solo dati su un computer questi potrebbero essere manomessi.

Per assurdo anche un hacker esterno se riuscisse ad accedere ai file potrebbe modificare i dati di uno o più lotti annullando completamente tutta la tracciabilità fatta fino a quel momento.

Qui entra in gioco la blockchain; perchè tutti i dati scritti su questa dopo qualche blocco diventano immodificabili.... o meglio sono modoficabili ma la spesa per poterlo fare è esorbitante e diventa talmente alta che nessuno proverebbe a farlo.

Perciò tutti i vari passaggi scritti sulla blockchain diventano immodificabili e se il consumatore ha accesso a questi dati può controllare in qualsiasi momento tutto ciò che riguarda il prodotto che vuole mangiare.

PER QUALE MOTIVO UN AZIENDA DOVREBBE TRACCIARE I SUOI PRODOTTI E PER QUALE MOTIVO DOVREBBE RENDERE PUBBLICA LA SUA TRACCIABILITA'?

blockchain-3019120_960_720.png
photo from

Bella domanda e per ripondere a questo potremmo parlarne per ore... però dato che non credo che tu voglia leggere un articolo di 25 pagine mi limiterò rispondere scrivendo le prime idee che mi vengono in mente.
(Apparte che è molto probabile che con il passare degli anni possa diventare obbligatoria la tracciabilità dei prodotti e potrebbe diventare obbligatoria anche la scrittura sulla blockchain)

  • Rende l'idea di alta qualità; per il consumatore un prodotto tracciato è di qualità, se la tracciabilità è pure trasparente è ancora meglio.

  • Marketing; un azienda che fa una corretta tracciabilità sulla blockchain può usarlo tranquillamente come strumento di marketing. (A riguardo controlla cosa succede quando un azienda riesce ad associare il suo nome alla blockchain).

  • Risparmio sulla sicurezza; se la tracciabilità è già su blockchain è inutile conservarne una copia da conservare in sicurezza sui propri database. Cioè un azienda per mantenere i propri database sicuri spende molto denaro, questi vengono completamente risparmiati al costo delle transazioni.
    (Poi andremo a capire pure come ridurre a zero questa spesa)

-PS: già ad oggi molte aziende fanno già una corretta tracciabilità dei loro prodotti, devono solo imparare a scriverla sulla blockchain.-

PERCHE' HO SCRITTO QUESTO ARTICOLO?

I motivi che mi hanno ispirato a scrivere questo articolo sono 3:

  1. Continuo a leggere articoli di aziende che fanno tracciabilità su blokchain e sembra che facciano a gara a chi la fa peggio.

  2. Sono stufo di vedere la parola blockchain usata solo come strumento di marketing
    Gira un meme che recita cosi: Blockchain in the new senza olio di palma

  3. Per rafforzare il mio personal brand (di questo non ti importa nulla ma trovo giusto essere sempre sincero con le persone), cioè quando un azienda cercherà informazioni su come fare tracciabilità sulla blockchain e leggerà tra 1000 articoli anche il mio e lo troverà fatto molto bene e magari con anni di anticipo sulla massa è probabile che chiami me per lavorare sulla loro tracciabilità.

In parole povero, studio le criptovalute dalla fine del 2016 e mi sono appassionato talmente tanto che il mio sogno è diventato prorio lavorare con le criptovalute.
Se ogni contenuto che pubblico riguardo le criptovalute è di alta qualità e magari pure pubblicato dove non è modificabile (ad esempio la blockchain di steemit per un discorso di timestamping e di serietà tipo che non modifico i miei contenuti a mio piacimento) è facile che con il passare degli anni riesco anche io a lavorare solo con le cripto.

COME NON FARE TRACCIABILITA' SULLA BLOCKCHAIN; un esempio concreto di tracciabilità sulla blockchain fatta male.

Negli anni ho imprato che se posso "sfruttare" il lavoro di altre persone per i miei scopi di conquista del mondo sarebbe stupido non farlo.

In questo caso ho voluto appoggiarmi sul lavoro di Blockchain Caffè di Marco Crotta che è un grandissimo professionista che fa video dove parla di criptovalute e blockchain semplificando i concetti per renderli comprensibili anche ai neofiti.
In parole semplici se sei un neofita devi assolutamente seguirlo perchè è davvero fenomenale...

Nel lavoro (in questo caso video) che tra poco ti linko Marco è andato a comprarsi una mozzarella "tracciata su blockchain" ed è andato a controllare la sua tracciabilità sulla blockchain.

Ciò che ha trovato è una tracciabilità del prodotto pseudo nulla e mentre la controllava diceva passo passo cosa non gli piaceva.

Il video di marco dura circa 13 minuti ed io consiglio a tutti di vederlo, se però non nè avessi il tempo tranquillo che passo passo riprendiamo tutto ciò che dice e lo vediamo insieme.
Il video di marco è questo:

I problemi che ha risontrato Marco

Per controllare la tracciabilità della mozzarella si andrà a scannerizzare il QR code che si trova sulla confezione che in teoria dovrebbe mandarci sulla blockchain per vedere lo smart contract che ne segue i movimenti.

In questo caso il QR code rimanda su un sito dove poi bisognerà inserire il lotto.
Questa cosa non va affatto bene perchè il sito è centralizzato e oggi il sito è online perchè chi lo ha creato si sta impegnando a tenerlo visibile, ma se domani il sito andasse offline diventerebbe complicato ritrovare lo smart contract specifico di quel lotto.

Inoltre, io da esterno volevo ricontrollare tutto il lavoro di Marco e magari per la stesura di questo articolo volevo mostrarti qualche screenshot ma il sito anche cercandolo bene non l'ho trovato.
Ho provato allora ad inserire nell'url il nome del sito e non mi è venuto fuori nulla.
Fammi sapere se te ci sei riuscito.

Marco ci mostra che con questo metodo di tracciabilità una volta inserito il lotto nel sito questo ci manda ad un indirizzo ethereum e la prima cosa che lo stesso Marco nota è che la data di produzione è il 13 marzo 2019 però il blocco sulla blockchain è stato minato 2 giorni dopo.
In questi 2 giorni teoricamente potrebbe essere successo di tutto.

La transazione sulla blockchain mostra solo che c'è stato un controllo (sempre 2 giorni dopo) dove sono stati inseriti dei dati tecnici.
Quesi dati tecnici sono dati specifici della mozzarella che se ricordo bene sono scritti pure sulla confezione e sulla blockchain non servono assolutamente a nulla.
Sono dati come il peso netto della mozzarella, il peso lordo della mozzarella, il peso senza acqua della mozzarella , il peso e chi se nè importa....

Infine l'ultima nota che fa notare Marco è che gli smart contract mostrano solo che c'è un collegamento tra 2 indirizzi e non si vede alcun passaggio.


COME VA FATTA LA TRACCIABILITA'... la mia esperienza

Scusa, mi sono dimenticato di dirti che ho lavorato per un pò nel settore alimentare e la tracciabilità dovevo controllarla anche io.

Per fartela breve ho lavorato per 2 aziende produttrici di prodotti alimentari e la seconda azienda per cui ho lavorato (la Galbani SPA) era molto rigida sul regolamento per la tracciabilità dei prodotti tanto che per degli errori arrivava pure a licenziare.

Chi ha lavorato bene non ha mai avuto problemi.
Infatti io sono stato in azienda per 1 anno e non ho mai avuto problemi però ricordo che a sopresa mi facevano i controlli e se c'era qualche anomalia che non sarei riuscito a spiegare mi avrebbero potuto licenziare.
Un anomalia può essere qualsiasi cosa dall'avanza una mozzarella al manca uno yogurt che è palesemente un piccolo errore.

Come si lavorava?

La mattina presto andavo in deposito e dovevo controllare la merce arrivata.
Teoricamente dovevo controllare prodotto per prodotto con il relativo lotto (in un anno sono sempre stati tutti giusti)
Dopo il controllo della merce dovevo firmare la bolla di carico (ricevimento merce) e segnare eventuali errori.

Caricavo il furgone e poi dovevo caricare con il terminale la merce e poi stampare il DDT.

Tradotto dovevo confermare all'azienda in maniera telematica che tutto il carico era corretto e solo dopo potevo stampare il DDT (è una bolla di carico obbligatoria per legge).

(Ricordati di questa transazione telematica perchè ci servirà dopo)

Quando facevo le fatture dovevo inserire per ogni prodotto che vendevo la data di scadenza (e il lotto se cambiava) e questa veniva scritta sulla fattura affichè pure il cliente potesse controllare che era tutto corretto.

Al rientro ogni giorno dovevo fare il controllo del carico prodotto per prodotto compresi tutti i lotti.
Dovevo controllare che fosse tutto giusto e ogni prodotto fisico doveva combaciare con quanto scritto sul terminale. Ogni tanto a caso mi controllavano e verificavano se lavoravo bene.
Se c'era qualche errore dovevo semplicemente correggerlo.

Come dicevo prima in un anno non ho mai avuto problemi quindi penso di poter affermare con certezza che un azienda (come una persona) che lavora bene non ha mai problemi di tracciabilità.

I colleghi mi hanno raccontato (non so se è vero perchè non mi è mai successo) che ogni tanto facevano i test e chiedevano a tutti gli agenti di ritirare tutto un prodotto di un determinato lotto e misuravano quanti riuscivamo a recuperarne.
Con le date che inserivamo noi dal terminale ci davano la lista di dove si dovevano trovare quei prodotti e poi vedevano cosa veniva fuori. Da quello che mi hanno detto i miei colleghi il mio vecchio deposito (quello di Mantova) ha sempre superato tutti i test.

COME SPOSTARE TUTTA LA TRACCIABILITA' SULLA BLOCKCHAIN

Ti ricordi cosa dovevo fare una volta che avevo controllato il carico arrivato la mattina presto?

  1. Dovevo firmare la bolla di carico
  2. Dovevo comunicare telematicamente che tutto il carico era a posto ed eventualmente comunicare anomalie come ammanchi o passaggi di merce a dei colleghi.

In questo caso dovrei fare una transazione allo smart contract che ho ricevuto la merce e che ora ce l'ho in carico io.
Questa comunicazione posso farla io come può farla l'azienda.... non cambia assolutamente nulla.

La stessa cosa vale per le fatture, cioè ogni giorno a mezzanotte l'azienda potrebbe comunicare alla blockchain dove sono finiti tutti i pezzi del singolo lotto che sono stati spostati.

-Facciamo un esempio così capiamo meglio.-
E' arrivata mezzanotte quando sicuramente tutti abbiamo fatto la chiusura e si spera che siamo tutti a letto.

A mezzanotte la sede potrebbe comunicare tutti gli spostamenti mezzo per mezzo e scrivere qualcosa del tipo:

Codice del prodotto 12345 le Mozzarella da 125g del lotto 56789 sono state consegnate ai clienti
50 pezzi al cliente Alice, 50 pezzi al cliente Bob, e 100 pezzi al cliente Carlo e i restati 100 pezzi restano sul furgone tragato ab123cd.


LA TRACCIABILITA' SU BLOCKCHAIN A LIVELLO PRATICO... facciamo un esempio

Io azienda chiamata Super Latte Buono (che fantasia per il nome :-P) il giorno 25 marzo 2019 ricevo dall'azienda latteria Trento 100 tonnellate di latte (numeri sparati completamente a caso)

In questo momento c'è stato un passaggio di proprietà e da questo momento divento io il resposabile della merce.
In questo momento quindi dovrò creare uno smart contract che si chiamerà Lotto 12345 e all'interno ci scrivero: Io azienda Super Latte Buono (da ora in poi abreviamo con SLB) ricevo da latteria Trento 100 tonnellate di latte

Importante: in questo momento creo uno smart contract con un QR code, questo QR code lo andrò a posizionare su qualsisasi cosa venga prodotta con questa materia.

Inizio la lavorazione e con queste 100 tonnellate produco 1 000 000 di di mozzarelle e Y Kg di formaggio vario.
Qui c'è stata una lavorazione e uno "scambio di merce" quindi sarà opportuno scrivere sulla blockchain questa cosa.
Nello smart contract chiamato Lotto 12345 Io azienda SLB ho trasformato in data 26 Marzo 2019 le 100 tonnellate di latte in 1 000 000 di mozzarelle e Y Kg di formaggio vario (ovviamento dovrò specificare).

Le mozzarelle vengono spedite dall'azienda produttrice ai centri di distribuzione Alfa e Bravo point
Le quantità sono 500 000 pezzi a Alpha point e 500 000 Bravo point.
C'è stato un passaggio di proprietà quindi si scriverà il passaggio in blockchain
Lotto 12345 le mozzarelle sono state spedite e ora si trovano 500 000 pezzi a Alpha point e 500 000 Bravo point.

Dal centro di smistamento 10 000 mozzarelle vengono spedite al deposito di Verona dell'azienda SLB dove ci sono i furgoni dal 101 al 110 per comodità immaginiamo in parti uguali così sono 1000 mozzarelle a testa.
Nuovo passaggio di merce e nuova transazione nello smart contract Lotto 12345 dove viene scritto 1000 mozzarelle sono state consegnate al furgone 101 ... (e così via fino al furgone 110)

Per ultimo passaggio il furgone 101 consegna 50 mozzarelle al cliente Supermercatino Danile SRL.
lo so che ormai mi stai odiando.... qui si crea una nuova scrittura sulla blockchain dove viene scritto l'ultimo passaggio di proprietà.


Il 01 aprile 2019 vai dal Supermercatino Danile SRL e trovi una mozzarella con il QR code generato alla creazione dello smart contract.
Lo scannerizzi con il telefono e in 1 secondo sai tutta la sua storia, facciamo la controprova?
Proviamo!

LA CONTROPROVA

Ovviamente non abbiamo uno smart contract da poter controllare quindi lo immaginiamo.
Nel momento che abbiamo scannerizzato il QR code sappiamo subito da dove proviene il latte però alle condizioni iniziali dovremmo fare tutto il giro a tentoni... non mi sembra molto saggia come idea e poi noi vorremmo fare il controllo al contrario.

Per comodità ho fatto uno schizzo di quello che vedremmo se rappresentassimo la blockchain su in foglio.
Schizzo.png
[photo from](immagine creata dall'autore)

Scusa la mia orribile scrittura, ma scrivere sul pc non è come scrivere su un foglio di carta

  • La linea rossa rappresenta tutti i passaggi del latte al consumatore
  • Ogni pallino rosso rapressenta un passaggio di proprietà
  • Le varie linee verdi rappresentano altri passaggi delle altre mozzarelle dello stesso lotto

Come si fa?

Dal punto in cui ci troviamo faremo il controllo al contrario e guarderemo di volta in volta da chi ha ricevuto la merce che la sta tenendo in quel momento

  1. Adesso siamo dal Supermercatino Danile SRL e controllando sappiamo che lui ha ricevuto la merce dal furgone 101 del deposito di Verona dell'azienda Super Latte Buono.
  2. Il furgone 101 ha ricevuto la merce dal depisito Alpha point.
  3. Il deposito Alpha point ha ricevuto le mozzarelle dalla sede dove è stato trasformato il latte.
  4. Il latte che è stato trasformato è stato ricevuto dall'azienda latteria Trento.

Ovviamente tutto il processo e le scritture si possono semplificare di molto ma a noi interessava capire cosa si deve vedere sulla blockchain.


ETHEREUM NON E' LA BLOCKCHAIN PIU' ADATTA

Se hai guardato il video di Marco ti sarai accorto che la tracciatura di quella mozzarella di bufala era fatta sulla blockchain di Ethereum.

Il “problema” è che la blockchain di Ethereum per questo tipo di smart contract è poco efficiente e molto costosa.

Se tutte le aziende iniziassero ad usare insieme la blockchain di Ethereum questa rischierebbe di diventare intasata di transazioni causando un intasamento dei blocchi e la scrittura su di essa diventerebbe molto costosa.
Il risaltato sarebbe che tutte le aziende strapagherebbero per avere la loro tracciabilità.

Esistono blockchain migliori per questo scopo?
Si esistono e se per un mio eventuale cliente dovessi sceglierla io opterei per una blockchain che paga dividendi e userei questi per pagare le fee per le transazioni.

Finirebbe che l'azienda pagherebbe “molto” inizialmente ma sul lungo termine recupererebbe moltissimo andando a risparmiare sulle fee per scrivere sulla blockchain.

Per un caso del genere la blockchain che userei io è.... ehm diciamo che se sei nel settore lo sai già.

Se non sei del settore piuttosto di fare qualche cappella di a chi ti ha assunto che è meglio che chiama un vero professionista.... ce né sono alcuni in Italia veramente molto molto bravi... anche più di me.
Più che altro (ricordi che ti ti detto che voglio essere sincero) non voglio che l'ennesimo improvvisato convinto che bitcoin è una menata ma la blockchain quella si.... quella è la vera rivoluzione.... ehm no amico, è il contrario e quello che non voglio è che l'ennesimo improvvisato si “rubi” questo articolo per farsi bello con il capo.

Bene, ora che ti sei sorbito 8 pagine di word (siamo all'inizio dell'ottava senza tenere conto delle immagini) ti chiedo:

  • Cosa pensi dell'articolo?
  • Modificheresti qualcosa?
  • Aggiungeresti qualcosa?
  • Pensi che la tracciabilità sia solo una moda passeggera?
  • Pensi che nei prossimi anni la tracciabilità su blockchain diventerà obbligatoria?

Scrivilo nei commenti.... sono il primo a volerne discutere. ;-) ;-)

Bene se vuoi leggere i miei prossimi contenuti puoi seguirmi su:

Thomas Mantovanelli