Bitcoin Forum
May 04, 2024, 04:43:38 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3]  All
  Print  
Author Topic: [PROPOSAL] The Second Bitcoin Whitepaper  (Read 6345 times)
dacoinminster (OP)
Legendary
*
expert
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
July 27, 2011, 02:41:24 PM
Last edit: July 27, 2011, 03:12:34 PM by dacoinminster
 #41

Here's the alternate scenario:

1) Starting condition: $4M in the escrow fund, $2M from hyperbitcoin holders
2) Whole world: "What?! We can own/trade commodities/currencies with no fees or paperwork??" *Tries to fit trillions of dollars of value into a 21M coin hole*
3) Bitcoin prices: +100000000% (million-fold increase)
4) Protocol: "Hmmm. Escrow fund is a million times larger than the target. Time to distribute some wealth to hyperbitcoin holders."
5) Bitcoin holders: "We're rich!"
6) Hyperbitcoin holders: "We're double-rich"
7) That one guy who didn't have any bitcoin: *Jumps out window*

And finally, the doomsday scenario

1) Starting condition: $4T in the escrow fund, $2T from hyperbitcoin holders
2) Jon Stewart: "Bitcoins suck! The escrow fund will go insolvent!"
3) Whole world: *Tries to sell their bitcoins all at once, and any bitcoin-backed commodities/currencies they own*
4) Protocol: "Um, the escrow fund is 50% low . . . no 60% . . . no 70% . . . oh crap!"
5) Protocol: "Time to steal ALL the hyperbitcoins from the speculators: UBERYOINK!!"
6) Speculators: *Jump out window*
7) Protocol: "Anybody want to buy these hyperbitcoins?"
8 ) New Speculators: "No thanks, we're too skeered!"
9) Protocol: "Fine then. LET THERE BE BITCOINS!" *50M bitcoins appear in the escrow fund*
10) Satoshi: "That's inflation! You've ruined my baby!" *Jumps out window*
11) Bitcoin holders: "We're poor!" *Jump out window*
12) Protocol: "Sorry. I'll destroy some bitcoins if prices go up again. Hopefully we'll get down to the 21M number again.
13) Whole World: "We don't want bitcoins anymore"
14) Bitcoin prices -> $0
15) Protocol: "Let's see, to save the token-holders, I need to create infinity+1 bitcoins in the escrow fund. That does not compu..." *bitcoin implodes*
16) Oilcoin/GoldCoin/USDCoin holders *Jump out window*

Obviously the protocol cannot continue to stabilize prices if nobody wants bitcoins anymore. After reading my own doomsday scenario, I think that creating bitcoins out of thin air would be a very bad idea. I think at step 9 above, the protocol would just have to say: "Sorry token holders, you're screwed. The bitcoin show must go on!"

New doomsday scenario ending:
9) Protocol: "Sorry token-holders, while there are no speculators willing to absorb volatility, you will have to eat the volatility. Your OilCoins/AntiOilcoins GoldCoins/AntiGoldCoins will fluctuate in value with bitcoin prices until enough new speculators enter the ring."
10) Token holders: "Sigh. OK. We knew this was in the cards when we signed up. Maybe if we hold these pegged coins long enough, speculators will buy hyperbitcoins and replenish the escrow fund and we won't have to take a loss."

1714797818
Hero Member
*
Offline Offline

Posts: 1714797818

View Profile Personal Message (Offline)

Ignore
1714797818
Reply with quote  #2

1714797818
Report to moderator
1714797818
Hero Member
*
Offline Offline

Posts: 1714797818

View Profile Personal Message (Offline)

Ignore
1714797818
Reply with quote  #2

1714797818
Report to moderator
"This isn't the kind of software where we can leave so many unresolved bugs that we need a tracker for them." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714797818
Hero Member
*
Offline Offline

Posts: 1714797818

View Profile Personal Message (Offline)

Ignore
1714797818
Reply with quote  #2

1714797818
Report to moderator
1714797818
Hero Member
*
Offline Offline

Posts: 1714797818

View Profile Personal Message (Offline)

Ignore
1714797818
Reply with quote  #2

1714797818
Report to moderator
1714797818
Hero Member
*
Offline Offline

Posts: 1714797818

View Profile Personal Message (Offline)

Ignore
1714797818
Reply with quote  #2

1714797818
Report to moderator
bji
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
July 27, 2011, 05:24:40 PM
Last edit: July 27, 2011, 05:36:38 PM by bji
 #42


3) Protocol: "Escrow fund is 10% below target. Time to steal some hyperbitcoins from the speculators. YOINK!"


That is the part that I simply do not understand.  The "protocol" is not an entity that can take actions.  The protocol is a set of rules that all peers use to evaluate the bitcoin messages they receive and build up a shared, agreed-upon concept of what the "global balance sheet" of bitcoin is (in the form of transaction chains stored in the block chain).  The protocol dictates rules about transaction validity that individual peers are free to ignore but since other peers have no incentive to ignore the rules, and incentives to obey them, a disobeying peer will get nowhere fast.  At every point in the complex dance of bitcoin peers, the protocol rules are constructed to cause natural agreement between everyone with minimal effort.  It's a thing of beauty.

You talk about the protocol as if it's something running somewhere in real time making decisions and effecting outcomes.  It's not that at all.  The protocol is a set of rules, and those rules must be set out ahead of time to effect the actions you want from the bitcoin peer network.  Not only that, the rules don't specify what any peer has to do, only what is valid for any peer to have done.  The protocol rules do not compel any action on the part of any peer, they establish criteria for deciding when what a peer has done is illegal, and because following these rules is to everyone's benefit due to the clever construction of the protocol, everyone naturally obeys them and everyone agrees when someone has done something against the protocol rules and ignores them identically.

So you have to formulate rules that can be described ahead of time and which, for any peer who doesn't know anything about the history of transactions in your system, can be used to ingest all of the block chain blocks and then decide on its own, independently of any other peer, what the state of the "global balance sheet" is after every block; and each peer must be able to do this identically.  The identically part is what, in my opinion, rules out appealing to external entities for values to use in protocol equations for determining validity of transactions, because nobody ought to, or ought to be expected to, rely on an external authority whom they have to trust gives out accurate information to everybody and who is always available to every bitcoin peer and always presents a true, factual, and consistent set of values when queried.

Furthermore, the requirement that the protocol establish rules that peers can use to verify transactions themselves using only the data available in the block chain (or other data that is publicly shared via the peer network and is cryptographically secure using hashes and forced work functions) means that the data sets and rules involved in verifying a given transaction must be minimal; otherwise, the work required to verify a transaction chain becomes prohibitive and gets even worse as the network scales.

This last part is why I keep asking for a concrete description of the rules that peers will have to follow to validate transactions.  If a client has to a) keep an entire history of every transaction in order to be able to evaluate the validity of a transaction chain (bitcoin peers don't due to the merkle trees), and/or b) appeal to external authorities which may or may not be accessible or trustworthy, and/or c) require the evaluation of complex relationships between transactions or escrow accounts or whatever, and/or d) require every peer to retain huge amounts of data on disk in order to be able to validate any transaction, and/or e) any number of other ways to make the work of peers to establish faith in the validity of a transaction impractical that I haven't thought of yet, then it is an unworkable system.

It is my supposition that your proposal suffers from more than one of these problems; and I've been trying to fish out more detail (admittedly I don't understand every aspect of your proposal so I'm trying to get you to consider my concerns and apply them to your system rather than doing it myself).  I don't think you should write to Satoshi or publish a white paper or take any other premature step before addressing these concerns.
dacoinminster (OP)
Legendary
*
expert
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
July 27, 2011, 05:43:20 PM
 #43


3) Protocol: "Escrow fund is 10% below target. Time to steal some hyperbitcoins from the speculators. YOINK!"


That is the part that I simply do not understand.  The "protocol" is not an entity that can take actions.  The protocol is a set of rules that all peers use to evaluate the bitcoin messages they receive and build up a shared, agreed-upon concept of what the "global balance sheet" of bitcoin is (in the form of transaction chains stored in the block chain).  The protocol dictates rules about transaction validity that individual peers are free to ignore but since other peers have no incentive to ignore the rules, and incentives to obey them, a disobeying peer will get nowhere fast.  At every point in the complex dance of bitcoin peers, the protocol rules are constructed to cause natural agreement between everyone with minimal effort.  It's a thing of beauty.

You talk about the protocol as if it's something running somewhere in real time making decisions and effecting outcomes.  It's not that at all.  The protocol is a set of rules, and those rules must be set out ahead of time to effect the actions you want from the bitcoin peer network.  Not only that, the rules don't specify what any peer has to do, only what is valid for any peer to have done.  The protocol rules do not compel any action on the part of any peer, they establish criteria for deciding when what a peer has done is illegal, and because following these rules is to everyone's benefit due to the clever construction of the protocol, everyone naturally obeys them and everyone agrees when someone has done something against the protocol rules and ignores them identically.

So you have to formulate rules that can be described ahead of time and which, for any peer who doesn't know anything about the history of transactions in your system, can be used to ingest all of the block chain blocks and then decide on its own, independently of any other peer, what the state of the "global balance sheet" is after every block; and each peer must be able to do this identically.  The identically part is what, in my opinion, rules out appealing to external entities for values to use in protocol equations for determining validity of transactions, because nobody ought to, or ought to be expected to, rely on an external authority whom they have to trust gives out accurate information to everybody and who is always available to every bitcoin peer and always presents a true, factual, and consistent set of values when queried.

You are quite right in your comments about the protocol. What I wrote in my thought experiment is equivalent to describing the current protocol with words like:

Miner: I found a block!
Protocol: Here's 50 bitcoins! Enjoy!
Miner (later): I found another block
Protocol: I'm only giving out 25 bitcoins per block now. Sorry!

For the protocol to steal 5% of all outstanding hyperbitcoins, all clients have to be running the same rules which cause them to all agree that users holding hyperbitcoins all have 5% less of them because the escrow fund passed some threshold.

Furthermore, the requirement that the protocol establish rules that peers can use to verify transactions themselves using only the data available in the block chain (or other data that is publicly shared via the peer network and is cryptographically secure using hashes and forced work functions) means that the data sets and rules involved in verifying a given transaction must be minimal; otherwise, the work required to verify a transaction chain becomes prohibitive and gets even worse as the network scales.

This last part is why I keep asking for a concrete description of the rules that peers will have to follow to validate transactions.  If a client has to a) keep an entire history of every transaction in order to be able to evaluate the validity of a transaction chain (bitcoin peers don't due to the merkle trees), and/or b) appeal to external authorities which may or may not be accessible or trustworthy, and/or c) require the evaluation of complex relationships between transactions or escrow accounts or whatever, and/or d) require every peer to retain huge amounts of data on disk in order to be able to validate any transaction, and/or e) any number of other ways to make the work of peers to establish faith in the validity of a transaction that I haven't thought of yet, then it is an unworkable system.

It is my supposition that your proposal suffers from more than one of these problems; and I've been trying to fish out more detail (admittedly I don't understand every aspect of your proposal so I'm trying to get you to consider my concerns and apply them to your system rather than doing it myself).  I don't think you should write to Satoshi or publish a white papeer take any other premature step before addressing these concerns.

Responding to the enumerated concerns, in order:

a) Clients only have to track transactions and exchange rates they care about. If I'm not trading or holding goldcoins, I don't have to download goldcoin transactions.
b) I believe I have described how external data can be imported into the block chain, especially when that data has multiple trusted sources and nodes can reject blocks containing data they believe to be invalid.
c) Yes. If the complex relationship between escrow and hyperbitcoins doesn't work and can't be fixed, then this idea just won't work
d) Miners would have to retain all data for transactions they wish to collect fees for. Peers need headers for bitcoin transactions only (like they do now) until they start playing around with advanced features.
e) Yes, there could be additional problems that haven't been imagined yet. That's what this thread is for Smiley

Thanks for your thoughtful analysis.

dacoinminster (OP)
Legendary
*
expert
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
July 27, 2011, 09:17:52 PM
 #44

[POLL] Add ideas from second bitcoin whitepaper proposal to bitcoin?
http://forum.bitcoin.org/index.php?topic=32417.0

jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
July 29, 2011, 07:43:39 AM
 #45

I move from the other thread, although I don't like the tittle of this one. Even if your proposal is possible to implement, you can't apply all this in the bitcoin chain. You better find a new name for your coins.

I think maybe I can understand it better with examples.

Oil is at 10 btc, I  want an oilCoin and you want and anti-oilCoin.
What's next? How much each of us put in escrow?

Oil rises to 11 btc. Does anything happen to the escrow? Do I get 1 btc or something?
Although you gave the direction, here we still have to resolve the problem (define the solution in a more concrete manner) of how the system knows the spot price of oil.

You said somewhere that the spot price of oil is not the same as the price of an oilCoin. Then how are oilcoins related to oil in any meaningful way?



2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
dacoinminster (OP)
Legendary
*
expert
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
July 29, 2011, 03:27:13 PM
 #46

I move from the other thread, although I don't like the tittle of this one. Even if your proposal is possible to implement, you can't apply all this in the bitcoin chain. You better find a new name for your coins.

Yeah, I took a poll, and that seems to be the consensus.

I think maybe I can understand it better with examples.

Oil is at 10 btc, I  want an oilCoin and you want and anti-oilCoin.
What's next? How much each of us put in escrow?

Oil rises to 11 btc. Does anything happen to the escrow? Do I get 1 btc or something?
Although you gave the direction, here we still have to resolve the problem (define the solution in a more concrete manner) of how the system knows the spot price of oil.

You said somewhere that the spot price of oil is not the same as the price of an oilCoin. Then how are oilcoins related to oil in any meaningful way?

In your example, you and I would both buy the tokens we want on the open market (run within the network). There is no way for us to know where the tokens came from - we may have bought them from other users, or one of us may be buying tokens which were generated from thin air by the protocol in order to keep the tokens balanced and the escrow fund solvent.

When oil rises by 10%, the protocol will buy oiltokens and/or sell antioiltokens until funds in escrow are balanced. The exact combination of buying and selling would be determined by what keeps the escrow fund the healthiest.

You and I can't realize profits/losses until we sell our tokens, at which point we may be selling to other users and/or the escrow fund.

The price we buy and sell at is determined by us and the market. We have an incentive to trade close to the external spot price of oil, because the protocol charges an increasing fee the further we trade from the external spot price. The external spot price is imported into the block chain by miners, and their blocks are accepted or rejected by the rest of the network in exactly the same way that the distributed timestamps work.

jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
July 31, 2011, 02:20:45 PM
 #47

I think maybe I can understand it better with examples.

Oil is at 10 btc, I  want an oilCoin and you want and anti-oilCoin.
What's next? How much each of us put in escrow?

Oil rises to 11 btc. Does anything happen to the escrow? Do I get 1 btc or something?
Although you gave the direction, here we still have to resolve the problem (define the solution in a more concrete manner) of how the system knows the spot price of oil.

You said somewhere that the spot price of oil is not the same as the price of an oilCoin. Then how are oilcoins related to oil in any meaningful way?

In your example, you and I would both buy the tokens we want on the open market (run within the network). There is no way for us to know where the tokens came from - we may have bought them from other users, or one of us may be buying tokens which were generated from thin air by the protocol in order to keep the tokens balanced and the escrow fund solvent.

Ok, we don't know who I buy the tokens from. I just wanted a detailed example of the tokens creation.
The number of oilcoins will always be equal to the number of anti-oilcoins, right?

When oil rises by 10%, the protocol will buy oiltokens and/or sell antioiltokens until funds in escrow are balanced. The exact combination of buying and selling would be determined by what keeps the escrow fund the healthiest.

Isn't the system losing money on the process? If oil rises 10%, then drops 10%, then rises again...
The system is buying high and selling low.

You and I can't realize profits/losses until we sell our tokens, at which point we may be selling to other users and/or the escrow fund.

The price we buy and sell at is determined by us and the market. We have an incentive to trade close to the external spot price of oil, because the protocol charges an increasing fee the further we trade from the external spot price. The external spot price is imported into the block chain by miners, and their blocks are accepted or rejected by the rest of the network in exactly the same way that the distributed timestamps work.

And what's the spot price of an anti-oilcoin?

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
dacoinminster (OP)
Legendary
*
expert
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
August 01, 2011, 04:15:11 PM
 #48

Ok, we don't know who I buy the tokens from. I just wanted a detailed example of the tokens creation.
The number of oilcoins will always be equal to the number of anti-oilcoins, right?

At first I had thought this would be the case, but I believe that is impossible. Instead, the system would try to keep the anti-oilcoin escrow fund equal to the oilcoin escrow fund.

Isn't the system losing money on the process? If oil rises 10%, then drops 10%, then rises again...
The system is buying high and selling low.

. . .

And what's the spot price of an anti-oilcoin?


You are right that the system I described would buy oilcoins when they went up in price, and sell them when they went down in price. This would have the annoying effect of amplifying any price swings, although I doubt it would consistently lose money since it can always choose the best option between manipulating oilcoins or antioilcoins. I can't prove that though.

I've been frustrated trying to think of what the spot price of an antioilcoin should be. The simplest answer is 1/oilcoin, and you just have a lot more anti-oilcoins. However, no matter what price scheme I choose, they get out of balance after any price movement and require active intervention.

I'm also warming up to morpheus' idea to control prices with mining rewards: https://bitcointalk.org/index.php?topic=29135.msg367322#msg367322

He does this rather than using an "anti" coin and escrow fund, but I'm pondering whether the ideas could be combined.

dacoinminster (OP)
Legendary
*
expert
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
August 08, 2011, 06:14:55 PM
 #49

I have decided that I like morpheus' idea better than my own, so I am locking my threads about this stuff, and I encourage anyone interested in concepts like this to check out his thread:

https://bitcointalk.org/index.php?topic=29135.0

Pages: « 1 2 [3]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!