3. Probably you don’t need a blockchain. But if you need it then you need bitcoin

We don’t like Bitcoin, we like the blockchain. How many times have you heard this phrase?

Many influential people, interviewed in recent years, have often repeated the mantra: we don’t care about bitcoin, but we have an interest in the underlying technology, the “blockchain”. It is often repeated for one or more of the following reasons:

  1. Simple ignorance and / or distrust of what is not known well.
  2. Use of yet another buzzword (the ‘blockchain’) to seem cool. Pure marketing.
  3. Real bad faith. Given that bitcoin is an open standard (basically it belongs to everyone), one is afraid of not being able to put one’s own software product on the market based on its own proprietary “blokchain”.

Do I need a blockchain for my business? Is the blockchain used to trace supply chains? Let’s try to answer these questions with reasoning.

Blockchains can be public or private.

If a blockchain or a certain “enterprise solution” it is private or federated it is not really decentralized. Blockchains of this type are designed precisely with the intention of not completely losing the possibility of having central control.

It means that the control remains centralized, the automatic consensus between the nodes on the distributed data is never really definitive and an admin (or a limited number of admins) must be able to potentially change them. So it is better to use a classic distributed db. A blockchain-based system is extremely inefficient compared to a classic database. When decentralization is not needed, this inefficiency is an absurd price to pay. Such inefficiency is acceptable when decentralization and immutability are sought: in this case it is a fair price to pay.

Are you a manager fascinated by the word ‘blockchain’ and are you about to buy an expensive proprietary solution? You probably don’t need a blockchain-based system. But you can ask your IT engineers to design classic software based on one or more distributed databases. Develop a data access software layer with your own custom management logic to reach a consensus and resolve conflict when the data does not coincide between the different nodes on which you distribute the data. You can develop it with normal existing software technologies, you don’t need a blockchain. Private blockchains are to be avoided.

Let’s move on to the public ones (including Bitcoin).

If a blockchain is public but does not have expensive fees, either it is little used (therefore insecure) or it has a block that is too large (and therefore tends to no longer be decentralized, see chapter 1). Public blockchains with these characteristics are to be avoided. Bitcoin has expensive fees (so it’s safe because it’s used and contended) and a limited block size (it won’t become centralized over time).

Let’s go back to the example of the proof of existence of a document seen in chapter 2. Imagine you are calculating hash of a document, carrying out a bitcoin transaction while saving this footprint. You can prove (by keeping the document) that that document already existed at the time of the transaction.

Imagine you want to trace the origin of real objects instead of the origin of a computer document. Think you want to track the food chain (for example) of high quality wine on the blockchain. A human operator will enter some data concerning a bottle of champagne and ascertain its origin.

First problem: the human operator could lie and enter false data (or tamper with the automatic data entry mechanism). What is the use of inserting data that could be false originally in an immutable blockchain? Let’s suppose to trust the human operator and move on.

Talking about a digital document, it is possible give it as input to a computer function that calculates a small unique footprint (a small text that can be included in a transaction on a blockchain).

But for real world objects there is still no laser / quantum / photonic scanner / flux capacitor or other science fiction inventions that calculates the unique footprint of a real object (a bottle of wine, an apple, a chair, ..). Furthermore, real objects vary their molecular composition over time (wine ferments and reacts over the years in the bottle), the same object would have different footprints over time.

How will we be able to prove through the blockchain that a certain bottle contains exactly what is written on the label? We must trust the code written on the label and verify that this code has been registered in the blockchain. But the code was written on the label and in the blockchain by humans, that is, it is a potentially corruptible data.

You could also apply the same label with the same code to multiple bottles even those that do not contain champagne.

What is the point of being able to write on an indelible blackboard (public blockchain) things that may be originally false?

What is the point of being able to write on a blackboard that is not even completely indelible (private blockchain) about things that could be originally false?

As for a real world object to be tracked in the blockchain, we cannot insert a unique imprint like we can for a file. Even if by magic we could calculate the unique footprint of a real object, it would only have an instant value because it would change over time.

Also concluding for a product with a supply chain saved in blockchain, we must trust what has been declared, exactly as we already do today without the blockchain. It leads back to having to trust people. We might as well use a normal database.

The blockchain as a system for tracing a production chain of real objects makes no sense, but only makes sense when dealing with completely digital objects. As for our usual example of the proof of existence of computer documents (files) for which it is possible to calculate a small unique footprint and save it in the blockchain.

So when do I need a blockchain? When I have to save evidence of existence (on a certain date, the block timestamp) for important documents or in general when the objects I have to trace are purely digital and not real objects.

Which blockchain should I use? That of bitcoin because it is the one that offers the greatest guarantees of immutability.

How much will a proof of existence of a single document cost me? The cost of a transaction in the bitcoin network, which can be $ 1 as a few tens and may even increase in the future, depends on how much the blockchain is used at the time of the transaction. However, a notary would cost more.


ITA – Quasi sicuramente non ti serve una blockchain. Ma se veramente dovesse servirti, allora ti serve quella di bitcoin.

Bitcoin non ci piace, ci piace la blockchain. Quante volte avrete sentito questa frase?

Molte persone influenti, intervistate in questi ultimi anni, hanno spesso ripetuto il mantra: bitcoin non ci interessa, ma nutriamo interesse nella tecnlogia sottostante, la “blockchain”. Spesso viene ripetuto per uno o più dei seguenti motivi:

  1. Semplice ignoranza e/o diffidenza verso ciò che non si conosce bene.
  2. Uso dell’ennesima buzzword (la ‘blockchain’) per sembrare al passo con i tempi. Puro marketing.
  3. Vera e propria malafede. Dato che bitcoin è uno standard aperto (sostanzialmente è di tutti) si ha paura di non poter mettere sul mercato un proprio prodotto software basato su una propria “blokchain” proprietaria.

Ho bisogno di una blockchain per il mio business? La blockchain serve veramente a tracciare le filiere? Proviamo a rispondere a queste domande con dei ragionamenti.

Le blockchain si suddividono in pubbliche e private.

Se una blockchain o una certa “soluzione enterprise” è privata/federata non è realmente decentralizzata. Le blockchain di questo tipo sono progettate proprio con l’intento di non perdere del tutto la possibilità di avere un controllo centrale.

Significa che il controllo resta centralizzato, il consenso automatico tra i nodi sui dati distribuiti non è mai veramente definitivo ed un admin (o un numero limitato di admin) deve poterli potenzialmente cambiare. Quindi è meglio utilizzare un classico db distribuito. Un sistema basato su blockchain risulta estremamente inefficiente rispetto ad un database classico. Quando non serve decentralizzazione questa inefficienza è un prezzo assurdo da pagare. Tale inefficienza è accettabile quando si cerca decentralizzazione ed immutabilità: in tal caso è un giusto prezzo da pagare.

Sei un manager affascinato dalla parola ‘blockchain’ è stai per comprare una costosa soluzione proprietaria? Probabilmente non ti serve un sistema basato su blockchain. Ma puoi chiedere ai tuoi ingegneri informatici di progettare un classico software basato su uno o più database distribuiti. Sviluppate uno strato software di accesso ai dati con le vostre logiche personalizzate di gestione del consenso quando i dati non coincidono tra i diversi nodi su cui distribuite i dati. Puoi svilupparlo con normali tencologie software esistenti, non serve una blockchain. Le blockchain private sono da evitare.

Passiamo a quelle pubbliche (tra cui Bitcoin).

Se una blockchain è pubblica ma non ha delle fee costose, o è poco usata (quindi insicura) oppure ha un blocco troppo grande (e quindi tende a non essere più decentralizzata, vedi capitolo 1). Le blockchain pubbliche con queste caratteristiche sono da evitare. Bitcoin ha fee costose (quindi è sicura perché utilizzata e contesa) e un blocco di dimensioni limitate (non diventerà centralizzata col tempo).

Torniamo sull’esempio della prova di esistenza di un documento vista al capitolo 2. Immagina di fare l’hash di un documento ed effettuare una transazione bitcoin salvando tale impronta. Potrai dimostrare (conservando il documento) che quel documento esisteva già al momento della transazione.

Immagina di voler tracciare invece dell’origine di un documento informatico l’origine di oggetti reali. Pensa di voler tracciare su blockchain la filiera alimentare (ad esempio) del vino di alta qualità. Un operatore umano inserirà qualche dato riguardante una bottiglia di champagne accertandone l’origine.

Primo problema: l’operatore potrebbe mentire e inserire dati falsi (o manomettere il meccanismo automatico di inserimento dati). A cosa serve inserire un dato che potrebbe essere falso in origine in una blockchain immutabile? Fidiamoci dell’addetto e andiamo avanti..

Per quanto riguarda un documento digitale, è possibile darlo in pasto ad una funziona informatica che ne calcola una piccola impronta univoca (un piccolo testo che è possibile includere in una transazione su una blockchain).

Ma per gli oggetti del mondo reale non esiste ancora uno scanner laser/quantistico/fotonico/flusso canalizzatore che ti calcola l’impronta univoca di un oggetto reale (una bottiglia di vino, una mela, una sedia). Inoltre gli oggetti reali variano nel tempo la loro composizione molecolare (il vino fermenta e reagisce negli anni in bottiglia), lo stesso oggetto avrebbe impronte diverse a distanza di tempo.

Come potremo provare tramite la blockchain che una certa bottiglia contiene proprio quello che c’è scritto sull’etichetta? Dobbiamo fidarci del codice scritto sull’etichetta e verificare che tale codice sia stato registrato nella blockchain. Ma il codice è stato scritto sull’etichetta e nella blockchain da degli umani, ovvero è un dato potenzialmente corruttibile.

Si potrebbe anche applicare la stessa etichetta con lo stesso codice a più bottiglie anche quelle che non contengono champagne.

A cosa serve poter scrivere su una lavagna indelebile (blockchain pubblica) delle cose che potrebbero essere false in origine?

A cosa serve poter scrivere su una lavagna che non è nemmeno del tutto indelebile (blockchain privata) delle cose che potrebbero essere false in origine?

Per quanto riguarda un oggetto del mondo reale da tracciare in blockchain non possiamo inserirne un’impronta univoca come possiamo invece fare per un file. Anche se per magia potessimo calcolare l’impronta univoca di un oggetto reale, avrebbe un valore solo istantaneo perché cambierebbe nel tempo.

Concludendo anche per un prodotto con una filiera salvata in blockchain, ci dobbiamo fidare di quanto dichiarato, esattamente come facciamo già oggi senza blockchain. Ci si riconduce a doversi fidare delle persone. Tanto vale usare un normale database

La blockchain come sistema di tracciamento di una filiera produttiva di oggetti reali non ha alcun senso, ma ha senso soltanto quando si trattano oggetti completamente digitali. Come per il nostro solito esempio della prova di esistenza di documenti informatici (file) per i quali è possibile calcolare una piccola impronta univoca e salvarla in blockchain.

Quindi quando mi serve una blockchain? Quando devo salvare delle prove di esistenza (ad un certa data, il timestamp del blocco) per dei documenti importanti o in generale quando gli oggetti che devo trattare sono puramente digitali e non oggetti reali.

Quale blockchain devo usare? Quella di bitcoin perché è quella che offre le maggiori garanzie di immutabilità.

Quanto mi costerà una prova di esistenza di un singolo documento? Il costo di una transazione nelle rete bitcoin, che può essere 1$ come alcune decine e in futuro potrebbe anche aumentare, dipende da quanto è utilizzata la blockchain al momento della transazione. Un notaio comunque costerebbe di più.