Pages:
Author

Topic: A proposed solution for lost Bitcoins... - page 2. (Read 1111 times)

legendary
Activity: 4522
Merit: 3426
November 18, 2018, 12:00:47 AM
#25
What happens to the coinbase transaction in a block that you are going to delete?

If there is no BTC yet in the source and target addresses there is some problem deleting all the block?

I guess what I don't understand yet is how do you validate a transaction who's inputs come from a deleted block? I guess maybe you just assume it is valid because the transaction is so old. That's an interesting concept. Normally, you base validity on the genesis block, but in this case you assume validity based on the current block.

There is also an issue of determining the longest chain, since every chain will have the same length.
member
Activity: 264
Merit: 16
November 17, 2018, 06:56:37 PM
#24
Your solution to simply "delete old blocks" solves primarily the "IBD" (Initial Blockchain Download) problem, i.e. the problem that every full node has to sync to the full blockchain, which costs lots of bandwidth (but isn't a problem at all for nodes that are continuously connected to the network).

That's why I mentioned the Mini-Blockchain project (implemented in a small altcoin called Cryptonite) and UTXO commitments - they solve the exact same issue, but without having to delete transactions (which some see, not without reason, as "stealing"). However, they have other kinds of drawbacks, as I intended to explain.

Your solution also would collide with other scaling proposals, for example, LN and sidechains. For example, a long-running, stable LN channel would run into danger once its channel-opening transaction is near the "deadline". LN implementations would have to re-open the channel in this case, which makes the apps overly complex. The same applies to sidechains: old "burning transactions" that result in "sidechain coins" being created (search for 2-way pegs for an explanation, e.g. here) would be at risk to be "forgotten", too. You could establish special rules for these cases - but again, this results in higher complexity.

Pruned nodes should work other way, my proposal only deletes genesis blocks without BTC inside all addresses included in the transactions of the block and  even now in actual genesis block there is BTC inside, for example this address:

1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

Satoshis genesis address haves money inside, if the guy was really Hal Finney and he is dead this will be lost bitcoins forever, so, in 100 years my proposal would delete genesis block.

That would only afect one part of the balance of that address, it will not stay empty, only without the first 50 bitcoins and that 50 bitcoins would go to miners rewards.

Satoshi said that after all 21 millions was produced the miners would earn the transactions commissions, what transaction comissions if now the only solution for bitcoin scaling is the LN ?

So, all the money that stays in the network after people dies and left the bitcoins forever, should be inserted again in circulation to power new miners and nodes, why i should keep mining or keep a bitcoin core node if everyone is using 2nd layer?

Maybe even the best solution is putting less than 100 years, like the people do in the banks, after 7 years the money goes back to the system if the guy dies and nobody could reclaim it.

And even better than everything, i thought about that now, WE WOULD KNOW IF SATOSHI IS STILL ALIVE AND LOOKING OR HE IS REALLY DEAD!
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
November 17, 2018, 06:40:54 AM
#23
My idea is different from prune, i try to only delete genesis block always that i can and estabilish a always a new genesis block.
At same time the chance of could recover address with lost bitcoins and more then 100 years not cashed out.

To really solve full-node really space problems i think maybe this can be better: https://bitcointalksearch.org/topic/bitcoin-scaling-solution-without-lightning-network-5070680
If you're trying to find a "scaling solution", you first have to think about the exact problem you want to solve.

Your solution to simply "delete old blocks" solves primarily the "IBD" (Initial Blockchain Download) problem, i.e. the problem that every full node has to sync to the full blockchain, which costs lots of bandwidth (but isn't a problem at all for nodes that are continuously connected to the network).

That's why I mentioned the Mini-Blockchain project (implemented in a small altcoin called Cryptonite) and UTXO commitments - they solve the exact same issue, but without having to delete transactions (which some see, not without reason, as "stealing"). However, they have other kinds of drawbacks, as I intended to explain.

Your solution also would collide with other scaling proposals, for example, LN and sidechains. For example, a long-running, stable LN channel would run into danger once its channel-opening transaction is near the "deadline". LN implementations would have to re-open the channel in this case, which makes the apps overly complex. The same applies to sidechains: old "burning transactions" that result in "sidechain coins" being created (search for 2-way pegs for an explanation, e.g. here) would be at risk to be "forgotten", too. You could establish special rules for these cases - but again, this results in higher complexity.

However, I encourage you to simply try out the concept, if you're into coding. Fork the Bitcoin code and implement it - that's what altcoins are for, in my opinion Wink If you coin is accepted on the market, then it may become an interesting addition for Bitcoin, too. However, I see only drawbacks with respect to the already proposed solutions (not only LN).

Maybe there is need for a "Scaling solutions" thread, listing LN, sidechains, sharding et al. - so people know what proposals are and the drawbacks of every proposal. In ancient times I created a thread about cryptocurrencies that intend to solve the "scaling" problem, but the scope is slightly different - e.g. it does not cover solutions that are still only concepts and the whole bunch of "2nd layer" proposals from the Bitcoin community.
member
Activity: 264
Merit: 16
November 17, 2018, 04:39:36 AM
#22
What happens to the coinbase transaction in a block that you are going to delete?

If there is no BTC yet in the source and target addresses there is some problem deleting all the block?
legendary
Activity: 4522
Merit: 3426
November 17, 2018, 03:28:45 AM
#21
Regarding the "reclaiming blockchain space" problem, there was a research project some years ago, the "Mini-Blockchain project", which would have allowed Bitcoin to run only with pruned nodes. The proposed solution, however, changes the transaction format into one more similar to Ethereum's (account-based instead of UTXO-based) and doesn't allow complex contracts with Bitcoin Script. It is implemented in some altcoins.

The "UTXO commitment" idea comes into my mind, also. In this solution, the UTXO set is hashed and commited to every block, allowing nodes to go online without having to validate the rest of the blockchain. In theory, this could allow mini-blockchains, too - but I think the challenge would be how to handle orphans/reorgs, so at least some hundreds or thousands of blocks would have to be kept.

For other purposes than the blockchain size issue, reclaiming old coins makes no sense for me, like for the other participants in the discussion.

My idea is different from prune, i try to only delete genesis block always that i can and estabilish a always a new genesis block.
At same time the chance of could recover address with lost bitcoins and more then 100 years not cashed out.

To really solve full-node really space problems i think maybe this can be better: https://bitcointalksearch.org/topic/bitcoin-scaling-solution-without-lightning-network-5070680

What happens to the coinbase transaction in a block that you are going to delete?
member
Activity: 264
Merit: 16
November 17, 2018, 03:17:51 AM
#20
Regarding the "reclaiming blockchain space" problem, there was a research project some years ago, the "Mini-Blockchain project", which would have allowed Bitcoin to run only with pruned nodes. The proposed solution, however, changes the transaction format into one more similar to Ethereum's (account-based instead of UTXO-based) and doesn't allow complex contracts with Bitcoin Script. It is implemented in some altcoins.

The "UTXO commitment" idea comes into my mind, also. In this solution, the UTXO set is hashed and commited to every block, allowing nodes to go online without having to validate the rest of the blockchain. In theory, this could allow mini-blockchains, too - but I think the challenge would be how to handle orphans/reorgs, so at least some hundreds or thousands of blocks would have to be kept.

For other purposes than the blockchain size issue, reclaiming old coins makes no sense for me, like for the other participants in the discussion.

My idea is different from prune, i try to only delete genesis block always that i can and estabilish a always a new genesis block.
At same time the chance of could recover address with lost bitcoins and more then 100 years not cashed out.

To really solve full-node really space problems i think maybe this can be better: https://bitcointalksearch.org/topic/bitcoin-scaling-solution-without-lightning-network-5070680
legendary
Activity: 3906
Merit: 6249
Decentralization Maximalist
November 16, 2018, 06:32:24 PM
#19
Regarding the "reclaiming blockchain space" problem, there was a research project some years ago, the "Mini-Blockchain project", which would have allowed Bitcoin to run only with pruned nodes. The proposed solution, however, changes the transaction format into one more similar to Ethereum's (account-based instead of UTXO-based) and doesn't allow complex contracts with Bitcoin Script. It is implemented in some altcoins.

The "UTXO commitment" idea comes into my mind, also. In this solution, the UTXO set is hashed and commited to every block, allowing nodes to go online without having to validate the rest of the blockchain. In theory, this could allow mini-blockchains, too - but I think the challenge would be how to handle orphans/reorgs, so at least some hundreds or thousands of blocks would have to be kept.

For other purposes than the blockchain size issue, reclaiming old coins makes no sense for me, like for the other participants in the discussion.
legendary
Activity: 3192
Merit: 2248
Top-tier crypto casino and sportsbook
November 16, 2018, 05:51:36 PM
#18
I know 0.00000000000000000001 its possible, but its not pratical and human, im not trying to go back to traditional banking system and i agree with you that USDT its a scam, but if we could turn bitcoin payments more human stopping using a lot of decimal parts why not?

If in the end of the 21 millions we make one airdrop to double the bitcoins of everyone or multiply by 100000000 that dont makes any difference and the bitcoin would look more easily to normal people figure out is value, if you could buy almost exactly the same things with one bitcoin and 1 dolar you will have a better idea of the money you are wasting without doing calculations 0.00001 x $5700 = ?

As mentioned above:

Hence why you got mBTC, uBTC, Satoshis, etc. The question of terminology of fractions of Bitcoin is long solved and a non-issue.

The usage of mBTC (ie. 0.001 BTC) is already fairly common. I think some wallets even default to displaying your balance in mBTC rather than BTC, precisely to get rid of those decimals Smiley

Currently mBTC 1.00,- equals USD 5.43,- which is not much different from calculating foreign fiat currency exchange rates. For smaller amounts you can use uBTC (sometimes called bits) with uBTC 1.00,- currently equaling about half a penny. Then there's sat (satoshis), msat (millisatoshis)... and just like that you get ever smaller, manageable units of account.
member
Activity: 264
Merit: 16
November 16, 2018, 05:24:16 PM
#17
Quote
So i purpose for example 100 years, its a big and round number, after that time the address needs to be cleanned and bitcoins enter again in circulation, how can a project like this dont have solution yet for that ?

I don't see how you can defend this really. In the end, it's just stealing, blatantly.

Quote
So, why Satoshi choose 21 millions and not just 1 as universe and 0.0000000000000000000000001 units?
Bitcoin should be adapted to be a normal integer, there is a lot of advantage in that, try to use floating point data type in a invoice program and you will see how much more memory it will take if that invoice have a lot of products and uses big floating points fields.
There's actually some reasoning behind that.
Quote
Calculate the number of blocks per 4 year cycle:
Code:
6 blocks per hour
* 24 hours per day
* 365 days per year
* 4 years per cycle
= 210,240
~= 210,000
Sum all the block reward sizes:
Code:
50 + 25 + 12.5 + 6.25 + 3.125 + ... = 100
Multiply the two:
Code:
210,000 * 100 = 21 million.
Economically, because the currency is effectively infinitely divisible, then the precise amount doesn't matter, as long as the limit remains fixed.
https://bitcoin.stackexchange.com/questions/8439/why-was-21-million-picked-as-the-number-of-bitcoins-to-be-created

Quote
0.0000000000000000000000001 units?
That's something that's possible, for sure, if needed in the future.

Quote
Maybe the same value as dolar or the media between the dolar/euro/rmb the 3 largest economical blocks, look the success of USDT for example and stable coins in this moment.
You want to peg bitcoin to USD, and give USDT as a glorified example of how it should be? Sorry, but are we still talking about crypto? looks like you want to go back to the traditional banking system?
(Something something trusting a central entity (Bitfinex in this case?)) Which is exactly what bitcoin is trying to avoid...?

imo; USDT is a scam with no inherent value created by a bunch of wash trading operators, waiting to crash with no survivors.


Thanks for explanation about 21 millions.
I know 0.00000000000000000001 its possible, but its not pratical and human, im not trying to go back to traditional banking system and i agree with you that USDT its a scam, but if we could turn bitcoin payments more human stopping using a lot of decimal parts why not?

If in the end of the 21 millions we make one airdrop to double the bitcoins of everyone or multiply by 100000000 that dont makes any difference and the bitcoin would look more easily to normal people figure out is value, if you could buy almost exactly the same things with one bitcoin and 1 dolar you will have a better idea of the money you are wasting without doing calculations 0.00001 x $5700 = ?
legendary
Activity: 1946
Merit: 1427
November 16, 2018, 03:33:55 PM
#16
Quote
So i purpose for example 100 years, its a big and round number, after that time the address needs to be cleanned and bitcoins enter again in circulation, how can a project like this dont have solution yet for that ?

I don't see how you can defend this really. In the end, it's just stealing, blatantly.

Quote
So, why Satoshi choose 21 millions and not just 1 as universe and 0.0000000000000000000000001 units?
Bitcoin should be adapted to be a normal integer, there is a lot of advantage in that, try to use floating point data type in a invoice program and you will see how much more memory it will take if that invoice have a lot of products and uses big floating points fields.
There's actually some reasoning behind that.
Quote
Calculate the number of blocks per 4 year cycle:
Code:
6 blocks per hour
* 24 hours per day
* 365 days per year
* 4 years per cycle
= 210,240
~= 210,000
Sum all the block reward sizes:
Code:
50 + 25 + 12.5 + 6.25 + 3.125 + ... = 100
Multiply the two:
Code:
210,000 * 100 = 21 million.
Economically, because the currency is effectively infinitely divisible, then the precise amount doesn't matter, as long as the limit remains fixed.
https://bitcoin.stackexchange.com/questions/8439/why-was-21-million-picked-as-the-number-of-bitcoins-to-be-created

Quote
0.0000000000000000000000001 units?
That's something that's possible, for sure, if needed in the future.

Quote
Maybe the same value as dolar or the media between the dolar/euro/rmb the 3 largest economical blocks, look the success of USDT for example and stable coins in this moment.
You want to peg bitcoin to USD, and give USDT as a glorified example of how it should be? Sorry, but are we still talking about crypto? looks like you want to go back to the traditional banking system?
(Something something trusting a central entity (Bitfinex in this case?)) Which is exactly what bitcoin is trying to avoid...?

imo; USDT is a scam with no inherent value created by a bunch of wash trading operators, waiting to crash with no survivors.
member
Activity: 264
Merit: 16
November 16, 2018, 01:43:57 PM
#15
The amount of people with bitcoins in pocket is relevant for Metcalfe's Law, if one guy have all the 21 million bitcoins is value is $0.

Sure, but that's not even remotely the argument posted above.

As long as a unit of account is fungible enough to be divided amongst any number of market participants, the unit of account itself doesn't matter. Bitcoin, being digital, is pretty damn fungible.


After 1 million guys died and lost the bitcoins the other guys will not split and share for free.

Neither would the miners reclaiming recycled coins.

Regardless of that, anyone holding a share of the total currency supply wouldn't lose anything. Quite the opposite actually, their share just grew.

Anyone not holding a share of the total currency supply would need to work for it anyway. That's the economic system we currently live in.

The only ones losing shares of the total currency supply are the people that died; and they will hardly care anymore.


Metcalfe's Law says that if you split your bitcoins with all the other guys in the world in the END you will have less bitcoins, but you will have more $, do you see anybody offering bitcoin to the others?

They were called faucets and there used to be a lot of them around.

That being said, Metcalfe's law says nothing about fiat or even cryptocurrencies. It can be applied under the assumption that an increase in utility of a cryptocurrency results in an increase of price in fiat terms. However the utility increase caused by the network effect, as postulated by Metcalfe's law, is unaffected by where you decide to place the decimal point that constitutes a "coin".


As aplistir told, if some guy recover the old address with X BTCs, that would crash the market,

If some guy recovers old coins of his, they are hardly lost coins that are hardly up for grabs, are they?

Either coins are gone and lost forever, in which case they don't affect the utility of a digital currency due to its fungibility.

Or coins are still accessible, in which case they shouldn't be stolen from their rightful owners.


other thing is try to make you excell month expenses with something like this:

Internet: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000005 BTC

Energy: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000001 BTC

Food:
0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000003 BTC

21 millions was just a number to begin, if bitcoin really rules the world that number can and should be changed to normal integer, that will be much more pratical, even to computer calculations, floating point numbers are not as pratical as integer.

Hence why you got mBTC, uBTC, Satoshis, etc. The question of terminology of fractions of Bitcoin is long solved and a non-issue.

"As long as a unit of account is fungible enough to be divided amongst any number of market participants, the unit of account itself doesn't matter. Bitcoin, being digital, is pretty damn fungible."


So, why Satoshi choose 21 millions and not just 1 as universe and 0.0000000000000000000000001 units?
Bitcoin should be adapted to be a normal integer, there is a lot of advantage in that, try to use floating point data type in a invoice program and you will see how much more memory it will take if that invoice have a lot of products and uses big floating points fields.

Maybe the same value as dolar or the media between the dolar/euro/rmb the 3 largest economical blocks, look the success of USDT for example and stable coins in this moment.

"Neither would the miners reclaiming recycled coins."
That recycled coins could be shared and splitted for everybody is mining, seems more fair then simply the guys that have bitcoins get more value without POW.

"They were called faucets and there used to be a lot of them around."
You call faucets a way of spreading Metcalfe's Law dividing the bitcoin by everybody?
Faucets are even more scams than ICOs.

"Anyone not holding a share of the total currency supply would need to work for it anyway. That's the economic system we currently live in.
The only ones losing shares of the total currency supply are the people that died; and they will hardly care anymore."

As i said thats why recycling lost bitcoin make sense, the people should work again for that coins and not get more value without new POW.

"Metcalfe's law says nothing about fiat or even cryptocurrencies."
Metcalfe's Law says everything about the value of networks, fiat money is a network, cryptocoins are networks, internet is a network, social media are networks...
legendary
Activity: 3192
Merit: 2248
Top-tier crypto casino and sportsbook
November 16, 2018, 12:10:40 PM
#14
The amount of people with bitcoins in pocket is relevant for Metcalfe's Law, if one guy have all the 21 million bitcoins is value is $0.

Sure, but that's not even remotely the argument posted above.

As long as a unit of account is fungible enough to be divided amongst any number of market participants, the unit of account itself doesn't matter. Bitcoin, being digital, is pretty damn fungible.


After 1 million guys died and lost the bitcoins the other guys will not split and share for free.

Neither would the miners reclaiming recycled coins.

Regardless of that, anyone holding a share of the total currency supply wouldn't lose anything. Quite the opposite actually, their share just grew.

Anyone not holding a share of the total currency supply would need to work for it anyway. That's the economic system we currently live in.

The only ones losing shares of the total currency supply are the people that died; and they will hardly care anymore.


Metcalfe's Law says that if you split your bitcoins with all the other guys in the world in the END you will have less bitcoins, but you will have more $, do you see anybody offering bitcoin to the others?

They were called faucets and there used to be a lot of them around.

That being said, Metcalfe's law says nothing about fiat or even cryptocurrencies. It can be applied under the assumption that an increase in utility of a cryptocurrency results in an increase of price in fiat terms. However the utility increase caused by the network effect, as postulated by Metcalfe's law, is unaffected by where you decide to place the decimal point that constitutes a "coin".


As aplistir told, if some guy recover the old address with X BTCs, that would crash the market,

If some guy recovers old coins of his, they are hardly lost coins that are hardly up for grabs, are they?

Either coins are gone and lost forever, in which case they don't affect the utility of a digital currency due to its fungibility.

Or coins are still accessible, in which case they shouldn't be stolen from their rightful owners.


other thing is try to make you excell month expenses with something like this:

Internet: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000005 BTC

Energy: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000001 BTC

Food:
0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000003 BTC

21 millions was just a number to begin, if bitcoin really rules the world that number can and should be changed to normal integer, that will be much more pratical, even to computer calculations, floating point numbers are not as pratical as integer.

Hence why you got mBTC, uBTC, Satoshis, etc. The question of terminology of fractions of Bitcoin is long solved and a non-issue.
member
Activity: 264
Merit: 16
November 16, 2018, 11:49:34 AM
#13
--snip--
About deleting old blocks with only address without money there is no difference from a blockchain with more blocks and blockchain with less blocks, the BTC quantity of each address would be the same.

This is in the Satoshis Nakamoto white paper:

"7. Reclaiming Disk Space
Once the latest transaction in a coin is buried under enough blocks, the spent transactions before
it can be discarded to save disk space. To facilitate this without breaking the block's hash,
transactions are hashed in a Merkle Tree [7][2][5], with only the root included in the block's hash.
Old blocks can then be compacted by stubbing off branches of the tree. The interior hashes do
not need to be stored."


This makes sense to me, the coders forgot this and only want to put the car moving even if it dont have breaks !


I can be wrong here, but i think the technical implementation of this point of the whitepaper was implemented by running a pruned node...
However, if ALL nodes would run in pruned mode, it would become impossible for somebody to independantly build a valid utxo set without relying on thirth party nodes that have been running from before everybody started pruning... I think this would be against the decentralisation idear behind bitcoin.

Block x header: version;hash of header of block x-1;merkle root hash;time;nBits;nonce
Block x containing non-coinbase transaction: unspent output A funding address 1 creating unspent output B (transaction 1)

Block x+1 header: version;hash of header of block x;merkle root hash;time;nBits;nonce
Block x+1 containing non-coinbase transaction: unspent output B funding address 2 creating unspent output C (transaction 2)

Block x+2 header: version;hash of header of block x+1;merkle root hash;time;nBits;nonce
Block x+2 containing non-coinbase transaction: unspent output C funding address 3 creating unspent output D (transaction 3)

Now, at this point, you're saying it would be fine if the whole network would be fine if you'd stub off the branch containing transaction 1 and 2 (given that the other potential transaction in the same stub of the merkle tree also has al it's outputs spent in a transaction included in a block at a greater height).
However, if i ever decided to join the network, i'd have to believe the node i'm using to download the blockchain instead of verifying everything myself...

Why?
Because the seed node threw away all information about transaction 1 and 2, so there is no way i can build a merkle tree and see if the merkle hash in block x and x+1 is correct, so i'd have to take the seed's node's word for it... I would just have to believe unspent output C exists without being able to look at the transaction that created unspent output C...

If you're talking about actually throwing away complete blocks, it would become even worse... If you trew away block at height x and x+1, i'd have no way to verify if the hash of block header x+1 was correct, so i'd have to trust the seed node about the header of block x+2 (next to trusting him about the utxo set or the merkle tree's validity).

I dont know how works a pruned node, but if you read what i write there is no possibility of a pruned node fits my purpose, because the genesis block dont contain actually only addresses with 0 BTC or adresses with bitcoins but not moved for about 100 years, so technically in my example the shrinked blockchain or compacted blockchain would be exactly as it is now.

Only possibility of shrinking would be only when the true Satoshi Nakamoto moves is bitcoins from his 1st address ever:

1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa

In this moment he haves: 66.89980986 BTC and if the guy is dead this bitcoins will be trash forever and the value keeps growing because some guys keep sending him bitcoin tips !

So, with my purpose when this address got 100 years without cashing out the block could be deleted forever and that 66 BTC added to miners rewards.
member
Activity: 264
Merit: 16
November 16, 2018, 11:20:07 AM
#12
Of course losting bitcoins is a problem, "centralization", if all people in the world have and use bitcoin the network would have more value, Metcalf Law:

https://en.wikipedia.org/wiki/Metcalfe%27s_law

[...]

In the case of cryptocurrencies the amount of coins in circulations is irrelevant to Metcalfe's law as fractions of coins work just as well. What a cryptocurrency deems a "coin" is essentially just a question of where the decimal point is placed. Eg. if you have a network of 100 people it makes no difference if everyone has one coin each (from a total supply of 100 coins) or everyone has 1/100th of a coin (from a total supply of 1 coin).

The freeing of diskspace that you quoted from the Bitcoin whitepaper is already implemented and available in the form of pruning (as pointed out by mocacinno). The question of whether a blockchain should get rid of historical blocks in general is a wholly different discussion -- and one not slightly answered as seen in the discussion above.

I personally doubt it's a good idea to get completely rid of historical transactions every decade or so. Assuming Bitcoin lives on for generations to come this sort of historical cleansing will likely lead to abuse somewhere done the road. Assuming technology keeps progressing, storing the whole blockchain should remain fairly achievable (as long as blockchain growth is held at sustainable levels).

The amount of people with bitcoins in pocket is relevant for Metcalfe's Law, if one guy have all the 21 million bitcoins is value is $0.
After 1 million guys died and lost the bitcoins the other guys will not split and share for free.

Metcalfe's Law says that if you split your bitcoins with all the other guys in the world in the END you will have less bitcoins, but you will have more $, do you see anybody offering bitcoin to the others?

As aplistir told, if some guy recover the old address with X BTCs, that would crash the market, other thing is try to make you excell month expenses with something like this:

Internet: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000005 BTC

Energy: 0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000001 BTC

Food:
0.00000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000003 BTC

21 millions was just a number to begin, if bitcoin really rules the world that number can and should be changed to normal integer, that will be much more pratical, even to computer calculations, floating point numbers are not as pratical as integer.
member
Activity: 264
Merit: 16
November 16, 2018, 10:49:46 AM
#11

I've discussed this in the past, but my point of view in this matter is very simple: you can't drop any blocks...
As soon as the complete network dropped the first 100 blocks (for example) nobody would ever be able to re-verify the complete blockchain, so you'd have to start trusting other people instead of being able to verify everything yourself...
You wouldn't have to trust other people, if for example the first 500000 blocks would be verified by enough nodes and a SHA512 checksum (or some other way to make a cheksum) of the verified 500000 blocks and the block data would be made available to download from outside the blockchain. Then those blocks can be deleted from the blockchain. All the new blockchain would need is the blockstate of the moment of block 500000 and the cheksum.
It will happen sooner or later. There is no way to avoid it.  

And there is no risk of permanently losing the data in 500000 first blocks, because every service tracking blockchain and origins of bitcoins would certainly want to keep a copy of that info. NSA is one of them.  


As for the OP's question: i agree with odolvlobo, it doesn't matter if people don't give their keys to their heirs... At the moment, the smallest unit is one satoshi (0.00000001 BTC), nothing is stopping the community from implementing even smaller units (for example, one  millisatoshi). The more people lose access to their funds (for example by forgetting or dying), the less BTC will be available, the higher the price will be...
It's perfectly possible to run a complete community whith only 1 BTC in circulation... Ofcourse you'll probably be paying in micro-satoshi instead of mBTC.

It wouldn't really work with just 1 BTC. The reason is that the whole bitcoin market value would flip if someone succeeded in recovering just 10 BTC from his old wallet.
We would suddenly have 10x the previous amount of bitcoins and the value would collapse. Even just the possibility that someone could find more bitcoins would be enough to scare investors away.

But yeah, if there was only 1 BTC and no risk of anyone finding more, then it would work.

Very good point of view!
member
Activity: 264
Merit: 16
November 16, 2018, 10:43:10 AM
#10
Additionally, how do you plan to distributed lost Bitcoin to miners. Simply add it into reward of next block, add n satoshi as mining reward (with upper-limit) until all Bitcoin has been re-distributed or split it equally for x next blocks?

Besides, your idea would increase development complexity and could open more attack-vector while the benefit is too small compared with the risk/work amount.

Maybe time to time the network test if 1st block is a block with addresses only with 0 BTC and address with > 100 years last move, if that is true that block will be deleted and the sum of BTCs of all addresses will be sent to a new address with mining FEE = to that total of BTCs, who mines the next block stays with all the money!
legendary
Activity: 3192
Merit: 2248
Top-tier crypto casino and sportsbook
November 16, 2018, 10:35:34 AM
#9
Of course losting bitcoins is a problem, "centralization", if all people in the world have and use bitcoin the network would have more value, Metcalf Law:

https://en.wikipedia.org/wiki/Metcalfe%27s_law

[...]

In the case of cryptocurrencies the amount of coins in circulations is irrelevant to Metcalfe's law as fractions of coins work just as well. What a cryptocurrency deems a "coin" is essentially just a question of where the decimal point is placed. Eg. if you have a network of 100 people it makes no difference if everyone has one coin each (from a total supply of 100 coins) or everyone has 1/100th of a coin (from a total supply of 1 coin).

The freeing of diskspace that you quoted from the Bitcoin whitepaper is already implemented and available in the form of pruning (as pointed out by mocacinno). The question of whether a blockchain should get rid of historical blocks in general is a wholly different discussion -- and one not slightly answered as seen in the discussion above.

I personally doubt it's a good idea to get completely rid of historical transactions every decade or so. Assuming Bitcoin lives on for generations to come this sort of historical cleansing will likely lead to abuse somewhere done the road. Assuming technology keeps progressing, storing the whole blockchain should remain fairly achievable (as long as blockchain growth is held at sustainable levels).
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
November 16, 2018, 10:16:23 AM
#8

I've discussed this in the past, but my point of view in this matter is very simple: you can't drop any blocks...
As soon as the complete network dropped the first 100 blocks (for example) nobody would ever be able to re-verify the complete blockchain, so you'd have to start trusting other people instead of being able to verify everything yourself...
You wouldn't have to trust other people, if for example the first 500000 blocks would be verified by enough nodes and a sha512 checksum (or some other) of the verified 500000 blocks and the block data would be made available to download from outside the blockchain. Then those blocks can be deleted from the blockchain. All the new blockchain would need is the blockstate of the moment of block 500000 and the cheksum.
It will happen sooner or later. There is no way to avoid it.  

And there is no risk of permanently losing the data in 500000 first blocks, because every service tracking blockchain and origins of bitcoins would certainly want to keep a copy of that info. NSA is one of them.  

--snip--

Well... Actually... In your case, you're trusting the nodes that verified the first 500.000 blocks and created a sha512 checksum...
In my opinion, bitcoin isn't about trust, it's about being able to mathematically verify everything for yourself if you want to... As soon as the data is gone, it's all about trust... It doesn't matter if there are 100000000 nodes that independantly verified the first 500.000 blocks and all of them say the sha512 hash is valid, it's all about being able not to depend on those 100000000 nodes and verify everything myself...

But, i'm not saying EVERYBODY should run a full node either. As long as several independant nodes exist, most people might be fine with running a pruned node or an SPV wallet... I'll be running a full node tough... I'm not the trusting kind.
full member
Activity: 378
Merit: 197
November 16, 2018, 10:12:10 AM
#7

I've discussed this in the past, but my point of view in this matter is very simple: you can't drop any blocks...
As soon as the complete network dropped the first 100 blocks (for example) nobody would ever be able to re-verify the complete blockchain, so you'd have to start trusting other people instead of being able to verify everything yourself...
You wouldn't have to trust other people, if for example the first 500000 blocks would be verified by enough nodes and a SHA512 checksum (or some other way to make a cheksum) of the verified 500000 blocks and the block data would be made available to download from outside the blockchain. Then those blocks can be deleted from the blockchain. All the new blockchain would need is the blockstate of the moment of block 500000 and the cheksum.
It will happen sooner or later. There is no way to avoid it.  

And there is no risk of permanently losing the data in 500000 first blocks, because every service tracking blockchain and origins of bitcoins would certainly want to keep a copy of that info. NSA is one of them.  


As for the OP's question: i agree with odolvlobo, it doesn't matter if people don't give their keys to their heirs... At the moment, the smallest unit is one satoshi (0.00000001 BTC), nothing is stopping the community from implementing even smaller units (for example, one  millisatoshi). The more people lose access to their funds (for example by forgetting or dying), the less BTC will be available, the higher the price will be...
It's perfectly possible to run a complete community whith only 1 BTC in circulation... Ofcourse you'll probably be paying in micro-satoshi instead of mBTC.

It wouldn't really work with just 1 BTC. The reason is that the whole bitcoin market value would flip if someone succeeded in recovering just 10 BTC from his old wallet.
We would suddenly have 10x the previous amount of bitcoins and the value would collapse. Even just the possibility that someone could find more bitcoins would be enough to scare investors away.

But yeah, if there was only 1 BTC and no risk of anyone finding more, then it would work.
legendary
Activity: 3612
Merit: 5297
https://merel.mobi => buy facemasks with BTC/LTC
November 16, 2018, 10:02:11 AM
#6
--snip--
About deleting old blocks with only address without money there is no difference from a blockchain with more blocks and blockchain with less blocks, the BTC quantity of each address would be the same.

This is in the Satoshis Nakamoto white paper:

"7. Reclaiming Disk Space
Once the latest transaction in a coin is buried under enough blocks, the spent transactions before
it can be discarded to save disk space. To facilitate this without breaking the block's hash,
transactions are hashed in a Merkle Tree [7][2][5], with only the root included in the block's hash.
Old blocks can then be compacted by stubbing off branches of the tree. The interior hashes do
not need to be stored."


This makes sense to me, the coders forgot this and only want to put the car moving even if it dont have breaks !


I can be wrong here, but i think the technical implementation of this point of the whitepaper was implemented by running a pruned node...
However, if ALL nodes would run in pruned mode, it would become impossible for somebody to independantly build a valid utxo set without relying on thirth party nodes that have been running from before everybody started pruning... I think this would be against the decentralisation idear behind bitcoin.

Block x header: version;hash of header of block x-1;merkle root hash;time;nBits;nonce
Block x containing non-coinbase transaction: unspent output A funding address 1 creating unspent output B (transaction 1)

Block x+1 header: version;hash of header of block x;merkle root hash;time;nBits;nonce
Block x+1 containing non-coinbase transaction: unspent output B funding address 2 creating unspent output C (transaction 2)

Block x+2 header: version;hash of header of block x+1;merkle root hash;time;nBits;nonce
Block x+2 containing non-coinbase transaction: unspent output C funding address 3 creating unspent output D (transaction 3)

Now, at this point, you're saying it would be fine if the whole network would be fine if you'd stub off the branch containing transaction 1 and 2 (given that the other potential transaction in the same stub of the merkle tree also has al it's outputs spent in a transaction included in a block at a greater height).
However, if i ever decided to join the network, i'd have to believe the node i'm using to download the blockchain instead of verifying everything myself...

Why?
Because the seed node threw away all information about transaction 1 and 2, so there is no way i can build a merkle tree and see if the merkle hash in block x and x+1 is correct, so i'd have to take the seed's node's word for it... I would just have to believe unspent output C exists without being able to look at the transaction that created unspent output C...

If you're talking about actually throwing away complete blocks, it would become even worse... If you trew away block at height x and x+1, i'd have no way to verify if the hash of block header x+1 was correct, so i'd have to trust the seed node about the header of block x+2 (next to trusting him about the utxo set or the merkle tree's validity).
Pages:
Jump to: