6 ms·
As I understand it, a blockchain is a decentralized database which does not require the individual instances to have perfect connectivity and perfect trust all
by bayesian_horse 8y ago
As I understand it, a blockchain is a decentralized database which does not require the individual instances to have perfect connectivity and perfect trust all the time.
I can see why that would be something worth doing in a food chain. To trace, for example, a particular load of soy beans to a customer eating a steak, there are a couple of completely autonomous companies/sole proprietors involved. From the original soy farmer, through feed production (maybe multiple factories because the soy is processed and later mixed with other ingredients), feed distributors and transporters, to the cattle farm. Again the individual animal can change hands multiple times, for example a bull calf can be fed soy based milk exchangers at a dairy farm where it was born, then be sold to a farm that raises it to market (with pigs there can be three different farmers from piglet to market maturity), then to the slaughterhouse, the meat goes to food processors and then into a distribution channel.
Easily a dozen or two separate legal entities. I can see why it could be hard to connect each of them to a central database reliably may be tricky.
- ceejayoz 8y agoIf those dozen or two separate legal entities can all hop on a blockchain, they can likely make a POST request to Walmart's API too, right?
- bayesian_horse 8y agoPutting data into a blockchain is something different from making a TCP/IP connection to the internet. In a blockchain system, a particular piece of information has to eventually reach all interested parties, of course. But it can do so through a chain of potentially untrusted intermediaries, which also don't have to be connected through an internet connection. For example a truck servicing multiple farms or multiple stations on one farm, could collect new information packets, and pass on those he already has. Variations of the "Sneaker Net" pattern if you will. Food chain information is not very time-sensitive. A POST request is, however, very much time sensitive.
- ceejayoz 8y agoMy phone's Instagram app lets me "publish" images without a data connection. It queues them up, then POSTs them off to Facebook's API once I'm back online. None of this requires - or even benefits from - a blockchain.
- bayesian_horse 8y agoYes, but your phone will eventually get back to the internet. An endpoint on a farm may potentially never be able to connect on its own. Also, your phone is able to store the images. In IoT there is the problem that a lot of devices can only deal with very little disconnectivity before losing data. In those cases it's better to pass on the data to anyone rather than lose it, even if that someone isn't the central server.
- ceejayoz 8y ago> An endpoint on a farm may potentially never be able to connect on its own. And it'll use what to connect to the blockchain? > In those cases it's better to pass on the data to anyone rather than lose it, even if that someone isn't the central server. None of which requires a blockchain.
- stinky613 8y agoBut everyone involved is entering the information into the same IBM software front-end ("Food Trust")... So all players involved are using the same front-end and the same back-end, and only Walmart & IBM have the ability to change anything. How does a blockchain benefit anyone (other than IBM) in this situation?
- bayesian_horse 8y agoI don't know the details of that particular system, but what you say doesn't necessarily preclude a block chain system.
- chao- 8y agoIt doesn't preclude it, sure, but what stinky613 said does mean that a blockchain does not offer particular advantages over a more traditional datastore (regardless of how that datastore is accessed). I believe that was their point: that in this situation, a blockchain requires more effort for no additional benefit.
- deleted 8y ago[deleted]
- rocqua 8y agoJust guessing, but if appending to the chain requires signatures from IBM / Walmart, then all you need is to get the blockchain from somewhere, and you can verify it. With in-build non-repudiation. This is of course also possible with signed responses to queries. I think the advantage here is that the signatures are build into the data-store. This just simplifies verification and replication.
- homero 8y agoYes a real blockchain, not a centralized one from IBM
- bunderbunder 8y ago> As I understand it, a blockchain is a decentralized database which does not require the individual instances to have perfect connectivity and perfect trust all the time. Specifically, perfect trust in the log itself. Blockchain gives you a guard against someone trying to retroactively tamper with the log. It doesn't give you a whole lot of help with the points where data enters the log in the first place. e.g., the blockchain solution to, "there was a network partition when you tried to enter that transaction, and you entered it on the smaller partition" is to declare that that transaction never happened. I can't see how this is an acceptable solution for logistics. With Bitcoin it's easy enough to say that the blockchain is reality, but with supply chain management, it doesn't matter that the blockchain says your kumquats are in a warehouse in LA; if they're on a train bound for Chicago, they're on a train bound for Chicago.
- theossuary 8y agoActually it does. IBM is spearheading the Hyperledger projects, so I'd suspect they're using Fabric. Fabric allows you to run chaincode on all transactions, which has to succeed for all parties of the secure ledger before the transaction is committed to the log. I think this tech makes a lot of sense for the use case. Plus, I'm excited to see IBM do something new, if it works we all benefit.
- Faark 8y agoI agree. The append-only nature of blocks chained together using hashes can build the most tamper-proof transaction log i can imagine. Even without mining/consensus algorithm and with it only being centrally host (but still published), i can upload a file to e.g. some government agency, see the file hash appear in the block and save the block hash. As long as that same block hash is used to continue the chain, upcoming block hashes would have to change to remove my entry from that chain-log. I would love such cryptographically safe systems actually being used, especially whenever we don't trust the db operator. E.g. for Reddit admins it might lessen the appeal to alter posts again :D
- bayesian_horse 8y agoI believe the case of network partition only matters in case of an attack on the system, i.e. someone entering conflicting information. That would be somewhat obvious, and you'd have to go after that actor. But as long as that doesn't happen, and even if it would happen, most transactions will actually be valid enough to trace the food chain.
- SkyPuncher 8y ago> does not require the individual instances to have perfect connectivity and perfect trust all the time. The blockchain does not solve the trust issue in this scenario. Blockchains only work there is a verify unit entirely enclosed in the system - including the origins of any "unit" on the system. * Bitcoin/Ethereum/etc - "coins" are a completely digital concept fully enclosed by the system. "coins" are generated in a predictable, consensus based manner with consensus based means of exchanging their value. * Distributed Filesharing - "files" are stored in encrypted in a verifiable manner. I have an identity (or multiple identities) on the system which I can use to verify the source. Trust does become a factor in something like Civil where credibility is attached to a trust that an author actually published something. * Food - involves a physical good that cannot be verified by the "blockchain". I can verify that SOME item went through a certain set of checkpoints. I can possibly verify that the SAME item went through a certain set of checkpoints. I cannot however verify the authenticity of any item before entering into the system. I have to rely on a middle-man (e.g. Walmart, Kroger, Whole Foods, etc) to verify authenticity at the origin point. They also have to implement safe guards that ensure goods cannot be tampered with between checkpoints. That relies on trusting the middleman to have appropriate safeguards in place.
- darawk 8y agoNo, you can't verify the food itself. But you can verify that a digital signature owned by the company in question signed the chain of custody for that food item, and using the blockchain, you can verify that that signature was made at a certain, retroactively immutable point in time.
- bayesian_horse 8y agoThere is no such thing as "an item" moving through the food chain. In the EU we have a somewhat traditional system for cattle, created after the BSE crisis. Each animal has two ear tags which contain a unique ID. This ID will be carried through to the table if necessary. But it has to be "copied" along, for example when the animal is processed. The idea behind block chains in food processing is to record the transactions between individual parties. The blockchain does not verify the food, but rather the belief that they passed on a certain product. A malicious party will now have much more problems creating, vanishing or forging material. It also doesn't matter that much, because after a malicious transaction the following transactions are perfectly traceable again (if at least those are honest...).
- abakker 8y agoThis is an important insight. A key characteristic of a "supply chain" is that no one company really "owns" it, and so integration to centralized systems is frequently unattractive. If a blockchain provides a decentralized repository for data, and the data that is stored can be effectively masked, then it gains real value. If it is just decentralized supply chain dropbox, then it doesn't do much. User account security and role/employer based data masking across all companies and all data are the key requirement, lack of the central intermediary is table stakes.
- TheColorYellow 8y agoThis is the biggest factor in why a "centralized" database or even a distributed one for that matter doesn't adequately provide the same value that IBM is bringing here. This also quite obviously a DLT solution and not a blockchain...but it seems like a lot of people are missing that point in this thread.
- tveita 8y ago> blockchain is a decentralized database which does not require the individual instances to have perfect connectivity Only because in the case of a fork it has a defined way to choose whose work to throw away. You cannot meaningfully operate on a blockchain like bitcoin while disconnected from the majority. Each fork will be internally consistent, and you can continue to work on it if you like - you probably wouldn't even notice anything wrong, but at some point you'll connect to the longer chain and an arbitrary amount of history will be blown away.
- bayesian_horse 8y agoThat would only happen if the two forks contain inconsistent information, right?
- lgeorget 8y agoThe fact that there is a fork is a inconsistency per se. The log must be a linear chain of blocks, that's enforced by the protocol. If there's a fork, eventually all the diverging subchains but one (the longest) will disappear.
- pbreit 8y agoI’ve been thinking a model for such a distributed ledger is Usenet/nntp where multiple partial copies of the data is stored on various servers. If one were to deploy a non-blockchain version of such a thing, what would it actually look like?
- bayesian_horse 8y agoYou'd quickly start messing around with signing, encrypting and checking packets of information... Which would be a lot like a blockchain.