Pages:
Author

Topic: Primer for a P2P Distributed Exchange - page 3. (Read 17672 times)

legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
bluemeanie1 : you are talking a big game while dissing other projects that actually have downloadable s/ware ... where's your code?

.... or shut your big yap until you have something to show besides buzzwords maybe?

what did I say that was inaccurate?

... it's hard to know if anything you say is accurate ... because you don't have any code to back it up ... just lovely ideas, it seems ... show us something that works?
hero member
Activity: 770
Merit: 566
fractally

 
How does everyone come to an agreement about what a particular sub-currency is supposed to track?

Ian Grigg worked out many of these problems with Ricardian Contracts.  http://iang.org/papers/ricardian_contract.html

Ricardian Contracts were also thrown into the Open Transactions mix.

-bm

Contract = Counter Party Risk.   

As a result Ricardian Contracts do not apply because there is no counter-party in my system.
sr. member
Activity: 280
Merit: 257
bluemeanie
bluemeanie1 : you are talking a big game while dissing other projects that actually have downloadable s/ware ... where's your code?

.... or shut your big yap until you have something to show besides buzzwords maybe?

what did I say that was inaccurate?
legendary
Activity: 3920
Merit: 2349
Eadem mutata resurgo
bluemeanie1 : you are talking a big game while dissing other projects that actually have downloadable s/ware ... where's your code?

.... or shut your big yap until you have something to show besides buzzwords maybe?
sr. member
Activity: 280
Merit: 257
bluemeanie

 
How does everyone come to an agreement about what a particular sub-currency is supposed to track?

Ian Grigg worked out many of these problems with Ricardian Contracts.  http://iang.org/papers/ricardian_contract.html

Ricardian Contracts were also thrown into the Open Transactions mix.

-bm
hero member
Activity: 770
Merit: 566
fractally
I will say that the thing that stands out to me the most is your dollars don't sound very much like dollars to me. Will they always be worth exactly $1 USD to the enduser? Will the enduser understand that they are in fact supposed to take place of USD? If not, the whole system could crumble from being too confusing for laymen to use.

I just added a section to my draft white paper (not yet published) to address that very question.

How does everyone come to an agreement about what a particular sub-currency is supposed to track?
The same way that the market comes to an agreement about what to use as money, or any other convention that is not demanded by government.   If there are multiple competing sub-currencies all claiming to track gold, then the market will trend toward whichever one gains the strongest reputation for actually following gold.  Any variants would end up having to do currency exchanges to convert between two different sub-currencies both claiming to be 1 oz of gold and those inefficiencies would cause everyone to join the majority consensus.   Once one currency gained large enough volume on the exchange and a majority of the 'market share' then it would become the defacto-standard.  Any market participant that had an opinion that differed from the ‘consensus’ would make losses by mis-pricing the asset.  Thus no one would be able to redefine what a particular sub-currency means without changing the group consensus of all traders.

How did language develop?  Who decided what words would 'track' what ideas?  The answer is that anyone who doesn't learn and adapt to the consensus would be unable to communicate.  This is a very natural process and does not require any central authority to define standards.


 
hero member
Activity: 526
Merit: 508
My other Avatar is also Scrooge McDuck
fiat --> gold --> bitcoins
bitcoins --> gold --> fiat
Any hard assets can and will eventually be seized by a government or two. It's happened many times before, even with creative schemes behind them.


While I'm still more or less convinced that a P2P exchange of BTC=>Fiat is not feasible
Then you're simply not looking hard enough.

There are ways of making a digital security worth exactly 1 dollar and backing it with some sort of value, even if that value is bitcoin. I'm working on one myself.



@btcluke

I want to start by saying I appreciate everyone who takes time to post thoughtful responses.  So I will respond to your post stating I fully believe I can satisfy all of your requirements.  So much so that I have posted another thread where I am looking to hire someone to help me and invest $20,000 or more in creating a working system based on my ideas.   But, as a sanity check I am also offering a 10 BTC bounty to anyone who can convince me that the idea will not work and save me time and money.
Hi bytemaster,

I looked and looked at your proposal and quite honestly I can't do you justice on your request, because it's so off in a different direction from the exchange I have in my head.

There are a dozen things about it that ring alarm bells in my head, but they all could be something that can't work on my foundational system while they do work on yours... So if only I had the time and mental fortitude to cram your whole system into my head I'd be very tempted to go after your bounty... Sadly I'm just not up to the task right now.

I will say that the thing that stands out to me the most is your dollars don't sound very much like dollars to me. Will they always be worth exactly $1 USD to the enduser? Will the enduser understand that they are in fact supposed to take place of USD? If not, the whole system could crumble from being too confusing for laymen to use.



We need a distributed third-party.

We need to figure out a way to distribute escrow, and to keep the escrowers honest.
You're correct. I'm pretty sure I've worked that part out already, and I'm working out the details about it now.

Like with trading itself, I think 3rd parties should always be paid for their involvement, so this brings in a 3rd income-generating opportunity with my exchange.




Can you just keep escrowers honest based on a reputation system?
Not alone. It has to be one of multiple measures taken. Look at BTCJam, they use it effectively, but they also have the centralized system of arbitration to back it up. We've got to be really creative to duplicate those other measures in a decentralized environment.


Quote from: btcluke
3. Transact trades pretty much INSTANTANEOUSLY
Is this necessary for all trades though?
Currency trades, yes. Absolutely.

Otherwise you can't build accurate charting data, and without those charts, traders and arbitragers won't want anything to do with your software.



I have a 7th criterion to add:
7. It must not be assumed that the individual users have access to less information than the network as a whole.

As mentioned, the are numerous P2P exchange threads popping up. The ones that sound the most plausible on the surface are also the most flawed: That the network as a whole can somehow authorize things that individuals can't. This violates the laws of the universe...
I am not much of a coder at all, (just html) but I personally don't think I would have violated that criterion.

However, if the coders here feel that this problem will pop up again and again without this 7th criterion on the list, then I'm all for it.

CODERS: Please Yea or Nay phillipsjk's suggetion.


I've got another one now... Let's assume other coders agree on 7, so this will be 8:

8. It must be easy enough for Laymen to understand. (The grandmother clause)

Basically, the ideal exchange should be easy enough for even your grandmother to make her first trade on. Therefore, we should not require extensive understanding of cryptography, code, cryptocurrencies, nor even economics to operate this software...

No abstract ideas required to understand the fiat safely, either! Grandma thinks she knows what $1 is, and no matter what your idea for a fiat replacement is, $1 worth of it had better STAY worth $1 over time, or the whole enterprise will leave a bad taste in her mouth... If not piss off governments even more.

Try to think of your enduser as a grandma who just learned what a bitcoin is and wants to buy one. If you can't make a software for that person, you're wasting all our time.

sr. member
Activity: 280
Merit: 257
bluemeanie
the system you just described relies on traditional financial products.  You've just made it a bit more abstract by basing the interest rate of your bonds on some ticker(who publishes the ticker?).  What about assets that don't have an easy to determine price?

my system is very simple.  It's allows you to issue and exchange assets(potentially more, auctions could be implemented for instance).
hero member
Activity: 770
Merit: 566
fractally
sr. member
Activity: 280
Merit: 257
bluemeanie

Second step is instead of giving an IOU in exchange for a gold coin deposit, give another asset-type who's value is guaranteed to follow the market price of a gold coin based solely on market forces that act on that asset.


and how is this guarantee constructed?
sr. member
Activity: 280
Merit: 257
bluemeanie


Essentially, your reasoning is going round in circles.

You are saying that you need a crypto representation of fiat money that can be transferred quickly, cannot be reversed and has no counterparty risk.

You have just described Bitcoin.

there is a key difference.  Bitcoin inflates, more are generated by miners.  Thus you can't PEG IT [1] to a REAL ASSET because then the miners would be generating real assets(or a promissory note for such).  You need a kind of digital coin that guarantees strict issuance qualities(and certainly quantities).

secondly there are serious issues with latency on the BTC blockchain that make an exchange infeasible.

My system allows you to generate digital assets.  It's your job to convince people that they can exchange these digital assets for REAL assets at any time.  The system offers good tools for this purpose.  One of them is DISTRIBUTED AUTHORITY, as in I can give authorization to 12 people who would never cooperate to corrupt the currency, and then advertise this fact to potential users of my digital currency.  You can set up these authorities easily, automatically, and they can even be defined complex functions, for instance based on membership in a social network.

-bm

[1] you can offer an exchange rate.
hero member
Activity: 770
Merit: 566
fractally
Your system is based upon IOU's and central repositories of value.   These assets can be seized.  Operating such a bank is already outlawed and or regulations so high no one except the existing fraudulent players could start one.   The issuer could practice fractional reserves.  The issuer cannot be anonymous.

All problems solved by my system and there is a 10 BTC bounty for you to convince me that my system does not solve these problems.  

"The issuer could practice fractional reserves.  The issuer cannot be anonymous."

how can you have a completely anonymous issuer?  how will people redeem the assets?  

First step is to eliminate the issuer all together.  Thus, everything must derive its value from a crypto-currency like bitcoin.

Second step is instead of giving an IOU in exchange for a gold coin deposit, give another asset-type who's value is guaranteed to follow the market price of a gold coin based solely on market forces that act on that asset.  For example, if you traded a gold-coin for a gold-bar of the same weight.   In this case we will trade a gold-coin for an interest-bearing bitcoin bond who's net-present-value = 1 gold bar.   The market forces that govern the issuance and redemption of bit-gold-bonds can conspire to ensure that the net-present-value of the bit-gold-bond stays near parity with 1 oz gold.

The end result is that instead of trading 1 oz gold for an IOU you traded it for an equivalent, asset.  Thus there is no one who owes anyone anything.  Therefore, two men can meet in a dark alley and make a trade with no publish issuer and no legal issues!  

The entire 'magic' of my system hinges on how the net-present-value of a bit-gold-bond can track actual gold.   I believe I have the economics all figured out for that (unless someone can convince me otherwise).   If it does track, then we are golden and have no need for IOUs.

You can redeem your bit-gold-bond for a gold coin on the open market because they have about the same value at all times.
sr. member
Activity: 280
Merit: 257
bluemeanie
Your system is based upon IOU's and central repositories of value.   These assets can be seized.  Operating such a bank is already outlawed and or regulations so high no one except the existing fraudulent players could start one.   The issuer could practice fractional reserves.  The issuer cannot be anonymous.

All problems solved by my system and there is a 10 BTC bounty for you to convince me that my system does not solve these problems. 


the assets cannot be seized unless all the authorities are seized.  So if you properly distribute the authorities, you will have insurance against seizure.  IOUs are not a good way to describe the system, it's a block chain(with transactions exactly like those of Bitcoin) that is supported by explicit consensus rather than proof of work.

"The issuer could practice fractional reserves.  The issuer cannot be anonymous."

how can you have a completely anonymous issuer?  how will people redeem the assets?  anonymity is supported as far as it's worth to owners of an issued asset.  "Fractional Reserve"?  sounds like you're trying to conjure monetary boogey men here.  Care to explain your accusation?

I think that many ideas about decentralized currencies are simply impractical if not impossible.  Many talk about this idea of a decentralized currency, but they've never seen one, or can't think of how to make one, or even roughly what they look like.

Ben Laurie thinks Decentralized Currencies are Probably Impossible.  http://www.links.org/files/decentralised-currencies.pdf

sr. member
Activity: 280
Merit: 257
bluemeanie

Bitcoin already has miners, is it time it also had bankers?
Never. Bankers are the problem, not the solution.


Yes, bankers are the problem, and that is exactly why this specific implementation of a P2P exchange won't work. You will never get banks to interact with a piece of decentralized software. The wires to make the transfer simply aren't there.

The BitMessage + Open Transactions (BMOT) idea that FellowTraveler recently posted is the best solution so far. It has the necessary aspects of p2p exchange built in: OT offers smart contracts, escrow, cheques, untraceable Chaumian cash, and asset issuance, and BitMessage is the distributed order book. How to get fiat into this system? You give fiat to a trusted OT server who issues contracts backed by this fiat (or YOU are the trusted server, in which case you issue the fiat contracts yourself) and then you trade the fiat contracts for cryptocurrency contracts and settle with your trading partner on your own time. This is, at least, how I understand the system to work.

I think what's really needed for fiat --> BTC --> fiat transfers is a network of in-person exchangers such as that proposed by Josh Rossi in Project Buttonwood. That plus agent networks that connect to regulated exchanges (like what Coinflash is trying to do) could do a lot to increase liquidity.

TL;DR BitMessage + OT enables p2p exchanges if there is some trust present between the OT servers and the market participants. Using local meatspace p2p exchanges to buy Bitcoin as proposed by Project Buttonwood is ideal, and then use Bitcoin --> OT to perform instant transactions in/out of every other asset.

OT is not Peer To Peer.  Many of the claims of this project are incredibly misleading.  It's simply a client/server architecture that uses Crypto to confirm receipts of transactions.  It an amalgamation of Chaum e-cash, Triple Signed Receipts(http://iang.org/papers/triple_entry.html), and a few other things(such as the so called 'smart contract engine') - all loosely scotch taped together under one term.  As far as I can tell there is nothing new there.  Note that, despite the claims of the founder and primary progenitor, none of these things are in a completed stable state.  There are other platforms out there like it:  http://www.voucher-safe.org/tiki-index.php .   It does not offer you much insurance if the server gets shut down(there was some poorly founded proposal about sinking the funds into the block chain using a 'voting pool').  The owner describes the system using unclear terminology, perhaps this contributes to some of the confusion regarding this project.  I tend to think that some of the claims surrounding OT are purposely confusing.  It's not surprising that there is a company formed around this technology already.

Adding BitMessage to OT does not make it peer to peer any more than it would make your banking website peer to peer(if you communicated with it using BitMessage).
hero member
Activity: 770
Merit: 566
fractally
Your system is based upon IOU's and central repositories of value.   These assets can be seized.  Operating such a bank is already outlawed and or regulations so high no one except the existing fraudulent players could start one.   The issuer could practice fractional reserves.  The issuer cannot be anonymous.

All problems solved by my system and there is a 10 BTC bounty for you to convince me that my system does not solve these problems. 
sr. member
Activity: 280
Merit: 257
bluemeanie
This is the best thread so far - and it does highlight the big problem is how to marry fiat with crypto.

I wonder if the answer is to have a p2p version of localbitcoins?

At the moment, I am sending my fiat, from my bank account to another bank to an exchange which creates a voucher, which I can use to buy crypto.  Anyone else can sell their crypto for a voucher which the exchange can send to their bank, who send it to your bank and then you can spend it as fiat.

We need a p2p exchange, where a fiat voucher can be converted into local fiat.

Bitcoin already has miners, is it time it also had bankers?

What if there was a local Jane or Harry who would convert digital coins (and we know how to create digital coins by today!) into a fixed rate of fiat and the other way around for a fixed fee?

Lets say an alt coin was created that could be mined and had a value of 0.1c and couldn't be worth any more. Lets assume 200 bn were mined! Actually - why not use DEVCOINS?  They would finally have a real use! If these were used as a direct replacement for fiat, in a localbitcoin model, with a charge of .01% per transaction, you would then have a digital fiat voucher that could be used on the exchange, as described above.

You would also have got around the problems currently caused by the regulations of bank transfers etc because the sums would be small and local  and no change in value means no speculation is possible.  Might still have a problem with money laundering laws, but that's something that could be dealt with on a local basis.

Any feedback to that?


Wow, I really like this idea!

Having a cryptocurrency pegged to the USD or something will allow anyone to convert it to BTC easily.

The only problem is adoption. This new cryptocurrency (say, BitBucks) will actually solve the problem, but only if everyone accepts it. If everyone in the world accepted BitBucks, then it would be easy to convert between fiat and BTC! If no one accepts it, then no one will want to convert to BitBucks because its useless.

So you have the same problem as Bitcoin where the market is determining its value, yet we want to peg the value of BitBucks to the USD.

Just thinking out aloud here...


Hello,

 Digital asset issuance is the key to creating a distributed exchange system.  You can't use traditional Bitcoin, because Bitcoin requires mining and hence inflation, so the miners are creating assets worth real money out of thin air.  Who will redeem them?  This is the problem that my software solves:  https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit

 It's important to note that with Confidence Chains, the supply is potentially STATIC ie. does not inflate or deflate[1].  Thus you can safely denominate real assets.  You issue a thousand grams of digital gold, it remains a thousand grams of digital gold, no reward to miners etc.  Thus all that is required is to keep a thousand grams of gold in your safe, and to give it to anyone who wishes to redeem their gold.  Of course, if you're a banker, you might want to charge a little extra to purchase the credits in the first place.

  ex.  buy 10k USD worth of gold coins.

        make 10,000,000 units of Digital Gold Currency

        sell them for 10.5k USD total (.5k profit)

        offer to exchange the units for their original gold value at any time.

 You could even exchange them informally, they are worth GOLD and this value cannot be changed.  The credits can be exchanged WITHOUT the consent of the DGC issuer.  Potentially completely anonymously.  The issuer, or any other party(eg. govt regulators) cannot shut down the currency.

 See above for how you could build an exchange using Confidence Chains easily with this technology.

 A working prototype is a few months away.

best, -bm


[1] inflationary, deflationary, or demurrage currencies are possible with Confidence Chains, and most importantly the RATE of inflation/deflation is determined by group consensus and not direct FIAT.
sr. member
Activity: 280
Merit: 257
bluemeanie
Where is the decentralized process to getting fiat into the system (for new users without crypto)?

Isn't that the important part?


my system solves this by allowing for ANY asset to be published.  Once these assets are issued, then they can be exchanged.

Thus, if you want to exchange USD, 1g Gold Coins, 1g Silver Coins, BTC and Litecoin, you issue 5 seperate assets.  There must be someone who interacts in the real world, accepting gold coin(or redeeming gold coin) for the digital assets.  It is perfectly safe to do so as it is impossible to forge or alienate the assets without somehow gaining control of ALL the authority nodes[1].  So to bootstrap in an easy way, you simply buy some of the BTC assets.  Note that this isn't BTC itself, but a parity asset that is WORTH BTC.  You can then market those assets for the other five.  Thus you have something similar to Mt. Gox ie. a way to get BTC for USD or Gold(and vice-versa).

https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit?usp=sharing

-bm

[1] and only then you have the ability to deny transactions, not forge them.  A good practice is choosing diverse authorities who are unlikely to collude.
sr. member
Activity: 280
Merit: 257
bluemeanie
I've seen no less than ten different threads pop up here from people wanting to start a P2P decentralized/distributed exchange, but each and every single time, without fail, the definition of what a P2P distributed exchange actually is gets totally forgotten and the thread dies... Sometimes without a single mention of the word Ripple, too!  Wink

The sad thing is, Bitcoin desperately NEEDS a P2P Exchange... It's not like we don't know already that MtGox is a single point of failure that could severely set us back any day now... We all instinctively know this, and most of us know that if uncle sam made bitcoins "illegal," they'd come after ALL of the exchanges at the same time, yes, even in England, Germany, Canada and Oz too. Obomba's done worse already.

So we all agree that we need to replace these central-points-of-failure (CPOF) allowing access into the bitcoinoshpere, but we simply have not yet been able to agree on what the replacement should look like.

Now let's get this thing made!


Hello,

  I am working on a technology that can be used as a distributed exchange.  In other words N Authorities can determine(by shared consent ie. voting) what statements enter into the transaction record and in what order.  This is really the key problem with currency exchanges.  Without non-bias, then the trades can be privileged to a particular party creating a bias to the market.  The network is P2P, it uses a block chain technology very similar to Bitcoin.  https://docs.google.com/file/d/0BwUFHE6KYsM0ZkxLVmFwbXQ3ck0/edit

  The technology also allows you to issue assets and exchange them eg. Digital Gold Currencies.

  So in order to implement an exchange, you simply create a transaction type that allows for two primary statements:

   POST  : post an offer to exchange X of asset P for Y of asset Q.  The offer is signed with an RSA key.  The Signer must have the X of asset P in their account.  X of those assets P are not spendable until the POST is ACCEPTED or voided.

   ACCEPT  : accept a POST.  The signer must have Y of asset Q in their account.

  With these two simple primitive actions, all other familiar features can be derived such as Exchange Rates, etc.  The atomic operations MUST be stated and responded to in an completely unbiased way to have a fully functioning marketplace.  No other technology can offer this in a decentralized way.  If any of the N authorities goes down, the network continues unabated.  Authorities can be added or removed without failure or disruption of the exchange.  Trades are virtually instantaneous(can support thousands of trades per second), and p2p optimization is possible(nodes can change their placement in the network to get better response time to a given exchange node).

  Im currently working on a simulation of Confidence Chains that demonstrates how the transaction record is negotiated by N parties.

  https://github.com/BlueMeanie/ConfidenceChainsSimulation

  thanks, -bm
hero member
Activity: 770
Merit: 566
fractally
you are trying very hard to give crypto-usd value when gold itself does this without even trying. gold naturally stores value without needing any outside complex schemes to give it legitimacy

the moment gold bids directly for bitcoins - once a p2p gold exchange is created - gold will be set free in bitcoin terms. at this point the dollar will collapse in terms of bitcoin maybe by 50 or 100 times. example... 1 bitcoin will equal $13,300 almost over night. so you will be rich just for supporting the idea of bitcoin gold exchange. because there are no suppressive schemes in the bitcoin world like gld or gold futures (paper to gold=100:1?) or gov interference etc gold will be valued correctly and the curent usd btc rates will reset

You are 100% correct and gold/silver exchange is EXACTLY my end goal.   I am not trying hard to give value to USD, I am trying hard to allow a system to track the value of ANYTHING.  Thus the purpose of crypto-USD is really to track the value of USD even into the floor.   I only use it as an example because initially the number of users of my system would be spread all over the place and thus rely on the existing banking system to deposit/withdraw.
hero member
Activity: 770
Merit: 566
fractally

I think that 7th criterion is entirely reasonable.  I do not think my approach violates this criterion, but would be interested in your opinion.  

I have not had time to review version 2.0 of your proposal. I don't think it violates that criterion.

What concerns me about your proposal is the lack of fungibility. If different DS coins are worth varying amounts because each transaction has its own exchange rate: price discovery is going to be difficult when converting to another crypto-currency like Bitcoin.


I just posted revision 3.0 here: https://bitcointalksearch.org/topic/m.2273237

After you read it you will see that all crypto-USD is as 100% fungible as bitcoin and there is no more price fixing of terms, margin requirements, or any other 'fixed' numbers and thus all properties of the system (except mining distribution strategy) are driven by the market.

Pages:
Jump to: