text:
How can I use multisig / split keys using My Wallet?
I was sure that My Wallet supported multisig, but I can't seem to find it now.
How can three users of My Wallet create an address that is only spendable if at least two of them cooperate? Or is this not implemented yet? If so, when is it due?

http://bitcoin.stackexchange.com/questions/4745/what-gui-clients-support-multisig-transactions

FYI, I asked that this feature be returned - https://bitcointalk.org/index.php?topic=40264.msg1247889#msg1247889

This is the latest info I have seen from Ben who runs blockchain.info.

Question: The escrow function seems to be gone. Will it return?
  https://blockchain.info/wallet/escrow?
Ben: The escrow feature was removed because not enough people were using it. I think maybe it was just too confusing/not well documented enough.

I did not see any info on if/when it will return.

Thanks. I specifically wasn't referring to any escrow, just to multisig - but I may have imagined it. So the answer is - right now there's no real multisig support in blockchain.info.

Escrow is a great idea, and will probably encourage a new class of users to adopt Bitcoin

I think you will start to see more support for this as we attract a larger support base. The alternative is often trusting an anonymous escrow on a forum which isn't so appealing.
Given support for escrow is essentially built in to the blockchain protocol, it seems natural to integrate it with a wallet.


text:
Were all funds stolen from Mt. Gox finally returned to all users?
Mt. Gox was hacked in June 2011, and some funds were stolen. There was a long winded account reclaim process.
At the end of this process, were all funds really returned to the satisfaction of all (legitimate) users? Is there a public statement / forum post that testifies to this?

All the funds that were frozen have been returned. There are two types of funds that were not returned:

Some people claim funds of theirs were transferred out well before the freeze. They claim it must have been by the same person who got the account/password list, but before the big attack. They claim these funds have not been returned.
People who profited unfairly during the flash crash had their transactions undone. Some of them claim they are entitled to their profits. (Some people bought thousands of bitcoins at absurdly low rates.)

I think that people in the second category don't deserve to profit from the theft. As for the people in the first category, there are only two people that I know of who claim this and the amounts involved are quite small. So I think the true answer to your question is most probably "yes".

How were they able to undo the transactions for 2? I thought you couldn't undo bitcoin

@Casebash: These were not Bitcoin transaction, these were trades within Mtgox.

Exactly. These were either people who had Bitcoin balances in their Mt. Gox accounts, had currency payouts pending from Mt. Gox, or who had currency balances in their Mt. Gox accounts. For people who had taken their profits in Bitcoins and transferred them out of Mt. Gox, there's no way to undo them. (And, of course, that's what the bad guys did.)

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Is there a list of existing businesses that have started to accept Bitcoin?
As opposed to new business that sprung up and accept Bitcoin from day 1.
I believe it will much shorter than the Trade wiki page, and perhaps more valuable in a certain way.

... Or harmful, depending on how much work is done maintaining it. I'd say the complete list is longer than you'd think, and if only a few are added to the page it will create a bad impression. You may also want to tighten the criteria because there are a lot of small, insignificant services that added a Bitcoin donation option.

Maybe a better way to make the trade list more valuable is to prune any defunct entries, and sort entries by decreasing importance. A new service founded on Bitcoin and growing to be better/larger than previously existing alternatives should be as visible as them.

could you define "from day 1" ? for sure no businesses were accepting bitcoin when the initial annouce have been made by satoshi . . .

@neofutur - I mean that I'm not looking for business that from their first day accepted Bitcoin (e.g. http://cheaperinbitcoins.com/)

I created this page on the Bitcoin wiki, please add to it.
(BTW, the wiki is extremely slow for the last day or so)

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Lightning network avoiding bad channels
Lets say I open a lightning network channel and the other party goes offline. Lets say I haven't actually used the channel yet. What if I want my bitcoin back from that channel so I can use it.
I payed an on chain transaction fee to open the channel, I can close the channel again but will have to pay another on chain transaction fee to close the channel. Effectively I will have payed for two on chain transactions without actually transferring any bitcoin.
If I go to pay and the other end of my channel is down. It would take me two on chain transactions to be able to make the payment (one to close the channel and one to open a new one) my instant and almost free payment has now become extremely expensive and slow.
What steps do the lightning network implementations take to limit the impact of this kind of thing? When your lightning wallet choses a node to open a channel with, does it take into account how reliable that node is, IE how long it has been online for / how much down time it has had?

Your concern is genuine but the decision to open a channel is not a part of the core specifications. The decision to open a channel with a node is up to the user.

@trampster sorry, edited the answer.

I guess it will be the individual wallet implementation rather then the user that does this, I don't expect most users will choose a channel the wallet will do it for them. I wonder if reliability info/up time is something that a wallet implementation would be able to discover about a node.


text:
How to see the number of segwit transactions in a block
Now that segwit is active I am interested to know how many segwit transactions are in each block.
The Blockchain explorers I've looked at don't seem to be tracking this info.
Is there any service that would allow me to view the number of segwit transactions which are in each block.

I’m interested in charts of % of BTC (per block or other period) transacted in SegWit transactions.

segwit.party/charts has an overview of SegWit related statistcs. They show:

Percentage of SegWit transactions per block
Count of segwit transactions and total transactions
Percentage of witness size of complete block
Actual witness size and block size

Link appears to be broken

You can view percentage of segwit usage on 144 blocks average on: https://p2sh.info/dashboard/db/segwit-usage

Look here under "Transactions (Segwit)" tab:
https://oxt.me/charts
And here's a page showing exactly what you're looking for:
http://segwit.5gbfree.com/countsegwit

http://segwit.5gbfree.com/countsegwit.html has a nice graph too

There is new blockexplorer called yogh.io which specifically shows fields in segwit tx. You can ask them to add number of segwit tx in block, should be easy to do. Or fork their github code and make any changes you require

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Do imperfections in dice make them unsuitable to make really good bitcoin private keys?
Dice do have imperfections (depending on how expensive ones you get), but would they not still have enough entropy such that a private key generated by them could be considered really safe? I am thinking of paper wallets storing lots of coins, potentially.
It would short circuit the problems with the implementations of random number generators on computers (the recent Android bug, and the Debian bug between 2006 and 2008)
http://www.debian.org/security/2008/dsa-1571
If a die is missing a side one would notice, so they are a lot easier to inspect for big errors than computer code.
So, how much would imperfections in dice lower the entropy? Could you just calculate with a lower base, e.g. 5.765*N rather than 6*N with a perfect die (5.765 then being a measurement of imperfection of a specific die).
Edit: maybe rather 6**(N-x), where x are the extra occurrences of one number.

I'm sorry, but I don't really see how this is specially related to Bitcoin?

It is the generation of the Bitcoin private key, I will clarify that in the text. As you know there have been problems with the RNGs on some platforms

So let me get this clear: you propose using dices from a board-games like Monopoly instead of using Pseudo-Random Number generators? Wouldn't that be really time consuming (although fun lol). If you are really worried about implementation/security errors, you should look into True Random Number generators. These are external devices that can be plugged in your computer and make use of atmospheric noise or atom decay. See for example http://www.random.org/.

Hardware random generators may still suffer from implementation errors, just like the RNGs on computers. RNGs on computers may also be driven with real randomness from the microphone (see randomsound package on Linux). If dice are good enough, entropy-wise, they are a really simple solution. And I mean using it for a cold storage wallet, so you only need to do it once (or a couple of times if you need to move bitcoins).

see http://world.std.com/~reinhold/diceware.html

You may want to get casino-grade / tested dice

A question like this might get a better response on a math or general cryptography StackExchange. There's nothing in the question specific to bitcoin (other than they happen to want to make a cryptographically good random number for use in bitcoin).

Well, most things are not specific to bitcoin, since all technologies and solutions it is made up of, are also in used in other things. However you may have a point in that there are not that many people in this part of stackexchange who can answer something like off the top of their heads. I do believe that the key generation handling is crucial to bitcoin's future.

...and the specifics of the key space and availability of the blockchain with all the addresses and many of the public keys, frames the problem in a certain context, when it comes to crackability and incitament to do so.

I didn't think I would figure this one out but here is a stab at a solution to my own question:
The number of keys possible in bitcoin in roughly 2^256, some values are not allowed at the end, so in decimal it goes from 1 to 115792089237316195423570985008687907852837564279074904382605163141518161494337.
That is 78 digits. What would that number be in base 6? It would be 100 digits:
1021410542201502023034020312354303525141003020114142003134301540433233134222423333133255354344331041
So about 100 or 99 dice throws and we have reached the upper number limit, or close to it. Let's go with 99 so we don't overflow the key space.
Now imagine a die that is loaded. Very loaded. It actually shows five 50% of the time. that means that the most probable number, of all numbers, is all fives, with a probability of 0.5^99. That is around 1.6*10^-30. All other number combinations have lower probability. So is 1.6*10^-30 a problem?
According to this answer on bitcoin.stackoverflow, this video "Exhaustive search attacks" from Dan Boneh has him saying "anything that's bigger than 2^90 is considered sufficiently secure" (although that is for a different application). In inverted decimal that is around 8*10^-28.
According to this paper "1 The Birthday Paradox" by Andy Toshi, which is specifically about Bitcoin, it also seems to be safe as far as I can understand.
So we seem to be on the safe side!

You can certainly use any randomness source you like to generate a private key; however, any bias or correlation in your random inputs will make your key easier to guess and reduce its security.
I wasn't able to find a comprehensive analysis of dice randomness in the scientific literature, but this paper could be a start:

Labby, Z. Weldon's dice, automated.  Chance 22(4): 6-13, 2009.  http://statistics.uchicago.edu/about/docs/labby09dice.pdf

Based on a total of 315672 die rolls, the author found a statistically significant bias toward the numbers 1 and 6.  The other references in that paper could be useful.  I also found remarks elsewhere that casino dice, which have flat faces rather than hollowed-out pips, may be less likely to be biased.  Of course, your dice could be different; if you wanted, you could roll them a large number of times and perform various statistical tests on the outcomes.
Even if your dice are biased, there are various ways to extract randomness from your data to obtain unbiased random numbers.  One of the simplest approaches (though not the most efficient) was described by von Neumann in 1951:

