Bitcoin Forum
June 16, 2024, 08:21:00 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Economy / Economics / Re: Alternate use of your GPU's on: June 09, 2011, 07:49:40 PM
There's still the EFF prizes for prime number solutions, which in essence are limited to how fast you can perform the FFT/ inverse FFT (or NTT if you chose). Those start at $150,000 USD.
2  Economy / Economics / Re: BTC Approaching Current Price of Silver on: June 09, 2011, 07:47:54 PM
I'm calculating $76,210k USD / BTC to reach equivalent market cap (I'm assuming 21M BTC total volume, since that is a known quantity).

Also, it is measured as an ordinate number, similar to the USD or other currency. One dollar is one dollar whether it's in Cash, Cheque, or bits in a wire transfer, which are also massless.
3  Economy / Trading Discussion / Re: Trade Hill - > Get BTC to use my refferral code on: June 09, 2011, 06:10:15 PM
I added your referall code. I am now trying to get money into my account. I chose Liberty Reserve, which doesn't actually take money from an account! You have to use and exchange service, half of which are in NIGERIA. No thanks. I found one that uses PayPal, but that means

My bank account -> paypal -> exchanger -> Liberty Reserve -> Trade Hill

That's way too convoluted to use.

I'm signing up for Dwolla I guess.
4  Bitcoin / Development & Technical Discussion / Re: Do I understand header hashing? on: June 08, 2011, 07:17:52 PM
I would like to optimize the code, and if I have to poll system time to continue, it will make it slower. Does this "GetWork" API already have time included in its hash? Or can I use my system's current time once, and run a few thousand iterations without updating time?

Also, it appears that I need to check to see if the hash the thread is working on is still valid, I'm guessing the hash that needs to be worked on changes every 10 minutes approximately?

Thanks everyone for comments. I feel like I'm learning this pretty quickly, although it will be a while before I can get a working reference client going.

Thanks!
5  Bitcoin / Development & Technical Discussion / Re: Do I understand header hashing? on: June 07, 2011, 07:47:51 PM
Ok, thanks for that update. I haven't heard of the "extra-nonce" before, where could I research it? I guess this means the 32 bit nonce isn't the only thing iterating?

Also, I'm assuming that I can get the bitcoind API (currently researching "getwork") to notify me when a block is changed, and can reset the loop?

So my loop would look like:

Do some iterations, check to see if block has changed.

If it has changed, reset nonce, get new header info. If not, keep iterating nonce.

Thanks for your help.
6  Bitcoin / Development & Technical Discussion / Do I understand header hashing? on: June 07, 2011, 06:52:37 PM
I've read the wiki multiple times, and I'm still not perfectly clear on a couple of things. I was hoping someone might be able to enlighten me on a couple of things regarding the mechanics of hashing the header?


The hashes being generated are SHA(SHA(Header)), where SHA is the SHA2-256 algorithm.

The header is described in the wiki, so I don't have problems there.

The first hash, SHA(Header) is run as thus:

The first 64 bytes (512 bits, 1st chunk) are hashed, which include the header, the previous block hash, and 3/4 of the Merkel Root hash. 64 iterations of the algorithm.

This will output 8 32bit numbers. This is the first "chunk".

The final 20 bytes have 2^8*36 added as padding (binary "1" followed by zeros to add 36 bytes), and the length of the header in bits (640) added as a 64 bit Big-Endian number (final 8 bytes)

This will also  output 8 32bit numbers. Each number from the second "chunk" is added to the first, to its corresponding number from the first chunk. This addition is done over modulo 2^32 for each number, so there's no overflow or carry.

This is the first hash.

This number is hashed again, with 2^192 plus a 64-bit big-endian number equaling "256" is appended, so the hash is padded for one chunk.

My first couple of questions trying to understand this are:

Within the final 20 bytes is the "nonce", which is iterated to find a hash which is less than a given value (the "difficulty"). I'm guessing the timestamp is dictated somehow and I can't arbitrarily change it? Do I need to update the timestamp as I'm iterating?

Thanks for any help. I'm trying to write a "reference" python program to help myself understand the mining process. If I get it to work I'll open it up as a reference code for those trying to understand the process like myself. I will be writing it for readability and simplicity, rather than for something actually used to mine for bitcoins. Thanks in advance!
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!