The transactions are relayed across the peer-to-peer network so all nodes are aware of the transaction and have verified it.
Yes.
What "authentication" do you mean? I don't understand your use of that word.
Nodes verify that the transaction is valid. They verify that the transaction conforms to all the protocol rules and that all the scripts of outputs being spent have been appropriately satisfied with the scripts of the inputs that spend them.
If the transaction is not valid, then the node ignores it and does not relay it to any peers. If it is valid then the node stores the transaction in its own memory and sends it to the peers it is connected to.
What "process" do you mean? I don't understand your use of that word.
The miners choose transactions from the unconfirmed transactions that their nodes are holding in memory. They cannot create a block that is bigger than 1 megabyte (the consensus rules do not allow it, do that would be an invalid block and would be ignored by all the nodes). They can create a block that is smaller than 1 megabyte. The smallest block they can create is a bit more than 210 bytes.
They are calculated by the number of bytes it takes to represent the information in the transaction.
Typically:
- Each transaction has about 10 bytes of required information
- Each output adds an additional 34 bytes
- Each input that was previously received at an uncompressed key address adds between 179 and 181 bytes
- Each input that was previously received at a compressed key address adds between 147 and 149 bytes
What "operation" do you mean? I don't understand your use of that word.
The maximum size of a block according to the current consensus rules is 1 megabyte. A block is allowed to be smaller. The block header is always 80 bytes. A block MUST have at least 1 transaction.
What "process" do you mean? I don't understand your use of that word.
After assembling the list of transactions calculating a merkle root, and building the block header, the block is hashed repeatedly while adjusting the 32 bit nonce between each attempt until a sufficiently low enough hash value is found. If all possible nonce values have been attempted and a solution is not yet found, then the block must be modified.
Valid ways to modify a block are:
- Adjust the timestamp
- Modify the transaction list
- Modify the block subsidy transaction
Find a block? 0 Operations? I don't understand your use of those phrases.
If the miner calculates a hash of a low enough value, then they add the block to their blockchain and send it to all their connected peers. All the transactions in the block are confirmed, and cannot be used in any blocks added to the blockchain on top of that.
If the miner receives a block from a peer, they validate it and add it to their own blockchain. They remove any transactions that are in the block from their own memory. Then they build a new block and start the process over again.
What transaction problem do you mean? I don't understand your use of those words.
Transactions are broadcast to connected peers and then relayed from peer to peer until the entire network of nodes have all heard about it.
Miners (or mining pools) then group the transactions together into blocks and build a block header.
Miners (or mining pools) then hash the block header while adjusting a nonce between each attempt until they either find a hash result of low enough value or hear about a valid block from a peer.
Miners (or mining pools) then repeat the process. (Meaning, they group remaining unconfirmed transactions together and hash again until they get a low enough value or hear about another block).
Miners repeat that process continuously. Transactions are broadcast and relayed as they are created by wallet sofware.
Most nodes store it on their own hard drive (or SSD).
What do you mean when you say "releasing the block"? I don't understand your use of that phrase.
What knots are you asking about? I don't understand your use of that word.
There is another node software named "Bitcoin Knots" it is fully compatible with Bitcoin Core and works the same way (with some added user features). Is that what you are asking about?
Delivered? Yes.
But they are not included in the blockchain until a miner has completed a proof-of-work with the transaction in their block. A transaction that is not confirmed can become invalid and can be dropped from memory.
What do you mean by "approve"? I don't understand your use of that word.
Nodes validate that the transaction doesn't break any rules, store it in their memory, and they relay it to other nodes. Those other nodes validate that the transaction doesn't break any rules, store it in their memory, and they relay it to other nodes. Those nodes validate that the transaction doesn't break any rules, store it in their memory, and they relay it to other nodes. This process of validating, storing, and relaying repeats until all the connected nodes have heard about the transaction, validated it, and stored it in their memory.
There is no finalization. Blocks just keep getting added to the blockchain for as long as the bitcoin concept continues to be used. Each recipient can decide for themselves how many blocks they require on top of a transaction before they feel it is secure enough to trust. Some recipients are willing to accept the risk of an unconfirmed transaction. Other recipients want 1 confirmation. Others might want 2, or 3, or 6, or more.
0 confirmations, 1 confirmation, 3 confirmations, and 6 confirmations are the most common requirements that recipients have depending on things such as:
- The risk tolerance of the recipient
- The trust relationship between the recipient and the sender
- The recipients understanding of how bitcoin works
- The transaction fees paid in the transaction
- The quantity and value of the transaction outputs
- The confirmation status of the transaction inputs
It is rare, but it is possible for a transaction that has 1 confirmation to become unconfirmed (if the block with the transaction is replaced by a different block that does not have the transaction) and then to become invalid. As more blocks are added to the blockchain it becomes extremely difficult to replace the earlier block (because ALL blocks on top must also be replaced for that to happen, and replacing those blocks would require an exceedingly large number of hash operations to overcome the proof-of-work).