Hot answers tagged

45

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


43

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. http://en.bitcoin.it/wiki/Scalability#Simplified_payment_verification Also read: ...


27

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" ...


27

The Bitcoin Improvement Proposal that defines the Bitcoin URI scheme is BIP21. The simple syntax is: bitcoin:<address>[?amount=<amount>][?label=<label>][?message=<message>] 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 ...


24

By default, what is maintained by the 0.8 blockchain engine is: All blocks 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. Nothing ...


23

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


19

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


17

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


16

You can create a directory junction (as i did to move the BitCoin data folder), or you can specify a different data folder location: BitCoin-qt.exe -datadir=d:\BitCoinData Which will be the long-term solution.


16

Here: https://en.bitcoin.it/wiki/Bitcoin-Qt https://www.google.com/search?q=bitcoin-qt+documentation 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. Yep. -datadir File > Backup Wallet ...


15

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.


14

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


13

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


13

(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 ...


12

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


12

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


12

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


11

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


10

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


10

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: Total ...


9

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


9

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


9

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


9

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


9

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.


9

Mining in a pool setting actually doesn't require all that much bandwidth. This is because you get block templates sent to you and that single template can be used by all 100 miners. A block template isn't very big, it's less than 1k and looks something like this: { "error": null, "result": { "coinbasetxn": { "data": "...


9

This is not currently possible, as Bitcoin Core uses hardened BIP32 derivation to compute keys and addresses. This derivation scheme does not have a usable xpub that lets you derive the same keys publicly. For more background, an xpub (or extended public key) is a string defined by BIP32. Every xpub has a corresponding xprv (extended private key). From the ...


8

Creating a SatoshiDice-like game is rather easy. Below are the high level steps involved in making such a game. For each incoming transaction... Get the customer amount and payment address Call bitcoind getrawtransaction [The incoming transaction ID] 1. The 1 at the end will return the data in "verbose mode", which essentially the raw data in JSON ...


8

Bitcoin has only 8 active connections Correction: it has 8 outbound connections. By default, it can also accept up to 117 inbound connections which port Port 8333, TCP how should I tell Bitcoin-qt to use the forwarded port? Don't need to.


Only top voted, non community-wiki answers of a minimum length are eligible