Title: please delete Post by: SapphireSpire on February 12, 2021, 08:54:09 PM nothing to see
Title: Re: Expiration Times Post by: DannyHamilton on February 13, 2021, 12:13:30 AM It looks to me like the validity of a transaction depends less on it's history and more on the Merkle root that is generated from it and all of the other transactions in the same block. Once all the transactions of a block are spent, it's no longer necessary to reproduce the Merkle root from tx data in order to validate the block. I should be able to delete the tx data and keep only the block header. This would greatly reduce the size of the blockchain while still allowing me to operate as a full node. The problem then is the accumulation of lost coins, i.e. unspent transaction outputs that can never be spent because of lost keys. That and the increase in block size means most blocks can never be pruned this way because they will always have a few lost coins. How do we recover lost coins? If unspent transaction outputs had expiration times, say a certain number of blocks, miners could claim them after they expire. But this would apply to both lost coins and old coins which means users could lose their coins if they don't spend them before they expire, making it risky to store them offline as with paper wallets. It is possible to spend your coins back to yourself which would only move them to a new block and reset the expiration time. Why is it that every few months someone comes along saying that the one thing that would make Bitcoin even better would be if Miners could steal people's money without their permission? Bitcoin Core already has a pruning mode if you want to reduce the size of the blockchain on your computer. Title: Re: Expiration Times Post by: DannyHamilton on February 13, 2021, 03:04:08 AM Why is it that every few months someone comes along saying that the one thing that would make Bitcoin even better would be if Miners could steal people's money without their permission? It's not theft to claim coins that don't belong to anyone.Except that you don't know if they belong to someone or not. Therefore, it is theft. Bitcoin Core already has a pruning mode if you want to reduce the size of the blockchain on your computer. It's not the same.It seems that you are complaining about the UTXO size, not the blockchain size. It is true that it is necessary to keep track of the full list of UTXO in order for a full node to validate new transactions that spend anything from the UTXO. Stealing from those that are choosing not to spend their bitcoins is not a good solution to a growing UTXO list. Title: Re: Expiration Times Post by: RapTarX on February 13, 2021, 04:39:07 AM What will be the definition of lost coin?
Say I have 1 BTC stored in Paper wallet which I didn't touch for the last 5 years. If your theory apply to old coins too, will bitcoin be anymore same as store of value; unlikely. Apart from that, I may have lost my written private key in 2013 but I can find the key in 2021. Very possible. Later on, when you got your private key and imported it in a wallet & discover your funds are not there; wouldn't you think that someone has stolen? Therefore, it's STEALING, exactly what DannyHamilton said above. Title: Re: Expiration Times Post by: ranochigo on February 13, 2021, 05:48:16 AM If it's expired, it doesn't belong to anyone. Everyone will know there's an expiration time, it won't be a secret. Even wallet apps will display the expire time so if anyone fails to spend their coins before the expire time, if only back to themselves, they forfeit their coins. Won't work. No one should be able to recycle or outright steal the coins from anyone else. Recycling coins does nothing and is very unethical. Certain coins are also deliberately burned or sent to coins with the intention of keeping them for long term storage. By having users make transactions solely for the purpose of moving the coins, you'll actually be introducing way more UTXO or Blockchain bloat. There would be an additional transaction volume on top of the current already limited transaction space.This is about the blockchain size, utxo size has never been an issue. And I'm not complaining, I'm present a solution to the problem. One that may bum out hodlers but falls right in line with the original idea that Bitcoin should be a medium of exchange or currency. A currency is supposed to move- use it or lose it. Then you're barking at the wrong tree. Removing UTXOs doesn't help with the blockchain size. By deleting blocks, you're creating checkpoints where people cannot validate themselves. Current implementations starts from the hash of genesis blocks and build onwards, removing it periodically would be arguably less secure and result in the loss of transaction information from the past. The full list of utxo but not the entire blockchain. Not necessary for individual nodes. It is necessary for at least some nodes to be able to keep the historical data of the blockchain for everyone to be able to see the transaction history. If you want to validate the entire blockchain from the genesis block and not just trust someone on a block hash at some arbitrary height, then you will need the entire blockchain as well.Title: Re: Expiration Times Post by: DannyHamilton on February 13, 2021, 05:53:41 AM If it's expired, it doesn't belong to anyone. Everyone will know there's an expiration time, it won't be a secret. Even wallet apps will display the expire time so if anyone fails to spend their coins before the expire time, if only back to themselves, they forfeit their coins. There's no way to know for certain that EVERY person that has EVER received ANY bitcoin at all knows about your new expiration scheme. What about someone in jail? What about someone in a coma? What about someone that bought some bitcoin in 2011, set it aside in a paper wallet in their will for their heirs, and then never bothered to pay attention to it again? It's never going to happen. FAR too many people agree with my stance on this. This conversation has come up over, and over, and over. I can assure you that most of the current development team agrees with my stance on this that taking someone's Bitcoin without their express permission is stealing. Accomplishing your suggestion would require ALL users (merchants, miners, consumers, "hodlers", speculators, etc) to ALL accept the new "steal-a-coin" changes otherwise, the blockchain would split and you'd have those of us that continue to use the "original" Bitcoin, and those of you that would use the forked "steal-a-coin". Feel free to go create your own "steal-a-coin" altcoin if you like, but please don't waste your time trying to call it "Bitcoin". We'll all know which is the real "Bitcoin" and yours will just go the way of all the other altcoins. Title: Re: Expiration Times Post by: DannyHamilton on February 13, 2021, 06:08:41 AM What will be the definition of lost coin? The Bitcoin white paper defines a coin as a chain of transactions. When a block expires, all of the coins in it are destroyed.So, Imagine that 50 new bitcoins are created in the coinbase transaction (Transaction A) of Block A, assigned to Address A. In Block B, those 50 coins are spent in Transaction B and sent to Address B. Some time goes by, and Block A "expires" and the coins created in Transaction A are "destroyed" and Block A is purged from all full nodes. It is no longer possible to trace the coins in Address B back to their source. The "chain of transactions" has been broken. If you destroy the "chain" then you destroy the "coin", meaning that the "coins" in Address B are no longer valid, even though their block hasn't been "expired" yet, because they no longer have a valid "chain". How can we tell that transaction B is valid? How can we tell that Block B is valid? How do we know that transaction A was a coinbase transaction and had 50 coins to spend (since it's expired and purged)? If someone provides an alternate Block B with 100 coins being spent in Transaction B and sent to Address B, how can we determine which of the two competing Block B is the "real" one? Not that the answers to any of those questions really matter for Bitcoin, because, as I said, it isn't going to happen. However, just in case you decided to create your "steal-a-coin" altcoin, I'm curious how you'll solve this issue? |