Author

Topic: please delete (Read 187 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
February 13, 2021, 07:01:43 AM
#11
Aside from what other member said, the distribution isn't fair because each address/UTXO have different amount where miner could be very lucky if the address/UTXO have big amount of coin (e.g. Satoshi's Bitcoin).

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

Just wondering, how long the duration before expiration date? 1 year? 5 year? 10 years? 100 years?

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.
The full list of utxo but not the entire blockchain.

What you're looking for is UTXO commitment.
jr. member
Activity: 49
Merit: 38
February 13, 2021, 01:06:09 PM
#11
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".

1. How can we tell that transaction B is valid?
2. How can we tell that Block B is valid?
3. How do we know that transaction A was a coinbase transaction and had 50 coins to spend (since it's expired and purged)?
4. 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?

1. Tx B is validated by it's Merkle root. That's why we can't prune txs individually.
2. Block B is validated by it's block hash and it's position behind block C, and D, and E ...
3. We don't know and we don't need to know. All we need to know that miners confirmed that tx B spent tx A when block B was mined.
4. If block A is the only block, it can't expire before block B is mined so tx A will be their for miners to identify and confirm the real tx B.

The way Bitcoin works is:
1. The hashrate protects the blockchain.
2. The blockchain protects the ordering of the blocks.
3. The block hashes protect the Merkle roots.
4. The Merkle roots protect the txs.
5. The pubkeys protect the owners.
jr. member
Activity: 49
Merit: 38
February 13, 2021, 12:57:50 AM
#9
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. The miner resurrects those lost coins in the coinbase tx of a new block and the old coins are discarded from the blockchain, saving space.

When you lose your coins you forfeit ownership of them. So if you find them and discover the coins have expired, you can't claim they were stolen from you.
legendary
Activity: 3472
Merit: 4801
February 13, 2021, 01:08:41 AM
#7
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?
legendary
Activity: 3472
Merit: 4801
February 13, 2021, 12:53:41 AM
#6
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.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
February 13, 2021, 12:48:16 AM
#5
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.
hero member
Activity: 1358
Merit: 851
February 12, 2021, 11:39:07 PM
#4
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.
legendary
Activity: 3472
Merit: 4801
February 12, 2021, 10:04:08 PM
#3
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.
legendary
Activity: 3472
Merit: 4801
February 12, 2021, 07:13:30 PM
#2
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.
jr. member
Activity: 49
Merit: 38
February 12, 2021, 03:54:09 PM
#1
nothing to  see
Jump to: