Bitcoin Forum
May 04, 2024, 06:24:14 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Block vs Transaction vs Coin  (Read 10934 times)
spaceshaker (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 13, 2010, 03:42:07 AM
 #1

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.
1714847054
Hero Member
*
Offline Offline

Posts: 1714847054

View Profile Personal Message (Offline)

Ignore
1714847054
Reply with quote  #2

1714847054
Report to moderator
1714847054
Hero Member
*
Offline Offline

Posts: 1714847054

View Profile Personal Message (Offline)

Ignore
1714847054
Reply with quote  #2

1714847054
Report to moderator
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714847054
Hero Member
*
Offline Offline

Posts: 1714847054

View Profile Personal Message (Offline)

Ignore
1714847054
Reply with quote  #2

1714847054
Report to moderator
1714847054
Hero Member
*
Offline Offline

Posts: 1714847054

View Profile Personal Message (Offline)

Ignore
1714847054
Reply with quote  #2

1714847054
Report to moderator
1714847054
Hero Member
*
Offline Offline

Posts: 1714847054

View Profile Personal Message (Offline)

Ignore
1714847054
Reply with quote  #2

1714847054
Report to moderator
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5194
Merit: 12972


View Profile
July 13, 2010, 05:39:03 AM
 #2

Maybe this post will help you understand what a block contains.

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."

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
Insti
Sr. Member
****
Offline Offline

Activity: 294
Merit: 252


Firstbits: 1duzy


View Profile
July 13, 2010, 11:10:54 AM
 #3

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 Offline

Activity: 20
Merit: 0


View Profile
July 13, 2010, 12:23:21 PM
 #4

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 Offline

Activity: 294
Merit: 252


Firstbits: 1duzy


View Profile
July 13, 2010, 12:54:42 PM
 #5

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 Offline

Activity: 10
Merit: 0


View Profile
July 13, 2010, 01:10:08 PM
 #6

what happen if millions of transactions occurs during the block generation, would be block size huge ?
spaceshaker (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
July 13, 2010, 06:49:19 PM
 #7

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 Offline

Activity: 9
Merit: 0


View Profile
July 13, 2010, 07:12:21 PM
 #8

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

Activity: 308
Merit: 256



View Profile WWW
July 13, 2010, 07:19:18 PM
 #9

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]
  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!