Author

Topic: Annihilation Market: Trustless, P2P, distributed, Zero Sum, No deposit, No fees. (Read 4600 times)

member
Activity: 81
Merit: 10
Hi, this is a very interesting idea and I highly encourage you (or anybody else) to attempt to code it up.

If I am understanding your idea correctly, this would be quite similar to ICBIT.se, the existing bitcoin futures exchange, which has been trading for some time.  Originally you could deposit and withdraw both bitcoin and dollars there but they have since removed the option to transact in fiat directly.  So now it's just bitcoin in and bitcoins out, trading on virtual dollars, much like your idea.

Of course the difference would be that yours would be decentralized, with no fees for the centralized owner to charge, and no third-party credit risk.  Also, yours would be more like a "spot future" which would be continually settled, unlike the futures on ICBIT.se which settle every month.

I can think of no technical or commercial reason why this idea couldn't catch on and perhaps eventually become the de facto spot market for bitcoin/fiat ... with the following catch: other centralized exchanges dealing in btc/fiat that actually transact in fiat will still be necessary somewhere.

If someone has btc and needs dollars, or to buy something in dollars, your exchange can't help.

It already exists and it is called Bitshares by Invictus Innovations...
sr. member
Activity: 1582
Merit: 253
What happens if you hold 400$ worth of anti-credit and the price falls to 1$?  You would owe 400 bitcoins to close that anti-credit.

And on the flipside, I'm owed 400$ worth of bitcoins and I want to use my credit to purchase 400 bitcoins. Where do they come from?

And the problem exponentially increases as the price nears 0$.

BTW this feels like an options market, where obligations are paid with the equivalent USD amount in BTC.

Also an excellent question.  If you hold an anti-credit position, there is a "floor" of how low the price can go before the system forces it to close.  This would depending on how much of your own bitcoin reserves are backing the position. The person who has this option open would be able to adjust this limit depending on how much risk they're willing to tolerate.

Remember that no one can just take a bitcoin loan for free, they're also guaranteeing that they'll pay back an appropriate amount of credit into the system (and hoping that the price goes up so it takes less bitcoin)

If I have 1 bitcoin of my own, and I accept 1 of yours for $400 worth of anti-credit, the price can only fall to $200 at the lowest before my margin is up, and I am automatically forced to sell back both 2 BTC for $200 each.  Any lower than this, and the bitcoin I hold in my option won't be enough to cover the credit I've promised.


It's scary how similar this is to BTS X! Great minds think alike it seems.

I would really urge you to check out BTS, I think you'll find there's good reason they're choosing to do a separate blockchain.
Your "no fees" advantage is no advantage at all because you're still paying BTC tx fees, which due to POW mining will always be higher than what is possible with BTS X.
sr. member
Activity: 367
Merit: 250
Find me at Bitrated
What happens if you hold 400$ worth of anti-credit and the price falls to 1$?  You would owe 400 bitcoins to close that anti-credit.

And on the flipside, I'm owed 400$ worth of bitcoins and I want to use my credit to purchase 400 bitcoins. Where do they come from?

And the problem exponentially increases as the price nears 0$.

BTW this feels like an options market, where obligations are paid with the equivalent USD amount in BTC.

Also an excellent question.  If you hold an anti-credit position, there is a "floor" of how low the price can go before the system forces it to close.  This would depending on how much of your own bitcoin reserves are backing the position. The person who has this option open would be able to adjust this limit depending on how much risk they're willing to tolerate.

Remember that no one can just take a bitcoin loan for free, they're also guaranteeing that they'll pay back an appropriate amount of credit into the system (and hoping that the price goes up so it takes less bitcoin)

If I have 1 bitcoin of my own, and I accept 1 of yours for $400 worth of anti-credit, the price can only fall to $200 at the lowest before my margin is up, and I am automatically forced to sell back both 2 BTC for $200 each.  Any lower than this, and the bitcoin I hold in my option won't be enough to cover the credit I've promised.
sr. member
Activity: 367
Merit: 250
Find me at Bitrated
Any updated thoughts on this vs. BitShares?

Great question, I'm going to have to fully look into bitshares, but one of the fundamental differences is that this wouldn't require an extra blockchain, and it doesn't result in "fees" being paid on top of trades.
member
Activity: 88
Merit: 10
What happens if you hold 400$ worth of anti-credit and the price falls to 1$?  You would owe 400 bitcoins to close that anti-credit.

