Author

Topic: Is it possible: industry standard API for crypto algorithm to drive off asic (Read 239 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
While it's possible, there are few problem/consequence :
1. Requiring central server which could cause single point of failure or network split/hard-fork by send different PoW algorithm to different nodes
2. Just because you change to "ASIC-resistance" algorithm, this doesn't mean you solve mining-centralization problem. This already proved by 51% attack on Bitcoin Gold
3. There's no PoW algorithm which is truly ASIC-resistance. It's simply very difficult to make one, there's no profitable altcoin or not available yet.

You can't do that automatically without involving a centralized third party, that would have the authority to pronounce when it's known that the algorithm has been incorporated into ASICs, and then the power to make all nodes switch algos. You could use social consensus to convince people to fork, but what's the point? Somebody would produce an ASIC with the second algorithm, and the third, and the fourth. How many forks you and your community can tolerate?

It's more productive to concentrate research on how to design ASIC-resistant algorithms overall. Some solutions have been proposed, but it's an arms race, there's always room for improvement.

If you are saying to that extent, true absolute pure decentralization is not really possible. For bitcoin there is also centralized aspect of it. Mining is most common example. Also development of crypto coins are highly centralized, it is open source but still there are select few are qualified to contribute.

But IMO your idea is more centralized than existing system. Besides i disagree that cryptocurrency is highly centralized since anyone can develop/contribute and do hard-fork if they can't reach majority agreement.
full member
Activity: 394
Merit: 101
You can't do that automatically without involving a centralized third party, that would have the authority to pronounce when it's known that the algorithm has been incorporated into ASICs, and then the power to make all nodes switch algos. You could use social consensus to convince people to fork, but what's the point? Somebody would produce an ASIC with the second algorithm, and the third, and the fourth. How many forks you and your community can tolerate?

It's more productive to concentrate research on how to design ASIC-resistant algorithms overall. Some solutions have been proposed, but it's an arms race, there's always room for improvement.

If you are saying to that extent, true absolute pure decentralization is not really possible. For bitcoin there is also centralized aspect of it. Mining is most common example. Also development of crypto coins are highly centralized, it is open source but still there are select few are qualified to contribute.
copper member
Activity: 85
Merit: 122
You can't do that automatically without involving a centralized third party, that would have the authority to pronounce when it's known that the algorithm has been incorporated into ASICs, and then the power to make all nodes switch algos. You could use social consensus to convince people to fork, but what's the point? Somebody would produce an ASIC with the second algorithm, and the third, and the fourth. How many forks you and your community can tolerate?

It's more productive to concentrate research on how to design ASIC-resistant algorithms overall. Some solutions have been proposed, but it's an arms race, there's always room for improvement.
full member
Activity: 203
Merit: 168
You said: "the algorithm change will be instant or near-instant".  That's not really possible in a decentralized system where the code is deployed to many places already unless that code has a built-in mechanism to fetch updates and synchronize when they activate together.   But that mechanism itself becomes a point of centralization.  That's the problem you would need to solve, imho.
full member
Activity: 394
Merit: 101
Hmm.... well one could certainly write code that does something like:

Code:
    code = fetch_url('http://asicresistantpow.org/algo/lang/mylang')
    eval(code)

But this raises some issues:

  • What if the code can't be fetched?    mitigation: Presumably it would be cached and would not activate until X utc timestamp, specified by algo source
  • asicresistantpow.org is now a huge central point of control.  It can be compromised via coercion, extortion, bribery, insider greed, etc, etc.   mitigation: ??

One thought to avoid the centralization issue but still allow change is to use something like decred which has a built-in governance mechanism for change control.  So if the pow algo were itself hosted on some sort of decred-like decentralized blockchain, that might be a starting point, though what's to prevent gaming by large players...?

It's a hard problem.

Not sure if I understood correctly. Whatever body will not be concerned in developing the API only, instead of code library. Remember the word API is Applicatoin programming interface not a body of the code. Basically interface between coin X and algorithm that whoever developing coin X and/or algorithm will have to follow. I admit lot of people will confuse or simply use intercheangably the API and code library.
full member
Activity: 203
Merit: 168
Hmm.... well one could certainly write code that does something like:

Code:
    code = fetch_url('http://asicresistantpow.org/algo/lang/mylang')
    eval(code)

But this raises some issues:

  • What if the code can't be fetched?    mitigation: Presumably it would be cached and would not activate until X utc timestamp, specified by algo source
  • asicresistantpow.org is now a huge central point of control.  It can be compromised via coercion, extortion, bribery, insider greed, etc, etc.   mitigation: ??

One thought to avoid the centralization issue but still allow change is to use something like decred which has a built-in governance mechanism for change control.  So if the pow algo were itself hosted on some sort of decred-like decentralized blockchain, that might be a starting point, though what's to prevent gaming by large players...?

It's a hard problem.
full member
Activity: 394
Merit: 101
Coin X will use the industry standard API
Specific new algorithm suitable for verification will also use the industry standard API so that algorithm and coin will be a plug-n-play.
Once algorithm is owned by ASIC, the algorithm change will be instant or near-instant.
Jump to: