Author

Topic: A basic question about validating transactions and blocks.. (Read 160 times)

legendary
Activity: 4410
Merit: 4766
im dumbing this down and using average joe wording. so all you techno buzzword lovers. chill

lets imagine there are 4 computers. 2 of which are just users and 2 are block creators(mining pools)

when a user makes a transaction it sends the transaction to all (3 other) computers. those 3 other computers validate the transactions and hold them.
for instance if user 1 sent a tx to user 2 and user 2 found the tx funky. user 2 wont send the funky tx to the other 2 computers. this helps reduce wasting bandwidth by only letting valid transactions relay around.

the block creating(mining pools) computers validates the transactions for themselves too, just incase any invalid transactions slipped through the relay network. and then the mining pool makes a list.. basically a batch of transactions it wants to group together into a block of data that does not exceed the rules of maximum size block of data a block can have.
the block of data gets the valid hash of the previous block added to it. to chain the blocks together

that newly created block of data is then hashed to form its own hash identity.. lets call it for average joe sake a batch id. (block hash)

now these mining pool computers because things have moved on since 2009. they create the block. but do not mine the block hash(batch id) itself. instead it sends the hash(batch id) to a special device called an ASIC. and its this devide that does the mining of the hash.
an asic has been specially designed to do only one task and do that task very well.. mine the block hash

the end goal of mining is to get another hash that has done some work, in basic terms it has hashed the blockhash(batch id) along with a numeric number that increments until the secondary hash can be found that has a certain amount of zeros at the start that meet a difficulty target
this secondary has with zeros at the start is the proof of work

once this is found the blockdata along with the blockhash and the proof of work. is then put together and that block is relayed back out to the other miner pc and the 2 users.

this block is then validated to ensure the data is validated (it can skip re-validating the tx's inside a block if that pc already validated the tx). it validates the hash(batch id) corresponds to the batch of transactions. and it validates the secondary hash(proof of work) corrsponds to the hash and the difficulty rules.

if it all validates then this block is added onto the pile of other blocks. as long as no other mining pool has made a competing block with the same previous block hash in its data, and wasnt found/validated first.

then it all begins again of building another batch of tx's blah blah blah
full member
Activity: 448
Merit: 102
we know that mining will validate every transaction, build and store new blocks into the blockchain. to store the block, then the miners must reach consensus. and they serve to keep the blockchain.

blockchain that already stores all the network of transactions also has a block, meaning that each transaction is separate with the other, but in 1 blockchain.

after that the miner validates all candidates of the block before, then look for nonce to make the block to be valid. and this is the hardest part.
hero member
Activity: 980
Merit: 507
In this explanation it seems it is saying one transaction = one block. There are thousands of transactions per block however.
No. One transaction is not equal to one block. The explanation clearly says that miners decide which transaction should be added to the block. Usually the ones with higher fees are preferred by the miners. Miners get a reward of a few bitcoins every time they mjne a block. So there's huge competition sort of thing here.
newbie
Activity: 18
Merit: 1

If the miners are extracting information from a shared pool of transactions can the same transaction be in multiple blocks, and therefore be in the Blockchain multiple times?

No. The transaction goes only in one block.
The number os confirmations is the number of mined blocks after that transaction has been added to a block.

I made a brief summary here
https://bitcointalksearch.org/topic/m.34646752

In this explanation it seems it is saying one transaction = one block. There are thousands of transactions per block however.
full member
Activity: 434
Merit: 102
Leading Cryptocurrency and Blockchain Company
this is why the blockchain technology is unique,the network is made in such a way that minors dont have to communicate amongst themselves after solving a block.After a block is solved all the computers on the network 'see' it as it gets 'registered' on the blockchain so no form of communication between miners,the network intrinsically takes care of that.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science

If the miners are extracting information from a shared pool of transactions can the same transaction be in multiple blocks, and therefore be in the Blockchain multiple times?

No. The transaction goes only in one block.
The number os confirmations is the number of mined blocks after that transaction has been added to a block.

I made a brief summary here
https://bitcointalksearch.org/topic/m.34646752
newbie
Activity: 18
Merit: 1
Wow this is new to me.. i didn't know there were miners and non-miners. (I thought all nodes were miners). I have a lot more to learn.

So if i understood correctly.. all incoming transactions are in some sort of "common pool". The miners pull these transactions into themselves and validate each transaction independently, add it to their block + solve the crypto puzzle and add it to the Blockchain.

If the miners are extracting information from a shared pool of transactions can the same transaction be in multiple blocks, and therefore be in the Blockchain multiple times?
legendary
Activity: 4466
Merit: 3391
Each mining node builds its own block and validates every transaction they include in the block. They must because if they include an invalid transaction, nodes will not accept their block. All nodes, mining and non-mining, generally validate all transactions they receive, and do not relay invalid transactions. Nodes also generally validate all blocks they receive and the transactions in them, and they do not relay invalid blocks or blocks with invalid transactions.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Transactions are not validate by the Miners, but by full nodes.

Transactions stay on mempool which is shared by nodes.

Miners decide which transactions from the mempool they are going to add in he block. After adding the transaction they mine it (mine = solve cryptographic puzzle , pow)

Please someone correct me if I'm wrong
newbie
Activity: 18
Merit: 1
Hi, new to Bitcoin and just trying to understand the technology a bit more.

From my understanding there are a few thousand (2.5k on average) transactions per block of Bitcoin. Do the miners when they validate the transactions also communicate this to each other in real time OR the validations are done in isolation on each miner and only added to the chain once all the transactions are bundled in a block + hashed? If its the latter does it not mean some validations are not logged in the blockchain?

Sorry for my confusion.. just trying to understand.
Jump to: