Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - FreeTrade

Pages: 1 ... 40 41 42 43 44 45 46 [47]
691
General Discussion / Re: CHAIN FORK COMING....
« on: November 10, 2013, 03:10:10 pm »

The old miners will just make an 4x adjustment. They accept any blocks whether it be the ones generates with lower diff (4x increase) or higher diff (32x increase max).


No, I think we'll see a clean fork -

        // Check proof of work
        if (nBits != GetNextWorkRequired(pindexPrev, this))
            return state.DoS(100, error("AcceptBlock() : incorrect proof of work"));

If nBits doesn't match the expected value, the block be rejected outright.

692
BitShares PTS / Collisions Per Minute
« on: November 10, 2013, 10:19:39 am »
I've made some updates to code to count collisions per minute rather than hashes per minute.

Some hashes generate 0 collisions, I've seen others generate up to 8.

Hashes per minute is a good metric to use if you're tweaking the speed of an algorithm.

Collisions per minute is a much better metric to judge your chances of finding a block. It is also much better to use when comparing algorithms which is what most end users of solo and pool miners will want to do.

Here's the code - it's a small adjustment.

https://github.com/InvictusInnovations/ProtoShares/commit/776832f419649211cb7b173ffb437e7d2af68b8b

I've mixed it up with another commit unfortunately - here's the relevant parts

main.cpp

lines

1329
1337
4611 - 4619
4623

main.h
1323

693
BitShares PTS / Re: Difficulty did not change after block 2016
« on: November 07, 2013, 03:34:09 am »
I am seeing difficulty at:  0.00000382  is this the current and correct?  Thanks :)

Yes, that's correct - we got the maximum difficulty adjustment allowed in the code. However a lot of the computational power in the network was masked by orphan and stale block, so we've still got very fast block time of about 48 seconds.

694
BitShares PTS / Re: Momentum Proof-of-Work Information Thread
« on: November 06, 2013, 12:17:06 pm »
You need to store the birthday (50 bits, rounded up to 64 bits) and the nonce, 26 bits rounded up to 32 which is 12 bytes.

If you got fancy you could use 76 bits or 10 bytes rather than 12 and save 16% at the expense of some computation.

The current algorithm uses
64bits + 32bits -> 96 bits

Only 50 bits of the 64 bits are relevant, and only 26 bits of the 32 are relevant, so that's a total of 20 you can shave right away.

However, with current implementation 22 bits of the 50 can be immediately inferred from the location in the hash map, so there's another 22bits saving there too . . so a grand total of 28+26 is required - 54bits . . there'd be a little more calculation for all the bit-shifting, but not much. The algorithm could use as little as 432MB without much additional calculation and without loss of collisions.

695
BitShares PTS / Re: Mining on Linux instructions?
« on: November 06, 2013, 03:36:47 am »
Yes, there is much work to be done on the algorithm implementation.  It is clearly not thread safe (Crashing all of the time) and has no ability to cancel mid-hash.

The crashes I'm hearing of on Windows are all to do with memory allocation - either allocating too many threads (or switching causing too much allocation) - not seeing any thread safety issues. My i3770 has been mining full blast for 24hrs or so, supporting 500 connections, no issues yet.

696
BitShares PTS / Re: Mining on Linux instructions?
« on: November 06, 2013, 03:33:59 am »
So then does the current implementation have any implications for preferring less cores or anything like that?  Does mining with a higher # of cores result in more "stale blocks" for some reason?  Or would that not make a difference.

Yes, higher number of cores will mean more collisions, but longer hash time . . . longer hash time means blocks are more likely to be stale. It should be a fairly small effect after the first re-adjustment.

697
BitShares PTS / Re: Mining on Linux instructions?
« on: November 06, 2013, 03:31:19 am »
I just found lots of 'generated block is stale' in my debug logs.  Is this normal?  I'm assuming this means the miner found a block but right before it found it someone else found a block.  I wouldn't expect to see this very often unless blocks were comin g really fast?  But I found like 10 of these errors.

This is due to a combination of the long hash time and the fast block time currently being experienced. When the difficulty adjusts, and we're seeing 5 minute blocks, you'll see a lot fewer staler blocks.

Also I agree killing threads as soon as new blocks are found would be a good improvement and result in fewer stale blocks too.

698
BitShares PTS / Re: Mining on Linux instructions?
« on: November 05, 2013, 08:48:09 am »
all my cores are maxed out, but is there any way to verify it's mining correctly?

hashespermin in getmininginfo shows 0 and the hashespersec command also shows 0

And is there any way to find out how many blocks you've found other than checking your balance?

./protosharesd getmininginfo
{
    "blocks" : 38,
    "currentblocksize" : 1000,
    "currentblocktx" : 0,
    "difficulty" : 0.00000095,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "hashespermin" : 0,
    "pooledtx" : 0,
    "testnet" : false
}

./protosharesd gethashespersec
0

P.S. I love the idea of ProtoShares and BitShares

Yes, this should work, but takes 4 or 5 minutes before it reports figures.

699
BitShares PTS / Re: Mining Begins November 5, 08:08:08 UTC
« on: November 05, 2013, 08:35:44 am »
I've increased the number of connections on my node - so try

addnode 180.183.205.118 add

- should be some free slots on there.

At current difficulty, you should expect a block for every 4096 hashes . . . at 10/min, that's about 400 minutes or 7 hours.

If it's any consolation, I haven't found one yet!


700
BitShares PTS / Re: Best Mining Hardware
« on: November 05, 2013, 04:40:41 am »
Until someone contributes an enhanced mining algorithm to the ProtoShares client you will require about 12 GB of RAM

The memory requirement for mining ProtoShares is 12GB?  Is it lower if you only mine on two cores?

Approximately additional 768MB per core - the GUI has an option to mine up to 4 (3 on win32 because of memory limitations), you can set it to more in the debug console (setgenerate true 8), but don't expect linear performance gains per core.

You can check the performance using 'getmininginfo' - there is a 'hashespermin' reading, which will have useful data after about 4 minutes or so.

It's possible you'll get better performance by running multiple instances of the client, rather than multiple processes in the same client, but the real performance gains are to be made with code optimization. There's a reasonably good algorithm in there, but poor memory access/threading.

Pages: 1 ... 40 41 42 43 44 45 46 [47]