Bitcoin Forum
May 21, 2024, 10:13:39 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: Does Bitcoin become more decentralized over time?  (Read 637 times)
pooya87
Legendary
*
Offline Offline

Activity: 3458
Merit: 10570



View Profile
March 06, 2021, 05:31:13 AM
 #41

Even if I remove those vSeeds and then build Bitcoin Core, sooner or later I'll be listed on their address list.
Only if your node is listening for incoming connections and has port 8333 (or 18333 on testnet) open and is a reliable node.

Quote
I always thought that vSeeds are the "default" nodes of the network that were chosen by the Bitcoin Core developers.
In a P2P network we have to rely on a centralized server to start the connection. Unfortunately there is no other way. For example in Torrent network we use hard coded DHT servers or the trackers to find peers.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
BlackHatCoiner
Legendary
*
Online Online

Activity: 1526
Merit: 7397


Farewell, Leo


View Profile
March 06, 2021, 09:55:28 AM
 #42

In a P2P network we have to rely on a centralized server to start the connection. Unfortunately there is no other way. For example in Torrent network we use hard coded DHT servers or the trackers to find peers.
But why? Can't there be some hundreds of default nodes that will inform the new nodes for other nodes? Why do you need a centralized server to start the connection?

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
NotATether
Legendary
*
Offline Offline

Activity: 1610
Merit: 6752


bitcoincleanup.com / bitmixlist.org


View Profile WWW
March 06, 2021, 10:32:19 AM
 #43

In a P2P network we have to rely on a centralized server to start the connection. Unfortunately there is no other way. For example in Torrent network we use hard coded DHT servers or the trackers to find peers.
But why? Can't there be some hundreds of default nodes that will inform the new nodes for other nodes? Why do you need a centralized server to start the connection?

In torrent lore that's actually how things work if there are no central trackers. There are a list of (ordinary) peers hardcoded in a particular software[1] chosen by the developer that a client tries to connect to in order to download a particular torrent.

In the bitcoin network the problem with doing this is that we don't know which nodes are trustworthy and which are malicious nodes that have a different chain for example. Also a difference between bitcoin and BitTorrent is that in bitcoin the trustworthiness of the initial nodes used for bootstrapping is extremely important since money is involved and where it appears to be distributed is totally reliant on what peers tell you, whereas BitTorrent is just about downloading stuff so it doesn't really matter who you choose as the initial peers (well, as long as you don't choose an RIAA or ISP honeypot disguised as a node).


[1]: https://stackoverflow.com/questions/3844502/how-do-bittorrent-magnet-links-work

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
BlackHatCoiner
Legendary
*
Online Online

Activity: 1526
Merit: 7397


Farewell, Leo


View Profile
March 06, 2021, 10:43:59 AM
 #44

In the bitcoin network the problem with doing this is that we don't know which nodes are trustworthy and which are malicious nodes that have a different chain for example.
This is a problem only if you are not running your own node. Right? This is a problem only if you use an SPV like electrum that would show false information. Your node will reject everything that is invalid.

(well, as long as you don't choose an RIAA or ISP honeypot disguised as a node).
ISP honeypot? Do you mean a police sting operation?

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
BlackHatCoiner
Legendary
*
Online Online

Activity: 1526
Merit: 7397


Farewell, Leo


View Profile
March 06, 2021, 12:09:40 PM
 #45

You forget about valid alternative chain (usually with far lower mining difficulty), such attack is still possible if ever single node you chose are malicious node and the client doesn't implement hard-coded checkpoint.

What would the hard-coded checkpoint change if every node I connected is malicious?

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
NotATether
Legendary
*
Offline Offline

Activity: 1610
Merit: 6752


bitcoincleanup.com / bitmixlist.org


View Profile WWW
March 07, 2021, 05:57:34 AM
 #46

(well, as long as you don't choose an RIAA or ISP honeypot disguised as a node).
ISP honeypot? Do you mean a police sting operation?

That too but I was referring to ISPs who run their own torrent clients to copyrighted data and scrape IP addresses of their peers, search for the IPs that belong to them and serve those customers cease and desist letters which threaten to terminate their internet access if they don't stop torrenting.

Back on-topic...

You forget about valid alternative chain (usually with far lower mining difficulty), such attack is still possible if ever single node you chose are malicious node and the client doesn't implement hard-coded checkpoint.

What would the hard-coded checkpoint change if every node I connected is malicious?

I think he means when the node is programmed to accept a particular chain up to a certain block, then it's not going to consult any of its peers for blocks up to that point, only beyond that particular block. I don't know if that's what's done in Core (besides the Genesis block of course).

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
ABCbits (OP)
Legendary
*
Offline Offline

Activity: 2884
Merit: 7509


Crypto Swap Exchange


View Profile
March 07, 2021, 09:41:39 AM
Merited by aliashraf (1)
 #47

What would the hard-coded checkpoint change if every node I connected is malicious?
I think he means when the node is programmed to accept a particular chain up to a certain block, then it's not going to consult any of its peers for blocks up to that point, only beyond that particular block. I don't know if that's what's done in Core (besides the Genesis block of course).

That's what i mean. Bitcoin Core used to have one, but AFAIK now it's disabled. The code isn't removed though and can be seen at https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp.

Electrum also have checkpoint, where it's checkpoint can be seen at https://github.com/spesmilo/electrum/blob/master/electrum/checkpoints.json.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
pooya87
Legendary
*
Offline Offline

Activity: 3458
Merit: 10570



View Profile
March 10, 2021, 06:25:09 AM
 #48

That's what i mean. Bitcoin Core used to have one, but AFAIK now it's disabled. The code isn't removed though and can be seen at https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp.

Electrum also have checkpoint, where it's checkpoint can be seen at https://github.com/spesmilo/electrum/blob/master/electrum/checkpoints.json.
Checkpoints exist in both client types (Full and SPV) but for different purposes.
A full node (ie. bitcoin core) uses checkpoints only for its header sync and it only is enforced for the initial sync to prevent a certain attack. AFAIK this is because ever since full nodes changed to header first sync, they don't download blocks as they go. Instead they first download all block headers and when they do that a malicious node could give them fake headers with low difficulties in early heights. By using checkpoints the node doesn't waste time. Then they start downloading the blocks for those headers. ContextualCheckBlockHeader() is still rejecting any block (header) that is not found among the checkpints (it doesn't seem disabled).

An SPV client (ie. Electrum) has to use checkpoints because from the point of view of the light client all headers of all chains are valid headers (unless they change the difficulty calculation method). For example your client could connect to a shitcoin's ElectrumX node and receive headers from that chain and essentially get stuck on an invalid chain. By using checkpoints the client makes sure that it is always on bitcoin chain not some altcoin's.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
Wind_FURY
Legendary
*
Offline Offline

Activity: 2926
Merit: 1830



View Profile
March 11, 2021, 05:22:40 AM
 #49

How would you plan to measure decentralization?

I don't. But when i show following hypothetical scenario

1. 6 years ago you moderate VPS or PC to run full node
2. Today you can run full node with Raspberry Pi 4

Some people would agree that cost of running full node (excluding storage size and IBD) is cheaper today and could improve decentralization.

Even if two participants of the Bitcoin protocol appear as different nodes, they might have an out-of-band connection and be ran by the same person.

I agree, but it's out of scope from my question.


What about bandwidth? I believe Bitcoin’s bandwidth needs, as a decentralized network, is very underestimated. Rate of growth for bandwidth is slow, and network latency slower, which means that block propagation speeds might not scale at the same rate if average bandwidth among nodes increases.

██████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
██████████████████████
.SHUFFLE.COM..███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
█████████████████████
████████████████████
██████████████████████
████████████████████
██████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
██████████████████████
██████████████████████
██████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
███████████████████████
.
...Next Generation Crypto Casino...
ABCbits (OP)
Legendary
*
Offline Offline

Activity: 2884
Merit: 7509


Crypto Swap Exchange


View Profile
March 11, 2021, 01:17:46 PM
Merited by aliashraf (1)
 #50

What about bandwidth? I believe Bitcoin’s bandwidth needs, as a decentralized network, is very underestimated. Rate of growth for bandwidth is slow, and network latency slower, which means that block propagation speeds might not scale at the same rate if average bandwidth among nodes increases.

If block size limit isn't changed, that means bandwidth/latency requirement won't changed much while bandwidth/latency is slowly growing, which means bandwidth/latency problem won't make Bitcoin less decentralized over time (excluding blockchain size and IBD time).

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
Pages: « 1 2 [3]  All
  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!