text:
What happens if a TX was a double spend?
What happens if the 'High' risk option (one confirmation) was chosen and then the TX turns out to be a double spend in the end? Would the value deposited be revoked? Would the user be notified somehow?

You've put the tag [tag:bitpay] on this. Do you mean to ask this specifically from the perspective of a merchant using BitPay to accept payments? If yes, you might want to clarify that in your question. :) I've also added the tag [tag:doublespend].

The order will never be confirmed, and depending on what wallet your using, it should be reflected as never having been confirmed and won't show up in your balance.

The appearance of a double-spend on the network throws the status of the earlier payment into doubt.  The doubt is only resolved when one of the payments is confirmed.  As always, the more confirmations, the more certainty that the payment will be permanent.
The recipient of the payment that was double-spent is NOT notified very quickly.  The bitcoin network itself tries not to propagate double-spends.  Therefore, the earliest that recipient reliably learns of the problem is when the double-spend is actually confirmed in a block.
Even then, most wallets are not very vocal about notification.  This is an area where bitcoin could improve.  A bitcoin core improvement request initiated by Gavin Andresen does exist.


text:
Splitting hashpower over multiple pools
Is it possible to split the mining hashpower of a rented mining rig over multiple pools simultaneously?
Say, I rent a scrypt mining power of 5 Mh/s. What I want to do is point that rig to a stratum tcp port on a VPS/dedicated server that I own, and then "funnel" the total hashpower to mine on different pools from the VPS using cpuminer/gpuminer. Is that possible?

source: Stack Exchange

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

sort: votes


text:
Is it possible to combine PoW with PoS by taking turns?
I have read about cryptocurrencies and am very excited by many. I have read that one of the worries and constant debates is Proof of Work vs Proof of State with respect to securing the validity of the blockchain, especially within Ethereum.
I wondered why we would not just combine the two. For example, the first block validated by PoW, second block by PoS, third by PoW, etc. As each block depends on the previous a 51% attack would be a lot more difficult and power consumption significantly reduced.
Is there an obvious problem with doing that?

Yes. The problem with this approach is that all PoW nodes will be idle half of the time, and all PoS nodes will be idle half of the time. This isn't a huge problem. You could mine a different coin during the time that your PoW miner was idle; PoS nodes being idle half the time is not a big issue.
Your proposal does have a security advantage that I don't think you've pointed out. Specifically, in order to conduct a 51% attack, you need to be able to produce both PoW and PoS. You can have 51% of each, or you can compensate for a smaller amount of PoW or PoS by having more of the other.
For a 51% attack, ordinary PoW requires:

W = Your PoW capacity, where 0.5 means you control half of the hashpower
  W > 0.5

For a 51% attack, ordinary PoS requires:

S = Your PoS capacity, where 0.5 means you control half of the coins actively participating in PoS
  S > 0.5

For a 51% attack on this scheme, you'd need:

1/((1/S + 1/W)/2) > 0.5

Can you explain how you got that last formula? And also, isn't a '51% attack' a little vague? With 51% of the mining power, you can do a few different types of attacks given that you have that amount of mining power. What could you do with W, S such that 1/((1/S + 1/W)/2) > 0.5?

@ Nick ODell, I'm curious about your answer to this question. Could you look at my last comment?

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


text:
bitcoin-qt v0.7.2-beta qt version 4.8.2 is FROZEN/CORRUPT?
It keeps telling me at the bottom of the screen that the displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade. Can anyone help me please?
i am using a mac os x version 10.6.8 and i have tried to upgrade the bitcoin wallet using bitcoin-0.8.1-macosx.dmg but after a restart it will not open the wallet unless i go back to my previous version. :-(
any help will be greatly appreciated. :-)

There was a restriction in all v0.7.2 and prior that was incompatible with v0.8.x.
So you'll need to upgrade to v0.7.3 or v0.8.x.

http://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures#CVE-2013-3220

You'd better report the bug at the official repository.


text:
How do Golomb Coded Sets work?
From my understanding Golomb coded sets are a probabilistic data structure that encodes the deltas of an order set of elements.
With things like txids, which are evenly distributed, Golomb coded sets are an efficient way to encode things inside of a block.
What is the ordering used to determine how txids are encoded in the set? It seems we need a base txid, and then compute deltas from that original txid? Is it just as simple as the lowest big endian numeric interpretation of a txid in a block?

The data-structure is encoding a set which means it is not encoding an order.
If you draw numbers uniformly at random from some universe then sort the result (thus destroying the order information), the differences between the numbers follow an exponential distribution. The GCS uses a golomb coder to efficiently store these differences. The sort method used is irrelevant so long as its consistent with the differencing method used.
There is nothing probabilistic about the set encoding itself. But for BIP158 the set being encoded is not TXIDs but short hashes of relevant outputs. Because the hashes are short they can have collisions, making the result probabilistic.

Can you elaborate on short hashes for "relevant" outputs? This maybe warrant a separate question -- more related to BIP158 -- but what are "short hashes of relevant outputs"? Isn't the entire block encoded into a golomb coded set -- and then relayed to your client peer? How does the server compute "relevant outputs" when it doesn't understand what that is?

The GCS's in BIP158 encode for each block which scripts are used in it (whether the block contains at least one output a given script, or whether it spends at least one output assigned to that script). It does that by encoding short hashes of those scripts. A client will download the whole filter for the block, and try to match it against the short hashes of all scripts it is interested in. If it finds a match, it downloads the full block, otherwise it can skip the block and continue with the next one. The filters are generally only a few kilobytes in size.

Pieter's answer covers it, by saying relevant I was thinking about  empty/op_return not being included.

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


text:
Where, in the code, in the Satoshi client is 21 million cap implemented?
Which fragment of the Satoshi client is verifying if announced block has a valid reward?
I mean, we now live in the 25 BTC reward period. I guess client after receiving a newly minted block, does verifications, like checking if inputs and outputs are balancing for example, and, I guess, if the reward is 25 BTC, right?
So where is this fragment of the code?
I know where is the code which limits BTC supply to 21 million:
    int64 static GetBlockValue(int nHeight, int64 nFees)
    {
        int64 nSubsidy = 50 * COIN;

        // Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years
        nSubsidy >>= (nHeight / 210000);

        return nSubsidy + nFees;
    }

...and I am looking for somebody to point me to the right place, where the verification is done.

Just a note that the relevant code resides here now: https://github.com/bitcoin/bitcoin/blob/0d20c42a014ff95aab1447a92605c3a194cfeecc/src/validation.cpp#L1080-L1091 (it's also link that should work forever ).

There are 3 places where GetBlockValue is called. One is on incoming blocks, one is on blocks we're mining, and one is an error message. This is the one for incoming blocks:
if (vtx[0].GetValueOut() > GetBlockValue(pindex->nHeight, nFees))
    return state.DoS(100, error("ConnectBlock() : coinbase pays too much (actual=%"PRI64d" vs limit=%"PRI64d")", vtx[0].GetValueOut(), GetBlockValue(pindex->nHeight, nFees)));

Source
This looks at the first transaction (the coinbase transaction) and checks the value. If it is larger than the subsidy plus the fees, then the block is rejected and the node that sent the block is blacklisted.

Beat me by a second in posting this.

@DavidOgren We've all been there at one point or another. :|

Yours was more detailed in the explanation than mine anyway.

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


text:
Colored coin adds meta data to OP_RETURN. Why isn't this frowned upon?
It seems that adding data to OP_RETURN is frowned upon and considered as bloating the blockchain.
Blockchain.info wallet also had a short stint where users could include data into the OP_RETURN field before it was pulled.
I like that fact that this field exists but can also understand the arguments against putting random data in there.
Coloredcoin makes extensive use of OP_RETURN so does this mean that coloredcoin's actions are frowned upon by the community? Don't they set a precedent?

I think I get it now. So Blockchain.info's wallet use to have a field for adding custom messages via a public note field.

