Author

Topic: Help !! Transactions uncomfirmed for 2 days (Read 879 times)

legendary
Activity: 2044
Merit: 1115
★777Coin.com★ Fun BTC Casino!
February 25, 2017, 08:09:29 AM
#11
>>However, since he's completely free do add any valid transaction to his block, he can also add transactions with lower fees because of "reasons". It might not be wise, since he's missing out on the biggest fees, >>hence, losing money.

i am stuck with a 2btc txn for over 72hours. zero confirmations. 57sat/B fee.
maybe unlucky or the network is simply under too much pressure, but its one of my first spendings and i feel bad as a user.

I hope a miner can help. dont know what elese to do.  i will never use low fees again, but i doubt that a network design, which allows such big backlog is able to process/scale in future well.
maybe the core developer will try harder to achieve a better transaction/sec processing.

(ps: contacted 2 miner here per personal message, maybe they can)




Don't forget the viabtc txaccelerator Smiley
It's not because the network can't handle processing more transactions/second. The reason why there is a backlog is because there is only 1 1Mb block every ~10minutes.
A transaction has a physical size (in bytes), so only a limited amount of transactions fit into a single block.
If more transactions are broadcasted than there is space in the blocks, there is a backlog...
It can also happen that the miners don't fill the blocks completely.

There are already a couple of proposed/implemented sollutions, but none of the sollutions has sufficient community support to be used.



Isn't it essentially because the the network can't handle more transactions per second though? If the blockchain could could handle block sizes beyond 1 MB, it would increase the amount of transactions per second that are esseially confirmed. This seems like two sides of the same coin to me, (i.e. the block size is the REASON the network can't handle more transactions per second.)
legendary
Activity: 2044
Merit: 1115
★777Coin.com★ Fun BTC Casino!
February 25, 2017, 08:06:12 AM
#10
So a string of questions now because I don't exactly understand how nodes work.

So are nodes or  miners responsible for determining what transactions get into a block? Are miners selectively taking tranx from a mempool, or are they randomly taking tranx from a mempool? (And if there is not only one mempool, but a separate mempool by every node, do all miners have access to all nodes to pull from?) What determines what tranx go to which nodes? Will a transaction be in more than one node's mempool at a time?

Lastly, do node operators receive fees for running a node? Otherwise, what does it matter to them to set a certain threshold for fees/byte to include to get into their mempool?

Don't worry, a lot of members are always happy to answer questions... Everybody needs to learn, i learn new things about BTC every day,for example, i try to read the post history of achow101 and DannyHamilton to learn new things.

About your questions:
A node is basically somebody running a client that downloaded the full blockchain. A node is connected to other nodes and clients.
When a miner finds a new block, he sends it to the people he's connected to (the nodes). A node then usually relies the block to his own connections, thus spreading and storing the information over the network. A node usually verifies if block is correct and rejects it if it's not. Blocks are sequential, so every node needs to download the blocks from his peers in a sequential manner. He has to have all the blocks in the correct order, if not he is unable to verify the latest block.

About transactions: When you create a transaction, you broadcast it to the people you're connected to. They either accept the transaction or they reject it. When they accept the transaction, they usually send it to their peers.
Now, unlike blocks, transactions are not sequential. They do not carry a timestamp. A node is not forced to accept all transactions, he's free to build up his own mempool of transactions any way he wishes. An unconfirmed transaction is just stored in the memory of a subset of the nodes, as long as it's not included in a block, there is no certainty it will ever become part of the blockchain. That's why you should never trust 0-confirmation transactions.
A node also has an UTXO set. This is a database containing all unspent outputs. A transaction can only use these outputs to use as an input. If a transaction uses inputs that are not in the UTXO, it is normally rejected, but a node can also reject transactions because the fee is insufficient, because he doesn't like you, because he has a bad hair day,... If a new block is found and verified by a node, this node now removes the outputs that were used as inputs for the transactions in the valid block from his UTXO set.

A miner does the same thing: he has a client installed that builds up a mempool of unconfirmed transactions and an UTXO set. Since a miner is allowed to keep the difference between the sum of the values of the inputs, and the sum of the values of the outputs for all transactions in the block he's working as a fee in case he solves the block, it is wise of him to fill the block he's currently working on with transactions with the highest fee (in satoshi's/byte).
However, since he's completely free do add any valid transaction to his block, he can also add transactions with lower fees because of "reasons". It might not be wise, since he's missing out on the biggest fees, hence, losing money.
The "reasons" for adding transactions with lower fees could be: out of the goodness of his heart, because he got payed to do so, because it was a high priority transaction, because he doesn't care,...

Now for your last question: there used to be a private initiative to pay node operators, but i was to late to enter Wink
In reality, you get nothing for running a node, exept the feeling that you're supporting the network by verifying the blocks and transactions, and by sharing the information to everybody you're connected to.
For business owners, it might also be usefull to run your own node, since the reference client usually used to run a node has a full feature set of coin controll options, statistics,... And you're directly connected to a lot of peers, so it's a fast way to broadcast blocks or transactions.

So then nodes are not broadcasting to miners (or miners are not pulling tranx from the nodes directly)? Miners and nodes pull tranx independent of each other? Or is it miner's get to choose which tranx they pull from the node by sorting by largest fee/kb?

Also, do all inputs have the same size in bytes? I have to assume this isn't true because I was playing around with my online wallet and I have one address with 29 unspent inputs and one with 21 unspent inputs, and the recommended fee to send the full balance from each address did not compute to the same cost/input, which means either inputs have different sizes in bytes, or the wallet is not consistently calculating the same fee on a sat/byte ratio. So what determines the size of an input in bytes? (I assume it might have something to do with how many inputs each of the inputs had when you trace it up the line, but if this is true,  at what point do old inputs stop figuring into your current unspent input? Essentially, how do those old inputs get pruned off?)

Thanks for the answers by the way.
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
February 24, 2017, 09:42:12 AM
#9
>>However, since he's completely free do add any valid transaction to his block, he can also add transactions with lower fees because of "reasons". It might not be wise, since he's missing out on the biggest fees, >>hence, losing money.

i am stuck with a 2btc txn for over 72hours. zero confirmations. 57sat/B fee.
maybe unlucky or the network is simply under too much pressure, but its one of my first spendings and i feel bad as a user.

I hope a miner can help. dont know what elese to do.  i will never use low fees again, but i doubt that a network design, which allows such big backlog is able to process/scale in future well.
maybe the core developer will try harder to achieve a better transaction/sec processing.

(ps: contacted 2 miner here per personal message, maybe they can)




Don't forget the viabtc txaccelerator Smiley
It's not because the network can't handle processing more transactions/second. The reason why there is a backlog is because there is only 1 1Mb block every ~10minutes.
A transaction has a physical size (in bytes), so only a limited amount of transactions fit into a single block.
If more transactions are broadcasted than there is space in the blocks, there is a backlog...
It can also happen that the miners don't fill the blocks completely.

There are already a couple of proposed/implemented sollutions, but none of the sollutions has sufficient community support to be used.

member
Activity: 164
Merit: 19
February 24, 2017, 09:25:32 AM
#8
>>However, since he's completely free do add any valid transaction to his block, he can also add transactions with lower fees because of "reasons". It might not be wise, since he's missing out on the biggest fees, >>hence, losing money.

i am stuck with a 2btc txn for over 72hours. zero confirmations. 57sat/B fee.
maybe unlucky or the network is simply under too much pressure, but its one of my first spendings and i feel bad as a user.

I hope a miner can help. dont know what elese to do.  i will never use low fees again, but i doubt that a network design, which allows such big backlog is able to process/scale in future well.
maybe the core developer will try harder to achieve a better transaction/sec processing.

(ps: contacted 2 miner here per personal message, maybe they can)


legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
February 24, 2017, 08:15:13 AM
#7
So a string of questions now because I don't exactly understand how nodes work.

So are nodes or  miners responsible for determining what transactions get into a block? Are miners selectively taking tranx from a mempool, or are they randomly taking tranx from a mempool? (And if there is not only one mempool, but a separate mempool by every node, do all miners have access to all nodes to pull from?) What determines what tranx go to which nodes? Will a transaction be in more than one node's mempool at a time?

Lastly, do node operators receive fees for running a node? Otherwise, what does it matter to them to set a certain threshold for fees/byte to include to get into their mempool?

Don't worry, a lot of members are always happy to answer questions... Everybody needs to learn, i learn new things about BTC every day,for example, i try to read the post history of achow101 and DannyHamilton to learn new things.

About your questions:
A node is basically somebody running a client that downloaded the full blockchain. A node is connected to other nodes and clients.
When a miner finds a new block, he sends it to the people he's connected to (the nodes). A node then usually relies the block to his own connections, thus spreading and storing the information over the network. A node usually verifies if block is correct and rejects it if it's not. Blocks are sequential, so every node needs to download the blocks from his peers in a sequential manner. He has to have all the blocks in the correct order, if not he is unable to verify the latest block.

About transactions: When you create a transaction, you broadcast it to the people you're connected to. They either accept the transaction or they reject it. When they accept the transaction, they usually send it to their peers.
Now, unlike blocks, transactions are not sequential. They do not carry a timestamp. A node is not forced to accept all transactions, he's free to build up his own mempool of transactions any way he wishes. An unconfirmed transaction is just stored in the memory of a subset of the nodes, as long as it's not included in a block, there is no certainty it will ever become part of the blockchain. That's why you should never trust 0-confirmation transactions.
A node also has an UTXO set. This is a database containing all unspent outputs. A transaction can only use these outputs to use as an input. If a transaction uses inputs that are not in the UTXO, it is normally rejected, but a node can also reject transactions because the fee is insufficient, because he doesn't like you, because he has a bad hair day,... If a new block is found and verified by a node, this node now removes the outputs that were used as inputs for the transactions in the valid block from his UTXO set.

A miner does the same thing: he has a client installed that builds up a mempool of unconfirmed transactions and an UTXO set. Since a miner is allowed to keep the difference between the sum of the values of the inputs, and the sum of the values of the outputs for all transactions in the block he's working as a fee in case he solves the block, it is wise of him to fill the block he's currently working on with transactions with the highest fee (in satoshi's/byte).
However, since he's completely free do add any valid transaction to his block, he can also add transactions with lower fees because of "reasons". It might not be wise, since he's missing out on the biggest fees, hence, losing money.
The "reasons" for adding transactions with lower fees could be: out of the goodness of his heart, because he got payed to do so, because it was a high priority transaction, because he doesn't care,...

Now for your last question: there used to be a private initiative to pay node operators, but i was to late to enter Wink
In reality, you get nothing for running a node, exept the feeling that you're supporting the network by verifying the blocks and transactions, and by sharing the information to everybody you're connected to.
For business owners, it might also be usefull to run your own node, since the reference client usually used to run a node has a full feature set of coin controll options, statistics,... And you're directly connected to a lot of peers, so it's a fast way to broadcast blocks or transactions.
legendary
Activity: 2044
Merit: 1115
★777Coin.com★ Fun BTC Casino!
February 24, 2017, 07:58:50 AM
#6
21 bitcoin fees shows that the fee for a quick transaction is 180 sats per B, while yours only has a 60 sats per B  , fee. Which wallet are you using? Based on the wallet, you could try double-spending it or wait for it to be dropped out the network , effectively 'returning' your BTCs.

If you're using an online wallet like blockchain.info, will an unconfirmed transaction that drops out of the mempool show as 'returned' or able to send again, or do online wallets like that just continue to broadcast the original transaction in vain? (And what is the mechanism for being able to tell if the transaction is no longer in the mempool?)

As for knowing when a tx is no longer in the mempool: you must understand there is no single mempool. Each node has it's own mempool. A node running bitcoin core with the default settings has a mempool of maximum 300Mb, and has a setting to drop unconfirmed transactions after 3 days.
Personally, my node has a maximum size of 600Mb, and it drops unconfirmed transactions after 4 days (i edited my settings because to many tx's were being dropped due to the spam attack, or whatever is happening lately).

Also, when a node restarts, their mempool is empty, and a node can, for example, deny a tx in their mempool for any reason they want. There is a configuration parameter to deny tx's that don't have a fee over x satoshi's (0 satoshi's is the default, but i can imagine that some nodes use this parameter to deny low fee tx's)

So a string of questions now because I don't exactly understand how nodes work.

So are nodes or  miners responsible for determining what transactions get into a block? Are miners selectively taking tranx from a mempool, or are they randomly taking tranx from a mempool? (And if there is not only one mempool, but a separate mempool by every node, do all miners have access to all nodes to pull from?) What determines what tranx go to which nodes? Will a transaction be in more than one node's mempool at a time?

Lastly, do node operators receive fees for running a node? Otherwise, what does it matter to them to set a certain threshold for fees/byte to include to get into their mempool?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
February 24, 2017, 01:27:43 AM
#5
21 bitcoin fees shows that the fee for a quick transaction is 180 sats per B, while yours only has a 60 sats per B  , fee. Which wallet are you using? Based on the wallet, you could try double-spending it or wait for it to be dropped out the network , effectively 'returning' your BTCs.

If you're using an online wallet like blockchain.info, will an unconfirmed transaction that drops out of the mempool show as 'returned' or able to send again, or do online wallets like that just continue to broadcast the original transaction in vain? (And what is the mechanism for being able to tell if the transaction is no longer in the mempool?)

I guess that depends on how their service is created, i don't think there is a common denominator between all online wallets. I'm personally against using online wallets, but if you're an online wallet user, and you wish to know more, i suggest you can look trough the FAQ's of your wallet provider and/or contact their support for more info.

As for knowing when a tx is no longer in the mempool: you must understand there is no single mempool. Each node has it's own mempool. A node running bitcoin core with the default settings has a mempool of maximum 300Mb, and has a setting to drop unconfirmed transactions after 3 days.
Personally, my node has a maximum size of 600Mb, and it drops unconfirmed transactions after 4 days (i edited my settings because to many tx's were being dropped due to the spam attack, or whatever is happening lately).

Also, when a node restarts, their mempool is empty, and a node can, for example, deny a tx in their mempool for any reason they want. There is a configuration parameter to deny tx's that don't have a fee over x satoshi's (0 satoshi's is the default, but i can imagine that some nodes use this parameter to deny low fee tx's)
legendary
Activity: 2044
Merit: 1115
★777Coin.com★ Fun BTC Casino!
February 23, 2017, 10:21:59 PM
#4
21 bitcoin fees shows that the fee for a quick transaction is 180 sats per B, while yours only has a 60 sats per B  , fee. Which wallet are you using? Based on the wallet, you could try double-spending it or wait for it to be dropped out the network , effectively 'returning' your BTCs.

If you're using an online wallet like blockchain.info, will an unconfirmed transaction that drops out of the mempool show as 'returned' or able to send again, or do online wallets like that just continue to broadcast the original transaction in vain? (And what is the mechanism for being able to tell if the transaction is no longer in the mempool?)
sr. member
Activity: 458
Merit: 250
From nothing to nothing
February 22, 2017, 07:04:54 AM
#3
21 bitcoin fees shows that the fee for a quick transaction is 180 sats per B, while yours only has a 60 sats per B  , fee. Which wallet are you using? Based on the wallet, you could try double-spending it or wait for it to be dropped out the network , effectively 'returning' your BTCs.
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
February 22, 2017, 07:04:09 AM
#2
Here is my site's explanation:

http://www.mocacinno.com/feecheck.php?txid=2362fbf39f5d4e19be269f78a30c0d45d3416c613efd98e22a2c31c41348bbe3

Quote
Your Transaction size (in bytes) => 257 bytes

Your Transaction fee (in BTC) => 0.0001469 BTC

Your Transaction fee (in satoshi's) => 14690 sat

Your Transaction fee (in satoshi's/byte) => 57 sat/byte

Your current priority => 4581968.3018868 (low priority)

it seems like your fee of 57 sat/byte isn't high enough to get into the next 24 blocks with a 95% certainty at the time of writing

The other transactions don't seem to be in my mempool, but the problem is the same

EDIT: it seems like the first one is now also dropped from my mempool... I guess i'll have to edit my bitcoin.conf in order to keep more unconfirmed transactions  Undecided

Edit: done and loaded Smiley
Jump to: