I also have a comment about ASIC resistance.
There are tools that allow to customize hardware upon programs it will execute, [1] is an example of one such tool, there are some others.
[1] http://openasip.org/tta.html
If you write a RandomX code generator and interpreter and customize the CPU hardware using tools like one above you will get an optimized version of the hardware. Take a look at [2] for a results of such codesign attempts for Fourier transform. The optimization in energy efficiency can be as high as 100+ times over general purpose processors and on par and exceeding ASIC implementation.
[2] https://www.researchgate.net/publication/321700396_Codesign_...
One would duly note that RandomX employs floating point instructions in some parts of hashing process. I will respond that floating point operations can be expressed as operations on fixed point values and these hardware parts can (and will) be shared with other computations. Basically, the codesign tool will implement for you a split (FP)ALU. This will also increase energy efficiency over GPU and general purpose CPUs which have different paths for FP and integer computations and usually do not share ALU parts between these.
To comclude, first, RandomX is needlessly complicated. Second, I think that ASIC version can be attained without writing everything in Verilog by hand, you may stick with C reference implementation for most of the work. And, last but not least, the gain in hashes per joule from ASIC implementation can be much higher than 2-5 times over CPU or GPU.
- 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.
Notably there was (and still somewhat is, but less so [1]) very low data dependency between the generated instructions, which enables ahead-of-time preprocessing on a CPU to get effective execution on a bunch of independent compute units / datapaths (on an FPGA/ASIC), saturating all of them during a significant amount of time.
We already responded to the points you raised. https://github.com/hyc/RandomxAudits/blob/master/Comment-X41...
In TTA you have static schedule for what is achieved dynamically in x86 CPU, consuming energy. You can have much wider issue there, you can better utilize parts, allocating, for example, more shifters than is available on CPUs/GPUs.
You may not be so lucky to achieve 800x energy efficiency gain, but getting ten times better than CPU is achievable.
(no doubt someone will be along in a minute to tell me that cryptocurrency mining somehow uses "spare" electricity and burning the same amount of power as a mid-sized country isn't actually a problem at all!)
Personally I'd rather miners use ASICs for their hash collision wankery and leave the consumer markets alone. But I'd really like to see miners cease to exist because crypto comes with a huge environmental cost and so many externalities.
There is no known alternative system which is capable of randomly selecting a participant out of the entire pool of participants. Every other "solution" works by limiting the participation, because it is impossible for a network wide agreement at this scale to be done (would require every node communicating with every other node in the network and having a unanimous agreement on who has the legitimate authority to commit the next block).
Any system which doesn't require work to be done to prove that the correct participant was selected is vulnerable to Sybil attacks, where people control more network nodes in attempt to gain more leverage over others. The idea of staking some money doesn't fix this either, because proof-of-stake has the "nothing at stake" problem where stakers aren't actually spending money because they're guaranteed to get it back for being honest. Running many nodes is also fairly cheap and has the "not much at stake" problem. Only proof-of-work has the "much at stake" problem because the irreversible spending of money on electricity happens prior to any reward which may be received, like a lottery.
You might consider Bitcoin as a whole to be a bad idea. However, with recent "printing" in the tune of trillions of dollars, and with Bitcoin providing an inviolable fix for inflation, I think it might just be worth the effort - at least for anybody sensible who wants to save money for the future.
In terms of Monero, which doesn't fix inflation, it is useful for evading unwarranted financial surveillance. I suspect this will be fine for some time to come, but there will be eventually be enough privacy features on Bitcoin to make it unnecessary. For now: save in Bitcoin, spend in Monero.
>> However, with recent "printing" in the tune of trillions of dollars, and with Bitcoin providing an inviolable fix for inflation
The "printing" of money is a useful feature of national currencies, which can temporarily support an economy in peril, or be used to keep currency values approximately stable. I wouldn't want to be in a country where currency was like Bitcoin, it is deliberately less useful.
By the way, your cryptocurrency ecosystem also appears to have a money printer, in the form of Tether, which is run purely for the benefit of its owners. But sure, that's far better!
>> I think it might just be worth the effort - at least for anybody sensible who wants to save money for the future.
If you have enough money that a small amount of inflation is going to affect you, you don't keep it in cash, you invest. That's not what money is for.
PoW should have been set aside as soon as it was generally understood that the network's energy consumption might be unbounded.
Who is "we"?
You can't "set aside" something which a free market has chosen to accept. If you're upset about PoW, invent a superior replacement which the market would prefer over PoW.
However, I suspect you cannot. I'm doubtful that such thing can exist. Bitcoin is now an essential commodity because there is no replacement for it when it comes to saving money or evading warrantless (illegal) surveillance. The central banks and governments around the world caused this, and they aren't capable of reversing it.
Presumably society.
> You can't "set aside" something which a free market has chosen to accept.
We have set aside CFCs even though they were accepted by the free market. They were harmful to the environment, creating the ozone hole.
Similarly, PoW mining has an enormous and well-documented ecological cost.
> If you're upset about PoW, invent a superior replacement which the market would prefer over PoW. > However, I suspect you cannot. I'm doubtful that such thing can exist.
PoS exist.
> Bitcoin is now an essential commodity because there is no replacement for it when it comes to saving money or evading warrantless (illegal) surveillance.
All transactions and account balances in Bitcoin are public. From meta data and corresponding networks one can figure out where and who the people are (NSA does this too). It is not very private at all.
> The central banks and governments around the world caused this, and they aren't capable of reversing it.
I doubt that it is a essential commodity and suspect you are overestimating the economic importance of Bitcoin.
Us, those not yet in your choir, I presume.
The market can set aside things (un)perfectly well if they turn out not to be adequately useful or worth it, in whatever sense of those words. Driving opinion by means of internet comments can be a perfectly valid, if rather useless, part of such consensus forming.
Whatever your ideology surely you can agree on the basic fact that most active use of BTC is still of a rather transient nature. In and out. This means participants generally (outside of passive saving-speculating) have little inherent need for high prices and the astronomical energy use that goes along.
Coiners of course want practically useful solutions, just not quite as much as they want to get richer.
Or, if you really think not, would you instead be interested in buying some of this oil that will cure not only your aging but also your wife problems? I extract it from a snake, and I think you'll see the benefits of it immediately. (p.s. The oil also makes you immune to covid and meetings!)
Ideally, PoW algorithms should be focused on real science and/or economic problems.
As for „should” - you may not be aware of this, but telling someone they „should” do something if you don’t plan to help is a bit offensive.
I disagree with this very strongly. How is sharing good ideas offensive?
Even if some people already knew about this, not everyone did and sharing these ideas could only help society.
That would be like telling Elon Musk to shut up when he came up with the idea for the Hyperloop but didn't implement himself... Elon just didn't have the time.
I'm no Elon but I also don't have the time because I'm working on a DEX which I think is a better use of my skills. The fact that I'm no Elon gives me even more incentive to share my ideas.
I don't have many followers, so if I implement my idea, nobody will use it (no matter how good it is); I won't be able to generate enough hype. On the other hand, if some rich person from HN sees my idea and implements it, then it will be more likely to succeed (just because of network effects). I can contribute more to society by giving my idea to someone else than implementing it myself.
You severely underestimate the power of network effects and capital.
I don't have much capital so even the best ideas in my own hands are essentially worthless. If I implement it, even if it's very good and the best of its kind, I guarantee almost 100% that nobody will be interested in it. Nobody will accept that it's the best of its kind. The media ignore it, companies will not encourage their employees to discus it with each other, etc...