Does Hyperledger remove asset actually remove anything?

+1 vote

Blockchain is actually immutable so what does remove asset do? Is it possible to remove/delete anything from the blockchain?

This is what I did: I removed an asset I still see the block number increasing. I am not sure if the asset is removed (erased completely) or just marked that the current state is removed. 

After removing the asset, I tried to create an asset with the same ID and it works. Can someone explain what's happening?

Jun 18, 2018 in Blockchain by ariaholic
• 7,320 points
661 views

5 answers to this question.

+1 vote
Best answer

Hyperledger remove asset doesn't actually "remove" the asset. Blockchain is immutable and no data on a blockchain will ever be deleted. A deletion is just another transaction saying certain data is deleted so that the world state database can remove that data. Data in a Blockchain will always be there unless the ledger and transactions are removed from the machines. So, when you restart the machine, this information is lost. 

answered Jun 19, 2018 by charlie_brown
• 7,710 points

selected May 3 by Omkar
+1 vote
Always remember that a Blockchain is Immutable.

Immutable means a data once written can not be altered(or removed).

There are 2 major scenarios for this:

1. Public Blockchain

2. Private Blockchain

   ---> In a Public Blockchain, the data is present in all the nodes that has accessed the blockchain and to remove the data from the blockchain, one has to erase the data from all these nodes.

But, this is not possible considering the lack of access to these nodes.

Let us look at the following example for easy understanding:

If you send an email to a number of people, you can not just unsend the email. If you want the data(email in this case) to be removed, you will have to delete the email that you sent, from every account that you sent the email to. And the probability of this happening is incredibly low.

Along with limited access to nodes, validation and verification of blockchain also prevents data alteration.

Hence, in a Public Blockchain, the data is immutable.

   ---> In a Private Blockchain, the end user might have limited access to the data and might not be able to change the data. But a person with high access privilege(such as a system administrator) may be able to change the data if he wishes to.

To avoid the risk of data alteration by a high privileged user, usually in organizations that use blockchain, the responsibility over the data is divided among different people.

This ensures that the data can not be altered by an individual without getting detected.

And yes, the hyperledger remove asset only updates the state of the database that the current state is removed and does not remove the data from the blockchain.
answered Jun 26, 2018 by Omkar
• 67,120 points
+1 vote
It is possible to completely erase the data in a Private Blockchain provided that the user has high privileges. But it is not practically possible in a Public Blockchain unless and until all the nodes remove the data from their system.
answered May 3 by Karan
+1 vote
No, it is not possible to remove anything from the Blockchain. Even if you use hyperledger remove asset, the data still exists but as you mentioned, it is marked as removed.
answered May 3 by Raj
+1 vote
You can see the Block number increasing because even after you remove the asset, the merkle tree has the Blockchain structured such that the number and data are hierarchical.
answered May 3 by Cindy

Related Questions In Blockchain

0 votes
1 answer

Hyperledger remove asset

Data on a blockchain won't ever be ...READ MORE

answered Jul 4, 2018 in Blockchain by Christine
• 15,790 points
274 views
+1 vote
4 answers

What role does Orderer peer serves in Hyperledger Fabric??

Shared communication channel to clients and peers ...READ MORE

answered Apr 11, 2018 in Blockchain by Johnathon
• 9,070 points
615 views
+1 vote
1 answer

How does a blockchain work in hyperledger framework?

Hyperledger Composer simplifies application development on top ...READ MORE

answered Apr 19, 2018 in Blockchain by Christine
• 15,790 points
89 views
+1 vote
4 answers
0 votes
1 answer
0 votes
1 answer

Invalid Batch or signature in Savtooth

This will solve your problem import org.apache.commons.codec.binary.Hex; Transaction txn ...READ MORE

answered Aug 1, 2018 in Blockchain by digger
• 27,620 points
54 views
+1 vote
1 answer
0 votes
1 answer