Bitcoin Forum
January 17, 2022, 10:53:48 PM
 News: Latest Bitcoin Core release: 22.0 [Torrent]
 Home Help Search Login Register More
 Pages: [1]
 Author Topic: Block vs Transaction vs Coin  (Read 10866 times)
spaceshaker
Newbie

Offline

Activity: 8
Merit: 0

 July 13, 2010, 03:42:07 AM

I'm a new comer to bitcoin but I am intrigued by the idea and the implementation. I've read the whitepaper twice now and scowered the wiki and the forums but I still find myself confused regarding some basic concepts. Hopefully I don't belabor your patience but perhaps this is a hint that maybe we need to work on the documentation a bit more.

My confusion revolves around the relationship between a block, a transaction and coins. Here are a statement of facts as I understand them:
• Blocks form a chain.
• Blocks form the backbone of the Proof-of-Work: a block must be "solved".
• Blocks contain a header and a tree structure containing transactions.
• The first transaction in a block is special. The person who solves the Proof-of-Work for the first transaction gets rewarded with the coin value of the block (currently 50 coins but decreases over time).
• There is a finite number of blocks: 21,000,000
• I assume there is only a single chain, starting at block B0 and eventually ending at block B21,000,000 - 1.

Question #1:
I guess a lot of my confusion revolves around what a transaction is. Perhaps I have missed something but it seems to me that any documentation I have read seems to gloss over what a transaction is. If blocks form a chain and must be solved, and if the solution of the block depends on the hash of the block, doesn't adding a transaction to a block invalidate the solution? If the number of blocks are finite and blocks are not mutable (transactions cannot be added to them), doesn't that imply that the number of transactions is also finite.

Question #2:
In the context of blocks and transactions, what exactly is a coin? If a newly created block has a single transaction containing 50 coins (as they currently do), how is a coin represented inside a transaction/block?

Question #3:
The whitepaper says, in section 7: "Once the latest transaction in a coin is buried under enough blocks, the spent transactions before
it can be discarded to save disk space." The wording "transaction in a coin" confuses me here because I would have thought it should have said "block" instead of "coin". Perhaps this would be answered by question #2.

I fully expect I am missing something here but I can't seem to find the answers in the existing documentation.
1642460028
Hero Member

Offline

Posts: 1642460028

Ignore
 1642460028

1642460028
 Report to moderator
1642460028
Hero Member

Offline

Posts: 1642460028

Ignore
 1642460028

1642460028
 Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
theymos
Legendary

Offline

Activity: 4368
Merit: 9031

 July 13, 2010, 05:39:03 AM

Quote
If blocks form a chain and must be solved, and if the solution of the block depends on the hash of the block, doesn't adding a transaction to a block invalidate the solution?

Each hash you create doesn't depend on any of the other hashes that you've created, so it doesn't slow you down to modify the block. You don't have to "start over". This is what you do:
- Hash the block, check if it's a winner, increment the nonce if it's not, and repeat. Each one of these hashes is not stored and not important if it isn't a winner.
- When you see a transaction, add it and then keep hashing.
- Once you win, stop adding transactions and publish the block. If you added a new transaction at this point, your result would be invalidated, but this is not what happens.
- Prepare a new block and start hashing again.
Each published block is a "snapshot" of the current transactions.

Quote
If the number of blocks are finite and blocks are not mutable (transactions cannot be added to them), doesn't that imply that the number of transactions is also finite.

The number of blocks is not finite. Blocks will be created roughly every 10 minutes, forever. At some point publishing a block will generate less than 1 coin, but blocks will still be created. The "21 million" number is either not really a hard limit, or it's a mathematical limit resulting from halving the number of coins per block every four years. (I don't know which.)

Quote
In the context of blocks and transactions, what exactly is a coin?

It's a history of transactions. A generation, being the first transaction in a transaction history, creates a coin. The paper says: "We define an electronic coin as a chain of digital signatures."

Insti
Sr. Member

Offline

Activity: 294
Merit: 251

Firstbits: 1duzy

 July 13, 2010, 11:10:54 AM

My confusion revolves around the relationship between a block, a transaction and coins. Here are a statement of facts as I understand them:
• Blocks form a chain.
• Blocks form the backbone of the Proof-of-Work: a block must be "solved".
• Blocks contain a header and a tree structure containing transactions.
• The first transaction in a block is special. The person who solves the Proof-of-Work for the first transaction gets rewarded with the coin value of the block (currently 50 coins but decreases over time).
• There is a finite number of blocks: 21,000,000
• I assume there is only a single chain, starting at block B0 and eventually ending at block B21,000,000 - 1.

5. is incorrect.

There is a finite number of coins but an unlimited number of blocks.

6. is half right.

There is only a single chain, starting at block B0

Strofcon
Newbie

Offline

Activity: 20
Merit: 0

 July 13, 2010, 12:23:21 PM

For my own understanding... is there only a single chain of blocks for the entire network? Or is a block chain contained within a coin?

As far as I can tell so far, it seems like a block is a transaction history, involving one or more coins... yes?
Insti
Sr. Member

Offline

Activity: 294
Merit: 251

Firstbits: 1duzy

 July 13, 2010, 12:54:42 PM

For my own understanding... is there only a single chain of blocks for the entire network? Or is a block chain contained within a coin?

As far as I can tell so far, it seems like a block is a transaction history, involving one or more coins... yes?

Yes, there is 1 single chain of blocks for the entire network.

Each block contains some header info and one or more transactions.
The transactions move 'coins' from one bitcoin address to another bitcoin address
coins aren't actually 'things', just numbers.
Mionione
Newbie

Offline

Activity: 10
Merit: 0

 July 13, 2010, 01:10:08 PM

what happen if millions of transactions occurs during the block generation, would be block size huge ?
spaceshaker
Newbie

Offline

Activity: 8
Merit: 0

 July 13, 2010, 06:49:19 PM

what happen if millions of transactions occurs during the block generation, would be block size huge ?

I really love the concept and technology here but I am still trying to wrestle with the implications. I see two potential problems if bitcoin was to become a very popular currency/system.

• The number of blocks is infinite and the history; the complete chain is important. Even though blocks are small (at least today) I am concerned that this system relies on each peer having a complete record of the entire chain. After many years and supposing hundreds of millions of people generating blocks, wouldn't the size of the chain become untenable?
• Closely related to the above point: As the number of transactions per-second go up the size of the blocks also go up. If the system ever got to the point of having hundreds of thousands of transactions per-second the model seams unsustainable. One could argue that the number of blocks generated would also increase but this only exacerbates the the issue I pointed out above.
TopSoil
Newbie

Offline

Activity: 9
Merit: 0

 July 13, 2010, 07:12:21 PM

Scalability discussed here: http://bitcointalk.org/index.php?topic=286.0
knightmb
Sr. Member

Offline

Activity: 308
Merit: 252

 July 13, 2010, 07:19:18 PM

what happen if millions of transactions occurs during the block generation, would be block size huge ?

I really love the concept and technology here but I am still trying to wrestle with the implications. I see two potential problems if bitcoin was to become a very popular currency/system.

• The number of blocks is infinite and the history; the complete chain is important. Even though blocks are small (at least today) I am concerned that this system relies on each peer having a complete record of the entire chain. After many years and supposing hundreds of millions of people generating blocks, wouldn't the size of the chain become untenable?
• Closely related to the above point: As the number of transactions per-second go up the size of the blocks also go up. If the system ever got to the point of having hundreds of thousands of transactions per-second the model seams unsustainable. One could argue that the number of blocks generated would also increase but this only exacerbates the the issue I pointed out above.

From what I read in the Technical Paper, old transactions are compressed after a while. The Coin spending process only needs to know that transfer from Owner A to Owner B was valid. It doesn't matter if 1 year ago, Owner C gave it to Owner A. At least from what I get, it keeps the transaction history from reaching infinity.

Timekoin - The World's Most Energy Efficient Encrypted Digital Currency
 Pages: [1]