Primecoin Mining Research

Primecoin (XPM) mining is a very deep field. Primecoin is designed to incentivize the advances of prime searching techniques and algorithms. So I would like to see more discussion and cooperation to help the community gain better knowledge in this area.

First I would like to see some discussion about the latest technique called ‘sieve extension’ introduced by yh and incorporated into mikael’s hp11.

Some mathematician mentioned to me that something called ‘wheel sieve’ is a modern sieve used to speed up the search of primes and prime formations. So I would love to see some research into this area also.

I am very happy to see strong interests in developing better xpm miners. This is intended as a community and market based development. Feel free to discuss and share your knowledge in this thread, as our ongoing irregular seminar :smiley:

I don’t know about sieve extension but there is some discussions going on at https://bitcointalk.org/index.php?topic=255782.msg3487226#msg3487226 . Should we move it here or do you like it to free-wheel there and leave this thread for sieve extension for the moment?

At the difficulty step-up/step-down it should still be able to maintain block spacing target. See my reply there:
https://bitcointalk.org/index.php?topic=255782.msg3496244#msg3496244

@Sunny
I am new to Primecoin but by no means new to Number Theory. I briefly looked at the source code of the latest version of mikaelh2’s enhancements and I did not see much room for improvement. Using GMP for the modular exponentiation seems to be the biggest improvement. You can use the mod 60 wheel (sieve of Atkin) for the sieving step but I do not see that improving the overall run-time by any significant amount. The bottle neck is with the modular exponentiation of large numbers and Montgomery multiplication can be used to reduce multiplication time. But off course, Montgomery multiplication has its drawbacks, you are working with many different residue classes.

So now, there are two possible directions for the research of finding longer chains faster. The first direction is to continue making incremental improvements to the sieving and modular exponentiation arithmetic (brute force). And the second direction (which I prefer) is to analyze all of the data collected so far and come up with better arithmetic for finding longer chains. I assume that this was the reason that made Primecoin unique, otherwise it is no different from Bitcoin mining.

Unfortunately, carrying out the research to analyze collected data will require funding. I have been running “Primecoin version v0.1.2.0xpm-hp11-unk-beta” for 4 days now on a 32/64 core/thread server and I have only mined a block (primemeter 43807850 prime/h 663367364 test/h 180 7-chains/h 8.075400 chain/d). I just cannot see how anyone, other that people who have access to botnets, can be profitable at mining Primecoin.

Also, I am currently working on a GPU (Nvidia CUDA/PTX) off-load engine for the modular exponentiation (Montgomery) for the Primecoin miner. A GTX 580 should have the same throughput as all 32 cores/64 threads combined when performing Montgomery modular exponentiation. The sieve (of Atkin) will remain on the CPU to maximize performance.

@All
You can donate to the address below if you will like to see this research progress.
ALAxNNtF2hBPUpXFdN8Xexp1HbKwh4JeEK (Primecoin)
1MCqoWLA3eyqovRXKCydoDSfNN8C28y3k2 (Bitcoin)

Sorry this is a tangent. just thought I’ write my thoughts on the botnet / price issue.

I don’t think we have botnets yet. At least to any major extent. ypool.net is minting more than 50% of the blocks. I don’t think a large botnet operator would chose to mine on a pool.

I’m worried if a botnet targeted xpm. it does depend what is the cost of the botnet - but I think xpm returns a big profit margin based on activities botnets currently partake. if botnet of 10,000 or 100,000 turn to xpm it may suppress the price further below actual costs, and turn more legitimate miners away. that could be a death spiral because botnet will trash the market, takes its profits and abandon xpm. I don’t have a good estimate of the size of the xpm network. it is growing though, and the larger it gets, the less damage a botnet could do to the price. as there is many times more honest computing power (even in cpus) than compromised.

people have been able to mine xpm at a profit because they are not paying for the hardware or energy costs. System administrators for 1 - although they must be few, they have the potential to access many resources mine for zero cost. and 2 - individuals subscribed to free trial cloud computing services ( or such plans in which they are not paying the true cost of the resource - which may exist).

@supercomputer very interesting to read your comments, mining is not designed to be massively profitable just to bring coins into existence, it is closely tied to electricity costs and hardware and difficulty of the network.
That said, ur ideas sound interesting and if u can find a way to increase the rate at which u can mine blocks then that is beneficial to the coin as a whole and will enable u to mine more blocks before everyone is using ur mining method or software.
People will be interested in your ideas and if u can prove to them u are capable of making a breakthrough in the work u are outlining and how long and what realistic cost this might be to a company if was contracted out then I think you will be impressed at the donations u receive.
I would suggest u start ur own thread in this forum and link to it from bitcointalk thread outlining your proposal etc. Feel free to post here and edit and ask for feedback, you’ll find us wanting to help where ever we can
Fuzzybear

Sent from my HTC Desire using Tapatalk 2

@Supercomputer: I have mentioned your work in my latest weekly update. hopefully you could release a version of your cuda miner at some point to the public. Yeah it would be nice to have even better algorithms, one of the nice things about xpm is that it rewards theory/algorithm research in addition to miner optimization and hardware acceleration.

@bluelamp: botnet is not a big concern, it’s part of the evolution process of a cryptocurrency’s life. This is a ‘necessary evil’ of cryptocurrency technology due to its philosophy of strong privacy, now exaggerated by some people prejudiced against xpm. btc was a ‘botnet coin’ for a while as well and ltc was even designed to be a ‘botnet coin’ (touted to be gpu/fpga/asic resistant at its release). Unlike ltc and several other altcoin designs, xpm design is not hostile toward gpu/asic acceleration, so I think these types of miners would be developed by market given enough time. However if you just cannot tolerate any botnet benefiting from mining activity then you may consider our other cryptocurrency ppc, which has already evolved beyond gpu mining and is now mined predominantly by asic, same as btc.

[quote=“Sunny King, post:1, topic:652”]Primecoin (XPM) mining is a very deep field. Primecoin is designed to incentivize the advances of prime searching techniques and algorithms. So I would like to see more discussion and cooperation to help the community gain better knowledge in this area.

First I would like to see some discussion about the latest technique called ‘sieve extension’ introduced by yh and incorporated into mikael’s hp11.

Some mathematician mentioned to me that something called ‘wheel sieve’ is a modern sieve used to speed up the search of primes and prime formations. So I would love to see some research into this area also.

I am very happy to see strong interests in developing better xpm miners. This is intended as a community and market based development. Feel free to discuss and share your knowledge in this thread, as our ongoing irregular seminar :D[/quote]
wheel sieve or sieve of Atkin is used to find primes using some modulo residue classes to remove numbers divisible by small primes (2,3,5,7) …
You know or not but you did it allready in code, cause hash you are searching for should be divisible by 7# this means there is no numbers divisible by 2,3,5,7 in our sieve. The primorial gives us sieve where n
result numbers are not divisible up to primorial#. We can’t improve algo using other ways of residual classes cause it’s already done.

Sieve extensions are very nice technique in particular with some of my code-improvements, the only problem that higher sieveextension doesn’t give same chain rate (not even for 5chains) but they can be calculated very fast :slight_smile:

@Sunny,

I plan on releasing the run-time versions for Windows and Linux during the first half of next year. I will probably release most of the source code also, assuming people are still having difficulties implementing an Nvidia GPU Primecoin miner.