What do you mean by "needlessly" complicated? The whole point is to make it very complicated, as that is the main mechanism by which they achieve resistance to ASIC designs for it. How is that "needless"? Even if you say that an ASIC can still be built, the point it to make those ASICs much harder and more expensive to build. That coupled with regular change of PoW scheme (as is done in Monero) means that it is just economically unviable to develop ASICs for Monero.
Confirm what security though? The only security property of a proof of work scheme is that a new N-proof cannot be created with less than N new (non-sharable) operations of a general-purpose computer, which is a vulnerablity that most current proof-of-work schemes already have in the form of specialized ASICs (hence TFA). RandomX may be even worse in this regard, but a significant amount of complexity is very much needful.
For PoW, the important property seems to be that there's no shortcut to doing the hard work e.g. I could ask you to sum all the numbers from 1 to N for a very high number of N to prove you've done some work, but the flaw there is that a shortcut exists where where you only have to calculate (n(n+1))/2 to get the final answer in a fraction of the time.
significant amount of complexity is very much needful
I think you're using the word complexity in a different way to the way I was using it. I'm guessing you probably mean "is difficult to calculate the result without taking a shortcut" and not "is conceptually simple to understand and analyse for flaws by a human". Ideally, you want both to be true but that won't be the case for all PoW processes.
Yes, and current proof-of-work schemes allow shortcuts to avoid doing at least the intruction-dispatch portion of said work, by using a GPU or ASIC that shares dispatch work across multiple proofs in parallel.
complexity
I meant the latter type ("is difficult to understand or analyse") actually. That is to say, I suspect that trying to achieve the former will necessarily result in the latter, although it would of course be nice if it didn't.
Comments
What do you mean by "needlessly" complicated? The whole point is to make it very complicated, as that is the main mechanism by which they achieve resistance to ASIC designs for it. How is that "needless"? Even if you say that an ASIC can still be built, the point it to make those ASICs much harder and more expensive to build. That coupled with regular change of PoW scheme (as is done in Monero) means that it is just economically unviable to develop ASICs for Monero.
Likely they mean a combination of:
- could be replaced with something with less moving parts that has the same properties
- it's difficult to analyse because it has so many moving parts so there might be a fatal hiding somewhere
Simple is good when you're looking to confirm the security of something. This likely counts even more for a cryptocurrency.
Confirm what security though? The only security property of a proof of work scheme is that a new N-proof cannot be created with less than N new (non-sharable) operations of a general-purpose computer, which is a vulnerablity that most current proof-of-work schemes already have in the form of specialized ASICs (hence TFA). RandomX may be even worse in this regard, but a significant amount of complexity is very much needful.
For PoW, the important property seems to be that there's no shortcut to doing the hard work e.g. I could ask you to sum all the numbers from 1 to N for a very high number of N to prove you've done some work, but the flaw there is that a shortcut exists where where you only have to calculate (n(n+1))/2 to get the final answer in a fraction of the time.
I think you're using the word complexity in a different way to the way I was using it. I'm guessing you probably mean "is difficult to calculate the result without taking a shortcut" and not "is conceptually simple to understand and analyse for flaws by a human". Ideally, you want both to be true but that won't be the case for all PoW processes.
Yes, and current proof-of-work schemes allow shortcuts to avoid doing at least the intruction-dispatch portion of said work, by using a GPU or ASIC that shares dispatch work across multiple proofs in parallel.
I meant the latter type ("is difficult to understand or analyse") actually. That is to say, I suspect that trying to achieve the former will necessarily result in the latter, although it would of course be nice if it didn't.