Bitcoin Forum
June 17, 2024, 04:07:27 AM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1] 2 3  All
  Print  
Author Topic: Proposal: Fully Decentralised Exchange Mechanism for All Cryptocurrencies & Fiat  (Read 9903 times)
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
May 28, 2013, 06:19:44 PM
Last edit: February 04, 2014, 09:16:27 AM by No_2
 #1

We are a UK based research group that operates across two separate companies based at a major UK university.

We have created a design for a fully decentralised exchange mechanism able to facilitate secure exchanges between cryptocurrencies and also fiat. The design provides the following features:

    • A mechanism to create a decentralised cryptocurrency exchange.
    • An architecture resistant to distributed denial of service attack.
    • Resilience to double spending: parties can specify the number of confirmations they require during an exchange, if an attack occurs during this window the network will issue a 'refund' to both parties rendering the attack ineffective.
    • Fully decentralised history of trading data.
    • Fully decentralised history of bid/ask data.
    • Extensibility: cryptocurrencies can be added or removed from this new decentralised exchange without the need for a central authority.
    • Back-porting these capabilities into existing cryptocurrencies will create further decentralisation. Each cryptocurrency then provides a full set of features to enable this decentralised exchange mechanism: as long as any one cryptocurrency with this capability exists so does the decentralised exchange. The more cryptocurrencies with this capability exist the more robust the decentralised exchange becomes.
    • Ability to extend this decentralised exchange mechanism to allow cryptocurrencies to be exchanged for fiat currencies such as USD and EUR via the same API.
    • Improved cryptocurrency accessibility for everyday users with a large amount of functionality being provided in one combined wallet-exchange based client. This will allow anyone to exchange fiat and cryptocurrencies unrestricted from their desktop, phone or laptop.

We have taken this design and its development as far as we can without funding, so are seeking investment and donations directly from the Bitcoin community.

We wish to develop the core parts of the system in-house and then release them for most of the development to then take place within/alongside the opensource community.

We are keen to take this approach because:

    1. We believe this approach will achieve a better segregation of modules and their contracts, using 'design by contract', if the initial design is in place before the opensource community starts working on it. We are all too keenly aware of the design overlap that can occur in the early stages of design if too many developers are involved resulting in artefacts such as API and feature bloat. We are totally behind opensource development but ask yourself which approach did Satoshi use?

    2. We want to build some proprietary technology alongside the decentralised exchange mechanism to fund a new company that is able to fund its own activities without having any external dependencies. This will allow us to deliver a number of other technologies we have in the pipe related to cryptocurrencies. A lot of these are as interesting as this and we plan to release most of them completely opensource too.

If we don’t receive sufficient interest within a few months we will release this design into the public domain so that it can be freely developed by the opensource community with what help we can provide unfunded.

We believe that a secure design can only be achieved through peer review, especially in the domain of cryptography. Therefore whether this design is developed initially in-house or entirely via the opensource  community we consider that ultimately the opensource approach is the only viable option for a successful implementation: no part of this system can be centralised or propriety in any way.

The two key architects of this design are senior technologists at their respective companies; the first partner's background is in architecting and delivery of ultra-secure communications systems, the second has been architecting and building entire virtual economies since the 90s.

If successful the new company we start will be totally separate entity to these. Between the two authors we have direct access to a development team of fourteen which we are keen to throw into this full time as soon as we are able to attract sufficient funding.

We would like to share the designs we have created with a select group of serious individuals who are looking to donate or invest. If you are technical and looking to donate or invest please contact us at metalair.org with some background on yourself.

For the benefit of the community we plan to make all our work related to the decentralised exchange mechanism freely available opensource: the idea would not work if any part of it were centralised.

We are looking to achieve £200k GBP equivalent to cover all development costs, with the total delivery time estimated at around a year from start.

The costs are commensurate with the level of work required for this proposal; this is not yet another rehash of the Bitcoin sourcecode, there are several completely new components we need to develop as well as extensible client software that needs to be created from scratch.

If we achieve our funding goals and start development we will also be looking for technical collaborators.

We are accepting both crypto and fiat. Please donate to the following addresses if you would like to fund this project:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

BTC: 1KzRTpZd8vSVNVNQsQDAYNe7kGwLNUt8Ta
DVC: 13gScbJ1ykbToSneiPd3XsZHStUqi7cjcw
FRC: 178TU5sTh17unxWS9erS4MCNvvgpj562H7
FTC: 6jXDs9YSaxeuczizaMhritUGZFF6JjwY23
LTC: LaSSLFJHXhUsggVuuWQHCfYZXNGpnR5jfc
NMC: NHMvMP8LnZC7R3U32cVrnEEQ1yBE2t79AV
PPC: PRAkh2EogviD1Xn5co6rt51tbAD9pRXZja
TRC: 1FGAjY9UDupLghhabc9cPzymzB75BK2GqA
Fiat: Please see metalair.org for details.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)

iQEcBAEBAgAGBQJRpPH8AAoJEBDOjvU/08IEp/EIAKzcUBdQ8adH+s2o0PPMFmZt
XCpfMU3Yr3vnWwNrIv0FnE7YYPqIzmXtLHCRuAKZYuUQuBj71i6V1SsVUg5bRmYL
ePvTZJHFvbbk2Qa5+US0qCNuNKYKlKD6C36C/rip0Jzgr5CyBL6WwXpQljqn3QOL
9gaslDRuQ+fUTcF2FfUFhQCE0Xmfwr182pz4sHvcsNpLVucH/kY22XLLGfJ0Ey4r
KR83lzq7ShXTTCDZoDKueAVS1WcKD9AdII2vPcWFIS15CFt4VUqqxk97WCrMIpRK
JrO2qtgFsGpbeX3PSJfRbBOmy1oMuCNMYpSRcHYo12YcJJ/Odsjvnuatsph+qPI=
=MXM5
-----END PGP SIGNATURE-----

If you will be donating an amount at or over £1,000GBP equivalent please contact us as we would like to (optionally) add you to our notable donors' page. http://metalair.org/donors.php.

We are taking investment offers at or above £25k GBP. For serious investors, after an initial introduction, we are more than happy to meet face to face and undergo due diligence to any level required: please see our Investor Relations http://metalair.org/investors.php page.

Donations that fall short of our goal will be used for other research, much of which we plan to publish for free consumption by the community, most of it related to cryptocurrencies.

If we do not receive sufficient interest within approximately two months we will release our designs into the public domain.

Please see metalair.org for more details.
waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
May 29, 2013, 12:46:35 AM
 #2

   • Ability to extend this decentralised exchange mechanism to allow cryptocurrencies to be exchanged for fiat currencies such as USD and EUR via the same API.


May I ask how you intend to do that? Banks aren't going to open their servers to OFX API calls from random points on a network.
Perhaps you intend to leave the fiat input process to exchanges. In my opinion, this is the most important, and most urgent problem. The other stuff is great but not as much needed.

PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
fellowtraveler
Sr. Member
****
Offline Offline

Activity: 440
Merit: 250


View Profile
May 29, 2013, 03:10:02 AM
 #3

Is the only solution a set of drivers for screen-scraping various bank websites ?

co-founder, Monetas
creator, Open-Transactions
charleshoskinson
Legendary
*
Offline Offline

Activity: 1134
Merit: 1008

CEO of IOHK


View Profile WWW
May 29, 2013, 03:24:15 AM
 #4

Quote
Is the only solution a set of drivers for screen-scraping various bank websites ?

This project interests me. Could you share your design criterion and philosophy?

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
May 29, 2013, 03:27:46 AM
 #5

I saw the article on Coindesk about you guys, congrats on being the first decentralized exchange to receive some press. I especially like the business plan to make the paid client and offer a higher-tech-savvy free client. It's the first legit way I've heard of monetizing open source software since the tipjar.

That aside, I'm still pretty confused as to how you're handling the fiat. Could you please enlighten us on what the fiat is represented with in your system and how you can keep it away from governments that call it counterfeiting or money laundering?

Cheers!

Luke Parker
Bank Abolitionist
CtrlAltBernanke420
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250


View Profile
May 29, 2013, 03:47:10 AM
 #6

How does fiat get in and out of exchanges without risk?
mobile4ever
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500


View Profile
May 29, 2013, 04:27:41 AM
 #7

How does fiat get in and out of exchanges without risk?

It never does. As long as people exist, there will be mistrust and risk, but certain systems are designed to  minimise risk


https://bitcoinstarter.com/projects/54


waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
May 29, 2013, 04:34:41 AM
 #8

Is the only solution a set of drivers for screen-scraping various bank websites ?
Hi fellowtraveler,
Feel free to contribute to the discussion on the ssldump project in the projects subforum. Would be pleased to get your technical opinions. Or PM is fine too.
Screen scraping - depends what you mean .. has to be something the user can't fake.
Some kind of digital signature would be great, but the banks don't have any incentive to help us, and it's their signature we need.
Somehow we need to combine bank non-repudiation with user privacy.

PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
Kazimir
Legendary
*
Offline Offline

Activity: 1176
Merit: 1003



View Profile
May 29, 2013, 08:36:08 AM
 #9

   • Ability to extend this decentralised exchange mechanism to allow cryptocurrencies to be exchanged for fiat currencies such as USD and EUR via the same API.
I've just started a new topic on exactly this problem, would you mind explaining how you plan to realize this?

In theory, there's no difference between theory and practice. In practice, there is.
Insert coin(s): 1KazimirL9MNcnFnoosGrEkmMsbYLxPPob
moog_bit
Newbie
*
Offline Offline

Activity: 19
Merit: 0



View Profile
May 29, 2013, 10:57:31 AM
 #10

Quote
• An architecture resistant to distributed denial of service attack.

Yes pleeeeeeeease!
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
May 29, 2013, 11:11:30 AM
 #11

The design of the system will be such that to transfer fiat, e.g. USD for BTC you will need to do the following steps:

1. Download and install the wallet-client.
2. Find a bid/ask that matches yours.
3. Setup an escrow and execute.
4. One party then sends bitcoins to a holding address using a 2-of-3 transaction including the selected escrow. The other party pays fiat into the bank account of the selected escrow.
5. When the escrow confirms that: A. Funds are in the longest bitcoin blockchain after the longest specified number of confirmations and B. USD have cleared into the escrow's bank account, the escrow releases access to the bitcoin address to one party and transfers the USD onto the other's bank account. (The escrow will also take fees). Else the transaction is reversed.

The crucial difference with our design is it is fully decentralised so your BTC will clear to an address you can access on the Bitcoin blockchain, rather than residing as a balance at a centralised provider. This process is true of any other cryptocurrency: it will clear to an address you can access on that respective blockchain, not a central provider.

Anyone can sign up as an escrow agent. So escrows can be either trusted individuals operating on a small scale all the way to large trusted organisations. You can choose which one you want to use based on word of mouth and how much other parties on the network you trust in turn trust those escrow. We are already communicating with one large organisation that would act as recognised and trusted escrow agents on the decentralised exchange. If things go well we should be able to develop the first cut of this system alongside their escrow service so the decentralised exchange can launch with a large provider up and running on the network.

To clarify further; the exchange is fully decentralised so we are not involved in the transaction. Any transaction is between you, another bidder/asker and the escrow.

Transfers between cryptocurrencies are the first step of our design and have an automated escrow process regulated by the network itself so no humans are involved and your funds cannot go missing: you either receive access to your funds if both transfers remain cleared on the longest blockchains after the longest specified number of confirmations, or the network issues each party a refund. Refunds are only issued if funds are not in the longest blockchains after the longest specified number of confirmations, i.e. someone has tried a double spend attack, did not send the funds or something is programmatically wrong with one of the cryptocurrency blockchains. This protects both parties and removes any requirement for trust from the system for crypto to crypto exchanges.

There will also need to be fees attached to all escrow services along with other actions carried out by the distributed exchange. We will not be receiving any of these funds. These fees are necessary to pay various entities on the system to ensure they are correctly incentivised to cooperate within the decentralised exchange.

Currently we are only showing our whitepaper to select investors and members of the cryptocurrency community in an attempt to attract investment. If we are unsuccessful in attracting sufficient interest within a few months we will release the whitepaper into the public domain.

We are hoping to get some independent comments from some select individuals who have viewed the whitepaper shortly in an attempt to help certify that our design is feasible and our stated aims are achievable.
waxwing
Sr. Member
****
Offline Offline

Activity: 469
Merit: 253


View Profile
May 29, 2013, 11:39:01 AM
Last edit: May 29, 2013, 11:57:13 AM by waxwing
 #12


5. When the escrow confirms that: A. Funds are in the longest bitcoin blockchain after the longest specified number of confirmations and B. USD have cleared into the escrow's bank account, the escrow releases access to the bitcoin address to one party and transfers the USD onto the other's bank account. (The escrow will also take fees). Else the transaction is reversed.


Your system has a lot of the same elements that I and others had looked at, but here is the part that's tricky: your system makes trust in the escrow essential.
The more your system depends on trust in the escrow, the more funds will pass through a specific escrow, making the escrow more and more exchange-like, making them a magnet for shutdown by authorities.
On the other hand making a system with lots and lots of escrows means very little trust in escrows, meaning users will not want to use them (unacceptable risk), because they are holding funds.

That's why we have been looking into systems to make the wire transfer known to the escrow, combined with a 2 of 3 escrow mechanism(EDIT: to clarify, I meant 2 of 3 for bitcoins, of course), such that the escrow never has access to the funds.

PGP fingerprint 2B6FC204D9BF332D062B 461A141001A1AF77F20B (use email to contact)
phatsphere
Hero Member
*****
Offline Offline

Activity: 763
Merit: 500


View Profile
May 29, 2013, 11:43:18 AM
 #13

Please don't release it as "public domain" because that's a problem in some countries. Rather use BSD, Apache2,or friends...

Apart from that, sounds interesting and don't be shy to sit on this child for too long...
No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
May 29, 2013, 11:56:43 AM
 #14

Please don't release it as "public domain" because that's a problem in some countries. Rather use BSD, Apache2,or friends...

Apart from that, sounds interesting and don't be shy to sit on this child for too long...

Yes, when we say 'public domain' we will pick an appropriate license/distribution model to ensure it can be freely accessed by as many people as possible.

This design will not work if any parts of it are centralised, restricted or propitiatory: it needs to be totally decentralised (as decentralised as a cryptocurrency) and opensource.
KFR
Hero Member
*****
Offline Offline

Activity: 560
Merit: 500


Per ardua ad luna


View Profile
May 29, 2013, 01:11:51 PM
 #15

Good work No_2.  Grin

They're trying to buy all the coins. 
We must not let them.
mobile4ever
Hero Member
*****
Offline Offline

Activity: 546
Merit: 500


View Profile
May 29, 2013, 02:36:29 PM
 #16

Please don't release it as "public domain" because that's a problem in some countries. Rather use BSD, Apache2,or friends...

Apart from that, sounds interesting and don't be shy to sit on this child for too long...

Yes, when we say 'public domain' we will pick an appropriate license/distribution model to ensure it can be freely accessed by as many people as possible.

This design will not work if any parts of it are centralised, restricted or propitiatory: it needs to be totally decentralised (as decentralised as a cryptocurrency) and opensource.


You have a big job ahead of you. Here, from the "official" decentralised thread, are three more threads for your perusal:


https://bitcointalk.org/index.php?topic=172705.msg2235263#msg2235263

No_2 (OP)
Hero Member
*****
Offline Offline

Activity: 901
Merit: 1033


BTC: the beginning of stake-based public resources


View Profile
May 29, 2013, 02:54:56 PM
Last edit: May 29, 2013, 03:17:33 PM by No_2
 #17

We've had a number of requests for PayPal donations.

We have now set this up so are able to take donations. Please pay us via this method or PayPal will take some of the money you donate from the donation and the payment can be reversed at a later date.

Quote
   1. Log into your PayPal account.

    2. On your PayPal login page click on the tab marked 'Send Money' at the top.

    3. Fill out the form and select 'I'm sending money to family or friends' at the bottom of the page..

    4. Click 'Continue' to make payment.

    5. On the next page click 'Send Money'.

Please pay the following email address: paypal@metalair.org

Thank you.


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

paypal@metalair.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)

iQEcBAEBAgAGBQJRpg8mAAoJEBDOjvU/08IEB+MIAOWUjsHjxhhPDHpf6gB7mo2D
/Vp/McZPVOAI00Qj9E+/XnVXg3H3z55uJmx05gbiz7JPXmFOWFxGEEDuFvzlOijm
kOCL0jFK/wHypYQiNa8aRiXN7HkDh/CHFyTRZ2eZ9J9M/y7wPgfYCdN7UNhzxJ+B
EoV/4dVQ4nthGZaPhem/1vPSBz8ydTSfOaCBzR46m4Re7TnGjfPz5uZLLTZMtB+x
a+oBHOOXWZDfwQ/tZr41iRyqcNLABnfioWPvUEJnt5gF4eP+CotLKFdatIx7q257
aruchaOYquwyRQIioL1mqHfGGei2BMqbV8SMkrICSEI74gg+KxzROqfMl8akPM4=
=uaN/
-----END PGP SIGNATURE-----

Its About Sharing
Legendary
*
Offline Offline

Activity: 1442
Merit: 1000


Antifragile


View Profile
May 29, 2013, 03:31:09 PM
 #18

This is great news and a big thank you for working on this.

I said this in the other decentralized thread:

Quote
OP sounds like he is describing Bitcoin.de's system. Buyer and seller have verified bank accounts, buyer transfers the money after purchase (and bitcoin.de freezes the coins purchased), when the money arrives at sellers account it is mark as received and then Bitcoin.de releases the coins. There are problems with this but overall it works quite well.

What I see in a decentralized distributed exchange though, is the money being stored in the "BTC Cloud" and all transactions happening there. So, it is like having a virtual bank online.

To share with you some things that can go wrong I'll mention what happened to me at Bitcoin.de (They have since lowered their "mark purchase as paid" from 24 to 12 hours).
I sold some Bitcoin in a down market to a person and they watched the price fall for a few hours before deciding not to pay me the money. In that 24 hour time my Bitcoin was not sellable as it was locked up for their purchase. They got a bad star rating (now they can be kicked out). Anyway, the point is we need short confirmation times and if we can link bank accounts somehow, to show that a payment was sent, this would solve that problem. I learned my lesson now to only sell to buyers with perfect ratings (in a down market anyway.)

I wonder if we could also, in addition to the buyer to seller account transfer method, also have bank accounts (e.g. - from other countries that are approved of as being legit) used to transfer money into for purchase, thereby having a more transparent transfer). Then it would be easy to see that the money was sent out.

I look forward to this project,
IAS

BTC = Black Swan.
BTC = Antifragile - "Some things benefit from shocks; they thrive and grow when exposed to volatility, randomness, disorder, and stressors and love adventure, risk, and uncertainty. Robust is not the opposite of fragile.
BTCLuke
Hero Member
*****
Offline Offline

Activity: 526
Merit: 508


My other Avatar is also Scrooge McDuck


View Profile
May 29, 2013, 07:18:59 PM
 #19

5. When the escrow confirms that: A. Funds are in the longest bitcoin blockchain after the longest specified number of confirmations and B. USD have cleared into the escrow's bank account, the escrow releases access to the bitcoin address to one party and transfers the USD onto the other's bank account. (The escrow will also take fees). Else the transaction is reversed.
So there is no trading platform? All Fiat->BTC transactions are OTC transactions and graphs aren't even viewed?

I'm sorry, I thought this was meant to be an alternative to MtGox... Imagine what would happen to MtGox if you could only buy bitcoin there at an OTC desk, like at bitcoin-otc... All the daytraders and arbitragers in the world would instantly go find something else to trade besides bitcoin... Sad

Luke Parker
Bank Abolitionist
jaekwon
Member
**
Offline Offline

Activity: 70
Merit: 10


View Profile
May 29, 2013, 07:27:00 PM
 #20

* How is this different than Ripple?
* Can I arrange a meeting with you and review the current state of the work in person before contributing funding?
* What is the mechanism to prevent double spending? PoW?
Pages: [1] 2 3  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!