Bitcoin Forum
November 08, 2024, 06:12:46 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 4 »  All
  Print  
Author Topic: Forking the Blockchain for Bonds (25 BTC Bounty)  (Read 8560 times)
cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
June 21, 2011, 07:20:57 AM
 #21

Don't understand the block chain design very well or have any coding knowledge, but I do have a strong hunch that it should be possible. Would love to know if the hunch is correct or wrong, and would love to hear more formal arguments from the developers about this.

After thinking more, I posted the next day about contingent claims. It's worth noting that bonds are redundant if you have contingent claims. A bond (with no default risk) is just a contingent claim that is a valid bitcoin in any possible future state of the world. You can make one from a bundle of contingent claims. Thus, implementing contingent claims probably makes more sense than implementing bonds.

 
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
June 21, 2011, 07:53:28 AM
 #22

Quote
I understand that almost no one here understands economics well, but the computer scientists are at least intelligent. As far as me writing the code, I am an economics professor, not a computer programmer.
(Watching .... this should be entertaining.)

You could always buy mining contracts from our good friend Vladimir the miner who is effectively selling futures contracts on bitcoins .... https://forum.bitcoin.org/index.php?topic=2883.0

Bonds are debt are they not? Bitcoin is a credit currency as fas I'm aware ... (economics can be prone to political bias if monetary concepts are not applied with rigour.)

cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
June 21, 2011, 08:08:26 AM
 #23

Would rather discuss contingent claims as I mentioned before, since I now believe it is more useful.
See this thread:
http://forum.bitcoin.org/index.php?topic=19130.0

I'm aware that Vladamir offers mining contracts which would seem expensive to most. Don't blame him at all, Vladamir would be bearing a whole lot of risk otherwise. Given that bitcoin didn't incorporate these features in its design, he is performing a useful service. So is paypal, however; so this argument doesn't go very far. Sorry if I was trolling above, just frustrated with the responses (my fault).

TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1104


View Profile
July 04, 2011, 10:54:29 AM
 #24

The bitcoin spec is pretty much already set down in stone.  You can't allow blocks in the main chain that previous versions of the client would reject.

The one exception is that some of the parameters like maximum block size are intended to be relaxed.  However, even that goes against the principle.

The trust that is placed in the bitcoin system is because there is no central bank with the power to change the rules.

I posted in your other thread, but can post again here (second pass of thinking about it).

I think the best plan would be to create an alternative chain and provide an incentive for miners to participate in it.  In theory, you could have lots of different types of futures in the one alternative chain, but that makes it more difficulty for miners to check things.

A future that is backed against the difficulty in the main bitcoin chain is something that would be easy for miners to test.

The header for the new chain could be

<version>
<previous-block>
<current-bitcoin-block-hash>
<current-bitcoin-difficulty>
<merkle-root*>

<current-bitcoin-index>

<transactions>

the merkle root is equal to

Hash(<current-bitcoin-index> , <root for all transactions>)

The way a Merkle tree works is that for any node, you can prove that a particular node (transaction) was part of the tree.

<node-hash> <some-number> <some-number> <some-number> ... <some-number>

The merkle inclusion check could be implemented in the scripting language for the main chain, so you could have a real bitcoin transaction that required that you prove that your win was included in the alternative chain in order to unlock it. 

Effectively, you would send a coin to on bitcoin chain with a release condition of "must provide proof that the unlock authorization was included in the alternative chain and was confirmed by K blocks and difficulty in the alt chain was at least D".

That would involve 3 checks, first you verify that the unlock code was part of a merkle tree.  Next, you verify that the <current-bitcoin-index> is valid and finally you verify that the alt chain block in question was buried deep enough in the alt chain.

A user would submit a proof request to the alternative chain.  "The difficulty for block N was greater than X and less than Y" and the alt chain would certify that it is true by including it in the chain. 

Once it has been confirmed by at least K blocks, the winner can take the proof and submit it to the main chain.

I am not sure how best to handle it so that the coin futures can be traded.  The alt chain would need to track the owner of the each future piece, so that the release code only works for 1 person.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
becoin
Legendary
*
Offline Offline

Activity: 3431
Merit: 1233



View Profile
July 13, 2011, 04:36:20 PM
 #25

For example, suppose Mary holds bitcoins and has a business idea that would add significant value to the bitcoin economy within one to two years. It would be in Mary's interest to sell some of her current bitcoins for bonds and some for USD to finance her idea.
Why would Mary sell her bitcoins to buy bitcoin bonds which in turn has to be sold to finance her idea? Why wouldn't she sell her bitcoins and buy directly whatever products and services she needs to implement her idea?
cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
July 14, 2011, 12:47:20 AM
 #26

Her idea could require holding a reserve of bitcoin assets. For example she might be building a bitcoin bank or a bitcoin casino. Alternatively she might just want a diversified btc portfolio. Bonds allow her to maintain an equivalent long position on bitcoin and also leave some money left ovwr for other investment or consumption purposes.
becoin
Legendary
*
Offline Offline

Activity: 3431
Merit: 1233



View Profile
July 14, 2011, 04:45:03 AM
 #27

Bonds allow her to maintain an equivalent long position on bitcoin and also leave some money left ovwr for other investment or consumption purposes.
If Mary has X amount of bitcoins in her wallet.dat she already has a long position on bitcoin! If she wants to leverage this long position she must find someone willing to make the opposite bet - the equivalent short position on bitcoin. Bonds are essentially bets on future inflation. The buyer and seller have different inflationary expectations. In the bitcoin economy this is not possible because by design bitcoins can not be 'printed' arbitrarily.
phillipsjk
Legendary
*
Offline Offline

Activity: 1008
Merit: 1001

Let the chips fall where they may.


View Profile WWW
July 14, 2011, 04:54:34 AM
 #28

To be honest, I am not sure what you are proposing. If you want to "lock-in" a difficulty 6 months ahead of time, that will likely screw up block generation. On average, one block is produced every 10 minutes or so. If the next block was already produced 6 months ago, we would have to artificially raise the difficulty level to avoid generating coins. Worse, block generation is what processes transactions. Artificially raising the difficulty would slow transaction processing: you can't just "add" transactions to the 6 month old block now maturing.

As becoin said, you can make your own bonds: Generate a savings wallet using Bitcoin Off-The-Grid (BOTG), and store it in a safe place; preferably two safe places. Send money to it. After the "bond period" is up, retrieve the savings wallet and import the private keys. You can then spend the coins again.

James' OpenPGP public key fingerprint: EB14 9E5B F80C 1F2D 3EBE  0A2F B3DE 81FF 7B9D 5160
ctoon6
Sr. Member
****
Offline Offline

Activity: 350
Merit: 251



View Profile
July 14, 2011, 05:04:20 AM
 #29

why would we do this? it adds a plethora of additional challenges and complexity. why would i mine for bonds, when the current system gives me real money now. sure i could trade the bonds, but why, i got real money now, do you want 2 currencies competing? making each other less valuable.

cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
July 14, 2011, 06:45:34 AM
 #30

Some helpful points.The blockchain is the bond issuer (just as in mining). Private bond issuers are not neccesary. There are multiple ways of understanding why public bond issues are useful. Perhaps framing it in terms of time preference will help.

http://en.wikipedia.org/wiki/Time_preference

Creation of bonds allows trading between people with different time preference.
 
Bond buyers want to buy items tomorrow. Bond sellers want items today. Without the introduction of blockchain issued bonds, it is very difficult for these parties to profitably trade. Buyers and private bond issuers would need to negotiate and enforce contracts privately. Currently, the level of trust in the community and resources for enforcement make it difficult to support a private credit market. Introducing mined bonds reduces the need for trust and enforcement mechanisms, allowing for profitable trades between individuals with different time preference. One advantage of this is that it makes leveraging a bet cheaper.

Also, creation of bonds is also a useful step towards the creation of contingent claims. Contingent claims are discussed here:
http://forum.bitcoin.org/index.php?topic=19130.0
The contingent claims also provides some useful discussion about possible coin generation rules. This should make clear that bonds would not 'screw up coin generation"

None of the other new comments in the thread are worth addressing at this point.





gmaxwell
Moderator
Legendary
*
expert
Offline Offline

Activity: 4270
Merit: 8805



View Profile WWW
July 14, 2011, 06:58:50 AM
 #31

Average difficulty for all maturities would be pegged to hold the total number of all types of coins constant according to Satoshi's schedule. Difficulty for each

You're making a mistake of thinking about the mining process as primarily a mechanism for the initial wealth distribution.  This is an incorrect way of looking at it and it will lead to confusion.

The bitcoin hash chain embodies an attack resistant distributed algorithm for determining a consensus ordered transaction log which does not require a central authority or any trusted parties at all.  Difficulty is an absolutely essential part of providing the attack resistance, as is the average time between blocks and a multitude of other interlocking factors.

Mining, the process of extending the transaction log,  will continue / would be required even if there were no new coins being distributed.  

Initial wealth distribution has to happen somehow— and the absence of a central authority limits your options considerably: mostly you're left with lotteries of various kinds.  Linking it to mining had the dual benefit of promoting the system security early on, and taking advantage of an already existing lottery infrastructure.

So, in any case, you can't just change how difficulty works without completely reworking the system, and your desired tweaks may not be directly compatible with the behavior required for system security.  In which case, proof of work to create your bonds would need to be decoupled from the core blockchain process, which would inevitably distract from system security…

cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
July 14, 2011, 06:59:05 AM
 #32

The buyer and seller have different inflationary expectations. In the bitcoin economy this is not possible because by design bitcoins can not be 'printed' arbitrarily.


You think that it is impossible for one person to believe that the goods denominated in bitcoin will be say $xx per good in 2012 and for another person to disagree with them. "Because bitcoins can not be printed arbitrarily," you believe that everyone must be in perfect agreement about expected future prices.

It seems hard to believe that you made this argument intentionally. Am I understanding you correctly?
cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
July 14, 2011, 07:10:03 AM
 #33

Average difficulty for all maturities would be pegged to hold the total number of all types of coins constant according to Satoshi's schedule. Difficulty for each
your desired tweaks may not be directly compatible with the behavior required for system security. In which case, proof of work to create your bonds would need to be decoupled from the core blockchain process, which would inevitably distract from system security…

That is something that requires careful analysis. Projects should not be dismissed offhandedly just because their implementation requires careful analysis. The important problem is generating an adequate quantity of bonds. How they are initially distributed is not as important. For example, consider the following simplification.

Mining has only one difficulty level, adjusted to meet the one block every 6 hours target.

Make each block a mixture of 50 coins of different maturities. (e.g. 25% reg coins, 25% next year Jan 1st coins, 25% two years ahead Jan 1st coins, 25% five years ahead Jan 1st coins).

This requires adding more information to the blockchain, but it is not obvious to me why this type of change would meaningfully impact blockchain security. [I have no expertise here, but I can tell that gmaxwell hasn't considered the issue carefully, and is instead making an offhand remark.]



becoin
Legendary
*
Offline Offline

Activity: 3431
Merit: 1233



View Profile
July 14, 2011, 11:44:20 AM
 #34

It seems hard to believe that you made this argument intentionally. Am I understanding you correctly?
Dear canicula, it is hard to believe that you make no difference between price of goods and price of money? Bonds are not about price of goods but about price of money!

Nobody knows what shall be the price of goods next year neither in bitcoins nor in dollars. Certainly, nobody knows what would be the price of the dollar in dollar terms next year because nobody knows how much dollars Fed will print and what would be the inflation rate. One can only suggest... In contrast to that, everybody knows what would be the price of bitcoins in bitcoin terms next year because everybody knows exactly how much bitcoins you'll have in circulation by that time!
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1104


View Profile
July 14, 2011, 12:00:53 PM
 #35

Make each block a mixture of 50 coins of different maturities. (e.g. 25% reg coins, 25% next year Jan 1st coins, 25% two years ahead Jan 1st coins, 25% five years ahead Jan 1st coins).

What is the difference between "This bond will convert to a bitcoin on 1st January 2011" and a bitcoin?

A bond with 0% risk is not a bond.  If the bond is part of the bitcoin system, can be traded just like bitcoins and guaranteed in exactly the same way as bitcoins, then the 2 are equal in value.

"This bond will convert to a bitcoin on 1st January 2011, unless I go bankrupt" is a completely different thing.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
July 14, 2011, 01:00:10 PM
 #36

Make each block a mixture of 50 coins of different maturities. (e.g. 25% reg coins, 25% next year Jan 1st coins, 25% two years ahead Jan 1st coins, 25% five years ahead Jan 1st coins).

What is the difference between "This bond will convert to a bitcoin on 1st January 2011" and a bitcoin?

A bond with 0% risk is not a bond.  If the bond is part of the bitcoin system, can be traded just like bitcoins and guaranteed in exactly the same way as bitcoins, then the 2 are equal in value.

"This bond will convert to a bitcoin on 1st January 2011, unless I go bankrupt" is a completely different thing.

This is wrong.

Bonds pay positive real interest even with 0% risk. Bonds are difficult to spend because the shops will (most likely) not be set up to accept them directly. A positive risk-free interest rate occurs because of:

a) time preference (people [on average] prefer to spend money today rather than tomorrow)
b) technological change (goods [on average] are more expensive to produce today than they will be tomorrow, therefore people are willing to trade consumption of x goods today for consumption of (1+r)x goods next year, where r is the real interest rate.  Bonds facilitate these types of exchanges. With some simplification, the equilibrium level of r in an economy is equal to the productivity growth rate.

This primer is a little helpful, but not really:
http://en.wikipedia.org/wiki/Risk-free_interest_rate
Instead, I would suggest consulting an introductory macroeconomics text, such as those written by
Krugman and Wells,
Mankiw, or
Barro




becoin
Legendary
*
Offline Offline

Activity: 3431
Merit: 1233



View Profile
July 14, 2011, 01:13:24 PM
 #37

This primer is a little helpful, but not really:
http://en.wikipedia.org/wiki/Risk-free_interest_rate
Instead, I would suggest consulting an introductory macroeconomics text
Look buddy, I can understand your frustration but nothing can be done. Get over it. All this pseudo science is based on assumption of future inflation. Bitcoin removes an entire layer of financial parasites living out of monetary inflation and peoples inflation expectations.

Hope this primer is a little helpful:
http://www.youtube.com/watch?v=VOapLkmhYG4
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1104


View Profile
July 14, 2011, 01:37:44 PM
 #38

Bonds pay positive real interest even with 0% risk. Bonds are difficult to spend because the shops will (most likely) not be set up to accept them directly.

OK, but I did point out that if the bond is integrated into the bitcoin system, then it is effectively a bitcoin.

Now, if the bond cannot be spent as easily, then you are just adding an artificial roadblock. 

The bond is still worth the face number of bitcoins, it is just more inconvenient to use.

Quote
A positive risk-free interest rate occurs because of:

a) time preference (people [on average] prefer to spend money today rather than tomorrow)

The reason that banks pay out interest is because there is some risk.  They take your money and use it as collateral to borrow from the central bank.

If they make bad lending decisions, you could lose your money.

If you insisted that they put the money in a vault and not touch it, then they would refuse to give you any interest.

For bitcoins, the only way to create a zero risk bond, is to put a bitcoin in escrow for the year.  The bond is basically a title deed to that other coin.  It doesn't matter when it can be withdrawn, as long as it is certain to be withdrawn.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2349


Eadem mutata resurgo


View Profile
July 14, 2011, 02:04:38 PM
 #39


Starting to smell like gold loans ... they haven't blown up, just yet. They'll be the last to go, the final denouement on a bankrupt system.

cunicula (OP)
Legendary
*
Offline Offline

Activity: 1050
Merit: 1003


View Profile
July 14, 2011, 02:55:53 PM
 #40

Bonds pay positive real interest even with 0% risk. Bonds are difficult to spend because the shops will (most likely) not be set up to accept them directly.

OK, but I did point out that if the bond is integrated into the bitcoin system, then it is effectively a bitcoin.

Now, if the bond cannot be spent as easily, then you are just adding an artificial roadblock. 

The bond is still worth the face number of bitcoins, it is just more inconvenient to use.

Quote
A positive risk-free interest rate occurs because of:

a) time preference (people [on average] prefer to spend money today rather than tomorrow)

The reason that banks pay out interest is because there is some risk.  They take your money and use it as collateral to borrow from the central bank.

If they make bad lending decisions, you could lose your money.


If you insisted that they put the money in a vault and not touch it, then they would refuse to give you any interest.

For bitcoins, the only way to create a zero risk bond, is to put a bitcoin in escrow for the year.  The bond is basically a title deed to that other coin.  It doesn't matter when it can be withdrawn, as long as it is certain to be withdrawn.
i will give you an important pointer. If you do not allow for artificial roadblocks, it is impossible to understand why monetary exchange as opposed to barter is the dominant mode of transactions in the economy...

what a bank would do is irrelevant. Bond coins would be issued by the blockchain not a bank. The relevant issue is whether people would trade 1 bond coin for 1 bitcoin. The poll i linked to above suggests that the vast majority of people would not be willing to make this trade. Instead they would make trades of 0.95 bitcoins for 1 bond coin or perhaps 0.9 bitcoins for 1 bondcoin. I tried to explain to you why most people report these valuations rather than the valuation you report. I give up. Still i hope that you will consult one of the textbooks i suggested in the future.
Pages: « 1 [2] 3 4 »  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!