Bitmark mPoW: Is It Time for a Clean-Sweep Review?I've been involved in a discussion over on the Argentum forum about modernizing Argentum's multi-Proof-of-Work (mPoW) algorithm lineup.
That discussion has made me start looking at
Bitmark's own eight algorithms with fresh eyes.
Bitmark currently uses:
SHA256d
Scrypt
Yescrypt
Argon2d
X17
Lyra2REv2
Equihash
CryptoNight
This was an ambitious and sensible mPoW lineup when we adopted it. But mining technology has changed considerably since then.
Some algorithms have developed enormous specialized mining ecosystems. Some algorithms originally intended to resist specialized hardware have lost that battle. Some once-important parent-chain communities have changed algorithms entirely.
So perhaps it's time to ask a question:
If we were designing Bitmark's mPoW system from scratch today, would we choose these same eight algorithms?I suspect the answer is no.
Why is this coming up now?Argentum is considering a substantial upgrade which includes changing its own PoW lineup. Plutus has proposed consolidating Argentum around:
SHA256d
Scrypt
VerusHash
Equihash 144,5
His argument is that four algorithms with strong mining constituencies are preferable to six when some of those six are barely being mined.
I initially pushed back on reducing algorithm diversity. I still believe diversity is one of the fundamental strengths of mPoW --
provided the algorithms actually bring healthy and substantially independent mining constituencies.But I think he has a good point about carrying obsolete or poorly supported algorithms indefinitely.
That made me look at Bitmark's eight.
SHA256dEasy decision. Keep it.
It represents a huge, mature ASIC mining ecosystem and is ideally suited to AuxPoW/merge mining.
ScryptLikewise, keep it.
Litecoin/Dogecoin demonstrate just how successful a mature Scrypt merge-mining ecosystem can become. It also gives Bitmark a completely different specialized hardware constituency from SHA256d.
YescryptThis one surprised me.
Solar Designer, the creator of Yescrypt, no longer recommends modern Yescrypt itself for cryptocurrency PoW. He created
yespower specifically for that purpose and explicitly recommends yespower 1.0+ rather than using current Yescrypt as PoW.
So if we want to preserve this design lineage, the relevant question isn't really whether to keep our old Yescrypt.
It is whether
yespower deserves consideration as a modern replacement.
Argon2dI've been defending this one in the Argentum discussion, partly because Bitmark has an existing Argon2d mining constituency and because Bitmark can already be merge-mined on Argon2d.
But Plutus has made some persuasive technical arguments about the future of Argentum's present Argon2d implementation.
If Argon2d itself isn't a particularly good long-term cryptocurrency PoW, perhaps preserving it merely because Bitmark and Argentum both already use it isn't sufficient justification.
I'm increasingly inclined to say:
don't preserve Argon2d for historical reasons. Make it compete against the best CPU PoW alternatives available today.X17This appears increasingly legacy.
The external mining constituency is small and the historical ecosystem connections don't appear compelling enough to justify automatically carrying X17 into another generation of Bitmark.
Lyra2REv2This is an especially interesting historical case.
Vertcoin once used Lyra2REv2, but specialized hardware eventually appeared and Vertcoin moved on to
Verthash.
If what interested us about Lyra2REv2 was accessible GPU mining, perhaps we should be looking at where that philosophy went rather than preserving the old algorithm.
EquihashThis one looks worth retaining, although the parameterization matters enormously.
Argentum is considering
Equihash 144,5. If Bitmark and Argentum are both modernizing, there may be a good argument for deliberately choosing compatible parameters rather than each project making the decision independently.
CryptoNightCryptoNight's history also deserves consideration.
Monero spent years modifying CryptoNight in an effort to resist specialized hardware and ultimately abandoned it for RandomX.
That doesn't necessarily make every CryptoNight implementation useless, but the original external ecosystem which made CryptoNight particularly interesting to Bitmark has changed substantially.
So my first-pass assessment looks something like this:
BITMARK TODAY POSSIBLE DIRECTION
SHA256d ---------> KEEP
Scrypt ---------> KEEP
Yescrypt ---------> REPLACE / study yespower
Argon2d ---------> REASSESS / likely replace
X17 ---------> REPLACE
Lyra2REv2 ---------> REPLACE
Equihash ---------> KEEP / modernize
CryptoNight ---------> REPLACE
That sounds drastic.
But if Bitmark is ever going to incur the disruption of a hard fork to change its PoW algorithms, I think we should seriously consider doing a
clean sweep rather than replacing obsolete algorithms one at a time over the next several years.
And that presents another opportunity.
Bitmark and Argentum could deliberately become mining partners.Rather than two small mPoW networks independently trying to maintain numerous mining constituencies, we could investigate adopting a common core of strong algorithms and deliberately designing around merge-mining compatibility where it makes sense.
A candidate lineup worth investigating might therefore be:
SHA256d
Scrypt
VerusHash
Equihash 144,5
Verthash
I'm
not proposing that as the final answer.
In fact, I have to confess that I had never heard of VerusHash until Plutus proposed it for Argentum. I'm currently learning about it.
But VerusHash appears interesting as a modern CPU-oriented PoW and already exists within an ecosystem that makes extensive use of merge mining.
yespower should probably be compared against it as well, especially because Solar Designer specifically designed yespower as the PoW successor to Yescrypt.
And then there is
Verthash.
This one particularly interests me because I'm familiar with Vertcoin and its long-standing commitment to keeping mining accessible to ordinary people