Von Neumann, J.  Various techniques used in connection with random digits. NIST journal, Applied Math Series, 12:36-38, 1951.

There's a description of the technique here.  Note that it depends on the die rolls being independent and identically distributed, so you would need to roll the same die in exactly the same way each time to get a truly unbiased result.

Thanks for digging up stats on alctual dice! Whitening wouldn't increase the entropy as far as I understand. It is useful for a smoother distribution, which is applicable for other applications of RNGs.

@jeorgen: You're right, whitening isn't the right thing here.  The word for what I had in mind turns out to be randomness extraction.  I edited.

I read through the linked page, and it does not seem that a randomness extractor increases the entropy either.

@jeorgen: It doesn't increase the entropy, but it effectively lets you condense the entropy of a larger sample into a smaller one.  For example, when extracting randomness from biased coin flips, the input is some number of biased bits n, and the output is k < n unbiased bits (the same k bits of entropy that were in the original sample, or perhaps fewer).  You're right, though, we can't really increase entropy per se; there's no free lunch.

OK, I get it. Yeah that would increase the quality I suppose, if you know that your source is severely biased. However if you don't know that, then it will decrease entropy in that you get fewer bits of entropy for a given number of die rolls or coin throws. Which is a given of course if your source is biased, then that is the whole point. But if your source is non-biased then the extraction will just make you throw the coin or dice more times. So there is trade-off between fixing the bias and wearing out your arm :-)


text:
How does blockchain.info calculate the "Estimated Transaction Value?"
Consider the following transaction:
https://blockchain.info/tx/aa5eb27652bd85dc444ea2508bf0ff6ff1b484141e2d7e69f31976fafb21e06e
Each of the output addresses has never before been used, and there is only one input address. Why does blockchain.info guess that 0.7695 BTC has been transacted with 3.7216 BTC as change rather than the reverse (see "Estimated BTC Transacted")? Does it just pick the second address as the change address?
In other cases, I am able to guess similarly to blockchain.info, for example:
(1) If multiple input addresses are used, the change address should not be greater than the lowest input address (unless, of course, this is being purposely obfuscated).
(2) If both of the output addresses have been used before, they may run a degrees-of-separation query to try to connect one of the output addresses more closely to the input addresses, more closely identifying it with the input addresses and therefore as the change address.
(3) If only one of the output addresses has been used before, it is more likely to be the change address according to the heuristic in (2) because by definition the used address is more closely "connected" than an address that has never been used.
But what heuristic could be used if each of the output address is new? The spending pattern of the input address? Randomness? Thoughts?
You can see how this question affects views of the total/daily volume on Bitcoin in aggregate by comparing/contrasting both of the "Estimated Transaction Volume" charts available on http://www.blockchain.info/charts. They claim the second chart adjusts for change, but provide no details about the algorithm.

They don't know. They don't claim to know, either. That's just the order that it shows up in the blockchain, which is randomized.

They seem to use some heuristics, as the above examples I showed. I'm wondering if they have another heuristic that is more subtle, or perhaps some public information detailing whatever algorithm they do or do not use.

Ah, you're talking about the "Estimated BTC transacted" part, right?

Yup. I edited the question above to add a bit more detail.

For transactions with one input it is hard to guess what is the change and what is the real payment. However because they may be have statistics so they can may be guess that for a ~4 BTC input there are 70% of probability that the change is the bigger output and the money spent the smaller one when both output addresses are new.
Now if you have a transaction with several inputs (Like ou have already explained in your question) it is much more easier to guess.
If you have :
As input
1Pi87D6NUPB5BxcuowYN4Lj3WLCSFGsuLN (0.24379822 BTC)
1PgBMDggd7GGCifDd1881vdvNe8pkn5BWk (0.08787591 BTC)

And as output
1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC
1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC

In this case you can be pretty sure that the spent address is '1DswmdznL6exZzN6akJpsPUc4ZWRZo9JQc - 0.2778 BTC' and the change '1B6tvnE3oP3mwoA4RMrYXWVup4Z73G6bDw -  0.05377413 BTC'.
Because otherwise there would be only one input.

this is not necessarily the case, when putting a transaction together i am free to choose any inputs and direct them to any output addresses as i choose. Perhaps wallet software wouldn't do that, but it can be done manually (via createrawtransaction).


text:
What would happen if a portion of the Bitcoin network was separated from the rest of the network?
Yesterday I asked a question over at SuperUser, so that I could have my facts straight before asking this question.  The scenario sets the basis for this question.
Regarding bitcoin, what would happen to the Bitcoin system if a portion of the world had it's internet connection severed with the rest of the world.  In other words if, say, all outside communication was lost in the region of Armenia, would the Armenian Bitcoin users, who continue to use Bitcoin, ultimately create a forked block chain?
If so, what would happen to the blockchain when connection to the severed region of the world is restored, and the segregated network is resolved to the primary network?
I imagine the outcome would be similar to a 51% attack.  Is that correct?

Would it be possible to physically transfer files to mitigate the consequences?

@evanh: Assuming nobody actually attempted any double-spend attacks, there would be no problem -- all the 'lost' transactions in the reorganization would eventually be mined into new blocks. What this means is that in order to trust a transaction, you need not just confirmations but also to make sure you're talking to a large enough network.

Besides the potential double-spending, I see another potential problem in this scenario: if an Armenian miner keeps mining and spends immediately their earned coins before the reconnection, most probably those transactions will be deemed invalid when the network gets reunified. And, just like @user622, I wonder what would happen if the disruption takes longer than a week - if I understood correctly, transactions can't be live for more than 2 days, so all the isolated Armenian transactions would get reverted, right?

And I believe bitcoin's protocol should probably change to make these type of events less traumatic. I can very well imagin such situations being used against island-nations by either terrorists or governments. Should bitcoin become enormously popular in Cuba, for instance, I can easily imagine the USA cutting off the cables on purpose and doing an enormous damage to their economy...

Related: http://bitcointalk.org/index.php?topic=106302.0

It wouldn't be a fork as both chains would only exists as the longest chain until the network was reconnected.  As soon as Armenia was reconnected to the internet every client would via block exchange determine there is a longer block and switch to that chain.  The orphaned chain would simply be discarded by all clients and eventually the entire network would be "re-unified" under the single longest chain.
In a situation like that it would be difficult but not impossible to pull off a double spend.  An attacker would need to have wallets in both sub-networks so coins could be spent in both sub-networks during the "isolation".   A precaution to take when isolated from "main internet" is to not process any transactions until the sub-networks have rejoined.
For example a store could accept coins, and prepare orders but not ship them until rejoining the main network and ensuring no double-spend occurred.  If a double-spend had occurred the merchant would become aware once the larger network began processing the orphaned transactions and they were reported as invalid by the network.  If no double spend occurred those transactions would eventually be included in longest blockchain and become confirmed.
For those in the "main network" there is no risk from a double spend because their chain will remain longest and will survive while overwriting transactions from the smaller sub-network once the networks are rejoined.

It may be helpful to be able to queue transfers without sending them for this scenario.

how one can identify a main network? if the network is partitioned say 100 with equal number of nodes in it. Who defines what is main network?

When bitcoin client downloads two conflicting blockchains, in other words when fork happened, it chooses the longer blockchain as valid, and the shorter becomes invalid and called "orphan blocks". "Length" is calculated as total combined difficulty of that chain, not number of blocks. Wiki: Block Chain
So in your scenario, Armenia most likely has less hashing power then the rest of world and it would produce shorter fork of blockchain, therefore it would be overrided after connection is restored.
51% attack implies coordinated effort from a small group of people with malicious intent, which is not the case according to your scenarion, therefore I wouldn't call 51% attack.
It would be easy to counter any negative outcome because users of isolated network would know instantly about the problem from sudden drop of total network hash power, and would just need to avoid spending bitcoins until connection is restored.

+1 The hashing power on the Armenia network would be so low that blocks would be created very slowly. Because of (not only) this, people in Armenia would very soon notice that something is wrong with "their" blockchain, and take measures to reconnect somehow. Even if they did not, they would not be creating a block chain long enough to be considered a "fork". Anyone who continues to mine on this would lose their mining income after the eventual reconnect. On the other hand, all other transactions on the "Armenia fork" would be copied back to the real chain (unless they are double spends).

Wait, why would new blocks be created very slowly? They still get created at a 1 block per 10 minutes rate just like in the rest of the world.

@mafutrct,  "Length" is calculated as total combined difficulty of that chain, not number of blocks

@Serith Yes, but I'm confused right now as to how this is related to my comment. Thilo made it sound like new blocks get created at a slower rate than in the rest of the world - which I believe is not the case. I agree with you and him that due to lower length (sum of difficulty) those blocks would be discarded anyway. Maybe I'm just misunderstanding his wording.

@mafutrct, Thilo is right too. Difficulty gets adjusted every 2015 blocks, so there is a bit of a lag between network hash rate change and the adjustment, and it is possible for a blocks to take longer to mine before it gets adjusted back to 1 block per 10 minutes. So lets say Armenia represents 1% of total network hash rate, therefore, after separation, it will take roughly 1000 minutes to mine a block before it reaches the next checkpoint and sets the difficulty correctly.

@Serith: Ah, that's right. Thanks for the clarification, I get it now.

I cannot add a comment because I have no reputation however I think it is important to note that this kind of attack has extreme consequences for the future of Bitcoin's adoption. If the goal is a future where a large percentage of the world's population are directly or indirectly participating in the Bitcoin network, such a disconnect from the globally acknowledged blockchain could be catastrophic.
There have been confirmed reports of internet connections being sabotaged by other states as well as by governments exerting control over their population. I disagree fundamentally with @Serith's comment in the context of a serious and long-running interruption between the global blockchain and the cut-off country's economic system:

It would be easy to counter any negative outcome because users of isolated network would know instantly about the problem from sudden drop of total network hash power, and would just need to avoid spending bitcoins until connection is restored.

Intermittent outages may be easy to resolve however to say that a population would just need to avoid spending Bitcoins ignores the case where in a potential future where Bitcoin is widely used, telling a population to simply stop spending would have vast social and political consequences. Such a case could very well result in severe unrest in the cut-off country, perhaps even turning violent.

