kevacoin-project / kevacoin

Kevacoin source tree
https://www.kevacoin.org
MIT License
32 stars 16 forks source link

Hard fork to prevent Nicehash disruption #10

Closed kevacoin-project closed 4 years ago

kevacoin-project commented 4 years ago

Since Jan. 25, 2020, Kevacoin has been experiencing a sudden increase of hash rate. In many cases, the increase of hash rate is a good thing because it increases the security of the previously generated blocks. However, what is concerning about the increase is that:

  1. The hash rate comes from one or two addresses and is about five times greater than the rest. This inevitably creates a concentration of mining power and is not great for the decentralization of the Keva blockchain. It poses a threat of potential 51% attack, even though at this early stage it is unlikely to cause actual loss because the coin has not been listed in any exchanges and we have not heard that it has been used for purchase.

  2. Because of the concentration of mining power, most of the block rewards go to one or two addresses. This greatly discourages the other early participants and it is unfair to the dedicated miners due to the fluctuation of the network difficulty. The community wants to see a healthy and organic growth of the project.

We have two options to address this concern:

  1. Appeal to the Nicehasher to be nice and play fair. This may work temporarily but other not-so-nice Nicehasher can still come at any time.

  2. Create a hard-fork such that the new hash algorithm is not available in Nicehash.

It seems that option 2 is the more effective one for the short and long term. If so, the next question is what algorithm to use. We have some constraints on the algorithms. It has to be one of Cryptonight hash algorithms as we have to support the current mining pools and miners. The hash rate must not be significantly different from the existing Cryptonight R, because that may cause problem for the difficulty adjustment algorithm.

I can think of three options:

  1. Use an existing Cryptonight variant. E.g @kev mentioned Cryptonight Fast (i.e. Cryptonight V2 at half the iteration).

    The problem with this option is that Cryptonight R (CN/R) has no existing variants we can use. I have a strong preference for CN/R as I feel it is a good ASIC-resistant algorithm. Moving to variants of earlier Cryptonight algorithms (CN Fast) makes me feel like a downgrade.

    The advantage of this option is that we can quickly create a hard-fork once we gain the support of the mining pools.

  2. Upgrade to RandomX.

    RandomX is available on Nicehash, so we have the same issue as CN/R. I also feel that a large percentage of our early miners are using GPUs and I do not want to abandon these early supporters.

  3. Use our own variant. I propose a variant call Cryptonight R2, which simply increases the value ITER from 1048576 to (1048576 + 2).

    For this option to work, in addition to mining pool support, we also need the support of major miners (XMRig, XMR Stak etc.). We will provide patches, but it is up to them to decide to accept the patch or not. We may need to create our own forks of the miners if they decide against our patches, which is not ideal.

Please consider these options and provide feedback. Thanks.

kevacoin-project commented 4 years ago

It seems that it is no longer easy to add Cryptonight variant to XMRig, as they are focusing on RandomX. Cryptonight Conceal (CCX) is still not in XMRig after almost one year with strong demand from the community:

https://github.com/xmrig/xmrig/issues/998

So CN/R2 is likely out of question.

kawww commented 4 years ago

There are 3500+ cnr miners on nicehash now. Someone paid to 2000+ miners for mining Keva.

This is a good thing because someone like to get more keva even not on exchange.

There is also a problem : they got too much.

Now is 2020, not 2008. We can't stop asic, stop fpga. We use cpu/gpu only for using the blockchain without exchanges or other intermediaries.

Mining for using, forget price, forget who have more or less, this is no matter of others except we can't mining any more.

If someone want more, we should not stop them because they can only use keva on the keva chain. They can sell or use keva by themself whatever they like to do.

Nicehashers could mining keva 10 days, 100 days, 1000 days. If only nicehashers mining keva, this is meaning of that keva is useless for everyone. This is not nicehashers' problem. We should think about why no more people use cpu/gpu to mining keva for using blockchain?

We could have a dream to see a healthy and organic growth of the project. But this is not the truth of the world.

We don't like nicehasher because they got too much.

Because they have too much keva to write blockchain?

Because we can't let more miners or nicehashers to mining keva?

If we want everyone to use keva, we will see all kinds of users in the future. Everyone have rights to get/buy/sell/attack/protect keva. But keva should be useful at first.

Keva should not be only for sell.

By the way. Is there possiable for keva to use 2 algo like grin, 1 is for nicehash (for big users like enterprise), 1 is not for nicehash (for common miners)?

Nicehasher is also a kind of big miner, no one can stop big miner.

caokun320 commented 4 years ago

i chose 3, xmrig is not must,we can use teamred and xmrstak and sbr,most of the block rewards go to one or two addresses will kill this coin,

HashVault commented 4 years ago

The initial reason for this fork proposal is generally wrong.

Whatever algo is or will be chosen as soon as someone would like to invest (with nicehash order or with actual hardware time) the "average" miner won't be happy again. Would it be some sort of cn/heavy (https://prnt.sc/qycfyt, https://prnt.sc/qycggh, https://prnt.sc/qycggh), argon (https://prnt.sc/qychp0, https://prnt.sc/qyci5f), cn/conceal (https://prnt.sc/qycix4), k12 (https://prnt.sc/qyckjs), cuckaroo (https://prnt.sc/qycjmp) or whatever else - doesn't matter. Keva can't fix decentralized and financially not equal mining industry. And Keva actually should not. Since it's already an industry with it's whales and kings.

The debatable question is about ASIC resistance. Obviously no manufacturer will invest in the cn/r development, and no one has ever seen such device or publicly acknowledged it exists, but some non gpu (well, actually non known-mining-software) specific patterns are presented in cn/r nonce distribution. So it could be some kind of ASIC, some kind of private stratum proxy, some kind of private miner or some kind of fpga.

And only your vision of coin path should influence algo choice here.

kevacoin-project commented 4 years ago

I feel that people are particularly against Nicehash. We were warned in Bitcointalk forum about Nicehash before the main net was launched. People seem to be OK with MRR, large GPU farms etc., and even to some extent ASIC. Maybe because in these cases, people feel that there is some kind of concrete investment, while for Nicehash, it is regarded as some kind of "cheating"/shortcut, which I can more or less empathize with.

For all these coins with algorithm tweaks, yes, I can see some forms of mining power concentration, but at least they don't have the Nicehash issue.

Dual algorithms (similar to Grin) for Nicehash and non-Nichhash will take too much time to implement.

kawww commented 4 years ago

Hotel always allow someone to reserve all rooms. Shop never not allow someone to buy all.

Sam and Metro's open time is at 6:00 for business clients.

Hotel, shop, Sam and Metro always welcome one buy all and always try to do more to meet demand. People like them because someone big make hotel big, make shop big, make Sam and Metro worldwide, because then everyone could buy goods they like. People can't feel someone taking all because they don't know who they are. If they know someone called nicebuy, maybe they think nicebuy is cheating too...just because only nicebuy could enter Sam at 6:00, only niceboy don't need to work to buy all, only niceboy could have all the things. People can't see that if all the things sold out, Sam will give money to factory to make more, then more people will get these things...just because many niceboy buy all.

Keva is a data chain like a shop sell coin to write data. Now someone big come to buy all coins at 6:00, others less coins to buy. This issue not allow nichhash to mine, next time maybe tomorrow or next week after fork when some other big come and people have less coins to buy, people will still against them. We always against fpga(rvn,eth,etc,zec), we against pool and farm (more rigs less coins), only because we want more coin, never be satisfied.

Nicehash is open to everyone. If someone against nicehasher, he can buy more hash to stop them. If someone want more keva, he can buy more hash too. Ask develop to change algo because it is free, free is always best choice. So pay less for keva is right, pay more for keva is wrong. Change algo to punish who get more keva.

80usd 1day. 10 miners pay 9usd to share the coin and against nicehasher. I thinks this is a way. Mining other coin to nicehash and use nicehash to mining keva is another way too.

No one will stay if they think they have nothing to earn. Only moblie users will pay for datas, keva is the same. This issue maybe good for a while, but when more people come to mine and nothing to earn, most people will gone (sin,suqa 5000+ ->90) and find next begining, just like keva begining.

Only users will wait to see if nicehasher gone everyday, only users will mine a little enough to use keva chain everyday. Only sellers against others to get more. Sellers will gone, users not.

Users will always run a node, sellers not.

We need users to use, we need sellers to sell, we also need big like Google and Amazon. If nicehasher is a company, why stop them? If nicehasher is google, keva will be top 1 immediately, no one will say google cheat, everyone will come to mine and welcome google. We don't know nicehasher who they are, but we know who will always care about keva. More keva, more care. They think they got keva, keva also got them. We know if any company want use keva, they must mining or buy or use nicehash first.

If keva is in top 100, this issue is not a problem at all. Keva is not in top 100, this issue can't make keva to top 100.

I don't care about changing algo. I don't care about who have more or less keva.

I like cn/r because it is fair to cpu, amd and nvidia.

I like to use keva to record sth and when I need to use keva, I can mine enough coins in minutes with gpu. I think everyone can do this too. How many keva does everyone really need in one day?

1 keva write 20 times.

10 keva is enough for everyone to send 200 times data in one day. This issue is not a problem for everyone too.

Dual algorithms, one for big and one for non-Nichhash and non-fpga/asic maybe worth to try to protect everyone to get enough coin in the future. Change algo is easy but there will be more and more nicehash-like services, never end.

kevacoin-project commented 4 years ago

RandomX variant of Keva implemented and activated on block 46130.