0

From what I understand, a cryptocurrency mine needs to store a copy of the entire blockchain in order to be able verify transactions, which is why most wallet owners are not miners. The more centralized a decentralized consensus is, the more likely it is that its participants will 'defect' and screw over other participants, as in 51% attacks. And since these mines are physical locations, they will be able to be blackmailed by defenders of the legacy fiat monetary system. Therefore, the goal should be to create a cryptocurrency that is radically decentralized. It should be mined on every smartphone, maybe even on every internet browser while the CPU capacity is not used. And this requires the blockchain to be radically small, small enough to fit on a few GB of flash memory, and with the potential to stay that small if there are millions of transactions per day due to worldwide adoption. That's why one solution seems to be to simply not store transactions forever but delete old blocks.

[Q] Much like this Reddit user suggests, would it be technically feasible to delete old blocks from a blockchain in order to keep the data storage requirement for becoming a miner small? A cryptocurrency could, for instance, only keep the last year of transactions, and everything older gets deleted. The discussion seems to imply that this is technically possible, but maybe not desirable because funds are lost if they are not retransferred within the time window. So my question is: does a blockchain need to have all blocks down to the genesis block to verify transactions, or can it's participants agree to just use the oldest blocks available?

Private blockchains like Monero can't be pruned based on what coins are spendable, because that data is not available and every coin is potentially spendable. So it would just grow forever until mining becomes centralized in a few data centers. And that makes it vulnerable to attack. In order to stay honest, a blockchain needs to be radically decentralized. Then hash wars would not be a weapons race between the super computers of fraudulent actors and the super computers of honest participants, but between the super computers of fraudulent actors and the combined computing power of the entire world. Mining should be on by default in every wallet, and every browser should mine (for you) while you're not using the CPU power for something else! (It does not have to waste energy, the mining could only be applied when there is a dispute, but it has to be available in case there is a dispute.) But for this to happen, these devices have to be full nodes. In other words the entire blockchain can only be a few dozen GB or so.

I'm thinking maybe this blockchain would only be for short-term transactions, and people would not have large amounts of money on it. The spending blockchain with only a year of storage could be really small and fast, while the long-term blockchain that stores things forever would not have that many transactions because people only transfer large sums now and them. It's doesn't have to be all in the same cryptocurrency/chain. Specialize it! People usually have their pension funds on the same bank account as their beer money either. So when you go to prison and can't renew your wallet, only a relatively small amount of money is lost. Or automatic devices could be built that retransfer your holdings before the time limit.) Or would that lead to loss of value in one of these currencies?

2 Answers 2

1

You've formed an opinion and make a lot of statements based on inaccurate information.

  1. "to store a copy of the entire blockchain" – Miners do not need to have a copy of the blockchain. They only need to have access to the network. This is because miners don't need to verify transactions, that's the job of the network (everyone who runs a node). A miners job is to propose new blocks.
  2. "Private blockchains like Monero can't be pruned" – Yes they can and Monero has this exact feature.
  3. "So it would just grow forever until mining becomes centralized in a few data centers" – You make the common mistake of ignoring the advances in storage capacity and decreasing cost.

Therefore the question of whether it's possible to delete old blocks becomes a moot point.

4
  • Thanks for clearing that up. You are right, that some of my statements were based on inaccurate information. (I don't seem to have the reputation to vote your answer up yet, but I did.) And I might have used some words wrong. But my overall point, I believe, remains. Just about nodes instead of miners. Could you explain point 1 some more? If miners only have to have access to the network, do they have to trust notes to provides them with the right blocks? Are they rewarded?
    – JohnBig
    Commented Feb 22, 2021 at 7:45
  • It might be true that storage grows as fast as blockchain size, but it isn't the case that this is a moot concern. Worldwide adoption as a mainstream payment vehicle would increase transactions from a few hundred per day to tens of millions. The blockchain might grow 50GB per year. In order to be a viable mainstream payment method, it has to be "sustainable", in the sense that it has a finite size. Otherwise it will become too unwieldy for many users, no matter how cheap storage space becomes. Smartphones won't start having 2TB, because that simply isn't necessary for other functions.
    – JohnBig
    Commented Feb 22, 2021 at 11:08
  • "might grow 50GB per year" would be insignificant. See Nielsen's Law.
    – jtgrassie
    Commented Feb 22, 2021 at 13:40
  • "If miners only have to have access to the network, do they have to trust notes to provides them with the right blocks? Are they rewarded?" <- miners don't need to trust anything. Their job is to propose new blocks. To get rewarded, they will want to verify transactions so they don't propose blocks that get rejected, but they don't have to verify. Most miners however defer this to pools already, they trust a pool.
    – jtgrassie
    Commented Feb 22, 2021 at 13:46
0

Your question is very valid, and something I have wondered about myself. I believe there is pruning for Monero full nodes based on my reading, similar to Bitcoin full nodes. Looks like it was released roughly 2 years ago: https://www.getmonero.org/2019/02/01/pruning.html

Disclaimer, I have not successfully run a pruned not myself :)

Monerod Reference to Command: https://monerodocs.org/interacting/monerod-reference/

--prune-blockchain Pruning saves 2/3 of disk space w/o degrading functionality. For maximum effect this should be used already on the first sync. If you add this option later the past data will only be pruned logically w/o shrinking the file size and the gain will be delayed.

If you already have unpruned blockchain, see the monero-blockchain-prune tool.

The drawback is that you will contribute less to Monero P2P network in terms of helping new nodes to sync up (up to 1/8 of normal contribution). You will still be useful regarding relaying new transactions and blocks though.

3
  • Thanks for the info. As far as I understand, pruned nodes can be wallets, but they can't mine.
    – JohnBig
    Commented Feb 21, 2021 at 19:56
  • You don't need a node or wallet to mine and you can mine with a pruned node.
    – jtgrassie
    Commented Feb 21, 2021 at 20:09
  • Yes you are right.
    – JohnBig
    Commented Feb 22, 2021 at 7:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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