A cut off in part of the network might also, indirectly cause one of the "guilds" to obtain %51. Community should also keep that in mind IMHO. i.e. if BTCGuild was suddenly completely disconnected for a time, and GHash.IO and itself both had 33% of the hashrate; GHash.IO would have %50 for the time period BTCGuild is disconnected.

First note that bitcoin nodes pass on blocks. So even if most machines in a country are cut off from the rest of the world it only takes one machine that can "see both sides" to keep the blocks flowing back and forth.
But what happens if an area is completely cut off from most of the world?
Miners on both sides of the cut will continue trying to find blocks. The probability of them finding them is determined by the current difficulty.
Assuming the "most of the world" side has most of the hashing power it will continue more or less as usual.
The "armenia" side on the other hand will experiance a massive drop in block rate. If they have 1% of the hashing power (and I doubt they have even that) then they will experience a one hundred fold drop in block rate.
If the isolation goes on long enough then the "target" on the "Armenia" side will adjust to restore the normal block rate but this will take a long time. The "target" only readjusts after every 2016 blocks and it only readjusts by a factor of up to four each time. Say that when the split happens we are halfway between difficulty readjustments, if the "Armenia" has one percent of the hashing capacity then it will take about 100 weeks (~two years) to reach it's first difficulty adjustment.
If and when connectivity is restored then any blocks mined on the "Armenia" side will be discarded as the chain from the "rest of world" side is much stronger. Transactions from the "Armenia" side may be re-included in new blocks if they are still valid.


text:
What is the daily transaction limit for Bitinstant?
I know that bitinstant limits individual trades to 3 digits or $999 per transaction, but they make no mention in their FAQ about the size of the daily limit they impose.
I was wondering if anyone knew the exact number?
Note: I think this number may vary depending on where your sending money from, however I'm specifically interested in the limit regarding sending money from mtgox to bitstamp and vice versa.
Update: I emailed them and they confirmed that the limit is in fact $2000 per day.
Update: Since this question bitinstant has updated their service. You can now be verified by sending in a photo idea and have your limit upped to $10,000 per day.

$2000 per day. Right above their captcha-like thing, it says the limits in small text.

From the front page of bitinstant.com:

limits 500$ for all transfers, 1000$ for cash bank deposits, 2000$ per
  per day, minimal order 20$


text:
Listening for changes to my own wallet in the blockchain
I would like to be notified of changes to any of my many wallet address as soon as they happen and then programmatically take action. I have been using wallet notify but this has been giving me really inconsistent behavior and I have found that I cannot rely on it.
I'm in search of another solution, and was thinking that I could monitor the blockchain for any changes to addresses I own. Is there some known way to do this?
Other suggestions on how to solve this problem are also appreciated.

Since this is exactly what wallet notify is supposed to do, afaik, instead of reinventing the wheel, it might be better to investigate why it isn't working for you. The cause might be something in your local environment that would also affect any other solution you might create.

That's what I ended up doing, turned out to be a problem with the queuing library I was using.

You could also use our own Websockets API. More specifically, you need to check the addresses event in order to subscribe to one or multiple address and receive balance updates for them.
An example request command would be:
{
    "event": "addresses:update",
    "filters": {
        "addresses": ["1Biteasym3p5E4soZq8So6NjkjYugEnz2X"]
    }
}

And when the balance is updated you will receive the following response:
{
    "event": "addresses:update",
    "data": {
        "balance": 1746000,
        "total_sent": 0,
        "total_received": 1746000,
        "address": "1Biteasym3p5E4soZq8So6NjkjYugEnz2X"
    }
}

https://blockchain.info/api/api_websocket
With the blockchain.info websocket API you can subscribe to any transactions on addresses. That seems like a great place to start :)

I'm working on this problem in my open source project https://github.com/richardkiss/pycoinnet. It ain't quite there yet, but I have a prototype working in the lab.


text:
Verifying BitCoin Transactions
I am hoping someone much smarter than i regarding bitcoin can point me in the right direction.
And im sorry if my questions sound dumb....
I am trying to work out how i can check if a transaction has been made to a specific address
(so my "ecommerce" system knows the payment was made).
I would however like to do this without relying on 3rd party sites/API's
I though the answer maybe to run bitcoind on my web-facing server, but now im not so sure; As it seems i can only get transaction details for addresses within my wallet (stored on the web server) and i did not plan on having the BTC stored in the online wallet as i only wanted to check the transaction and store the BTC's in an offline wallet.
(if i was to store BTC in a wallet hosted on a web server is this a BIG security risk of having my lovely BTC's stolen?).
I have spent all night (now 7.30 am) trying to work out a plan of action, but think i am now more confused than when i started :-(
I would be very grateful if anyone could point me in the right direction as i really want to develop a BTC related website (and think i may have a good community based idea for a site).
Best Regards
Ford

You don't specify why you don't want to rely on 3rd party sites or APIs. Is this critical? As mentioned by @Loourr, blockchain.info is the normal way of handling this issue, though I can remember it going down on at least one occasion.

Hello and thanks for the reply. i have nothing against blockchain, but by using a 3rd party just increases the chance of failure and typically i prefer to use my own code, as if blockchain can do what i need, my question is how are they doing it and can i do the same...

Well there's always a trade-off to be made between the risk of service outage and the risk of making a mistake in a new and untested system. For me, BitPay does everything I need with no need to go as far as the block chain itself or even blockchain.info.

just an update for anyone reading. After only a few days of deciding to use the 3rd party of blockchain... their API is now returning errors... i should have trusted my instincts and NOT used the 3rd party...

If you want to see all bitcoin transactions for a given address, coming to or going from, then you need to actually look through the block chain. Fortunately our good friends at blockchain.info have given us a nice api to do just that.

Hello Loourr. thank you very much for your reply and i agree blockchain do look and sound good, and i have had a good look at their API's. If possible i would have preferred to do it without the 3rd party, as if they can do it, it must be possible, but how is the problem i now have.... I have nothing against blockchain at all but have always felt it better to use my own system as oppose to relying on 3rd parties. Thanks again for your reply!

Well I'm not exactly sure, but you can technically do it the same way blockchain.info does. You would just need some node on the network and figure out how to parse the data in a meaningful way.

A full node bitcoin client has local copy of blockchain and keeps updating copy, whether has or not stored on it any private keys.
All need to do is scan chain look for transactions involving address you're interested in.
Code to do that in standard bitcoin client; function triggered by command "rescan".
Need to find and extract that code, modify one or two lines to take address as command line argument, save. done.


text:
How do I put bitcoins in my "Wallet"?
I want to Buy something using bitcoins but I am not sure how to put bitcoins in my "Wallet".
Could somebody please help me?

Is your question really "how can I get some Bitcoins"? Or is it about the standard client's wallets? Or does "wallet" include online wallets? Do you already have the Bitcoins? If so, in what form? If not, how do you plan to pay for them?

Possible duplicate: How do you obtain bitcoins?. @Kanfood3223, try to clarify what you mean, otherwise this question will probably be closed.

I am also interested in this topic. How do I add bitcoins to a (e.g Copay.io) Wallet

I Found an answer to my own question. This bitcoin market seems to work https://localbitcoins.com/

When new Bitcoins are issued (7,200 per day, on average) they go to those who are mining for bitcoins.  At one point in time, mining to acquire bitcoins was something that was relatively easy to do.  That is no longer the case.  So now to acquire bitcoins one would normally buy bitcoins at an exchange.
What options are available to you will differ based on where you are, what payment methods you have available, how quickly you need the bitcoins and how many you intend to buy.
For instance, in the U.S., the fastest method to buy bitcoins is to use the service BitInstant where you deposit cash at a bank and they send the funds to an exchange.   The cheapest method is to do a bank transfer using Dwolla as intermediary -- however that is not very fast.  Other methods are shown here:

http://en.bitcoin.it/wiki/Buying_bitcoins

Then once you have purchased the bitcoins at the exchange, you would simply withdraw them and send them to a bitcoin address from your own wallet.  Using the Bitcoin.org client you would click the Receive bitcoins button and generate a new address.  That is the address you would copy and then from the exchange paste that address when asked from their withdrawal page.


text:
Could the price drop between July and September 2011 have been caused by a bot?
In July 2011, 1 BTC was trading at above $10 USD. By September, the price of 1 BTC had fallen over 50%, and at the time of writing (October 2011) 1 BTC is trading around $2.50 - $3.00 USD.
In a forum thread one of the pool operators for bitcoinpool claims this is due to some bot forcing the prices down:

Fairuser detected a buy/sell bot on the better portion of exchanges
  (currently, only Bitmarket (EUR) seems unaffected) that is
  consistently keeping the value of BTC low while it's generating tens
  of thousands of dollars worth of transactions across the exchanges at
  a profit of 2 - 40 cents per transaction. We're still unsure if it's
  intentionally dropping the price, or if it's just a side-effect of the
  way the bot is designed.
Either way, the bot is entirely responsible for the price drop from
  $10 USD to $5 USD.

Is there any evidence of such a phenomenon, and if so, what could be done to stop it?

Also, see this question: Why have prices fallen so drastically around October 2011?

Is a bot illegal to be used in a stock market?

Since the bot exists, and the people who wrote it presumably wish it to perform every transaction it performs, it reflects real supply and real demand. Why would you want to stop it? There is nothing inherently good about a high price.
Personally, I think the drop in value was due to the bursting of a speculative bubble. The price was previously kept high due to press attention that made people think Bitcoins might be a good investment. As soon as everyone who was going to be brought in by the hype was brought in, the demand started to drop. This caused a small price slide, which induced a lot of panic selling from people who thought the speculative rise would continue forever. Once the price starts dropping at the end of such a bubble, more and more people try to sell out to minimize their losses. Once everyone who expected a short-term profit sells out, the price stabilizes.
We're now back at that relatively stable floor, waiting for the next hype cycle to start another speculative bubble. Until Bitcoin's price is driven by its use as a real medium of exchange, this pattern is likely to repeat over and over.

Unfortunately I was caught up in that bubble and bough a bunch of BTC at ~$8-$10 each. So yes, you're right, there's nothing inherently good about a high price, but this does little to make me feel better about my foolish investment LOL ;-)

I've heard this mentioned so many times by so many different people- but the only real cause is supply and demand.  If a "bot", or "manipulator", or whoever you want to call it, was selling off so many coins that it has the effect of lowering the price... then there is not enough demand to satisfy the supply, and so the price drops.

A bot can hardly cause a noticable long-term price decrease. To do this, it would have to use an algorithm. The algorithm has to operate along the goal of the bot. Normally, the goal will be maximum profit. If the bot tries to bring the price down, it has to buy high and to sell low; this does cost money. Worse, if someone else suspects a but doing this, he could write a bot which buys low and sells high, making a lot of profit. The net effect would be that a hughe amount of money is transferred from the owner of the first bot to the owner of the second bot.
This isn't to say that prices cannot be influenced or even manipulated. But this has a lot to do with psychology, and apart from that this works only at specific times, bots are not good at this.

A bot has one advantage over humans: speed. Other than that, it is not that different from a human.
That said, it is not very relevant whether a bot or human sold coins at a low price. Someone accepts selling this low, thus the price is this low.
The decline of the price was a classic economic bubble. The process started in May at the latest, from there up until October the market was dominated by the dynamics of inexperienced masses speculating wildly. If you want to understand why things happened the way they did, read on economic bubbles.

If there is a bot running a lot of transactions on the system, one could find it out by analysing all the transactions and looking for some emerging patterns. This, however, is very difficult. One interesting example I can think of that is related to that is a TED talk about the stock exchange (I recommend seeing it).
A sure way to stop that would be to disable bot operations on the exchanges, but that might do more damage than the bot. Alternatively, one could make a second bot to counter the first one and hopefully bankrupt it, but that would also be bad. Probably the best thing one can do is not trade on websites that are botted and organically shift the business to exchanges that are not facilitating automatic transactions. But as that isn't too likely to happen, things will probably stay this way.
As it was mentioned in the other answer - having a bot on the exchange is not a bad thing in itself.

I think the single biggest event that triggered the downward spiral of the price was the theft of all coins from MyBitcoin.com. Whether it was "Hackers" that took the coins or the site operator himself is as yet unknown, but they were certainly stolen.
MyBitcoin attempted to solve the two main issues of Bitcoin in its current form:
1 - You need to be logged on to the computer containing your wallet if you want to spend your coins
2 - The time taken for a transaction to "confirm" is much too slow for most types of internet transaction.
MyBitcoin represented a real hope of solving both issues by offering users an online "E-Wallet", coins from which could be transferred instantly to other MyBitcoin users.
When the site was taken down it had just under 500'000 Bitcoins in its vaults, more than 5% of all the bitcoins in the world, which at the time was worth around $5m. The thieves got away with the single biggest online theft in history.
This had two effects:
1 - Many users lost all confidence in the Bitcoin project. If a site so big and seemingly officail as MyBitcoin could be taken down, what hope is there for anyone?
2 - The theives had to sell the coins they stole, selling quickly for well under market value and setting off a domino effect which led to a big a price drop.
Personally, I don't think Bitcoin will ever be worth more than $5 again, even $4 seems a bit too much to hope for. With many alternative cryptocoins available with better security, more features and stronger support from developers than Bitcoin, it seems like it has no real future.
Bitcoin will be remembered as the coin that started it all, but another coin will surely take its place soon.


text:
Is there a Drupal shopping cart interface for Bitcoin?
Is there any Drupal SCI for Bitcoin available? Either tied into Ubercart or, more preferably,  Drupal Commerce.

This is an interesting question, but it may be too time dependent. Do you want to know the answer to this question now, or when people read and answer it 10 months from now?

hmmm, can we not ask any time dependent questions here? Ideally I'd like to know now, and if things have changed in 10 months, I'd like to know that too :)

