Bitcoin Forum
May 23, 2024, 09:59:34 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 5 6 7 »  All
  Print  
Author Topic: Announcing Project Invictus: a P2P Exchange Collaboration  (Read 11181 times)
tumak
Newbie
*
Offline Offline

Activity: 35
Merit: 0



View Profile WWW
June 10, 2013, 09:18:35 AM
 #41

Bitshare itself might be interesting, if it allowed integration with bitcoin blockchain. But it just seems to be yet another altcoin (but at least innovative). Without bitcoin though, you'll have hard time beating OT as it shares same problem as you - lack of momentum to peg on.
This is where something like Marketcoin is very useful, quick trustless exchange of value between chains means altchains only need one function (like a zerocoin altchain or a bitshares altchain) in order to be useful. We should function on creating functional, innovative coins instead of trying to cram everything into Bitcoin. Bitcoin is wonderful, but it is designed as money and I think it would be good to keep it that way. The entire point of open source is that if someone want's to improve or alter Bitcoin they can.

Which is why altcoins are interesting for research, but not in foreseeable practice - what I am saying get *something* useable in bitcoin, get people hooked, once scalability issues inevitably show up, transition to altchain.

Crosschain p2ptrade is actually easy problem if your altchain is designed to support it. Only place where you hit the blocks is things like direct LTC x BTC without established altchain proxy supporting cross-chain p2ptrade.

Cryptocurrency design is not just code alone, but common market patterns (greed/fear) as well, otherwise you end up with another chicken-egg schizm nobody wants to use because nobody uses it thus cannot be trusted.
XertroV
Member
**
Offline Offline

Activity: 88
Merit: 12

Max Kaye


View Profile WWW
June 10, 2013, 09:27:32 AM
 #42

[...] altcoins are interesting for research, but not in foreseeable practice - what I am saying get *something* useable in bitcoin, get people hooked, once scalability issues inevitably show up, transition to altchain.

This ignores the benefits of monetary diversity. Bitcoin might be here to stay, but in the future altchains will be most commonly used as they can be tailored to specific environments, and thus provide the most benefit to a community.

Crosschain p2ptrade is actually easy problem if your altchain is designed to support it. Only place where you hit the blocks is things like LTC x BTC.

Really? Because that's what Marketcoin is trying to do, and it's not that simple. Maybe if you have two altchains designed to work together... but I'm not aware of a way to do that yet. Care to provide an example?
tumak
Newbie
*
Offline Offline

Activity: 35
Merit: 0



View Profile WWW
June 10, 2013, 09:44:56 AM
Last edit: June 10, 2013, 10:03:57 AM by tumak
 #43

[...] altcoins are interesting for research, but not in foreseeable practice - what I am saying get *something* useable in bitcoin, get people hooked, once scalability issues inevitably show up, transition to altchain.

This ignores the benefits of monetary diversity. Bitcoin might be here to stay, but in the future altchains will be most commonly used as they can be tailored to specific environments, and thus provide the most benefit to a community.

Diversity applies between equal players, otherwise it's just treehugger underdog-loving bullshit. Capitalism hates diversity if there is no (obvious, short term) profit in it. Thats what humans are. Technically, you need something to sustain the volume for things to work.

Quote
Really? Because that's what Marketcoin is trying to do, and it's not that simple. Maybe if you have two altchains designed to work together... but I'm not aware of a way to do that yet. Care to provide an example?

In bitcoin chain, you create the transaction as usual, but keep it secret until counterparty shows you it's altchain transaction. You send only it's hash (txid) to counterparty on altchain for that purpose. There, transaction has special input opcode 'bitcointxid'. This opcode evaluates to true *only* if the txid is seen actually included in bitcoin blockchain. Naturally, altchain client needs to consult bitcoin blockchain during validation as well (but you need bitcoin anyway for other reasons, even SPV will suffice if you replace txid with hash(txid)). Thus, both transactions become valid only if both parties transmit them on network.

(taken from https://github.com/bitcoinx/colored-coin-tools/wiki/crosschain-p2ptrade )

Equivalent scheme can be used for OT as well (smart contract which needs bitcoin oracle).
XertroV
Member
**
Offline Offline

Activity: 88
Merit: 12

Max Kaye


View Profile WWW
June 10, 2013, 10:35:56 AM
Last edit: June 10, 2013, 10:49:13 AM by XertroV
 #44

Diversity applies between equal players, otherwise it's just treehugger underdog-loving bullshit. Capitalism hates diversity if there is no (obvious, short term) profit in it. Thats what humans are. Technically, you need something to sustain the volume for things to work.

I really hope you're wrong; diversity is a fantastic guard against crashes. Time will tell.

Edit:
I should add that I'm not talking specifically about litecoin/shitecoin/etc. I'm talking about currencies created to be particularly useful in certain cases or environments.

In bitcoin chain, you create the transaction as usual, but keep it secret until counterparty shows you it's altchain transaction. You send only it's hash (txid) to counterparty on altchain for that purpose. There, transaction has special input opcode 'bitcointxid'. This opcode evaluates to true *only* if the txid is seen actually included in bitcoin blockchain. Naturally, altchain client needs to consult bitcoin blockchain during validation as well (but you need bitcoin anyway for other reasons, even SPV will suffice if you replace txid with hash(txid)). Thus, both transactions become valid only if both parties transmit them on network.

(taken from https://github.com/bitcoinx/colored-coin-tools/wiki/crosschain-p2ptrade )

I see. Makes sense in theory; seems like somewhere between the chain-trade alg and Marketcoin.

There are some cases not covered by the above, though, which could take place during the exchange of information / between broadcasts which could compromise the trade. Has anyone written any more on the above?
I can, however, see how some easy modifications could eliminate some edge conditions.

Edit2:
I've responded to tumak's post below in a PM to avoid derailing the thread further
tumak
Newbie
*
Offline Offline

Activity: 35
Merit: 0



View Profile WWW
June 10, 2013, 10:38:08 AM
 #45

Diversity applies between equal players, otherwise it's just treehugger underdog-loving bullshit. Capitalism hates diversity if there is no (obvious, short term) profit in it. Thats what humans are. Technically, you need something to sustain the volume for things to work.

I really hope you're wrong; diversity is a fantastic guard against crashes. Time will tell.

In bitcoin chain, you create the transaction as usual, but keep it secret until counterparty shows you it's altchain transaction. You send only it's hash (txid) to counterparty on altchain for that purpose. There, transaction has special input opcode 'bitcointxid'. This opcode evaluates to true *only* if the txid is seen actually included in bitcoin blockchain. Naturally, altchain client needs to consult bitcoin blockchain during validation as well (but you need bitcoin anyway for other reasons, even SPV will suffice if you replace txid with hash(txid)). Thus, both transactions become valid only if both parties transmit them on network.

(taken from https://github.com/bitcoinx/colored-coin-tools/wiki/crosschain-p2ptrade )

I see. Makes sense in theory; seems like somewhere between the chain-trade alg and Marketcoin.

There are some cases not covered by the above, though, which could take place during the exchange of information / between broadcasts which could compromise the trade. Has anyone written any more on the above?
I can, however, see how some easy modifications could eliminate some edge conditions.

There are no edge cases as long the bitcoin tx is kept private until the right time. I didnt bother implementing such altcoin (just fork bitcoin, add the opcode, track two blockchains) because ultimately there is no use for it yet (stuff i mentioned before must happen first)
jubalix
Legendary
*
Offline Offline

Activity: 2618
Merit: 1022


View Profile WWW
June 10, 2013, 12:19:18 PM
 #46

I laud the effort and will watch closely

however I have seen a few of the P2P exchange threads now full to the brim with details,  if as much time was spent coding as writing these long descriptions, we would have P2P exchanges by now, eg satoshi coded bitcoin before writing how it worked

Admitted Practicing Lawyer::BTC/Crypto Specialist. B.Engineering/B.Laws

https://www.binance.com/?ref=10062065
usscfounder
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile
June 10, 2013, 04:40:04 PM
 #47

I laud the effort and will watch closely

however I have seen a few of the P2P exchange threads now full to the brim with details,  if as much time was spent coding as writing these long descriptions, we would have P2P exchanges by now, eg satoshi coded bitcoin before writing how it worked

The problem (and one of the reasons why I have not coded anything), is that the community needs to come to a consensus on what is needed for a decentralized p2p exchange.

I have submitted and am working on a design for a decentralized p2p exchange here:

https://bitcointalk.org/index.php?topic=209269.0


My purpose of my design submission is to inspire a coordinated effort in the crypto-community to develop a p2p exchange.  I have submitted some ideas that solve some of the problems but would like others to submit ideas as well.

Some of the problems with fiat conversions are government institutions and laws.  No one (including myself) wants to submit designs that seem to condone breaking the law.  I have a solution to the fiat conversion problem, but it directly clashes with some of the legality that some governments have issued guidelines for.  I am debating even if I should submit a design to solve the fiat conversion problem.  The truth is the solution is quite simple (nevermind).  
charleshoskinson (OP)
Legendary
*
Offline Offline

Activity: 1134
Merit: 1008

CEO of IOHK


View Profile WWW
June 10, 2013, 04:46:02 PM
 #48

Quote
I laud the effort and will watch closely

however I have seen a few of the P2P exchange threads now full to the brim with details,  if as much time was spent coding as writing these long descriptions, we would have P2P exchanges by now, eg satoshi coded bitcoin before writing how it worked

The goal here is to aggregate those currently working on p2p exchanges and see where we can get common ground. Then to pool development and problem solving resources. A p2p exchange is significantly more complex than just a cryptocurrency due to trust issues, the amount of fiat instruments in the ecosystem and the notion of protective leverage.

The issue is that there isn't just one way to resolve these problems. Instead there is a spectrum of potential solutions that really would require both indepth analysis and probably a stress test to see is the system is scalable. Due to limited resources, it isn't possible to do this for every solution thus we have to somehow choose to discriminate.

Stage one of Invictus is to figure out a working definition of a p2p exchange based on a set of criterion and create some sort of comparison chart to see where everyone's implementation falls. Stage two is to pick a subset of technologies and construct a working prototype. Stage three is to stress and pen test it.

Even if the initial minimum viable product fails, we will still have a pool of ideas to draw new MVPs from until something comes along that works. Invictus isn't a one month project. It's here for the long arc to solve Bitcoin's biggest problem.  

The revolution begins with the mind and ends with the heart. Knowledge for all, accessible to all and shared by all
BTCLuke
Hero Member
*****
Offline Offline

Activity: 526
Merit: 508


My other Avatar is also Scrooge McDuck


View Profile
June 10, 2013, 05:46:51 PM
 #49

Stage one of Invictus is to figure out a working definition of a p2p exchange based on a set of criterion and create some sort of comparison chart to see where everyone's implementation falls.
To that end I've been revising the criteria list a bit recently, and here's my most recent draft:

Quote
Criteria used to create an ideal P2P Distributed Exchange:

1. It must be without any central points of failure.  Like bitcoin, DEX must be designed to withstand government attack. I suggest a bitorrent-like overall schematic with no blockchain. It must also be completely distributed (not just decentralized) and open source.

2. It must present a very large number of possible trades to choose from. As many trades as possible being presented at a time should be the goal, so that assets can form a stable price. (e.g. All clients in a region can see that Bitcoin is going for $150.)

3. It must transact trades almost instantaneously. When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so. (This is extremely important for arbitragers and other traders who help keep the price fluctuation down.)

4. It must offer Graphs and APIs for for graphing. -All online trading platforms do this, even Mt.Gox. Each client should offer it's own API feed showing all trades in it's region.

5. It must have three-user (trustless) trading. So a non-interested 3rd party always hosts the trade between the buyer and seller, providing escrow too. To prevent the middleman from theft himself, “2-of-3” escrow  should be employed.

6. It must hold and transfer a perfect representation of fiat currency. This encrypted device must be designed from the ground up to be transferable yet not counterfeitable, and be traded in the same denominations of real fiat money. It also must have a very high likelihood of being redeemable for the fiat money it represents, which makes it a 'digital IOU,' yet with all of the characteristics of sound money. (Divisibility, fungibility, Malleability, Scarcity, etc...)

7. It must not be assumed that individual users have access to less information than the network as a whole. A typical mistake in coding large P2P networks like bitcoin is to assume that it can be coded in such a way where one client or peer on the network can be restricted in access as not to see information elsewhere in the network. This also means that the the network as a whole cannot authorize things that an individual peer can't. Both are demonstrably false in the kind of environment this system requires.

8. It must be easy enough for Laymen to understand. (The grandmother clause) An ideal distributed exchange must be easy enough for laymen to make their first trade on. Therefore, it cannot require extensive understanding of cryptography, code, cryptocurrencies, nor even economics to operate. The intended enduser should always be thought of as a grandma who just learned what a bitcoin is and wants to buy one.


Now how to get everyone to agree to a final? Taking a vote on this kind of thing would be like herding cats, so what can we do to best ensure that it is something that mostly all of us agree on to be in everyone's interests?

Luke Parker
Bank Abolitionist
XertroV
Member
**
Offline Offline

Activity: 88
Merit: 12

Max Kaye


View Profile WWW
June 10, 2013, 07:47:58 PM
 #50

A few comments:

Criteria used to create an ideal P2P Distributed Exchange:

I'm really presuming the word 'ideal' isn't in the above line. I'm not even sure if an ideal p2p exchange could work. Ideally I could trade you my gold bar for bitcoins truslessly, but there are myriad issues that prevent that. I think we should compartmentalise what we want these exchanges to do, more so than just 'a p2p exchange', and more like 'a p2p fiat exchange', 'a p2p fiat and cryptocoin exchange', etc.

3. It must transact trades almost instantaneously. When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so. (This is extremely important for arbitragers and other traders who help keep the price fluctuation down.)

There are two parts to a trade - matching and locking the orders, and transferring value. "When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so." Really I think this means "When you are watching a graph of trades and you would like to make a trade at that current price, you must be able to do so, or have the same ability to do so as every other member of the exchange". Trades with fiat can't be instantaneous, but locking in a price can be.

6. It must hold and transfer a perfect representation of fiat currency. This encrypted device must be designed from the ground up to be transferable yet not counterfeitable, and be traded in the same denominations of real fiat money. It also must have a very high likelihood of being redeemable for the fiat money it represents, which makes it a 'digital IOU,' yet with all of the characteristics of sound money. (Divisibility, fungibility, Malleability, Scarcity, etc...)

Where did the 'value' term go? You've now removed the reference to generic money and are specifically talking about fiat. Also, a 'perfect representation of fiat' doesn't really mean anything because there is no perfect representation. Maybe cash, but you'd have to mail it or exchange in person; bank transfers are IOUs. I am not certain this new criterion is even possible in the world of fiat.

I can't come up with a better point 6 than we had before, but I think this change is not a good one.
BTCLuke
Hero Member
*****
Offline Offline

Activity: 526
Merit: 508


My other Avatar is also Scrooge McDuck


View Profile
June 10, 2013, 09:48:49 PM
Last edit: June 10, 2013, 11:46:56 PM by BTCLuke
 #51

Criteria used to create an ideal P2P Distributed Exchange:
I'm really presuming the word 'ideal' isn't in the above line. I'm not even sure if an ideal p2p exchange could work. Ideally I could trade you my gold bar for bitcoins truslessly, but there are myriad issues that prevent that. I think we should compartmentalise what we want these exchanges to do, more so than just 'a p2p exchange', and more like 'a p2p fiat exchange', 'a p2p fiat and cryptocoin exchange', etc.
I put the word "ideal" in there to simply express "the best we can do."

No one is trading any gold bars trustlessly, so whomever comes up with the next best POSSIBLE thing, has figured out the "ideal."


3. It must transact trades almost instantaneously. When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so. (This is extremely important for arbitragers and other traders who help keep the price fluctuation down.)
There are two parts to a trade - matching and locking the orders, and transferring value. "When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so." Really I think this means "When you are watching a graph of trades and you would like to make a trade at that current price, you must be able to do so, or have the same ability to do so as every other member of the exchange". Trades with fiat can't be instantaneous, but locking in a price can be.
You're shooting too low, it certainly is possible.

We must duplicate the instantaneous nature of fiat->crypto trading that mtgox currently offers.

In fact we must be even faster. The market demands it.

What this requires, of course, is that criteria 6 be an actual transference of value.



6. It must hold and transfer a perfect representation of fiat currency. This encrypted device must be designed from the ground up to be transferable yet not counterfeitable, and be traded in the same denominations of real fiat money. It also must have a very high likelihood of being redeemable for the fiat money it represents, which makes it a 'digital IOU,' yet with all of the characteristics of sound money. (Divisibility, fungibility, Malleability, Scarcity, etc...)
Where did the 'value' term go? You've now removed the reference to generic money and are specifically talking about fiat.
I have intentionally loosened this wording in order to allow for some more creative alternatives. Since I wrote the last one, I've seen a couple of systems that have figured out ways to move the value, but the value didn't represent fiat very well at all. (A flexible amount in both cases.) No matter what, the "prime directive" of replacing fiat must be for it to have all the charachteristics of money... (Divisibility, durability, fungability, scarcity, portability & malleability) Those are being overlooked by people with otherwise very creative ideas... So I re-worded to both loosen for creativity's sake, yet enforce that requirement.


Also, a 'perfect representation of fiat' doesn't really mean anything because there is no perfect representation.
As my dad once said, "I find your lack of faith disturbing."  Wink

I happen to know of one such solution now, although I can't be sure that everyone will agree it's "perfect." It will likely be "the best we can think of" again though.

Luke Parker
Bank Abolitionist
charleshoskinson (OP)
Legendary
*
Offline Offline

Activity: 1134
Merit: 1008

CEO of IOHK


View Profile WWW
June 11, 2013, 04:31:56 PM
 #52

Quote
I happen to know of one such solution now, although I can't be sure that everyone will agree it's "perfect." It will likely be "the best we can think of" again though.

I do too Smiley How that's whitepaper coming along Luke.

The revolution begins with the mind and ends with the heart. Knowledge for all, accessible to all and shared by all
BTCLuke
Hero Member
*****
Offline Offline

Activity: 526
Merit: 508


My other Avatar is also Scrooge McDuck


View Profile
June 11, 2013, 06:07:32 PM
 #53

How that's whitepaper coming along Luke.
Close!

You can't rush miracles! Wink

Luke Parker
Bank Abolitionist
bytemaster
Hero Member
*****
Offline Offline

Activity: 770
Merit: 566

fractally


View Profile WWW
June 11, 2013, 09:01:32 PM
 #54

All,
    I would like to takes some time to get some basic understanding about the 'nature of fiat' because there is some kind of belief that there is such a thing as 'perfect representation' when even bank accounts are not a 'perfect representation'.

   1) All modern fiat is actually a defaulted gold certificate.  They continue to trade at slowly depreciating values, but this is the true nature of fiat.
   2) USD at Mt.Gox is different than USD in Bank of America is different than USD at JP Morgan.   USD at these banks are not perfectly fungible and they trade (in a very small) range based upon the supply and demand for 'credit' at various institutions.   Ask anyone who wants to get money into or out of Mt.Gox if a $1 in Gox is really worth $1 in your hand.  Sometimes it is more, sometimes it is less.   As a result, even something as traditional as Mt.Gox, Banks, etc are not 'perfect representations' of currency.
   3) All that exists in the current banking system is dollar denominated IOUs that are exchanged against one another at prices near par.  Ultimately these IOUs have no backing and the primary difference between them and bitcoin is that a central authority can create new IOU USD with no backing.

  With that out of the way, lets step back from focusing on a 'solution', namely a p2p exchange, and grab a clearer understanding of the 'problem' where the problem is not the lack of a p2p exchange.   The problem is the market demands a money that combines the best properties of Bitcoin and fiat.   So, I am going to define our problem in terms of creating a 'better' money than bitcoin.  'Money' *is* the ultimate P2P exchange through which all other goods are bought, sold, and compared.   So, lets define why money has value.

