theymos

Legendary



Offline



Activity: 3892

Merit: 7920







AdministratorLegendaryActivity: 3892Merit: 7920 Bitcoin design contract December 17, 2012, 04:10:04 AM #1 Quote from: satoshi The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime.

What exactly is the "core design", though? Can apparently-lost coins expire at some point? Can they be "recycled". Can the subsidy algorithm change as long as there are always fewer than 21 million bitcoins? If precision is increased, should this also increase the BTC limit slightly to be consistent with the current right-shift-based subsidy code? Etc.



To make this stuff clear, I think that an explicit "Bitcoin contract" should be written and included in all Bitcoin clients which says exactly what properties are guaranteed by the Bitcoin network. For example, there should certainly be no more than 21 million bitcoins in existence at any one time. If anyone tries to change these guaranteed properties (via a BIP, for example), it will be easy to point to the Bitcoin contract and say that any network with the proposed changes would not be Bitcoin.



One example of where this would be especially useful: It is likely that at some point ECDSA will be weakened and everyone will need to send their BTC to different addresses that use different signing algorithms. However, lost coins will not be moved, and when ECDSA is finally broken, these lost coins will be spent by random people. This will increase supply a lot, perhaps more than should be allowed. Perhaps old coins should be "expired" before this can happen. But does expiring coins violate the Bitcoin core design? A contract should exist to solve conflicts of this kind. What exactly is the "core design", though? Can apparently-lost coins expire at some point? Can they be "recycled". Can the subsidy algorithm change as long as there are always fewer than 21 million bitcoins? If precision is increased, should this also increase the BTC limit slightly to be consistent with the current right-shift-based subsidy code? Etc.To make this stuff clear, I think that an explicit "Bitcoin contract" should be written and included in all Bitcoin clients which says exactly what properties areby the Bitcoin network. For example, there should certainly be no more than 21 million bitcoins in existence at any one time. If anyone tries to change these guaranteed properties (via a BIP, for example), it will be easy to point to the Bitcoin contract and say that any network with the proposed changes would not be Bitcoin.One example of where this would be especially useful: It is likely that at some point ECDSA will be weakened and everyone will need to send their BTC to different addresses that use different signing algorithms. However, lost coins will not be moved, and when ECDSA is finally broken, these lost coins will be spent by random people. This will increase supply a lot, perhaps more than should be allowed. Perhaps old coins should be "expired" before this can happen. But does expiring coins violate the Bitcoin core design? A contract should exist to solve conflicts of this kind. 1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD

It is a common myth that Bitcoin is ruled by a majority of miners. This is not true. Bitcoin miners "vote" on the ordering of transactions, but that's all they do. They can't vote to change the network rules. Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertised sites are not endorsedby the Bitcoin Forum. They may be unsafe, untrustworthy, or illegalin your jurisdiction. Advertise here.

Foxpup



Online



Activity: 3052

Merit: 2021





Vile Vixen







LegendaryActivity: 3052Merit: 2021Vile Vixen Re: Bitcoin design contract December 17, 2012, 05:49:01 AM #2 Quote from: theymos on December 17, 2012, 04:10:04 AM What exactly is the "core design", though?

The core design is anything that doesn't involve a hard-fork. So...



Quote from: theymos on December 17, 2012, 04:10:04 AM Can apparently-lost coins expire at some point? Can they be "recycled". Can the subsidy algorithm change as long as there are always fewer than 21 million bitcoins? If precision is increased, should this also increase the BTC limit slightly to be consistent with the current right-shift-based subsidy code? Etc.

No, no, no, and yes if it ever happens.



Quote from: theymos on December 17, 2012, 04:10:04 AM To make this stuff clear, I think that an explicit "Bitcoin contract" should be written and included in all Bitcoin clients which says exactly what properties are guaranteed by the Bitcoin network. For example, there should certainly be no more than 21 million bitcoins in existence at any one time. If anyone tries to change these guaranteed properties (via a BIP, for example), it will be easy to point to the Bitcoin contract and say that any network with the proposed changes would not be Bitcoin.

If it'll shut up the people who keep complaining about lost coins, I'm all for it.



Quote from: theymos on December 17, 2012, 04:10:04 AM One example of where this would be especially useful: It is likely that at some point ECDSA will be weakened and everyone will need to send their BTC to different addresses that use different signing algorithms. However, lost coins will not be moved, and when ECDSA is finally broken, these lost coins will be spent by random people. This will increase supply a lot, perhaps more than should be allowed. Perhaps old coins should be "expired" before this can happen. But does expiring coins violate the Bitcoin core design? A contract should exist to solve conflicts of this kind.

It won't increase the supply any more than the original limit, and in any case, most proposals for "expiring" old coins involve sending them to miners, ie, randomly distributing them according to computer power, which is exactly what will happen if ECDSA is ever broken. Remember, a lot of people will still be (unwisely) using old versions of Bitcoin long after ECDSA is broken (and it won't go from "completely safe" to "any key can be cracked in less than day" overnight, either), and it wouldn't be fair to effectively say to them "Hackers might steal your coins in the future, so we've arbitrarily decided to save them the trouble and steal them now." The core design is anything that doesn't involve a hard-fork. So...No, no, no, and yes if it ever happens.If it'll shut up the people who keep complaining about lost coins, I'm all for it.It won't increase the supply any more than the original limit, and in any case, most proposals for "expiring" old coins involve sending them to miners, ie, randomly distributing them according to computer power, which is exactly what will happen if ECDSA is ever broken. Remember, a lot of people will still be (unwisely) using old versions of Bitcoin long after ECDSA is broken (and it won't go from "completely safe" to "any key can be cracked in less than day" overnight, either), and it wouldn't be fair to effectively say to them "Hackers might steal your coins in the future, so we've arbitrarily decided to save them the trouble and steal them now."

I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions! Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4

Revalin



Offline



Activity: 728

Merit: 500





165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g







Hero MemberActivity: 728Merit: 500165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g Re: Bitcoin design contract December 17, 2012, 09:09:58 AM #3 Quote from: Foxpup on December 17, 2012, 05:49:01 AM most proposals for "expiring" old coins involve sending them to miners

Personally I'd like to see them simply destroyed. If coins go up in value a large amount then someone's old 10KBTC wallet they abandoned when it was enough to buy a pizza will suddenly come on the market, along with hundreds of others, whenever the first expiration date comes up. It might also create weird distortions in hashrate. Overall it's bad from a market perspective.



Simply destroying them will reestablish the number of coins that are still in circulation; overall I consider that a good thing.



It'll have to wait for an alt coin though since it's unlikely to happen in BTC. Personally I'd like to see them simply destroyed. If coins go up in value a large amount then someone's old 10KBTC wallet they abandoned when it was enough to buy a pizza will suddenly come on the market, along with hundreds of others, whenever the first expiration date comes up. It might also create weird distortions in hashrate. Overall it's bad from a market perspective.Simply destroying them will reestablish the number of coins that are still in circulation; overall I consider that a good thing.It'll have to wait for an alt coin though since it's unlikely to happen in BTC. War is God's way of teaching Americans geography. --Ambrose Bierce

Bitcoin is the Devil's way of teaching geeks economics. --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g

hazek



Offline



Activity: 1078

Merit: 1001







LegendaryActivity: 1078Merit: 1001 Re: Bitcoin design contract December 17, 2012, 03:12:33 PM #7 Quote from: Tuxavant on December 17, 2012, 01:43:48 PM The contract is the code. If people vote to include a major change, then they can vote to change a contract.



While this is true and a change of this contract with consent of a part of the network can't be stopped just like a part of the network can't be stopped from not changing it, it's still computer code that not everyone can read.



How I understand theymos' suggestion is to translate the contract contained in the code into a more simple, human language that anyone can understand and I fully support it.



If it were up to me, this could be displayed under Help -> About, and the same contract could also be displayed on bitcoin.org and in any other clients the code of represents the same contract. While this is true and a change of this contract with consent of a part of the network can't be stopped just like a part of the network can't be stopped from not changing it, it's still computer code that not everyone can read.How I understand theymos' suggestion is to translate the contract contained in the code into a more simple, human language that anyone can understand and I fully support it.If it were up to me, this could be displayed under Help -> About, and the same contract could also be displayed on bitcoin.org and in any other clients the code of represents the same contract. My personality type: INTJ - please forgive my weaknesses (Not naturally in tune with others feelings; may be insensitive at times, tend to respond to conflict with logic and reason, tend to believe I'm always right)



If however you enjoyed my post: 15j781DjuJeVsZgYbDVt2NZsGrWKRWFHpp

DeathAndTaxes

Legendary



Offline



Activity: 1218

Merit: 1007





Gerald Davis







DonatorLegendaryActivity: 1218Merit: 1007Gerald Davis Re: Bitcoin design contract December 17, 2012, 04:03:20 PM #10 Quote from: theymos on December 17, 2012, 04:10:04 AM One example of where this would be especially useful: It is likely that at some point ECDSA will be weakened and everyone will need to send their BTC to different addresses that use different signing algorithms. However, lost coins will not be moved, and when ECDSA is finally broken, these lost coins will be spent by random people. This will increase supply a lot, perhaps more than should be allowed. Perhaps old coins should be "expired" before this can happen. But does expiring coins violate the Bitcoin core design? A contract should exist to solve conflicts of this kind.



I don't think they should. "Expired" coins in any form violate the understanding of irreversible transactions. It is a major selling point to say Bitcoin is irreversible. Once you start clouding that up it becomes Bitcoins is "pretty much" irreversible (which means it is kinda like ACH in that most people think it is irreversible but in reality it can be reversed to your destriment.



Proactively stealing wealth because it is in an "insecure" address is still stealing. If ECDSA is weakened history would indicate there will be significant time to transistion coins to new address types which are more secure. Most people will transistion their coins. Some won't due to negligence and some won't because the coins are truly loss. Eventually those coins will be "stolen" much like "lost" Gold from a shipwreck at the bottom of the ocean is recovered.



The protocol should never try to "protect people" by confiscating their wealth. That would be a deathblow for Bitcoin. The state already does a pretty good job of protection via confiscation I don't think Bitcoin can really compete in that arena. I don't think they should. "Expired" coins in any form violate the understanding of irreversible transactions. It is a major selling point to say Bitcoin is irreversible. Once you start clouding that up it becomes Bitcoins is "pretty much" irreversible (which means it is kinda like ACH in that most people think it is irreversible but in reality it can be reversed to your destriment.Proactively stealing wealth because it is in an "insecure" address is still stealing. If ECDSA is weakened history would indicate there will be significant time to transistion coins to new address types which are more secure. Most people will transistion their coins. Some won't due to negligence and some won't because the coins are truly loss. Eventually those coins will be "stolen" much like "lost" Gold from a shipwreck at the bottom of the ocean is recovered.The protocol should never try to "protect people" by confiscating their wealth. That would be a deathblow for Bitcoin. The state already does a pretty good job of protection via confiscation I don't think Bitcoin can really compete in that arena.

DeathAndTaxes

Legendary



Offline



Activity: 1218

Merit: 1007





Gerald Davis







DonatorLegendaryActivity: 1218Merit: 1007Gerald Davis Re: Bitcoin design contract December 17, 2012, 04:05:23 PM #11 Quote from: Meni Rosenfeld on December 17, 2012, 04:01:47 PM Quote from: mc_lovin on December 17, 2012, 03:44:33 PM you guys feeling loopy? recycle expiring coins? so no one is allowed to hoard then since dormant coins are being recycled? everyone gets a bitcoin for christmas or something?

Not sure who you are talking to, but theymos and I suggested the opposite, deleting expiring coins; and only when the alternative is that they will be commandeered by whoever breaks the signature algorithm.

Not sure who you are talking to, but theymos and I suggested the opposite, deleting expiring coins; and only when the alternative is that they will be commandeered by whoever breaks the signature algorithm.

Then Bitcoin is reversible if/when the elites decide a person isn't being secure enough. Hardly p2p, hardly commerce without a trusted third party. They day that happens is the day I am done with Bitcoin. The social contract (written or otherwise) has been broken. It would be like governments (still on gold standard) outlawing the recovery of gold from shipwrecks and then pretending the price of Gold is set by market prices. Then Bitcoin is reversible if/when the elites decide a person isn't being secure enough. Hardly p2p, hardly commerce without a trusted third party. They day that happens is the day I am done with Bitcoin. The social contract (written or otherwise) has been broken. It would be like governments (still on gold standard) outlawing the recovery of gold from shipwrecks and then pretending the price of Gold is set by market prices.

theymos

Legendary



Offline



Activity: 3892

Merit: 7920







AdministratorLegendaryActivity: 3892Merit: 7920 Re: Bitcoin design contract December 17, 2012, 04:40:10 PM #14 Quote from: DeathAndTaxes on December 17, 2012, 04:05:23 PM Then Bitcoin is reversible if/when the elites decide a person isn't being secure enough.



It wouldn't be reversible. The money just becomes unspendable. I don't advocate recycling the lost coins.



If 500 tons of gold were lost at the bottom of the ocean for many years and the loss of this gold therefore gets factored into the gold price, I think that gold would be a better currency if the lost gold is never found because the price would then be more stable. No one is hurt if the gold isn't found because it's already lost. Preventing obviously-lost money from being found isn't possible with gold, but it is possible (backward-compatible, even) with Bitcoin.



Quote from: DeathAndTaxes on December 17, 2012, 04:05:23 PM They day that happens is the day I am done with Bitcoin. The social contract (written or otherwise) has been broken.



Your view on what the "social contract" guarantees is different than the views of me, gmaxwell, and Meni. This conflict of opinions is exactly why an explicit contract is needed: to resolve conflicts of this sort and to inform Bitcoin users about exactly which guarantees "the Bitcoin network" will always provide.



Quote from: hazek on December 17, 2012, 03:12:33 PM How I understand theymos' suggestion is to translate the contract contained in the code into a more simple, human language that anyone can understand and I fully support it.\



This is part of it, though I also want to specify which major changes are "allowed" to the core Bitcoin design in the future. Obviously this contract can't be enforced by the network, but it would be useful to write it down to make sure that all developers and users are on the same page. It wouldn't be. The money just becomes unspendable. I don't advocate recycling the lost coins.If 500 tons of gold were lost at the bottom of the ocean for many years and the loss of this gold therefore gets factored into the gold price, I think that gold would be a better currency if the lost gold is never found because the price would then be more stable. No one is hurt if the gold isn't found because it's already lost. Preventing obviously-lost money from being found isn't possible with gold, but it is possible (backward-compatible, even) with Bitcoin.Your view on what the "social contract" guarantees is different than the views of me, gmaxwell, and Meni. This conflict of opinions is exactly why an explicit contract is needed: to resolve conflicts of this sort and to inform Bitcoin users about exactly which guarantees "the Bitcoin network" will always provide.This is part of it, though I also want to specify which major changes are "allowed" to the core Bitcoin design in the future. Obviously this contract can't be enforced by the network, but it would be useful to write it down to make sure that all developers and users are on the same page. 1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD

smickles



Offline



Activity: 446

Merit: 250









Sr. MemberActivity: 446Merit: 250 Re: Bitcoin design contract December 17, 2012, 04:52:57 PM #16 I don't understand why this keeps coming up, the issue of destroying or recycling old coins that is. But if it even seems like this is going to happen. I will stop using Bitcoin. And I suspect that I am not the only one in this category.



I have bitcoins stored in such a way that their private key has never been on a harddrive and they are stored in a way that was designed to be passed down from one generation to another. Destroying coins is destroying these.



I have a sort of "retirement" cold storage key (also, not ever having been on a harddrive, but stored in another way). Destroying coins on a timescale of anything less than a lifetime makes it more difficult and less secure to handle these coins.



Please don't destroy old coins. Please don't recycle old coins.



Please stop bringing up the topic. GPG | WoT

Rudd-O



Offline



Activity: 56

Merit: 0









NewbieActivity: 56Merit: 0 Re: Bitcoin design contract December 17, 2012, 05:23:23 PM #18 People wanna steal old money?



Keynesians in my Bitcoin? YOUDONTSAY_NICCAGE.JPG!



Statists gonna state, I guess.



As I said in the other thread: the beauty of Bitcoin is that no one is forced to use it. If you want to invent a Bitcoin competitor where people can steal other people's money under the pretense that it is about 'recovering lost coins' or 'improving the economy', you can. See how well it does against real Bitcoin. But changing the existing Bitcoin to suit your political opinions? Ha, good luck.