Author

Topic: How fast is the bitcoin network's spread? (Read 299 times)

legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
--snip--
Talking about electricity. How much money do you need for finding let's say 1 trillion hashes per second?

Depends on your power price, ASIC price, ASIC type and "other costs" (shelves, network gear, cabling, S&H, taxes,...)

I'll do a quick guestimation for one of the newest, general available ASICs (usually, the newer the asic, the more hashes/energy unit).

An S19 pro hashes @ 110 Th/s
That's 110.000.000.000.000 hashes per second (110 trillion hashes/second)

It consumes ~3250 Watt . I'm not taking the A/C into account tough, nor the overhead by other elements of your mining room.

It costs ~$2600, plus a PSU of $90, S&H, import taxes... I think a ballpark figure would be $3500 for a "complete" S19 pro delivered on your doorstep.

Now, you can plug these numbers into a calculator like https://www.coinwarz.com/mining/bitcoin/calculator?h=110&p=3250&pc=0.10&pf=0.00&d=16104807485529.00000000&r=12.508&er=1&btcer=8968.30400000&ha=TH&hc=3500&hs=-1&hq=1

I only entered an electricity price of 10 dollarcent/Kwh (i pay 27 eurocent), i added some transaction fees, no maintenance costs, no pool fee,...
But it would still take ~460 days to ROI at current diff (which might rise every ~2 weeks), current price (wich might drop every moment) and at current block reward (which will halve in ~20 days)

My own (more realistic) numbers would be:
https://www.coinwarz.com/mining/bitcoin/calculator?h=110.00&p=3250.00&pc=0.30&pf=0.50&d=16104807485529.00000000&r=12.5&er=1&btcer=8968.30400000&ha=TH&hc=3500.00&hs=0&hq=1
0.5% pool fee, transaction fee not distributed amongst the miners, 30 cent/kwh

If i would run such a miner, i'd mine at a net loss of about $6/day, meaning my electricity cost would be $6 MORE than my income. Each day i'd have a net loss, and it would only get worse after the halving
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
You seem to have much knowledge. Do you mine?

I used to be a home miner a long, long, long time ago... I live in a country where the electricity price is really, really, really high making it completely impossible to break even. If i would buy the latest gen ASIC, or try to mine GPU or CPU minable coins, i'd just be stuffing my money into the pockets of the electric company. I'd have negative profits from the moment i ordered the ASIC to the moment i decided to pull the plug (because of the negative profits).

To bad, mining was fun...

Talking about electricity. How much money do you need for finding let's say 1 trillion hashes per second?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
You seem to have much knowledge. Do you mine?

I used to be a home miner a long, long, long time ago... I live in a country where the electricity price is really, really, really high making it completely impossible to break even. If i would buy the latest gen ASIC, or try to mine GPU or CPU minable coins, i'd just be stuffing my money into the pockets of the electric company. I'd have negative profits from the moment i ordered the ASIC to the moment i decided to pull the plug (because of the negative profits).

To bad, mining was fun...
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Is there any profit if I buy several hardwares and start mining on a pool right now? (Like F2Pool)
Will I get even a penny per hour?

Completely depends on:
  • Your electricity price
  • Your country (import taxes)
  • Hardware already on hand (PSU's, shelves, A/C, routers, wiring,...)
  • Your knowledge level

It's perfectly possible to buy the latest gen ASIC and mine at a loss from the first day your plug it in.

You seem to have much knowledge. Do you mine?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
Is there any profit if I buy several hardwares and start mining on a pool right now? (Like F2Pool)
Will I get even a penny per hour?

Completely depends on:
  • Your electricity price
  • Your country (import taxes)
  • Hardware already on hand (PSU's, shelves, A/C, routers, wiring,...)
  • Your knowledge level

It's perfectly possible to buy the latest gen ASIC and mine at a loss from the first day your plug it in.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Is there any profit if I buy several hardwares and start mining on a pool right now? (Like F2Pool)
Will I get even a penny per hour?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
Thank you, @mocacinno, you really made things simplier. When we say entity, we mean like 20000 people using bitcoin hardware? And if the entity creates a block will I get the analogous amount for the number of hardwares I had to help the pool?

Yup... That's more or less correct. It's an oversimplification, but the basic idear is defenatly in the right direction Smiley
I have no clue how many miners are mining in those big pools, but it'll likely be thousands.

The pool actually runs the mining node (basically just a normal node). The pool creates the block, the pool creates the block header.
This block header gets passed to the miners connected to the pool (there are different ways of communicating, different protocols to do this).

Each miner now works with the header they received from their pool and starts iterating trough the nonces in the hope he'll find a nonce for which the sha256d hash of the header is under the current target. If he does, he sends this info back to the pool, and the pool does all the rest of the work.

In order to decide how much of the coinbase reward is given to each individual participant, the pool works with "shares". Basically, they set a virtual target that's much higher than the actual target. If a miner finds a nonce for which the sha256d hash of the header is under the "fake" target, he sends this info back to the pool. The pool now knows the miner has actually tried x hashes (on average).
Since the fake target is much higher than the real target (and since you have to find a header whose sha256d hash is UNDER the target, this fake higher target makes it easyer for the miner to be be under the fake target), any miner with decent hardware will find several shares per hour.

Once a block is found, the pool counts the total number of shares that's been sent by all it's participants between the last block they solved together and the new block, each participant gets a share of the coinbase reward that is equal to the number of shares he sent in vs the total number of shares.

In reality it's even more complex, a mining pool can set different "fake" targets for different miners, and adjust the sharecount based on mathematical equations between the "fake" targets. There are also pools that work with a sliding window of shares (PPLNs pools), there are pools that keep the fees for themselfs, there are pools that distribute the fees, there are pools with low poolfees, pools with high poolfees, profit switching pools, pools that pay their miners directly from the coinbase reward, pools that require x confirmations,...
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Thank you, @mocacinno, you really made things simplier. When we say entity, we mean like 20000 people using bitcoin hardware? And if the entity creates a block will I get the analogous amount for the number of hardwares I had to help the pool?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
So if I want to mine right now, I can't get 300 or 400 satoshi. I get 0BTC or 12,5BTC + fee. These are my only choices, right?

No, you can join a mining pool and try mining a block with other miners instead of solo mining. Every mining pool distributes rewards for contribution in a different way. Here you can find a detailed explanation of each type of reward.

That's true, however, if you simplify and look at a mining pool as being 1 entity, it is true that this entity either solves the current block and receives 12.5 BTC + sum (the fees of the transactions in this block). It's none of our business if this entity (the pool) distributes the coinbase reward amongst other people.
If the entity does not solve the block before a new valid block was found by a different miner and broadcasted to him, the entity receives nothing for said block.
It is indeed impossible for the entity to mine one transaction and claim the 400 satoshi's without finding a nonce so the sha256d hash of the complete block header is under the current target. The entity could, theoretically, create a block with only one transaction, and only give himself a coinbase reward of 400 satoshi's, but that would just throw away 12.5 BTC.

I know these are semantics, but it looks to me as if the OP is a bit confused about many technical aspects, and i was trying to simplify things a little bit for him. Once you start to talk about pools and start to talk about PPLN's, block templates, stratum protocol,..., i'm afraid things might get to confusing for him (no offence, OP, everybody has to learn sometimes)

Like i told you before: if somebody you don't know tells you he'll "mine" your 1 transaction at home, he's scamming you. A couple of big mining pools with petahashes worth of ASIC's sometimes created a website where you can ask them to include your stuck transaction into the blocks they try to solve for a fee, but never ever use somebody that isn't 100% verified as the owner or operator of a big mining pool.
legendary
Activity: 1876
Merit: 3132
So if I want to mine right now, I can't get 300 or 400 satoshi. I get 0BTC or 12,5BTC + fee. These are my only choices, right?

No, you can join a mining pool and try mining a block with other miners instead of solo mining. Every mining pool distributes rewards for contribution in a different way. Here you can find a detailed explanation of each type of reward.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
So why should he not choosing to take all the rewards since it's the same work?

Thas was kinda my point... He wouldn't. So mining a single transaction, eventough technically possible, isn't a real thing. You sometimes see pools mining empty blocks because they found a block very shortly after they received (or solved) the previous block, and they didn't have had the time to "fill" the block with unconfirmed transactions, but that's more of a coincidence, not a miner deciding to mine an empty block on purpose.

And also, if he takes all the rewards, doesn't this mean that no other miners will be rewarded from the last block?
Once a transaction is confirmed, the miner that mined the block including this transaction added it's fee to his coinbase reward, so only the miner who solved that block gets rewarded with the fee of the tx in question (a fee can't be claimed by several miners, it can only be claimed by the person solving the block that includes said tx). Only the miner that solves the block gets money, the rest did all that work for "free".
Offcourse, the "miner" i'm talking about doesn't have to be a physical person. It can also be a mining pool operating as a single "miner". In this case, thousands of individuals can pool their resources together, giving them a much bigger chance of solving a block, when they solve a block, they distribute the coinbase rewards to everybody that was mining with them (there are different methods of dividing the coinbase rewards, but that's a completely different topic).

So if I want to mine right now, I can't get 300 or 400 satoshi. I get 0BTC or 12,5BTC + fee. These are my only choices, right?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
So why should he not choosing to take all the rewards since it's the same work?

Thas was kinda my point... He wouldn't. So mining a single transaction, eventough technically possible, isn't a real thing. You sometimes see pools mining empty blocks because they found a block very shortly after they received (or solved) the previous block, and they didn't have had the time to "fill" the block with unconfirmed transactions, but that's more of a coincidence, not a miner deciding to mine an empty block on purpose.

And also, if he takes all the rewards, doesn't this mean that no other miners will be rewarded from the last block?
Once a transaction is confirmed, the miner that mined the block including this transaction added it's fee to his coinbase reward, so only the miner who solved that block gets rewarded with the fee of the tx in question (a fee can't be claimed by several miners, it can only be claimed by the person solving the block that includes said tx). Only the miner that solves the block gets money, the rest did all that work for "free".
Offcourse, the "miner" i'm talking about doesn't have to be a physical person. It can also be a mining pool operating as a single "miner". In this case, thousands of individuals can pool their resources together, giving them a much bigger chance of solving a block, when they solve a block, they distribute the coinbase rewards to everybody that was mining with them (there are different methods of dividing the coinbase rewards, but that's a completely different topic).
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
A miner could create a block with only the coinbase transaction and a single transaction from the mempool (or a tx that has been sent to him directly), but the difficulty of doing this would be the same as him filling the block with 2000-3000 transactions and solving it. The difference is that if he includes one transaction with a 400 sat fee he'll be able to claim a coinbase reward of 12.500004 BTC, if he adds 2000 tx's with 400 sat fee/tx, he'll be able to claim a coinbase reward of 12.508 BTC for exactly the same work. He'll just miss out on 799.600‬ sat ($60 at current preev rate) if he choses to fill his block with the coinbase tx + one extra.

So why should he not choosing to take all the rewards since it's the same work? And also, if he takes all the rewards, doesn't this mean that no other miners will be rewarded from the last block?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
If someone is trying to solve the block and the block gets mined, does the miner get the reward of all TXs (12.5BTC + fees)? Or you can simply mine a single TX and get for example 400 satoshi reward?

A miner could create a block with only the coinbase transaction and a single transaction from the mempool (or a tx that has been sent to him directly), but the difficulty of doing this would be the same as him filling the block with 2000-3000 transactions and solving it. The difference is that if he includes one transaction with a 400 sat fee he'll be able to claim a coinbase reward of 12.500004 BTC, if he adds 2000 tx's with 400 sat fee/tx, he'll be able to claim a coinbase reward of 12.508 BTC for exactly the same work. He'll just miss out on 799.600‬ sat ($60 at current preev rate) if he choses to fill his block with the coinbase tx + one extra.

If an enduser contacts you claiming he'll just mine your single transaction, he's trying to scam you. He'll have to do exactly the same amount of work as if he'd solve a "normal" block, and in order to mine a block "on call", he'd have to have access to (litterally) tenthousands of latest gen ASIC's. A guy like that won't contact endusers on a forum.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
If someone is trying to solve the block and the block gets mined, does the miner get the reward of all TXs (12.5BTC + fees)? Or you can simply mine a single TX and get for example 400 satoshi reward?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
--snip---
By mining the last block, is it enough to verify the transaction?

Generally what miners choose to do? Mine the last block or choose a transaction from the last block and start trying to solve that?

I think you need to re-read the whitepaper section about mining, there seems to be some confusion here.

Basically: every node has an UTXO db, in this database all unspent outputs from confirmed transactions are stored.

You use your private key to sign a transaction that uses these unspent outputs as input to create a new transaction (offcourse, you can only use the unspent outputs that are funding an address for which you posses the private key). The output of this new transaction is a new unspent output. The unconfirmed transaction gets broadcasted to the nodes who put this tx in their mempool. After 1 or 2 seconds ,all nodes should have the unconfirmed tx in their mempool (if it was a valid tx), but that's all that happens at this point.

A miner also runs a node (with an utxo db and a mempool). It queries it's mempool and orders the transactions from "most fee per vbyte" to "least fee per vbyte" and takes the selects the top 1Mb to fill a new block (unless it's segwit tx's, in this case the witness data doesn't count for this 1Mb, there are 3 extra Mb's for witness data).

The miner now creates a block header by taking the hash of the last confirmed block, adding the merkle root of the tx's it selected from it's mempool, adding a nonce and some extra data. The miner now iterates trough these nonces untill a new block is found by somebody else or untill it finds a nonce for which the sha256d hash of the complete header is smaller than the current target. If he finds such a nonce before an other block is solved, he now found a valid block and broadcasts it to the other nodes.

All other nodes receive the new block, parse it and remove all transactions in said valid block from their mempool, remove all used unspend outputs from their utxo db and add all new unspent outputs to their utxo db.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
--snip--

So when a miner includes them into a block, it sends the command to nodes to remove it from their mempool?

No.
The new (valid) block gets broadcasted, the nodes receive the new block and parse it. Any transaction in a new (valid) block that's being parsed by each individual node gets removed from this node's mempool

By mining the last block, is it enough to verify the transaction?

Generally what miners choose to do? Mine the last block or choose a transaction from the last block and start trying to solve that?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
--snip--

So when a miner includes them into a block, it sends the command to nodes to remove it from their mempool?

No.
The new (valid) block gets broadcasted, the nodes receive the new block and parse it. Any transaction in a new (valid) block that's being parsed by each individual node gets removed from this node's mempool
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Until a miner decides to mine the unconfirmed transaction?

They stay in the mempool untill a miner includes them into a block he/she is solving (and is successfull in doing so) OR untill the nodes prune (remove) the tx from their mempool.

So when a miner includes them into a block, it sends the command to nodes to remove it from their mempool?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
Until a miner decides to mine the unconfirmed transaction?

They stay in the mempool untill a miner includes them into a block he/she is solving (and is successfull in doing so) OR untill the nodes prune (remove) the tx from their mempool.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Until a miner decides to mine the unconfirmed transaction?
legendary
Activity: 3584
Merit: 5243
https://merel.mobi => buy facemasks with BTC/LTC
I've been looking to answers for this question.

Recently I send some bitcoins to a coinbase.com's address and when I pressed "Send" it instantly loaded the payment. It's like I made a database query to coinbase.com, that fast seemed for me.

And there's the question. How fast is the spread of the bitcoin's network? When I press "Send", I send some information on my saved nodes. This means that I send them this tiny information?

I just can't get how quickly this happens. I mean, how many default nodes do I have? 500?

In order to update the coinbase's front-page it means that coinbase got the information from me.

So what happened exactly? Did I send my information to these 500 and then these 500 sent them to another 500? This means that it happened like that:

500 nodes received my information ---> 500^2 nodes received my information ---> 500^4  nodes received my information and so on?

You use unspent outputs funding your address to create a transaction that's creating a new unspent output funding the receiving address.
This unconfirmed transaction is indeed broadcasted to the nodes you are connected to, and these nodes relay the unconfirmed transaction to the nodes they are connected to, and so on.

I have no idear how long it'll take for your unconfirmed transaction to be broadcasted to allmost all nodes in the network, but it can't take more than a couple of seconds before you tx is in the mempool of > 99% of the connected nodes.

Do be carefull tough: unconfirmed transactions are broadcasted really fast, but they just end up in the mempool. If they don't get confirmed, most nodes prune them from their mempool after ~14 days, or if the memory usage > 300 Mb. So you really need to wait untill the tx has a couple of confirmations before sending any goods or services.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
I've been looking to answers for this question.

Recently I send some bitcoins to a coinbase.com's address and when I pressed "Send" it instantly loaded the payment. It's like I made a database query to coinbase.com, that fast seemed for me.

And there's the question. How fast is the spread of the bitcoin's network? When I press "Send", I send some information on my saved nodes. This means that I send them this tiny information?

I just can't get how quickly this happens. I mean, how many default nodes do I have? 500?

In order to update the coinbase's front-page it means that coinbase got the information from me.

So what happened exactly? Did I send my information to these 500 and then these 500 sent them to another 500? This means that it happened like that:

500 nodes received my information ---> 500^2 nodes received my information ---> 500^4  nodes received my information and so on?
Jump to: