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 - bytemaster

Pages: 1 ... 641 642 643 644 645 646 647 [648] 649 650 651 652 653 654 655 656
9706
Marketplace / [SOLD] 2000 PTS at .0026 BTC [COMPLETED]
« on: November 06, 2013, 06:39:35 pm »
Post in this thread if you are interested.

9707
BitShares PTS / Re: Mining Begins November 5, 08:08:08 UTC
« on: November 06, 2013, 06:21:10 pm »
Just send 140 protoshares over to my main wallet fee 0.01 - is that enough? do you even need a fee at this state? or did I mess up and have to wait days for tx? :S

The block rate is very quick for couple more hours so there are orphans that cause delays.    It should clear up.

9708
BitShares PTS / Re: BUG reporting thread
« on: November 06, 2013, 06:15:42 pm »
Sent 140 Shares with a 0.01 Fee - took around 30mins
Send 49 Shares with 0 Fee - instant

is that right?

With the number of orphans out there the network is wonky right now.  SHould clear up once difficulty adjusts.

Note: the only things we changed from Bitcoin 0.8.5 is the proof of work, the reward schedule, and the block rate, the address leading letter, the ports, and the genesis block.

9709
General Discussion / Re: $5000 Bounty - Momentum Proof-of-Work Hacking
« on: November 06, 2013, 06:13:51 pm »
Here is how I would implement this on a GPU:

Generate 2^26 BIRTHDAYS
GPU SORT
Perform 2^25 checks against neighbors for collisions in parallel.

This would probably be the FASTEST way to implement this proof of work on a GPU but still requires TARGET_MEMORY and thus does not qualify for the bounty.

9710
General Discussion / Re: $5000 Bounty - Momentum Proof-of-Work Hacking
« on: November 06, 2013, 06:08:47 pm »
Okay if I understand correctly your proposed PoW algorithm, we are generating pseudo-random values that can range over the address space of the memory size we target until we generate a duplicate (or triplicate). The Birthday math tells us that we will find a solution with 50% probability before visiting less than roughly 10% of the addresses, or 99% before visiting less than roughly 20% of the addresses. Thus this is a way to require large memory without actually writing to every memory address, i.e. a sparse memory access algorithm. Btw, I also considered this sort of algorithm before and dumped it.

Assuming the generation of the pseudo-random values can be accelerated by parallelism, i.e. that the algorithm is main memory latency bound, then the GPU is going to be much faster, because the GPU masks memory latency by employing 1000s of threads, i.e. we can test 1000s of pseudo-random values in parallel. This was the key myopia that caused Litecoin to fail at stopping GPUs from outperforming CPUs, although it did improve the difference relative to Bitcoin's PoW.

I don't see how the use of a hash table really changes the outcome significantly, as it will only serialize perhaps every 10 buckets and we assume the pseudo-random values are uniformly distributed over the entire address space. Collisions with a 1000 threads are going to be rare.

I have revealed my key insight into PoW. If you weren't aware of this and I am correct, I hope you tip me consumerately.

Ok... a few corrections for you to consider.   The address space of the birthdays is 50 bits.   The TARGET_MEMORY is the number of birthdays that must be stored to have a 90+% probability of finding 1 collision once you have filled TARGET_MEMORY.    As a result, this isn't sparse memory access unless you are operating on some MULTIPLE of the TARGET_MEMORY and that multiple would have to be very high (scaling with the number of GPU threads) if you want to avoid threads stomping on each other with high probability. 

Your GPU algorithm is still O(C * N^2) where C is some constant factor improvement.
CPU algorithm is O( C * N )

While the GPU can hide latency it cannot change bandwidth and your bandwidth usage is still N^2.

9711
General Discussion / Re: $5000 Bounty - Momentum Proof-of-Work Hacking
« on: November 06, 2013, 06:05:10 pm »
Okay if I understand correctly your proposed PoW algorithm, we are generating pseudo-random values that can range over the address space of the memory size we target until we generate a duplicate (or triplicate). The Birthday math tells us that we will find a solution with 50% probability before visiting less than roughly 10% of the addresses, or 99% before visiting less than roughly 20% of the addresses. Thus this is a way to require large memory without actually writing to every memory address, i.e. a sparse memory access algorithm. Btw, I also considered this sort of algorithm before and dumped it.

Assuming the generation of the pseudo-random values can be accelerated by parallelism, i.e. that the algorithm is main memory latency bound, then the GPU is going to be much faster, because the GPU masks memory latency by employing 1000s of threads, i.e. we can test 1000s of pseudo-random values in parallel. This was the key myopia that caused Litecoin to fail at stopping GPUs from outperforming CPUs, although it did improve the difference relative to Bitcoin's PoW.

I don't see how the use of a hash table really changes the outcome significantly, as it will only serialize perhaps every 10 buckets and we assume the pseudo-random values are uniformly distributed over the entire address space. Collisions with a 1000 threads are going to be rare.

I have revealed my key insight into PoW. If you weren't aware of this and I am correct, I hope you tip me consumerately.

Ok... a few corrections for you to consider.   The address space of the birthdays is 50 bits.   The TARGET_MEMORY is the number of birthdays that must be stored to have a 90+% probability of finding 1 collision once you have filled TARGET_MEMORY.    As a result, this isn't sparse memory access unless you are operating on some MULTIPLE of the TARGET_MEMORY. 

Your GPU algorithm is still O(C * N^2) where C is some constant factor improvement.
CPU algorithm is O( C * N )

While the GPU can hide latency it cannot change bandwidth and your bandwidth usage is still N^2.


9712
BitShares PTS / Re: Is there any exchange taking PTS ?
« on: November 29, 2016, 11:09:10 am »
There will be an official exchange within the month, or so we have been promised.

9713
Can you provide a script to check the mature balance and send them automatically? I don't have time to check and send them manually.

If I have a script, I will rent a few. Or an alternative way is to store the private key out somewhere after each block mined.

I am also interested in such a script... I have reasonable number of PTS sitting around on DO that I would like to collect.

9714
BitShares PTS / Re: BUG reporting thread
« on: November 06, 2013, 05:53:29 pm »
I had been mining on my macbook air for a while before this issue happened. Now the client tells that:
Error loading block database. Do you want to rebuild the block database now?

I click OK. It gives me:

ProtoShares-Qt quit unexpectedly. Click Reopen to open the application again. Click Report to see more detailed information and send a report to Apple.

I am trying to locate the blockchain directory on OSX, but it's not there where the bitcoin blockchain would be. I am thinking just delete the blockchain, if I can find it.

Thanks.

everything ends up in ~/.protoshares


9715
General Discussion / Re: $5000 Bounty - Momentum Proof-of-Work Hacking
« on: November 06, 2013, 05:35:07 pm »
I will consider a tip if it leads me to make improvements.

9716
General Discussion / Re: $5000 Bounty - Momentum Proof-of-Work Hacking
« on: November 06, 2013, 05:25:52 pm »
For example:  Suppose momentum as specked requires about 1 GB of RAM for maximum performance and produces hashes at 1hz.   If you design an algorithm that only requires 1 MB of RAM and can find hashes at .001 hz then you win because you will have proven that computational complexity is linear with RAM use rather than non-linear like I believe the problem calls for.   

Best of luck to you all!

I believe there is a weakness where GPUs can run much faster, but it doesn't requiring lowering the memory. If I explain it to you and am correct, do I qualify for at least part of the bounty?

It is possible I am incorrect or have misunderstood some aspect of the algorithm, so let's not jump to conclusions yet.

There is a big difference between theory and practice when it comes to GPUs and considering the price on the bounty you can afford to provide an implementation.  Your implementation can use a simpler hash function than SHA512 because we are testing the algorithmic complexity not the cryptographic security.

Here are my thoughts on why the GPU cannot do it faster, test them against your theory:
1) I am sure a GPU can calculate the SHA512 birthdays faster.... but it will do no good because the process of comparing every birthday to every other birthday is either:

      a) brute force linear search which could be done in parallel.  The challenge is that such a linear search would be very taxing on the GPU's memory bus to have every thread read every value.

      b) slightly better... use the GPU to sort the data after generating it... such sorting also requires heavy memory bandwidth use and then ultimately ends up with a linear scan of the memory looking for matching neighbors

      d) implement a hash table to some kind on the GPU.  Unfortunately, for the hash table to be effective at finding duplicates items have to be inserted sequentially.

2) Assume we divide and conquer this work between the GPU and CPU... in this case you generate the birthday's in parallel on the GPU then search for collisions on the CPU.  In the middle you have to transfer all of the data across the PCI-E bus which is slower than your memory bus which is already close to the bottleneck. 

3) I count integrated graphics as the CPU



9717
General Discussion / Re: $5000 Bounty - Momentum Proof-of-Work Hacking
« on: November 06, 2013, 05:13:53 pm »
Would you please clarify exactly what TARGET_RAM_USE is? Is it the total memory required to store the hashtable of all nonce results or some smaller value?

Should we use your example from http://bitsharestalk.org/index.php?topic=21.msg26#msg26 to empirically confirm? Also could you release FreeTrade's current implementation or standalone subset you mentioned there for testing?

Thanks,

Nathaniel

The algorithm should work at any scale, but for the sake of this bounty lets set TARGET_RAM_USE at 768MB.

https://github.com/InvictusInnovations/ProtoShares/blob/psforkinit/src/momentum.cpp

9718
BitShares PTS / Re: Mining Pool?
« on: November 06, 2013, 12:56:46 pm »
We are working to put one together as quickly as possible.   It will clearly be necessary.

9719
BitShares PTS / Re: Wallet Balance 'Immature'?
« on: November 06, 2013, 12:55:40 pm »
It has been sooo long since Bitcoin users could CPU mine that you seem to have forgotten that it takes 120 blocks before a freshly mined coin can be spent.

9720
BitShares PTS / Re: Difficulty did not change after block 2016
« on: November 06, 2013, 07:46:11 am »
A new client with different difficulty target adjusting time may cause the blockchain diverged.


Sent from my iPhone using Tapatalk

This adjustment would be made with lots of time for people to update.  We are not going to make rash updates.   Right now the parameters are the same as bitcoin so it cannot be all that bad :)

Pages: 1 ... 641 642 643 644 645 646 647 [648] 649 650 651 652 653 654 655 656