Hacker News new | ask | show | jobs
by bigbonch 1555 days ago
Walmart Canada has used blockchain [1] to better their supply chains systems. I suspect when you say you "haven't found one legitimate use case for blockchain" you're referring to the consumer space based on current offerings. I would argue that "blockchain" just as an idea and technology has plenty of use cases.

[1] https://hbr.org/2022/01/how-walmart-canada-uses-blockchain-t...

7 comments

The article is co-authored by two co-founders of a supply chain management solution company called DLT Labs that uses blockchain somewhere. I checked out their solution on their website.

The product looks like any other web app. Is it really using a blockchain somewhere at the backend to store something? May be. It is certainly using some standard RDBMS to store the structured data. There's no way you can store all of that you see in the screenshots on a blockchain.

So what it is that is actually being stored on a blockchain? Not clear.

Is it possible that they use the word blockchain to get free PR? May be. I don't want to judge.

The product page doesn't have the word blockchain anywhere. https://www.dltlabs.com/platforms/asset-track

DL Freight, the product used by Walmart Canada also doesn't mention the word blockchain anywhere. There is just one mention of a shared ledger. https://www.dltlabs.com/platforms/asset-track/dl-freight

Did find blockchain on this page https://www.dltlabs.com/platforms/ecosystem

But immediately you see this

"And because its built using distributed ledger technology, every transaction is 100% auditable, immutable, and visible only to permissioned users – helping to create a genuine layer of trust between the parties that transact on the platform." It refers to permissioned users, so it's not a blockchain. Which is supposed to be permissionless. They aren't even claiming. They are calling it a distributed ledger.

In fact I have noticed this even with R3 Corda. The enterprise blockchain provider. They use the term distributed ledger to describe their offering, not blockchain. But all the marketing material and PR pieces always tout blockchain in the headline.

If something is permissioned, trustful and centralised, is it even a blockchain?

I just don't see how that use case couldn't have been more easily served with a boring old centralized database. Why do you need a trustless system where all the users are either in-house or contractually obligated to not screw each other over?
Here’s a whitepaper on it https://uark.app.box.com/s/f7v6rk7xnwkjaetws7e1yaodomg883fi .

The merkle tree part of blockchains is absolutely valuable here… but that’s kind of where it ends. There’s no real consensus mechanism when there are 'merge conflicts', it needs manual overrides.

It’s more like git than bitcoin – and it helps them for similar reasons to why git helps us even when there’s a canonical source. People go offline and can’t sync immediately to the master store; people want to write events down now and deal with discrepancies later; disagreements are reified and can be formally reviewed, etc.

As best I can tell, it seems other aspects of blockchains just came along for the ride. The best open source code for their use case included it, and using it was better than building from scratch. The decentralisation is all but coded out – the central authority is the only one that can authorise transactions or resolve a 'merge conflict'.

Probably in logistics where many nodes of many companies need to record offline quite often.

Trucks, warehouses, resellers, manufacturers, all with their own systems and problems can record to the same ledger reliably.

And they can't on a Walmart owned database based system? You know the good old boring web application? HN is one example. Hundreds of people are using it, upvoting and commenting at at any given second. Works just fine.
Federated database systems are totally a thing also! It's not even that hard to set up a pub-sub system, service bus, or whatever. There's entire ecosystems of vendors that have turnkey or SaaS solutions in this space also.

People just forgot that these things can be done with boring old technology in the excitement of doing something hip and cool.

It is a Walmart owned database. It's a distributed p2p database via a private blockchain.

Lots of end clients that go offline often and need to resync.

Can you please connect me with someone in the tech team at Walmart Canada who was part of this implementation? I am really curious to know exactly what it is that they store in blockchain. What kind of chain it is public or private. What is the consensus mechanism?

A public truly distributed PoW blockchain is slow and inefficient by design. It's a feature not a bug. A private, permissioned, controlled blockchain is pointless. So I really want to know what are these companies doing when they use blockchain for supposed benefits.

Blockchain in supply chain is often the most publicized use case. It somehow assumes that since blockchain is immutable (actually it isn't) whatever you add to it is authentic. Using it for supply chain assumes that a supplier won't lie about the origin or if they employed child labor. Using a blockchain doesn't automatically guarantee any of these.

Blockchain does not help supply chains. It doesn’t guarantee that things have been tampered with. It doesn’t solve any problems.
I remember a project when I was consulting that was floated, a few years ago. It was a blockchain-backed ledger for tracking fuel charges across a truck fleet - effectively, when the truckies filled up with fuel, they'd record it in the ledger. It can't be modified or altered, nobody can defraud the company because it's an immutable record!, shouted the sales team.

I mean, the truckie could always put the wrong value in when he entered it.

Also if the company just created a simple web/mobile app for truckers to enter data that doesn't have edit and delete functionality it is immutable. Non programmers think immutability is inherent in a system and not something controlled by code. Even if I use a blockchain and cryptography to timestamp it, if I am the one controlling the node, who in the world can prevent me from going in and changing it and time stamping it again with the same old timestamp? And if I create the UI, what stops me from showing whatever I want on the UI?
It would still remove plausible deniability. The trucker would not be able to blame anyone else for entering the wrong data in the system.

Another advantage is that you immediately see if an entry in the ledger has been dropped due to a network or other technical error, which can be a problem if you’re running a complex state machine on the data. I once helped a company build an IoT product where that was a problem. I pitched the idea but got absolutely no traction. I think the mistake I made was not calling it a blockchain, but just said I wanted to include hashes in the messages, so it didn’t sound sexy enough. I don’t like blockchain hype either, I didn’t care about being public, distributed, having proof of work or consensus, I just wanted to know if and when a message had been dropped, which is apparently too much to ask.

Also I think the vendor of the actual device didn’t understand what message authentication was, so they wouldn’t have been able to make it happen on their end. Their idea of security was just encrypting the data, but making no effort to ensure who it came from. I also think they wanted to use DES, which had already been broken for a few years at that point.

An immutable database guarantees that the "paper trail" has not been tampered with.

In supply chains, there's a lot to be said for having a paper trail even if (or especially if) some of the papers are fraudulently written.

How does block chain guarentee that something going from A to C via B is not tampered with in anyway?
It doesn't guarantee that. As I said, it guarantees that paper trails are permanent and cannot be fudged after the fact.
So you have a permanent paper trail that cannot be changed, what problem has it solved?
The problem of paper trails being changed. When something goes wrong, if you can't trust your paper trail, you can't attribute fault with certainty.

Without an immutable shared database standard, it's difficult for processes like that to cross company lines. And supply chain is a fancy phrase for processes that cross many company lines.

Auditing is a core feature of most modern RDBMS systems.

Anyways the reason why it's immutable is that it's public so everyone knows every transaction. You can just have a normal db and maker it public. Blockchain is overkill in this case.

Also this is a much more niche problem than "supply chains"

No it doesn’t. Private blockchains aren’t immutable. Whoever controls all the nodes can just edit the blockchain however they want.
There's no reason for one actor to control all the nodes.
If I own every single node it doesn’t guarantee that.
If you are the sole person keeping records for a large company in your personal desk drawer, it also doesn't guarantee that.

But nobody designs a process like that.

By “I”, I mean a single company.
Multiple companies could run nodes.
You don't need a blockchain for that, though; just hash chaining or similar.
What distinction are you making between a blockchain and a hash chain? They seem similar.
I do not see anything in this that would not be resolved by a trivial database, and if you read the article that is what they have created: It is a private "blockchain" that only allows trusted participants, so doesn't require all the negative externalities of "blockchain".

The only thing "blockchain" about what Walmart has done is riding the absurd investor hype for anything with blockchain in the title.

so would a database, or a linked list, or literally any data structure...

again, a solution looking for a problem.

Hammer in search of a nail.
what establishes its effect as "better"