Pages:
Author

Topic: Primer for a P2P Distributed Exchange (Read 17667 times)

hero member
Activity: 630
Merit: 500
Bitgoblin
June 23, 2014, 07:14:56 AM
I like the idea, but the tricky bit is where you have to interface Bitcoin and < insert sovereign currency >. That's the problem. Price discovery and broadcast isn't quite as difficult as the "back end" settlement part.
This!

"Let's pretend the biggest blocking and game-breaking problem isn't there, and go on with everything else", isn't exactly a sound plan.
member
Activity: 133
Merit: 10
June 23, 2014, 06:26:09 AM
I like the idea, but the tricky bit is where you have to interface Bitcoin and < insert sovereign currency >. That's the problem. Price discovery and broadcast isn't quite as difficult as the "back end" settlement part.
legendary
Activity: 1008
Merit: 1001
Let the chips fall where they may.
June 21, 2014, 02:33:41 PM
eh, I still don't think it will work. Maybe somebody will prove me wrong.
hero member
Activity: 526
Merit: 508
My other Avatar is also Scrooge McDuck
June 19, 2014, 10:45:36 PM
OMG this thread lives!

All the cool people are over at: http://openbazaar.org

Can't wait!

http://www.youtube.com/watch?v=w4vtUPJEmqg
hero member
Activity: 700
Merit: 520
June 19, 2014, 04:16:43 PM
BlueMeanie is Joshua Zeidner, a java developer who contacted me a year or two ago regarding Open-Transactions and tried to start a company with me.

At the time he was very pro-Open-Transactions, and he was pushing very hard to come out to L.A. and work on a Java version of OT with me. He wanted to go right down to the courthouse and register a company so we could work on it together.

However, Johann and I ended up having to part ways with Josh due to his aggressive and toxic torpedoing of business relationships. (Several people can attest to this.) I regret that I ever had any dealings with Joshua Zeidner.

We are focused on building products, and won't engage further with Josh.

Anyone who has further questions can reach me at [email protected].


new experiences with the guy: https://bitcointalksearch.org/topic/m.7369092

~CfA~
k99
sr. member
Activity: 346
Merit: 255
Manfred Karrer
February 13, 2014, 05:49:12 PM
I would like to announce a concept for a P2P Fiat-Bitcoin Exchange.
See here:
https://bitcointalksearch.org/topic/bank-run-p2p-fiat-bitcoin-exchange-462236
sr. member
Activity: 294
Merit: 250
You are a geek if you are too early to the party!
OK, I've spent some time thinking and it would seem to me that the only way to get this working at a scale that would make sense, is to piggy back the fiat converting onto an infrastructure that already exists.

The problem with trying to convert a bank transfer to an exchange is that it involves using the banks, and I would really prefer we didn't, because it keeps bitcoin outside the establishment.  You also find that banks have a habit of closing accounts, and if the door closes, then the exchange fails to get fed! Wink

If we are looking to convert cash into something we can use to trade for bitcoins, what about using something that is already easy to transfer, such as telecom credits?  I am not suggesting that we do this, just that we look at other commodities that are already easy to convert into a digital form, which can then be traded.

On the scaling side, I am thinking that if anyone in my local area needs to buy a commodity, they take their plastic card with the account details on it to the local shop.  Here they use a POS device to add credits to their account, and that is the end of the trade. What if we were able to do that instead of setting up a network of little money changers all over the world?

This is the point where my brain freezes because I can't think of another example, but I hope others can! Smiley
full member
Activity: 215
Merit: 100
Shamantastic!
The only challenge involved with creating a distributed exchange is fiat handling. There are two strategies which might accomplish this:

1) Large gateway businesses which can afford to be fully compliant with all applicable laws and regulations.
2) A "too numerous to regulate" swarm of individuals willing to operate low volume exchanges which can in aggregate move a significant amount of money.

Anybody who is talking about subjects other than how to move fiat isn't actually interested in building a P2P exchange for real, it's all just a conceptual exercise that will never get anywhere in the real world.

Anybody who is serious about a distributed P2P exchange should focus all their efforts on achieving 2), because the rest of the problem is trivial. The first step here is answering the question, "How long will it take to get to 10000, then 100000, participants?"

I agree with JR and would like to focus on 2 items that he has determined:
What has yet to happen is the realization that financial goals(p2pExCh) can and often do have their origin in other matters. My worldview remains static in regards to financial matters(fiat) because I want it that way. I may wish for something other than what is currently available, but reject it straight away because the likelihood of success from another actor(*exchange) is weak at best.
If we approach the matter from a non-financial realm such as civic duty or community involvement, or NGO/*club/consortium then we begin to see a new angle and stop smashing into the same wall. What ties people together? What tears them apart? Acting as a group would allow large amounts of small interactions of fiat/btc.
10000: is a good start, 100000: is a good second gear. 1000000: nearing full speed?
Adoption of something other than financial freedom(non-fiat) must precede a P2P exchange. Something everyone values; like an opinion or sports team(etc). Teach people to move in concert to avoid damage from financial catastrophes and fleecing by the wolf pack.
Give them a recognizable Wot. Not a BS one or a techies-only one. Grandma ain't going to the parade if it is full of radicals and miscreants. What I see is a SW engineering superiority complex of bicus dicus. Try cooperation, not competition as a resolution.
Armies came into being because the nation state demanded it. Bitcoin may be the demand of new memespace that we are bordering but cannot comprehend. Yet.
legendary
Activity: 1400
Merit: 1013
The only challenge involved with creating a distributed exchange is fiat handling. There are two strategies which might accomplish this:

1) Large gateway businesses which can afford to be fully compliant with all applicable laws and regulations.
2) A "too numerous to regulate" swarm of individuals willing to operate low volume exchanges which can in aggregate move a significant amount of money.

Anybody who is talking about subjects other than how to move fiat isn't actually interested in building a P2P exchange for real, it's all just a conceptual exercise that will never get anywhere in the real world.

Anybody who is serious about a distributed P2P exchange should focus all their efforts on achieving 2), because the rest of the problem is trivial. The first step here is answering the question, "How long will it take to get to 10000, then 100000, participants?"
sr. member
Activity: 280
Merit: 257
bluemeanie
http://www.american-buddha.com/orlin.vince.5.htm

"This is a story about the uses of propaganda, whereby appeals to "terrorism," "money-laundering," "child pornography," and other handy bugaboos are cited by the Overlords of the Surveillance State as an excuse to send jack-booted thugs to "protect us," to monitor our every action to make sure we toe the current political line, and to create vast financial data bases to ensure we get taxed to pay for all of the above. "

this isn't a new trend.

http://orlingrabbe.com/money1.htm

"These elements all want to know where your money comes from, and when and how you spend it. After all, you might be a terrorist, drug dealer, or spy. And if you try to hide your transactions, you are by definition a money launderer and perhaps a child pornographer." (written in 1995)

who can actually take the WSJ seriously at this point?


"And at the press conference it was explicitly stated that there is no ill will toward virtual currencies, only towards certain things they may be used for, which is fantastic news."

oh yes... they just want to protect us from ourselves, right?

https://www.youtube.com/watch?v=AynGBMUgdmg
sr. member
Activity: 294
Merit: 273
http://online.wsj.com/article/SB10001424127887323855804578511121238052256.html?mod=WSJ_hp_LEFTWhatsNewsCollection#

"Officials brought charges against a group of men who allegedly manufactured an Internet-based currency"

"...to move money earned from credit-card fraud, online Ponzi schemes, child pornography and other crimes."

And at the press conference it was explicitly stated that there is no ill will toward virtual currencies, only towards certain things they may be used for, which is fantastic news.  I have a lot of trouble understanding the prevailing "need to be persecuted" amongst so many bitcoiners.  What's the end game in it?  Self-fulfilling prophecy?  Nothing in the Liberty Reserve case is bad for Bitcoin.
sr. member
Activity: 280
Merit: 257
bluemeanie
http://online.wsj.com/article/SB10001424127887323855804578511121238052256.html?mod=WSJ_hp_LEFTWhatsNewsCollection#

"Officials brought charges against a group of men who allegedly manufactured an Internet-based currency"

it's now illegal to 'manufacture' an internet-based currency?   Shocked
sr. member
Activity: 280
Merit: 257
bluemeanie
That said, I will definitely investigate your "Confidence Chains". Always interested in learning about possible improvements to the current way of doing things.

btw- anyone is free to implement Confidence Chains.

just for the sake of cooperation, I do plan to develop a framework in Java for people who want to use Confidence Chains for financial apps.

If you are a developer and see the value in confidence chains, we can work together.  It will be BSD/Apache licensed as this allows others to commercialize the software.  I believe in crediting people, so if you want to get involved, first we decide on a title, and then hopefully you live up to this entitled position.

Im especially interested in talking to a good 'big data' person who knows a lot about storing and processing Tree Data structures on disk efficiently.  Also people from the Bitcoin world are very welcome, many of the ideas from Bitcoin are applicable here.

-bm
sr. member
Activity: 280
Merit: 257
bluemeanie

 http://blockchain.info/charts/n-transactions

  this shows TXs per day on the BTC chain.

 It may be possible to upgrade the p2p network to scale upwards according to the Bitcoin Wiki.  We don't know precisely how things will play out at this point.  Seems the core devs are open to a number of ideas.  Confidence Chains was recently released, so they may not be aware of this option.  I know some of the core devs were critical of Colored Coins, see https://github.com/bitcoin/bitcoin/pull/2577 .
 
 The subject is fairly controversial at this point.

 Keep in mind also that on the NYSE there is a significant barrier to entry for new 'asset types' (ie Stocks).  On Colored Coins, there are none.  So lets just say roughly EACH coin color will produce on average T transactions.  This means that colored coins will produce C*T transactions where C = number of colors.  The number of colors could be in the thousands, even millions.  Perhaps there is even a compound relationship between C and T.  There is an initial 'sacrificial' cost in BTC to starting a Color Coin, but it does not really act as a regulator in this case.

 -bm
member
Activity: 84
Merit: 10
That said, I will definitely investigate your "Confidence Chains". Always interested in learning about possible improvements to the current way of doing things.
member
Activity: 84
Merit: 10


the Bitcoin network currently has roughly 55,000 trades per day, and capacity and latency are already problems.


If you can back this statement, please correct this information on the following Wiki:

https://en.bitcoin.it/wiki/Scalability

Which states:

CPU:
Quote
Assuming no upgrades to lightweight/SPV clients, so just batch verification, we can reach 40,000 transactions per second which is far beyond the traffic levels of the entire credit card system.

Network:
Quote
Let's assume an average rate of 2000tps, so just VISA. Transactions vary in size from about 0.2 kilobytes to over 1 kilobyte, but it's averaging half a kilobyte today.

That means that you need to keep up with around 8 megabits/second of transaction data (2000tps * 512 bytes) / 1024 bytes in a kilobyte / 1024 kilobytes in a megabyte = 0.97 megabytes per second * 8 = 7.8 megabits/second.

This sort of bandwidth is already common for even residential connections today,

Ultimately, I think a perfectly acceptable decentralized model for exchanges would be to have many online services all utilizing the same exchange network, so it would not necessarily require every individual to run their own client.

Of course, as is often repeated, computers and networks are quickly improving.
sr. member
Activity: 280
Merit: 257
bluemeanie
Colored Coins are a sound idea as far as the official claims made about them.  I don't think that they are going to meet the capacity demands of a real distributed exchange.

the statistic I mentioned before :  NYSE has roughly 2,000,000,000 trades PER DAY.

the Bitcoin network currently has roughly 55,000 trades per day, and capacity and latency are already problems.

Confidence Chains are highly scalable.  Transactions can happen instantaneously.

To run a p2p exchange you need to interact in the real world at some point.  The digital currencies have a relationship to the real world currencies, themselves which ideally have a relationship to real world value(initially the USD had a strict relationship with Gold value).  So I don't think we're going to get around that.  The idea that bytemaster had for pegging the interest rates of bonds to a some kind of price publishing service assumes a lot about the availability, validity, and veracity of this information service.  If such an idea were to be widespread, I could for instance buy all the gold, and then manipulate this ticker in some way, profit from it, and then sell off the gold when the price signals return to reality.  But most importantly, using Confidence Chains, you could have an informal kind of real world money changing- something like Satoshi Square in NYC.  People would be willing to exchange Digital Gold for real gold if they were fully convinced it were worth real gold.  They can even tack on a transaction fee if they feel it's necessary.  No one in this equation need be incorporated or act as a money transfer service, or even own a bank account[1].

Mining introduces specific characteristics to the currency, it inflates the supply.  This often is overlooked by the Bitcoin community because it has yet to seriously effect the price of BTC, but certainly it will in the future.  Color Coins have an interesting and complex relationship to mining.  The base BTC, which relies on mining, is a kind of carrier to Color Coins, and recently it's been determined that to move Color Coins will require the expenditure of BTC(for each transaction, not just the Genesis Transaction).  Latency is also going to be very prohibitive as I describe above.  You can review my points on these subjects on the BitcoinX Google Group: https://groups.google.com/forum/?fromgroups=#!forum/bitcoinx , the project currently looks something like Ripple with a 'carrier' currency used to purchase resources from the transaction processors.

Now consider for a moment that we had a p2p exchange using the main block chain.  Miners are ultimately the ones who decide what transactions go where.  This system works because there is no incentive to prioritize transactions, but if these transactions carry OTHER values(eg. Colored Coins), then miners will compete to put transactions in specific orders- which, make an full-fledged exchange effectively impossible using standard Bitcoin technology, because there is no way to arrive at some kind of valid consensus on the chronological order of transactions.  It was these findings that lead to my development of the Confidence Chains concept.

[1] you can actually run a bank using Confidence Chains.  You could start a small savings club with your friends, take their USD deposits, offer interest rates, and loan out the money to your friends.  Many instruments are possible.  1) https://en.bitcoin.it/wiki/Contracts  2) https://en.bitcoin.it/wiki/Smart_Property
member
Activity: 84
Merit: 10

To bootstrap such a decentralized exchange, I would start by providing a centralized exchange that utilizes the underlying decentralized exchange to track all prices (ie. any transactions on the centralized exchange are mirrored with transactions on the decentralized exchange). All funds on the centralized exchange would be held in both colored "basecoin", and in the real currency, so that at anytime, a person could cash out for real coin at that centralized exchange. When a person "cashes-out", the centralized exchange gets to keep the colored coin is then owned by the exchange, and the real coin is given back to the user. Theoretically, since all coins on the exchange are backed by the value of basecoin, the only real risk that this bootstrap-exchange faces is in the loss of value of basecoin; which could only happen of everyone using it suddenly lost faith in it as a medium of exchange. (Also, the mining of the coin, ie. the scarcity of it, helps it to maintain its value.)
member
Activity: 84
Merit: 10
The value of a decentralized exchange is only realized when those entities offering "cash-out" start to honor it as a trusted source for prices. Once entities allow for the crypto units in the exchange to be changed for real units, based on the trust that these crypt-units in the exchange network will always be exchangable for spendable units at the prices tracked in the decentralized exchange, a decentralized exchange can become a reality. The first stage of launching a decentralized exchange, is to bootstrap it with a centralized exchange that allows cash-out in colored units on the decentralized exchange. Once the decentralized exchange is being used as a "price-finding" mechanism by all entities that allow cash-out (the same way Mt. Gox is used now by people on LocalBitcoins), the decentralized exchange gains legitimacy and the prices tracked on that exchange gain real-world values.

In the parent post of this thread, it was decided that colored-coins are not an option, because they would have to be backed by a "central" authority who could be trusted as a source to redeem the backed currency, but this is not necessarily the case. Under the following model, the colored coins could be redeemed anywhere that places trust in the following:

  1. the value of the underlying currency (such as bitcoin, if that were used)
  2. the prices determined for the colored coins by the decentralized exchange.

As I explained above, once enough places rely on the decentralized exchange as a price finding mechanism for cash-out, the above 2 conditions are fulfilled, because the very fact that you can cash-out a colored coin for its equivalent in real-coins forces the colored coins to maintain parity with the real thing.

Now, the problem faced with coloring bitcoins is that they must be colored by an authority... but who is an authority for USD? Certainly, the government is not going start backing a colored version of the US dollar...

So I propose the following system (alt-coin) to opperate as a decentralized exchange and to allow anyone to "color" the base currency:

(Note: This could potentially be built on top of BitCoin, but is unlikely to ever happen)

This is an extension to my previous idea of "BaseCoin" ( https://bitcointalksearch.org/topic/method-for-decentralized-crypto-exchange-not-ripple-208009 ), but with a retraction of the idea to "track the blockchains of alternate crypto-currencies", and an introduction of colored coins for the purpose of exchange instead, but with the ability for these colored coins to be minted by anyone on the network, and to be redeemable (ie. destroyed and replaced with underlying currency at current market rate). Also, it extends the initial idea with the ability to transact directly (send colored coin from one address to another) in addition to being able to transact by submitting offers, which implicitly cause currency to be exchanged between addresses.

Here is the extension to the proposal:

Changes to basecoin concept:

* Network no longer attempts to track blockchain of alternate coins.
* Colored coins can be created from basecoins, but this is not done by assigning color to an existing coin. Instead:
  1. A request to mint some currency is made by submitting a special
  transaction that destroys the basecoins and releases colored coins at
  "market-rate" in the currency of choice (ie.  they go to the bid that is
  closest to the previous successful trade price for that color of coin). If
  there are no bids currently on the network, then they go to the first bid.
  2. The amount of colored coins released is determined by the bid (ie. 2
  basecoin/US dollar)
  3. The basecoins used to buy the colored coins are sent back to the address
  that the basecoins were sent from to be minted. Note: no new money was
  created. The original minter gets the exact amount of basecoins back that he
  used to mint with from the buyer of the colored coins.
  4. At any point, any colored coins on the network can be converted back to
  basecoin. If the market value for those coins has gone up, more basecoins are
  in fact created by that transaction than it originally took to mint the
  colored coins. If the value of colored coin relative to basecoin has gone
  down, then fewer basecoins are introduced back into the network. So quantity of basecoin in circulation can potentially fluctuate.
  5. This process allows the participants in the network to control the amount of each currency available for trade.

* Colored basecoins can be explictly sent from address to address without submiting an offer to the network.

Notes:

* Basecoins can not be purchased directly (they cannot be sent from one address to another they can only be used to submit offers) in order to enforce use of the exchange as a method of price-finding, otherwise, people would exchange cash for basecoin and the network would be incapable of tracking the price that those basecoins were sold for.

* Basecoin is a mined currency. I would not place a limit on the amount of
basecoins that can be mined; I think mining difficulty does a perfect job of
limiting inflation of basecoin value.

* In order to obtain basecoins, one must first purchase colored basecoins in currency of choice, and then trade for basecoins on the basecoin network by submitting an offer. (Or mine them of course)

* In order to exchange one currency for another: carred-currecy -> colored basecoin -> basecoin -> colored basecoin -> cash-out.

* This decentralized network only works as long as there are many places that are willing to use it for price discovery and to accept colored coin in exchange for the represented currency. If a coin is colored "USD", it only maintains the value of real USD due to many places willing to allow cash out. These places would then sell those colored USD to others who wish to make use of the network.

* Transaction fees can be applied to trades between basecoin and colored coin, just as they are applied to sending coins from one address to another in order to encourage miners to include these trades in the blockchain.
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
... talking of broken records ...
Pages:
Jump to: