Bitcoin Forum
May 05, 2024, 02:22:18 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Transactions without new blocks  (Read 1065 times)
mtomcdev (OP)
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 26, 2014, 04:20:49 PM
 #1

This is just a question to understand the underlining technology and concept. If I understood correctly transactions (such as sending Bitcoin from an existing address to another address) must be included by miners in a newly mined block. What's going to happen when no one is mining any more, so there is no new block, in what block will be the transaction included? I have been reading the wiki and tried to understand the concept before posting here this noob question but I don't understand how payments will be made if there are no new blocks, for example when all blocks are mined. I read on the wiki that in Bitcoin new blocks will be created even after the last block is minted, but I am having difficulty to understand how that will happen. I guess at the time when all blocks are created in bitcoin then it will be incredible difficult to create a new block or is there some way to create a block just to include the transaction?
1714918938
Hero Member
*
Offline Offline

Posts: 1714918938

View Profile Personal Message (Offline)

Ignore
1714918938
Reply with quote  #2

1714918938
Report to moderator
1714918938
Hero Member
*
Offline Offline

Posts: 1714918938

View Profile Personal Message (Offline)

Ignore
1714918938
Reply with quote  #2

1714918938
Report to moderator
1714918938
Hero Member
*
Offline Offline

Posts: 1714918938

View Profile Personal Message (Offline)

Ignore
1714918938
Reply with quote  #2

1714918938
Report to moderator
No Gods or Kings. Only Bitcoin
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714918938
Hero Member
*
Offline Offline

Posts: 1714918938

View Profile Personal Message (Offline)

Ignore
1714918938
Reply with quote  #2

1714918938
Report to moderator
mtomcdev (OP)
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 26, 2014, 04:44:08 PM
 #2

Just to clarify what I have been wondering about, the Bitcoin wiki states

"Bitcoin transactions are broadcast to the network by the sender, and all peers trying to solve blocks collect the transaction records and add them to the block they're working to solve."

At the same page it also appear that

"Transactions will still occur once all the coins have been generated, so blocks will still be created as long as people are trading Bitcoins."

So where those blocks will be coming from once all the coins have been generated? Similarly, how the bitcoin based POW altcoins handle this scenario when the POW period is finished, from where that altcoins gets the new blocks?
KriszDev
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
July 26, 2014, 05:07:01 PM
 #3

There is a TXPool that contains all transaction that are currently not in any blocks. Miners solve blocks. When a block is found the miner generate the merkle root from the TXs in the TXPool (sign the block) after the merkle root is calculated nobody can modificate the block without modificating the header. So after the block is finished miner send it to the network and the network add it to the chain (orphane or not it will be added). The TXPool is not final so if you think u not wanna send your BTC then you just delete the TX and then it never will be sended (in that TX).
mtomcdev (OP)
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 26, 2014, 05:12:36 PM
 #4

There is a TXPool that contains all transaction that are currently not in any blocks. Miners solve blocks. When a block is found the miner generate the merkle root from the TXs in the TXPool (sign the block) after the merkle root is calculated nobody can modificate the block without modificating the header. So after the block is finished miner send it to the network and the network add it to the chain (orphane or not it will be added). The TXPool is not final so if you think u not wanna send your BTC then you just delete the TX and then it never will be sended (in that TX).

I am sure my question was completely unclear, and probably that's why you have misunderstood what I am asking.

My question was about that what kind of new block the transaction will be included when there isn't a new block anymore? You said "Miners solve blocks", but precisely that's what I have been wondering, where the block will be coming from when there are no miners, in the scenario when all coins have been created?
TimS
Sr. Member
****
Offline Offline

Activity: 250
Merit: 253


View Profile WWW
July 26, 2014, 05:16:57 PM
 #5

There is no "last block". Miners will continue mining indefinitely (which is to say, as long as there is non-zero interest in Bitcoin). As the block reward (currently 25 BTC) shrinks to nearly-nothing and then goes away completely (circa 2140), it is transaction fees that will be the incentive for miners to continue.
mtomcdev (OP)
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 26, 2014, 05:32:43 PM
Last edit: July 26, 2014, 05:46:05 PM by mtomcdev
 #6

There is no "last block". Miners will continue mining indefinitely. As the block reward shrinks to nearly-nothing and then goes away completely, it is transaction fees that will be the incentive for miners to continue.

Thanks! Yes, right now I can see that's what the wiki say as well that there is no last blocks. As per today, a relatively large processing power is required to mine a block and I assume at the time when the reward will shrink to zero the block creation will be more difficult, so the transaction fee must increase dramatically to provide the miners with incentive to continue creating new blocks. But of course this is not an issue right now at all and I just wanted to understand the concept.
Which is more current that there are Bitcoin based new altcoins (some of them scam some of them not) with POW period that is already ended, how those POW completed altcoins handle the new block generation? Similarly to the future of Bitcoin, as you said the miners generate new blocks for the transaction fee? Or those one which are POS coins generate the new block by rewarding the staking?
KriszDev
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
July 26, 2014, 05:50:34 PM
 #7

There is no "last block". Miners will continue mining indefinitely (which is to say, as long as there is non-zero interest in Bitcoin). As the block reward (currently 25 BTC) shrinks to nearly-nothing and then goes away completely (circa 2140), it is transaction fees that will be the incentive for miners to continue.

There is a last block. The larges values of the variable that they use to store block ids.(this is very large)
mtomcdev (OP)
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 26, 2014, 05:59:52 PM
 #8

There is no "last block". Miners will continue mining indefinitely (which is to say, as long as there is non-zero interest in Bitcoin). As the block reward (currently 25 BTC) shrinks to nearly-nothing and then goes away completely (circa 2140), it is transaction fees that will be the incentive for miners to continue.

There is a last block. The larges values of the variable that they use to store block ids.(this is very large)

I think in the sense of block creation there is no last block, so Tims was completely right saying that there is no last block. Please see the wiki.

I appreciate you are making effort to help me to get answer for my question, and I fully realize that my question must be not worthy to answer for an experienced user/developer so I probably should be grateful whatever answer I get, on the other hand you had two inputs but none of them has anything to do with the original question of this thread, so it would be really great if you could address the original question of the thread :-)) I hope it is not impolite from my part to ask this :-))
jbrnt
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500



View Profile
July 26, 2014, 06:09:44 PM
 #9

The "last block" is not actual the last block in the blockchain. It meant the last block with a block reward.

There is no final block because in event of no active miners, anyone who wants to make a transaction can mine a block himself using basic CPU, since the difficulty will be very low.
KriszDev
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
July 26, 2014, 06:12:18 PM
 #10

I found what i was searching for
bitcoin source code "main.cpp" line 40:
Code:
map<uint256, CBlockIndex*> mapBlockIndex;
This code line makes a map with and uint256 index this is equals to 2^256-1 blocks (115792089237316195423570985008687907853269984665640564039457584007913129639935 block)
KriszDev
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
July 26, 2014, 06:13:32 PM
 #11

The "last block" is not actual the last block in the blockchain. It meant the last block with a block reward.

There is no final block because in event of no active miners, anyone who wants to make a transaction can mine a block himself using basic CPU, since the difficulty will be very low.

Well if all GPU or ASIC will stop mining on the same day then the difficult will stay hight. The only way to make it low is if they stop slowly.
jbrnt
Hero Member
*****
Offline Offline

Activity: 672
Merit: 500



View Profile
July 26, 2014, 06:21:10 PM
 #12

Well if all GPU or ASIC will stop mining on the same day then the difficult will stay hight. The only way to make it low is if they stop slowly.

Yes, you are correct. Difficulty only adjusts every 2000 blocks (2016 I think). My presumption is a slow decline in miners.
cr1776
Legendary
*
Offline Offline

Activity: 4032
Merit: 1299


View Profile
July 26, 2014, 06:24:11 PM
 #13

There is no "last block". Miners will continue mining indefinitely (which is to say, as long as there is non-zero interest in Bitcoin). As the block reward (currently 25 BTC) shrinks to nearly-nothing and then goes away completely (circa 2140), it is transaction fees that will be the incentive for miners to continue.

There is a last block. The larges values of the variable that they use to store block ids.(this is very large)

I think in the sense of block creation there is no last block, so Tims was completely right saying that there is no last block. Please see the wiki.

I appreciate you are making effort to help me to get answer for my question, and I fully realize that my question must be not worthy to answer for an experienced user/developer so I probably should be grateful whatever answer I get, on the other hand you had two inputs but none of them has anything to do with the original question of this thread, so it would be really great if you could address the original question of the thread :-)) I hope it is not impolite from my part to ask this :-))

If there is ever a "last block" (and no one begins mining again ever) then bitcoin will cease to function because there will be no transactions occurring.  All the coins will be where they were and none will be able to move.  In all likelihood, it mining would ramp down slowly and so would difficulty.  Perhaps even low enough that someone might begin mining on a CPU again (or a lightbulb if it had enough CPU power in the future).

As far as rolling over the value of integer for nblockheight, with a 32 bit unsigned integer, at a 10 minute block interval we have more than 80000 years, so plenty of time to switch to a 64 bit integer.  ( (2^32)/(6*24*365) = 81715 if I didn't make a typo. )

:-)


mtomcdev (OP)
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 26, 2014, 06:24:55 PM
 #14

The "last block" is not actual the last block in the blockchain. It meant the last block with a block reward.

There is no final block because in event of no active miners, anyone who wants to make a transaction can mine a block himself using basic CPU, since the difficulty will be very low.

I see, that make sense. As the target changed by the network time to time the difficulty will be very low, because when there is no incentive for mining the target will be adjusted and as you said everyone will be able to create a block with a CPU miner in order to have a place holder for the transaction. I think finally I understand :-))) Happy days :-))
mtomcdev (OP)
Sr. Member
****
Offline Offline

Activity: 310
Merit: 250


View Profile
July 26, 2014, 06:26:36 PM
 #15

There is no "last block". Miners will continue mining indefinitely (which is to say, as long as there is non-zero interest in Bitcoin). As the block reward (currently 25 BTC) shrinks to nearly-nothing and then goes away completely (circa 2140), it is transaction fees that will be the incentive for miners to continue.

There is a last block. The larges values of the variable that they use to store block ids.(this is very large)

I think in the sense of block creation there is no last block, so Tims was completely right saying that there is no last block. Please see the wiki.

I appreciate you are making effort to help me to get answer for my question, and I fully realize that my question must be not worthy to answer for an experienced user/developer so I probably should be grateful whatever answer I get, on the other hand you had two inputs but none of them has anything to do with the original question of this thread, so it would be really great if you could address the original question of the thread :-)) I hope it is not impolite from my part to ask this :-))

If there is ever a "last block" (and no one begins mining again ever) then bitcoin will cease to function because there will be no transactions occurring.  All the coins will be where they were and none will be able to move.  In all likelihood, it mining would ramp down slowly and so would difficulty.  Perhaps even low enough that someone might begin mining on a CPU again (or a lightbulb if it had enough CPU power in the future).

As far as rolling over the value of integer for nblockheight, with a 32 bit unsigned integer, at a 10 minute block interval we have more than 80000 years, so plenty of time to switch to a 64 bit integer.  ( (2^32)/(6*24*365) = 81715 if I didn't make a typo. )

:-)




That make sense, thanks very much for the reply!
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!