-1
$\begingroup$

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?

$\endgroup$
2
  • $\begingroup$ It shouldn't be too different from: "would it be technically possible to delete something published on the Internet". $\endgroup$
    – DannyNiu
    Feb 21 at 13:46
  • $\begingroup$ No, not really. We don't need the old blocks to be impossible to see like a leaked sex tape. They can still exist, we just want to stop using them for our decentralized consensus. $\endgroup$
    – JohnBig
    Feb 21 at 13:49
1
$\begingroup$

For public cryptocurrencies, deleting old blocks has the potential to cause long-time inactive users to lose their ledger, thus unable to spend when older blocks are deleted.

Therefore, it would not be technically possible to delete old blocks.

$\endgroup$
2
  • $\begingroup$ I know, I addressed that later in the question. But would it be technically possible to devise an algorithm that still verifies transactions based on a limited set of blocks? $\endgroup$
    – JohnBig
    Feb 21 at 14:03
  • $\begingroup$ Not without walking backwards to find old blocks. And in that case, we'd probably be calling it blocktree if it didn't have any other data structure by then. $\endgroup$
    – DannyNiu
    Feb 21 at 14:35
0
$\begingroup$

There are certain blockchains that create a snapshot of aggregated balances of all accounts. The verifier only has to check blockchain validity starting from such snapshot and old blocks can be deleted.

The snapshot has to be semi-trusted and clients usually require soft fork to trust it.

$\endgroup$
0
$\begingroup$

You might want to look into the Coda fully succinct chain.

It doesn't seem to have the scalability problems you mention.

$\endgroup$
1
  • $\begingroup$ Thanks for bringing my attention to this. The term "succinct" may have been the word I was looking for. However, what Coda (now Mina) does is not quite what I was talking about. It offers a certificate that lets you trust a remote node. The blockchain would still be big, ever growing and in the hands of a centralized group of miners. What I meant was a blockchain that is actually mined by every user. $\endgroup$
    – JohnBig
    Feb 27 at 18:01
0
$\begingroup$

Try to check UTREEXO (I'm not skilled enough to argue about it, but my educated guess is that it could be interesting for you - shortly and surely inaccurately said: it's an idea about how to use recursive ZKPs to squeeze blockchain)

That said I'm not convinced by your assumption: to improve decentralization of PoW blockchains the most critical parameter is not storage but computational power. That's because going on technological improvements make storage availability higher and costs lower. Perhaps the same pattern applies to CPU power (even if -historically- not so fast) however the intrinsic problem here is that PoW NEEDS to use a lot of energy, and general purpose everyday devices we all use will always have a negligibile probabily of winning a run BY THEMSELVES against a specialized hardware. So of course MANY MANY small-power miners will rebalance as a "democratic whole" the FEW strong-power miners, however small storage requirement wouldn't be enough as incentive to partecipate: because EACH small-power miners will have too low probability of success. So I would focus on ways to get ideas on how to make Peer-to-peer mining pools (be carefull: not centralized, managed one - check Mastering Bitcoin to get what I mean) more spread, stardardized so to not require any coordination apart from deciding to partecipate, in some I-dont-know-how way forbidden to big miners

My 2 cents :) bye

$\endgroup$
1
  • $\begingroup$ Yeah, that makes sense. Thanks. I had hoped the incentive problem could be solved with a random mining reward, like a lottery. According to psychologists, people are more willing to do something for a 1/20 chance at 20 coins than a safe 1 coin payment. But I realize the payouts would be too small or too unlikely to incentivize users. Pools kind of have the same problem. A cent a day isn't enough to bother turning on the miner. $\endgroup$
    – JohnBig
    Mar 29 at 10:58

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.