To export a private key from your Satoshi bitcoin-qt client:
launch your bitcoin client as usual and wait for it to load the blockchain and start up
click on 'help' in the menu bar (top right)
click on 'debug window'
select the 'console' tab
type: walletpassphrase "your walletpassphrase here" 600
type: dumpprivkey [your Bitcoin address here]
this will ...
Simplified Payment Verification:
A Bitcoin implementation that does not verify everything, but instead
relies on either connecting to a trusted node, or puts its faith in
high difficulty as a proxy for proof of validity. BitCoinJ is an
implementation of this mode.
I couldn't find the results of the Coin Selection written out anywhere, and just finished piecing it together from the code. It works as David mentioned, but here are more details.
The Coin Selection Algorithm logic to transfer Target amount
If any of your UTXO² matches the Target¹ it will be used.
If the "sum of all your UTXO smaller than the Target" ...
The Bitcoin Improvement Proposal that defines the Bitcoin URI scheme is BIP21.
The simple syntax is:
On the desktop all of Armory, Electrum and MultiBit respond to Bitcoin URI clicks in a browser and I believe Bitcoin-QT V0.7 does as well.
On mobiles Android ...
By default, what is maintained by the 0.8 blockchain engine is:
A database with all block headers, and the positions on disk for each block
A database that represents all unspent transaction outputs (UTXOs), indexed by txid, at the current tip of the block chain
Undo files that allow rewinding the effects of blocks on this set of UTXOs.
This is not a thorough schooling on Tor and only shows how to configure it to work together with Bitcoin Core.
Bitcoin Core includes Tor integration
When Tor is correctly setup on your system, Bitcoin Core automatically identifies Tor and creates an anonymous service. Little configuration is required to be 'off the grid' and, just a tiny bit more to be ...
Yes, you can have two keys generate the same address.
There are 2^160 possible addresses, and 2^256 possible private keys, so each address corresponds to roughly 2^(256-160)=2^96 private keys. Any of these will generate the same address and thus be able to spend the money owned by that address. Since 2^160 is so large, however, it would take a near-eternity ...
A wallet is the collection of data needed in order to receive and spend bitcoins. Usually this includes key-pairs (private key, public key and the address that may be inferred from the public key) and funds associated with each key-pair in the form of spendable outputs.
The client on the other hand is the interface to the network. It handles all the ...
You can create a directory junction (as i did to move the BitCoin data folder), or you can specify a different data folder location:
Which will be the long-term solution.
Use the -datadir option.
Right-click on your bitcoin-qt shortcut, press properties, and add -datadir=D:\Bitcoin
Go make that directory, then run bitcoin. If a bunch of files show up in there, you've done it correctly.
File > Backup Wallet
Note: Recent versions of the satoshi client offer a 'debug window' which can be used to export private keys. This is described in Miguel Moreno's answer to this question, and is easier than the steps I describe below.
To export a private key from your satoshi client:
run: bitcoin-qt -server and wait for it to load the blockchain and start up
if your ...
The payment protocol (see BIP 70-72) will support attaching messages to transactions.
Note that these messages do not end up in the blockchain, which is the right way to do it, as they are private information between sender and receiver - no need to make the entire world replicate it.
Security of Bitcoin as a whole depends on the Block Chain being held in full by many people. Currently, the Standard Client does exactly that. However, given enough copies of the Chain, one can assume the system is secure enough from the data being lost and rely on other nodes to provide the information we require when we need it.
This is where Thin Clients ...
Bitcoin Core will create a new wallet if it cannot find the wallet.dat in the Bitcoin Core folder.
Close Bitcoin Core.
If the wallet still has a balance, or addresses from the wallet were given out, back the old wallet.dat up: Move it to a different directory or rename it. If you are sure that it was never used, you may delete it instead.
Restart Bitcoin ...
(disclaimer: I work on Bitcoin Core)
As Luca already mentioned, you have to distinguish wallet implementations and the fully verifying nodes on the network.
Because of how Satoshi wrote his code (a node and a wallet in the same program), the two are often confused, but this is considered a bad idea now. They can perfectly function independently. The ...
Yes, but not efficiently. In fact, CPU's are so bad at mining bitcoin that the option was removed from the user interface. However, the code is still there (though mostly as a reference implementation), and you can go to Help > Debug Window > Console and type in "setgenerate true" to turn it on. Type "setgenerate false" to stop.
You can also give bitcoin ...
You've answered your own question - "all you would need to be able to do is prove that that address belonged to you." To prove the address belongs to you you need the associated private key, which is secret and typically kept on your computer. If you lose your key you are no different than any other pretender to the address.
This is why you must back up ...
Bitcoin is a so-called gossip network. They announce any new object to all of their peers (just the hash of the data). If the peer doesn't know the object yet, it asks for the full object. So it's certainly not a DHT or any smart organisation of data: every (full) node (eventually) learns about every block and transaction. They have to, there is no other way ...
Update: These instructions or similar are included in the bitcoin source as of 19 February 2013. See doc/build-osx.md for details. As such, the below instructions may fall out of date. Alternatively, make it easy on yourself an use WyseNynja's homebrew tap with brew tap wysenynja/bitcoin && brew install bitcoind.
Building bitcoind on OSX 10.8 with ...
I got it to work by simply copying the file over.
An important point to notice if you intend to follow this suggestion:
My mac wallet had 0 coins
If your mac wallet has coins, then don't follow this solution.
First I shut down the bitcoin-qt client. Not sure if this step is necessary but I think it's safer.
Then I copied the wallet.dat file over to
Essentially it boils down to the tradeoffs between security and convenience.
Instawallet is incredibly convenient, but not all that secure (as no password is required, and if you lose the URL, you lose the ability to spend the funds.)
Paytunia was a great shared (hosted) EWallet for a beginner, and there is a mobile app (for Android). A new version of ...
A bitcoin address is not like a credit card number. You can safely give your bitcoin address out publicly.
What the email is asking for is something you should never give out publicly: the mnemonic that you use (e.g. if you use Electrum, they have a 12-word mnemonic code), from which you can calculate your private keys. With this, they can easily steal all ...
A while ago I created an extension for BitcoinLib in order to put bitcoind to the test. The setup was trivial: call getnewaddress() in the main network for ever
My performance index was the number of addresses generated per second.
It took off on an average of 35 addresses/sec. I left it running on a VM for a whole month. The rounded results were:
Yes. Unlike other transactions you don't need to wait for the confirmations.
From the code which selects which coins to use to fund a transaction in src/wallet.cpp:
bool CWallet::SelectCoins(int64 nTargetValue, [...])
return (SelectCoinsMinConf(nTargetValue, 1, 6, vCoins, setCoinsRet, ...
There is a pure C99 bitcoin implementation called cbitcoin by MatthewLM, forum threads:
cbitcoin - Bitcoin implementation in C. Currently in development.
[ANN] cbitcoin 1.0 Alpha 3 Released.
but it is currently in alpha stage. One of its features is weak library dependency, e.g. it possible to implement cryptography using something other than OpenSSL. As ...
You probably don't want to download the blockchain
The blockchain currently weighs in at about 144 GB (check current size)
Assuming you have solid 2 megabytes per second download speed, it would take around 20 hours just to download them.
In practice, this takes much longer, as your computer will verify every block individually, which takes some time.
The bitcoin network does not know who owns which address. The concept of an address doesn't even exist at the protocol level - it's just an authentication layer on top of the scripting logic in transactions.
And of course your own client does - because it has the private key for change addresses it generated itself. That's all that matters. When spending a ...
I'll try to give a list of the cases I know of. Whether these are considered bugs or implementation oddnesses is debatable, I guess.
The genesis block's coinbase output cannot be spent.
The OP_CHECKMULTISIG and OP_CHECKMULTISIGVERIFY operations pop one element too much from the stack (requiring an extra dummy push in the redeem script).
The checksig ...
listunspent only displays information about addresses which are currently part of your wallet. Bitcoin Core does not maintain indexes of unspent outputs for addresses you do not own, and will simply return a blank set if you attempt to query for them.