I have a confusion with blockchain concepts. Blockchain is immutable. So we can have problems in using blockchain for shopping websites. Because if we use it for retail, people have a habit to return the things. But blockchain is immutable so we can't reverse the transaction.

Somebody please guide me how to handle the problem of returning goods in blockcain-based E-commerce.


  • Even in conventional systems, a return is a separate transaction from the original purchase. Both are recorded, the original purchase transaction need not be amended so long as the system associates both transactions together. In short, returns are not the same as a transaction cancellation. – RedGrittyBrick Jan 2 '20 at 12:11

Questions like this are off-topic on this forum, however I'll take a stab at answering your question as you seem to have a lot of misunderstanding.

The bigger question you need to ask yourself if why you want to implement your e-commerce application on a 'blockchain'? It would be a gross neglect for basic engineering design principles as blockchain is nothing but a slow and expensive database. I mean I would understand if you wanted to create a Dapp if you are selling drugs and other illegal substances (like SilkRoad) since you wouldn't want a single point of failure and lack of attribution as an owner. However, if you are creating an e-commerce application that is perfectly legal you can create it on a normal database system.

Blockchain is one of the many components that make Bitcoin successful, not the only one. A blockchain is used in Bitcoin to prevent double spend attacks as transaction included in previous blocks get precedence over the latest transaction if they spend the same output, and achieving consensus on a global scale where all participants have the authority to accept changes.

Private blockchain is nothing but an old wine in a new bottle. There are plentiful example of distributed databases with multiple write access available today like Google Spanner or Paxos. So, coming back to the question you need to ask yourself, what are benefits that the "blockchain technology" is providing you that is not possible with existing 'traditional' solutions in the market?

  • 1
    A few comments: "other PBFT consensus blockchains": PoW is not PBFT (and PBFT is a specific instance of a class of consensus algorithms called BFT; PoW is not BFT either). – Pieter Wuille Jan 1 '20 at 7:43
  • 2
    Voting to change the state of the database in (P)BFT is equivalent to a block that contains an (possibly illegal) transaction. The immutability is about the history, not about the final state. If you maintain a log of all updates in PBFT, you also have an immutable history. If you make it hashlinked, it's arguably a blockchain even. – Pieter Wuille Jan 1 '20 at 7:45
  • 1
    Last: Paxos and Spanner are not (P)BFT algorithm. BFT consensus keeps working even in the presence of malicious actors, but need 2/3 majority vote (and 2/3 honest participants). Traditional consensus algorithms like Paxos assume only malfunctioning/unreachable as failure modes, but not intentional obstruction. This is fine as they're run by trusted parties (all servers owned by Google), and it reduces the vote to a 1/2 majority. – Pieter Wuille Jan 1 '20 at 7:48
  • 1
    @PieterWuille Thanks for the comments. Updated for (1) (it was a poor choice of words from my part) and added for (3). On (2), what I was referring to is as follows: There is transaction that happens with company A, that pays B and C. All three have write access to the blockchain (with one other company). At some point, A, B and C realize that the current state with the transaction is not beneficial to them. So they completely erase the hashlinkled 'blocks' previous to that and vote on the state that does not contain the transaction. The previous state with that transaction is completely erase – Ugam Kamat Jan 1 '20 at 8:17
  • 1
    Right, my point is more this: in PoW the assumption is that a majority of the hashrate is honest (and indirectly because they act in their own selfish interest). In BFT, the assumption is that 2/3 of the signers are honest and will not sign a conflicting version of history. In both cases it is possible to revert the state if, but only if, those assumptions are broken. The distinction is not in what is possible or not, but under what assumptions that can happen. – Pieter Wuille Jan 1 '20 at 8:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.