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