Bitcoin Forum
April 25, 2024, 10:07:10 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Bitcoin External Dependencies and Block Generation Time  (Read 924 times)
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1031


BTC: the beginning of stake-based public resources


View Profile
July 28, 2014, 09:34:18 AM
 #1

Am I correct in thinking that the Bitcoin difficulty adjustment algorithm which dictates the target hash's difficulty value for blocks, where difficulty is adjusted every 2016 blocks, purely adjusts itself based on the current hashing power on the network?

Am I also therefore correct in guessing it does this so as to avoid having to use any external dependencies and thus any potentially centralised resources which could also be an attack vector such as referring to an external time server?
1714039630
Hero Member
*
Offline Offline

Posts: 1714039630

View Profile Personal Message (Offline)

Ignore
1714039630
Reply with quote  #2

1714039630
Report to moderator
You get merit points when someone likes your post enough to give you some. And for every 2 merit points you receive, you can send 1 merit point to someone else!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714039630
Hero Member
*
Offline Offline

Posts: 1714039630

View Profile Personal Message (Offline)

Ignore
1714039630
Reply with quote  #2

1714039630
Report to moderator
kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1024



View Profile
July 28, 2014, 12:07:54 PM
 #2

We still depend on external timekeeping, but in a distributed way.

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
July 28, 2014, 02:11:59 PM
 #3

Am I correct in thinking that the Bitcoin difficulty adjustment algorithm which dictates the target hash's difficulty value for blocks, where difficulty is adjusted every 2016 blocks, purely adjusts itself based on the current hashing power on the network?

Am I also therefore correct in guessing it does this so as to avoid having to use any external dependencies and thus any potentially centralised resources which could also be an attack vector such as referring to an external time server?

You can't adjust difficulty based on blocks alone.   Ok 2016 blocks have been completed does difficulty go up or down?  You need a second factor and that factor is time.  So Bitcoin is dependent on real world timekeeping however Bitcoin does a few things to minimize the influence of time on the security of the network.
azeteki
Member
**
Offline Offline

Activity: 96
Merit: 10

esotericnonsense


View Profile WWW
July 28, 2014, 08:08:54 PM
 #4

The aim of the blockchain is to provide ordering of transactions. Transactions are ordered based on height, rather than block timestamp. In a sense the block height _is_ the timestamp of a transaction. It just doesn't have a regular interval.

With a ~10 minute time interval between blocks, blockchain state can be synchronized globally in an effective manner.

If the interval fell very low (i.e. if there were never any diff adjustments), nodes would likely begin to fall out of sync and blocks would be orphaned often, wasting hashpower. Too high, and transactions are included too slowly.

Difficulty adjustment attempts to fix this. It doesn't have to be exactly perfect as long as we remain within sensible bounds. And it can be enforced on a local level (each node rejecting blocks that abuse timestamps too much).

No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1031


BTC: the beginning of stake-based public resources


View Profile
July 29, 2014, 10:22:13 AM
 #5

You can't adjust difficulty based on blocks alone.   Ok 2016 blocks have been completed does difficulty go up or down?  You need a second factor and that factor is time.  So Bitcoin is dependent on real world timekeeping however Bitcoin does a few things to minimize the influence of time on the security of the network.

Thanks for this. I thought that second factor was that the network could see the total hashrate being applied to it.

Where can I find out more info on the time stamping process?
DannyHamilton
Legendary
*
Offline Offline

Activity: 3374
Merit: 4606



View Profile
July 29, 2014, 01:52:36 PM
 #6

Where can I find out more info on the time stamping process?

https://en.bitcoin.it/wiki/Block_timestamp

Quote
Each block contains a Unix time timestamp. In addition to serving as a source of variation for the block hash, there are also validity checks, that make it more difficult for an adversary to manipulate the block chain.

A timestamp is accepted as valid if it is greater than the median timestamp of previous 11 blocks, and less than the network-adjusted time + 2 hours. "Network-adjusted time" is the median of the timestamps returned by all nodes connected to you.

Whenever a node connects to another node, it gets a UTC timestamp from it, and stores its offset from node-local UTC. The network-adjusted time is then the node-local UTC plus the median offset from all connected nodes. Network time is never adjusted more than 70 minutes from local system time, however.

Bitcoin uses an unsigned integer for the timestamp
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!