How Bitcoin Mining Works
Bitcoin transactions are mined (processed) by Miners, and Miners want to benefit from their work. By mining transactions with higher fees, they make more money. Some miners can decide to mine all transactions no matter the fee but they still must compete with every other financially motivated miner.
Why is it taking so long for my ...
Yes, there is a way to save a borked transmission. A restart of the wallet and some patience typically fixes the issue.
How to stop/reverse a Bitcoin transaction without confirmations:
Run bitcoind and with -zapwallettxes.
This makes the wallet "forget" any unconfirmed transactions, thus enabling you to reuse their inputs.
Create a new transaction to make ...
In the case that your fee is too low: Now that child-pays-for-parent has been merged, you(or any of the recipients of your unconfirmed transaction) could spend the Bitcoin received and the fee associated with that second transaction will help prioritize the confirmation of the original transaction.
This does require more fine grained control of which ...
Here is a guide for as many wallets as I could figure out how to perform an RBF with. This is adapted from my bitcointalk post: https://bitcointalk.org/index.php?topic=1802212.0
What is a "Stuck" transaction? How are they caused?
A "stuck" transaction is a transaction which has remained unconfirmed for period of time which either the receiver or the sender ...
A transaction claims some outputs from previous transactions and then creates new outputs whose summed value is equal to (or less than, in the case of fees) the sum of the claimed outputs values.
For a transaction to be valid it must be the only one that claims the outputs (no double spend) and the transaction that created the claimed outputs must be valid. ...
The other answers cover most useful information already, I'd like to add one point though:
The fee estimation of most wallets has significantly improved since blocks have gotten full.
If you're running an outdated version, it's likely that it is doing a bad job of guessing the fee. That may cause you to either overpay or your transactions not getting ...
Two issues with Bitcoin's design
Scalability of everyone checks everything
Bitcoin is a gossip network:
P2P nodes connect mostly randomly to each other and pass-on new information to each other as they receive it. That way, information floods through the network quickly: each step further increases the nodes that were informed exponentially (until most are)...
When you create a transaction, your Bitcoin wallet broadcasts it to a few full nodes on the Bitcoin peer-to-peer network. Those full nodes quickly relay it to other full nodes, and it eventually ends up at the full nodes run by the sites you linked to. That's how those sites know the transaction exists.
The full nodes also relay the transaction to Bitcoin ...
Yes. Unlike other transactions you don't need to wait for the confirmations.
From the code which selects which coins to use to fund a transaction in src/wallet.cpp:
bool CWallet::SelectCoins(int64 nTargetValue, [...])
return (SelectCoinsMinConf(nTargetValue, 1, 6, vCoins, setCoinsRet, ...
For small amounts, like a cup of coffee, the double-spending risk is going to be negligible. If it's a person I know, I wouldn't mind receiving and accepting as valid a transaction with zero confirmations.
For shops that will start accepting bitcoin, a stronger security measure would be for them to have multiple bitcoin clients installed in multiple ...
If you are using Electrum, there is no equivalent to -zapwallettxes. The closest thing you can do is to restore your wallet from a seed. This will wipe your client of any unconfirmed transactions.
Then, you can resend the transaction with a higher fee.
Replace-by-fee (RBF) transactions all have a sequence number that is below MAX - 1. If the payment a merchant receives comes from a transaction that has such a sequence number, the merchant can either wait for the transaction to be included in a block, or ignore the payment altogether. Ignoring the payment is fraught with other complications, however, ...
The original design assumes a common behavior of processing the incoming transaction on FIFO basis. That means the first transaction received by a miner wins and all conflicting transactions received after it will be ignored (no matter if the first one is already confirmed or not).
While this standard behavior is beneficial for the Network as a whole, some "...
No, it does not lend you bitcoins but rather it spends the very same TX outputs that you have sent there. Thus, if your transaction turns out to be surpassed by another one (double spend), then also the transaction spending its output will be considered invalid.
It's like cutting a branch on a tree: all sub-branches will go down with the root one.
If using the wallet notify option in bitcoin.conf, you can get a notification any time a transaction occurs on the network that matches a bitcoin address in the wallet. To use this, of course, you'll have to keep Bitcoin-QT or bitcoind running at all times.
Once you have the transaction id, you'll have to look up ...
This transaction (e8c5...) will never confirm because its inputs have already been spent by transaction 93cc4fe50e6069dccb827f56636bb4cd20f9865dd4d7e3b7946bbbca97576e80, which currently has 9 confirmations.
There isn't any inherent need to cancel transaction e8c5; the network is never going to consider it valid. You might want to remove it from your wallet ...
The simplest protection is to not consider a payment to have been made to you until it receives some number of confirmations. The number can depend on the value of the payment. For small payments, one is probably sufficient. For large payments, some have decided to wait for as many as six confirmations.
Mining is the timestamp in Bitcoin, it allows for a decentralized system to achieve synchronized ordering of transactions with high probability. If a system for doing decentralized time sync existed there would be no need for mining blocks at all, you'd simply timestamp transactions as they arrived and call it a day.
No system for this exists, hence we use ...
It has become trivial to double-spend; do not accept zero-confirmation transactions!*
Accepting zero-confirmation transactions today is not safe: Especially, with the full blocks of late, it is almost trivial to double-spend.
Only accepting the first seen transaction for the same inputs and discarding double-spending transactions had been a policy that ...
If you send BTC, your transaction will be broadcasted to the bitcoin P2P network. It is very unlikely that the transaction fails, if the receiver was notified, because then probably many miners already have the transaction and it is confirmed with the next mined block (that's the reason for the 10 minutes, because each 10 minutes a new block is mined). The ...
It would be recommended to connect directly to most of the major pools. This way one doesn't need to rely on any other nodes to relay the informations.
However, you should note that the conflicting transaction could already be pre-mined, rendering such precautions useless.
Blockchain technology, at least without accepting central party that controls access to the chain, inherently has slow blocks, or strong centralization incentives.
The reason is that blocks need to propagate much faster than the block interval time. If they don't, miners who are further away from the majority of the hash power are put at a disadvantage.
A transaction simply link an older output transaction and reasign it. You can send bitcoin you just reveice because you can link to the other transaction immediately. Then the transactions can be mined in the same block. The standard bitoin client doesn't let you spend unconfirmed bitcoin because it could let some create an attack.
In short, no. You can tell the customer whatever you want on your webpage, at your point of sale, or in the memo field of a BIP70 invoice---but once the transaction has been sent to the network, there's no way for the customer to take it back. (Except for double spending, but that's discouraged.)
In the long-term, miners will likely change their ...
Estrella (Humble Bundle) Jun 23, 15:46
Thanks for writing in to Humble Bundle Support!
Unfortunately, Bitcoin has been disabled for the Humble Borderlands
Bundle. The individual payment options made available for a given
bundle are determined when we finalize contracts with our development
partners. In this case, it ...
Let us firstly divide the stages of the transaction into 2 major categories for better understanding.
Stage 1: Initiation of the transaction (Mempool)
In this stage, ALICE (sender) broadcasts a transaction she made to BOB (receiver). This transactional detail is sent in the Mempool along with the specified feed that ALICE (or some mediating platform) is ...
I think David ilustrated very well how things works, but I feel your question was not fully answered since you asked about time. So I will try to complete the answer above.
As David said in the previous answer, when you send a payment (or transaction), somethings happen at first: the sending of the transactions to one or few nodes, the broadcast of that ...
There's many ways to get your transaction confirmed.
push your transaction