Homework on Bitcoin Ecosystem - Questions

  • What is the difference between a SPV (simplified payment verification) and a full node?
    SPV wallets don’t have a copy of the full blockchain. They therefore need to connect to full nodes to request information about the blockchain.
  • What does it mean when a transaction is broadcasted?
    Full nodes spread the transaction information through the network of full nodes. The nodes enter the transaction into the mempool.
  • How does a miner pick which transactions that gets added to the next block?
    The miner can select transactions from the mempool. Usually, a miner fills up the block with the transactions who pay the highest transaction fees.
  1. An SPV does not have it’s own copy of the bloackchain where as a full node does. It has to get the blockchain data from a full node.

  2. A broadcasted transaction means that it is being shared across the network waiting to be added to a block.

  3. A miner will pick a transaction with a higher reward tx fee.

  1. Spv node can be considere as a light node, it doesn’t have the whole blockchain information but only the block header inside the block header you will find the merkel root tree hash which will let you verify transaction inside a block if you need it by querying a full node.
  2. It means that the transaction is share to all connected full node on the network, it will be then stored into the mempool.
    3.They select transaction in their mempool (usually the onces with the higher fees )

SPV does not have the full Blockchain where the node does

Tx’s are propagated to the network of nodes

Miners choose the tx with the highest fee first

    1. An SPV is a node that does not contain the blockchain that can reference a full node to read the blockchain.
    1. Broadcasted means a Tx is sent from a wallet to a node, which then relays it to the other nodes across the network.
    1. A miner will pick the Tx with the highest fees to add to the blockchain to get the most profitable reward for their PoW.
  1. What is the difference between a SPV (simplified payment verification) and a full node? A SPV has to look up the blockchain from a trusted node since it is unable to host the full blockchain due to storage limitations.
  2. What does it mean when a transaction is broadcasted? Transactions are broadcasted by the wallet to nodes in the network which verify these transactions before adding them to the mepool to be mined and permanently added to the blockchain.
  3. How does a miner pick which transactions that gets added to the next block? Miners are incentivized to pick transactions with the highest transaction fees. Network users pay in the rate of satoshi per byte for the priority to have their transactions included in the next block.
  1. A Simplified Payment Verification (SPV) node is a node that does not have a copy of the entire blockchain locally but only the headers. It is less secure and needs to connect to a full node to get transaction details. A Full Node has a complete copy of the blockchain stored locally with all transactions and is able listen for and propagate transactions.

  2. It means a transaction is checked against the consensus rules and if valid it is propagated to other nodes throughout the network.

  3. Miners select the transactions in the mempool with the highest fees. They determine this by the feerate and the size of the transaction measured in satoshis/byte.

Hello,

  1. A SPV doesn’t have a copy of the blockchain it updates. It contacts a node via query, and asks how many UTXOs are available on that address. It is a more lightweight solution, useful for cellphone apps for instance, but it does sacrifice a degree of anonymity.

  2. A wallet constructs a transaction on the grounds of its available UTXOs, uses its private key to sign it and broadcasts it to the nodes, that put it in their mempool if it is within the limits of the UTXOs.

  3. When a transaction is broadcasted, the user or the wallet selects a fee that is to be paid to the miners for the service they provide. Until the transaction is picked up by a miner, it remains in the mempool. The miners, since they are running a business, will select a the better paying transaction to put in their block.

Best

  1. An SPV does not keep a full copy of the blockchain, they will instead have multiple (close) nodes that they communicate with.

  2. A tx is sent out to the nodes which put them into their mempool.

  3. Typically by transaction fee.

1 basically a SPV is a small node that queries a full node to verify a certain transaction. Normally SPV are used by phones because they can´t hold a full node (the entire blockchain)
2 Broadcasted: it is propagated, the node communicates with other computers/nodes on the network and they check if the transaction makes sense and then copy and further propagate the transaction through the network until it is picked up by a Miner and included in a block.
3 he normally picks the transactions with the biggest fees.

  1. Usually just a lightweight app that will query the full nodes that contain the entire blockchain to make sure an address contains the required UTXOs.

  2. It is being shared to the network of nodes and put in the mempool awaiting the miners to add it to a block.

  3. They will select the transactions that are paying the highest fees (assuming the tx’s are legitimate).

1. What is the difference between a SPV (simplified payment verification) and a full node?

Currently there are two primary methods of validating the block chain as a client: Full nodes and SPV clients.

Full Node

The first and most secure model is known as a “thick” or “full chain” client. This security model assures the validity of the block chain by downloading and validating blocks from the genesis block all the way to the most recently discovered block. This is known as using the height of a particular block to verify the client’s view of the network.

For a client to be fooled, an adversary would need to give a complete alternative block chain history that is of greater difficulty than the current “true” chain, which is computationally expensive (if not impossible) due to the fact that the chain with the most cumulative proof of work is by definition the “true” chain. Due to the computational difficulty required to generate a new block at the tip of the chain, the ability to fool a full node becomes very expensive after 6 confirmations. This form of verification is highly resistent to sybil attacks—only a single honest network peer is required in order to receive and verify the complete state of the “true” block chain.

Simplified Payment Verification (SPV)

An alternative approach is a client that only downloads the headers of blocks during the initial syncing process and then requests transactions from full nodes as needed. This scales linearly with the height of the block chain at only 80 bytes per block header, or up to 4.2MB per year, regardless of total block size.

The merkle root in the block header along with a merkle branch can prove to the SPV client that the transaction in question is embedded in a block in the block chain. This does not guarantee validity of the transactions that are embedded. Instead it demonstrates the amount of work required to perform a double-spend attack.

The block’s depth in the block chain corresponds to the cumulative difficulty that has been performed to build on top of that particular block. The SPV client knows the merkle root and associated transaction information, and requests the respective merkle branch from a full node. Once the merkle branch has been retrieved, proving the existence of the transaction in the block, the SPV client can then look to block depth as a proxy for transaction validity and security. The cost of an attack on a user by a malicious node who inserts an invalid transaction grows with the cumulative difficulty built on top of that block, since the malicious node alone will be mining this forged chain.

2. What does it mean when a transaction is broadcasted?

Bitcoin mining is the validation of transactions that take place on each Bitcoin block. The decentralized nature of Bitcoin means that transactions are broadcasted to the peer-to-peer network and once broadcasted, needs to be verified, confirming that the transaction is valid and then having the transaction recorded on the public transaction database, which is known as the Bitcoin blockchain.

3. How does a miner pick which transactions that gets added to the next block?

A Bitcoin transaction is not confirmed immediately once you send it. Instead, it sits in the mempool, a sort of transaction waiting room.

Bitcoin miners then pick transactions from the mempool and assemble a candidate block of transactions (transactions with a higher fee attached will be chosen first).

Bitcoin miners are computers that compete for the right to insert the next block of transactions into the blockchain. They do so by trying to guess a random number that solves a mathematical equation (also known as proof of work).

Once a miner finds a solution, he gets to insert his candidate block as a valid block in the blockchain. When that happens, all transactions that are inside that block will receive 1 confirmation. Now, miners can move on to compete over the next block.

This process of assembling blocks of transactions and then updating the ledger is what’s known as Bitcoin mining. The winning miner will get a mining reward and all of the transaction fees attached to the transactions inside his block.

1 Like
  1. A SPV does not have a full version of the blockchain. It just references some full nodes to get an idea of the blockchain.

  2. The transaction is sent out to all the nodes to be accepted.

  3. They usually will choose the transactions with the largest fees.

  1. a full node contains acomplete copy of the blockchain where as an SPV is a partial copy and has to query a full node to do transactions.

  2. the transaction gets sent to other nodes on the network that spreads it across the entire network.

  3. Miners prefer transactions with the highest transaction fee.

  1. An SPV has your private key but it has no blockchain. It may query more than one node. Once it has received identical answers from several nodes, it can act on the information received. A full node has a copy of the entire ledger.
    2.When the TX is constructed the wallet will find the TX with your private key and then broadcast it to the network. The TX will be broadcasted and propagated through the network by the nodes and the nodes will put the transactions into the Mempool. The TX will wait there until it is picked by a miner and put into a block. When that happens the TX is confirmed and appended to the blockchain.
    3.The miners pick the transactions with the hightest fees and the most Satoshis per byte. They care how the transaction is constructed because the block size is limited.
  1. SPV can only query a full node for information on BC and not store the BC by itself.
  2. It gets sent to the mempool of all nodes
  3. Usually picks tx’s with highest fees

• What is the difference between a SPV (simplified payment verification) and a full node? The SPV does not have a local copy of the blockchain, rather it interrogates a node that does.
• What does it mean when a transaction is broadcasted? The TX is relayed to the other nodes and receiving nodes insert the TXs into its local mempool.
• How does a miner pick which transactions that gets added to the next block? It usually picks the TXs with the highest fee to maximize its potential profit.

  1. SPV is a method used by lightweight Bitcoin clients or nodes for verifying transactions without downloading an entire copy of the blockchain. A full node is a computer connected to the Bitcoin network that has a full version of the blockchain and fully validates every transaction and block presented to it.

  2. It means the transaction is propagated to the network of nodes and placed in their mempool, to be picked by a miner and and placed in his block.

  3. A miner is likely to choose first a transaction with a higher transaction fee.

1- SPV is when the medium used to send and receive transactions doesnt have the complete blockchain and needs to confirm UTXo´s with a full node.
2- When all nodes have recognize the transaction.
3- Miners pick the transaction with the highest transaction fee first.

1, An SPV is similar to a node but actually doesnt carry the entire block chain and queries a node for specific data to ensure it is carrying updated and true data relevant to a digital wallet, ie, wallet balance.

2, Broadcasting a transaction to the network is asking for the network to confirm and validate the specific transaction as true so that it can be added to the next block in the chain.

3, A miner picks up tx from the mempool.