Money is 'valued' because of its ability to move 'purchasing power' through time and space with minimal losses and risks.   
 
   Fiat money suffers from counter-party risk and inflation.  Bitcoin solves those problems but suffers from exchange risk.   Real-time exchanges like Mt.Gox can mitigate the exchange risk by offering 'instant exchanges' and 'real-time' price discovery at the expense of re-introducing counter-party risk. 

  With that said, what is the logical result of a P2P exchange in the extreme?  Every individual *is* an exchange.   You could say that the free-market is the ultimate P2P exchange!  Why do centralized exchanges exist?  Because out of the billions of people in the world only those at the 'margin' can agree on a price and these people are hard to find and trust and unlikely to be local.  Because the market demands efficiency, particularly with money, any exchange based upon 'trust' tends to concentrate the 'trust' into LARGE organizations with sufficient common trust to produce an internal exchange with sufficient liquidity and small spreads.   A P2P system that only serves to facilitate trading among a larger number of smaller 'trusted' organizations... say issuers of crypto-USD-bonds will only serve to create a large number of dollar-denominated bonds that all trade AGAINST one another with some amount of spread.  'trust' in 1000 different 'anonymous' individuals cannot be aggregated any more than 'trust' in 1000 different fiat-currencies can be aggregated into a basket while allowing each 'currency' to claim that it *is* the same as all of the others.  In effect, simply aggregating many bank notes from many 'small' banks does not cause all notes to have equal value despite the desire of the banks for this to be so.   Trustworthy banks would subsidize less trustworthy banks.

   With all of that said, we can then conclude that any IOU system must be backed by crypto-currency collateral sufficient to maintain the purchasing power of the IOU even in the face of exchange rate fluctuations between the IOU and the backing crypto-currency.   All that is required is to define the set of rules for issuing, backing, and covering IOUs that does not depend upon a trusted 3rd party to assess defaults or arbitrate collateral payouts.

   I think there currently 4 categories of exchanges:  1) those like local-bitcoins or OTC  2) those like Mt. Gox  3) those based upon decentralized issuers of 'dollar-denominated crypto-currency'  that can be traded / exchanged via systems like MarketCoin or even anonymous exchanges. and last but not least, dollar-denominated crypto-currency without any specific issuer and that has value *independent* from any individual backing it.

  Assuming you can have a dollar-denominated crypto-currency with no issuers *then* you have already achieved the ultimate P2P exchange where *everyone* is an exchange you no longer require a system to 'pair' the highest USD/BTC bidder against the lowest 'ask'.   Everyone who wants into a dollar-denominated crypto-currency is a match against everyone who wants out of it and back into paper dollars.  Therefore, it is as decentralized as possible.

  Only once you have dollar-denominated crypto-currencies does it make sense to have a decentralized trading platform that allows you to convert between currencies denominated in other units like gold, silver, EUR, or bitcoin.   

  I am going to go one-step further and claim that BTCLuke and I both require a nearly identical blockchain based trading platform.  We both require collateral with a crypto-currency.  All that remains to be solved is:
    1) how are new dollar-denominated crypto-bonds issued?
    2) how is the collateral requirement determined?
    3) how is default detected and the collateral paid out?
    4) how is the bond fulfilled?

  Both BTCLuke and I require a 3rd party escrow when trading crypto-usd-bonds for USD (except in person).  I submit that 3rd party escrow is ALWAYS required when exchanging with 'untrusted' parties when one side of the transaction involves something physical.   The only way to avoid the escrow step is if the crypto-usd-bonds were issued by a PUBLIC, trusted, and 'centralized' company.   

   I have answers to the 4 questions, and would like to see what answers BTCluke has. 



 
 

https://fractally.com - the next generation of decentralized autonomous organizations (DAOs).
BTCLuke
Hero Member
*****
Offline Offline

Activity: 526
Merit: 508


My other Avatar is also Scrooge McDuck


View Profile
June 11, 2013, 09:34:14 PM
 #55

Both BTCLuke and I require a 3rd party escrow when trading crypto-usd-bonds for USD (except in person).  I submit that 3rd party escrow is ALWAYS required when exchanging with 'untrusted' parties when one side of the transaction involves something physical.   The only way to avoid the escrow step is if the crypto-usd-bonds were issued by a PUBLIC, trusted, and 'centralized' company.  
Oh man your timing bro....

I think I've found a way around the 3rd party in one case. I'm sooooooooo close to having it all documented...

For normal trading, such as buying USD with Bitcoins, or Bitcoins with USD, I'm still planning to use the 3rd party to actually move the values of the currencies after the trade has "been made" in real time.

For purchasing the representation of the USD, I think there is a semi-trustless 2-way exchange option. (Yes, with no central authorities.) I'll detail it in my upcoming whitepaper.

Luke Parker
Bank Abolitionist
bytemaster
Hero Member
*****
Offline Offline

Activity: 770
Merit: 566

fractally


View Profile WWW
June 11, 2013, 10:56:48 PM
 #56

Both BTCLuke and I require a 3rd party escrow when trading crypto-usd-bonds for USD (except in person).  I submit that 3rd party escrow is ALWAYS required when exchanging with 'untrusted' parties when one side of the transaction involves something physical.   The only way to avoid the escrow step is if the crypto-usd-bonds were issued by a PUBLIC, trusted, and 'centralized' company.  
Oh man your timing bro....

I think I've found a way around the 3rd party in one case. I'm sooooooooo close to having it all documented...

For normal trading, such as buying USD with Bitcoins, or Bitcoins with USD, I'm still planning to use the 3rd party to actually move the values of the currencies after the trade has "been made" in real time.

For purchasing the representation of the USD, I think there is a semi-trustless 2-way exchange option. (Yes, with no central authorities.) I'll detail it in my upcoming whitepaper.

A take back my 'always' comment, the one exception I can think of is Nash Equilibrium where both parties require an initial amount of crypto-currency that they can 'lock-up' as backing for the exchange.

*if* you have something that works for BTC to USD without requiring a 3rd party ... then that would be awesome   

https://fractally.com - the next generation of decentralized autonomous organizations (DAOs).
ToaDy
Newbie
*
Offline Offline

Activity: 19
Merit: 0


View Profile
June 12, 2013, 01:17:21 PM
 #57