(https://blog.blockchain.com/2014/05/09/tutorial-how-to-send-bitcoins-using-our-web-wallet/)
This was "potentially" creating lot of un-spendable outputs. Ie bloating the blockchain in a bad way.

"Yes, please don't create lots of unspendable scriptPubKeys. There are
  more prunable ways of embedding messages into transactions. And there
  are even better ways of associating messages with transactions, so
  only people involved with the transaction can read the message (if
  that's desired).
In other words, lets figure out how to do this the right way. The way
  you're doing it now will stop working as soon as the network upgrades
  anyway (0-value outputs are nonstandard as of the 0.7 release)."

(https://bitcointalk.org/index.php?topic=40264.msg1162402#msg1162402)
When the OP_RETURN drama eventually passed, this allowed any kind of meta data to be stored on the blockchain to the tune of 80 bytes in a "friendlier" way.
Coloredcoin (and others) then made extensive use of this but because it uses the OP_RETURN code, this means that transactions are not stuck in limbo in UTXO and in addition, they can be removed or "pruned" with no detrimental effect.
In summary, adding non-bitcoin/ledger related data to the blockchain is only frowned upon by the people in the "use the bitcoin blockchain only for financial data" camp. With OP_RETURN, it is not such a big deal now because it can be pruned and keeps the people who want to put meta data on the blockchain happy.

Using an OP_REUTRN output is prunable. Writing data directly into a output's scriptPubKey is not prunable. Pruning outputs allows for the UTXO set to shrink and be efficiently used, where as non-prunable outputs will forever create bloat and slowdown the set traversal(e.g. during block verification).

Don't they set a precedent?

In my opinion, the default core rules are more the precedent than how outside protocols choose to use them. They have already been tweaked a couple of times(e.g. 40 bytes, 80 bytes, prunable...).

do you mean: scriptPubKey: OP_RETURN {zero or more ops} where "OP_RETURN immediately marks the script as invalid, guaranteeing that no scriptSig exists that could possibly spend that output. Thus the output can be immediately pruned from the UTXO set even if it has not been spent." –

Yes. Are you referring to a different use of it?


text:
Bitcoin Wallet Mining
Can I process my own transactions from my wallet on my miner? I would like to process my own transactions because then I could have my transactions go faster and not have to pay extra because it would be processed locally? I know this might sound dumb but I would still like to know.

You would probably need to wait several months to find a block, unless you want to invest millions of dollars in mining equipment.

The only miner that gets to decide which transactions go into a block is the one that is lucky enough to find the next block. So, yes, if your miner is successful in finding a block, then you get to decide which transactions are included.
If you are mining in a pool, your miner probably doesn't get to decide which transactions get included. The above only applies if you're solo mining.


text:
Is it possible to have multiple accounts in MultiBit HD?
Is it possible to have multiple accounts within one wallet? Mycelium allows multiple accounts within one wallet, but I don't see how to do that within MultiBit HD.

Only a single account ("Account 1" in myTrezor.com terminology) is supported in MultiBit HD.
This is due to limitations of how the transaction data is obtained from the Bitcoin Core nodes. It is explained in the help in this article in the section headed "Bloom filtering and single HD account support":
https://multibit.org/en/help/hd0.1/how-spv-works.html
Source: I am one of the devs for MultiBit HD.


text:
How long would a transaction without fee take to confirm?
If I want to make a transaction and send it without fee, how long will it take to get confirmed?
My friend told me it will take more than 1 day. Can anyone here explain to me why that can be happen ?

Confirming transactions without any fee depends on the Bitcoin miner's goodwill. Because miners won't get any compensation for confirming your transaction, it means they do not have incentive to put your transaction in the blocks they mine. Thus, if the Bitcoin blockchain is busy, transactions with a higher fee are more likely to be confirmed.
However the default Bitcoind behavior also considers other factors besides the transaction fee when choosing transactions to include. These are transaction age and size in bytes. More information available here: http://bitcoinfees.com/ Also some miners choose not to follow the default Bitcoin transaction fee mechanisms.
In practice, when writing this, zero fee transactions usually confirm between 1-7 days.

In addition to what Mikko said, there have been some recent stress tests on the bitcoin network in which a flood of low-fee transactions have been pushed through the system. When the blocksize becomes full (currently 1MB per block, though that is configurable [can be smaller, but not larger] by each miner) it is likely that the miners will take the transactions with the highest fees. Since you are talking about a 0 fee transaction, yours would probably be left behind until the more expensive transactions are processed.
Think of it like a train in which you can pay what you want to ride (and can also pay 0). If there are a bunch of people waving dollar bills around when the train pulls up, the conductor will let them on first. Your cheapness will mean you wait for the next train... unless the same thing happens again (and it might!).
In the recent tests, some transactions took up to 8 hours to get their first confirmation. This may change in the future, assuming the blockchain max size gets adjusted (there is a big debate on what to do next going on right now in the bitcoin circles).

it does require around 1-7 days from my experience before, Basically you it has a very small priority since all the transactions with fees will have a priority over it. if it's for a value of ~0.01-0.10 BTC it will most likely go through, if it's less there is a possibility that it will remain pending for multiple days. Sometimes it can get stuck too like this one (Sent bitcoin with no fee, waited and bitcoins disappeared)
Best thing is to include the standard fee or even some fees to avoid inconveniences.

It's all depend on supply and demand, transaction with higher fees will get processed first, while lower fees have to wait.
You may refer to something like this: https://bitcoinfees.earn.com/ to see how much fee to pay and the expected time for transaction

right now there are over 60000 transactions with fees ranging from 0 to 40 satoshis/byte that may never get confirmed. I myself recently had to abort transactions with much higher fees (80 and 265 satoshis/byte) because they didn't get confirmed.


text:
What regulations are in place for Bitcoin in California?
I'm looking for information on Bitcoin regulation for companies.
Since Bitcoin is commodity, if you are a company and selling bitcoins you need to have license.
What are the licenses and regulators working with them? I am interested in creating a company that sells bitcoins to consumers.

What country are you in, I'm assuming the US? Can you be more specific as to what state you want to work in? The regulatory landscape can be very different even state to state.

Well, the goal to operate in the whole US, but for now - I'm in California

When you say "selling bitcoins", do you mean the company would be selling bitcoins it received to another company or service? Or do you mean the company would sell bitcoins to consumers?

It would sell the bitcoins to consumers

Perhaps check out What would it take to create my own Bitcoin exchange? and What is needed to make a bitcoin exchange?

There's actually a lot going on in the California state legislature regarding virtual currency regulation, and you may soon need a specific license from them (although the bill in question---AB1326---still needs to pass). You can read a little more about it here from CoinCenter.
Until that particular bill passes, it's a bit of a gray area, but it would be prudent to consider the guidance from FinCEN released two years ago.

authors: ธนวัฒน์ ทองอุดม


text:
Bitcoin purchases by country
I'm interested in getting data on bitcoin adoption by country. Is there a way of mapping bitcoin addresses to countries of origination?

Can't you tell what IP address transactions and other Bitcoin operations (e.g. creating a new address) come from?

Nate is right.  But there is this tool:
http://fiatleak.com/
which can help you see a particular currency's exchanges in and out of Bitcoin.
Euro, USD and Yuan are usually the most predominant.
It could be somewhat helpful, it is open and javascript based so you can see how it works.
That could possibly give you additional ideas on solving your problem.

Nate's answer is true about transactions generally, although companies like Chainalysis use sophisticated software and methods to try to find sources of transactions.
This may not be what you are looking for, but if you could do with geolocated non-hidden full node data, then I've written an open-access academic paper on Bitcoin full node data here, and the data is in the Electronic Supplements. I explain in the Appendix how I get and prepare the data if you need more fine-grained analyses. The data is country-year from 2014-2018.
PS: The data includes Bitcoin merchant data worldwide too. Please do cite the paper after use. Good luck!

No. Bitcoin addresses are designed to be anonymous and convey no information about the person or computer that generated them.
If you could somehow identify the owners of some addresses, then by observing transactions going to or from those addresses, you might be able to infer things about their counterparties. Then again, you might not. It certainly seems unlikely you'll get any useful large-scale statistics that way.

This is not possible, bitcoin is extremely stealthy and if your incidental exposure address link is not correct


text:
Mining with an AMD Graphics card
Following this tutorial here:
http://www.newslobster.com/random/how-to-get-started-using-your-gpu-to-mine-for-bitcoins-on-windows
And it says,

UPDATE: If you are unsure, please download GPU Caps Viewer (I recommend the portable version) to determine if you have a compatible video device and a working version of OpenCL installed. If you are using an AMD/ATI card you likely need to install the ATI APP SDK (make sure you obtain the correct version for 32/64-bit Windows).

I've downloaded the SDK and installed it, but it's just sitting on my hd, doing nothing at all. I seem to be mining bit coins ok. Soft of confused as to what's going on? Thanks

is there a number with "MH/s" going across the bottom? if there is you are mining. you can also check your task manager too. There are a number of other tutorials out there as well.
let me know and i can help you

If you are mining bitcoins successfully, then don't worry about it.
There's no need to install the SDK. OpenCL drivers are included with AMD's Catalyst drivers.
Also note that solomining on a GPU could mean you never make a single coin. It may look like now that it will take a couple years, but by that time the difficulty is much higher. Unless you are very lucky, you may never get anything at all. Try mining in a pool instead and think about getting ASIC.

I have a 4gb graphics card...would I still probably get nothing?

The amount of memory doesn't matter for mining bitcoins. Search this site for info on what hashrate you would get from your card.


text:
Spending output of a low-fee transaction by following with higher-fee transaction
Suppose I broadcast a transaction A with very low (or zero) fee. Normally, it would take a long time to confirm. Suppose, then I broadcast another transaction B that spends a (yet unconfirmed) output of the first transaction A and includes normal or higher-than-normal fee. I assume that the transaction B can be mined only in the same or later block than the transaction A. Would the higher fee of the transaction B be motivating for miners to mine the transation A as well?
Or, put it in different words, can I facilitate a confirmation of a low-fee transaction by spending its output using a high-fee transaction? If yes, what Bitcoin client would allow me to do that?

Found some discussion about the "Child-Pays-For-Parent" feature that seems to solve exactly this problem: http://bitcoin.stackexchange.com/a/38358/19233
http://bitcoin.stackexchange.com/q/8390/19233
https://bitcointalk.org/index.php?topic=173169.0
http://www.reddit.com/r/Bitcoin/comments/3dn7el/cpfp_raising_fee_via_childpaysforparent/

If you have found an answer, go ahead and post an answer to your own question.  That way others will more easily find the answer when they come looking with the same question.  SE even gives you a badge for answering your own question :)

I don't think that any miners are already running CPFP.

Code about to be committed soon :)
https://github.com/bitcoin/bitcoin/pull/7600

Eligius has CPFP

Eligius accepts RBF transactions too.

There are 3 cases.
Case 1a:
if Fee(Tx1) < Dust Fee then Tx1 gets dropped by nodes that do not offer Free Relay Policy. Then all other transaction dependent on the outputs of Tx1 will never be committed to the blockchain, even though descendent transactions may or may not be accepted into the mempool of a subset of nodes in the network.
Case 1b:
if Fee(Tx1) > Dust Fee && Fee(Tx1) < Recommended Tx Fee then Tx1 will be accepted by mempool but eventual commitment is at risk. In this case, It is possible to boost fee rate by contributing more transaction fees, as described by 2quick 4u using CPFP, where Tx2 will contain a higher transaction fee than Tx1, lifting the mean fee rate which includes the ancestor transaction, Tx1.
Case 2: if Fee(Tx1) > Dust Fee && Fee(Tx1) >= Recommended Tx Fee then Tx1 gets accepted by nodes. All dependent transactions dependent on the outputs of Tx1 should eventually be committed to the blockchain, so as long as the fee rate for the root and dependent transactions are competitively high enough to be selected and committed to the blockchain. The reason why should is bolded is because a competitive fee rate is constantly changing based on demand in the network. So one will expect the fee rate to be significantly higher when the network is busy and vice-versa. Furthermore, there is usually a 72 hour limit on pending transactions that are in the mempool. Once 72 has elapsed and a transaction has yet be committed, it will be dropped from the mempool.

To my knowledge there is not a widespread practice of miners to do this, but it certainly can be programmed.
As transaction fees continue to rise and these type of stuck transaction become more of a problem I would expect more miners willing to scan the mempool and cross check inputs for use in later transactions (with higher fees).
This CPFP concept should become much easier for miners to implement soon:
https://github.com/bitcoin/bitcoin/pull/7600


text:
Proving collisions on Bitcoin addresses without discovery of the private key?
If there is a private key that leads to a collision on an address, it is possible to show that the private key is not the one used previously, even though they have a collision on the address?
Specifically, if there was a collision on one of the Satoshi-owned early blocks, could it be challenged, to show that the person who got it didn't have the initial private key? Specifically, if they signed the same script that was used originally, wouldn't it generate a different signature, while the original owner would be able to reproduce the original signature?
Thanks,
David

To phrase the question in my own words: Can you prove that a transaction output was unlocked with a different private key than originally intended?
Short answer: You can or can't, depending on the situation.

A standard transaction output script works like this:

Assume that the stack starts with two items, with the public key on top and the signature below.
Duplicate the public key (topmost item).
Compute its hash.
Push the expected hash, which is the payee's address (20-byte SHA-256 + RIPEMD-160 hash).
Compare and assert that the top two items are equal.
Restore the stack to the initial state, and use the two items to check the signature.

A standard transaction input script works like this:

Push the signature.
Push the public key (this is now at the top of the stack).

Because of this underlying mechanism, here are the implications:

If an output to a specific address has never been spent before, then the public key has never been seen by the Bitcoin network. Thus the first time that a valid public key shows up (whose SHA-256 + RIPEMD-160 hash matches), it is indistinguishably as valid as any other public key that has the same hash (which is extremely unlikely to find one, of course).
If an output to a specific address has been spent before, then the network has recorded one or more public keys that were used to spend that address. The Bitcoin/blockchain protocol does not mandate that the public key must be the same; in other words there is no notion of "key pinning". Although it is plausible for an individual miner's Bitcoin client to enforce key pinning, I don't expect this to be a feature that becomes implemented.

In the specific example- early blocks- this isn't the case, they are raw pubkeys not a pubkey hash.

Okay, I understand pay-to-pubkey. In that case, what does it mean to have a collision? Because each private key maps to a unique public key.

It depends on what you mean by private key. 256-bit elliptic curve multiplier? It is unique. / HD wallet parent key? There would be many.


text:
How can one prove the ownership of an address?
Is there a way to prove the ownership of an address without spending bitcoins? I Imagine something like signing some given data with the private key - how much would that weaken the security of the bitcoins behind the Address? Any good read on this topic is welcome!

http://bitcoin.stackexchange.com/questions/3898/how-does-sign-message-work

tanks - was missing the right keyword - now I have them

Removed a comment here, because using a spoofed link to refer to lmgtfy is rude. Please rather ask, whether OP has tried looking for "correct keyword", or just flag it as the corresponding duplicate.


text:
Why there are blocks with single transaction in blockchain?
Just opened blockchain.info and found two blocks with single transaction on the main page:

292942
292947

Isn't it strange?
More than this, block 292941 was issued just minute before 292942 and has 128 transactions.
Block 292946 was issued just minute before 292947 and has 238 transactions in it.
So the question is: why there are such empty blocks in blockchain even if there are some transactions to be included? Is this some kind of misuse?
UPD:
Using this little script
for b in {292000..292999} ; do
  curl -s https://blockchain.info/block-height/$b?format=json \
    | jq -c -r '.blocks[] | "echo `date +%FT%T -d @\(.time)` \(.n_tx)"' \
    | bash
done

I found 10 empty blocks. It does not looks like a coincidence. Seems like someone thinks that this is more profitable to mine for empty block. If this is the case, it will ruin bitcoin.

Could you please provide the block number of one or more of the empty blocks?  Since every block has a reward I would have thought the absolute minimum number of transactions per block would be one.  Based on the blockchain it appears there were zero transactions between 2014-03-28 17:41:38 and 2014-03-28 17:42:57.

When I say "empty block" I mean "block with coinbase transaction only".

@AlexMillar, can you please provide a link where it is possible to view transactions issued within period of time?

I looked at your posted blocks on blockchain.info.  The number of transactions are displayed and I calculated time period by subtracting the time of consecutive blocks.  Can you pleas tell me what software you used to run your script?

It's just a bash script. jq is a json tool from here: http://stedolan.github.io/jq/

duplicate of https://bitcoin.stackexchange.com/q/34089/3347 ?

No, it isn't any kind of abuse. You don't have to worry (well perhaps a bit) about 'transaction starvation' (i.e. transactions that get never included because miners refuse to include them), as it is unlikely that one person (or more cooperating) will obtain 51% of the hash power. And even when they obtain 51%, they will be basically cutting themselves from the potential fees involved (and huge investment is required in something that could become worthless after abusing the system, because as a result the trust in bitcoin and therefore its price will fall). Only very large organisations like governments or international banks could potentially pull such trick to bring bitcoin in discredit and recover the loss. To counter this, several solutions have been proposed, such as proof of stake (in contrast to bitcoin's proof of work).
As for why these particular blocks do not contain any transaction at all: I don't know. I don't think there is any special reason for it, but I could imagine that by chance some of these blocks have less or no transactions (don't think that's the case here) or that some independent miner simply did not bother to include any transaction because of the low fees involved.

Thank you for the answer, I accept it. I think the question should be "Why someone considers mining empty blocks if this not more profitable than mining nonempty ones?". But it will be hard to answer it.

It seems extremely unlikely that the transaction rate would just drop to zero without a special reason. Block 292941 was mined in 85 seconds and contains 128 transactions. Block 292942 was mined in 79 seconds and contains 1 transaction.  Block 292943 was mined in 315 seconds and contains 357 transactions.  @maxtaldykin Could you please provide the block number of one or more of the empty blocks?  Since every block has a reward I would have thought the minimum number of transactions per block would be one.

Well, there can be benefits to small blocks -- the biggest one being that every byte in a block takes time to relay, and so a smaller block can be propagated across the network faster. This means that there's a slightly smaller chance of any block not ending up in the longest chain if someone else finds a block at close to the same time.

@AlexMillar Yes, every block must contain at least one transaction, the coinbase, to be valid. When people talk about "empty" blocks, that means a block that has no transactions besides the coinbase.


text:
Is it possible to create a transaction with 2txin and 2txout?
Is it possible to create a transaction with 2txin and 2txout? If it is possible, then how does one sign this transaction?
Or do I have to create two separate transactions? 1txin 1txout and 1txin 2txout?

You can definitely do that. Generally speaking you can have any combination of n inputs and k outputs, both n and k being integers.
I'm assuming you want to know how to implement the signing process. The process to sign such a transaction is rather involved. You basically set the signatures on all inputs to an empty string and then iterate through the inputs, copying the transaction with empty signatures, inserting the script of the corresponding output in the signature's place and signing the resulting temporary transaction.
For the exact details see this very extensive explanation blog post.
If on the other hand you're using the Bitcon Core JSON RPC then it's a simple matter of calling signrawtransaction (API) and passing in a raw, i.e., unsigned transaction. Be careful though as there are no checks when signing this way and the resulting transaction does exactly what you told it to, e.g., it might claim 10 bitcoins and allocate only 1 on the outputs, leaving 9 bitcoins floating for transaction fees and you'll lose them.

Thanks for the answer. My concern is in fact, how to sign this transation. Being honest, I still don't get it. Do you have maybe some detailed materials to read on this topic? Any chunk of code maybe?

I finally found the block article I used to implement signing: http://www.righto.com/2014/02/bitcoins-hard-way-using-raw-bitcoin.html I'll add it to the answer as well.


text:
What is the transaction ID?
I have sent a Bitcoin amount to someone who wants the transaction ID. What is this? Is it the hash shown on the LHS of the transaction?

What client software are you using?

I do not know what you mean by "client software" but for what it is worth I am using the blockchain wallet system.

Via the website, the mobile app, or something else?

via the website

Transaction ID usually refers to the 2xSHA256 hash of the transaction serialized as it would have been transferred in the network. This is also the ID as peers refer to them when broadcasting through the network.
Notice that due to transaction malleability a transaction may have multiple IDs.


text:
How many people are needed to make a decision to increase Bitcoin money supply?
Yes, it is currently capped at 21m. But it is just a line of code.

Anybody can go and change it to whatever they want and what is needed then is to persuade the miners to accept it. Blockchain provides immutability of data already on the blockchain but nothing stops people from changing the code.
It's just that.
There is no need to persuade Bitcoin wallet users.
So why are we seeing a media message that there can only be 21m BTC in circulation where this is strictly speaking not true.
It could be more.
What we need is just an agreement of miners that they are happy. And given the hashrate it would take less than ten mining pools to get 50%+ hashrate. Not much.
Obviously mining pools would not make such a decision because it would hurt their interests and BTC main selling point is that there can be only 21m BTC in cicrulation but ... they could make such a decision at some point.
Please correct me if I am wrong.
https://miningpoolstats.stream/bitcoin

Your assumptions are incorrect: it is network nodes that enforce the rules. If the miners attempt to change the rules (ie, hardfork to increase supply), the nodes will simply ignore those blocks as invalid.

See also: https://bitcoin.stackexchange.com/a/106830/63872

Like you've mentioned Bitcoin does not only works because of the software powering it. There is a also a general social contract or agreement around Bitcoin definition, which include the 21M limit.
For example, if another inflation bug would happen in the future, allowing an attacker to break this limit, I'm very confident the Bitcoin network would accept a hard fork in order to restore the 21M limit (I'm not talking about the disastrous short/medium term consequences around such bug though).
Yes, part of the network could decide to hard fork and increase the limit as well. This would require changing the Bitcoin emission rate at some point in the future. At this point if you run your own node, you will simply reject the blocks with a coinbase transaction adding too many Bitcoin on the network. A hard fork happen and people choose which rules they want to follow.
So, stating that there never be more than 21M Bitcoin is quite right, otherwise, it's not Bitcoin, just another fork.


text:
Which coin to mine with CPU long-term
I have a machine with 48 CPU cores, running Linux. I would like to mine for a coin, not to sell immediately, but in several months when the value has increased (hopefully).
I don't want to keep changing every day, so what coin would be best, and why? I realise this involves predicting the future, but would like to hear various views.

Why do you have a machine with 48 CPU cores?

Most probably because it is fun, or he is in some research university and want to abuse his possibility :-)

http://www.247techblog.com/easiest-cryptocurrency-mine-laptop-computer-datacoin-cpu-mining-currency/

Generally, CPU mining isn't worth the electricity consumes.  However, we will assume that you've got some adequately efficient cores.
If you are going to do CPU mining, you might have more luck using a scrypt based fork of bitcoin, such as tenebrix, litecoin, or fairbrix.
Because the effectiveness of a setup can vary, as well as the price of various cryptocurrencies, your best bet is to do your own experimentation:

For each coin:

Mine for an hour or so, and determine your average mining rate
Look up the current difficulty of that coin
Use something like the Bitcoin Mining Calculator to determine how much you stand to make
Convert it into $ per day or something similar

You would then compare the profitability of the various coins and choose which is best.
Alternatively, if you wish to assume that scrypt is best for your setup, and that your hashrate will be identical across different scrypt-based coins, you can use CoinWarz to determine the best coin to mine (currently Fastcoin, although they rate fastcoin as having bad stability, so you may wish to drop down to digitalcoin or novacoin if you feel like you need something a little more stable.)

All scrypt-based cryptocoins use the same algo, so the hashrate will be the same. Scrypt is usually better than sha256 with CPU mining (at least using pooler's cpuminer).

You can find almost real-time comparison of all coins here: http://dustcoin.com/mining


text:
Adding fixed seed nodes as DNS doesn't seem to be available
I am pretty new to bitcoin and I am trying to create a private blockchain by using bitcoind -regtest -daemon. But the executable stops, giving this message:
"Adding fixed seed nodes as DNS doesn't seem to be available"

Could anyone help me out with this issue ?
Thanks

Do you mean that the executable stops after giving that message, or that it  doesn't give that message anymore? The latter is to be expected, since you don't have any DNS seeds.

Yes executable freezes giving the above message. Do I have to add dns seeds manually ? If yes how do I do it ?

The message means that no DNS seeds were found (which is normal, as regtest has no DNS seeds), and thus that it will fall back to its builtin list of fixed seed nodes (which regtest has 0 of).
In other words, the message is harmless and the artifact of DNS/seed logic that doesn't really apply to regtest.
Regtest is a private network for testing, so you don't want it to connect to any specific other node by default. If you want it to connect to others, use -connect, -addnode, -listen, etc.
I suspect it's not actually frozen, just not doing anything because it has no connections. In that case, it would still accept RPC commands fine.


text:
Why did my Coinbase transaction take 4.5 hours to get in a block?
Why did this transaction take so long to be put in a block?
I initiated a 7 BTC transfer at 6:13 PM Eastern Time from Coinbase to an external address in an over the counter transaction today. It was put in a block 4.5 hours later (10:42 Eastern Time)
Not conducive to doing business at all :(
I checked /tried these things:

I saw many blocks had been mined since my transaction was initiated at Coinbase.
I saw there was a fee on the transaction
I tweeted an inquiry to Coinbase
I saw Coinbase was connected to 118 peers
I saw other Coinbase transactions posted after mine confirmed within 20 minutes.
I tried to manually broadcast the raw transaction on blockchain
I read Coinbase blog post that they had slow confirms in February.

I have a transaction that has been pending for about 2 hours. I am also trying to send funds out of my Coinbase account. After some checking on blockchain.info, I think that the problem may be that one of the inputs to my transaction is missing. My transaction is https://coinbase.com/network/transactions/c0a5247e99875b5304fb398619399866e9ae1fb7d3d925d96585ace252bdba2a There are three inputs, including the problem one: 9c2a52bfb51c4e657887e3eb2c7dc413cfd075a9aeed95cf05282b4efec46b96 Blockchain.info has the other two inputs on record. But it does not have 9c2a52b. I checked for that transaction

Brian from Coinbase here.  Sorry you experienced delays!  There have been some issues in the past that we are working to improve.  Coinbase sends a high volume of bitcoin transactions (often in parallel across many machines), and as a result we sometimes encounters issues that are uncommon elsewhere.  In this case, I believe the root of the issue was around spending coins where the inputs were not in a block yet.  We broadcast a large number of transactions, and sometimes other nodes receive them out of order (the transaction that spends the change could arrive before the transaction that generated the change).  The official client, bitcoind, had an issue (unclear whether it was a bug, or intended) where a transaction in the orphan pool that got connected up (it's input transaction finally arrived) did not subsequently get relayed to the rest of the network like a regular transaction.  We've been chatting with Gavin about this to see what solutions could make it into a near term release.
An issue like this could cause it to not be relayed to most/many miners, which is why it would take a long time to make it into a block.
As a short term fix we manually push transactions to well connected nodes like blockchain.info to ensure they are well propagated.  Thanks for bearing with us as we continue improving things. Experiences like this are definitely not what we strive for.  Hope the explanation helps!

Thanks for the follow up! I had this happen two more times later. Once was trying to purchase a domain name around November. Took around a day to workout BitPay (they were great, I had to keep checking if the transaction had been put in a block yet). From these experiences I can't use coinbase for business transactions because a limbo state is the worst state of all.

Coinbase has been hit-and-miss for me for the past month.  For example I've had:
1 "instant transfer/buy" that took 23 hours for the coins to arrive.  The next day, before my original purchase arrived I needed to make a small additional order to compensate for a rate drop and that one went through right away.
More recently I've had outgoing transfers that took a few hours to appear on the blockchain including one that took nearly 24 hrs again.
For the most part they did not respond to support requests until after the issue was resolved. No acknowledgement to tweets @ them.
Eventual support email was the same form letter each time:

Sorry about the delay! We had an issue syncing >with the blockchain which resulted in >unconfirmed transactions that remained in the >pending state for too long. Now these >transactions have been pushed through - let me >know if you still need help with anything. Again, >my apologies for any undue stress this has >caused!

At the risk of being flagged for "not an answer," to me that doesn't  sound like the whole truth but that's all they're disclosing.

Thanks! It was a bad situation for me (and probably you). I noticed their support site says 'transaction will be cancelled after 24 hours if unconfirmed' I don't know how that works, but it would be nice to have a cancel button to stop payment and reissue it elsewhere.


text:
How do I fix GUI Miner stuck at connecting?
GUI Miner v2011-08-24 just shows "connecting..." when trying to connect to slush's pool. The console shows:
2011-12-31 14:00:49: Running command: poclbm.exe smithd98@gmail.com.macbookpro:4fuqPtrI@api2.bitcoin.cz:8332 --device=0 --platform=0 --verbose
2011-12-31 14:00:49: Listener for "Default" started
2011-12-31 14:06:53: Listener for "Default": api2.bitcoin.cz:8332 31/12/2011 14:06:53, long poll: new block 0000028fd540f91b
2011-12-31 14:07:33: Listener for "Default": api2.bitcoin.cz:8332 31/12/2011 14:07:33, long poll: new block 0000079641b6608b

where xxxxxx is my correct password.
I've tried uninstalling (removing the directory, ensuring the process isn't running, and unzipping again) as suggested in this post: https://bitcointalk.org/index.php?action=printpage;topic=28886.0 but it hasn't worked.

You forgot to censor you password and nothing looks wrong with this console output. Are you sure it isn't just working?

I'm not sure if it is working. From my research this doesn't look like correct output, but I'm not sure. I gave up trying to get this to work.

you're using api2.bitcoincz.com:8332 but that's not listed on the pool's site:
Run your own GPU/FPGA/ASIC miner with the worker credentials you gave earlier, and connect it to following URL:
http://api.bitcoin.cz:8332
(Main pool URL)
or
stratum.bitcoin.cz:3333
(If you have Stratum-compatible miner)

@DavidSilvaSmith: That is not how StackExchange works. If this is the correct answer, you should mark it as such.

Sorry I meant I have no way to test the answer to determine if it is correct. I should probably delete my question since it is old.


text:
p2pool merged mining
I installed p2pool on my server for triple merged mining - VTC, MON, PLX. Server is running smoothly, but I don'know how to setup my addreses in miner. I have read that you can add for example MON address in password field, but what if you mining more than two coins, where put the addresses?

You actually don't use the addresses, but the RPC info for the daemons. For example you'd start the pool with the following switches:
python run_p2pool.py --net vertcoin3 --merged http://*RPCuser1*:*LongRPCpass1*@127.0.0.1:6888 --merged http://*RPCuser2*:*LongRPCpass*2@127.0.0.1:7817

You will see "Got new merged mining work!" in console as confirmation.


text:
Full block chain on a mobile phone
The full block chain size is currently roughly 145GB, I can handle such a download in a laptop or a desktop pc but how does it work on a mobile? I cannot download such an amount of data into my phone, so I guess there is an intermediary when using the mobile app?

"when using the mobile app" Which mobile app??

No particular one, I see there is more than one and I would also appreciate to know which one would be better to use

There are two types of wallets:
Full Node
A full node client uses the peer-to-peer network to validate transactions and blocks and to relay information to other peers. To verify all transactions, the entire blockchain (~145G) acts as a dependency to enable the tracing of transactions on the network.
SPV Client
SPV, Simplified Payment Verification, is used as a light-weight implementation of Bitcoin only validating your transactions by asking for data from full node peers. We use SPV clients for convenience to prevent accumulating about 145G when validating only one address worth of transactions.
Does anyone need to download the full blockchain to use Bitcoin on a mobile phone?
No. The wallet software you are talking about is a Full Node and is, by design, not available on a mobile phone due to obvious reasons. Mobile phones have light-weight implementations of Bitcoin (SPV Wallets) and therefore only ask full node peers for related data.

There is a full node for Android.
It is a wrapped version of Bitcoin Core maintained by the Greenaddress founder. You can find it here: Android Bitcoin Core
If you run it in blocks-only and pruned mode, you can get full node security with significantly less bandwidth and storage footprint.
As others have noted in their answers, mobile clients for web wallets and SPV wallets have different trust models than full nodes. Web wallets usually have a custodial model, where your mobile device is simply another way to access your account. SPV wallets can perform limited verification themselves, e.g. that transactions are valid or block headers are valid, but trust their full node peers that they are receiving information about the actual chaintip and not being lied to by omission or misled about the chaintip.

I doubt that you will need to download the whole blockchain on your phone. You can have an SPV (Simplified Payment Verification) or 'light' wallet which does not require downloading the whole blockchain. I assume most mobile wallets are light wallets.


text:
Where can I buy bitcoins with an American Express gift card?
I recently got an American express gift card for my birthday. It has a value of $50. Where can I purchase bitcoins (or litecoins) with this giftcard?

http://btcquick.com uses Google Checkout and supports Amex, I have not tried a gift card but it should work.
They do require identity verification to combat the (massive) fraud risk they face.

I gave btcquick a try some time ago but never had any success.  Amazon webpay is a simple way to cash-out a gift card. Not really intended to send yourself money though -- the official way to do that would be to have a trusted friend use their amazon account to send it to yours. Or you can figure out some workaround I'm sure. More details at the link.
Pros - no fee.
Cons - takes 5-7 days to get the cash-back into your bank account. Which may be what you're trying to avoid in the first place.
Amex also claims you can redeem their gift cards for cash by calling the number on the back, but I don't know how long that takes; my guess is a check in the usps in 6-8 weeks minus some fee. Not recommended.


text:
Why are coinbase transaction outputs greater than reward?
If the sum of the coinbase transaction's outputs must be less than or equal to the current reward (25 btc currently), why in practice do blocks have a slightly higher coinbase transaction output (for example this block has a coinbase transaction with an output value of 25.25058085 BTC.

The extra 0.25058085 BTC is the sum of the transaction fees on the block (each transactions fee is the difference between the value of the transaction's inputs and the transaction's outputs).
As you can see, this block which had no transactions on it, and therefore no transaction fees, had a coinbase transaction whose sum of outputs was exactly equal to the reward (50 btc at the time).

In addition to the reward, the miner may spend all transaction fees to himself when he discovers the block.
Transaction fees are what's left of a transaction's input after subtracting the outputs.
   Input                 Output
   1 BTC --------------> 0.99 BTC
                               ---> Transaction Fee = 0.01 BTC

The sum of all transaction outputs on the whole block must be smaller or equal than the sum of all transaction inputs on the whole block plus reward.


text:
How will bitcoin stay decentralized when mining becomes extremely expensive?
My understanding of bitcoin is that the miners are the ones keeping bitcoin decentralized. What happens when only the richest of people can afford mining?

Your question caused the authors of this paper to conclude that "the bitcoin 4-year reward halving system [is] very disturbing."

I have the same concern and for me it shows how undefined the space is, which is good I guess. If the community is dynamic and progressive then who knows. It's in the people's hands apparently? Confused actually.

This is a valid concern and I think nobody can give you a clear answer here. We'll just have to wait how it evolves and how people react; it is an unclear future.
There are some ideas about changing the proof-of-work algorithm to make mining pools not that profitable, but the effects of such implementations could be various.
I highly recommend this article from Vitalik Buterin, where he walks through the history of Bitcoin mining, explains problems and solutions encountered in the past and describes the situation today. He also dares to predict the future development and provides some ideas to keep the mining decentralized.
It seems there's still a long path in the future of Bitcoin development.


text:
Import wallet.dat into a new Bitcoin-Qt client
I had Bitcoin-Qt on my computer with several bitcoins in my wallet, using Vista. Then my computer crashed.  Finally I was able to get my computer fixed and download a new version of Bitcoin-Qt.  Now I would like to import my original wallet.dat from the old client which was encrypted into an new version of Bitcoin-Qt.  How do I do that?

First, close the Bitcoin-Qt client.
Then you have to locate your Bitcoin folder. For Windows, it should be here:
%APPDATA%\Bitcoin
and for Linux:
~/.bitcoin
In that folder, there should be a wallet.dat file.

If you currently have no bitcoins in your wallet, you can just delete that file and replace it with your backup.
If you have some bitcoins in this wallet as well, backup that wallet file as well, or send all the coins to an address from your backed up wallet.

When you placed the other wallet.dat file in place, you should run Bitcoin-Qt with the -rescan option. Here's how to do that in Windows:

Go to C:\Program Files (x86)\Bitcoin using Windows Explorer.

In that folder, hold shift and right-click and select Open command window here (picture).

In the command prompt, type bitcoin-qt.exe -rescan and hit enter (picture).

Now Bitcoin-Qt should start and rescan the blockchain to calculate the balances of the addresses in your wallet.dat file.
(Source for pictures: cant see bitcoin after restore of backup)

What do you mean, "localize your Bitcoin folder." ?

@JonathanDavidFinch I mean find the folder that contains your Bitcoin data files

What happens if I backed up two separate wallets to two separate .dat files?

That's more difficult. What I would do is import one of them, generate a new address and copy it. Then back up the wallet.dat file and import the other one. From there send all coins to the copied address from the first wallet file. Finally just continue using the first wallet file. (Keep the second one for a few days for the case that something went wrong ;))

You can also use the command-line option -wallet otherwallet.dat to use an alternative wallet (in the data directory) without copying/moving over the existing one, this can be useful for juggling wallets with less risk.

For help on finding the data directory on other operating systems, see https://en.bitcoin.it/wiki/Data_directory  (might make sense to add this to the answer)

@StevenRoose dude! I just randomly found your post trying to restore a wallet! What a small world!
I'm the dude from Madrid that contacted you through the Dartcoin project, we got beers and a burguer remember? lol

I can't believe an answer would start with "just delete that file" regardless of the "if".  NEVER "just delete" a wallet.dat file.

For OSX:

Backup your original wallet.dat file (~/Library/Application Support/Bitcoin/wallet.dat by default). This contains the private keys for your bitcoins. If you lose it, you lose your coins.
Install Bitcoin Core on a machine with 100s of gigabytes of free space. Allow it to download the blockchain. This could take days.
Replace the wallet.dat file on the new machine with your old one.
Start Bitcoin Core on the new machine with the rescan flag, to scan the blockchain for your newly imported bitcoin. You can do this with the command line /Applications/Bitcoin-Qt.app/Contents/MacOS/Bitcoin-Qt -rescan. This can also take a long time (hours).
Your wallet should now be imported and working on the new computer.

the other answers suggest closing your node copying directories etc, NOT necessary. Here is how i did it starting with an old wallet2.dat file:

create a folder foo (any name, any directory)
copy the file wallet2.dat into folder foo and rename the wallet to wallet.dat
on the GUI click Window->Console and type into the > field: help loadwallet which will tell you bunch of stuff (you can read it, or skip to next point)
type loadwallet /path/to/your/folder/foo (change it to your actual path where folder foo is, on windows eg C:\Users\user\Downloads\foo)
wait, just wait (for me 30min), when done you will see sth like:
{
  "name": "/home/user/Downloads/foo/",
  "warning": ""
}
got to File->Open Wallet -> foo (your name should be listed here)
On the right side there is now a dropdown menu where you can selected your open wallets (if it does not appear you had no other wallet open, also ok)

(Since the wallet is now located in the folder foo and outside the datadir, you might want to close your node and copy the folder into the wallets directory in your datadir; I just wanted to recover the wallet, clean it and send the funds to the default wallet deleting foo anyway)

i added the folder in bitcoindata\wallets\wallet1 etc. somehow bitcoin core detected all wallets automatically

this seems to require a full blockchain. I tried this with a pruned node and it gives error:
"Wallet loading failed. Prune: last wallet synchronisation goes beyond pruned data. You need to -reindex (download the whole blockchain again in case of pruned node) (code -4)"

I think the above answer is good, but I have typically restored a few times with
1. ShutDown BitCoin Client
2. Find your wallet location  (%APPDATA%\Bitcoin)   OR for example :  C:\Users\UserName\AppData\Roaming\Bitcoin
3. Backup, verify, then delete that wallet.dat file
4. Paste your other wallet.dat file into the folder.
5. Open BitCoin Client  , blocks get checked and updated, and you should see your amount.
6. I'm not sure that you need to do command prompt with the -rescan...   I didn't have to..

Not sure that asking a user to delete the wallet is a good idea. I would back it up in case you get mixed up.

good point, added into #1   thx


text:
What is 'spendability of coinbase transaction after 100 blocks' in Mastering Bitcoin referring to?
Ch7 of the book writes at the end of the Introduction section:

"After 100 blocks back there is so much stability that the coinbase transaction—the transaction containing newly mined bitcoins—can be spent"

Can someone explain what is the author trying to convey with an example?

This part of the book is referencing blockchain reorgs (reorganization). This occurs when a node determines that it is no longer validating the longest chain.  When a node sees that there is a new longest chain on the network it moves over and begins verifying the blocks.  This can cause previously mined blocks to be orphaned.  Often times this only occurs at the tip (the last couple of blocks) of the blockchain.  When a block is a 100 deep into the blockchain, the risk of a reorganization that goes back that far is very unlikely, and, therefore, it is very unlikely that the block will become invalidated (orphaned).


text:
What is a pair of nonces?
From https://www.sps.ed.ac.uk/sites/default/files/pictures/ekja03/Mining25.pdf page 10:

The bitcoin system is therefore designed to ensure that it takes around ten minutes on average before any miner anywhere manages to discover a nonce, or pair of nonces, that generates a hash with enough zeros. /…/

What is a pair of nonces and how does a pair of nonces solve a block?

What is a pair of nonces [...]

I guess they refer to nonce and extranonce.

[...] and how does a pair of nonces solve a block?

Talk of "solving" a block doesn't make much sense. They just mean that miners find values for the data in a block that result in the hash of the block being a number no bigger than the current network target number. Those values include nonce, extranonce and others.

(I meant solving in the mathematical sense, as any mining task can be seen as solving an equation, defined by the CNTN, the list of transactions in a block, etc.)


text:
Payout method PPLNS or PPS?
Which payout method is better, and why?
I am getting more money out with PPLNS, but everyone says using PPS is more effective, what am I doing right?


text:
Do the leading zeros in the desired hash pattern for mining change?
If I understood it well, miners collect transactions in temporary files on which they apply a cryptographic function. The result will be reviewed against a desired pattern.
Does this "desired pattern" always have the same leading zeros? Or does that change now and then?
If it changes now and then, what triggers this?

possible duplicate of How is difficulty calculated?

Q: does this "desired pattern" always have the same leading zeros?

No.

Or does that change now and then?

It changes every ~14 days (2016 blocks). The change depends on the hashing power of the bitcoin network at that moment. The new required hash needs to have that many leading zeros so that it takes ~10 minutes to find that hash.

Q: If it changes now and then, what triggers this?

An algorithm triggers it. It's built into the bitcoin protocol. Every 2016 blocks the difficulty of finding a new block is recalculated.

OK, so the change of the desired pattern is directly linked with the mining difficulty?

Yes. See here and more specifically here for details.


text:
How do transaction volume and block reward relate?
As an example, assume a block has 10 transactions with a total value of 1BTC.
Does a miner get 25 BTC for validating and committing that 1BTC? What's the economics of this model?

Yes, that's what happens. I'm not sure I understand the question. The miner gets 25 BTC, and the other people get their transactions processed. Is there some other economics you're asking about?

The purpose of mining is not just to validate blocks and receive some fees. It's actually a decentralized way of buying bitcoins without any exchange or third party. Free of regulation and censorship. All you have to do is prove that you did some work. So you end up paying in electricity.
That's also why it's called mining.
So if you want Bitcoins, either you do the work or you pay someone else to do the work for you. Notice that's how Bitcoins become worth something in USD or EUR.

Yes, the miner gets 25BTC regardless of the value of the bitcoins in the block. And yes, if blocks were all that small the economics would not make sense at all, but they are not that small, they are almost always much larger. Still, 25BTC per block works out at around $10 per transaction processed at the moment. Which is still an interesting number and is presently funded by the continuing investment flowing into the Bitcoin economy.

Yes, every block gets 25 BTC (at least until sometime next year). The big thing to remember is that each block gets generated about every 10 minutes. The supply of bitcoins being generated is finite (less than 21 million total).
The BTC amount in the transactions in a given block doesn't matter to the overall economics since the amount generated over the lifetime is 21 million no matter what.

One of the core issues with a decentralized payment network is the initial distribution of funds. The Bitcoin protocol solves this by incentivizing participation through paying for its own upkeep in form of new money. The block reward therefore is mainly the initial distribution mechanism.
In fact it is paid out regardless of the number of transactions that are confirmed in a block. Even an "empty block" only reaping the block reward is valid.
On the other hand, the incentives to include and confirm transactions in blocks are two-fold:
Primarily, transactions include a fee which can only be claimed by including the transaction in a block. These fees increase the revenue of the miner for hardly any effort, thus most miners try to include as many as possible.
Secondarily, miners have spent large sums to obtain mining hardware. They are therefore invested in the success of Bitcoin. As you know, Bitcoin is only backed by its utility. Only if users chose Bitcoin over other payment networks miners stand to profit from their investment. It is thusly in the best interest of miners to maximize Bitcoin's utility. A cheap any easy way is to confirm as many transactions.
In conclusion, we can see that the transaction volume does not directly tie into the block reward. However, the overall incentive structure of Bitcoin makes interests of users and miners align fairly well.
Regarding the block reward only as the cost per processed transactions falls short of its full significance.


text:
If I lose a Trezor then how does the replacement get access to the same wallet?
I am pretty confused.  What I understand is that when I buy a Trezor then it gives me some words that I need to copy down.  When the Trezor starts up does it then automatically create some Bitcoin addresses and keys?
If I lose my Trezor, then how does a replacement know about my previously created Bitcoin addresses and keys?

possible duplicate of http://bitcoin.stackexchange.com/q/10670/5406

Trezor implements BIP32/BIP39 (hierarchical deterministic wallet and mnemonic encoded seeds, respectively).
The mnemonic (12 words) is just a way of encoding a hex seed like 6c5f9d00018f2a2030afcc6f3057e5a4dea6dfb905dd4b0197a9a047bcfe0501662332a3caa846b1223ff3d20cfb295e7f94fe51c94472e3f8429c97754132e9 (whose mnemonic would be business weird season glimpse pole robot surprise next term toddler doctor fresh). The hex seed is then used for a master private key and a master public key pair (in this example, xprv9s21ZrQH143K29DbrSg2YgC2iyW3Gx3FhNExbxEacDWJCmz9xmsxKjon93FSC85Bv4AkszKLK1d3FA6PKS1Wb6xYotbDppezTMQaazbPL6h and xpub661MyMwAqRbcEdJ4xUD2up8mH1LXgQm74bAZQLeCAZ3H5aKJWKCCsY8FzL33Ay3XxoX7xWyq4pejzuSQEQw2hA2CvWvKBgMGTJLgZXRzdbf, respectively).
So if we look at this bip39 tool, the mnemonic business weird season glimpse pole robot surprise next term toddler doctor fresh has a list of addresses which will be used by the Trezor, in order (in this example, the first listed address begins with 18SKy...).
All of this is just demonstrating how it works (do not enter your mnemonic into a website as this example shows!), or as TL;DR: the mnemonic is all you need to recover the keys for Trezor addresses

BIP 32/39 allows key portability across different wallet implementations. To complement the "Wizard of Ozzie" answer above, a different method (C++ based, not JavaScript based code) is provided below to reconstruct the results above using the bitcoin-explorer (bx) command line interface that should be executed offline with "real" mnemonics and keys.
Without having high Evaluation Assurance Level (EAL) pedigree ratings ranging from 1 to 7 that also address supply chain risks, one should not put much trust in HD key generators without cross correlating results between different genetically independent key generator implementations.
Results below were created without a BIP 39 passphrase to reconstruct results shown above. Results below also provide reconstruction details for m/44'/0'/0'/0 (BIP 44 extended private branch key) and M/44'/0'/0'/0 (BIP 44 extended public branch key) that can be used to synthesize over 4 billion private/public key pairs and Bitcoin addresses from a wallet's BIP 39 backup mnemonic words. Only the first 3 private keys and associated public addresses are computed below to establish patterns used to compute 4 billion private/public key pairs and Bitcoin addresses from a wallet's BIP 39 backup mnemonic words.
1) Reconstituting master seed using BIP 39:
% bx mnemonic-to-seed business weird season glimpse pole robot surprise next term toddler doctor fresh

6c5f9d00018f2a2030afcc6f3057e5a4dea6dfb905dd4b0197a9a047bcfe0501662332a3caa846b1223ff3d20cfb295e7f94fe51c94472e3f8429c97754132e9
2) Reconstituting extended private keys:
% bx mnemonic-to-seed business weird season glimpse pole robot surprise next term toddler doctor fresh | bx hd-new -v 76066276

xprv9s21ZrQH143K29DbrSg2YgC2iyW3Gx3FhNExbxEacDWJCmz9xmsxKjon93FSC85Bv4AkszKLK1d3FA6PKS1Wb6xYotbDppezTMQaazbPL6h
Note that 76066276 is a base10 four byte version prefix of 0x0488ADE4 (base16) that cause the extended BIP 32 private keys to start with "xprv".
JavaScript BIP 44 tab results can be verified by the following:
% bx mnemonic-to-seed business weird season glimpse pole robot surprise next term toddler doctor fresh | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-private -i 0

xprvA1hRqX7kSHXAfsq8pNTYtwvgZXDRuUT6MtZ7WHgC8WTquy3LnzZFHRsZfH7shWEqjUPDBgFhXj4o53QPoapPVZUUic944UFbtofrAvzCvmt
A) BIP 44 WIF private key m/44'/0'/0'/0/0:
% echo 'xprvA1hRqX7kSHXAfsq8pNTYtwvgZXDRuUT6MtZ7WHgC8WTquy3LnzZFHRsZfH7shWEqjUPDBgFhXj4o53QPoapPVZUUic944UFbtofrAvzCvmt' | bx hd-private -i 0 | bx hd-to-ec | bx ec-to-wif -v 128

L5TPeiMKRnMbvQF6z1EYa3gmpwP6xSJN21nfAipXnJoD2CVEXGBH
B) BIP 44 WIF private key m/44'/0'/0'/0/1:
% echo 'xprvA1hRqX7kSHXAfsq8pNTYtwvgZXDRuUT6MtZ7WHgC8WTquy3LnzZFHRsZfH7shWEqjUPDBgFhXj4o53QPoapPVZUUic944UFbtofrAvzCvmt' | bx hd-private -i 1 | bx hd-to-ec | bx ec-to-wif -v 128

Kx3GxX5o8KynsJAs9jWKYyqKnPmAjVApBr1TNuuXdFkknG8nvJHr
C) BIP 44 WIF private key m/44'/0'/0'/0/2:
% echo 'xprvA1hRqX7kSHXAfsq8pNTYtwvgZXDRuUT6MtZ7WHgC8WTquy3LnzZFHRsZfH7shWEqjUPDBgFhXj4o53QPoapPVZUUic944UFbtofrAvzCvmt' | bx hd-private -i 2 | bx hd-to-ec | bx ec-to-wif -v 128

L16rfuc8mPts63KcovJH57rwqGfQP48q6hV3mHgbi9fbiX9gAEPp
3) Reconstituting extended public keys:
% bx mnemonic-to-seed business weird season glimpse pole robot surprise next term toddler doctor fresh | bx hd-new -v 76067358

xpub661MyMwAqRbcEdJ4xUD2up8mH1LXgQm74bAZQLeCAZ3H5aKJWKCCsY8FzEPiHJDnKncknSSFymNVrbeBD6W4LxYiKtubg9U3PDHpM7DEZx7
Note that 76067358 is a base10 four byte version prefix of 0x0488B21E (base16) that causes the extended BIP 32 public keys to start with "xpub".
JavaScript BIP 44 tab results can be verified by the following:
% bx mnemonic-to-seed business weird season glimpse pole robot surprise next term toddler doctor fresh | bx hd-new -v 76066276 | bx hd-private -d -i 44 | bx hd-private -d -i 0 | bx hd-private -d -i 0 | bx hd-public -i 0

xpub6EgnF2eeGf5TtMubvPzZG5sR7Z3vJwAwj7UiJg5ogqzpnmNVLXsVqEC3Wa4g8djxA9JcPFB9rSW9qvjYYCNbhJHkh7Pnm2uWUh5ZJ3pYNBj
A) Address for BIP 44 public key M/44'/0'/0'/0/0:
% echo 'xpub6EgnF2eeGf5TtMubvPzZG5sR7Z3vJwAwj7UiJg5ogqzpnmNVLXsVqEC3Wa4g8djxA9JcPFB9rSW9qvjYYCNbhJHkh7Pnm2uWUh5ZJ3pYNBj' | bx hd-public -i 0 | bx hd-to-ec | bx ec-to-address -v 0

18SKy9bqE57Mif4p1iGbGqPP2vgV8YXFw8
B) Address for BIP 44 public key M/44'/0'/0'/0/1:
% echo 'xpub6EgnF2eeGf5TtMubvPzZG5sR7Z3vJwAwj7UiJg5ogqzpnmNVLXsVqEC3Wa4g8djxA9JcPFB9rSW9qvjYYCNbhJHkh7Pnm2uWUh5ZJ3pYNBj' | bx hd-public -i 1 | bx hd-to-ec | bx ec-to-address -v 0

13EGK6DifQ6jsx5habBz4SoNYitPaqYUTL
C) Address for BIP 44 public key M/44'/0'/0'/0/2:
% echo 'xpub6EgnF2eeGf5TtMubvPzZG5sR7Z3vJwAwj7UiJg5ogqzpnmNVLXsVqEC3Wa4g8djxA9JcPFB9rSW9qvjYYCNbhJHkh7Pnm2uWUh5ZJ3pYNBj' | bx hd-public -i 2 | bx hd-to-ec | bx ec-to-address -v 0

1JMeSGf1AB6vsRQxRJsVFBtRmqWdbNcn5D
It is worth noting bx unifies key HD key/address generation across 100+ altcoins, see BIP 44 related Table.

The words you write down are used by Trezor to generate the bitcoin keys and addresses. If you have the words, you can re-generate the keys in another Trezor or compatible wallet (by telling it to restore an existing wallet and entering the words, instead of generating a new one). Conversely, if somebody else has your words, they can also access your bitcoins, so they need to be kept securely offline.


text:
where can I get the NEW Hardware? to make profit
Currently 2015 mid-October, how can I get the NEW hardware to actually make profit, after paying the electricity bill, ventilation, the cooling and all the extra cost?
I'm not aiming for $100 per day, but just anything above 3 Dollars per day will be fine. I've use the calculator websites to check the available chips in the market and after I input the hash rate and the Watt and the electricity cost, (which I happen to have for only 10 cents not 15), I still can't make profit.
am I doing something wrong or it's really getting impossible to make money out of mining now. thanks for any help..

It's actually pretty much always been like that (for the reason David mentions). Especially if you have to include a lead time of several months for the hardware to arrive.

related: In the ASIC-age, is it worth starting mining Bitcoin at home?

No, you're not doing anything wrong. If it was easy to make a profit, everyone would do it, raising the difficulty, and bringing the profit to zero. Only those with the lowest cost of electricity, the lowest cost of capital, and who can get the best deals on high-end ASIC miners can make a profit. And even then, only by taking the risk that the difficulty or price will not change in ways they didn't expect.


text:
Can one set how many confirmations MultiBit requires for a transaction to be accepted?
Is there any way for users to specify the number of confirmations for a transaction?
If not, how many confirmations does Multibit require to complete a transaction?
And does the required default number of confirmations vary by size of the transaction?

From your side, an outgoing transaction are completed the moment you send it. However, it's up the receiving party to decide how many confirmations they require before they consider it received. The usual rule is 3 confirmations.
I have never used Multibit, so in regards to incoming transactions, I have no idea.

That much I understand. MB serms to have defaults scaled by transaction size. So far I've seen 4 to 7 for $10 and $1000, respectively.


text:
Extract all public keys from blockchain
I want to extract all public keys from the blockchain. Those will probably mostly be keys that have been used to sign transactions.
How would I do this?

This question seems really similar to your other question: http://bitcoin.stackexchange.com/questions/37291/all-bitcoin-public-keys-with-non-zero-balance It seems like Nate Eldrige answered the general aspect of your question and linhares answered how to implement it. Is there some aspect that you want clarification on?

@NickODell Good catch. In fact, the only difference seems to be "all public keys with non-zero balance" and now "all public keys", so I closed it as a duplicate.

I don't think he's looking for anything less than a list of all known pubkeys.

@ Wizard Of Ozzie indeed


text:
I have sent a person some bitcoin. He never sent me the goods. How can I get my funds back?
I have been scammed by a person and I want to dispute a bitcoin transaction.

related: Can a bitcoin transaction be reversed?

Bitcoin transactions cannot be reversed unless some kind of escrow is implemented. Take this as a hard learned lesson. Sorry for your loss.

Bitcoin is designed to put you in control of your own money. While this allows you to "be your own bank", it unfortunately also leaves you without the safety net present in payment services provided by the banking network. Bitcoin payments are pushed out by the paying party instead of requested by the payment receiver.
By design, there is no central referee in the system that can perform chargebacks or mediate disputes.
Essentially, you have similar options as if you had paid your business partner in cash: You can either take it up with your business partner or report them to your local authorities for defrauding you.
If you've made the purchase through a marketplace, the marketplace operator might offer a conflict resolution procedure.


text:
Should I join a pool?
I've configured the large (8x) GPU image on AWS at 2.60/hour. I ran it goes few hours after setup and mined nothing.
This was my first foray into mining.
Given this setup, am I better placed to join a pool? And what pool should I join? (Some pools reward the biggest contributor and others payout shares.)

What mining algorithm does Ethereum use? Is GPU mining viable for Ethereum?

You should first look at your hash rate and estimate your average rate of earning, to see if there is any chance for this to be profitable given your costs.  My guess is no, in which case using a pool will only make it worse.

You are unlikely to collect rewards consistently (or at all) solo mining with that hashrate. You should join a pool to smooth out your expected return, unless you are okay with the posibility of earning nothing for long periods of time (or are a very lucky person).


text:
What are realistic expectations for an ethereum miner on AWS?
I've configured the large (8x) GPU image on AWS at 2.60/hour. I ran it goes few hours after setup and mined nothing.
This was my first foray into mining.
Does this size instance give me a reasonable chance of being able to successfully mine? Or am I so underpowered that the probability is too small?
It may also be that I don't fully understand the concepts so feel free to tell me so :)


text:
How to identify the owner of a Bitcoin address?
My father's computer was infected with a CryptoWall virus. The virus attacker asks for Bitcoins to send me an app to decrypt my our files.
Is there any way to identify the Bitcoin address owner?
How can I identify his country? How can I let his local police know about this cyber crime?
I didn't send him Bitcoins.
See: http://www.bleepingcomputer.com/virus-removal/cryptowall-ransomware-information

Hah! Hah! Hah.   You very funny.   The exact reason that CryptoWall (and other ransomware) uses Bitcoin is because it is extremely difficult to trace.

report fraud/scam bitcoin addresses via bitcoinwhoswho.com/address/THE_BITCOIN_ADDRESS You need to register first. Note that BTC addresses are linked to BTC wallets which are linked to people. Does reporting this way actually DO anything? Dunno.

First off, I'm glad you didn't send money as that often does not help in these situations. As for tracking the attacker through their bitcoin address, I'm sorry to say but most likely that is not possible. It's impossible to determine the location of a bitcoin address without some sort of identification tied in. They also most likely would tumble the bitcoins before sending them to any address actually tied to their identity.
You could give all the information you possess to your local police but most likely there is not much more they can do. These type of scams are pretty safe to commit sadly.

Thanks for your answer. That is a really bad point for Bitcoin in my opinion.

@AkiraYamamoto From a philosophical perspective, you have to appreciate it.  The features that make bitcoin so powerful are oft the ones which are turned upon us by criminals.

It's very difficult to know because Bitcoin addresses are hashes of the public key of a public/private key pair, and it's very difficult to guess the corresponding private key of a public key's hash. And even if you knew the private key, you'd have much difficulty finding who it's real-world owner is.

What does the relationship of addresses, public and private keys have to do with the inability to identify the user?

@Murch It doesn't. That's why it's difficult "finding who it's real-world owner is".

I don't see how this argument is anymore helpful than simply stating that the address is not linked to an identity. In fact that would be more to the point.


text:
Can a wallet allow you to receive Bitcoins from the same wallet you send them from?
Can a wallet allow you to receive Bitcoins from the same wallet you send them from, and if so, why would there be some reason why this shouldn't be done.

Related: http://bitcoin.stackexchange.com/q/8191/153

Some wallets do allow you to receive coins to the same addr they are sent from. But generally this is not a good idea; your transactions could be more easily traced this way.

Why would that make tracing easier ?

You can send coins to any valid Bitcoin address, including one of your own. The only reason why this shouldn't be done is that one is paying the transaction fees to transfer money to their own addresses. On the other hand, it is not a bad idea if one of your addresses in a wallet is compromised, but then again that is a good reason to create a completely new wallet and transfer all the money there.

Wouldn't this be a good way to consolidate UTXO's?

Yes, spending a bunch/many/all of your UTXOs to another address in your own wallet is exactly what a consolidation transaction does.—If you have a new question, please start a new topic.

This is a fundamental way that wallets operate.  Your wallet is list of bitcoin addresses.  A typical transaction sends all of your money out of one of these addresses and back to a new one in your wallet, as well as to your recipient.
If you mean can an address receive coins it was sent, the answer is a resounding yes - that is exactly how satoshidice works, which at one point was the biggest mover of all bitcoin.

Note that while the original Bitcoin client would always spend all funds in every transaction, meanwhile wallets have gotten a lot more selective in funding transactions. See e.g. https://bitcoin.stackexchange.com/q/1077/5406


text:
P2WSH, witness_v0_scripthash: how to derive an address
Is there an address associated with P2WSH scripts?
for testnet txid =6717c8971dccbf826790efc16fb357f1e225fed3448247b8556c9f13a6c0ce42, i get:

"vout": [
    {
      "value": 0.05994165,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 43aac20a116e09ea4f7914be1c55e4c17aa600b7",
        "hex": "001443aac20a116e09ea4f7914be1c55e4c17aa600b7",
        "type": "witness_v0_keyhash"
      }
    }
  ]

Is there no address associated with this?

It's a Segwit output and hence does not have the address associated with it. The locking script for a Segwit transaction includes the witness version (0 in this case) and the redeem script (which is 43aac20a116e09ea4f7914be1c55e4c17aa600b7). Given that the length of the redeem script is 20-byte, this locking address is pay-to-witness public key hash (P2WPKH). Hence the redeem script is hash160 of the compressed public key.
Since Segwit was implemented with a soft fork, there are clients that have not fully updated their software. For those clients, the locking script will look in a way that anyone can spend the output. But for Segwit aware clients, they would realize that it is a Segwit transaction with 0 as the witness version.
You could create a pay-to-script-hash of the P2WPKH. By that I mean that you could embed the witness as a script and generate an address. What you need to do is take hash160 of (0x001443aac20a116e09ea4f7914be1c55e4c17aa600b7). The first byte 00 is the witness version, second byte (14) represents the bytes to push to the stack (20-bytes) and the rest is your witness. Then you can base58check encode it using a prefix of '0x05'
In the future it is expected that most clients will upgrade to Segwit. At that time, it is proposed that the address to be locked will be a base32encode of the script (0 43aac20a116e09ea4f7914be1c55e4c17aa600b7). The address will start with bc for mainnet, separated by 1 and then the encoded version including the checksum. This addresses are called Bech-32 address.
This is how the address will look. Refer BIP-173 for more details.
Mainnet P2WPKH: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4
Testnet P2WPKH: tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx
Mainnet P2WSH: bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3
Testnet P2WSH: tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7

Native segwit outputs (P2WSH and P2WPKH) do not currently have an address type, so there are no addresses for these outputs.

One has been proposed: https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki

This was correct when this answered was published but is no longer correct. See Ugam Kamat's answer instead.


text:
How to keep my shares when moving a pool server?
I have a question...

If I'm mining with a litecoind/bitcoind process, and a pushpool. How can i move the whole shablam to a new server/copmputer WHILEST saving the progress I have on this current round?
Also, can i move the litecoind/bitcoind and/or pushpoold service and files without having to rebuild them from source on the new machine?

Help is highly appriciated!

Are you hosting a pushpool yourself? Doesn't the pool save the amount of shares you submitted to your account so that your progress is automatically saved to your account?

The answer on your second question will heavily depend on how similar the two machines are you are moving between.

Yes, I'm hosting a pushpool myself. I don't know... All I know is that it puts shares into a database, that's neat and all, but does the progress actually save on the litecoind "account" ?

Oh and the second question, well it's basicly the same machine, one more core and double the ram. Same Ubuntu image.

@StevenRoose Also, another question... If pushpoold crashes, and i force restart the whole server with shutdown -r now. That progrss is saved as well? I hope?

I'm sorry, but I'm not the person that can help you.

@StevenRoose Alright, thanks anyway. Do you mind upvoting this question? :)

I changed the title, now I upvoted. You need to know that Bitcoin doesn't have such a thing as "progress". Mining is about trying a random puzzle, every hash your computer calculates has an equal chance of finding a block, regardless of how long you have been looking for that block.

Well basically I went ahead and moved the database (mysql) and rebuilt the pushpool, stratum and litecoind sources on linux.

Pretty much what I said

If you're the only person using the pool server, it doesn't matter how many shares you have -- all the profits are yours. Who would you be sharing them with?

It's me and my friends. Shares are kept in the database, which i will move over to the new server as well, of course.

To move work stats/shares you have to move those stored data. In your case probably a database.
You can use the same binaries if the new computer runs the same operating system on the same architecture. Otherwise just recompile them.

Yeah, I went ahead and recompiled them.


text:
Quantity of traffic on test network
I want to begin experimenting with bitcoin. I notice the estimated upload traffic for the real bitcoin network is around 200 GB per month. That's too much for an experiment. How much traffic per month could I expect for a node on the test network?

I havent seen a proper answer on the internet so I did the test myself using bitcoin-0.18.1 with the -testnet flag and after downloading the chain ~2 GB I monitored the traffic of the bitcoind process with nethogs for 24 hours.
I got 40MB download and 20MB uploads so 60*30 = 1800MB
You can expect 1.8GB of traffic from the bitcoin testnet compared to the 200GB+ they advise for the bitcoin mainnet


text:
What's the safest way to buy bitcoins in India?
I have came across multiple companies selling BTC, but I’m not sure which one to trust. How can I find a safe way to buy bitcoins in India?

related: How can I convert bitcoins to Indian rupees and vice-versa?

There are several legit companies where you can buy and sell Bitcoin officially in India such as Zebpay, Unocoin, Coinsecure,and Btcxindia.
I have personally used Unocoin and Zebpay, both are good.

Thanks, for the advice, any idea which one is the cheapest aka which takes the least transaction fee?

also, does any of them happen to use easy mode of transactions like debit card or credit card?

go for zebpay if u are a new user and want to purchase without much technical knowledge, its a mobile wallet which is linked with your mobile number for security purpose...you can use ur bank account to make payment to zebpay acc and they will provide you the equivalent bits. if u want to use debit/credit card go for unocoin

Btcxindia is good. For peer to peer trading you can use localbitcoins


text:
Can I use Bitcoin elsewhere except in the deep web?
I really like the idea of having an universal online currency and I wanted to know if I can use it in the 'surface web'.

Yes. You can use bitcoins in many places. There are Bitcoin exchanges where you may exchange your coins for USD or vice-versa. You can also use them on various websites like Newegg for example.

There are a number of applications. Bitcoin is e.g. used for

donations, e.g. Khan Academy
online-shops for digital goods, e.g. vpn, web hosting, mail servers, mp3s, computer games
mail-order companies, e.g. Overstock
booking flights and hotels, e.g. on Expedia
remittances
brick and mortar stores

You can find a more complete overview on the question Where can I find a list of merchants who accept bitcoins?

With the Shift card, you can spend Bitcoin anywhere Visa is accepted.
https://www.shiftpayments.com/

Yes! Of course! Websites like Overstock.com accept bitcoin.


text:
How would Bitcoin's purchasing power be measured after fiat were gone?
Somewhere in the possible near/far future when there might not be any major fiat anywhere. What will Bitcoin's purchasing power be measured in?

Same as what they do for fiat currency: Big Mac Index.

@GregHewgill http://bitcoinppi.com just started up- it shows how many big macs you can get for 1 btc

If in this hypothetical scenario there weren't any other unit of account available, it would be necessary to use some kind of consumer price index.
Fortunately, besides fiat currencies, there is also gold as unit of account. So, in case all fiat currencies are gone, you could use gold to measure the purchasing power of bitcoin.

There is now a BitcoinPPI (Bitcoin purchasing power index) available:
http://bitcoinppi.com/
It uses the BigMac index published by The Economist and calculates a global weighted index and a local index for 41 countries.
There is an API for all data and the sources are also available.
Disclaimer: I have no opinion on the taste of BigMacs ;)

Yeah I commented on my question that

Sorry, I saw the comment a bit later. Someone on twitter, or was it reddit? pointed me to that questions, so I felt like jumping right on answering it.

It's typical to measure the purchasing power of currencies using something like the Consumer Price Index, so this is probably would be used if Bitcoin were to become a dominant currency.
Basically, you would develop a "market basket" of goods and services that people commonly buy, and perform some sort of survey to determine what these goods and services currently cost  (in Bitcoins).  Then take some weighted average to come up with a single number that, roughly speaking, measures the overall Bitcoin price of goods, or equivalently, the purchasing power of a bitcoin.


text:
How come the block reward keeps only getting halved but there is an upper limit for bitcoins in existance?
The maximum number of bitcoins that can exist is 21 million. New bitcoins are made by confirming that transactions happened. Every 4 years the amount of bitcoins people get when they solve a block is halved. When you keep on halving something you never get zero, so someone will always get paid some amount of bitcoins, but the max number of bitcoins that can exist is 21 million. So how is the total number of bitcoins not going to go over 21 million?

possible duplicate of How many bitcoins will there eventually be?

Similar paradox: When traveling to any destination, you always have to halve the remaining distance before you get there. No matter how far away you are, there will always be a half way point between you and the destination. Therefore you can never reach the destination, since there is always a half way point to arrive at first.

This is more a math question, but basically, the sum is a geometric series:
https://en.wikipedia.org/wiki/Geometric_series
1/2 + 1/4 + 1/8 + 1/16 + ... = 1
That's basically what's happening here except with 21 million instead of 1.

This does serve to correct the misconception, but in fact there is a simpler reason: in the actual Bitcoin protocol, the halving does not continue indefinitely. Beyond a certain block, the reward is simply 0, so we are dealing with a finite sum, not an infinite series.

Actually, each halving gives an upper limit on how many bitcoins may be created in the reward. At some point, a halving takes this below one satoshi, and thusly the reward cannot give out anything more than 0 satoshis. The halving continues though.

@NateEldredge if that is true what will make people want to confirm transactions?

@Riley: Transaction fees, in theory. You can find this discussed in many questions on this site.

@NateEldredge transaction fees halfed? Or what?

@RileyPotts: The mining reward is composed of two parts: The transaction fees and the block reward. The block reward is halved as described above. The transaction fees are roughly proportional to the number of transaction in a block as most transactions should attach a fee.

authors: Александр Свояк

authors: พบพล เขตอนันต์


text:
Is it accurate to refer to Bitcoin as "money"?
For example, would it be considered right if I said "I already gave you the money, Bob!" when I gave him Bitcoin?

I don't think I understand the context of the question. You obviously can - are you asking whether that would be an accurate thing to say?

Yes, I am talking about would it be concidered right

Money is something that is used as

a medium of exchange
a unit of account
a store of value

in a given socio-economic context.
In the context of the Bitcoin community, Bitcoin is being used as a medium of exchange (payment vehicle) and – as the existence of "hodlers" shows – as a store of value.
You apparently agreed with Bob that some specific amount of Bitcoin would be sufficient to repay your debt to him. Therefore, you are denominating your debt in Bitcoin, i.e. using it as a Unit of Account.
Under these circumstances, both Bob and you should consider "I already gave you the money, Bob!" an accurate usage of the term money.
In other circles, there is discussion especially about whether Bitcoin fulfills the "Unit of Account" property. Hence, others may disagree that Bitcoin is money.


text:
How can I compute mining profitability?
It was asked elsewhere, but I'm re-asking the question in a less time sensitive way. Can you please list some of the techniques, charts, spreadsheets, calculators or other tools that help someone to compute mining profitability?

There are several mining profitability calculators available.  In order to obtain useful data from these, you'll need to predict how the price of bitcoins and the mining difficulty factor will change.  Price charts are available at bitcoincharts.com, and difficulty charts are available at bitcoin.sipa.be.  There are also charts of the price to difficulty ratio available at bitcoinx.com.

I`ve made a simple calculator that can calculate estimated mining profitability (given that you know how much power you are using and how much it costs you).
http://tpbitcalc.appspot.com/
But the problem with all mining calculators is that the Bitcoin economy can shift very often. Difficulty and bitcoin exchange ratio change quite often, and the latter sometimes very rapidly, so projecting too far into the future has to be taken with a grain of salt.


text:
Can a double spend attack be obfuscated by mimicking the transactions seen before the fork?
An attacker controls the majority of the hashing power and wants to double spend without arousing suspicion. If they mirror the public chain's activity while generating the private fork and the fork is short (say 10 blocks), can you only detect the double spend by verifying the block hashes haven't changed or noticing the double spend transaction directly?

I'm not sure I understand what you are asking. Blocks are compared by comparing their hashes, not just by looking at their transactions. If the blocks contain the same transactions but are not identical (different nonce, or reward paid to different addresses), the network will see that they are on two different forks. If they are identical, then there is no fork at all.

I edited it a bit. I'm wondering if there's any other ways to detect the double spend attack if you don't keep a record of the primary chain block hashes prior to the longer private fork replacing it and miss the original double spend.

As this is a general question applicable to most decentralised currencies, is there any particular reason why it has been tagged [dogecoin]? It does not appear to help people looking for specific dogecoin information, and hinders people looking for general information.

How do you mimic a transaction?

The short answer is that there is no way to double spend "without arousing suspicion". Presumably, you would be double-spending against someone and that person would notice as soon as you diverted the main chain.
longer answer:
As long as you're building your private chain you can double spend everything you have by normally broadcasting to the public chain, knowing that it will be reversed later. There is no way to detect/defend against a 51% attack until it happens, and once it happens the security of the blockchain of Xcoin is obviously compromised and the whole coin/your stash of coins is now worthless, so there was not much point in the double spend anyway.