A lot of questions are just as time dependant as this one. The difference here is that the title ("what is the current status?") makes it much more obvious. I suggest changing this title to something that doesn't sound as time dependant.

I edited the title and the question so that it doesn't say "current status" anymore.

You could have a look at uc_bitcoin by Mike Gogulski that seems be what you are looking for. A word of caution though: The GitHub code has not been updated since November 2010, it is for Drupal 6.x (has not been tried on D7) and Mike states that "There’s probably not going to be an update for a long while, either, so fork and code away". Anyway, here's some info about it:

A Bitcoin payment method for the Ubercart shopping cart for Drupal.
Features

Generates a new bitcoin address for every order
Provides payment address to customer on site at checkout, plus in a
  subsequent email
Configurable timeout after which unpaid transactions will be
  canceled automatically
Configurable number of Bitcoin network confirmations after which an
  order is considered paid
HTTP or HTTPS access to bitcoind

There is also a project by Darrell Duane that is based on Mike's project. There is no download available yet and the project page was updated in June 2011.

Now you can try Bitpay's Ubercart plugin:
https://github.com/bitpay/ubercart-plugin

A module is now available for Drupal Commerce : Commerce Bitcoin. Still in Dev though !

Closest thing I have seen is  Community Accounting  for Drupal
http://drupal.org/project/mutual_credit
"An all-embracing and flexible package which includes a mutual credit ledger, super-configurable transaction forms and displays, including several views and blocks. It can be used as a digital back-end for paper money projects, or to run an entire LETS, Timebank, or several in parallel. With a little tweaking, it can manage currencies conforming to a wide range of designs. Autopayments can be done with a little glue code."
The only other plugin I know of is the one for OpenCart for bit-pay
http://www.opencart.com/index.php?route=extension/extension/info&extension_id=3119&path=20


text:
How do I generate offline transactions in Java?
I'd like to develop a Java binding to the Stratum Overlay Network (a server for thin clients). This requires signing on offline transactions.
Can I directly use bitcoinj's API to do this? Can I copy-paste some java from from it?
In shorts, how would I generate/sign offline transactions in Java?

Taking a look at bccapi, it might help. http://code.google.com/p/bccapi/

See also http://bitcoin.stackexchange.com/questions/7708/how-do-i-create-an-offline-transaction-in-java-to-broadcast-via-blockchain-info

That depends on how the Overlay Network will be handling the transactions. It might follow the standard protocol, or develop its own. In any case, as the ON is still in proposal stage, everything can change still. Best advise is to follow the forum thread and the Google Doc and see where it settles at.

The article I linked to offer's slush's current explaination how to do this, I was hoping someone could help me elaborate that ... eventually helping me to get working code. Anyway, I know it's still a work in progress, I'm following it, and hopefully will have time to code something up in a few weeks.


text:
Is there a good tutorial on how to use bitcoinjs exit nodes?
The documentation that I found seems to contain info about specific API calls, but no top level explaination/example.
Where can I find a practical concise example of using exit nodes?
I'd like to query transactions (say ... poll to see all latest transaction to a specific address), and submit a new transaction.

Might be worth pointing Stefan at this question and see if he'll answer.

Have you gotten it to install? When I run npm install, I get all sorts of errors

@Shamoon - I haven't tried too much, sorry - do post here if you have more information.

You can start with the included test package first. Then check the dependent projects.


text:
If I sell something for bitcoin can I then use the bitcoin I receive to buy something else?
I hear a lot about double spending of bitcoin. Can a single bitcoin be spend twice, as a dollar can. For example, I give dollars to 7 eleven for gas, they then use that money to pay their suppliers. Can bitcoin be used in the same way?

Short answer: obviously you can spend the Bitcoins you acquire, or they would be a completely pointless project.

For reference: http://en.bitcoin.it/wiki/Double-spending

