Bitcoin Forum
April 24, 2014, 11:01:37 AM *
News: Due to the OpenSSL heartbleed bug, changing your forum password is recommended.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 3  All
  Print  
Author Topic: Bitcoin design contract  (Read 3129 times)
theymos
Administrator
Hero Member
*
expert
Offline Offline

Activity: 1540


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

Unbeatable Service & Product Support
Grab Your Miners at GAWMiners.com
Order Before April 25th to receive
Double your Hashing Power for 1 week!

Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1398337297
Hero Member
*
Offline Offline

Posts: 1398337297

View Profile Personal Message (Offline)

Ignore
1398337297
Reply with quote  #2

1398337297
Report to moderator
1398337297
Hero Member
*
Offline Offline

Posts: 1398337297

View Profile Personal Message (Offline)

Ignore
1398337297
Reply with quote  #2

1398337297
Report to moderator
Foxpup
Hero Member
*****
Offline Offline

Activity: 756



View Profile

Ignore
December 17, 2012, 05:49:01 AM
 #2

What exactly is the "core design", though?
The core design is anything that doesn't involve a hard-fork. So...

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.

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.

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

Will pretend to do unverifiable things (while actually eating an enchilada-style burrito) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4
Revalin
Hero Member
*****
Offline Offline

Activity: 700


165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g


View Profile

Ignore
December 17, 2012, 09:09:58 AM
 #3

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.

      War is God's way of teaching Americans geography.  --Ambrose Bierce
Bitcoin is the Devil's way of teaching geeks economics.  --Revalin 165YUuQUWhBz3d27iXKxRiazQnjEtJNG9g
Meni Rosenfeld
Donator
Hero Member
*
expert
Offline Offline

Activity: 1162



View Profile WWW

Ignore
December 17, 2012, 10:49:52 AM
 #4

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've been thinking about this for a while, and have recently commented about it here, completely oblivious to this post of yours. Talk about coincidence.

For example, there should certainly be no more than 21 million bitcoins in existence at any one time.
In this context it should be clarified what a "bitcoin" is. A "split" where all bitcoin balances are multiplied by 1000 (so there are now 21B coins; technically, it just means the word "bitcoin" is now used to denote 100,000 satoshis) is not against the core design and can be considered (not saying it's a good idea).

What exactly is the "core design", though?
The core design is anything that doesn't involve a hard-fork. So...
No, some hard forks are not against the core design and will be necessary eventually. e.g., fixing the difficulty adjustment off-by-one bug, or a new hash function (and/or protocol for including different hash functions) when SHA256 is sufficiently weakened.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
theymos
Administrator
Hero Member
*
expert
Offline Offline

Activity: 1540


View Profile
December 17, 2012, 01:24:40 PM
 #5

The core design is anything that doesn't involve a hard-fork. So...
yes if it ever happens.

Increasing precision or adjusting the subsidy rules at all are certainly hard-fork changes...

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.

Redistributing lost coins in any way doesn't affect the overall money supply, but it would greatly increase the supply in circulation. The fact that lost coins are lost forever is maybe something that should be a guarantee of the system (where possible). If lost coins can eventually be spent through either weak crypto or intentional changes, this should at least be explicitly stated so that people don't rely on lost coins being lost when making long-term predictions.

I've been thinking about this for a while, and have recently commented about it here, completely oblivious to this post of yours. Talk about coincidence.

Wow, that is a strange coincidence!

In this context it should be clarified what a "bitcoin" is. A "split" where all bitcoin balances are multiplied by 1000 (so there are now 21B coins; technically, it just means the word "bitcoin" is now used to denote 100,000 satoshis) is not against the core design and can be considered (not saying it's a good idea).

Agreed.

Tuxavant
Hero Member
*****
Offline Offline

Activity: 728


Bitcoin Mayor of Las Vegas


View Profile WWW

Ignore
December 17, 2012, 01:43:48 PM
 #6

The contract is the code. If people vote to include a major change, then they can vote to change a contract.

Let bitcoin evolve. If a meatspace authority steps in and demands a change, let them, and we will fork. Be water, my friend.

Generation Bitcoin | G+ | FB | Bitcoins In Vegas | CoinBus.com | TOR Exit Operator 1MVTPATVCKBMfALRHJsXpHfKJu7GyL7nAc
hazek
Staff
Hero Member
*****
Offline Offline

Activity: 980



View Profile

Ignore
December 17, 2012, 03:12:33 PM
 #7

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.

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
mc_lovin
Hero Member
*****
Offline Offline

Activity: 938


www.bitcointrading.com


View Profile WWW

Ignore
December 17, 2012, 03:44:33 PM
 #8

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?

Meni Rosenfeld
Donator
Hero Member
*
expert
Offline Offline

Activity: 1162



View Profile WWW

Ignore
December 17, 2012, 04:01:47 PM
 #9

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.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
DeathAndTaxes
Donator
Hero Member
*
Offline Offline

Activity: 966



View Profile WWW

Ignore
December 17, 2012, 04:03:20 PM
 #10

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.

Gerald Davis  CEO, Tangible Cryptography Inc.
BitSimple. A simpler way to buy and sell bitcoins
DeathAndTaxes
Donator
Hero Member
*
Offline Offline

Activity: 966



View Profile WWW

Ignore
December 17, 2012, 04:05:23 PM
 #11

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.

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. 

Gerald Davis  CEO, Tangible Cryptography Inc.
BitSimple. A simpler way to buy and sell bitcoins
MPOE-PR
Hero Member
*****
Offline Offline

Activity: 756



View Profile

Ignore
December 17, 2012, 04:34:42 PM
 #12

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.

"Comandeering their signature" and mining them are exactly equally legitimate ways of obtaining BTC. Also, I don't understand why are you still polluting Bitcoin with your dimwitted presence. Don't you have some banal crap to repackage into a pdf or some nonsense "vanity" threads to make or somesuch?

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. 

Amusingly, recovery of gold from shipwrecks is forbidden in the sense that it must be given up to the Admiralty.

As to the OP: fundamentally bad idea, as it simply adds a weakness to be exploited / attack vector for no benefit. It is in fact borne of the same root as the TSA etc. Fortunately it is also impracticable, in the sense that nobody has the authority to do this (specifically, the current dev team certainly does not, if that's who you were thinking of).

My Credentials  | THE BTC Stock Exchange | I have my very own anthology! | Use bitcointa.lk, it's like this one but better.
Pieter Wuille
Hero Member
*****
qt
Offline Offline

Activity: 938


View Profile WWW

Ignore
December 17, 2012, 04:38:56 PM
 #13

What exactly is the "core design", though?
The core design is anything that doesn't involve a hard-fork. So...

Here are some examples of things are not possible without a hard fork:
  • Increasing the block size limit
  • Increasing the precision
  • Having a non-zero subsidy after block 6930000
  • Allowing miners to collect coins that are over a certain age

Here are some things that are possible without a hard fork (but with miner consensus):
  • Require a 10% fee on every transaction
  • Introduce a new scripting language or cryptographic primitive
  • Limit the subsidy (including fees) to 1 BTC, forever.

Judge for yourself.

aka sipa, core dev team

Tips and donations: 1KwDYMJMS4xq3ZEWYfdBRwYG2fHwhZsipa
theymos
Administrator
Hero Member
*
expert
Offline Offline

Activity: 1540


View Profile
December 17, 2012, 04:40:10 PM
 #14

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.

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.

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.

Meni Rosenfeld
Donator
Hero Member
*
expert
Offline Offline

Activity: 1162



View Profile WWW

Ignore
December 17, 2012, 04:43:41 PM
 #15

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.
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. 
It's not to protect the owners. It's to prevent the economy from being shaken when someone breaks ECDSA and wins all the lost coins.

Also, I don't understand why are you still polluting Bitcoin with your dimwitted presence. Don't you have some banal crap to repackage into a pdf or some nonsense "vanity" threads to make or somesuch?
Oh, I'm nowhere near finished. My next pdf will be about ad hominem attacks and the probability of protecting against them with the use of the ignore button.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
smickles
Sr. Member
****
Offline Offline

Activity: 446



View Profile WWW

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

mc_lovin
Hero Member
*****
Offline Offline

Activity: 938


www.bitcointrading.com


View Profile WWW

Ignore
December 17, 2012, 05:12:31 PM
 #17

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.

+1

Rudd-O
Jr. Member
*
Offline Offline

Activity: 56



View Profile WWW

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

1FPwsMACGqCFtAxpMVHznHe7TkrHMRxB6M GPG key.  Only civil and rational replies accepted.  If you can't follow this flowchart or engage in verbal abuse, I'll point it out and add you to my ignore list.
paraipan
Hero Member
*****
Offline Offline

Activity: 924


Firstbits: 1pirata


View Profile WWW

Ignore
December 17, 2012, 05:35:34 PM
 #19

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.

+1

+1

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
bitfreak!
Hero Member
*****
Offline Offline

Activity: 768


electronic [r]evolution


View Profile WWW

Ignore
December 17, 2012, 05:59:38 PM
 #20

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.
lol so now we have people in this thread suggesting the old coins should just be destroyed. Yeah that's certainly a more sound and rational alternative to having them re-mined. Wouldn't want to cause any unnecessary volatility in a few decades now would we.  Roll Eyes

Your comment above I think really illustrates the main problem with recycling or destroying old coins, people are scared of losing coins held in long term cold storage. However, in my other thread, which is presumably the reason this for this threads manifestation, I suggested a very easy way to circumvent that problem.

One must simply show the network that the address in question is still active within a reasonable time frame, 100 or 150 years, or what ever. This is most certainly not unreasonable in my opinion. If you leave something sitting untouched and abandoned for over 100 years someone is going to find it and take it thinking it's lost.

18MWPVJA9mFLPFT3zht5twuNQmZBDzHoWF
BitShop - digital shop script
Web Developer - PHP, SQL, JS, AJAX, JSON, XML, RSS, HTML, CSS
Pages: [1] 2 3  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!