Do you have already ideas and need people to work on it or are you starting it from scratch?

cheers,
bytemaster
Hero Member
*****
Offline Offline

Activity: 770
Merit: 566

fractally


View Profile WWW
June 12, 2013, 01:40:05 PM
 #58

We are looking for the best combination of ideas

https://fractally.com - the next generation of decentralized autonomous organizations (DAOs).
yuzhe
Newbie
*
Offline Offline

Activity: 24
Merit: 0


View Profile
June 12, 2013, 05:00:15 PM
 #59

might be relevant - http://www.reddit.com/r/Bitcoin/comments/1g3xlx/wip_a_very_preliminary_p2p_exchange_demo_using/cagjp1i
nomailing
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
June 12, 2013, 10:38:44 PM
 #60


3. It must transact trades almost instantaneously. When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so. (This is extremely important for arbitragers and other traders who help keep the price fluctuation down.)
There are two parts to a trade - matching and locking the orders, and transferring value. "When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so." Really I think this means "When you are watching a graph of trades and you would like to make a trade at that current price, you must be able to do so, or have the same ability to do so as every other member of the exchange". Trades with fiat can't be instantaneous, but locking in a price can be.
You're shooting too low, it certainly is possible.

We must duplicate the instantaneous nature of fiat->crypto trading that mtgox currently offers.

In fact we must be even faster. The market demands it.

What this requires, of course, is that criteria 6 be an actual transference of value.

Or you use SSL logs to proof (almost) instantaneous transaction of fiat as described in https://bitcointalk.org/index.php?topic=173220.0.

I think a perfect p2p-exchange should allow instantaneous AND non-instantaneous trade fulfilling because it is always a trade-off. The users should be able to choose what they prefer. If you place an order you should be able to specify to what terms you are willing to agree:
Quote
1) in case of dispute, the seller has to proof using SSL-logs that he didn't receive the fiat.
2) in case of dispute, the buyer has to proof using SSL-logs that he did send the fiat.
3) in case of dispute, both parties have to proof using SSL-logs that they send or didn't receive the money.
4) the bitcoin-buyer has to provide instant proof of payment using SSL-logs.
5) in case of dispute, nothing happens. Just use supplied user ratings similar to bitcoin-otc.
6) use 2-party shared bitcoin collateral and both loose if trade is not fulfilled.

Options 1-4 would involve an escrow and the recording of SSL logs of your banking session and sending it to the escrow.
Option 4 would even allow instantaneous trades between bitcoin and fiat without IOUs.
Option 5 would be based on user supplied ratings similar to bitcoin-otc
Option 6 would be possible without escrow.

I think there are many good reasons why some users might prefer one of these methods over another. Why not let each user decide which way to trade (speed vs. risk vs. price etc.). In this way, the exchange market will automatically determine different prices for different trust levels and order types.

So I would actually change #3 to:
Quote
3a. It must match trades almost instantaneously.When you are watching a graph of trades in your region and want to trade at a very specific time, you must be able to do so.
3b. It must be possible to fulfill matched trades almost instantaneously if the chosen fiat transfer mechanism allows it.


*EDIT* Btw, the options which I specified above obviously focus on direct trading of fiat vs bitcoin. Of course it would be nice to have in addition to this some IOU based trading or something like a peged crypto-fiat like bitshares.

BM-2D9KqQQ9Fg864YKia8Yz2VTtcUPYFnHVBR
Pages: « 1 2 [3] 4 5 6 7 »  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!