Would be closevoters and downvoters--Tom has a legitimate question, as for the general public the phrase "double spending" is not immediately clear.  DBTN!  (Don't bite the newbs)

I think the confusion is around the phrase "a single bitcoin". A dollar bill is a thing, you can move it around and it changes ownership, but it is still the same dollar bill.
You might be imagining a bitcoin as a "virtual thing", like a computer file, which you can also move around. Sending the file to someone is analogous to giving them the dollar bill.
The problem is, computer files don't move; they are copied. Even when you tell a computer to move a file from one disk to another, it is simply making a copy and then deleting the original. When you give someone a dollar bill, you don't have it any more. You can't really give someone a computer file, because you simply both have copies.
If a digital currency were implemented this way, you could simply keep giving copies of the same computer file to everyone you paid, and you would basically have an infinite supply of money. That is what people are talking about when they refer to double-spending. The idea of using the same money twice.
So, bitcoin can't be a simple as a computer file. How does spending work?
Imagine a world where there are no dollar bills and coins. Instead, all transactions are performed by credit and debit cards and similar things. In that case, when you spend $1 at a 7-Eleven, you theoretically give them a dollar, except there is no physical thing to move. In reality, your bank and 7-Eleven's bank simply agree to add a transaction to each of their ledgers, saying you transferred $1 from your account to theirs.
In other words, what's actually being passed around isn't "virtual money", but records of transactions instead.
Spending a bitcoin is very much like this: you create a transaction that says you are transferring X BTC from your account to someone else's. That is published to the network and becomes part of the transaction record and then "everyone" knows your wallet has X fewer BTC and the other person as X more BTC.
There is a lot of complexity in how that publishing process works, how it guards against fraudulent transactions, how it works in a decentralized fashion, etc. There are a lot of places to read about how it all works, including this site.
So, if you have 10 BTC and receive 1 BTC, then you turn around and spend 1 BTC, did you spend the BTC you just received? Or one of the other ten? That's a question for philosophers, to be honest.

Actually, double spending is a class of attacks against bitcoin.

Double-spending is a failure mode of digital cash schemes, when it is possible to spend a single digital token twice. Since, unlike physical token money such as coins, electronic files can be duplicated, and hence the act of spending a digital coin does not remove its data from the ownership of the original holder,[1] some other means is needed to prevent double-spending.

Source
Bitcoin's mechanism is the block-chain.

Double-spending as an attack is different than spending coins you receive.
The attack is when you try to spend the same coins twice. For example, you have 1 BTC in your wallet, spend it to buy a coffee, then spend it to buy a soda. Assuming both the coffee and soda cost 1 BTC, you shouldn't have enough coins to pay for both. But the (very complicated) attack would allow you to do just that.
Contrast this to me paying you 1 BTC for a slice of pizza. You can then turn around and spend that 1 BTC on a coffee, just like if I had given you a dollar, euro, or anything else.

Bitcoins are never really "sent" anywhere.   That is the simplest method for the Bitcoin client to emulate the way we use cash today.   When I pay you, I give you cash and after that I no longer have it and you now have it.
With bitcoin, spend transactions are broadcast to peer nodes, and from there each node relays the transactions to other peer nodes.  Within seconds the transaction is known by nodes around the world.
Each node is like a ledger that holds a history of transactions.   So each node can know if the funds have already been spent.
And that's all that a valid transaction consists of -- an assignment of previously unspent funds.
The Bitcoin-Qt/bitcoind client and E-wallet services just make it seem familar by making it look like bitcoins are magically transferring from one person to another.
But in reality, each transaction is simply an entry in a ledger, replicated tens of thousands of times on nodes located around the world.


text:
Where can the private key from a bitaddress.org paper wallet be redeemed?
I recently got started by creating a single wallet using bitaddress.org. This contains the public bitcoin address and the private key in the wallet import format.
I now have some coins in there, but don't really understand how to use them.
How can I access/use my bitcoins? How is it possible to make a payment? What are the different options?
Any advice is greatly appreciated!

Payments are made from any wallet using both the address and private key, and verified by the blockchain. Like Lohoris said, I would import into Blockchain - it is extremely user friendly and will allow you to keep your wallet address.

A paper wallet has a private key ("Redeem") and a Bitcoin address ("Load & Verify").

You can import the private key in the Bitcoin-Qt/bitcoind client using the Debug console or the command line API.
You can import the private key into Mt. Gox (Funding, then Redeem, Private key) and it will sweep the funds to your exchange E-Wallet account.
You can import the private key into Blockchain.info/wallet
You can import the private key from a mobile by scanning using EasyWallet.org
(fee applies)
You can import a private key into the Multibit client and possibly with other clients.
You can spend using a private key with Brainwallet.org <-- Be careful with this.

I don't quite get the point of bitaddress.org.
My advice is to copy the private key they gave you, and import it into another wallet of your choice, such as blockchain.info.

Bitaddress is a wallet that can be completely stored offline. That is its underlying importance. However, the printout is very misleading and confusing when it tells you that you can check the balance at blockchain.info.
I sent money to bitaddress.org thinking that I would immediately be able view that it was sent. Wrong. The Private Address must be imported to your blockchain account first under settings, and the addresses. That is the Key. Very simple but it took me quite awhile to figure this one out.

-1 This is incorrect. You do not have to import the private key to watch an address. You can just look up the address on any blockexplorer, or import it as a "watch-only" address in a service/wallet.


text:
How do I import private keys en mass from a text file?
How do I import private keys en mass from a text file? They are in Wallet Import Format, e.g. 5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ.
Would there be any limitations to the number of keys I can import?
Thank you and please forgive me for such a question, I'm quite new to this.

We need a lot more details. What OS, what format private keys (WIF, Mini, hex), which client, what format of wallet are the privkeys in now? More details would help.

I've tried to edit this to clarify the question. Asker, please let me know if I understood what you're asking correctly. Thanks!

OS: Windows
Private key: WIF, I checked
Client: I'm not sure actually. Hope you can suggest me one
Additionally, I suppose a CLI that could sweep keys from a text file would be fast enough right? If there is a such a thing yet
Thank you!
@Nick thanks for editing the question :)

@Nick actually I meant sweeping and not importing! They're both different right?

@user3079309 They are. Sweeping usually means moving bitcoins from many addresses to a single address, whereas importing doesn't make any transactions at all.

Thanks! Is there any way to load up a text file( or maybe a .bat file) with private keys and run them in a client with a gui or cli?

Not sure on this, but you might be able to use the importprivkey RPC call. What I would try is importing one of them with rescan=false and then import another with rescan=true. The rescan=true causes it to go through the whole blockchain and look for any places that the associated address to that private key. After importing two private keys, the first without a rescan and the second with a rescan, then look to see if rescanning on the second private key got you all the transactions for the first private key that you entered.
Then if that works, you could write a command line script to execute that RPC call with each line of the file as the private key.
That's a high level description of what I would try. If you need more help on the importprivkey, open the Bitcoin-QT GUI, go to Help >> Debug Window >> Console and type "help importprivkey". If you need help writing that script, you'll probably have to do some googling around to learn about your OS-dependent scripting language.

Thanks! But this means for each key, the whole blockchain would be scanned right? I would actually like to 'sweep' and not import

I'm not sure if what I'm asking is practical, I think I better drop the question

I mean, there should be a way to do what you are asking for. And no, hopefully you wouldn't have to do a rescan for every key, that would take forever. My proposed idea was to set the rescan flag to be false for all but the last private key you are importing. If you didn't need to rescan at all, then don't even set rescan=true on the last import.

I have started to look into this with all seriousness. Thank you for your valuable input. For now, I'll have to do with GUI clients such as Armory / Multibit because of my limited knowledge of this subject.

Do those alternative clients allow batch import? Is that why you switched?

They do actually allow batch import( tested upto 50K private keys in Multibit) but of course you'll agree that a CLI would be fast and much more reliable?


text:
Preventing the exposure of public addresses on a website
Rather than having a single, fixed address, I want to generate a new address on my website every time a user request comes in.
I'm concerned about google or another web crawler indexing my website and tying my Bitcoin address to my website address.
I've thought about pregenerating the addresses, storing them in a database, and only showing one to each user. I think there's probably a better way.
I use node.js, so a solution using bitcoinjs or another node.js package would be preferable.
I would prefer to use multisignature addresses.
I would rather not depend on blockchain.info or an exchange - it introduces a single point of failure.

PS: Are you OK with having the private keys to the addresses stored on your website?

no. private keys bitaddress/bulkwallet) must be stored locally, the public addresses can be stored in mongodb on the server, hidden from google etc. we built a website for an old man that runs a novelty shop, he doesn't know doodly about tech so this has got to be dumbed down automated for him, yet as anon as possible.

You should try using BIP32 to generate addresses.
There's a node.js implementation here: http://cryptocoinjs.com/modules/currency/hdkey/

One time keys are standard practice on some exchanges. E.g. when you top up the exchange wallet the receiving address is recycled after it receives one transaction. You can generate receiving addresses on the fly, there is no need to pre-generate them.
You need to put receiving addresses behind something which stops the crawler. If you only target web crawlers, putting the payment page behind HTTP POST form is enough. If you want to stop malicious visitors you need to have CAPTCHA before the visitor can get the payment address.
Also you might want to make sure that there are no log entries of QR codes and such. This is best accomplished by generating the QR code image on the client side using JavaScript. Here is an example library for it. Some popular solutions, like Google's QR code generator, have QR code content in URL, thus leaving log entries containing the address.

I hate captcha's, so does everyone else, so that's out. Using an Exchange is also no longer an option. Form method=post sounds like the only option then for hiding the key? So, what library do we use then for what I am trying to accomplish..

bitcoinaddress.js also displays everything on the page in plain text, not good. see my question above for why etc thanx :)

There is no difference if you display it as plain text, QR image or voice clip with some lady reading every character. You need to give the public address out if you want to receive anything to it and thus, it really doesn't matter which method you use as all of them are equally secure.

Here is one JavaScript based multisig wallet as open source https://github.com/bitpay/copay/

I disagree. Displaying the public key as an image in a compiled jpeg would be more secure than displaying it as raw copy-able clear plain text on the page. Most people will just scan the qr code before they will copy/paste a key...

@kenCode: Unfortunately that is not true. Both are copyable with a simple right mouse click. Emphasizing the fact that the image is safer would be building your security on wrong principles and undermine your promise of secure service.

google can read svg files, even raw text on a pdf, but i do not see google reading the text that is drawn onto an image as of yet. (ie: captchas) i just can't think of an easier way to show the public key. maybe skip showing the text of the key altogether and just show qr codes from now on? that might make the customer on the website a bit suspicious tho, not sure if they are sending money to the correct address. i personally read the first 5 or 6 chars myself just to make sure it matches what my wallet is about to send btc to. so, how do we hide that key text from google et al? ideas?

Just make your payment page not accessible by Google and other bots using CATPCHA, as explained in the answer

I ended up on this page because I was looking for a solution so that my public bitcoin address would not be indexed by search engine bots.
I have found a solution to that.
The idea is to serve the bitcoin addresses via js or ajax, and disallow the access to the file to the bots by using a robots.txt rule.
You write your html (template) with placeholders for the bitcoin adress(es).
And either use a plain js file holding adresses in variables or make an ajax call to get addresses (generated on the fly may be) via json, and display (via js) the adresses on the page in the browser.
But you add a Disallow rule to your robots.txt to forbid the bots to download either the js or the ajax url.
This has been tested with GoogleBot and works fine. (explicitly tested in Search Console with "Explore like Google" feature).
All well-behaved bots that follow robots.txt should not be able to see the addresses and could not render the page properly.
This doesn't work for bots that don't care about robots.txt or ignore it to render the page.

Output the address with Javascript, crawlers cannot see that. e.g. document.WriteLn(addressHere);  Hiding the page behind a POST will stop most crawlers but not all.
Alternatively you could do some simple obfuscation, e.g. split the address in two and ask the user to combine it, or leave off the '1'/'3' prefix and ask users to add that manually. Kinda like when people list their email address as userATdomainDOTcom.
Alternatively, you could use a payment processor that pays out in bitcoin e.g. snapcard.io


text:
Bitcoin RPC getbalance of address I sent coins to on regtest
Here is my terminal session:
$ echo $address
mvt7M16caMH1xoJyfWU5orjArfq97jhZ7k
$ bitcoin-cli -regtest getbalance
5899.99990000
$ bitcoin-cli -regtest sendtoaddress $address 10.0
6ed7452f8f11fe25904867b57e127a6b65cb180c2013e667e3d399c4179ff1f0
$ bitcoin-cli -regtest setgenerate true 1
$ bitcoin-cli -regtest getbalance $address
0.00000000

Shouldn't the balance of this address be 10 now? I thought that by generating a block, I will have that transaction included, which will show up on the addresses balance?

Is bitcoind in regtest mode? Is the address in your wallet?

I ran bitcoin-cli -regtest getnewaddress, and I also ran bitcoind -regtest -daemon, I think those are the two things you are looking for. If I needed to do anything outside of that, then no.

Try getreceivedbyaddress instead.

That worked! Now why is that? Did I mistype something some where? Am I misunderstanding a procedure?

getbalance returns the balance of an account, not an address. https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list I didn't notice it at first.

getbalance returns the balance of an account, not an address.  https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
If there's no account by the name of mvt7M16caMH1xoJyfWU5orjArfq97jhZ7k, it will return 0.
Try using getreceivedbyaddress instead.

Use it like this:
account="123abc"
bitcoin-cli -regtest setaccount $address $account
bitcoin-cli -regtest getbalance $account
10.0


text:
Is there a way to figure out when an address is created?
I'm doing some bitcoin address collections. If there are some meaningful letters in the address or if the address is created in a meaningful time to me, I will buy it.
How can I know when the address is created?

What do you mean by "I will buy it [the address]"?

@Chuck Batson I will pay him for sharing the privatekey,of course I will never use the address for transactions,that would be stupid.

possible duplicate of: At what point is a new wallet known by the Bitcoin network?

Addresses are not created, per se. They're simply a representation of a public key. So, you cannot know when an address is "created."
However, it is possible to know the first time an address is used.


text:
How do I use the RPC command "decodescript"?
I used "decodescript" on a transaction inputscript
304402206c4eba989dd5f87b7814f25ec8b9e08f955d30b299d963df8955639aa0a0f9bc02203c4d41b047d4dc616da101911c512e89255e2c3261733f030f9d1329ca2822dd01

I got this script from this website.
and got
"p2sh" : "3BfdeDc4HpcLJCs6PZ5jzdfaVDzFDBXrVu"

which makes no sense to me.

You didn't copy the full script from blockchain.info, you copied half of the already decoded script. The part you copied is the signature, but the public key (the other part) is also part of the script. Even if you had both, though, it's still not the right data to pass to decode script, because the script has already been decoded. The hex that should be passed to the getrawtransaction call can be gotten by looking at the result of:
getrawtransaction 2c7b5cede0ab477800c407526ea98de9c89e80e53435dc786479be15970cc0d7 1

But you will just get the same thing as what blockchain.info already has up on their site.
And the "p2sh" value is the address that would be made by using the script passed to the RPC call as the redeemScript. I don't think this is what you're looking for at all, so you can pretty safely ignore it.

@Willipm, you're welcome. If this answered your question, mark it so others know. If you still have more questions related to this, let me know!


text:
Dont understand how to buy Bitcoin. Looked at sites but makes no sense to me
I can see prices and do not understand how you buy Bitcoin. I was told you could buy as little as $1 worth.  What would you get for $100?  Nothing really helps me understand this.

I'm not sure I understand your question. If $300 gets you one Bitcoin, $100 gets you a third of a Bitcoin.

Think of it like dollars and cents, pounds and pence.
Current exchange rate is US$350/BTC = $0.35/mBTC
So $1 buys ~3 mBTC (ie ฿0.0003) . Likewise $100 buys ฿0.2895.
Use this formula:
Bitcoins bought = (purchase amount) / (exchange rate)
This is no different than any exchange rate. Check out XBT @ xe.com

I would suggest buying a small amount from localbitcoins.com as a trial, make sure you choose a seller with an excellent rating and feel free to ask them a couple of questions - you'll find they are more often then not really nice guys.
The process generally involves you ordering a specific amount and paying via a bank transfer - you will be given their bank details once you submit the request. Login to your online banking and send the money, they will release the coins to your localbitcoins wallet once they see the payment in their bank account. You can then transfer the coins to a proper wallet as it's not advised to store coins there long-term.


text:
Where can I buy Litecoin?
I know Litecoin is sold on Coinbase, but I'm wondering if anyone has compiled a list or knows of other exchanges selling the currency?

Best to put that list as an answer rather than in the question.

If you are in Australia you can buy Litecoin on my exchange CoinSpot :D www.coinspot.com.au

Here is the list of exchanges currently selling Litecoin

Coinbase
Bittrex
Kraken
Bitfinex

The most current list of Litecoin exchanges, originally from the Litecoin wiki, updated in December 2017 to remove nonfunctional exchanges:
  Market exchanges
 Kraken
 The Rock Trading
 UpBit - Korean exchange
 Bithumb - Korean exchange
 BTCTrade - Chinese exchange
 OkCoin - Chinese exchange

  Fixed rate exchanges  Okpay
 Litecoinlocal
 BitBargain
 24change
 ALFAcashier
 GOLDUX

https://www.bitstamp.net - LTC/USD, LTC/EUR and LTC/BTC

There is a list of exchanges (and other businesses and tools) in the Litecoin wiki: https://litecoin.info/Service_Directory#Market_exchanges

There is a Norway exchange where you can buy and sell, it is called Justcoin

There is also quite new, but interesting exchange https://www.247exchange.com/ allowing to buy litecoins with credit and debit cards, bank transfers and cash deposits (400k locations worldwide). That I liked most, that they do not hold user's funds and there is no need to trade there - they will fund your litecoin account right after you will make a payment. Although I was upset that they limit first credit card purchases with about $100, the rates are better than at most other exchanges and instant delivery works great!

For the most updated list, take a look here:
http://exchangewar.info/coinprice?LTC_BTC
You can find those exchanges using fiat currency too. For example:
http://exchangewar.info/coinprice?LTC_USD
http://exchangewar.info/coinprice?LTC_EUR
http://exchangewar.info/coinprice?LTC_CNY
etc. ;)


text:
How is the target in Bitcoin set? Who does this?
I want to understand how the target value is adjusted or by whom in Bitcoin.
I know that the hash of a block + nonce must be lower or equal to the given target for mining.
Who sets this target ? If a miner puts transactions in a block, where can he see the target, where is it ? Is a target for any nodes the same. Is the target always the same in the whole network until someone finds the right hash ?
I read the white paper, I read several posts, but I stil don't get it.

The target is calculated by each node in the network independently.
Bitcoin is a decentralized system, so there is no authority that will set the target. The network is its own authority.
On this network, each participant (node) follows certain rules. These rules are the same for everyone, and govern how the network behaves. They include things such as the block size limit (block weight, in recent times), no double spends allowed (each output may only be spent once), difficulty adjustments to stay as close to a 10 minute block interval as possible (this is the target), and various other rules.
Every 2016 blocks (roughly 2 weeks), each node will look at the last 2016 blocks and calculate the average time spent mining a block. If this value is greater than ten minutes, the difficulty is reduced. If it is faster than ten minutes, the difficulty is increased. This readjustment allows the network to self regulate the mining target.
Since each node follows the same consensus rules, and all blocks are the same for all nodes, they will all arrive at the same difficulty value independently.
If a node were to miscalculate the target (or lie about it), and then produce a block based on their incorrect value, it may be rejected by the rest of the network for failing to meet the target requirements, and all the work invested into mining that block will be lost.

Thank you very much for your clear answer. So as far as I understood target = difficulty ?

They are terms, and usually have an inverse relation. A higher difficulty means that the target value is lower (say our valid hashes are 0 through 100, a high difficulty would be a target of 10 or lower), and a lower difficulty has a higher target (maybe 80 or lower on the same scale).

I see, thank you, is there any possibility to chat in a discussion thread ? I have probably some more questions, if it's ok for you?

You can drop by the mempool

Thank you very much, I will come up with questions from time to time.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Do miners receive a reward when solving the hash for the next block or when validating the block, or both?
Let's say I want to make a transaction to my friend Bob.
When I send 10 BTC to Bob, a transaction is signed with my signature and sent to the network.
What happens next?
Do miners check if this transaction is valid (check if I have enough funds)?
If they do, do they receive a reward for this?
When the transaction is considered valid it gets sent to a block with other transactions.
This block is then mined (miners try to find the correct hash from the previous block by solving the problem) and once a miner solves this first, he sends the block to the blockchain.
My question is, if the block is invalid and gets sent to the blockchain, why other miners check if said block is valid?
Does the first miner that "solved" the block wrong get a reward?
What if the block that was solved by this miner validated correctly and was sent to the blockchain.
Why would other miners check if it's correct when the miner already received the reward.
What do they get from checking the solved block if they are already working on the next one?
I'm sorry for the long post but this part confuses me quite a bit.
Thank you

Do miners check if this transaction is valid (check if I have enough funds)?

Every node that receives the transaction will validate it, this includes the nodes miners run.

If they do, do they receive a reward for this?

There is no reward for this

My question is, if the block is invalid and gets sent to the blockchain, why other miners check if said block is valid?

They check it precisely to see if it is invalid. If a broadcasted block is invalid, and a miner starts mining the next block using the invalid block as their previous block, the next block mined by them will also be invalid, since it builds upon an invalid block.
This results in them losing any work invested in finding this new block, since it will be rejected by the network.

Does the first miner that "solved" the block wrong get a reward?

If the block is invalid (“wrong”), then it will not be added to the blockchain by any other nodes/miners. So they will not get a reward.
For finding a valid block, they receive a certain amount of new Bitcoin + transaction fees (in the coinbase transaction).

Why would other miners check if it's correct when the miner already received the reward.

If they don't validate it, and it turns out to be incorrect, even if they succeed in finding the next block, they will receive nothing in return since it will be rejected for using an invalid block as the previous block.

What do they get from checking the solved block if they are already working on the next one?

A guarantee that if they solve the next block, it will not be rejected for building on an invalid block.


text:
How do I get a bitcoin address?
I don't know how to get a bitcoin or cryptocurrency wallet address.
Can anyone help me with that information?

There are many bitcoin wallet services as well as more hands-on ways using open source applications, including bitcoin-core which is the bitcoin software that also has a wallet implementation.

Generally speaking you would want to download a bitcoin wallet application (desktop, server, or mobile app) and use that (usually there is a "receive" button, or similar depending on the type of wallet, and that will show a new receiving address).
There are ways to generate an address without a wallet, like using a site like https://www.bitaddress.org ,however, I don't recommend that unless you know what you are doing.
Here is a list of some different bitcoin wallet applications: https://bitcoin.org/en/choose-your-wallet


text:
Question about identical txids/merkle tree in Developer guide
I am new to the technical details about Bitcoin and has been reading Developer guide on bitcoin.org.  I have a question about below contents mentioning merkle tree, identical txids.
I googled and searched here but seemed to be no answer.

Note: If identical txids are found within the same block, there is a possibility that the merkle tree may collide with a block with some or all duplicates removed due to how unbalanced merkle trees are implemented (duplicating the lone hash). Since it is impractical to have separate transactions with identical txids, this does not impose a burden on honest software, but must be checked if the invalid status of a block is to be cached; otherwise, a valid block with the duplicates eliminated could have the same merkle root and block hash, but be rejected by the cached invalid outcome, resulting in security bugs such as CVE-2012-2459.

I don't quite understand above contents. How would a merkle tree collide with a block? What do "collide" and “eliminate duplicates" mean ?   identical txids either mean same transactions or duplicate txid in order to generate a merkle root. What does "cache the invalid status of a block" stand for ?  How would this be rejected by the cached invalid outcome?
I would appreciate it if you could help me understand. Thanks!

It refers to a (practically impossible) edge case due to how unbalanced merkle trees work.
Let's say you manage to find two transactions with the same transaction ID, T1 and T2.
Now, let's build the merkle tree for a very simple block:
                 H(A, B)
                /       \
       A = H(CB,X)       B = H(T1,T2)
        /        \        /         \
       CB        X       T1         T2

Now, if you were to build the same merkle tree without T2, you have an unbalanced tree with only 3 leaves. To fix this, the last leaf is duplicated, as such:
                 H(A, B)
                /       \
       A = H(CB,X)       B = H(T1,T1)
        /        \        /         \
       CB        X       T1         T1

However, since T1 and T2 share a transaction hash, your merkle root actually ends up being identical to the tree with two separate transactions.
Since the merkle root is the same, the proof of work for a block containing T1 and T2 would also be valid for a block containing only T1.
Thus, if the first block is considered invalid by an honest node, when it sees a second block arrive with the same block header, it may dismiss it as invalid automatically based on the cached status on the original block's header, even though the second block does not contain T2, and is in effect a different, potentially valid, block.

Thanks for your explanation!  It is well-explained and does help me understand :)


text:
Why are there ETH addresses in bitcoin wallet.dat?
So I have a lot of addresses or pkscript listed in my wallet.dat files that begin with 0014....all...numbers.
There is bitcoin address on the same line starting with a 3.
When I strip the 0014 and search the blockchain, they all bring up an ETH address with 0 ETH.
Who can explain this?

Ethereum addresses are the trailing 20 bytes of keccak256(public_key). In other words, ethereum addresses are any collection of 20 bytes.
0014{20 byte payload} in Bitcoin is the redeem script for a p2sh-p2wpkh address. If you strip the 0014, you're left with 20 bytes. Due to the size of the ethereum address space, the vast majority of 20 byte combinations will lead to unused addresses.


text:
How untraceable is Bitcoin?
Are Bitcoins truly untraceable or only pseudonymous to certain extents?

Well, all transaction between Bitcoin addresses are stored forever, and so are fully traceable. What this means in your case is indeed that the credit card company can trace the coins you bought from them.
However, there are a few things to note.

Bitcoin addresses don't have a name assigned. F.e. Bitstamp will not know that the Bitcoins are coming from the credit card company because the credit card company does not have a list with all the addresses they use. An exception would be when you used a green address. This also holds in the opposite way that the credit card company does not know you funded Bitstamp with the coins since they don't know that the address you sent the coins to is owned by Bitstamp.
Bitcoins can move around very fast. When your coins end up somewhere the credit card company can link some person to, it is very likely that they are not spend by you anymore. With as few as 2 hops, the coins could have gone through an exchange and ended up by a totally different person.
The Bitcoin change system gives you better privacy as well. When you only spend a part of the Bitcoins in an address, by default, the change - which is the part that is not spent - is send to a new address. So, when you are spending some coins at different places, the coins you still have yourself also made several hops, so it is hard to tell if they are still in your possession.

Then, when you really want to make sure people cannot trace transactions back to you, you could use Bitcoin laundry systems. These are services that take your coins, shuffle them around among many different addresses they own, and let you receive the coins - minus the commission they take - back at another address for you. When you use a sophisticated Bitcoin laundry service, it is practically impossible to trace your coins. But beware, when dealing with very large amounts of bitcoins, this will be harder to achieve. Consider laundring your coins in smaller chunks.

Bitcoin is perfectly transparent. Privacy relies on the steps you take to protect your identity.

Things you can do to make a tracing harder:

Use a VPN or multiple VPN.
Use Proxy or multiple Proxy.
Use Tor (Multiple Tor instances can lead to loops, better avoid that).
Take care to not use the same virtual identity twice or more.
Circulate coins between wallets. (I strongly dis-advice to use third party services for this purpose (like coinlaundry, change systems), you could
  get in touch with coins that are involved in stuff you dont like or
  don’t want to be associated in any way.)
Encrypted communication
Use a anonymous access point (hardly applicable in most places)
Never mention your real name or send any document with your name on it

Additionally to mention is you own PC security. Get fami8liar with truecrypt or similar container/drive encryption.
To circulate coins you could either setup your own PC/network to have multiple wallets (maybe in virtual environments) where each virtual environment uses an own proxy chain / VPN chain, then you can circulate coins pretty effectively.
You could also/additionally get a VPS (maybe even as SSH / VNC proxy (also maybe through bitcoin) or online wallet anonymously, to increase circulation effective.
When using TOR solely, your connection is exactly as safe as the EXIT NODE.
Anyway, always keep in mind, as long as the blockchain exists your transaction history with all available details will be online.
EDIT:
If you intend to use a proxy to hide your identity be aware that your web identity ie IP is known to the proxy - all traffic is plain text if the content visited is not encrypted. Be also aware that proxies are an unencrypted relay which makes man in the middle attacks by the proxy admin or if compromised by the proxy intruder possible.
Maligno Alonso outlined man in the middle attacks via proxy and VPN @ DEFCON 20: Owning Bad Guys {And Mafia} With Javascript Botnets .
Since this is an important topic this page is a community wiki as of now.

Third party services are crucial. Circulating coins between your own wallets does not increase anonymity. A blockchain analysis would show a group of wallets only interacting with each other that are clearly controlled by the same person. Tumblers do more than create extra links in the blockchain. They mix coins in the sense that what goes in and what comes out have no links in the blockchain. Mixing requires other participants, the more the better. Good tumblers also obscure the amount tumbled and the tumbling time. Hiding your IP doesn't hurt but that won't hide what's in the blockchain.

Tor is largely useless for this purpose: it was initially created by the US Navy, and was compromised from its conception.


text:
Are there any poker websites that accept bitcoins?
I would think that bitcoins would be a great fit for websites that allow for gambling, and with Texas Hold 'em being such a big card game it seems that a Hold 'em site might allow players to use bitcoins to fund their accounts. Does anyone know of a reputable poker site that accepts bitcoins?

OK, I just found a new site called Bet with Bitcoin (http://betwithbtc.com) and there are poker forums there with some info as well (http://betwithbtc.com/simplemachinesforum/index.php?PHPSESSID=3ptrgpqp3d5t970tehokb48g97&board=30.0)

In case anyone cares, I've settle on sealswithclubs.org as a BTC hold'em site.  Very friendly.

The best resource to look for a poker site is the gambling section on bitcointalk.org.  There are a lot of smaller sites advertised in that section of the forums trying to cater to the poker players who want to use their bitcoins.
I think I've also seen people will to trade bitcoins for money on bigger poker sites, but I do not believe any major sites accept bitcoins directly at this time.

SwitchPoker.com, Sealswithclubs.org, btcontilt.com, and betco.in have Bitcoin Poker.

The site that I like most right now out of those is Seals With Clubs.

I have used BTC On Tilt a few times and I like it. They have a nice interface and constant free rolls during the day.

I just went over and created an account at BTC On Tilt and I like it so far.  Thanks.

as of this writing there is only one site to play bitcoin poker on, and that's sealswithclubs.eu - they have games running almost all the time / very fast cashouts / no contest

Check out the GAMES section on http://stuffexists.com/
It shows:
BtcOnTilt.com ,
BitJack21.com ,
StrikeSapphire.com ,
BitWorldPoker.com ,
Betco.in ,
SealsWithClubs.org

Switch Poker is a real money poker site, and it accepts bitcoins:
Switch Poker

I'd second http://betwithbtc.com/ as a good resource for gambling related bitcoin sites.
Along with the bitcoin centric poker sites mentioned in other answers switchpoker.com takes bitcoin as a payment method along with other more traditional payment methods.


text:
Can Bitcoin help people commit money laundering?
I don't have enough knowledge pertaining to the Bitcoin mechanism. Can Bitcoin help people commit money laundering?

Probably. Cars help people commit money laundering too, they make it easier for them to move around to meet their accomplices.

Dear answerers, would you please revisit this question, i.e. do you think your answers are still up-to-date? We had a duplicate of this question cite the age of the answers here as a reason to ask the question anew.

Since the vast majority of money launderers seem to prefer cash, I'd say the answer is no. At least, not yet. The way money laundering works is that you hide illegitimate transactions in a sea of legitimate transactions. There are a vast sea of legitimate cash transactions which makes money laundering in cash work well. Until there are some high-volume Bitcoin businesses, there will be nothing to hide illegitimate transactions with.
Even if the idea is to buy Bitcoins with dirty cash, sell them at an exchange, and claim you bought them really cheap and held them for a long time -- where can you buy large numbers of Bitcoins anonymously for cash?

I'd just say Bitcoin is like cash, Bitcoin is online cash.
Yes, "the vast majority of money launderers seem to prefer cash", but since bitcoin is mostly like cash, I'd say Bitcoin could be useful for them as much as the dollar or any other cash money.

No, Bitcoin does not help anyone do anything, it is just a means of transferring value, which enables people to do anything they want with it. In this sense, it is just like any tangible means of exchange, be it money, gold, art or anything of the sort.
The problem with Bitcoins though is that you have to obtain it in the first place, and currently one either needs to mine it (by buying a lot of hardware), or buy it from someone, usually online, which is more traceable. Moreover, all transactions in the Bitcoin network are transparent (anyone can see them), so if you find out who owns the addresses, you can check how much Bitcoins they have moved between one another.
In the end, whereas the anonymity of Bitcoin might be alluring to someone wanting to launder money, there are new problems they have to keep in mind when attempting to do that.

"Bitcoin does not help anyone do anything" - I think I know what you're trying to say, but I don't think that's a good way of saying it. It's like saying "I don't think a hammer will help you bang in a nail", which doesn't really make sense.

I think Bitcoins could be used for money laundering however it would be hard to purchase for cash in large enough quantities to make it worthwhile.  One person here commented that there are those who would sell Bitcoins up to $1000 US at a time.  That's small stuff to those that need to launder money.

The U.S. Treasury's FinCEN describes money laundering as the process of making illegally-gained proceeds (i.e. "dirty money") appear legal (i.e. "clean").
Bitcoin is a pseudonymous digital currency but it can be used anonymously when certain precautions (using Tor, mixing, etc.) are taken.
Presumably, some or all of the money would get exchanged to fiat.  That is the point at which identity is required.  Most exchanges have AML policies that require identity verification for withdrawals when the limits as defined by law are reached.
So, as long as the funds are kept as bitcoins, and transacted in a certain way, successful laundering of those funds might be possible.
Cash (currency) would probably more convenient to a money launderer, though.

Yes you can use it for money laundering. There are many people who sell bitcoin anonymously for cash. Just look at the sites that list the local buyers and sellers of bitcoin... For example I'm offering to sell bitcoin to anyone in my area for cash for up to $1000. It's not so much, and that's all I have, but there are people with more bitcoin and they can do the same.

There's nothing about Bitcoin that makes it especially appealing for money laundering. In fact, given the nature of the block chain, I would think it would be a fairly unappealing prospect for money laundering, because every transaction is publicly posted. Of course, the real issue with money laundering is defining it. I don't even think the authorities have a clear idea of what the term actually means at the moment.
Money laundering, at least historically, has been somewhat of a science. If you want a really good idea on how it's done, just take a look at some of the schemes Google and Apple have come up with to get out of paying taxes. One point of note is that none of these schemes involve Bitcoin.

It surely has some potential to help money launderers to conceal their identity from Anti Money Laundering regulation. Because a new wallet address could be generated at any time, without the prolonged process of Knowing-Your-Client (KYC), you can hypothetically conceal the owner of each account/address. For example, you have hacked a bitcoin exchange and you created a transaction through the block chain to xxxx1 address, then after that you split all of the amount in xxxx1 into xxxx2, xxxx3, xxxx4, which you control.
But this does not leave you without breach. If you use your bitcoin address often enough in the internet, your identity could be disclosed to the public (and also the feds). In this case what Amir Taaki tried to add a layer of security to DarkWallet, to enforce a concealment of public addresses in bitcoin to make it harder for the feds to get to know the true identity behind a wallet address.


text:
Largest number of bitcoins at a single address at one time?
What is the largest number of bitcoins that were stored in a single address at any one time to date?
I know there were >474320 BTC at this address at 2011-07-18 (identified to be MtGox's from the 424 242.42424242 transaction). Has any address ever contained more than this?

The Bitcoin Report has a top 100 "Rich list" that is updated (somewhat) regularly. I didn't find a larger balance in any of their lists. That doesn't prove anything of course, but it seems pretty likely that the one you found is the largest balance.

Here's a complete list of 'record setting' address balances over time:
   date        block  transaction       balance                    address
-----------   ------  -----------   ---------------   ----------------------------------
Jan 03 2009        0   4a5e1e4b:0       50.00000000   1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
Jan 14 2009      496   a3b0e9e7:0       61.00000000   1BBz9Z15YpELQ4QP5sEKb1SwxkcmPb5TMs
Jan 15 2009      586   4d6edbeb:0      250.00000000   19QKDUJtx9n7Vaga6nX1bVHdsnT4Khfyi6
Jan 19 2009     1055   8897ea9c:0      500.00000000   15oUEZFKAC8E8BTLt1s1jx4fPxumwB3ecr
Jan 22 2009     1296   59bf8acb:0      875.00000000   12higDjoCCNXSA95xZMWUdPvXNmkAduhWv
                              [36 records omitted for 12higDjoCCNXSA95xZMWUdPvXNmkAduhWv]
Jan 15 2010    34887   ffcea1e6:0    72374.36000000   12higDjoCCNXSA95xZMWUdPvXNmkAduhWv
Oct 02 2010    83231   689f1772:0   110001.00000000   1LUPDXYf9XD9Ee1AqCuM3gZCA3ZMKgTcgw
Oct 02 2010    83240   0ee1f4e6:1   120001.00000000   1NJWs6g6hQsgxqtpRxXLhZJwHYhH2P2bvx
Oct 02 2010    83243   31b00090:0   122001.00000000   1NJWs6g6hQsgxqtpRxXLhZJwHYhH2P2bvx
Jan 27 2011   104770   8f821069:0   400000.00000000   1AYtnRppWM7tWQaVLpm7TvcHKrjKxgCRvX
Jun 12 2011   130281   a09ac44c:1   432109.87654321   1KLahQtqDNAXvrjNyfvgSBtAhwco5ZxLp4
Jul 18 2011   136856,  e4762860:1   434242.43424242   1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPC
                              [36 records omitted for 1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPC]
Jul 18 2011   136870   b96a37e4:1   474320.43424242   1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPC
Nov 16 2011   153509   29a3efd3:1   500000.00000000   1M8s2S5bgAzSSzVTeL7zruvMPLvzSkEAuv

And this shows for record setting transaction sizes:
   date        block   transaction       amount
-----------   ------   -----------   ---------------
Jan 03 2009        0     4a5e1e4b        50.00000000
Jan 14 2009      496     a3b0e9e7        61.00000000
Jan 15 2009      586     4d6edbeb       250.00000000
Jan 19 2009     1055     8897ea9c       500.00000000
Jan 26 2009     1945     5559270f      1000.00000000
Feb 09 2009     3645     cec658ac      2200.00000000
Mar 16 2009     7677     e6f00fa6      2400.00000000
Apr 20 2009    11666     eebd343e      3500.00000000
Jul 20 2009    19863     123a3968      6049.53000000
Oct 16 2009    25095     4aa98b18      9700.00000000
Oct 22 2009    25618     1aae9d58     11950.00000000
Oct 24 2009    25788     5d793270     12250.00000000
Oct 27 2009    25969     3cd9410f     13000.00000000
Nov 04 2009    26402     6029e51c     15500.00000000
Nov 19 2009    27525     f2e5fdd3     21850.00000000
Nov 19 2009    27528     67fc73c7     22500.00000000
Mar 06 2010    44006     23709241     23247.39000000
Jul 12 2010    65566     ba62e528     35000.00000000
Jul 26 2010    70527     b9d69463     46753.13000000
Jul 28 2010    70870     73ac0fdc     50000.00000000
Nov 04 2010    89583     3bc57f90     50000.01000000
Nov 06 2010    90003     70dab592     55000.00000000
Nov 08 2010    90505     1ec28eee     96999.00000000
Jan 27 2011   104770     8f821069    400000.00000000
Jun 12 2011   130281     a09ac44c    432109.88745232
Jun 23 2011   132749     3a1b9e33    442000.00000000
Nov 16 2011   153509     29a3efd3    550000.00000000

So both the biggest balance and the biggest transaction are in block 153509.
The transaction is 10% bigger than necessary due to some sub-optimal coin selection code in the default client.  It makes sure, when using a set of different coins to make up the transaction inputs, that the selected coins total at least one cent more than the transferred amount.  This is an attempt to prevent sub-cent change which would trigger transaction fees.  However, in some cases there is no need for any change at all.  In this case the 'spare change' it allocated was a 50k BTC coin.  I've since submitted a fix for this issue.  This 500k coin and its subsequent movements caused the spike in global Bitcoin transaction volume referred to in this question.
Data is accurate as of February 9th 2012.

Excellent answer. I suspect the largest balance in Nov belonged to MtGox and I also suspect that the movement of these coins in Nov may have contributed to the spike in Bitcoin transaction volume in that month. I think there is another question on here on that topic. It looks like MtGox may have split their balance into several addresses since then.

Thanks.  You're right, this 500k coin moved a lot in November and December 2011 and was the cause of the spike.  I edited my answer to link to the question you're referring to.

"It looks like MtGox may have split their balance into several addresses since then" -- look at http://blockchain.info/tree/13076774 and click the orange circles.  The 400k BTC coin is recursively split into 2 halves over and over until it's in hundreds of tiny pieces of apparently random and messy sizes.  Odd.

There was an instance where someone caused an overflow error and credited themselves with more Bitcoins than could ever be created, but this is mainly a side-note, since they weren't legitimate coins.
If you believe The Bitcoin Report, the largest sum of Bitcoins ever found together was 424242.43424242 on address 1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPC.

when did this happen? do you have any links?

https://en.bitcoin.it/wiki/Incidents#Value_overflow

That's not even the largest sum of Bitcoins ever found on address 1eHhgW6vquBYhwMPhQ668HPjxTtpvZGPC...  it once held 474320.43424242 BTC.  I'll paste a list of the record setting address balances over time in a new answer.  The biggest I've found so far is exactly 500k BTC.

According the The Bitcoin Report (as linked in ThePiachu's answer), on 3rd December 2011, address 12RYJjGk22NiNbhTHffCrCso4XgVzet5Eh had 447785.59485753 BTC.