You misunderstood me,
Or, perhaps, you misunderstand how bitcoin works?
I believe we are saying the same thing
I read your words. I read his words. You are not saying the same thing. He is correct. You are not.
Yes it's true that transactions are confirmed by miners, now what or who are miners?
That word, miner, has taken on multiple meanings when talking about Bitcoin. This leads to confusion. It's good to clarify and avoid confusion.
There are:
- Mining pools - They assemble the validated transactions into blocks and present the block headers to their participants for hashing.
- Mining pool participants - They run ASICs, hashing the block headers that they receive from the mining pool in an attempt to find a block solution
- Solo miners - They do both pieces, assembling blocks from valid transactions, and then hashing the header looking for a solution
Miners are nodes that work to add new blocks to the blockchain and are rewarded with bitcoin for doing so.
Mining pools, and Solo miners run nodes to validate transactions, and then run separate software to build blocks from the valid transactions.
Mining pool participants and Solo miners compute hashes of the block headers looking for a block solution.
Mining pools and Solo miners assign the block subsidy and transaction fees wherever they want to when they build the block, before it is hashed.
Mining pools and Solo miners broadcast their solved blocks to the peers they are connected to.
So when I say "they check for things like the digital signature of the transaction" I'm simply talking about the miners.
And you are at least partially incorrect and/or partially incomplete.
All nodes, including the ones that are NOT mining, "check for things like the digital signature". Well written wallet software ALSO "checks for things like the digital signature".
Mining pool participants do NOT "check for things like the digital signature". They simply use their ASICs to hash the block headers they are assigned by the pool. Mining pools check the digital signatures, but I wouldn't consider that part of the "mining" process. They just do that to make sure that they don't accidentally include a transaction in their block that will be rejected by ALL nodes (resulting in an invalid block). The mining software uses the list of already verified transactions, and builds the block from those.
It's important to note that people often talk about Miners and Nodes together as they're same as one, which is wrong, in as much as Miners could be considered to be nodes that work to add new blocks to the blockchain by solving some complex mathematical problems ( Proof of Work), Nodes, on the other hand, are any computers that are connected to the network and are helping to verify and relay transactions. So, we could say that all miners are nodes, but not all nodes are miners.
This is reasonably close to accurate. Probably good enough for typical conversation about such matters. In my opinion it's more accurate to say that miners run nodes to be able to receive and validate the transactions from the network before they start using them in the mining process, rather than saying that they are "considered to be nodes", but being that pedantic about it is probably not helpful in most cases.
Note that the "mathematical problem" really isn't all that complex. While it is tedious, I believe it can be done with paper and pencil by anyone that understands binary and boolean logic. I'd bet it can be taught pretty easily to the average middle-schooler if they wanted to learn it. At the currrent difficulty targe though, it does need to be calculated MANY MANY MANY times repeatedly. It would take centuries (maybe more) for the average human to perform the calculation enough times to have even a minuscule probability of finding usable result. Like I said, it's tedious (very tedious), but not complex.
And when I say "The transaction is added to the blockchain and deemed "confirmed" if it successfully completes all validation checks." what I mean is that the transactions are added to the blockchain AFTER they have been confirmed and has completed all validation checks.
What you "meant" was MUCH more correct than what you "said", and yet still is missing some important nuance.
Transactions are definitely NOT
deemed "confirmed" simply by
successfully completing validation checks.
Saying that they are only creates confusion and misunderstanding.
Transactions ARE
added to the blockchain AFTER they have been confirmed has completed all validation checksHowever, your statement could easily be misunderstood to imply that being confirmed and completing validation checks are happening simultaneously before "being added to the blockchain".
More specifically, transactions are:
- First verified by node software
- Then included in an unsolved block by mining pool or solo mining software
- Then the block is solved by people running ASICs (either pool participants or solo miners)
- Then the solved block is broadcast to peers
- Then the solved block is verified by those peers, and they broadcast it to their peers, and so on
- Then, any node or wallet that receives the block and has determined it to be a valid block considers the transactions in that block to be "confirmed" BECAUSE it has seen them in a valid solved block
- Finally those nodes and wallet software increment the quantity of "confirmations" on those transactions by 1 every time another valid block is received that extends that chain
This is a
Technical Discussion sub-forum. It is important in this sub-forum to be accurate in the information you give, and careful about how you phrase things so that you don't increase confusion and misunderstanding. People that come to this sub-forum and read these threads are looking for good, accurate, specific information about how things work.