나의 발자취
Cp8. The Bitcoin Network 본문
p2p network
• extended bitcoin network: the overall network that includes the bitcoin P2P protocol, pool-mining protocols, the Stratum protocol, and any other related protocols connecting the components of the bitcoin system
Node Types and Roles
• functions: wallet, miner, full blockchain database, and network routing
• full nodes:complete copy of the block chain vs simplified payment verification(SPV): only maintain a subset of the blockchain
The Extended Bitcoin Network
⁃ main blockchain network has 5,000 and 8,000 listening nodes
Bitcoin Relay Networks
bitcoin P2P network : too high network latency for the specialized needs
⁃ Bitcoin miners: engaged in a time-sensitive competition -> time latency = profit margins
⁃ Bitcoin Relay Network : a network that attempts to minimize the latency in the transmission of blocks between miners(FIBRE, Falcon)
Network Discovery
the bitcoin network topology is not geographically defined -> any nodes can be selected at random
⁃ to connect to a known peer -> TCP connection (port 8333)
Full Nodes
A full blockchain node can independently and authoritatively verify any transaction without recourse or reliance on any other node or source of information
⁃ independent verification of all transactions without the need to rely on, or trust, any other systems
Exchanging “Inventory”
The first thing a full node will do once it connects to peers is try to construct a com‐ plete blockchain.
⁃ starts with version message : contains BestHeight
⁃ identify the first 500 blocks to share and transmit their hashes using an inv (inventory) message
Simplified Payment Verification (SPV) Nodes
simplified payment verification (SPV) method is used to allow the nodes that can’t store full blocks
⁃ download only the block headers and do not download the transactions included in each block
⁃ The resulting chain of blocks, without transactions, is 1,000 times smaller than the full blockchain
⁃ verifies transactions by reference to their depth in the blockchain instead of their height
⁃ An SPV node cannot validate whether the UTXO is unspent. Instead,it. establishes a link between the transaction and the block that contains it, using a merkle path -> 6 blocks
⁃ Unlike full blockchain nodes, which collect all transactions within each block, the SPV node’s requests for specific data can inadver‐ tently reveal the addresses in their wallet
Bloom Filters
probabilistic search filter, a way to describe a desired pattern without specifying it exactly
⁃ Bloom filters serve this function by allowing an SPV node to specify a search pattern for transactions that can be tuned toward precision or privacy
How Bloom Filters Work
Bloom filters are implemented as a variable-size array of N binary digits (a bit field) and a variable number of M hash functions
Encrypted and Authenticated Connections
ways to increase the privacy and security of the bitcoin P2P network: Tor Transport and P2P Authentication and Encryption with BIP-150/151
Tor Transport
Tor: The Onion Routing network, is a software project and network that offers encryption and encapsulation of data through randomized network paths that offer anonymity, untraceability and privacy
Peer-to-Peer Authentication and Encryption
define optional services that may be offered by compatible bitcoin nodes
Transaction Pools
Almost every node on the bitcoin network maintains a temporary list of unconfirmed transactions called the memory pool, mempool, or transaction pool
⁃ keep track of transactions that are known to the network but are not yet included in the blockchain
'블록체인 > Mastering Bitcoin' 카테고리의 다른 글
9.The Blockchain (0) | 2020.11.05 |
---|