Bitcoin Forum
November 04, 2024, 04:32:59 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Decentralized BTC Exchange Client. impossible to implament?  (Read 3270 times)
adamstgBit (OP)
Legendary
*
Offline Offline

Activity: 1904
Merit: 1037


Trusted Bitcoiner


View Profile WWW
October 20, 2011, 05:10:04 PM
 #1


Decentralized BTC Exchange Client. Can we do it?

Here is how it would work:

Decentralized BTC Exchange Client.

1) download the Decentralized BTC Exchange Client, Magically send money or BTCs to it
2) Place a bid or ask in whatever currency you have available on your client
3) the Client would continuously scan the other clients, asking each one, "Can you fill my order?"

in theory you could place a order of, 1$ CND for 1$ USD, just as easily as 5$ for 1 BTC

the big problem  is how to "load your client with money"... the current exchanges handle the wiring of money to 1 central place (ex. MTGox)

handling the wiring of money directly to individual clients (In and Out), would be the key, and may prove impractical / illegal (i don't think you can be your on bank).

this would be much easier to implement if it was dealing with only cryptocurrency , ex. 1 BTC for 10000 SOLID COINS

is it just me or is a Decentralized BTC Exchange Client impossible??

cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
October 21, 2011, 10:17:35 PM
 #2


Decentralized BTC Exchange Client. Can we do it?

Here is how it would work:

Decentralized BTC Exchange Client.

1) download the Decentralized BTC Exchange Client, Magically send money or BTCs to it
2) Place a bid or ask in whatever currency you have available on your client
3) the Client would continuously scan the other clients, asking each one, "Can you fill my order?"

in theory you could place a order of, 1$ CND for 1$ USD, just as easily as 5$ for 1 BTC

the big problem  is how to "load your client with money"... the current exchanges handle the wiring of money to 1 central place (ex. MTGox)

handling the wiring of money directly to individual clients (In and Out), would be the key, and may prove impractical / illegal (i don't think you can be your on bank).

this would be much easier to implement if it was dealing with only cryptocurrency , ex. 1 BTC for 10000 SOLID COINS

is it just me or is a Decentralized BTC Exchange Client impossible??

I'm wondering how this is going https://bitcointalk.org/index.php?topic=7212.msg105791#msg105791

I also asked about this in another thread.

Is there a more organic way to set the price of bitcoin? What would happen if we just put a bitcoin price tool in the general client? If we voluntarily report a fiat value of bitcoin for purchases or trades to another decentralized network, that network can analyze the data and report a statistically reliable price. The network can verify via a second hash generated with the same key as the bitcoin, but will also have pricing data in various currencies. Bots will mess with the pricing, but not enough that can't be dealt with by the algorithm or as are any other network attacks. Any thoughts?

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
EhVedadoOAnonimato
Hero Member
*****
Offline Offline

Activity: 630
Merit: 500



View Profile
October 21, 2011, 10:41:51 PM
 #3

I just posted on another topic about the same subject: https://bitcointalk.org/index.php?topic=45751.msg587437#msg587437
morpheus
Full Member
***
Offline Offline

Activity: 164
Merit: 100


View Profile
October 22, 2011, 12:25:19 AM
 #4

There is already a working (mostly) decentralized exchange: https://bitcointalk.org/index.php?topic=27055.0

It does not use the method described above. I'm not sure how you would implement it. Instead, it works like OTC where you can post your order to the network and others can find it, or you can search for orders already posted.

There is a working implementation, but hardly anyone is using it, and it's having issues with a few exceptions here and there. However, I've used it to exchange coins and so have a few others.
adamstgBit (OP)
Legendary
*
Offline Offline

Activity: 1904
Merit: 1037


Trusted Bitcoiner


View Profile WWW
October 22, 2011, 12:51:03 AM
 #5

ya thats what i thought, you have to find an offer yourself and once you do find an offer you want to take, you have to manually send the money to the individual....
send money to an anonymous individual, at your own risk  Tongue




cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
October 22, 2011, 01:16:48 AM
 #6

Instead of an exchange, can we just have a decentralized ticker that reports any supported crypto-currency? It would only report the trades that have the value volunteered. The reason for this is that exchanging fiat currency for bitcoin requires trust anyway. It's not that I don't trust MtGox to report the trades accurately, but if we have to trust them, why not trust everybody and then use statistics to account for variance in each vector of bitcoin use. We can use the same ticker for accounting for any alternate blockchain. This would also of course be an alternate blockchain and the current prices would be included in every new block. We could even charge a transaction fee for price quotes.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
adamstgBit (OP)
Legendary
*
Offline Offline

Activity: 1904
Merit: 1037


Trusted Bitcoiner


View Profile WWW
October 22, 2011, 01:30:33 AM
 #7

Instead of an exchange, can we just have a decentralized ticker that reports any supported crypto-currency? It would only report the trades that have the value volunteered. The reason for this is that exchanging fiat currency for bitcoin requires trust anyway. It's not that I don't trust MtGox to report the trades accurately, but if we have to trust them, why not trust everybody and then use statistics to account for variance in each vector of bitcoin use. We can use the same ticker for accounting for any alternate blockchain. This would also of course be an alternate blockchain and the current prices would be included in every new block. We could even charge a transaction fee for price quotes.

huh?

i don't understand.

cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
October 22, 2011, 01:59:52 AM
 #8

It's not like we need a full exchange that reports the volume of transactions. All we need is a general idea of the price bitcoin is being traded at.
  • An Exchange Coin is created. The coins generated from it include pricing of all included crypto-currencies. More can be added if everyone agrees.
  • Each coin client (including bitcoin) allows a price value in various fiat currencies to be reported to Exchange Coin.
  • The Exchange Coin factors in the reported prices and runs a statistics algorithm that finds the current mean values.
  • HST and bot trades could be filtered out statistically.

This would be organic and require trust of not a central reporting authority, but of all bitcoin users to volunteer honest reporting.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
jago25_98
Hero Member
*****
Offline Offline

Activity: 900
Merit: 1000


Crypto Geek


View Profile WWW
October 22, 2011, 03:43:58 PM
 #9

Somebody through up a wiki on freenet for buy & sell offers until something automatching is made.

Bitcoiner since the early days. Crypto YouTube Channel: Trading Nomads | Analyst | News Reporter | Bitcoin Hodler | Support Freedom of Speech!
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
November 22, 2011, 12:38:50 AM
 #10

With a decentralized exchange cryoto-currency, any exchange or client can report data on bitcoin value which will be statistically analyzed.

Lets say Sally trades with Tom her fiat cash for bitcoin. Tom then sends bitcoin to Sally and inputs a "value" field of x AUD. This data is sent to an alternate cryptocurrency well call for the moment pricecoin.
Later when Tom wants to sell Bitcoin he can get the current price of Bitcoin or any other commodity or stock that is traded and reported this way for Bitcoin.

The Pricecoind.exe client collects all the data it can from nearby nodes and statistically analyzes the price to find the median price and compares it to the variance of previous blocks to find the new mean price. Each client will be doing this statistically and reporting prices which will cancel extreme highs and lows (unless there is statistical significance to include them). Prices will still fluctuate based on consistent trends rather than a few individual HSTs. This would stabilize Bitcoin immensely.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 22, 2011, 02:22:50 AM
 #11

The network and trading can be completely decentralized but the handling of fiat never can be.


Imagine if a trusted third party issued a coin called  USDCoin (likely you wouldn't want to use that name).  One USDCoin could be redeemed for $1 USD by the issuer.

Once enough USDCoins were purchased you would have fully digital manifestation of fiat money (technically money substitute).  If you wanted to sell coins you could then use the decentralized exchange to trade Bitcoins for USDCoins.  When you had enough USDCoins you would "cashout" via the originator website (ACH, check, wire transfer, western union, etc) and the USDCoins would be destroyed. 

Now in that example there is a single fiat coin but technically the decentralized exchange could handle multiple fiat currency tokens issued by multiple exchanges (which would simply convert USD to USD token and USD tokens back into USD).  The same mechanism could be used to trade silver/gold/other metals, even things like SPDR shares, debt/bonds, etc.

Obviously the USD "token" would only be as good as the exchange (maybe moneychanger is better term) that issued it.
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
November 22, 2011, 02:45:48 AM
 #12

The network and trading can be completely decentralized but the handling of fiat never can be.


Imagine if a trusted third party issued a coin called  USDCoin (likely you wouldn't want to use that name).  One USDCoin could be redeemed for $1 USD by the issuer.

Would this hypothetical USDCoin be a cryptocurrency?
If so who would peg the value to $1 and how would they do that?

Once enough USDCoins were purchased you would have fully digital manifestation of fiat money (technically money substitute).  
I follow you so far. You now have some USDCoins.

If you wanted to sell coins you could then use the decentralized exchange to trade Bitcoins for USDCoins.  

OK so now with your USDCoins you are buying Bitcoins, I think.

When you had enough USDCoins you would "cashout" via the originator website (ACH, check, wire transfer, western union, etc) and the USDCoins would be destroyed.  

I'm guessing you mean enough Bitcoins instead of USDCoins, or maybe you mean you have extra USDCoins left. Then you go back to fiat currency with those USDCoins.

Now in that example there is a single fiat coin but technically the decentralized exchange could handle multiple fiat currency tokens issued by multiple exchanges (which would simply convert USD to USD token and USD tokens back into USD).  The same mechanism could be used to trade silver/gold/other metals, even things like SPDR shares, debt/bonds, etc.

Obviously the USD "token" would only be as good as the exchange (maybe moneychanger is better term) that issued it.

I'm not clear of the utility of this procedure? Who is this USDCoin issuer? Is it an exchange? How is this USDCoin different than Dwolla and MtGox? How do we know they will buy back their USDCoins when the person stuck with them in the trade wants to cash them in?

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 22, 2011, 04:02:09 AM
 #13

You don't which is why I indicated you can NEVER decentralize the fiat half of the exchange however it wouldn't require you to deposit any bitcoin or xCoins w/ the decentralized exchange which would be an advantage over current setup.  Trades could occur decentralized, xCoin balances could be held outside the exchange, you could have multiple parties involved in one decentralized cloud however .... the conversion of fiat to token WILL ALWAYS require a trusted 3rd party.

Simply put the linkage between fiat world and crypto world will always require a trusted 3rd party however using a decentralized exchange limits the control and assets that trusted 3rd party has access to.

For example say you want to buy Bitcoins.  You would find a moneychanger you trust.  Via some merchanism you purchase USD tokens for USD.  1 USD token : 1 USD.  If you want Bitcoins or xCoins, or abcCoins you find someone within the decentralized exchange who is willing to trade USD tokens for Bitcoins.  The trade occurs they gain ownership of USD tokens (likely w/ intent to exchange those for meat space money) and you gain BTC.

Quote
I'm not clear of the utility of this procedure? Who is this USDCoin issuer? Is it an exchange? How is this USDCoin different than Dwolla and MtGox? How do we know they will buy back their USDCoins when the person stuck with them in the trade wants to cash them in?

The USD "token" is simply a digital manifestation of a promise by the money changer to payout USD on demand.  If the money changer can't be trusted then it is worthless and you lose the value.  That isn't any worse than current system but it does limit the assets under risk.

Everything can be decentralized except the linkage to the meatspace world so the goal would be to keep that linkage as small as possible.

Current system (Mt Gox or other centralized exchanges)
Bitcoin balances: held by exchange (trusted 3rd party)
Trades: controlled by exchange (trusted 3rd party)
USD balances: held by exchange (trusted 3rd party)

Decentralized Model
Bitcoin balances: held by individual
Trades: occurs within decentralized exchange
USD Balances: held by trusted 3rd party (in form of promise to redeem USD tokens & actual USD balances held)

In current model if your exchange can't be trusted they can steal from you three ways
a) steal your Bitcoins
b) steal your wealth via manipulating trades
c) steal your Fiat money

In decentralized model if your moneychanger can't be trusted they can steal from you but only one way (and only part of your wealth)
a) steal your fiat money (by issuing tokens they never intend or can't redeem back for fiat money)

It isn't perfectly decentralized but like I said you can't decentralize fiat money which is inherently centralized the goal would be to limit the exposure of centralized control.  The advantage is the same decentralized cloud exchange could allow trades between various tokens (USD, Gold, Silver, EURO, S&P 500 shares, etc) while limiting the amount of assets held by the exchange to just the "meatpsace" linkage.
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
November 22, 2011, 04:29:47 AM
 #14

I don't see a big advantage over using an escrow service. There are rules of conduct and dispute resolution that way. Besides you don't have just one point of trust (the fiatcoin issuer) but you must also trust the exchange that is handling two decentralized currencies. That requires twice as much faith because there is plausible deniability on both ends of the transaction. If you mix multiple currencies you could end up with a very messy exchange.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 22, 2011, 04:38:31 AM
 #15

I don't see a big advantage over using an escrow service. There are rules of conduct and dispute resolution that way. Besides you don't have just one point of trust (the fiatcoin issuer) but you must also trust the exchange that is handling two decentralized currencies. That requires twice as much faith because there is plausible deniability on both ends of the transaction. If you mix multiple currencies you could end up with a very messy exchange.

There would be no "the exchange" it could be decentralized completely using the blockchain.  If block-chain is broken then bitcoin is broken so it doesn't really matter.

The only counterparty risk that would exist is in exchanging fiat tokens for fiat cash.   If you are holding 100 $1USD tokens will the moneychanger give you $100 USD cash?  Of course that risk exists under current centralized exchange too but your risk isn't limited to only fiat.  Centralized exchanges also hold all your Bitcoins (and xCoins) hostage as well.  If Mt Gox went bankrupt or was hacked again you risk losing all the Bitcoins you hold there not just the USD/EUR.  By seperating the roles of exchange & money changer you limit the assets under risk. 

If you don't get it well it probably is because it is late and I am explaining it badly.  Better suited for a whitepaper then a forum thread.
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
November 22, 2011, 04:50:45 AM
 #16

OK, I cannot find an explanation of how a decentralized exchange would work in this thread. The OP said it works by magic. lol

Seriously though, I don't really see the need for a decentralized exchange if we have a Pricecoin that monitors price of Bitcoin (and possibly other fungible commodities) and algorithmically analyzes price fluctuations, then exchanges would be used for trading, but not leveraged speculation and HST. I think it would boost price confidence and utility of cryptocurrencies.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 22, 2011, 05:10:27 AM
 #17

OK, I cannot find an explanation of how a decentralized exchange would work in this thread. The OP said it works by magic. lol

Seriously though, I don't really see the need for a decentralized exchange if we have a Pricecoin that monitors price of Bitcoin (and possibly other fungible commodities) and algorithmically analyzes price fluctuations, then exchanges would be used for trading, but not leveraged speculation and HST. I think it would boost price confidence and utility of cryptocurrencies.

Having a mechanism of price discovery is only part of the issue.  So you know BTC is worth $2.25 USD. OK now you want to trade so what do you do?  Use Mt Gox?  If so then it doesn't really matter what your external price discovery system says BTC is worth what matter is what the bid is on Mt. Gox. Oh yeah and to avoid the up to 3 hour delay waiting for funds to be confirmed you likely keep all your funds on the exchange hence all your fiat and all your btc are always at risk of theft, fraud, and loss.


Quote
then exchanges would be used for trading, but not leveraged speculation and HST.
What makes you think that?  The money would be concentrated into a handful of exchanges and nothing would change.  The external price discovery would be mostly ignored.  Who cares if the external price says BTC is $2.25.  If you are a merchant and the current ask on Mt. Gox is $2.18 then for all intents and purposes that matter the price is $2.18.  Period.

becoin
Legendary
*
Offline Offline

Activity: 3431
Merit: 1233



View Profile
November 22, 2011, 10:57:11 AM
 #18

Obviously the USD "token" would only be as good as the exchange (maybe moneychanger is better term) that issued it.
Currency tokens need to be sanctioned by the local government as historically this practice resulted from a severe shortage of money or the governments's inability to issue its own coinage. In effect the organization behind the tokens became the regional bank.

Instead of "token" I would use "voucher". A voucher is a bond which is worth a certain monetary value and which may be spent only for specific reasons or on specific goods i.e. purchasing bitcoins. For instance, a trusted 3rd party in Australia would get 100 fiat AUD and issue 100 AUD vouchercoins that can be traded only against bitcoins or redeemed back into 100 fiat AUD minus small fee. IMO, creating an alternative cryptocurrency block chain, say vouchercoin allowing all the world currencies in the chain, is the most robust approach to resolve bank dependencies once and for ever and for merchants to minimize exchange rate risks.

Of course, those trusted 3rd parties need to be ultra solid anchors as they will become prime target for attacks from governments and bank lobbyists.
cbeast
Donator
Legendary
*
Offline Offline

Activity: 1736
Merit: 1014

Let's talk governance, lipstick, and pigs.


View Profile
November 22, 2011, 12:30:04 PM
 #19

Quote
then exchanges would be used for trading, but not leveraged speculation and HST.
What makes you think that?  The money would be concentrated into a handful of exchanges and nothing would change.  The external price discovery would be mostly ignored.  Who cares if the external price says BTC is $2.25.  If you are a merchant and the current ask on Mt. Gox is $2.18 then for all intents and purposes that matter the price is $2.18.  Period.



It's a psychological thing. Having a price set by mathematics gives people a sense of stability. It's like why people don't wildly speculate on fiat money. Math can give bitcoin the sense of fiat (law), only it's the laws of mathematics. Of course there will be fluctuation just as there is with all fiat currencies, but it will be mitigated. This whole Bitcoin phenomena is an experiment, I just think this may be a helpful tool. I just don't trust centralized exchanges because HSTs and bots can have such profound psychological effects on people that cause them to panic buy and sell.

Any significantly advanced cryptocurrency is indistinguishable from Ponzi Tulips.
jtimon
Legendary
*
Offline Offline

Activity: 1372
Merit: 1002


View Profile WWW
November 22, 2011, 12:33:28 PM
 #20

Obviously the USD "token" would only be as good as the exchange (maybe moneychanger is better term) that issued it.
Currency tokens need to be sanctioned by the local government as historically this practice resulted from a severe shortage of money or the governments's inability to issue its own coinage. In effect the organization behind the tokens became the regional bank.

Instead of "token" I would use "voucher". A voucher is a bond which is worth a certain monetary value and which may be spent only for specific reasons or on specific goods i.e. purchasing bitcoins. For instance, a trusted 3rd party in Australia would get 100 fiat AUD and issue 100 AUD vouchercoins that can be traded only against bitcoins or redeemed back into 100 fiat AUD minus small fee. IMO, creating an alternative cryptocurrency block chain, say vouchercoin allowing all the world currencies in the chain, is the most robust approach to resolve bank dependencies once and for ever and for merchants to minimize exchange rate risks.

Of course, those trusted 3rd parties need to be ultra solid anchors as they will become prime target for attacks from governments and bank lobbyists.

One chain for multiple currencies and multiple issuers would be nice. I think the easiest way to implement is to allow in that chain for any private key to issue IOUs. The issuer can use that same key to signs documents that credit him (and where he explains the fiat denomination and the conditions for redemption). The document can also be signed with "legal cryptography" such as that contained in some electronic NIFs (for example, Spain has it).

The problem here could be how to reward miners, because the IOUs issued are not fungible and the miner must trust the issuer of the currency paying the fee.

That chain could also have ripple. See my related proposal for a chain implementing ripple:
https://bitcointalk.org/index.php?topic=37505.0

To perpetually reward miners I include a coin with demurrage in the chain (freicoin), but maybe miners can accept the IOUs directly in this case.

The chain doesn't have to contain the denomination of each IOU, only an extra field in inputs and outputs of transaction with the "issuing address".
That can be optimized by not allowing an address to receive from more than one issuing address and not allowing addresses that have issued to receive any IOUs different than their own. This way the field is not necessary.
But I prefer to include the new field because it allows to trade IOUs of one kind for IOUs of another type within the same transaction (and this enables ripple, outside of the objectives here, but also useful). Without that field you cannot, for example, exchange mtgoxUSDcoins for IntersangoEURcoins atomically in a single transaction and you would need to use contracts like if the voucherCoins were in different chains.

2 different forms of free-money: Freicoin (free of basic interest because it's perishable), Mutual credit (no interest because it's abundant)
Pages: [1] 2 »  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!