Bitcoin Forum
December 09, 2016, 07:30:51 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Technical Questions  (Read 716 times)
clinton
Newbie
*
Offline Offline

Activity: 12


View Profile
June 21, 2011, 03:22:52 AM
 #1

Hi

I just have a few questions about how Bitcoin operates. I did have a read through Satoshi Nakamoto's paper, but I'm not I got everything.

(1) It is my understanding that the network generates new blocks roughly every ten minutes, and these new blocks contain the recent transactions. Each new block depends on a hash of all previous blocks, building a chain.

But what happens if two new blocks are generated at a similar time? Is only one accepted by the network, or are they both excepted, and is this split in the chain then merged somehow?

I'm guessing this ten minutes is a compromise between new block clashes and network traffic and transaction confirmation speed?

(2) If you want to confirm transactions are valid, I assume you need to know how much is in each wallet in the network. Does this mean that every node in the network that wants to confirm transactions are valid needs a copy of all the current balances of all wallets in the network? And can't this grow without bound as wallets can contain very small fractional amounts of bitcoins?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1481311851
Hero Member
*
Offline Offline

Posts: 1481311851

View Profile Personal Message (Offline)

Ignore
1481311851
Reply with quote  #2

1481311851
Report to moderator
1481311851
Hero Member
*
Offline Offline

Posts: 1481311851

View Profile Personal Message (Offline)

Ignore
1481311851
Reply with quote  #2

1481311851
Report to moderator
1481311851
Hero Member
*
Offline Offline

Posts: 1481311851

View Profile Personal Message (Offline)

Ignore
1481311851
Reply with quote  #2

1481311851
Report to moderator
MilkMan
Jr. Member
*
Offline Offline

Activity: 44


View Profile
June 21, 2011, 04:31:13 AM
 #2

Im a moderate on this one
Maged
Legendary
*
Offline Offline

Activity: 1260


View Profile
June 21, 2011, 04:40:41 AM
 #3

Hi

I just have a few questions about how Bitcoin operates. I did have a read through Satoshi Nakamoto's paper, but I'm not I got everything.

(1) It is my understanding that the network generates new blocks roughly every ten minutes, and these new blocks contain the recent transactions. Each new block depends on a hash of all previous blocks, building a chain.

But what happens if two new blocks are generated at a similar time? Is only one accepted by the network, or are they both excepted, and is this split in the chain then merged somehow?
The first one that each node receives is worked on. Whatever miner finds the next block afterward determines which side of the chain will be used. Statistically, that would be the side where the block propagated the most. Another tie at this point would be solved the same way.



(2) If you want to confirm transactions are valid, I assume you need to know how much is in each wallet in the network. Does this mean that every node in the network that wants to confirm transactions are valid needs a copy of all the current balances of all wallets in the network? And can't this grow without bound as wallets can contain very small fractional amounts of bitcoins?

Read this:
https://en.bitcoin.it/wiki/Scalability

clinton
Newbie
*
Offline Offline

Activity: 12


View Profile
June 21, 2011, 05:14:43 AM
 #4

The first one that each node receives is worked on. Whatever miner finds the next block afterward determines which side of the chain will be used. Statistically, that would be the side where the block propagated the most. Another tie at this point would be solved the same way.

So I'm guessing the 10 minute average block generation time is a balance between transaction processing time and minimizing network splits yes?


So is this saying that some nodes in the network (say the top tier nodes) would need a copy of every transaction ever?

clinton
Newbie
*
Offline Offline

Activity: 12


View Profile
June 21, 2011, 05:26:35 AM
 #5

Also, another question:

(3) Does the creator of the new block get to keep all the transaction fees (i.e. do new block finders get more than 50 bitcoins)?
861362
Newbie
*
Offline Offline

Activity: 11


View Profile
June 21, 2011, 05:52:10 AM
 #6

Quote from: clinton
So is this saying that some nodes in the network (say the top tier nodes) would need a copy of every transaction ever?
Does the creator of the new block get to keep all the transaction fees (i.e. do new block finders get more than 50 bitcoins)?
Yes to both.
clinton
Newbie
*
Offline Offline

Activity: 12


View Profile
June 21, 2011, 06:03:23 AM
 #7

Thanks for the replies 861362 and Maged, I think things make more sense now.
Maged
Legendary
*
Offline Offline

Activity: 1260


View Profile
June 21, 2011, 06:29:43 AM
 #8

So I'm guessing the 10 minute average block generation time is a balance between transaction processing time and minimizing network splits yes?
Exactly. An attacker won't ever have a split on their malicious chain because there would be no latency between their nodes. As a result, the more splits the main network has, the less percent of total hashing power an attacker would need. If we assume the worst case that block propagation time will eventually be as slow as BGP (which takes about 1 minute to propagate worldwide), the network would only lose at most 10% (1 min/10 min) of hashing power by chain splits.

clinton
Newbie
*
Offline Offline

Activity: 12


View Profile
June 21, 2011, 06:51:19 AM
 #9

Exactly. An attacker won't ever have a split on their malicious chain because there would be no latency between their nodes. As a result, the more splits the main network has, the less percent of total hashing power an attacker would need. If we assume the worst case that block propagation time will eventually be as slow as BGP (which takes about 1 minute to propagate worldwide), the network would only lose at most 10% (1 min/10 min) of hashing power by chain splits.

Further to this, do nodes have any individual incentive to propagate new blocks? Either carrot (i.e. they get coins for it, are prioritized to receive new block updates or some other incentive) or stick (i.e. they're seen as bad neighbors if they don't and their neighbor nodes drop their connections)?
Maged
Legendary
*
Offline Offline

Activity: 1260


View Profile
June 21, 2011, 07:03:52 AM
 #10

Exactly. An attacker won't ever have a split on their malicious chain because there would be no latency between their nodes. As a result, the more splits the main network has, the less percent of total hashing power an attacker would need. If we assume the worst case that block propagation time will eventually be as slow as BGP (which takes about 1 minute to propagate worldwide), the network would only lose at most 10% (1 min/10 min) of hashing power by chain splits.

Further to this, do nodes have any individual incentive to propagate new blocks? Either carrot (i.e. they get coins for it, are prioritized to receive new block updates or some other incentive) or stick (i.e. they're seen as bad neighbors if they don't and their neighbor nodes drop their connections)?
Nope. But if they do that, they might as well just not listen for connections like most of the network is doing, as it would have a similar effect. If it became a problem, though, something could be done about it.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!