5

I have some questions about the mining mechanism.

1) After the block has been mined (and the miner found the nonce for the proof of work) the block is broadcast to the network. Are the transactions in the mined block also verified by the other nodes in the network, after checking the correctness of the nonce by the network?

If so, how many confirmation nodes are needed to say "Yes, this mined block contains correct transactions! Let's add it to the blockchain"? If it isn't so, can a miner mine a block with incorrect transactions and then broadcast it into the network?

2) Can a well mined block be rejected by the network? Maybe by some malicious host ?

6

Well, are the transactions in the mined block verified also by the other nodes in the network, after checking the correctness of the nonce by the network?

Yes.

If so, how many confirmation nodes are needed to say "yes, this correct mined block contains correct transactions! let add it to the blockchain"?

It doesn't work that way. If a node thinks a block is invalid, it doesn't relay the block. If all nodes who got the block in first place, thinks that the block is invalid, other nodes don't receive that block and it gets forgotten. If they think the block is valid, the clients add the block to their blockchain and relay it to other nodes.

Can a well mined block be rejected by the network? Maybe by some malicious host ?

Yes, ISPs can do that (although big pools run their own ISP). But that's pretty hard (impossible) without the help of the miner's ISP.

  • You have been very clear. I’ve got only just 1 another (silly?) question... suppose that a mined block containing an invalid transaction is broadcasted to other nodes: this should be rejected by them. In case some (malicious) nodes accept it, adding it in their blockchain and sending it to other in network, what would happen? Or to be added to the Blockchain, ALL the nodes have to accept it? – Bruce Wayne Oct 19 '17 at 21:38
  • 1
    @BruceWayne The other nodes would ignore the block. And there's nothing called "the Blockchain", every node is independent. For example, unsynced nodes have outdated blockchains. Or, when two miners produce and release two blocks at the same time, some nodes will say "X miner was earlier" while other nodes disagree. The next block decides who is right, and the conflict gets solved. Because more than 99% of the nodes have the same blockchain, it is called "the blockchain". If you code a node that doesn't accept a specific block, it wouldn't change anything, the ntwork would continue normally. – MCCCS Oct 20 '17 at 4:22
  • So, the mechanism is based on the fact that the majority of nodes is not malicious. In case that the majority of them were malicious they could create a blockchain made by blocks containing wrong transactions. Am i wrong? – Bruce Wayne Oct 20 '17 at 8:29
  • 1
    @BruceWayne The majority doesn't make a difference. That would result in a bitcoin fork (blockchain split). The innocent nodes still would ignore them – MCCCS Oct 20 '17 at 11:18
1

Each full node enforces all rules of Bitcoin independently. This means that when a full node gets notice of a new block, they'll check that the block and all the included transactions are valid and thus adhere to the consensus rules. There is no direct feedback for the block author except that they'll be able to spend the block reward when the coinbase transaction has matured to 100 confirmations.

Since every node will notify their peers about any valid blocks they receive and blocks can also be transferred via alternative broadcast methods such as satellites, it is very hard for a single party to censor a block. Since there can only be one block at every height of the heaviest cheain, the only reliable method of censoring a block would be to provide an alternative valid blockchain tip with more weight whose ancestry does not include the block.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.