Apart from Bitcoin and Ethereum (if we are generous) there are no major and
important uses today.
It is important to notice that blockchains have some severe limitations. A
couple of them being:
- It only really works for purely digital assets
- The digital asset under control needs to keep its value even if it's public
- All transactions need to be public
- A rather bad confirmation time
- Smart contracts are scary
Purely digital assets
If an asset is actually a physical asset with just a digital "twin" that is
being traded, we will risk that local jurisdiction (i.e. your law enforcement)
can have a different opinion of ownership than what is on the blockchain.
To take an example; suppose that we are trading (real and physical) bikes on the
blockchain, and that on the blockchain, we put its serial number. Suppose
further that I hack your computer and put the ownership of your bike to be me.
Now, if you go to the police, you might be able to convince them that the real
owner of the bike is you, and thus I have to give it back. However, there is no
way of making me give you the digital twin back, thus there is a dissonance: the
bike is owned by you, but the blockchain claims it's owned by me.
There are many such proposed use cases (trading physical goods on a blockchain)
out in the open of trading bikes, diamonds, and even oil.
The digital assets keep value even if public
There are many examples where people want to put assets on the blockchain, but
are somehow under the impression that that gives some kind of control. For
instance, musician Imogen Heap is creating a product in which all musicians
should put their music on the blockchain and automatically be paid when a radio
plays your hit song. They are under the impression that this creates an
automatic link between playing the song and paying for the song.
The only thing it really does is to create a very large database for music which
is probably quite easy to download.
There is currently no way around having to put the full asset visible on the
chain. Some people are talking about "encryptions", "storing only the hash",
etc., but in the end, it all comes down to: publish the asset, or don't
participate.
Public transactions
In business it is often important to keep your cards close to your chest. You
don't want real time exposure of your daily operations.
Some people try to make solutions where we put all the dairy farmers' production
on the blockchain together with all the dairy stores' inventory. In this way we
can easily send trucks to the correct places! However, this makes both farmers
and traders liable for inflated prices if they are overproducing/under-stocked.
Other people want to put energy production (solar panels, wind farms) on the
blockchain. However, no serious energy producer will have real time production
data out for the public. This has major impact on the stock value and that kind
of information is the type you want to keep close to your chest.
This also holds for so-called green certificates, where you ensure you only
use "green energy".
Note: There are theoretical solutions that build on zero-knowledge proofs
that would allow transactions to be secret. However, these are nowhere near
practical yet, and time will show if this item can be fixed.
Confirmation time
You can, like Ethereum, make the block time as small as you would like. In
Bitcoin, the block time is 10 minutes, and in Ethereum it is
less than a minute (I don't remember the specific figure).
However, the smaller block time, the higher the chance of long-lived forks. To
ensure your transaction is confirmed you still have to wait quite long.
There are currently no good solutions here either.
Smart contracts are scary
Smart contract are difficult to write. They are computer programs that move
assets from one account to another (or more complicated). However, we want
traders and "normal" people to be able to write these contracts, and not rely on
computer science programming experts. You can't undo a transaction. This is a
tough nut to crack!
If you are doing high value trading, and end up writing a zero too much in the
transaction (say \$10M instead of \$1M), you call your bank immediately! That
fixes it. If not, let's hope you have insurance. In a blockchain setting, you
have neither a bank, nor insurance. Those \$9M are gone and it was due to a
typo in a smart contract or in a transaction.
Smart contracts is really playing with fire. It's too easy to empty all your
assets in a single click. And it has happened, several times. People have lost hundreds of millions of dollars due to smart contract errors.
Source: I am working for an energy company doing wind and solar energy
production as well as trading oil and gas. Have been working on blockchain
solution projects.