And on the flipside, I'm owed 400$ worth of bitcoins and I want to use my credit to purchase 400 bitcoins. Where do they come from?

And the problem exponentially increases as the price nears 0$.

BTW this feels like an options market, where obligations are paid with the equivalent USD amount in BTC.
sr. member
Activity: 256
Merit: 250
Invictus have developed a long way in this direction and they need lots of people. They also have crazy funding coming in and lots of bounties. Check out their February newsletter for more information.
hero member
Activity: 588
Merit: 504
This works the same way as BitAssets in Bitshares X.

Under Bitshares X, users can create BitUSD, BitGold (BitAssets) backed by BTS (the navtive internal currency) in the same way OP described.

Good to know, I'll check that out Uncle.

Also see https://github.com/PhantomPhreak/Counterparty
full member
Activity: 140
Merit: 100
This works the same way as BitAssets in Bitshares X.

Under Bitshares X, users can create BitUSD, BitGold (BitAssets) backed by BTS (the navtive internal currency) in the same way OP described.

Good to know, I'll check that out Uncle.
member
Activity: 100
Merit: 13
This works the same way as BitAssets in Bitshares X.

Under Bitshares X, users can create BitUSD, BitGold (BitAssets) backed by BTS (the navtive internal currency) in the same way OP described.
sr. member
Activity: 1582
Merit: 253
member
Activity: 89
Merit: 13
Quote
"Credit" itself may operate like a redemption token that is inversely proportional in price to bitcoin.  It entitles a user to more bitcoin as the price drops, and less bitcoin as the price rises.   Where it is "stored" is trickier to answer, because it doesn't necessarily have to exist at all.   When a "seller" posts an offer to lend bitcoin in exchange for credit, any person who already has credit (from previous sales) is entitled to take that bitcoin in exchange.  Credit is single-use however, and cannot be double spent.

So far, this is a vision statement (a good one) but is not clear if it could even be implemented.

I need clarifications for example, how can one distinguish between credit of various types? USD/EUR/Gold. How is credit spending tracked on the blockchain? How is double spending prevented?

Quote
"Anti-credit" binds the bitcoins within a specific order to an address, and does not give the owner permission to withdraw them unconditionally.  The process of taking possession of those BTC may ultimately look like some sort of multi-sig transaction which mandates that the BTC cannot be moved until the anti-credit is neutralized.  The higher the price goes, the less bitcoin a user has to 'sacrifice' in order to withdraw the rest.

This locks the user out and may retard adoption. What is the point in getting bitcoin if you cant use it for whatever you need it for? Note that in the fiat world, you can exchange USD for EUR and you are free to do whatever you want with the currency you currently possess.

It may be better to re-brand the "credit and anti-credit" as "long and short" contract positions, since when you are in a long futures contract, the only thing you can do is to hold it or close it out for profit or loss.
full member
Activity: 140
Merit: 100
The big difference between this and ripple, is that it doesn't require the pre-creation of any currency units, or even an independent currency.  Credit is created on par with a lender giving away bitcoin, and "anti-credit" (essentially debt) is created in the same action for the party that takes that bitcoin.  Annihilation capitalizes on the fact that two parties may agree on the current fair value of a bitcoin but disagree as to whether it is over or undervalued.  

I follow, and stand corrected.

Also unlike ripple, it would not be run by any company or foundation.  Fortunately, there is no "Annihilation Exchange Inc."

That is certainly a strength.

How would balances be handled, I'm thinking that to take out a 1 BTC order you would have to have more than 1 BTC, enough to cover any loss.. let's say 2 BTC.
What would "$400 credit" entail, is this an IOU, who or what backs it, in what way is it a store of value? (I think I am missing an abstraction)
Generally I feel the second flow chart would be clearer if both sides had a fixed $350 value and a change in btc value instead.
sr. member
Activity: 367
Merit: 250
Find me at Bitrated
Quote
This is already codified as trading of IOUs in ripple.

However, I like the way you have explained it, and can't see any technical difficulty in creating this as a distinct module / layer.

The big difference between this and ripple, is that it doesn't require the pre-creation of any currency units, or even an independent currency.  Credit is created on par with a lender giving away bitcoin, and "anti-credit" (essentially debt) is created in the same action for the party that takes that bitcoin.  Annihilation capitalizes on the fact that two parties may agree on the current fair value of a bitcoin but disagree as to whether it is over or undervalued.  

Also unlike ripple, it would not be run by any company or foundation.  Fortunately, there is no "Annihilation Exchange Inc."
full member
Activity: 140
Merit: 100
This is already codified as trading of IOUs in ripple.

However, I like the way you have explained it, and can't see any technical difficulty in creating this as a distinct module / layer.
sr. member
Activity: 367
Merit: 250
Find me at Bitrated
I've been working on a decentralized futures+derivative exchange for a while and this is certainly interesting to me.

EDIT: The real issue is how to create a fair and coherent distributed orderbook. Will it be on a separate website or set of websites? That would still act like a bunch of exchanges. A truly decentralized model would work at the level of individual users.

A second issue is the credit/anti-credit. Where will it be stored? On the blockchain? As dust? On separate websites?

What prevents someone from simply accepting coins for credit and then no longer participating in the system?

Lots of issues here.


More power to you.  I completely agree that the level at which the exchange operates needs to be addressed (but for now I also want to make sure the market forces operating here are sound)

As far as decentralization goes, this system would ideally not have to connect to a specific website or internet browser at all.  It may ultimately be managed through a special type of personal bitcoin wallet that can store this bitcoin, and keep account of it's credit/anti-credit pairs.

"Credit" itself may operate like a redemption token that is inversely proportional in price to bitcoin.  It entitles a user to more bitcoin as the price drops, and less bitcoin as the price rises.   Where it is "stored" is trickier to answer, because it doesn't necessarily have to exist at all.   When a "seller" posts an offer to lend bitcoin in exchange for credit, any person who already has credit (from previous sales) is entitled to take that bitcoin in exchange.  Credit is single-use however, and cannot be double spent.

"Anti-credit" binds the bitcoins within a specific order to an address, and does not give the owner permission to withdraw them unconditionally.  The process of taking possession of those BTC may ultimately look like some sort of multi-sig transaction which mandates that the BTC cannot be moved until the anti-credit is neutralized.  The higher the price goes, the less bitcoin a user has to 'sacrifice' in order to withdraw the rest.

Lots of technical details would be have to ironed out to make this provably work, but the result is an exchange system where trust is not an issue.

By accepting BTC, you are committed to selling some portion of the BTC back before it can leave and the rest is yours. 
By loaning BTC, you are given a proportional power to redeem this credit for BTC later 
sr. member
Activity: 367
Merit: 250
Find me at Bitrated
Quote
I can think of no technical or commercial reason why this idea couldn't catch on and perhaps eventually become the de facto spot market for bitcoin/fiat ... with the following catch: other centralized exchanges dealing in btc/fiat that actually transact in fiat will still be necessary somewhere.

Thanks for the feedback!  I've been wondering about this too.  Suppose I've already "sold" my bitcoin for $700 worth of purchasing power in this system.  If that credit is limited and can't be double spent, what should stop me from being able to just transfer that credit to someone else? 

In theory, I could turn around and sell that token of information that entitles me to buy $X worth of bitcoin.  I might arrange a face-to-face meeting and exchange it for real world dollars. I would be giving this person not just bitcoin, but the authority to redeem something for a given amount of bitcoin depending on the market price. 

The equivalent anti-credit would ensure that the system has $700 worth of bitcoin (at some price) waiting to be sold.
member
Activity: 89
Merit: 13
I've been working on a decentralized futures+derivative exchange for a while and this is certainly interesting to me.

EDIT: The real issue is how to create a fair and coherent distributed orderbook. Will it be on a separate website or set of websites? That would still act like a bunch of exchanges. A truly decentralized model would work at the level of individual users.

A second issue is the credit/anti-credit. Where will it be stored? On the blockchain? As dust? On separate websites?

What prevents someone from simply accepting coins for credit and then no longer participating in the system?

Lots of issues here.
sr. member
Activity: 408
Merit: 261
Hi, this is a very interesting idea and I highly encourage you (or anybody else) to attempt to code it up.

If I am understanding your idea correctly, this would be quite similar to ICBIT.se, the existing bitcoin futures exchange, which has been trading for some time.  Originally you could deposit and withdraw both bitcoin and dollars there but they have since removed the option to transact in fiat directly.  So now it's just bitcoin in and bitcoins out, trading on virtual dollars, much like your idea.

Of course the difference would be that yours would be decentralized, with no fees for the centralized owner to charge, and no third-party credit risk.  Also, yours would be more like a "spot future" which would be continually settled, unlike the futures on ICBIT.se which settle every month.

I can think of no technical or commercial reason why this idea couldn't catch on and perhaps eventually become the de facto spot market for bitcoin/fiat ... with the following catch: other centralized exchanges dealing in btc/fiat that actually transact in fiat will still be necessary somewhere.

If someone has btc and needs dollars, or to buy something in dollars, your exchange can't help.
sr. member
Activity: 367
Merit: 250
Find me at Bitrated
Here we consider the idea of a so-called "Annihilation Market," named after the process of complete destruction that occurs in the combination of matter and antimatter.

With bitcoin, this type of exchange allows a single person to buy or sell BTC by either lending it or accepting it at a market determined value.  After lending or accepting, later, a user can close their position for a bitcoin gain or loss depending on the relative forces that cause more lending (selling) or committing (buying).  A lender would hope the price goes down so they can receive more bitcoin upon withdrawal.  A committer would hope that the price goes up so that they can repay their commitment with a smaller amount of bitcoin, earning more than what they started with.

The end result is an unspoofable price seeking engine driven entirely by bitcoin, and user are able to obtain more bitcoin whether the market is increasing or decreasing in value.

A fully functional exchange of this type would have a number of perks in the crypto world:

  • It can be open source and run in a decentralized manner, with rules based on cryptographic contracts only
  • Without a central operator, it does not charge/accept fees.
  • It does not store bitcoin
  • It does not require users to know anything about one another, or trust one another, or provide documentation to prove who they are
  • it enables a price-seeking market based on the lending and accepting of a single commodity only (bitcoin), without the necessity to transfer-in or hold fiat
  • The market is a zero-sum system, and does not create or destroy bitcoin.
  • It does not require users to deposit funds that they are not interested in trading, or keep a balance, unless they have an active order on the network
  • Upon closing an order, the bitcoin funds can be immediately sent back to the owners' wallets
  • Positions are not "all or nothing."  Limit and stop-loss orders can allow users adjust their risk levels.
  • It is possible to increase bitcoin holdings regardless of the market's direction.

Importantly, this concept is still experimental and will need a great deal of input/testing to get running.  Here is an example of how the orderbook is built:



As a trader, you can choose to either offer a position (similar to placing a limit order) or accept a position (just like placing a market order) with your bitcoin.  These actions (and the amount of bitcoin involved) can directly affect how much the market perceives bitcoin is worth and how much others are willing to buy and sell it for.  



Important Notes:

"credit" is not an alt currency, and it cannot be withdrawn from the decentralized exchange.  It is a representation of how much bitcoin a user is entitled to upon withdrawal.  While credit stays the same, the amount of bitcoin that credit is worth fluctuates with the market.

Example: As a buyer (committer,) you must reserve some of your own bitcoin as collateral before accepting BTC in a buy position.

1) Say I want to buy 1 BTC worth $500 in the market.
2) I have 1 BTC of my own, and choose to use that much as collateral
3) Waiting for the appropriate market rate, I finally accept the best lender's offer, committing myself to pay back $500 worth of Bitcoin in the market before I'm able to withdraw.  At the exact same time, the lender receives $500 worth of credit to spend on BTC at a time of their choosing.
4) Now I effectively own 2 BTC, but I MUST set a stop loss order that will prevent me from owing more than 2 BTC to the market.  At the most, I could set my stop to sell 2 BTC at $250, but this would result in a total loss, something I see as undesirable.  I move to put a stop loss at $400, meaning if my bitcoin loses value to become worth only $400 USD/BTC, I've decided to take a loss at that point and sell back 1.2 BTC into the system, keeping my 0.8 BTC for myself
5) If my bitcoin gains value, I can sell it back to the market at any time.  Suppose that the market is so competitive that it drives up the price to $600 BTC/USD, I can choose to withdraw my bitcoin back out of the system. Doing so requires me to pay back $500 worth of bitcoin, which is 0.83333333 BTC.  Now I have 1.16666667 BTC (worth $700) outside of the exchange for myself.


More details to come.  Just gauging interest for now.
Jump to: