Author

Topic: [ANN] Coinbend: a functional decentralized cryptocurrency exchange (Read 3973 times)

full member
Activity: 179
Merit: 250
Everybody love the concept but all of the similar porjects never go anywhere. I think that this is going to end up being a niche field for doing very large transfers between to parties.
legendary
Activity: 2562
Merit: 1024
Leading Crypto Sports Betting & Casino Platform
I found this thread by doing a google search for "p2p coin exchange"
I've just begun to read some of your resources.
How are you making out with this?

I've stopped working on it due to a complete lack of interest so the project is dead at this point.


wow unbelievable this lack of interest from the community. this project looks like what crypto needs atm, esp after the drama with cryptsy now. sending the link to this thread to some friends who might be able to help with some stuff. best of luck with the project!
member
Activity: 114
Merit: 16
Quote
This isn't that important at an early stage of the software.

It's important if you want people to use it. One of the main reasons why people keep putting their coins into centralized exchanges is because its easy. Who wants to install a bunch of clients manually and then wait days for their blockchains to download? Nobody.

Quote
This is probably the most important part and should get most of the attention.

Agreed, but easier said then done. I would also add a better way to test the software with simulated blockchains. Could work as a fake JSON-RPC API for the coins to simulate transactions being confirmed as that's mostly what the software uses for validation.

Quote
I agree with you that security is important. But there are also other important features that an exchange must have and it seems to me that a timechain may inhibit one important feature and that is speed. Now maybe I am reading/understanding timechains incorrectly...and I apologize if I am. But when I see a "5 minute interval" I'm understanding that transactions (trades) can take up to 10 minutes ... Am I correct in this thinking? If that is the case then I don't recommend taking this route as the software will be lacking an all too important feature.p

The main benefit that a p2p exchange can provide is security and the current model is largely flawed without a solution for the trust problem. Timechains are that solution as they allow two unrelated systems to be linked with standard smart contracts without relying on a human for fail-safe refunds. Especially important given that cryptocurrency exchanges are still getting hacked.

Quote
In short: IMHO, If this is to work, Coinbend needs to have all the features of a centralized exchange + p2p + security

It's possible but in my opinion: not without significant funding. Nobody has the time or money to educate every potential user on a completely new way to transact + write the thousands of lines of code needed to make that easy. My expectation is that software like this will eventually emerge but it probably won't be trustless or user-friendly causing it to be niche and largely useless. The true challenges to solve for a project like this are actually immense because assuming you write all the code and the software works flawlessly: you still have to contend with the network effect which basically states that for certain applications the usefulness of the service is defined by the square of the number of users. So take Coinbase: why are they so popular? They have a huge number of users and thus a high liquidity; thus a higher potential to gather new users which just keeps on going and going. But how did they start initially and break through the noise of the online world? They had significant VC backing to the tune of millions. So you see, this project is much more difficult than producing the correct algorithms, and all of these problems add up to it not being worth it.
hero member
Activity: 868
Merit: 503
Are you excepting new coins?
sr. member
Activity: 367
Merit: 250
I'm a miner not a minor.
Some opinions and things that i've been mulling over...

It is my intention to provoke thought and possibly start a conversation as well as to help me (and possibly others) understand a few things. That is all Smiley

Quote
* Add thin-clients for the coins so full blockchains don't need to be downloaded (maybe using a consensus algorithm on top of the blockchains)
This isn't that important at an early stage of the software.

Quote
* Make the UI easier to use
I watched your video. I'm sure it could be more intuitive but it's a good start.

Quote
* Improve the trading algorithm to use a network-wide, ripple style consensus algorithm (to avoid front running and do proper p2p matching, current algorithm is crappy and may have problems)
This is probably the most important part and should get most of the attention.

Quote
* Timechains could also be removed but I honestly wouldn't recommend this if you give a damn about security. No timechains = trust and trust is a disaster waiting to happen when it comes to p2p finance and digital asset security.
I agree with you that security is important. But there are also other important features that an exchange must have and it seems to me that a timechain may inhibit one important feature and that is speed. Now maybe I am reading/understanding timechains incorrectly...and I apologize if I am. But when I see a "5 minute interval" I'm understanding that transactions (trades) can take up to 10 minutes ... Am I correct in this thinking? If that is the case then I don't recommend taking this route as the software will be lacking an all too important feature.

In short: IMHO, If this is to work, Coinbend needs to have all the features of a centralized exchange + p2p + security
member
Activity: 114
Merit: 16
I found this thread by doing a google search for "p2p coin exchange"
I've just begun to read some of your resources.
How are you making out with this?

I've stopped working on it due to a complete lack of interest so the project is dead at this point.

If anyone wants to pick things up again the code is currently working but there's a few things left to do:
* Add thin-clients for the coins so full blockchains don't need to be downloaded (maybe using a consensus algorithm on top of the blockchains)
* Make the UI easier to use
* Improve the trading algorithm to use a network-wide, ripple style consensus algorithm (to avoid front running and do proper p2p matching, current algorithm is crappy and may have problems)
* Timechains could also be removed but I honestly wouldn't recommend this if you give a damn about security. No timechains = trust and trust is a disaster waiting to happen when it comes to p2p finance and digital asset security.

In short: it's still a lot of work to get this usable and since the community doesn't actually care about security there's literally no incentive for anyone to work on this. Not even purely because its a good idea.
sr. member
Activity: 367
Merit: 250
I'm a miner not a minor.
I found this thread by doing a google search for "p2p coin exchange"
I've just begun to read some of your resources.
How are you making out with this?
member
Activity: 114
Merit: 16
very interesting it would be possible swap from any asset - blockchain even a sidechain made
like the ones in the factom project ?

I'm not an expert on FACTOM - but possibly. The algorithm should work with any divisible assets but at the moment I'm only focusing on cryptocurrencies.
legendary
Activity: 1188
Merit: 1001
very interesting it would be possible swap from any asset - blockchain even a sidechain made
like the ones in the factom project ?
member
Activity: 114
Merit: 16
Quote
OK it is good to know that you take that into considerations because there are people that always try to out smart another people.

Definitely. Security is why I'm building the software.

Regarding Coinbend: are there any features you guys can think of that -aren't- related to currency exchange? I was thinking that it has some robust P2P code and it will probably be a while before this software is user-friendly, so why not add something simple to get the network started.
sr. member
Activity: 434
Merit: 250
No doubt this is a pretty idea but the general problem with any P2P is one person trying to play smart than the other, what security measure do you put in place to check this type of ugly situation.

It's simple really: time.

Most of the security measures in Coinbend are all in some way a function of time. You have incremental transfers of coins that take place over a time frame and you have time-based refunds. Both of these approaches allow the risk for trading to be deterministically reduced - even between complete strangers - no third-party needed.

It's an interesting approach. Perhaps one that might eventually lead to the creation of high security databases that would make large-scale data breaches impossible. (Such technology doesn't exist yet but it could if we wanted it to.)
OK it is good to know that you take that into considerations because there are people that always try to out smart another people.
member
Activity: 114
Merit: 16
No doubt this is a pretty idea but the general problem with any P2P is one person trying to play smart than the other, what security measure do you put in place to check this type of ugly situation.

It's simple really: time.

Most of the security measures in Coinbend are all in some way a function of time. You have incremental transfers of coins that take place over a time frame and you have time-based refunds. Both of these approaches allow the risk for trading to be deterministically reduced - even between complete strangers - no third-party needed.

It's an interesting approach. Perhaps one that might eventually lead to the creation of high security databases that would make large-scale data breaches impossible. (Such technology doesn't exist yet but it could if we wanted it to.)
sr. member
Activity: 434
Merit: 250
No doubt this is a pretty idea but the general problem with any P2P is one person trying to play smart than the other, what security measure do you put in place to check this type of ugly situation.
hero member
Activity: 640
Merit: 771
BTC⇆⚡⇄BTC
[...]
How it works
[...]
Since micro-transfer amounts are designed to be as small as possible: any potential losses that might occur will be negligible and the impact of a hacked exchange would have minimal effects. In order to further reduce the risk of p2p trading: Coinbend also includes a secure refund feature. Refunds ensure that an owner's coins will eventually return to them in the event of a broken trade and work by using a new cryptographic construct called the timechain instead of traditional malleable refunds.
[...]

Nice to know that you created some kind of refund feature and found a way to implement it into a decentralized exchange. I guess implementing that idea took a little time and some additional effort, didn't it?

[...]
(Also, please let me know if I should keep working on this as I've already put in a huge amount of time with no reward and a lot more is still needed to get this to beta.)
[...]
Sure you should carry on!

Congratulations for your great project.

P.s. don't forget to publish some account for receiving donations.

Keep up the good work.
member
Activity: 114
Merit: 16
This looks interesting.

Is there anywhere we can read a little more about the details of the smart contract? Is it simply this https://en.bitcoin.it/wiki/Atomic_cross-chain_trading

The smart contract is a modified micro-payment channel but the magic is in the way that it's been implemented to minimize trust and work across cryptocurrencies.
sr. member
Activity: 261
Merit: 523
This looks interesting.

Is there anywhere we can read a little more about the details of the smart contract? Is it simply this https://en.bitcoin.it/wiki/Atomic_cross-chain_trading
member
Activity: 114
Merit: 16
I've just added basic instructions for developers on Github including a vagrant environment that handles installing all the dependencies and everything needed for development. Should hopefully make working on this easier.

https://github.com/robertsdotpm/coinbend

It would be interesting if you released a demo on YouTube with comments to show how make the exchange. Any projects in the field of decentralized exchange is certainly interesting. Thanks!

That's a very good idea. I did kind of rush the videos. I'll do a proper screen cast / demo explaining the software soon.

In other news: I'm still looking for a partner who wants to help me take this to beta. If you like cryptocurrencies and want to help people trade without losing their coins to hackers - send me a PM  Cheesy
legendary
Activity: 2156
Merit: 1132
It would be interesting if you released a demo on YouTube with comments to show how make the exchange. Any projects in the field of decentralized exchange is certainly interesting. Thanks!
member
Activity: 114
Merit: 16
I have answered  you on pm

He is great coder and programer,also he has great knowledge from area of finance and economy,investments
if you will need web designer that we know one,if he will not has time for it,i can try to contact with woman with good knowledge about web building,designe etc

Awesome. I hope this goes somewhere

Quote
Very nice project you have there!

Will your software be available for others to use to start their own exchange?

It's a p2p exchange so users download the software and run it on their own computers to trade crypto-assets that they singularly control. In this way, there's no limitations on what assets can be traded and deposits aren't required making it much more secure than giving away your coins to trade on a centralized exchange.

I suppose you actually could use the software to allow anyone to setup their own exchange. Under that model, operators would run the software and accept deposits on behalf of their customers who could then trade currencies with other customers on that node in real time - quite an interesting thought because you could argue that's definitely one definition of  "decentralized exchange" and the risks for trading would still be reduced by using smart contracts, however,  that's not exactly what I had in mind for the software.

Still, if enough people want such a feature I can always make this a multi-user system. What's cool about this software is the UI is web-based and the code is Python - so anyone can run this software and access it from any platform with a web browser. The web is extremely flexible and accessible, so building the software in this way is like giving people an entire exchange in a box. Prettty cool. Anyway, back to work  Grin
legendary
Activity: 1596
Merit: 1027
Very nice project you have there!

Will your software be available for others to use to start their own exchange?
Pab
legendary
Activity: 1862
Merit: 1012
I'm actually looking for a technical co-founder to help me take this project to the next stage. This is an open source project but I also intend to run it commercially so for the right person the equity split would be 50 - 50. Obviously you would need to believe in the project a lot to work on it for equity alone which is what being a co-founder means, as well as to sign any required legal documents for vested equity. I really don't have anything to hide about the transparency of this project - I'm just extremely overworked as the sole developer and I'm looking to find a talented hacker or designer who is as excited about improving the security of trade as I am.

I'm going to post a new thread about this soon but I'll definitely get in contact with you (and if anyone else is interested in joining PM me and we can discuss this further.)
I have answered  you on pm

He is great coder and programer,also he has great knowledge from area of finance and economy,investments
if you will need web designer that we know one,if he will not has time for it,i can try to contact with woman with good knowledge about web building,designe etc
Pab
legendary
Activity: 1862
Merit: 1012
 Hi
if you need developer help,than my friend who is exellent dev can work on that project,he is very good and he works very fast

He doesnt want any money,he only take care  his very innovative digital currency can be traded on exchange
Regards
P
he can start to work immediatly
you can meet on skype,email etc
That what you are doing is that what crypto really needs
member
Activity: 114
Merit: 16
Thanks for the kind replies so far. I'm in the process of editing an install / how to video since the instructions are a little unclear at this point.

For now: here's a short video of how to submit a mock trade with the demo nodes. I noticed some people were trying that out but you need to also submit an equivalent trade on the other node that matches against your order otherwise the coins won't transfer.

https://www.youtube.com/watch?v=h7maCX8XKbg

Edit: and here's the installation guide - https://www.youtube.com/watch?v=FtPCTpMlcrs. I'll add both videos to the OP.
hero member
Activity: 484
Merit: 500
Woha! It's a very great project!

I'm looking forward to see how it evolves Smiley

I'm excited also to see how this all plays out Smiley
staff
Activity: 4270
Merit: 1209
I support freedom of choice
Woha! It's a very great project!

I'm looking forward to see how it evolves Smiley
member
Activity: 114
Merit: 16

Coinbend: p2p coin swaps with complete strangers.





Announcing Coinbend

Coinbend is the first functional exchange for trading cryptocurrencies that doesn't require a third party. I've been working hard on this software for a while now and this is the first version that runs so I'm releasing this early for feedback.

Keep in mind this is only a prototype so only use this with testcoins - the software is missing a lot of features and doesn't even have a functional order book - but its fully functioning when it comes to trading coins and you can test it if you connect to traders manually.

Let me know what you think of the project in the comments Smiley

Download:
Online demo mode:

(You must enter the node ID of the other demo node for both sides to trade using demo mode.
Minimum order amounts and trade limits apply to prevent abuse.)

Video tutorial: https://www.youtube.com/watch?v=h7maCX8XKbg

How to install and start the software:
  • Download and install any cryptocurrencies you want to trade.
  • Open the coin clients and then close them - this will create the required data directories.
  • Unzip the Coinbend download.
  • Run the install file either called windows_install.bat or linux_install.sh. This will copy the database, UI, and config files so the software works.
  • Start the file called coinbend.exe or coinbend on Linux -- it will patch your coins config files. Press enter to exit.
  • Restart all the coins you want to use. They should now be running on the test network. Allow the blockchains to download and then run the Coinbend client again.
  • When all the debug statements have stopped printing, you should see a URL. Visit http://localhost:7777/ in your browser to trade.

Video tutorial: https://www.youtube.com/watch?v=FtPCTpMlcrs

Placing a test order:
You can either place a trade on the network or trade directly with another person. Network trades currently must match 100% because partial matching isn't implemented yet so I recommend you don't do that. Instead, get a friend to run the client and enter their node ID on the trade confirm page. Both trader's must enter each other's node IDs for direct trading to work and both trades must match 100%.



Why this matters

Coinbend is the first exchange to offer dynamic multi-currency support (you read that right.) What this means in English is there are no restrictions on what alt-coins can be traded. Instead, the software will simply work with any cryptocurrency based on Bitcoin (even alt-coins that don't yet exist.)

You can also trade coin pairs in arbitrary combinations. Every aspect of the software has been designed to work with standard transactions so there are no special requirements to use this software with your favourite currency on the main network.

And last but not least: this is the first practical, p2p exchange for trading cryptocurrencies. It requires no middle man to operate, no third-party trust, and strictly gives the users control of their funds at all time. This is possible because Coinbend solves the TX malleability problem with smart contracts without depending on a third-party as a fail-safe making this the first truly trustless exchange.

How it works

Coinbend works by breaking down trades into a series of micro-trades which are carried out using micro-payment channels. The trades are placed with a standard fee (0.5%) which simultaneously serves as micro-collateral. If a micro-payment channel is ever broken, any owed micro-amounts can be recovered from the trade fees which are managed by the exchange.

Since micro-transfer amounts are designed to be as small as possible: any potential losses that might occur will be negligible and the impact of a hacked exchange would have minimal effects. In order to further reduce the risk of p2p trading: Coinbend also includes a secure refund feature. Refunds ensure that an owner's coins will eventually return to them in the event of a broken trade and work by using a new cryptographic construct called the timechain instead of traditional malleable refunds.

tl; dr, you can trade directly with complete strangers using this design without relying on a third-party but the software isn't finished yet.

(Also, please let me know if I should keep working on this as I've already put in a huge amount of time with no reward and a lot more is still needed to get this to beta.)

Developer: [email protected]

Website: www.coinbend.com

Twitter: @coinbend

White paper 1: www.coinbend.com/whitepaper.pdf

White paper 2: www.roberts.pm/timechain
Jump to: