text:
Where is coinbase transaction after a hacker successfully performs >50% attack?
Here is the scenario:
 Honest nodes build one block from Block_1.
 Hacker nodes privately build four blocks from Block_1 and broadcast these malicious blocks.
Now, where is the honest node's coinbase transaction (25 BTC + Transaction Fee). Is it included in the hacker's malicious blocks?
In Satoshi's white paper, he mentioned:

If a greedy attacker is able to assemble more CPU power than all the
  honest nodes, he would have to choose between using it to defraud
  people by stealing back his payments, or using it to generate new coins

I think a hack with more than 50% power could do BOTH, stealing back his payments and generate new coins. Why am I wrong?

related: What can an attacker with 51% of hash power do?

You're not wrong.
A miner with more than 51% of the network's mining power can build the longest chain by himself, thus reaping all block rewards and dictating which transactions make it into the longest blockchain, allowing him to doublespend at will. Also see: What can an attacker with 51% of hash power do?
There can only be one valid block at each height, so when the attacker broadcasts his longer chain, it replaces the blocks of the honest node exclusively up to the common ancestor.
The mining reward from the honest blocks which are now not part of this longest chain will be treated as if they had never been found, as they do not represent valid blocks in the longest chain.
However, the malicious node's contrarian position will slow down the number of blocks found to a respective amount due to the reduced mining power supporting the longest chain (assuming he is trying to catch-up).
By playing selfishly, he will be in control short-term, still get only 51% of the rewards (at least until the difficulty reset), and shake the trust in Bitcoin, thus eroding the value of his bitcoins.
By playing cooperatively, he would gain 51% of the blocks and increase trust in the system, thus making his bitcoins more valuable.

Now where is the honest node's coinbase transaction (25 BTC +
  Transaction Fee). Is it included in the hacker's malicious blocks?

No, the honest node's coinbase transaction is included in its block. A coinbase transaction is always the first transaction inside a block.
I think by asking where is ... you are actually wondering about who will possess coinbase transaction!? If so, you should remember that the coinbase transaction/block reward will be paid to the miner of the block (including coinbase transaction) after this block is buried under 100 valid blocks ONLY if those 100 blocks end up in the main blockchain!

However, a block must have 100 confirmations before that reward can be
  spent, so we generate 101 blocks to get access to the coinbase
  transaction from block #1.

from Bitcoin Developer Examples

Thanks for this quick response. A attacker broadcasts its malicious blocks. Now everyone will follow the attacker's blocks. Eventually the attacker will get the Coinbase reward. Right? Why does Satoshi said an attacker can EITHER  OR . I think an attack can do both.

You're welcome, in your scenario we assume: honest node mines block#1 and attackers mine block#2 up to block#101: At this point of time, the coinbase transaction from block#1 "matures" and is still paid to the honest node! Now if we go further and assume everyone accepts attacker's blocks and builds up on attacker's chain then with block#102 (doesn't make a difference if mined by honest or malicious node!) the coinbase transaction from block#2 is paid to it's miner, in this case to attacker, and with block#103 the coinbase tx of block#3 will be paid to it's miner and so on.

Why did Satoshi say an attacker can EITHER  OR . However, I think an attack can do both.

can you please provide sources?

Sure:) https://bitcoin.org/bitcoin.pdf "If a greedy attacker is able to assemble more CPU power than all the honest nodes, he would have to choose between using it to defraud people by stealing back his payments, or using it to generate new coins
"

stealing back his payments: this is called double-spending 2)generate new coins: you can only generate coins (out of nothing) only if you succeed in mining a block! So it simply says a malicious node can get paid coinbase transactions from block he mined himself if he can achieve to maintain its blockchain, i.e. if either he mines blocks that are accepted by the majority or if others build up on his blockchain!

Let us continue this discussion in chat.


text:
Which data should be used in order to detect addresses to be used for fraud?
I’d like to analyse bitcoin blockchain in order to detect addresses used for fraud, like money laundering. Since I cannot get any addresses info that was really used for fraud, I need to analyse which kind of address have tendency to be used for fraud.
Now, I’m just wondering which parameters I should use. I’ve tried to use period of transactions and average of transactions’ amount, but it seemed not to make sense. If you have any idea, could you teach that?

I don't understand what you mean by 'abnormal address.' Could you give us an example of an abnormal address?

@NickODell Ok, I'll edit it.

Fraud and money laundering are two different things.  Fraud, or accepting or spending money under false pretenses, would be very difficult to detect on the blockchain because it requires outside knowledge.  The way banks detect fraud is by using the context of what was purchased, and where.  The blockchain doesn't contain that information, so supplemental data would be required for detection.  Most fraud would appear identical to legitimate transactions on the blockchain.
Money laundering, however, can be detected...just not very well.  Mixing services are what you'd have to look for, since they would be the most obvious way to obfuscate the origin of some bitcoin. These could be detected by looking for chains of transactions with large numbers of inputs and outputs that are then spent shortly thereafter by other transactions with large numbers of inputs and outputs.  Mixing services generally tumble and mix coins together like this for several hours before they finally come to rest in a UTXO.
However, there are several problems to this approach.  First, mixing services are not exclusively used by criminals...not by a longshot.  Many people use them simply so that whomever paid them bitcoin can't later look up how they spent it.  Second, there are many other types of services that will have a very similar pattern on the blockchain.  Payment processors, exchanges, and web wallets all bundle inputs and outputs together in order to minimize transaction fees.  They all create similar-looking chains of transactions.  Trying to detect money laundering in this fashion will result in a rather hefty paradox of the false positives, meaning it will be difficult for you to derive accurate conclusions from your findings.

Thx! I've got it. Btw, what do you think elliptic and other blockchain analysis services do in order to detect fraud?

source: Stack Exchange

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

sort: votes


text:
If only six blocks are solved per hour, then how are more than six miners getting paid per hour?
According to this page on average six blocks in the Bitcoin network are solved per hour, yet there are thousands of Bitcoin miners and presumably more than six of them are making money every hour. What am I missing?

Not a bad question actually, but it is surprising that you missed [tag:mining-pools]. :)

Thanks @Murch, I'm very noob and still putting the basics together

Sure thing. Perhaps you want to have a look at I am new to Bitcoin, how can I get started?; it collects a few questions that might be of interest to new users.

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


text:
How to fork an Altcoin Which has 0 Reward Block to continue mining after the LAST POW BLOCK
Im trying to learn how is it possible to Hard Fork an Altcoin Blockchain to Continue the Mining Phase after the LAST POW BLOCK. The Block Reward is already 0 and the LAST POW stops at Block 8000. And want to know if there is a way to continue the mining after the 8000 without any SYNC Problem and Stuck Problem.

What have you tried so far? How much C++ experience do you have? Can you build the altcoin you're modifying?

The Coin is already built working without any issue. The only thing is I want to extend the POW after the LAST BLOCK 8000. And then I will be updating the nodes. My experience in C++ is Medium but I totally understand how the Blockchain works and how to compile the Wallets (Win, Mac and Linux). Thanks!

Did you create this altcoin? Is PoW stopping at block 8000 because of a bug, or because of an intentional limitation?

Yes! I created it myself. It is a POW/POS Coin with all the coin mined on the first block and then 0 reward until LAST BLOCK 8000 and it stays full POS ... BUT I dont want that for NOW ...I want to extend the POW 0 reward block

I don't understand. If all the coins are premined why is there ever a need for POW reward?

To keep the Blockchain running! If no POW, Blockchain will get stuck because of the Limited amount of coins.

I don't know ,if you created the coin ,it will be very easy for u to extend the pos margin block area(those pow blocks:>)You not only need to differ the blocks when CreateNewBlock by nBestBlockHeight but also need to do some modifies in "getblock" message blocktype checking.
That's all i got ; If this helps please tip me some reputations guys,this new "50 reputation" for comments nearly silent me  .

This is simply done by around 6 changes.  Check/follow this commit.
This enable again pow blocks even if the last pow block is hit.


text:
Can I have multiple working public keys per wallet?
My Android Bitcoin wallet changes the Public key (the one I give to others) after every transaction for security.
However, I want to put up a Public key online for donations.
Does this mean that my one wallet has multiple public keys (and I keep all the bitcoins given to any address owned by me) or is it that my private key changes also, and all BC given to my old key gets sent into the void?

Your wallet keeps all private and public keys it ever used indefinitely. You do not lose coins on old private keys when you give out new addresses.
It is just a privacy measure to give out new addresses for each transaction. It prevents your business partners from knowing about other transactions you have received and sent.
All addresses can be used multiple times, so you can use any of your addresses as a donation address. It will continue to work even when you give out other addresses later.
Be sure to keep a backup of your wallet separate from your phone if you are going to manage significant funds with it.


text:
What is the point of a permissioned blockchain?
As far as I understand, the whole point of a blockchain is to prevent failures of the kind where a node produces arbitrary data with malice - i.e., to guard against the case you don't trust some nodes of the network. If your nodes are trusted, though, a blockchain isn't necessary at all, you know the code isn't malicious. So what is the point of a permissioned blockchain?

If your nodes are trusted, though, a blockchain isn't necessary at all, you know the code isn't malicious. So what is the point of a permissioned blockchain?

Knowing someone's identity is not necessarily equivalent to trusting them, and not all trust is equivalent.
Consider the typical example of a permissioned blockchain. Two (or more) banks want to batch hundreds of payments a day into a single daily settlement payment. Each bank trusts the other banks to be solvent, and to pay whatever they owe. However, none of the banks trust the other banks to calculate the payments correctly. Instead, they all do the calculation separately, and only make payments if they agree about the result.
You could trust your business partners to do the calculation themselves, but they could give you the wrong number, either by accident, because of a rogue employee, or intentionally. Trusting someone's honesty is not the same thing as trusting their competence.
Let's also consider the opposite of the first example, where you don't know the identities of everyone involved. Imagine you have a Bitcoin sidechain, where instead of mining, a permissioned set of nodes creates blocks. In addition, instead of transaction fees, you give out API keys, which are permitted to create a certain number of transactions per hour. Some of the people who are creating transactions are people who you don't know.
In this example, you trust other nodes to not spam the network with useless transactions, but you don't allow them to spend other people's money, or create money out of thin air.


text:
Mining incentive and bitcoin limit
As I understand it mining provides the security for the blockchain in that it makes it hard to forge a transaction. The incentive for finding eligible hashes is a reward in the form of Bitcoin. As more blocks emerge, the cost of mining increases. But the number of bitcoins is limited to 21M.
Won't that mean that at some point in the future, either all bitcoins will be gone, or mining will not be cost effective anymore?
And in both cases, why would anyone still mine? Then wouldn't the hash rate drop considerably and thus the security?


text:
How can I get the date of the last transaction from the blockchain.info API?
Is there a way to request the date of last transaction via API? I run a request to see balance of my addresses and need to request the date of the last transaction, how would I do that?

Hey, I assume that you are using the blockchain.info api, and thus edited the question accordingly.

If you call the address API i.e.
https://blockchain.info/address/$hash_160?format=json you will get a list of transactions.
They all have a time attribute which is the time in unix format. https://en.wikipedia.org/wiki/Unix_time

This is an ambiguous question as we don't know what your environment is.
If you are using bitcoind, a call to gettransaction will give you a time field which is when the transaction has been seen.
Perhaps if you elaborate a bit more we would be able to answer the question more specifically.

import requests
import time
def check_address_last_transaction_dates(filename):
with open(filename, 'r') as file:
address_list = [line.strip() for line in file]
for address in address_list:
    url = f"https://blockchain.info/address/{address}?format=json"
    response = requests.get(url)

    if response.status_code == 200:
        data = response.json()

        if "txs" in data:
            # Find the most recent transaction in the list of transactions
            transactions = data["txs"]
            if transactions:
                most_recent_tx = max(transactions, key=lambda x: x["time"])
                last_tx_date = most_recent_tx["time"]
                last_tx_date_formatted = format_timestamp_to_month_year(last_tx_date)
                print(f"Address: {address}, Last Transaction Date: {last_tx_date_formatted}\n")
            else:
                print(f"Address: {address}, No last transaction data available\n")
        else:
            print(f"Address: {address}, No transaction data available\n")
    else:
        print(f"Address: {address}, Error fetching data\n")

    # Introduce a 1-second delay between checking addresses
    time.sleep(1)

def format_timestamp_to_month_year(timestamp):
# Convert UNIX timestamp to month/year format
from datetime import datetime
date = datetime.utcfromtimestamp(timestamp)
return date.strftime("%B %Y")
Specify the filename containing the list of Bitcoin addresses
filename = "btc500.txt"
check_address_last_transaction_dates(filename)
with this code you can check last transaction date/year only no other information.....replace your btc address list file with btc500.txt

authors: ขรรค์ชัย คําอ้วน

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


text:
Antminer S5 Chain 2 stops after a few hours
I recently purchased an Antminer S5 on eBay that came with a Corsair GS 800 power supply. I set the miner up, connected it to a pool, and it seemed like it was working fine. After about 15 minutes I noticed that Chain 2 was inactive (status showed multiple '-' on miner configuration page). I restarted the miner, and it was working fine until again after about 2 hours, Chain 2 stopped, but now its status still showed it was active ('ooo'). So I restarted again, and after about 6-8 hours this time, Chain 2 stops, and still shows as active.
Each time chain 2 stops the total GH/s is only about 600.
I'm really confused by this because it seems like the miner is working but something just causes chain 2 to stop. It came shipped with 2 new fans on the front and back, and a frequency of 387.5M (Default is 350). The seller has not been of much help so far. Really has only been telling me to keep restarting it, which works but only for a short time.
Any ideas what could cause this or how to fix?
Thanks


text:
Are there any legitimate cloud mining services?
Are there any cloud-mining services that you can earn Bitcoin with and aren't Ponzi schemes?

related: How do cloud hashing companies profit? (leasing hashing power), When is it a good time to invest in Cloud mining?, also see: BCT: Cloudmining 101 (ponzi risk assessment)

Most of the cloud mining services are scam and doesn't stays in the long run. You can check out this thread to avoid cloud mining: https://bitcointalk.org/index.php?topic=878387.0
Good luck.


text:
USB Hub for Mining Rig
I'm looking for 10-port, externally powered usb hubs.  I can provide all the current at 5V that I'd need though and thus would NOT like it to come with an ac adapter.
Is there anything like this?
A common one sold by different people seems to be:
http://amzn.to/1aB89i1
http://amzn.to/1cjfXq1
But the one I got is not consistently being recognized by a linux box (doesn't show up in output of lsusb).

Hi and welcome to Bitcoin.SE. While we do encourage people to come here with all their Bitcoin questions, there are sadly a few that are too subjective or don't fit our format very well. This is one of them. We encourage you to read through the FAQ and keep on participating.

I can personally recommend your second link, the CE Compass 10.  I have used 4 of them, and they work equally well in Windows, Debian, and BAMT.

I  use the Anker 9 Port USB 3.0 Hub. I have 3 of these and they are 100% flawless. Remember you get what you pay for, and these are the best.


text:
Test network completely removed from the real network?
I know of the testnet Bitcoin provides, but is there any framework or simulator of the Bitcoin network which I can use to test on my local machine? I would like to edit parts of the code and simulate the responses of the real network without actually interacting with it.

There is a section in the Bitcoin Developer Guide on Testing Applications. The section you are interested in is likely to be Regtest.


text:
Will Nakamoto consensus work if a nontrivial portion of miners/nodes are on the moon?
Will Bitcoin (or Nakamoto consensus) work if a non trivial portion (say 5%) of miners/nodes are on the moon? What about mars? How about one of the moons of Jupiter?
If not, why not? If yes, how does the consensus algorithm adapt to messaging delays because of large distances?
If 5% on the moon works, will 20%? What about 50%? If 5% doesn't work, what about 1%? Or 0.1%?
Are there well known theoretical limits of extraplanetary (ie: beyond earth) consensus?

Yup, totally answers my question! Thanks for pointing it out!

According to an answer to Specific explanation of "timeout" configuration option in Bitcoin

The -timeout flag sets the amount of time to wait during an attempt to connect to a node. It defaults to 5000 ms.

According to Earth–Moon–Earth communication (Wikipedia)

Propagation time to the Moon and back ranges from 2.4 to 2.7 seconds, with an average of 2.56 seconds (distance from Earth to the Moon is 384,400 km).

So, even taking into account processing delays at each end and at intermediate stations, the protocol ought to be usable. Whether nodes would selectively choose more responsive peer nodes might depend on implementation, if so, that might lead to a blockchain fork.
Data rates will be a critical factor, starting up a full node (or several concurrently) on the Moon might be challenging.
Mars would be out though.

And just to confirm, mars would be out because the time for light to travel to mars and back is not negligible compared to the interblock time?

@Paymahn: Mars is out because the Earth-Mars-Earth propagation time is between 6 and 44 minutes (depending on orbital positions) - which is always far longer than any reasonable connection timeout as well as often being substantially greater than the target interblock time and, in the worst case (during Mars opposition) longer than all but a small percentage of actual interblock times

 The Nakomoto consensus should work regardless of where the miners are located, as long as they are using the same network. The internet on earth, as it currently stands, is fully connected. So miners in China, Germany, and the United States are all contributing to the network where information is travelling across the internet.
It could be conceivable that different planets (or the moon) would have their own internet at some point, disconnected from that of earth's, but that seems less likely than being connected via satellite transmission. As long as the networks of the moon and Mars are connected to the internet on earth, everything should still work normally.
Edit: Thanks to @PeterWuille in the comments for correcting this information. Here's what was said:
"Nakamoto consensus requires that the block propagation time between miners is negligible compared to the inter-block time. If it isn't, miners which are latency-wise "close" to each other will find more blocks that proportional to their hashrate share (simply because further out miners have a delay before being able to start working on a block), resulting in a (geographical) centralization pressure. When the latency exceeds the inter-block time (like it would be between Earth and Mars) the networks will split and fail to converge even."

Interesting. What if 51% of miners are on a planet that is more than 10-light minutes away from earth while the remaining 49% of miners are on earth? Will it still work under those conditions? If so, why?

@PaymahnMoghadasian Admittedly, I'm not sure if the latency that would come along with a earth-internet-connected Mars would make a difference, other than potentially the speed of transactions.

This answer is incorrect. Nakamoto consensus requires that the block propagation time between miners is negligible compared to the inter-block time. If it isn't, miners which are latency-wise "close" to each other will find more blocks that proportional to their hashrate share (simply because further out miners have a delay before being able to start working on a block), resulting in a (geographical) centralization pressure. When the latency exceeds the inter-block time (like it would be between Earth and Mars) the networks will split and fail to converge even.

Got it, thanks for the confirmation @PieterWuille - your answer is more inline with my intuition.

@PieterWuille Thanks for correcting me there!

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


text:
What reasons are there to mine and support Litecoin?
There are many examples of Bitcoin being accepted as a means of exchange in online transactions.
I haven't found any such examples for Litecoin.
So, what is the value in LTC mining? What is LTC's purpose if you can't buy anything with it? Do people believe that LTC is in the process of becoming a currency that will one day be accepted in the same online transactions as Bitcoin?

You can find a list of services and merchants that accept Litecoin on the Litecoin-Wiki.
That said, Litecoin has only minimal differences to Bitcoin: It uses Scrypt as its Mining algorithm, and reduced the block interval to 2.5 minutes, while keeping the halving interval (by requiring four times the blocks before the halving).
TL;DR: Unless it is financially profitable to you, there seems to be little reason to mine Litecoin. You find my point-by-point reasoning below.
Block-interval

First confirmation can be achieved in approximately 2.5 minutes.
This is the biggest advantage over Bitcoin, however, it is still too long for a transaction in a physical store, and in most other scenarios waiting for 2.5 minutes or ten minutes is hardly a difference.
Litecoin can handle about four times the amount of transactions than Bitcoin can.
However, Litecoin only has only about 5,000 transactions per day, while Bitcoin has more than 100,000 (recently peaking 200,000 due to the spam-attacks), rendering this advantage irrelevant so far.
Wallets have to store four times as many blocks.
A similarly utilized blockchain would be significantly bigger, and the additional blocks are especially a problem for SPV-wallets, which have to store four times as many block headers.
Shorter blocks favor large mining pools and cause more SPV mining.
The recently more frequent SPV mined blocks (essentially empty blocks) have caused an additional upper bound on transaction capacity in Bitcoin, leading to discussion on whether even 10 minutes would be too short, if one were to start Bitcoin from scratch.

Scrypt vs SHA-256

"Scrypt is GPU and ASIC-resistant."
While Scrypt benefits less from raw computing power, but also requires more RAM, it has reduced the advantage of GPU and ASICs slightly, but its resistance has since been disproven by the emergence of Scrypt ASICs. Essentially, you just had to buy different hardware in a similar game.
Scrypt is harder to verify.
As the computation per Scrypt hash is more complex, it takes longer to verify blocks. This hampers the synchronization of normal nodes, and demands hardware wallets to have significantly more power in order to even keep up with the network. This limits the ASIC-resistance of Scrypt, as higher memory requirements would also cause slower verification.
Scrypt does not offer a greater level of security.
In the end, the balance is found between the economic incentive, and the cost of providing mining power. The trade-off is the same as with Bitcoin, thus not providing any significant advantage.

Network effect
Currencies are a means for society to measure individuals' contributions and claims on society. This is a network that strongly benefits from market penetration: Just like a phone is useful if you and your best friend have one, it is exponentially more useful if everyone has one.
Systems that display such a network effect show a strong tendency towards one dominant exhibit per society. Examples of the effect at work are the elimination of languages through globalization, Facebook vs Myspace, or E-Mail vs Snail Mail. In the case of cryptocurrencies, the internet is the scope of society this competition presents in.
Other than in previous examples such as Facebook, the language barrier is hardly an obstacle, as currency is its own language transcending cultural borders.
Due to Litecoin's similarity to Bitcoin, I see two long-term possibilities:

Bitcoin thrives: In that case, there will emerge one (or very few distinctly specialized) dominant cryptocurrency. As Litecoin doesn't seem to feature any convincing advantages over Bitcoin's headstart in market penetration, I fail to see that Litecoin will at any point become more useful or valuable than Bitcoin.
Bitcoin fails: Being so similar, I fail to perceive any characteristics that would enable Litecoin to succeed where Bitcoin failed.

"Transaction volume will scale through altcoins"
I remain unconvinced that anybody would be interested in holding and transacting in a multitude of currencies each and every day. It is inconvenient and confusing.
There may several cryptocurrencies catering to distinctly different needs and/or societies. However, it is likely that they would be coupled interchangeably in some fashion, such as perhaps the Bitcoin blockchain and the Lightning Network.
Litecoin has utility as a higher stake Testnet for Bitcoin
Litecoin has been used as a testing ground for new Bitcoin features in the past, for example when Litecoin activated segwit before Bitcoin. This is a benefit to Bitcoin users mostly, but I don't see how that drives demand for Litecoin.
Conclusion: There is little reason to mine Litecoin
Unless you find that it to be profitable to mine Litecoin and sell it to the greater fool, I find no other reason to mine Litecoin.

This is simply my opinion on why I get into altcoins. I like to diversify my portfolio. In my eyes any one currency could overthrow another currency.
What I usually do is mine a decent currency, then use that currency to invest in certain things. For example and this is simply an example and I'm not using it to spam. I would mine litecoin then spend my litecoins on hashing on CEX or BleuShares or something else. This starts to make me stronger and gives me more.
I also sometimes buy metals such as gold and silver with my crypto currencies. But I'm a firm believer of diversification.
There was a twilight zone episode where theives steal gold and sleep for 100 years to find out gold can be manufactured in the future and the gold was worthless. I don't see such things happenning anytime soon, but it is nice to not put all your golden nuggets in the same basket.

Many people find litecoin easier to generate as a 'hard currency'. As it is easier to create people use it and exchange it for bitcoins or £££


text:
How much currency, on average, to expect from Bitcoin mining?
As mining difficulty continues to rise, I don't know if it is even worth trying.
My question to the users actively mining is, how many Bitcoins, on average, are most miners making? And any recent numbers you are willing to share from your mining operations would be appreciated, too.
This question may be impossible to answer without knowing what hardware and software most miners are using. So I ask a secondary question: what are the dominant hardware and software configurations used by the current players in the mining game?
Finally, who are the most successful miners, how many Bitcoins are they mining, and are they mining with incredibly advanced and expensive mining hardware?

Because of efficiency of scale and markets, you'd probably be better of just buying shares of hashing power at an exchange like cex.io. (That is assuming you're most interested in profits and the mining experience is of little relative value to you.)

@Tyler With recent happenings, it is imperative to ensure that cloud mining companies are not scams, and actually have hashing power (as opposed to acting as a pyramid scheme).


text:
Does Proof of Stake Lead to a Positive Feedback Loop?
(I may have horribly misunderstood PoS, so be gentle!)
Reading about PoS, the general idea seems to be that each miner has a "hit rate" proportional to their coins / total coins in the system.
Now, if there is a reward (generation, fees, etc.) for successfully mining a block, we seem to have a positive feedback loop. A richer miner has more chance of solving a block and so their wealth would increase at a greater rate than a poorer miner.
Does this means that the richest miner in the system only needs to keep mining till they are rich enough to mount a 51% attack?

Even if the dynamics are interpreted in the most basic way, it does not lead to this positive feedback, rather it maintains the status quo. If there are miners with stake of 40%, 30% and 30%, they will get 40%, 30% and 30% of the rewards respectively, so the ratios will remain at 40%, 30%, 30%.
For example, if they start with 40, 30, 30 BTC, and 10 new coins are generated, they will be distributed 4, 3, 3, so the new wealth will be 44, 33, 33, which is still a ratio of 40%, 30%, 30%.


text:
Can't open my bitcoin wallet
Help please.  In 2013 I could not remember my password.  I just recovered my password.  I try to open the same wallet I used before but only get a message from Adobe Reader "unable to open because file is not supported or is damaged".  This happens on all my back-ups also.  What can I do to get in my wallet? Thank you in advance.

This sounds like your operating system thinks that your wallet file is supposed to be opened by Adobe Reader.  Adobe Reader will not know what to do with this file, so you'll get that error.  Try opening the file directly from a Bitcoin wallet, or change your operating system to recognize wallet files (.dat) as Bitcoin wallet files, and not documents.  If you are using Windows, try this: http://windows.microsoft.com/en-us/windows/set-program-access-computer-defaults#1TC=windows-7


text:
Is holding funds in a Bitcoin paper wallet safe?
If you received lots of bitcoins, like 100, and you are not comfortable holding them in your personal blockchain wallet, is it preferable to move them and hold them in a paper wallet for safety reasons?

You may want to check out this answer on options for holding bitcoin:  http://bitcoin.stackexchange.com/questions/43875/what-options-does-one-have-to-manage-bitcoins/43882#43882

Generally, keeping a paper-wallet is safe as offline, it's unable to leak to the internet. Obviously, you need to keep it in a way that it won't be available to visitors as well.
There are options to add a password to paper-wallets, which might help to deter casual discoverers.
Previously unmentioned: You need to make sure that you create the paper wallet in a safe fashion! If your computer were already malware ridden when you create the paper-wallet obviously the paper-wallet wouldn't be a safe storage either.

not only that, but using tools like https://tools.bitcoin.com/paper-wallet/ can seem safe while you are putting 100% trust into website owner that they did not save the private key generated and / or are not infected themselves. beware of online paper wallet generators.

Yes. A paper wallet is basically nothing more than your private key on a piece of paper.
For usability it is often represented as a QR code though. You can make copies of it, and store several of them in different places, or even store half of the key in one location and another half in another. Bitcoins are never in your wallet, paper or otherwise; they are just entries on the blockchain. Your wallet contains only the private key to allow you to spend your entry on the blockchain.

Also, remember that storing bitcoins in a paper wallet is only as secure as your ability to secretly store a piece of paper.  Make sure it's protected from fire, water, and other people's eyes.

Yes it is safe. And to be extra safe have 2 copies of it at different locations to  get back your bitcoins incase of a disastrer.

It's safe, but I would suggest not let anyone know it's a paper wallet. And don't hide it in safes and all, because people won't usually even know it's a wallet in your home.


text:
How long does it take to download blockchain
My question is how long does it take on average to download whole blockchain and set-up new wallet with standard Bitcoin-QT client.

Look on internet, there are plenty of sites discussing this. I think there are already several question on this stackexhange too. PS. usually one day, depending on your BUS and CPU speed.

possible duplicate of How long should synchronizing your wallet for the first time take?

It depends on your bandwidth and (to a lesser extent) your power of your CPU, because each block requires verification. You can see the latest size at here. Currently it is 10.8GB or so.
One option to speed up the download is to download a bootstrap.dat. The Bitcoin client will look for a "bootstrap.dat" file to pre-seed blocks. You can download on version of bootstrap.dat at bitcoincharts.com. In most cases this will be faster, than the under-resourced bitcoin network.
Alternatively, if you run linux try this batch script:
#!/bin/bash
[ -z "$1" ] && echo "Usage: input=coinname" && exit 1
coin="$1"

while sleep 1; do
blk="$(eval "$coin getblockcount")"
h="$(eval "$coin getblockhash $blk")"
coin_t="$(eval "$coin getblock $h" | grep '"time"' | awk '{print $3}' | sed -e 's/,//g')"

d="$[$(date +%s) - $coin_t]"; dm="$[$d / 60]"; dh="$[$dm / 60 ]"; dd="$[$dh / 24 ]"
echo "Difference from main chain $d s. or $dm m.  or $dh h.  or $dd d."

if [ -z "$first_t" ];then
        first_t="$d"
        start_watch_time="$(date +%s)"
else
        difference=$[$first_t - $d]
        speed="$(echo "$difference / $[$(date +%s) - $start_watch_time ]" | bc -l)"
        remain_seconds="$(echo "$d / $speed" | bc -l)"
        remain_minutes="$(echo "$remain_seconds / 60" | bc -l)"
        remain_hours="$(echo "$remain_minutes / 60" | bc -l)"
        remain_days="$(echo "$remain_hours / 24" | bc -l)"
        # eval "$coin getinfo"
        echo -n "Approximate Time Remaining: $remain_seconds seconds to complete  sync."
        echo "[m: $remain_minutes; h: $remain_hours; d: $remain_days ]"
fi
[ "$LAST_BLK" == "$blk" ] && echo "Alarm! Stuck on block # $blk!"
LAST_BLK="$blk"
done

Save it to "coin_get_diff.sh" and run:
$ bash coin_get_diff.sh bitcoind

Example output:
...
....
Difference from main chain 2528577 s. or 42142 m.  or 702 h.  or 29 d.
Approximate Time Remaining: 2186.83957899106610047826 seconds to complete  sync.[m: 36.44732631651776834130; h: .60745543860862947235; d: .02531064327535956134 ]
Difference from main chain 2526232 s. or 42103 m.  or 701 h.  or 29 d.
Approximate Time Remaining: 2184.21035499949140474011 seconds to complete  sync.[m: 36.40350591665819007900; h: .60672509861096983465; d: .02528021244212374311 ]
Difference from main chain 2524021 s. or 42067 m.  or 701 h.  or 29 d.
Approximate Time Remaining: 2205.15551284291455530316 seconds to complete  sync.[m: 36.75259188071524258838; h: .61254319801192070980; d: .02552263325049669624 ]
...
..


text:
If transaction has impossible locking script, are coins lost?
If a bitcoin transaction's outputs have a locking script that is basically unsolvable, are the bitcoins lost, or can the transaction be invalidated?  (Or something else?)

If you are trying to do this on purpose, just set the scriptPubKey to OP_RETURN and nothing else.  This makes the transaction provably unspendable:  https://en.bitcoin.it/wiki/Script#Provably_Unspendable.2FPrunable_Outputs

If it made it into the blockchain, meaning 1 confirmation or more, it practically can't be invalidated. The same feature prevents people from reversing payments.
If it's provably unsolvable, then there's no way to spend the coins, and they're practically destroyed.

authors: Мария Тихонова


text:
How can I be sure that bitcoin mining software is not compromised?
I have been interested of generating Bitcoins but how can I be sure that the software that is available for this is not somehow compromised?
My concern is that the software may have some backdoor (reverse shell or otherwise), but to what degree is this a valid concern? Are there any steps I can take to mitigate this risk?

cgminer / bfgminer are both open source, get it from the official repository and you can be fairly sure that some geek will have noticed if there's something suspicious! If you're talking about mining some altcoin with a custom hashing algorithm then you have a valid concern.


text:
Creating a Bitcoin online wallet service
My question is this:  Lets say I wanted to create a bitcoin site, where users register and can deposit bitcoins into their account. should i  use my MPK to generate infinite addresses, so after a user deposits into the address, a new address is automatically generated for that user. and if the user deposits to the old address can It be traced?
Also how would the user be able to withdraw their balance in only their account? I don't want my priv key exposed.  And how can the site fees be deducted from each transaction with out the user beign able to withdraw that as well, And how would i implement a escrow service for the site so the seller offers service and the buyer buys but the coins are stored until the buyer says release or my staff see that it should be released to the right person.
also how can I set up a multi-sig on the site  for those users that choose to use it?
a site similar to what am referring to is www.localbitcoins.com
And am not the talented programmer making the site, so I am safe giving him my MPK? Or what is "safe" for me to give him?

should i use my MPK to generate infinite addresses, so after a user deposits into the address, a new address is automatically generated for that user.

Yes, that's an intended use of BIP32.

and if the user deposits to the old address can It be traced?

Assuming you remember the derivation of the key, sure. But it would probably be simpler to just keep a list of every Bitcoin address you've ever shown to a user, and compare incoming transactions against that.

Also how would the user be able to withdraw their balance in only their account?

There are two ways to implement this:

Keep coins from different customers with each other in one big wallet. Keep track of how much each customer has in a separate database.
Make each address belong to a customer, and make sure that customers can only sign transactions using their own keys.

#1 has some advantages, but #2 is generally easier to implement without shooting yourself in the foot.

I don't want my priv key exposed. And how can the site fees be deducted from each transaction with out the user beign able to withdraw that as well, And how would i implement a escrow service for the site so the seller offers service and the buyer buys but the coins are stored until the buyer says release or my staff see that it should be released to the right person.

I suggest that you not give your private keys to your users, especially if you're using BIP32 or you've chosen approach #1 above. Instead, generate and sign the transactions yourself.
As for escrow or manually releasing funds, you control the private keys, so you can move the coins at will. (That's something that your customers might not appreciate, since it opens the possibility that you'll steal all of their money.)

also how can I set up a multi-sig on the site for those users that choose to use it?

I assume you mean 2-of-3 multisig between you, the buyer, and the seller. I've not used it personally, but I've heard good things about BitPay's copay implementation.

And am not the talented programmer making the site, so I am safe giving him my MPK? Or what is "safe" for me to give him?

The site as you've described it requires you to have the extended private key on your server, or somewhere that your server can access. And, no, that's not safe to give to someone that you don't trust.


text:
Transactions used to form a block
I've read the Developers Guide ( bitcoin.org/en/developer-guide ), asked a few peers and I still don't understand how the transactions are used to form the block.
I did get that the transactions are used to form the Merkle tree. Do all people mining the next block use the same transactions to form the Merkle tree?
Let's say that the Bitcoin network has the transactions A, B, C, X, Y, and Z. All of them are unconfirmed.
I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?
If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.

anonimou, I've attempted to clarify your question. If I've changed the intent of your question, feel free to use the 'rollback' feature. (It's under the revision history.)

Nick, Thanks!! I think that with your edition you kinda asked my question. I was not sure if the transactions that are used for mining HAD TO BE the same for all people that were mining on a single time or it could be different (me working on A,B,C and you on X,Y,Z, for example). Thanks!!

Do all people mining the next block use the same transactions to form the Merkle tree?

No. This can arise because miners choose transactions differently (I say there shouldn't be free transactions!) or because a transaction is only known about by 90% of the network.

I'm mining the transactions ABC and you are mining XYZ. If so, if I find a block that contains ABC, will I then mine the XYZ transactions?

That depends on why you didn't include XYZ in your first block.

If you didn't include them because you don't know about them, then you won't.
If you didn't include them because they didn't pay enough fees, then you might.
If you didn't include them because there wasn't enough space in the block, then you probably would.

If I find a block, you will have to check which transactions were included in the block by me, before forming the next merkle tree, right? If not, you might use, for example, the B transaction again, which was already confirmed by me.

Yes. Mining clients download and fully validate blocks before mining on top of them.


text:
Will the decreasing Bitcoin production cause a liquidity crisis?
Based on the fact that the bitcoin "production" will stop around 21 million bitcoins, could this lead to a bitcoin flow freeze?
What I mean is, if we produce all 21 million bitcoins, and keep using them nicely (without inflation issues because there will be no more making of them) wouldn't some pals need more bitcoins than others? And a lot of users wouldn't want to use them through stores, debit cards and/or gift cards? Then how will the currency recycle?

I think a better title for this question might be "Will the decreasing Bitcoin production cause a liquidity crisis?"

This question appears to be closely related to "Does hoarding really hurt Bitcoin?". Do I understand correctly that you mean to ask, whether it will cause problems when some parties accumulate large amounts of Bitcoin (e.g. the earnings from their business) and thus the amount of bitcoins in circulation gets reduced? If yes, we could probably find a clearer phrasing for your question. :)

Just to clarify, I understand the question as: Is it possible that the accumulation of bitcoins by successful participants in the Bitcoin economy will cause a liquidity crisis?
As suggested by the question and described in the answers of "Does hoarding really hurt Bitcoin?", individuals or institutions amassing bitcoins would reduce the supply of Bitcoin.
However, as the value of Bitcoin would increase to evade the demand pressure, the exchange rate would rebalance at a point where one could transfer the same value with less bitcoins, retaining liquidity at a lower supply. Should this trend persist, additional divisibility of Bitcoin might become necessary to sustain liquidity.
This form of deflation is a huge problem in regular currencies, as we live in debt-based economies: During deflationary periods debt becomes increasingly costly to repay, and similarly it becomes harder for companies to maintain wages of their workers as they are denominated in the same currency. Either the companies would have to succeed at contentious wage cuts or let workers go.
Today, Bitcoin is rarely used as a Unit of Account. Mostly, prices are displayed in other currencies and their Bitcoin values automatically adjusted to remain stable to the underlying price. As long as this remains the case, deflation in Bitcoin would cause little economic anguish. Deflation would mostly spell "investment opportunity". (See T. Lee's article 'No, Bitcoins Aren't In Danger from "Hyperdeflation"')
[Hereafter sheer speculation:] Should Bitcoin ever become widely used as a Unit of Account, it will be after significant portions of the global economy transact in Bitcoin. As it would be widely used, Bitcoin's volatility would have decreased and thus the value stabilized. Economic growth and technological progress would manifest in a sustained slight deflation. At that point, as investment opportunities would have to compete with the benefits of saving during deflation, the wealth accumulation of rich parties could strongly amplify deflation.

Murch, that was a very detailed answer! Thanks a lot for your time!

Bitcoin's reward rate isn't constant - it halves every 4 years, and eventually stops entirely in 2140.
https://en.bitcoin.it/wiki/File:Controlled_supply-supply_over_block_height.png

See also: The End of Mining

But what about the holders of the bitcoins? I mean, if everyone at the end spends his bitcoins, the only ones who have access to them would be banks and vendors.

Vendors and banks generally have costs - they're not collecting Bitcoins for fun.

Oh ok, thanks, I see... So I guess there will be no flow issues since the currency will keep going around! Thanks a lot Nick ODell! Btw, do you think that 21 million btc are enough? :)

Even one btc would be quite enough as it is infinitely divisible. It would just be more valuable.

I have the feeling that the question is talking about liquidity (flow) not necessarily new bitcoins?

And even if they don't have costs, they don't exist to fill vaults with gold, they exist to enrich their stakeholders. If they acquired more assets than they needed to hold, they would distribute them to their stakeholders who would use them to buy stuff.

@DavidSchwartz they don't exist to fill vaults with gold Haven't you ever heard of Gringotts?

It is almost impossible to have a liquidity crisis in Bitcoin. To confirm in trading terms, liquidity is the size of the supply and demand market. Because Bitcoin is divisible up 100 000 000x (i.e. one satoshi) that means that even if one individual owned and held 99% of Bitcoin, there would still be enough Bitcoin in the world for most of the population to trade with.
E.g. 17 000 000 (current coins) 0.01 (percent left over) = 170 000 bitcoins left. That would mean for Bitcoin to not be practically usable anymore (let's say unable to get less than a cent) then it's price would have to be B170 000 $1 000 000.
In other words a huge price and even if that moment came the community would probably come to a consensus to further divisibility in the code. The 21m bitcoin limit is frivolous and really is just a random number.


text:
Why is my miner offline in Slush's Pool?
I just looked up how to mine bitcoin with my tablet and im using 2 apps: ARM Miner and Crypto miner, but my worker is considered offline when they are mining. Im getting KH so is that good? And should I use PikaArt or PikaArt.miner1 for my login into apps? Thanks!

Your tablet is too slow to even be assigned work by the pool.
Mining today is performed with ASICs, specialized hardware that is literally a billion times more efficient than your tablet, clocking in at terahashes per second.
Also see this more comprehensive explanation by Dr.Haribo why mining with Laptops isn't a good idea.


text:
Can I anonymously self-publish books on Amazon and get paid in Bitcoin?
I want to publish the book under a pseudonym, or better yet, anonymously! I had been looking into Amazon Kindle Direct Publishing. I’d also like to use an anonymous e-mail address. Would it be possible to get paid in Bitcoin when I publish my book there?
I want to get paid in Bitcoin/Litecoin only (possibly some other cryprocurrencies too, but I really don’t want centralized payments).
If there’s no way to do this, please tell me about any other alternatives for self publishing and/or advertising!

It certainly seems like amazon could allow you to publish anonymously, if they chose. But why would they want to? Suppose that you upload a book that is mostly a plagiarized version of another book, and they find out after a thousand people have bought it. If they know who you are, they can sue you for ripping them off. If you're anonymous, they have no recourse.

There must be a way for them to see that I am not breaking the law in any way.For example,I give them a copy of my book for free and after someone is going to read and review it,they will publish it just afterwards.Isn't this a good safety measure?

This probably depends on your local laws.  For instance, in the US, I believe you would have to give Amazon your real name and SSN/TIN so that they could report your income to the IRS.  They could leave your name off the book, and in principle they could pay you in Bitcoin, but you wouldn't be anonymous.


text:
What currency do the antminer pools generate?
Sorry to be a newbie, But I'm pretty lost. I just set up my first Antminer and don't understand very much. There are three pools suggested as the default. What am I generating as far as currency?

Antminer is good a a certain type of cryptographic hash: SHA256. So while you can technically hash any cryptocurrency that uses SHA256 (ie. http://www.coinwarz.com/miningprofitability/sha-256) most pools will be focused around Bitcoin and even those that don't mine Bitcoin directly, will give you the option to trade whatever they're mining, directly to Bitcoin.
Some pools can hash several similar cryptocurrencies at the same time but considering their relative values they are hardly worth the bother and admin taken to trade them and you can probably find a pool that does all of this automatically. Go ahead and visit the pools' websites and read their FAQ pages and ask for help on their forums!
Beware though - many, if not most, pools and Bitcoin services are run by Crooks out to steal your money or use your hashing power for their own gain. Look for pools that have been around for several years, and with lots of users and a friendly community!
Also beware! If you are paying for electricity, you are probably going to mine less Bitcoin than the cost of the electricity - so you might as well not mine at all and just spend the money that you would have spent on electricity, directly on buying Bitcoin at an exchange. For older hardware this holds true, even if Bitcoin should reach $3000 each.

Thank you for your courteous reply. I trying a S5 and if that can be profitable, I'll look at the S7's.


text:
How to track and handle double-spend attacks?

If a double-spend attack is pulled off, how to manually verify transactions via the bitcoin daemon and how to know how much amount lost? Will the saved transaction hash be re-usable to obtain info about the transactions using gettransaction?
Is it possible to pull off the attack after 48 hours?

Regarding "48 hours", it's not time that determines that. It's the number of confirmations. If you have one confirmation, 48 hours later you will have about 300 confirmations. Which is not double-spendable anymore with (bordering to) absolute certainty. It's also possible you still have 0 confirmations however, then double spending is likely. Usually 6 confirmations is considered safe. For small amounts in low risk situations 1 confirmation might be good enough.

You can just wait for enough confirmations. Most wallet and blockchain websites will show you the number of confirmations for a transaction id.
If it is a small transaction (less than 100 Bitcoins) then waiting for 3 confirmations should be enough. 6 confirmations means that roughly 10% of the network has confirmed your transaction and is the ball park used by many cautious services.
Every confirmation takes a minimum of around 10 minutes.
It has happened less than 15 times that transactions with 3-4 confirmations were reversed and it has happened almost 1000 times that transactions with only one confirmation was reversed. (What is the longest blockchain fork that has been orphaned to date?)
So, technically, it's really so difficult to pull off a double spend after 50 minutes, that nobody has ever done it.
If it does happen, the whole transaction basically just "never happened" so the transaction doesn't take place and the whole amount is "lost".

I don't understand what you mean with "6 confirmations means that roughly 10% of the network has confirmed your transaction"?

@dagelf therefore Executing gettransaction on a reversed transaction will return an error?

Gettransaction on a reverted transaction will simply report 0 confirmations.


text:
How is mining profitable if a $10.000 ASIC will generate like $63.23 per month?
This $10k ASIC miner has 1TH/s and by this hashing calculator (I know they're not THAT precise but...) it'll generate like $63.23 per month? Why would anyone invest in this?

That's 10 USD per GH/s. Find a miner for below 0.40 USD per GH/s, otherwise you are paying too much. This miner should cost less than 400 USD.

I bought two ASIC miners @ $300 and $200 used. A new one would only costs around $1000. Where did you get the $10,000 marked from?

In general, to determine the profitability of the mining market you should look at the best offers for hardware, not just a random offer. I could offer you the same ASIC for 1 million dollars, it wouldn't make mining any less attractive. Of course, this simple principle generalizes to more than just mining.

That particular miner is way overpriced.  Nobody should buy it at that price.  The seller either listed an incorrect price, or is very confused about the current market for mining hardware, or is hoping to find a customer who is a sucker.
For comparison, the Antminer S5+ has a (claimed) hash rate about 7x higher and costs about 1/4 as much, making it about 28 times more economical.

They wouldn’t. You just have to do the maths, which you have done. The tricky part is trying to figure out how fast you can recoup your investment before you make profit. Generally, it’s not a linear relationship.

In my opinion investing in a miner at present times is not profitable at all. You will be better off investing that amount of money buying bitcoins, since you will get more bitcoins that what you will end up mining.

The exchange rate makes the equation volatile and unknown as well.
If you're bullish, like many are, mining now will be as valuable as it was for the first few people who were mining with their CPUs in the beginning.
EDIT: If the exchange rate rices, then your revenue per month in USD increases as well.

Please reply to the specific question and don’t revert to commonplaces in answer posts. Besides, even when you are bullish about Bitcoin, buying bitcoins is a better investment in the majority of the scenarios.

How would answering a question about the exchange rate and mining profitability be unrelated?

I didn’t say unrelated but trivial. "Bitcoin’s price is volatile. If you think Bitcoin will succeed, mining is a good investment." What insight does that give about why this severely overpriced miner would be a good investment? Your edit helped connect your statement to the question but my other interjection remains: When you expect the Bitcoin price to rise and make your miner profitable: Why not buy a more profitable miner in the first place? Or directly buy bitcoins? They’ll be profitable immediately as soon as the price rises, without waiting for a ROI.


text:
External GPU for mining
Of course, there are lots of ASICs out there with exponentially more hashing power. But I'm not yet ready to invest and dedicate to one coin. Is there a mining solution in which one can set up an external GPU enclosure and use those to mine? If so, how would one go about setting it up? Thanks!

This question appears to be overly broad because it's asking for a hardware recommendation, which will go out of date incredibly quickly.

Agreed, this is too broad and has essentially been asked before. This is basically asking how to start mining, and this question has been answered here: http://bitcoin.stackexchange.com/questions/1433/how-can-i-start-mining-bitcoin

You would likely spend as much buying a couple of decent GPUs as you would buying a small mining rig for sha256/scrypt (i.e. Bitcoin/Litecoin).
You can use "riser cables" to connect a PCI-E GPU to your computer's motherboard without it being inside the case but there is a limit on how long these can be (safety / fire risk).. I think 12-15" is about as long as they get realistically.
FYI:  GPU mining doesn't need a powerful computer, any old computer will do so long as it has suitable PCI-E ports and a few Gb of RAM.


text:
What's the minimum setup to mine a block alone?
What's the minimum setup that you guys know, that can, today, mine at least 1 block alone, without the use of mining pools?
I know I wouldn't be able to afford it, but just by curiosity...

It really depends on how long you're willing to wait.

@NickODell: Indeed.  Paper and pencils suffice, if you're willing to wait about 695 quadrillion years.

In hopes of making this a useful answer in the long run, I will show how one can answer this question in general, then give an example using today's values.
Let d be the current Bitcoin difficulty, which can be found, for example, with the getdifficulty command in Bitcoin Core, or from any of a number of sites by searching Google for "bitcoin difficulty".  The average number of hashes needed to mine one block is then h = 232d.
Suppose you have mining equipment with a total hash rate of r hashes per second.  The time M needed to mine one block is of course random.  Since each hash is effectively an independent trial of mining a block, all of which have the same very small probability of success, and those trials are executed very rapidly, the distribution of M is well approximated by an exponential distribution with rate r/h Hz.  As such, the probability p of mining at least one block within some fixed time t seconds is p = P(M < t) = 1 − e−tr/h.  If you choose values for t and p, you can solve for r to determine what hash rate you would need to have probability p of mining a block within t seconds.
You can then look at a page such as https://en.bitcoin.it/wiki/Mining_hardware_comparison which lists the hash rate of various mining hardware, and decide how many units of your favorite miner you would need to achieve that hash rate.
As an example, suppose you want a 50% chance of mining a block within 30 days. As of right now the difficulty level is d =  39 603 666 252. Taking p = 1/2 and t = 60*60*24*30 = 2 592 000, you find

r = 45 486 834 753 298

or about 45 Thash/sec.  Let us suppose you wanted to standardize on the ASICMiner BE Prisma, which, according to the page linked above, generates 1.4 THash/sec, draws 1.1 kW of electrical power, and costs US $600.  You would need roughly 32 such devices, at a total cost of US $19 200.  You would use 35.2 kW of electricity.  (By contrast, electricity service to single family homes in the US is often a maximum of 24 kW (100 A at 240 V).)  At a typical electricity cost of US $0.10 per kWh, that would cost you US $3.50 per hour, or US $2 520 per month.
This assumes that the mining difficulty does not increase significantly over the course of the month, which is not a good assumption (it typically increases every 14 days or so).  The expected mining rewards from this setup would continue to decrease as the difficulty increases over time.


text:
How can I hold Bitcoins safely in the long term?
Say I wished to hold a lot of bitcoins for many years as an investment. My worry would be about the long term safety of the different wallet mechanisms. If it's a website - what if it goes bust or goes down? If it's on my phone - then what if I lose my phone?...
Correct me if I'm wrong but presumably a bitcoin is essentially a long string of numbers, so presumably I could physically write this down on paper, make a few copies as backup and bury them in the garden (or whatever), then I wouldn't have to worry about the website going down.
I guess that my ultimate question is, how can I store some bitcoins for many years without having to worry about the security of my wallet?

@DumbCoder: yes. But that's a different question :-)

This answer might be of use to you:  http://bitcoin.stackexchange.com/questions/43875/what-options-does-one-have-to-manage-bitcoins/43882#43882

If it's a website - what if it goes bust or goes down?

There are private key storage companies that specialise in backup procedures and use multi-signature keys. If they go bust, you still have full control of your funds and just choose another provider.
Read more about how Bitgo employs these services on behalf of its users:
https://blog.bitgo.com/bitgo-release-open-source-key-recovery-service/

If it's on my phone - then what if I lose my phone?...

Most Bitcoin wallets are now Hierarchical Deterministic (HD) style wallets, which means all private keys can be restored by entering a set of random English words. As long as you don't lose those words, you can easily restore your bitcoins if something happens to your device.

Correct me if I'm wrong but presumably a bitcoin is essentially a long string of numbers, so presumably I could physically write this down on paper, make a few copies as backup and bury them in the garden (or whatever), then I wouldn't have to worry about the website going down.

You're not wrong, but most people would find this process tedious and difficult. And if you die, there's a good chance your family would have nobody to guide them through the restore process.

I guess that my ultimate question is, how can I store some bitcoins for many years without having to worry about the security of my wallet?

The best solution currently is a hardware wallet called Trezor. It is a usb device that is a mini computer capable of generating and keeping your private keys offline, even when plugged in.


text:
Why is the change address for a transaction the same as the originator address?
I was under the impression that if address abc has 100 BTC assigned to it, and it pays address def 20 BTC, 80 BTC will be transferred from abc to a new address ghi. But in this transaction:
https://blockchain.info/tx/15bf8b35c9210efe7e448c5fc6b69b47b3a8cac9c148c7cc57c65f266384d9b8
The change address is the same as the originator. Why is that?

Many wallets let you control where to send the change. In most cases it is advisable to send to a new address to reduce traceability and increase your privacy a little, but not everyone does and sometimes it makes sense not to do it. Most modern wallets will create a new address automatically unless you stop them.
Bad reasons to send change to the same address

Fees. Some people think that they will pay less fess if all their funds are in the same address. That is not the case, fees are determined by number of inputs (and age, signatures and outputs), not addresses. 1 BTC in address A and another one in address B will cost to send the same than 2 BTC in two different inputs in adress A
Convenience. Some people think that having many addresses is more difficult to manage. This is wrong, all wallets will do this automatically.

Good reasons to send change to the same address

Multisignature addresses (those that need several parties signing transactions). Those work in a different way than regular addresses and don't "live" in a wallet. Users need to create them one by one, usually for very good reasons (like needed two signatures to pay with shared money) and sending change to a new non multisignature address would defeat their purpose.
Accountability. If someone publishes an address so others can check what he does with the funds it makes sense to always send the change there so it is easier for those who check.

Bitcoin Core sends change to a different address, but the Bitcoin protocol does not require that. You can write a Bitcoin client that sends the change to the original address.
There's no benefit to sending your change to the original address; it does not provide lower fees or faster transactions.

authors: สว่างใส เพ็ชร์ศิริ


text:
Who generates the coinbase transaction?
As the wiki article says,

Given just those fields, people would frequently generate the exact
  same sequence of hashes as each other and the fastest CPU would almost
  always win. However, it is (nearly) impossible for two people to have
  the same Merkle root because the first transaction in your block is a
  generation "sent" to one of your unique Bitcoin addresses.]1

Who generates the coinbase transaction?

The coinbase transaction is not relayed by the network. It is invalid except as the first transaction in a block.
A standalone miner generates the coinbase transaction itself.
In mining pools, the mining pool generates the coinbase, and sends it to the mining client.


text:
Will 64-bit miners work on 32-bit machines?
I want to distribute some miners, but I prefer not to distribute 2 versions of everything (32-bit and 64-bit).
According to Microsoft, most 32-bit programs run on 64-bit systems. I'm not concerned with that as much as an efficiency drop; will 32-miners be half the optimal speed on a 64-bit system? Additionally, many miners (cgminer/cudaminer) require drivers to be installed; these would obviously have to be 64-bit.
So, should I distribute only one version of the CPU miner (minerd.exe) or will that cause problems or a lack of efficiency?


text:
How to apply RBF (Replace-by-Fee)
I got a stuck transaction and would like to clear this. I found many information about RBF (Replace-by-Fee) how it works etc. So i think this might be the best option to get my transaction going.
Unfortunately i couldnt find any information about how to apply this command to the existing unconfirmed and zero-fee transaction. Please advise.
THank you so much

RBF Tools by Peter Todd
This page contains

..tools to test out replace-by-fee functionality. You'll need a local
  node with the replace-by-fee patch.

E.g.
To double spend ./double-spend.py <address> <amount>
To just increase fee ./bump-fee.py <txid> etc.

but how to enable replace-by-fee in bitcoin-core?

It is not implemented yet.

"You'll need a local node with the replace-by-fee patch. A version applied to Bitcoin Core v0.11.0 is available at https://github.com/petertodd/bitcoin/tree/replace-by-fee-v0.11.0 "


text:
Avalon mining issue
Pretty much a newbie to mining and got an Avalon (Nano 3) to start, I'm running Windows 8.1 and using the LPC USB VCom port (COM3).
AvalonGUI runs about 5 minutes at 3-4 GH/s - then closes/stops operating.  No info in the Avalon.log. But according to slush pool, my worker does work. I stopped using AvalonGUI and have tried to get BFGminer (4.7.0) running.  the hash rate stays at 0 even though it sees the device.
Here is my BFGminer command line:
"bfgminer -0 stratum+tcp://us-east.stratum.bitcoin.cz:3333 -S avalon:\.\COM3 -u xxxxxxx -P ppppppp"
I am getting 'Avalon: Reset Failed! not an Avalon?' error.
Any help would be appreciated! time costs money :)

most likely you have done something wrong, Are you sure you are using the correct program (Nano GUI?)
Here is an image for the .ini and what it should like:
http://postimg.org/image/qak22zij9/2c2b57c6/
Finally, don't expect much from this miner. it's merely a way to start mining but the profit from mining might barely cover it's cost.

Thanks for the suggestion! I guess that's been the issue all along. I removed all the software (USB driver and Avalon service/UI) and downloaded the 'Avalon Nano Quickstart'. Installed the USB driver from the download, modify the Avalon.ini- edited the COM port . Launched gui, closed gui, plugged in Nano and launched GUI again. I've been running now for ~8 minutes.

I use an avalon nano and to work properly I found this command line.

Be sure to install avalon software
http://downloads.canaan-creative.com/software/avalon_nano/software/latest/AvalonInstaller.zip
Copy bfgminer folder from "c:\Program files\Avalon" or "c:\Program files (x86)\Avalon" to the folder of your choice (c:\bfgminer)
Uninstall avalon.
Open notepad and create  a file bfgminer-avalon.bat and put this in it (substituting your own credentials):

BfgMiner.exe  -o stratum+tcp://eu.multipool.us:3363 -O workersname:workerspassword  -T  -S ICA:\.\COM4   --set-device  ICA:baud=115200  --set-device  ICA:reopen=timeout  --set-device  ICA:work_division=1  --set-device  ICA:fpga_count=1  --set-device  ICA:probe_timeout=100  --set-device  ICA:timing=0.22


text:
Solo mining before wallet got sync'd
So the question is can i start mining(solo)/using my wallet for transactions or whatever when my wallet is not sync'd? I've tried to mine solo but it doesn't work =(.

What have you tried? How is it failing?  It is possible to mine and sync at the same time. Some hints: Bitcoin client needs to run in server mode for one thing.  Also what mining software are you using?

I've tried exactly solo minining in server mode with bitcoin-qt(launchs from .bat file "bitcoin-qt -server -datadir:=Disk\folder(example)") client and 50miner; file Bitcoin.conf is also created. I would be very greatful if you help me. We can contact by email or something else so i'll be able to describe anything you might need to know if you know much about this and ready to help me.

You can't solo mine if you're not synched. In order to mine, you need to know what the longest chain is, and you can't do that until you're synched.

O, it does make sense, thank you. That's exactly what i needed to know.


text:
What would happen if SHA256's pre-image or collision resistance would be broken?
I'm experimenting with some self study cryptography and I was curious about the two following scenarios (simple answers and/or in relation to bitcoin)
If SHA256 was found to lack pre-image resistance, would it make solving the puzzle easier?
Alternatively, if the algorithm was found to be not collision resistant - would the puzzle again be easier to solve?
Thanks

Preimage resistance and collision resistance are not absolute, they are just matters of amount of computation that is necessary to solve certain problems. For example, for an ideal hash function with 256-bit output, an order of 2256 evaluations are needed to find a preimage, and an order of 2128 evaluations are needed to find a collision. Anything less is considered an attack.
For example, if you can find collisions with just 2124 evaluations (and not because you are lucky, but because you use some approach specific to the function), this is an attack, but it is not practical because 2124 is still immensely large.
Moreover, for Bitcoin mining, you need to find only partial preimages, not full preimages. For example, to find a value such that first 50 bits of its hash are zeros, you need 250 hash evaluations, assuming the hash is ideal. And there is a problem: if the hash is not preimage-resistant (so you need, for example, just 2240 evaluations to find a preimage, rather than 2256), this doesn't tell anything about resistance to finding partial preimages (so the above problem may still take 250 evaluations, but may take only 234). And lack of collision resistance doesn't tell anything at all about the difficulty of finding partial preimages. However, Bitcoin depends on collision resistance of SHA256 in other places, so it is still important.

Any collision resistant hashing function Hk : {0,1}* → {0,1}k is pre-image resistant regarding the uniform distribution on {0,1}2k.

A ⇒ B ⇔ ¬B ⇒ ¬A: I.e. if a function isn't pre-image resistant it is not collision resistant either.
SHA256 is a function that maps a potentially unlimited set of numbers to a smaller set of numbers.

Hk : {0,1}* → {0,1}k

Collision resistance is a property that loosely says, it is difficult to find two inverse images X ≠ X' that have the same image H(X) = H(X').
More to the point:
A function H is collision resistant, if any algorithm can only find a collision with a negligible probability in probabilistic polynomial time.
I.e. if SHA256 would turn out to not be collision resistant, one could try to pick hashes that would succeed at the current difficulty, use the above predicted inverse function of SHA256 to calculate inverse image candidates, and finally check whether one can satisfy them with the currently available block input.
My gut feeling would be though, that it would be pretty difficult to find inverse images that also satisfy the required structure of the block input, especially getting right the hash of the parent block, and matching an address that one controls for the coinbase transaction.
Unfortunately, I have no idea whether the complexity of that would be greater or smaller than bruteforce mining.

I am currently studying for an exam whose topic includes Collision Resistance, pre-image resistance, and so forth. So, please take in account that I am by no means a cryptography expert before building on my answer. :)

I thought that Pre-image resistance and Collision resistance are something akin to mutually exclusive?  Its more of a relationship between collision resistance and secondary pre-image resistance right?

@mcdoomington: Target Collision Resistance (or Second Pre-Image Resistance) is between the two: For big domains hashed to a smaller image sets it is Collision Resistance ⇒ Second Pre-Image Resistance ⇒ Pre-Image resistance. Also see Does collision resistance imply (or not) second-preimage resistance?


text:
Laymans guess to determine how many hashes must be computed to you find a specific value
I have a question about bitcoin, lets say that the output is uniformly random and that it is 256 bits in length.  The output of the hash function y=H(t) begins with 25 zeros - how many times would one have to call the hash function to get something that starts with 25 zeros?
Secondly, how does one verify the solution and how many hashes would be attempted to solve it?

Does "zeros" mean zero bits or zero hex digits (which would be 100 bits)?

zero binary bits as stated.

It's pretty simple. Since the hashes are uniformly distributed, 25 zeroes is as likely as any other possible value for the first 25 hexadecimal digits. There are 16 possible values for each hexadecimal digit, so the number of possible combinations is 16^25, or about a 1,2676506×1030. This also means that on average, one in 1,2676506×1030 hashes will start with 25 hexadecimal zero digits.
To verify the solution, you just compute the hash once and check if it starts with the required number of zeroes. So, it's 1030 times easier to check the hash than to find it.

I should restate my question as it appears that it might not be complete.  If the output is 256 bits, that would be binary {0,1} and not hexadecimal correct?  If I assume the later, then there would be 2^25 possible hashes which start with twenty five zeros.  What would the number of hashes approximately then would I need to compute in order to find one that satisfies this? (2^25)/(2^256)???

In addition to the bits versus hex digits confusion, it looks like 25 turned into 15 somewhere along the line?

If you're looking for 25 zero bits, it would be (2^25). The fact that there are 256 total bits is irrelevant.


text:
How can I tell if my Bitcoin wallet is working?
I'm not sure if my Bitcoin wallet is working, is there a way to check that it's ready to go? I'm using Breadwallet for iOS.

breadwallet is a standalone bitcoin client for mobile devices. There is no server which can get hacked or go offline, so you can always access the funds stored on your phone.
Using SPV mode, breadwallet connects directly to the bitcoin network with the fast performance you need on a mobile device.
Since the wallet itself has no indicator for connections and does not synchronize the blockchain, I would suggest that you use a very tiny amount of Bitcoin and send it in a micro transaction to your breadwallet to test if you are set up and connected.
By the way, did you backup your wallet yet?

I want to use something safe and reliable, should I use greenaddress or just download Bitcoin core on my PC.

Also yes I have a backup of the recovery code and have scanned the blockchain multiple times.

If there is lack of indicators in the software and lack of documentation you can always send some small amounts of bitcoins to your public key from another key.

If it's connected and synced, you're ready to go.

I think the question is how he can check whether it is connected and synced. Can you tell?


text:
Does the private key of Bitcoin change everytime the address changes?
I have read from many sites that an address should change every time a Bitcoin transaction is made. Does the private key change along with the Bitcoin address. How is the address obtained from the public key? Is it the same method of deriving the public key from the private key?

You have many private keys
Quintessentially, a wallet is a key chain for your private keys plus optional convenience and usability functions. When you create a wallet, at least one but usually lots of private keys are generated. E.g. Bitcoin Core keeps 100 unused private keys in store at all times by default, and whenever you use a new address, this pool of unused keys get topped up again.
You have a different private key for each address

From a private key, you can easily derive the corresponding public key: Together they form an ECDSA key pair on the secp256k1 curve. You cannot easily derive the private key from the public key.
The address is then derived from the public key: First you hash the public key with SHA-256, then you hash the result with RIPEMD-160. The result is then formatted in Base 58 including a checksum.

Therefore, each private-key only corresponds to one address.
(Vice versa, each address corresponds to 2^96 private keys, of which any one is sufficient to spend any funds associated with the address, but that doesn't concern us here.)
The above is true for any wallet that uses unrelated private keys. There is also another scheme which is called hierarchical deterministic wallet: There, you create one "master key" from which you can recreate all following keys deterministically.
Simplified:
    Master key:     12378925612143
    key + 1:        12378925612144
    key + 3:        12378925612146
    key + 6:        12378925612149
    key + 10:       12378925612153
    key + 15:       12378925612168
    key + 21:       12378925612174
    key + 28:       12378925612181
    …

As you can see, if you have the master key, and know the derivation rule, you can recreate the same keys again.
This is safe, because even when providing a signature, your private key is never revealed, or even when you reveal one out of your chain of private keys, your derivation rule is still unknown.
Different addresses are for privacy
Why should you actually use a different address every time?  Actually, it is fine to use an address for multiple transactions. Most wallets do not do it, to increase privacy: If you use the same address over and over again, it is obvious that all these transactions are related to the same person. By using a new address for every transaction, transactions may still be linked by clever blockchain analysis but it isn't immediately obvious, may be plausibly deniable, or (with some effort) transactions can even appear completely unrelated.

If you are posting different questions I suggest, posting them up in different threads. But I'll try to answer all of them.
1) It doesn't work like that. Every address is a pair (private key, public key), the address is made after hashing the public key twice.
So, each address has one private key and private keys are not shared.
So if in one address you have 1 btc, and you want to send 0.5 btc to some other address, usually the wallet software creates a new address that receives the difference minus the tx fee, that's your change address and any further transaction that spends the funds will spend from that address (the change address).
To clarify, address A has 1 btc. You want to send 0.5 btc to some address B.
What happens is, the balance of address A is fully spent into
B          (0.5)    <--- amount you want to spend
C          (0.4999) <--- amount you are left with after spending
fee        (0.0001) <--- transaction fee on spending B
A (total)  (1)      <--- original balance. fully spent

C is your change address, and when you spend your coins again you will spend from C and not from A.
2) The Public Key is obtained with one method related to how the way ECDSA works and the address is obtained by another method, mainly it is double hash of the public key that is encoded in a format called base58check as it includes a checksum to ensure that you didn't type the wrong address, also base 58 is designed to eliminate similarly looking characters, like 0 and O or l and I.
3) For the last question I'd like to refer you to How are bitcoins reassigned


text:
Are there any legal implications when using localbitcoins.com?
You can get BitCoins for under 100 bucks via CoinBase and there are people on LocalBitCoins who are advertising offers to buy BitCoin for over 100 bucks.  The spread is around $10; so I was considering arbitraging.  Are there any laws that would apply to transactions conducted through the LocalBitcoins website that I might not be aware of?  I'm thinking of a situation where a person you sell BitCoins to might, unbeknownst to you, turn around and do something illegal with them, and get caught.  Would the seller of those coins some how be in the wrong in the eyes of the law?
Edit: I'm looking specifically for applicable US laws it would probably have to be several thousand bucks a week to be worth the time.

If you get into selling on LB, you'll quickly understand why LB sellers price 5%-20% on top of the exchange rate. When I was an active seller earlier this year, my break-even point was 4% buying on CampBX and selling on LB. There's to make it actually worth my time, it was at least another 2-6%.

I'm not a lawyer. In the U.S., the lack of mens rea in your example would not cause you to have violated any laws.  As a person selling your coins, it is not your responsibility to determine your buyer's intentions.
Of course, this is not quite so simple.  Money transmitters have regulations that include AML/KYC (know your customer) requirements which might be a factor here.   FinCEN has asserted that the conversion of bitcoins to and from cash (or other substitutes for value) is transmission of money.  So if you are engaged in trading as a business (i.e., not as an "infrequent" trader) you would likely be expected to be registered as a money service business (MSB), be licensed as a money transmitter and follow the AML/KYC requirements when conducting those trades.   Those requirements would involve gathering identity in certain instances, keeping records (for five years), and reporting suspicious activity.
Now, whether law enforcement will pursue a trader for trading without registering or following AML/KYC is unknown.  There are multiple individual traders whose banks have taken action to shut down service to their customers whose banking activity might be linked to providing Bitcoin exchange services.
So regardless of whether there is legal risk, there are other hurdles when engaging in trading to consider.

Looks like we have our answer about law enforcement pursuing individual traders on localbitcoins... http://www.coindesk.com/localbitcoins-users-criminal-charges-florida/

All the more reason to vote Libertarian. I've never seen any evidence that AML/KYC make any difference to crime levels.

The laws that apply depend on your country of residence.
There usually exist some sort of Know Your Customer (KYC) regulation which requires you to check the background if the sum in the trade is very large or your customer has odd buying patterns and you should suspect illegal activity. Also if you trade money professionally you might need to acquire some sort of licence. However, there cannot be an exact answer until we know

in which country and state you are in
what the daily trade volume you are going to have is.

After selling the bitcoins it really doesn't matter what happens with them. Like with cash, it is out of your control and not your responsibility to follow the money.  In fact, most of the cash contains traces of cocaine and no one feels bad about it.
You might get some in-depth information if you ask this question on one of the LocalBitcoins.com region specific discussion forums where traders who buy and sell in that region might explain what regulations they follow.

US a few thousand a week in sales

Here is some blog post discussion regarding the matter http://blogdial.wordpress.com/2011/08/03/bitcoins-are-baseball-cards/


text:
Block Erupters Continue to err out
Does anyone else have this problem?  I have to restart that computer and mining rig about once a day.  More than half will err out over 12 hours.  They can't recover by themselves?
O.S.: Ubuntu Server 12.04
mining program: bfgminer 3.3.0
$tmux
$sudo ~/bfgminer/bfgminer -o stratum+tcp://stratum.bitcoin.cz:3333 -u MYWORKER -p MYPASS -S all

ctrl-B, ctrl-D
close terminal session
Nothing else is plugged into a USB port.  It's one of the simplest setups I can think to make.
Block erupters are less than a month old.  Block erupters have all the current they'd want at 5V (external power supply and their current demand doesn't get anywhere near the limit of the p.s.)
I'll try to come back as soon as I can find any specific error messages.
Should I not keep the mining executable in my home directory?

Most problems with block erupters is because they don't get enough power. Most hubs (even powered ones) and laptop usb ports are complete garbage and deliver below spec power.
Which USB hub is this on, and with which power supply?

this usb hub: http://www.amazon.com/10-Port-USB-2-0-Hub/dp/B00475WJEY/ref=sr_1_22?ie=UTF8&qid=1384479175&sr=8-22&keywords=usb+hub

powered with an external power supply that should be able to deliver up to 12A @5V

I've gotten this error occassionally: ./bfgminer: error while loading shared libraries: libblkmaker_jansson-0.1.so.0: cannot open shared object file: No such file or directory

OK, so I found this thread: https://bitcointalk.org/index.php?topic=168174.140.  Re-cloning, configuring, makeing, and not moving directories around.  We'll see if the problem persists.

Problem persists! I found all my block erupters in the external hub erred out this morning.  Is it cooling?  The room they're in is pretty cool (windows was open and frosty outside) and exaust of power supply is on them, but I don't have a fan on them.  This is the error line: ICA 0:       | OFF  /244.3/234.5Mh/s | A:  657 R: 3+0(.45%) HW: 16/.83%


text:
What do I do with all my old block erupters?
I'm making like nothing off these guys and am looking to use them for something else.  I guess these ASICs are designed for SHA-256 hash function based cryptocurrencies.
Try to mine Terracoin?
cryptocurrency list:
http://dustcoin.com/

I use mine in "lottery mode" as I call it.
They don't really consume too much energy, so I just let them solo mine. Big chance will turn out to be nothing, but with some luck they will ever find a block and cash in 25 BTC.
How low the chance may be, it's still a lot higher than winning the ordinary lottery and way cooler :)
EDIT: A quick calculation of your odds.
The current (2014/01/24 23:07) chance of a hash to be a winning hash is 0.0000000000000000001061272725905534506860017351925762341. Then the odds of winning each day are for one block erupter USB of 330MH/s
0.0000000000000000001061272725905534506860017351925762341 * 330*10^6 * 60*60*24 = 1 / 330480.1
So one chance in 330,480 each day or one chance in 905 a year (of course, changing difficulty has to be taken into account).
Let's take the Powerball lottery as a reference as Earlz mentions, it has odds of one in 648,975.96 to win $10,000 one in 5,153,632.65 to win $1,000,000.
So, every day you have double the chance to win 25 BTC than you have to win $10k, which is less and costs you probably a dollar or two to enter.

I computed the probability on something like this once and it is ridiculously low. I used CPU mining as the bitcoin lotto though. Basically, you have a significantly better chance at winning the powerball lottery than mining a single block with less than a few ghash/s

Well, I believe you don't. I'll update the anwer shortly.

Unfortunately these small asics will eventually be useless unless you want to keep one or two around on the off-chance that you will want to start your own crypto-currency.
However, if you have a pile of 10-20 of them setting around, you could use them as an opportunity to teach people about Bitcoins and how the system operates.
Handing out erupters that you no longer need could be a good way to pique the interest of people who have heard of bitcoin, but have never taken a good look at it.
Other than educational purposes, or seeding new cryptos, I see no long-term use for these low hash power ASICs.

This is good for really getting to know the bitcoin ecosystem, to experience all aspects. They could be passed from newbie to newbie. Maybe for a small fee :-)

There's piles of different coins to mine.  Figure out which one is most profitable to mine: http://www.coinwarz.com

Sell them to someone who wants the experience of mining but doesn't have much of a budget for the hardware.   These are easy to package up and cheap to ship so this is a valid and worthy endeavor.

You really should start to mine new alt-coin !!!
Look at my experience. I've mine ppcoin in merge pool for long period in 2012. I've got around 100k ppcoins. And I've sold it for month after mining. Not a big deal, 1-2 BTC for that time.
Now look at the price of ppcoin: 0.005 BTC, I may get 500 BTC today.
There are 100 alt-coins with the same algo sha256.
Another example, from current state: There was price 1 Satoshi 0.0000 0001 for the MOON coin ( scrypt ). It has been added to cryptsy, and now its price is 28 Satoshi. You can buy alt-coin before it will be added to cryptsy and in 100% get profit. In MOON scenario it is 2800 %. It is rocket!
You better take your hands and start to lurking for new potential good alt-coins with sha256 algo.
E.g. You can't get luck in solo with current sha256 alt-coins, check the pools, there is already great amount of asics. 99% of sha256 coins very rapidly come to the market. Because it is very easy to add similar coin to one bin.

github.com/zetacoin/zetacoin.git
github.com/bryan-mills/bytecoin.git
github.com/terracoin/terracoin.git
github.com/freicoin/freicoin/
github.com/asiccoin/asiccoin.git
github.com/Nameshar/Noirbits.git
github.com/tigercoin/tigercoin.git
github.com/Unthinkingbit/groupcoin
github.com/r3wt/OSC
github.com/joulecoin/joulecoin.git
github.com/maxxine/Tekcoin
github.com/thegreatoldone/Unobtanium.git
github.com/emarkproject/DEM.git
github.com/jmsanto123/NaanaYaM.git
github.com/chronokings/huntercoin
github.com/snowcoin/snowcoin
github.com/Sphere2013/GlobeCrypto
github.com/NKAKoin/IncaKoin
github.com/chicoin/chicoin

Every this coin you might start to mine with your block erupter.
But! Better, start to lurking for newest one, that have great Idea in the ground:

Fast block ( e.g. 30 seconds )
Dynamical difficulty ( unkillable alt-coins )
Cool name ( e.g. MOON, see like it flew )
Not yet added to the crypty ( ! ! ! ) ( it is optional )

Look at this super new alt-coin: Titcoin [TIT]
When you can hold your portfolio for the long period, e.g. half of year, you might meet the same situation that I observe with ppcoin, now. ( 500 BTC ~ half of million USD, just for merge mining. I didn't aim to this alt-coin ever, just mine this alt-coin by the way and sell, and lose this game... )


text:
Do all weeks of blocks take the same time to process?
Bitcoin is slowly synchronising

Synchronising the  network... 78 weeks behind

Do all weeks of blocks take the same time to process? Or will recent blocks be slower because Bitcoin is more popular now?
It felt like going from '100 weeks behind' to '80 weeks behind' took longer than going from '200 weeks behind' to '100 weeks behind'

It's the number of transactions that counts. The progress bar in recent versions of the reference client (0.8.2 and higher) uses an estimation of this, so it represents real time better.
Also, after the last checkpoint (block 250000, as of 0.8.5), signature checking is enabled, which requires significantly more CPU to validate.

Thanks. Just got to block 250K and my computer has starting making a lot of noise.