Pages:
Author

Topic: Forking the Blockchain for Bonds (25 BTC Bounty) - page 2. (Read 8562 times)

legendary
Activity: 1050
Merit: 1003
Freequent'+, I like your idea, but I have two questions that concern me.

What reward is offerred for sending the coins to an unrecoverable address?
The bond purchaser needs to receive more coins at maturity than he offers initially escrows.

What determines the maximum number of bond coins that can be issued? If there is no constraint, the system will very quickly result in all 21 million coins being issued as bond coins immediately.

One note: It will probably be simpler to issue the bonds as zero coupon bond. These are bonds which pay all of their interest as a lump sum at maturity rather than a periodic stream of interest payments.
legendary
Activity: 3431
Merit: 1233
Quote
Is that supposed to be an argument?
freequant, no argument is good enough for people that don't want to listen to any argument.

Quote
There is nothing to prevent you from moving around using your feet, does that make cars and other means of transportation useless? No, because such means of transportation offer many advantages over using your feet alone.
There are no advantages because what you suggest is not additional option of transportation but substitution. What you suggest is to surgically remove the legs of all newly born babies to force them use cars to move around whenever they need to. No thanks.

Quote
very low risk of default as the debtor is the whole network itself
That pretty much says it all.
So, I'll be a debtor because I have no choice but use your debt 'vehicle' as money. People will use cryptodebt as currency to facilitate commercial turnover IF ONLY the option of cryptocash is artificially removed. This is why you insist bitcoin protocol be changed. Again, no thanks. Make your own blockchain and try to find enough fools to use it just for the sake of being debtors.

Quote
Inflation and deflation are on a continuum...
Ahh, thank you for making yourself clear.

Quote
either the idea really is stupid, or you are the one who is.
This idea is really stupid. It is just stupid as saying that gold is not money but an asset. For the last 5000 years gold was used as money. For the last 30 years, however, some 'brilliant' people are trying to convince us it is not money but an asset?! We all know why... They just can't image how will their miserable life go on without the free lunch (aka risk-free debt)!
hero member
Activity: 770
Merit: 500
I think both methods suggested open the door for fraud.
That's the idea. Make other people to partially pay your risk as lender. As no bitcoin owner would voluntarily do that they want to force it by changing the bitcoin protocol. What a stupid idea. You can't teach old monkey to new tricks!
Becoin, you don't need to force yourself to comment if you have really nothing constructive to tell.
You can claim things are stupid randomly without giving any valid argument.
But just keep in mind that by doing such claim, you are letting only two possible conclusions to people who read the thread : either the idea really is stupid, or you are the one who is.
hero member
Activity: 770
Merit: 500
I think both methods suggested open the door for fraud.
Can you develop?

Also, miners processing the transaction are chosen by lottery.
Not with the second method I proposed (the first one was just there for the completeness but is impractical).
With the second method, the only transaction that will issue the bond is the bond buyer discarding his 50BTCs by sending then to an unrecoverable address. Which miner will get the block that contains the bond generating transaction does not matter. This is just a transaction among other transactions that need to be kept in the ledger.
The payment of the bond to the seller (the network) is implemented by allowing the network to issue one more block before next difficulty change without taking into account that block in the difficulty. This is possible because 50BTCs have been destroyed, and can therefore be reprinted.
The miner who will mine this last extra block is random, but that doesn't matter because everyone on the network has a chance to get the block that is proportional to their computing power.
This is exactly the same as if you have 60 fishes in a pond, and 10 fishers fishing them, and someone drops one extra fish in there.
Someone will get that extra fish, but who will get it doesn't matter at all.
What matters is that, by dropping this fish in the pond, the bond buyer paid one fish to the fishers network, and that the payout was fair to all the fishers as it increased equally the expected value of their income.

For the rest, I agree with your arguments that this cannot work if not all the clients recognize the bond-enabled protocol.
As there is no way to enforce that clients upgrade their software, this could result in a fork.

I expect however that the opportunity of mining more blocks now while the difficulty is less high will act a an incentive for the miners to move to the new block chain that is more profitable on short term.
hero member
Activity: 770
Merit: 500
Very interesting idea that would indeed allow for Bitcoin loans, and counter deflation by reinjecting in the market the money hoarded by long term investors.
1. Allow for bitcoin loans? There is nothing to prevent you from lending your bitcoins now!
Is that supposed to be an argument?
There is nothing to prevent you from moving around using your feet, does that make cars and other means of transportation useless? No, because such means of transportation offer many advantages over using your feet alone.
Same thing for distributed bonds as explained above : no need for a third party, not need of a physical colateral in escrow, very low risk of default as the debtor is the whole network itself, and the payback is algorithmically guaranteed. The only way the network will default on the bond is if Bitcoin itself goes belly up in which case Bitcoins will be worthless anyway.


2. Counter deflation? What deflation? Lack of inflation is not equal to deflation!
Again is that supposed to be an argument?
Inflation and deflation are on a continuum...

That being said, you commented only on the first line which was not the main point of my post.
legendary
Activity: 3431
Merit: 1233
I think both methods suggested open the door for fraud.
That's the idea. Make other people to partially pay your risk as lender. As no bitcoin owner would voluntarily do that they want to force it by changing the bitcoin protocol. What a stupid idea. You can't teach old monkey to new tricks!
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
I think both methods suggested open the door for fraud. Also, miners processing the transaction are chosen by lottery. If miner not recognizing bonds processes the maturing block, the payouts will be incorrect. Because of the possibility of block chain splits, such an error can't be corrected for about 120 block, were another non-bond recognizing  miner may process the transaction.

On second though, this will split the block chain. The "standard" miners have no way of recognising a "non-recoverable" address: in fact, there is no way for prove that such addresses will never be generated by chance. Any miners and not knowing about the "bonds" will reject any block containing the bond reimbursement transaction that appears to create money out of thin air. The way transactions work; all transactions are tracked back to the coin creation. Coin creation is governed by a set of rules all nodes must agree to in order to recognise valid coins.

I am confident that bonds can not be introduced directly into the blockchain without creating an new block chain. If you are confident there is demand for bonds, you can try to convince people to join bitcoin2. I will be staying with the original bitcoin for at least 2 years (to see what happens when the block-reward drops).
legendary
Activity: 3431
Merit: 1233
Very interesting idea that would indeed allow for Bitcoin loans, and counter deflation by reinjecting in the market the money hoarded by long term investors.
1. Allow for bitcoin loans? There is nothing to prevent you from lending your bitcoins now!
2. Counter deflation? What deflation? Lack of inflation is not equal to deflation!
hero member
Activity: 770
Merit: 500
Canicula,

Very interesting idea that would indeed allow for Bitcoin loans, and counter deflation by reinjecting in the market the money hoarded by long term investors.
I am not sure I understand fully your proposal as you did not explain very clearly how it fits in the picture of the Bitcoin network.
There is however a way I can see that would make it possible technically without major changes to the client.

Let me rephrase what I understood in logical steps, and develop a short spec of how this could be done practically within the framework of the Bitcoin network.

1. People holding bitcoins and planning to hoard them for the long term should be able to enter a contract whereby they would loan this money sleeping in their wallet for a fixed amount of time in exchange of the guarantee of recovering their fund at the maturity of the contract. Doing so involve a certain risk, and a loss of opportunity as they won't be able to invest this money somewhere else, that should be compensated by the payment of a periodic interest rate / coupon representing the risk free timevalue of the money. Such  a contract is indeed very similar to what is called a bond, so let's call that a bond.

2. To guarantee that the funds of the bond can be refunded at maturity, the bond must be underwritten by a third party that will hold a colateral. This should also respect the design an philosophy of Bitcoin, namely not rely on any centralized authority to underwrite the claim, and not involved any physical and or centrally controlled asset as colateral. So the bond must be underwritten by a non-centralized authority, and backed by a non-centraly managed collateral.
2.1. The only non-centralized authority we know of in the Bitcoin realm is the Bitcoin network. The bond must therefore be underwritten by the Bitcoin network itself using the only certification mecanism supported by network : digital signature, and proof-of-work block generation.
2.2. The only non-centraly managed assets we know of in Bitcoin realm are computing power, and Bitcoin themselves. If the bond is denominated in Bitcoin, the collateral can therefore only be computing power.

3. If the colateral is the computing power, and knowing that in a bond contract, the colateral is provided by the bond seller, and the cash is provided by the bond buyer, the bond will effectively be a transaction between a miner and a long term bitcoin hoarder.

4. At the time of the bond issuance, the value of the colateral and the face value of the bond should be equal. Knowing that the smallest denomination for computing power on the Bitcoin network is a block, and that the bitcoin value for a valid block is fixed for two years to 50 bitcoins per block, we can establish logically that the minimum contract size of a bitcoin bond will be 1 contract of face value BTC50, backed by a collateral of one valid block.

5. The colateral being a valid bitcoin block it must be inserted in the blockchain at the time it is generated, otherwise it would not remain a valid block by defintion. The bond seller will therefore pay the colateral to the underwriter (the Bitcoin network) by simply inserting it in the block chain like usual. The underwriter (the Bitcoin network) will accept the block as a colateral by validating it and continue to grow the blockchain after it (like usual).

6. For the valid block to keeps its value as a colateral, it should not lead to the usual emission of 50 BTC in addition to the payment of the 50 BTC face value of the bond by the bond buyer to the bond seller (the miner). The miner will therefore receive only 50 BTC for its block like it would have got if he mined for a non-bond-related block. The bond buyer must pay the 50 BTC to validate the contract. There are only two ways this can be done :
6.1 (method 1 : quite some changes to the protocol) : the bond seller does not register his usual 50BTC mining incentive but leave the block empty. Once it printed the block with no 50BTC incentive, he effectively provided as colateral a non-redeemed block to the network that the network can use to refund the bond buyer at maturity without breaking the money supply rule as the non-redeemed block was minted in the past and did not generate the 50BTC it should have generated. To validate the transaction, the bond buyer must pay the 50BTC to the bond seller soon after the non-redeemed block was issued. If it doesn't send the payment within a given delay, the network will redeem the empty block to refund the bond seller by issuing 2 incentive transactions of 50BTC in a subsequent block. The major problem of this method is that the network must remember about this non-redeemded block and it must watch if the buyer makes the payment.
6.2. (method 2 :almost no change) The bond seller registers as usual his own 50BTC mining incentive in the block header, in which case he should not receive the payment from the bond buyer. The bond buyer should therefore pay the payment to the network and not the bond seller whose colateral value has already been depleted by redeeding the 50BTC incentive. The network being decentralized, it does not itself have a wallet.dat file, and cannot receive a payment. But it can print money at will provided that it does not increase the monetary supply by more than 6 blocks (300BT) per hour in average This is where the catch is : for the bond buyer to pay the bond face value to the network, it can simply destroy it by sending it to a dummy address where it can never be recovered, like 1DummyAddressForBondPayment (or my bitcoin address Wink). By doing so, it decreases the money supply by 50BTC, and therefore allows the network to print one more block before the next difficulty increase. The big interest of this method is : miners mine like usual, totally unaware that they are being the counterpart of a bound transaction. At some point, the bond buyer discard 50BTCs by sending it to a dummy address, which gets recorded to the ledger and generates the bond (the bond is therefore underwritten by this single transaction). At the time of calculating when the difficulty should increase, the clients will calculate the difficulty as the time taken to generate N+1 blocks (and not N, where N is the usual block count between difficulty changes) as one of the block was funded with the money that bond buyer destroyed and therefore did not increase the money supply. At the time of maturity, the network will generate a block containing a second 50BTC transaction sent to the address from which the bond buyer destroyed his 50BTC. Maturity can be expresset by sending the coins to a specifically formated non-recoverable address, like 1BondMaturityPayment20111203 or 1BondMaturityPayment123456 when 123456 is the block number where reimbusement of the bond should be made. Everyday or everyblock, the clients will check the transactions recorded in the related unrecoverable address, and pay it out by adding an extra 50BTC transaction to some block. This will be taken into account for next difficulty level calculation, and the network will calculate the time taken to compute N-1 block instead of N blocks where N is the number of blocks between difficulty reevaluation.

7. The benefit of this bond system is that it puts back in circulation the capital that is horded by long term investors. This keeps the moneraty supply pretty much constant (growing progressively as mining goes) instead of having it contract and expand as speculators hord it or sell it en mass. This will stabilize the price of bitcoin which will in turn help the economy develop, which will increase non articifically the demand for Bitcoin and increase its value in a much more healthy and sustainable way than the current situation where scarcity is only due to speculators hoarding the currency and the actual demand in the economy is still pretty weak.

8. Why would miners want to be the counterpart of the bonds? Effectively, while the bond buyer is an individual, the bond seller is not a single miner but the whole network. Indeed, handling the bond as explained in 6.2 is completely transparent to the miners: they continue mining in best effort as usual and try to generate as many block as possible given the current difficulty. Only, thanks to the bond and the bond-buyer funded extra block, they will effectively generate N+1 block in the current difficulty cycle without increasing the difficulty. This clearly increases their shortterm profitability. As the bond will be refunded in the future, rolling back the balance and increasing the difficulty, it will decrease the protitability in the future. But we all know that difficulty tends to increase, which makes easier and therefore more valuable to mine an extra block now than later. So the advantage of the bond for the miners is here: it allows to time-warp a part of the mining job earlier in time, and to postpone the difficulty increase effect of this to later, increasing early miners profitability.

9. Why would long term investors in Bitcoin want to buy bonds? First because by relaxing the monetary supply, it will help the economy which is likely to entail a long term sustainable appreciation of their assets. Second, because of the yield. I did not discuss that part yet, so here we go : where is the yield going to come from? It has to be paid periodically during all the duration of the contract. But we know that the monetary supply shouldn't increase more than what was originally planned, and we aren't going to ask the to miners to pay the yield off their 50BTC incentive. So that lets transaction fees : yield will be paid from transaction fees and calculated / adjusted in such a way that the total amount of transaction fees the network miners will not get due to the yield will match the extra bitcoin they made by mining that block sooner when difficulty was lower.

10. It would even be possible to allow to recall the bond (sell it back to the network and get back the cash) by paying with the same address some cancellation premium to the unrecoverable address of targeted maturity.

Cunicula, not sure how much of the above is what you where thinking about and how much is not.
It doesn't ask much modifications to the bitcoin client, it does not require to fork the block chain, it does not breach original Bitcoin mecanisms, and I think it could indeed be beneficial for the miners, the long term investors and the whole bitcoin economy.

Any feedback welcome.
legendary
Activity: 1232
Merit: 1094
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...

So, you are creating an object which is basically a title deed for a bitcoin, but is worth less than a bitcoin, because you have intentionally crippled it.  Why do this?

Dollar bonds require interest because their is a risk that they won't pay back.

Quote
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

It would be interesting to see what would actually happen if it was actually a market.  The majority don't actually decide market price.  All you need is one person to spot that they are actually identical and he will pay 0.99 BTC for 1 BTC (or 1 BTC - transaction fees and annoyance factor). 

If the bondcoins can be traded in exactly the same way as bitcoins, there is no reason to differentiate between the 2.
legendary
Activity: 1050
Merit: 1003
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.
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo

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.
legendary
Activity: 1232
Merit: 1094
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.
legendary
Activity: 3431
Merit: 1233
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
legendary
Activity: 1050
Merit: 1003
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




legendary
Activity: 1232
Merit: 1094
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.
legendary
Activity: 3431
Merit: 1233
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!
legendary
Activity: 1050
Merit: 1003
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.]



legendary
Activity: 1050
Merit: 1003
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?
staff
Activity: 4284
Merit: 8808
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…

Pages:
Jump to: