I know that blocks store transactions. After looking into a block, I can see that it only stores txIDs.

Question 1 - Where are actual transaction objects stored?

If you tell me that it's stored in a separate database called UTXO Set, I might say that the UTXO Set only stores an unspent transactions, what about spent transactions?

Question 2 If I join the network and I am new, my node starts syncing with other nodes to download the blockchain. But since each block only contains txIds, how does my node end up validating transactions (to validate, it needs to know if from address has the actual balance).

Does it mean that nodes also broadcast UTXO databases too and if so, how and when?

I'd appreciate a good explanation on this topic.

1 Answer 1


Blocks do not contain transcation ids at all, they contain the full transactions themselves. If you are using the getblock rpc and seeing txids, that's just because showing the details of all of the transactions is extremely verbose, so only the txids are output. You can see the full transaction details of a block by setting the second argument to 2.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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