Bitcoin Forum
November 12, 2024, 12:47:15 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Can you help me understand something about blocks & transactions?  (Read 1305 times)
jonone100 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
June 01, 2011, 12:49:15 PM
 #1

Hello. First I got to congatulate everyone involved in the bitcoin project - you're an inspiration. I'm keen to write something for my blog that explains some of the technical aspects of bitcoin in a non-technical way, hopefully exploring the nature of money along the way. I've spent a while reading up and trying to understand things. The bit I seem to get stuck on time and time again is the relationship between transactions and blocks.

Any clarification you can give would be very much appreciated. Here's my problem:


I read in the wikipedia article that generating nodes have no obligation to include transactions when they create a block.

However in the bitcoin wiki/blocks section it says 'Bitcoin transactions are broadcast to the network by the sender, and all peers generating coins collect them and add them to the block they're working on'

I also read that the totality of transactions are hashed (with individual transactions NOT being hashed). (I assume this means ALL transaction since genesis, rather than in an individual block?).

So when you say nodes have no obligation to include transactions, does it mean that they can just use the last transaction hash and work from there?


Thanks
Jon
Meni Rosenfeld
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1054



View Profile WWW
June 01, 2011, 01:06:02 PM
 #2

I read in the wikipedia article that generating nodes have no obligation to include transactions when they create a block.
Correct.

However in the bitcoin wiki/blocks section it says 'Bitcoin transactions are broadcast to the network by the sender, and all peers generating coins collect them and add them to the block they're working on'
They can add them if they want to, and currently they generally do. But they don't have to.

I also read that the totality of transactions are hashed (with individual transactions NOT being hashed). (I assume this means ALL transaction since genesis, rather than in an individual block?).
Every transaction has a hash which identifies it. In addition, all the transactions in an individual block are structured as a Merkle tree, and its root hash is included in the block header as the "Merkle root".

So when you say nodes have no obligation to include transactions, does it mean that they can just use the last transaction hash and work from there?
They don't use any "last transaction hash". They just build a block where the only transaction is reward generation, with a Merkle root to match.

here is a recent example of a block where the only transaction is generation.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
jonone100 (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
June 02, 2011, 10:25:30 AM
 #3

Thanks very much for the clarification. Most Helpful.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!