Bitcoin Forum
June 16, 2024, 01:04:05 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 »  All
  Print  
Author Topic: Proposal from a macroeconomist for an optimal crypto-currency  (Read 4257 times)
ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 30, 2014, 02:37:18 PM
 #41

So everyone's financial details should be spied upon in deep detail by Big Brother so that Big Brother can manipulate the currency "properly" ?

-MarkM-


Yes. Their models require 100% accurate information :/

Keynesian economic models also assume that "everything else remains equal" (ceteris paribus). In the real world, however, this never happens.

I'm not sure where any of this is coming from. Certainly not from anything I've written. Suffice to say it's ridiculous to describe what I'm putting forward as Keynesian (I cited Friedman in the first post for god sake) and it's even more ridiculous to ascribe any of the views mentioned in the above quotes to modern Keynesians, who I may not agree with, but who nonetheless manage far more sophistication than is on display from some of the commenters in this thread.
Ix
Full Member
***
Offline Offline

Activity: 218
Merit: 128


View Profile
March 30, 2014, 03:33:22 PM
 #42

I'm not sure where any of this is coming from. Certainly not from anything I've written. Suffice to say it's ridiculous to describe what I'm putting forward as Keynesian (I cited Friedman in the first post for god sake) and it's even more ridiculous to ascribe any of the views mentioned in the above quotes to modern Keynesians, who I may not agree with, but who nonetheless manage far more sophistication than is on display from some of the commenters in this thread.

On bitcointalk.org, if you don't believe that the one true monetary system is bitcoin(-based), you are a keynesian. And the only austrians worth discussing are the ones that trumpeted deflation like Mises, or (lol) Lew Rockwell.
wbaw
Member
**
Offline Offline

Activity: 62
Merit: 10


View Profile WWW
March 30, 2014, 04:39:30 PM
 #43

You can get a pretty accurate measure of gdp for the currency in real time from the block chain. Even easier if transaction fees are fixed at a percentage of the value. Can't you use that to give us a formula to fix supply for a stable currency, macro economist.

If possible, this might be a good idea. As far as I'm aware though, the block chain will tell you at most nominal GDP, not real GDP, but NGDP targeting can be close to optimal under certain circumstances. The strongest arguments for NGDP targeting are based on wage rather than price rigidity, but no one that I know of is currently paid a bitcoin wage, so this may be one for the long-run.

If you were to do this, you'd tie the interest/demurrage rate to the deviation between NGDP and an exponential trend (say 2%). So when NGDP was high you'd increase future interest payments more than 1 for 1, for Taylor-principle type reasons.

However, I'm a bit sceptical about the claim that you can get even NGDP from the block chain. In order to arrive at NGDP, you need to know which transactions are associated with the exchange of goods, and which of these exchanges are intermediates for the production of other goods. So, for example if I have two wallets, and I send bitcoins from one to the other, as far as I'm aware, that transaction will appear in the blockchain just the same as one in which I sent someone some bitcoins and they sent me some chocolate. The latter should be counted in NGDP, the former should not. Similarly, if Bob buys cocoa beans with bitcoins from Alice (who harvested them), then Bob uses them to make chocolate, which he sells to Charlie for bitcoins, then if we count both transactions towards NGDP (Alice to Bob, Bob to Charlie), then we are double counting the cocoa beans. True NGDP in this case is just the value of the second transaction.

Thus extracting NGDP from the blockchain seems like an impossible undertaking. But perhaps I'm missing something.

NGDP is essentially every unit of x currency spent in an economy. Official GDP figures are only an estimate & there are different ways of estimating that. We can get a very accurate measure for a certain type of NGDP, money supply (probably similar to M1 money supply) & velocity of money from the blockchain. They may be slightly different to typical government stats, but they should at least be more accurate & updated in real time.

So, essentially, we can use these metrics that are easy to generate from the blockchain to determine the demand for the currency. We can control the increase in money supply through controlling the block reward for miners. Transaction fees could be used as a tax to take money out, or maybe there are other ways.

A good argument for targeting NGDP, or velocity (or whatever you want to call it) is that it's pretty simple to measure on a blockchain. Doing that with a traditional currency would be much more prone to error.

Just need the maths to do that. Should be a fairly simple formula to create a currency who's supply responds to demand to enable even more stable (or slightly inflating) prices than good fiat currencies.

Instead of measuring & targeting price inflation to promote growth, we can measure & target growth with the aim of low price inflation.

ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 30, 2014, 04:55:54 PM
 #44

NGDP is essentially every unit of x currency spent in an economy.

No, it's not. It's the total dollar value of final (not intermediate) sales, equivalently, total dollar value added.

You may possibly be right that targeting the total nominal value of all transactions might be an improvement on existing crypto currencies. I really wouldn't like to say, since it depends on the relative variances of various unobserved factors. My hunch is that targeting something sub-optimal like this would not be worth the risk.
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1129


View Profile
March 30, 2014, 05:06:14 PM
 #45


So, essentially, we can use these metrics that are easy to generate from the blockchain to determine the demand for the currency. We can control the increase in money supply through controlling the block reward for miners. Transaction fees could be used as a tax to take money out, or maybe there are other ways.

A good argument for targeting NGDP, or velocity (or whatever you want to call it) is that it's pretty simple to measure on a blockchain. Doing that with a traditional currency would be much more prone to error.

Just need the maths to do that. Should be a fairly simple formula to create a currency who's supply responds to demand to enable even more stable (or slightly inflating) prices than good fiat currencies.

Instead of measuring & targeting price inflation to promote growth, we can measure & target growth with the aim of low price inflation.

Right.  Instead of looking for the stats we can't get, we should be looking at the stats we can get and figuring out how we can use them to make something that works better than if we ignored them.  

So, really, that's what I'm interested in too.  The stats we can get from the block chain aren't exactly the NGDP, or aren't exactly the velocity of money, or whatever,  But they are what we can get, and if we're to do any better than we've done they're what we have to start with.  

I'm no economist, and I don't know what to assume or do about them, but surely they are related to figures that economists have studied?  Maybe not perfectly, but enough for some broad empirical rules under reasonable assumptions about those relationships, about how to respond to them to make things better than they'd be if we simply ignored them?  

'Cause if we can't do better than ignoring them what's this conversation about in the first place?

maaku
Legendary
*
Offline Offline

Activity: 905
Merit: 1011


View Profile
March 30, 2014, 05:21:57 PM
 #46

But there aren't any meaningful stats you can extract out of the block chain. The fact that the block chain exposes who paid how much to whom is a bug, not a feature, and that source of data will be eliminated in the near future. The question will become: how do you control the nominal interest rate without any econometric data whatsoever?

There's a reason Freicoin's demurrage rate is flat: it's not out of laziness or ignorance. It's the best you can do! The only other real option is to track by means of a synthetic asset or prediction market, but that leaves the entire economy vulnerable to collusion and manipulation. But having a fixed demurrage rate doesn't make Freicoin broken - instead of the real nominal interest rate varying between 4-6%, it'll vary between -1% and 1%. This is an improvement. And, sadly, the best that can be done without sacrificing user privacy and/or decentralized control.

I'm an independent developer working on bitcoin-core, making my living off community donations.
If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP
ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 30, 2014, 05:29:08 PM
 #47

Right.  Instead of looking for the stats we can't get, we should be looking at the stats we can get and figuring out how we can use them to make something that works better than if we ignored them.  

So, really, that's what I'm interested in too.  The stats we can get from the block chain aren't exactly the NGDP, or aren't exactly the velocity of money, or whatever,  But they are what we can get, and if we're to do any better than we've done they're what we have to start with.  

I'm no economist, and I don't know what to assume or do about them, but surely they are related to figures that economists have studied?  Maybe not perfectly, but enough for some broad empirical rules under reasonable assumptions about those relationships, about how to respond to them to make things better than they'd be if we simply ignored them?  

'Cause if we can't do better than ignoring them what's this conversation about in the first place?

Well, my point was that we don't need any of these statistics. We don't need to know velocity, or NGDP. All we need to observe is the interest rate in a repo market denominated in the cryptocurrency, and you'll get big gains in stability. This doesn't seem too hard to me.

On the other hand, it's really not clear what the results of targeting the total value of all transactions would be. It's not even clear to me that it's possible. For example, you might think that you could just increase the interest rate on the currency when you were above the desired trend, since with higher interest rates on the currency, people have an incentive to hold it rather than making transactions. But if some people in the crypto-economy are more patient than others, then an increase in interest rates will lead to the patient people buying the crypto-coins off the impatient ones, generating additional transactions. Without sitting down and doing the maths I'd find it very hard to say what would happen here, and if I find it hard to predict, the chances are other participants in the market would also find it hard to predict, and you'd get more instability not less.
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1129


View Profile
March 30, 2014, 05:48:34 PM
 #48

Oh... kay....  I'm game, but still struggling to see how to do it.

First explain carefully what a "repo market" as opposed to, say, a bond exchange or stock exchange or futures market is, or when one or more of the latter counts as a repo market.  Second, exactly how an interest rate relates to such a market.  The only one of those market types where interest rates are directly measurable seems to me to be some kind of futures market. 

If it's a service that we can figure out how to completely decentralize and build into the blockchain itself, then we're cooking with gas. If it's something that would be an external resource, or that would have to be centralized at a website somewhere, then it gets us nothing. 

The basic requirements here for the automatic reaction that we're looking for is that it has to arise in a decentralized p2p service, where the information that's being reacted to is visible to and checkable by literally everybody who can see the blockchain up to the point where the information matters.  Essentially the problem is that if it's an external source of information - if it reflects information not immediately visible to everyone looking at the blockchain - then people will not be able to check the blockchain to see that the response to it was correct at every point.   Being part of the blockchain, in turn, means it has to be a fully decentralized P2P application. 

Now, if it "still doesn't seem too hard" to you, then obviously you have a lot of experience designing fully decentralized P2P applications. 




maaku
Legendary
*
Offline Offline

Activity: 905
Merit: 1011


View Profile
March 30, 2014, 05:59:13 PM
 #49

Quote
All we need to observe is the interest rate in a repo market denominated in the cryptocurrency, and you'll get big gains in stability. This doesn't seem too hard to me.

Okay, if it's not too hard then please reduce this down to practice and show us a detailed design of how this would work.

I'm an independent developer working on bitcoin-core, making my living off community donations.
If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP
markm
Legendary
*
Offline Offline

Activity: 2940
Merit: 1090



View Profile WWW
March 30, 2014, 06:05:42 PM
 #50

Or at least maybe check whether something like bitshares or the like, which already claims to plan decentralised markets that do not rely upon outside "oracles", might be able to or would not suffice to provide the required information.

Nice to have an economist active around here again.

Or wait, does a macroeconomist count as an economist or are they rather distinct different disciplines?

-MarkM-

Browser-launched Crossfire client now online (select CrossCiv server for Galactic  Milieu)
Free website hosting with PHP, MySQL etc: http://hosting.knotwork.com/
ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 30, 2014, 06:24:01 PM
 #51

The question will become: how do you control the nominal interest rate without any econometric data whatsoever?

There's a reason Freicoin's demurrage rate is flat: it's not out of laziness or ignorance. It's the best you can do! The only other real option is to track by means of a synthetic asset or prediction market, but that leaves the entire economy vulnerable to collusion and manipulation. But having a fixed demurrage rate doesn't make Freicoin broken - instead of the real nominal interest rate varying between 4-6%, it'll vary between -1% and 1%. This is an improvement. And, sadly, the best that can be done without sacrificing user privacy and/or decentralized control.

Perhaps I was a bit hasty in my discussion of Freicoin previously. If you could get an interest rate of -1% to 1% then without demurrage that would be an unambiguous improvement, since it represents a lessening of the inflation tax on holding money. However, doing it via demurrage is just replacing the inflation tax on holding money with an explicit demurrage tax. The fact it's explicit makes it marginally preferable, but the economic distortion is still there. People have to hold money to perform transactions, but they're penalised in doing so by the presence of inflation/demurrage.

I started working on a paragraph describing a potential mechanism, but I see there have been several subsequent posts, so I will defer it till my next post.
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1129


View Profile
March 30, 2014, 06:32:56 PM
 #52

Oh... kay....  I'm game, but still struggling to see how to do it.

First explain carefully what a "repo market" as opposed to, say, a bond exchange or stock exchange or futures market is, or when one or more of the latter counts as a repo market. 

After some quick research; a repo market is a very specialized type of bond market.    Someone sells a bond (borrows money), then buys it back for slightly more money (or repays the bond plus interest) 24 hours later.  

In the conventional financial world, this is done with government bonds.  The people who need to borrow large amounts for very short periods are almost all banks and brokerages, looking at short-term imbalances in the flow of money among themselves.  

Obviously, there are no government bonds in a cryptocurrency blockchain, so we couldn't do it that way.    It is possible (though some hard work would be involved) to make a decentralized market part of a blockchain.  

However, in the absence of a way to verify and preapprove the identity of the counterparty, it would be completely insane to buy a debt instrument such as a bond on that market.   Picture the buyer, one day later, calling the police: "somebody owes me a million coins, but I don't know who.... " Even if you do have a pretty good idea who, there is still counterparty risk which is effectively absent from repo markets in which the government is the counterparty, and counterparty risk will raise the interest rates in an unpredictable way.

Legal identities are essentially the relationship between people (or businesses) and governments.  When we need to convince people that they can use the government to enforce our agreement on us, we need to give them the legal identity that links that government to us.  So the participants in the repo market must necessarily first publicly register a legal identity and bind it to a key.

And at that point we're no longer talking about a completely decentralized service, because governments are huge pits of information all of which is external to the blockchain.  


maaku
Legendary
*
Offline Offline

Activity: 905
Merit: 1011


View Profile
March 30, 2014, 07:36:35 PM
 #53

ZeroNominal, I would argue that demurrage is more fair.i Maybe this is getting off-topic, but hey it's your thread. When you are using inflation, sticky prices mean that you end up favoring those close to the source of inflation, e.g. investment banks in the fiat economy, miners in the inflatacoin economy. Demurrage on the other hand is felt equally and instantaneously by everybody, pro-rata to their holdings.

I'm an independent developer working on bitcoin-core, making my living off community donations.
If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP
s1gs3gv
Legendary
*
Offline Offline

Activity: 1316
Merit: 1014

ex uno plures


View Profile WWW
March 30, 2014, 09:45:34 PM
 #54


When you find a way of creating a crypto-currency without institutional backing (a central bank or other large guarantor of liquidity and value) whose value doesn't trend towards the cost of mining it, please publish your results Satoshi !

Use of malicious negative trust to suppress free speech discredits the bitcoin community

ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 30, 2014, 10:51:23 PM
 #55

First explain carefully what a "repo market" as opposed to, say, a bond exchange or stock exchange or futures market is, or when one or more of the latter counts as a repo market.  Second, exactly how an interest rate relates to such a market.  The only one of those market types where interest rates are directly measurable seems to me to be some kind of futures market. 

A repo market is a collateralised bond market. See e.g. https://en.wikipedia.org/wiki/Repurchase_agreement . It combines elements of futures markets and bond markets to produce one which comes close to capturing the risk free rate. The basic idea is that I sell you an asset (perhaps below market price), and we both sign a contract in which we promise to trade back the asset at some specified price in the future. The specified price may be written as a function of market observables to remove some of the risks associated with fluctuations in the value of the asset. As you point out in a later post, an enforcement method is obviously needed for these contracts, however, if the collateral is appropriate, losses from the other party reneging on the contract may be minimal.

If it's a service that we can figure out how to completely decentralize and build into the blockchain itself, then we're cooking with gas. If it's something that would be an external resource, or that would have to be centralized at a website somewhere, then it gets us nothing. 
Or at least maybe check whether something like bitshares or the like, which already claims to plan decentralised markets that do not rely upon outside "oracles", might be able to or would not suffice to provide the required information.

Yes. OK. The details of the bitshares decentralized market seem a bit sketchy in the white paper, but they seem to have much of the required structure. eMunie also seems to have solved the problem, though I understand from Raxe that their solution isn't really decentralized. Finally, Ripple certainly provides a structure on which something like this could be built, with decentralized trust.

The basic requirements here for the automatic reaction that we're looking for is that it has to arise in a decentralized p2p service, where the information that's being reacted to is visible to and checkable by literally everybody who can see the blockchain up to the point where the information matters.  Essentially the problem is that if it's an external source of information - if it reflects information not immediately visible to everyone looking at the blockchain - then people will not be able to check the blockchain to see that the response to it was correct at every point.   Being part of the blockchain, in turn, means it has to be a fully decentralized P2P application. 

I do not pretend to know all the precise implementation details. I was hoping to provide useful guidance on the econ side, but having overused the word "easy" I guess I ought to put my money where my mouth is and conjecture as to how this could be implemented. The version I present here is without any explicit trust mechanism, though perhaps using the Ripple trick for trust would further help. For clarity in the below I call the new currency repocoins.

1) The wallet software would sync both the repocoin block chain, and that of a third party currency (Bitcoin would be the obvious one given its dominance, so I'll call the third party currency bitcoin below).

2)a) You host repocoin-bitcoin exchange orders within the repocoin blockchain, so they're public and verifiable. Each exchange order consists of two quantities: a number of bitcoins, B (possibly negative) and a price in units of repocoins P. The order represents an offer to sell (buy if negative) B bitcoins at the end of the current block at a price of P repocoins per bitcoin.
2)b) At the end of the block, the intersection of the supply and demand schedules are calculated, and the market exchange rate is set at this point. We will call this P* in the below. Since this is a deterministic function of the orders, it may be calculated by all nodes and verified en mass. All sell orders below P* will be executed (to be described), as will all buy orders above P*.
2)c) The repocoins and bitcoins in the orders to be executed are transferred as prescribed, with the bitcoin transactions going through first, and the repocoin ones only happening once the bitcoin ones have been verified en mass. Since the network can enforce the removal of repocoins, but not the removal of bitcoins, this order is required.

3)a) You host repocoin-bitcoin repo orders within the repocoin blockchain, so they're public and verifiable. Each repo order consists of two quantities: a number of bitcoins, B (possibly negative), and a gross interest rate R (e.g. 1.02 representing 2% interest). The order represents an offer to sell (buy if negative) B bitcoins at the end of the current block for a price of P* repocoins per bitcoin and buy (sell) them back at the end of the next block for a price of P*R repocoins per bitcoin. Note: the seller has borrowed BP* repocoins and will pay back BP*R, i.e. R is the gross nominal interest rate on their loan.
3)b) As before, we calculate the market interest rate R* from the intersection of the supply and demand schedules.
3)c) We mark (R*-1)BP* repocoins in the wallet of each seller as locked and untrasferable. This is enforced by consensus.
3)d) At the end of the current block, as before, the repocoins and bitcoins in the orders to be executed are transferred as prescribed, with the bitcoin transactions going through first, and the repocoin one only happening once the bitcoin ones has been verified. If a seller's bitcoin sale transaction fails for some reason then their previously locked repocoins are unlocked.
3)e) At the end of the subsequent block, the reverse transaction has to take place. This only happens if the seller's wallet has the required BP*R* repocoins (including the locked ones). If the seller doesn't have this number of repocoins, then the previously locked repocoins are unlocked and sent to the buyer. This leaves the buyer a total of B bitcoins and (R*-1)BP* repocoins, which are worth BP** + (R*-1)BP* repocoins, where P** is the new exchange rate. Providing the exchange rate fluctuations have not been excessive, this should still represent a moderate gain for the buyer. If the seller does have the required number of repocoins, then, as before, the bitcoins are transferred back first, and then the seller's locked repocoin are unlocked and the required repocoin are sent the other way. If the bitcoin transaction fails (e.g. because they do not have enough), then the seller keeps their repocoins, and the previously locked ones are unlocked. This leaves the seller with BP*R* repocoins, which (given small exchange rate fluctuations) they ought to prefer to B repocoins.
3)f) So, given the locking mechanism, it is only following large exchange rate movements that people will have an incentive to default. At worst then, R* will be the market gross nominal interest rate plus a bit of a risk premium. But fluctuations in the risk premium should be small compared to the fluctuations in the value of e.g. bitcoin, so targeting R* will still result in a stable currency.

4) Once the market rate in the repo market is observable, it's then just a matter of applying sufficient PoS interest on the next block when the repo market rate is below target, and demurrage if its above target. For example, suppose the target is 4%. Then, if the market rate were to be 3%, sellers in the repo market would gain interest on the repocoins they borrowed during the block in which they'd borrowed them, and hence they'd be more inclined to borrow in the first place, pushing up the market interest rate.
maaku
Legendary
*
Offline Offline

Activity: 905
Merit: 1011


View Profile
March 31, 2014, 12:03:43 AM
 #56

Why wouldn't I default every time it's in my favor?

I'm an independent developer working on bitcoin-core, making my living off community donations.
If you like my work, please consider donating yourself: 13snZ4ZyCzaL7358SmgvHGC9AxskqumNxP
Cryddit
Legendary
*
Offline Offline

Activity: 924
Merit: 1129


View Profile
March 31, 2014, 06:36:28 AM
 #57

Okay, what I'm reading into this is that in order to borrow 15 coins (sell 15 repocoins worth of bitcoin with an offer to buy the same amount of bitcoin back for ~15.005 repocoins the following day) the borrower must "lock" collateral worth a bit more than 15 repocoins for the duration of the time he's borrowing. 

If this collateral is repocoins, then obviously his borrowing makes no sense because repocoins are fungible.  whatever purpose he has for the repocoins he intended to borrow would be just as well served by the repocoins he's locking up for the duration.  Therefore I conclude that the collateral here must be in some other asset.  But if the collateral is in Bitcoins, then he's locking up the same amount of Bitcoins that he's loaning out, so wouldn't he be charging additional interest because this is tying up twice as much of his assets as are actually appearing on the market?




ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 31, 2014, 09:59:19 AM
 #58

Why wouldn't I default every time it's in my favor?

You would. But, 1) you'd only do this in the movement in exchange rates was larger than the interest rates, which it won't be a lot of the time, and 2) by construction, the loss to the other party from doing this is on the order of (R-1)(P**-P*) i.e. the product of two small things, so the risk premium this adds to interest rates should be small.
ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 31, 2014, 11:16:46 AM
 #59

Okay, what I'm reading into this is that in order to borrow 15 coins (sell 15 repocoins worth of bitcoin with an offer to buy the same amount of bitcoin back for ~15.005 repocoins the following day) the borrower must "lock" collateral worth a bit more than 15 repocoins for the duration of the time he's borrowing. 

If this collateral is repocoins, then obviously his borrowing makes no sense because repocoins are fungible.  whatever purpose he has for the repocoins he intended to borrow would be just as well served by the repocoins he's locking up for the duration.  Therefore I conclude that the collateral here must be in some other asset.  But if the collateral is in Bitcoins, then he's locking up the same amount of Bitcoins that he's loaning out, so wouldn't he be charging additional interest because this is tying up twice as much of his assets as are actually appearing on the market?

Over-collateralization is standard in repo exchanges. The collateral here is mostly bitcoins, plus the small amount of repocoins required to pay the interest.

Your point about the missing interest on the bitcoins is correct though. Just as the buyer is lending the seller repocoins, the seller is effectively lending the buyer bitcoins, and the buyer might legitimately like interest on this, if they didn't expect compensating increases in the purchasing power of bitcoins. The Hotelling model of resource extraction would predict precisely such increasing bitcoin value, which was what I had in the back of my mind. However, it is an undesirable feature of what I presented previously that some of the medium run departures from Hotelling rule growth of repocoins will potentially be reflected in the value of bitcoins. I'll see if this can be remedied.
ZeroNominal (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
March 31, 2014, 04:09:46 PM
 #60

I'll see if this can be remedied.

Modify 3 as follows, changes in red. These changes also ensure that the interest rates are 100% risk free, with the risk now being spread equally over all of the users of the currency, not just those participating in bond markets. I have an idea for further simplifying things by combining 3 and 4, but I'm not sure I have the will power to spend further time arguing here...

3)a) You host repocoin-bitcoin repo orders within the repocoin blockchain, so they're public and verifiable. Each repo order consists of three quantities: a number of bitcoins, B (possibly negative), and two gross interest rates, Rr and Rb (e.g. 1.02 representing 2% interest). The order represents an offer to sell (buy if negative) B bitcoins at the end of the current block for a price of P* repocoins per bitcoin and then buy (sell) RbB bitcoins back at the end of the next block for a total cost of P*RrB. Note: the seller has borrowed BP* repocoins and will pay back BP*Rr, i.e. Rr is the gross nominal interest rate on their loan. Meanwhile, the buyer has borrowed B bitcoins and will pay back BRb bitcoins, so Rb is the gross nominal interest rate on their loan.
3)b) Market interest rates Rr* and Rb* are determined by the following verifiable, deterministic algorithm. First, a list of all of the values Rr takes in orders is created, along with a list of all of the values Rb takes. At any particular value of Rr and Rb we can calculate the total volume of trade that would occur. We take the values which maximise this trade volume as the market rate.
3)c) We mark (Rr*-1)BP* repocoins in the wallet of each seller as locked and untrasferable. We also mark (Rb*-1)BP* repocoins in the wallet of each buyer as locked and untransferable. This locking is enforced by consensus.
3)d) At the end of the current block, as before, the repocoins and bitcoins in the orders to be executed are transferred as prescribed, with the bitcoin transactions going through first, and the repocoin one only happening once the bitcoin ones has been verified. If a seller's bitcoin sale transaction fails for some reason then their previously locked repocoins are unlocked.
3)e) At the end of a specified, later, block, the reverse transaction has to take place. This only happens if the seller's wallet has the required Rr*BP* repocoins (including the locked ones).

If the seller doesn't have this number of repocoins, then the previously locked repocoins are unlocked and sent to the buyer along with any other repocoins left in the wallet. Exchange limit orders are then automatically generated to sell the buyer's B bitcoins if they have them, an any price. This generates BP** repocoins (where P** is the new exchange rate) which are then destroyed, along with the (Rb-1)BP* locked repocoins in the buyer's wallet. Simultaneously, RrBP*repocoins are generated (from nothing) and transferred to the buyer.  This leaves the buyer with at least the number of repocoins they were promised, despite the seller's default. To disentivise the seller from doing this too many times, after a default they would be excluded from the repo market from then on. And, in the long run, a bitcoin cost of wallet opening would be introduced to counter-balance default losses from people repeatedly opening new wallets.

If the seller does have the required number of repocoins, then, the buyer's B bitcoins are transferred back first, and then the buyer's (Rb-1)BP* locked repocoins are destroyed, and exchange limit orders are automatically generated in order to buy (Rb-1)B bitcoins at any price, using repocoins generated from nothing, with the resulting bitcoins transferred to the seller. Finally, the seller's locked repocoin are unlocked and the required repocoin are sent the other way. If the bitcoin transaction fails (e.g. because they do not have enough), then the buyer's (Rb-1)BP* locked repocoins and the seller's RrBP* are all destroyed, and exchange limit orders are generated in order to buy RbB bitcoins at any price, using repocoins generated from nothing. This leaves the seller with the number of bitcoins they expected. As before, the buyer is excluded from future participation in repo markets following default.[/color]
3)f) So, given the locking mechanism, it is only following large exchange rate movements that people will have an incentive to default, and when they do default, losses for the repocoin community will still be minor since they'll be proportional to abs(Rr-Rb)abs(P*-P**) (small).
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!