I am more interested in the ZeroSync approach. What are the disadvantages of it or risks?
According to what I found about the topic, the main disadvantage seems to be that the ZK proof generation is computationally intensive, which would put more CPU burden on the nodes who build these proofs.
How much more computationally intensive though? If that is the only disadvantage and if it is not too significant I do not see a big obstacle with that. CPU capability keeps steadily increasing, and if I understand this correctly these cost increases are one off. With that I mean if it jumps let's say by a factor of 2 when we move to this, it is not like it is going to jump again by 2 in a few years. Is that right?
And there's the risk that less nodes would store the whole blockchain. However, I think if this resource became too scarce, it could develop into a business model, i.e. some nodes could sustain themselves requiring a fee for complete and fast blockchain access, while free access would be restricted. Thus I don't think that the archival nodes would really reach extremely low figures.
A reduction is expected as a consequences of this in my view, but as long as it is not too much I don't see it as a big issue. I don't believe that the current storage situation is an issue at all. Storage has become pretty cheap even fast storage.
Peter Todd has also mentioned the risk that if ZeroSync becomes an alternative implementation alongside Core, then that could increase the risk for incompatibilities and possible forks if these incompatibilities persist (see the mailing list thread below). However, that's not a ZeroSync-only problem, and normally an open project like Bitcoin should be able to deal with this. He also mentioned that it could become problematic if miners rely too much on ZeroSync, as they could lose access to historic block data, and thus some could not be able to verify transactions going back to old blocks. This would afaik be mainly a problem if Utreexo became the standard and the UTXO set is not stored completely but as a series of hashes. The argument I could come up against that risk is however that miners who do that "cheap mining trick" would lose income in forms of fees, and thus there is a natural incentive for them to keep the history.
I am a bit familiar with that problem, he is right and I mention something like that in my recent thread
https://bitcointalk.org/index.php?topic=5573796.msg66384028#msg66384028. So maybe it would be best to have it part of Core but with a switch to decide how you want to use it, maybe default to full node with the option to run it as pruned or ZeroSync? This would avoid the problem and not create over reliance on ZeroSync nodes. What do you think?
Thanks.
Wait a minute, I thought that the Segwit thing was a one off. I didn't think that there was more room to increase the space using the same method more. Is there a limit to the amount of block space that can be generated this way so to say?
It's not as easy as just updating the witness discount, and the "anyonecanspend" trick (tricking old nodes into accepting txes without signatures) was already used by Segwit and this specific stategy indeed seems to be an one-off option. But you could add another field to the blocks for the transactions or parts of them like the signatures (or other data structures you'd want to give an additional discount), which would be similar to an extension block, which was successfully applied in Litecoin. This practically would mean that these upgrades shouldn't occur too often. Otherwise the block structure could become too complex (which increases the maintainance cost of the code). An alternative, if further block size increases are envisioned, would be to directly integrate a discount upgrade mechanism. But that would be controversial, I think, as this would "open the door" for big blocker miners to apply block size upgrades at will.
Theoretically as far as I understand there are no limits but from the practical/political point of view there are. Such an upgrade thus should be planned carefully, with simulations about the fee market. However, if the block size was expanded too much making transactions too cheap, it can always be restricted via softforks (but then it would be complicated to re-expand them, so this should be only an emergency measure).
That is very interesting, I thought that only the block size could be increased more with a hard fork and that this is the reason why it is probably not going to be done. It is good to have this as an alternative way. Even if I love LN, I also don't think that we should stick to such low blocks or on chain TPS forever. A hard fork is always going to create more obstacles and issues compared to these options that you have described here.
Thanks for this one too.
That is pretty low actually. Even if we considered all OP_RETURN to be complete spam which is questionable but lets go with that, then all the spam drama of last year was pointless.
I agree here. However, I understand a bit the fear of node operators to store illegal data. There is also the possibility of Taproot rules being restricted eventually (perhaps as a compromise to the so-called "BIP-110") and this could lead to the Ordinals technique (based on Taproot) being abandoned for NFTs and OP_RETURN used instead. So I consider it still important to develop strategies how OP_RETURN data could be segregated from the rest of the blockchain, and "intermediate" nodes (neither light nor full nodes) being "allowed" to delete them keeping only a hash.
Yeah I am in favor of having options, even more in cases where nobody is being harmed here by exercising their choice. If someone does not want to store this or has fears of doing this they should be able to do it.
Panic selling exists even right now, but we should ask ourselves, does that actually affect Bitcoin in the long run? The answer is no, it doesn't, and it's only a negative thing for those who do that because they fail to make any profits from it, and the market eventually recovers because not the whole population will do that, not to mention industrial investors who would grab any opportunity to get some cheap sats.
Panic selling in the short term is only one example of user anxiety. You are right to bring it up but your conclusion does not seem accurate here. We do not have a way to estimate the real cost of how much damage anxiety of all kinds have caused. It is definitely a big number. Many people were actually put off from entering Bitcoin because of the bombardment of news and propaganda, they became anxious or even dumped it. There are always concerns that are abused to cause anxiety, last year was full of OP RETURN and quantum lies. Many people who were fine became skeptical and scared of the near future. Read the posts of gmaxwell that brought this up first here, I added it because of his suggestion.
Again, I believe those who don't use self-custody are only going to make things difficult for themselves, and people will slowly understand this, and even if the majority don't, decentralization will still exist and there will be people who will read about Bitcoin and understand what it was actually created for.
I don't think we could frame it this simply. One could say that certain groups of users are actually making things easy for themselves by not doing it, because they don't have to learn how to use Bitcoin so much or how to protect it so they are offloading this part to someone else. They are trading this for more other risks, such as exchange default. Also they don't only make things difficult for themselves, but they are creating risks for everyone else and reducing decentralization too. If most people did self-custody, there would never be a big risk from a large exchange hack. We would be fewer big issues since there would be no big targets to hack.
Tried in the past, the attackers failed miserably over time, and the same thing will happen in the future, with a better ratio of failure for the attackers.
Failed is not the right way to frame this point too. Failed how? An attack that manages to hurt Bitcoin even a bit and its goal was to hurt it is a success attack. Only if the objective is to fully kill Bitcoin can we consider them to have failed. If social attacks were not effective then they would stop doing them because it costs money and resources to deploy this. Because they persist even today that means that they have some success. What changes is mostly what the disinformation is about and maybe how much of it is being pushed. The regulations and legislation in the USA have helped to reduce this a bit but we are still not out of the water.