Bitcoin Forum
May 14, 2024, 06:17:22 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [BOUNTY] Decentralized exchange engine -> Streetshops buying and selling bitcoin  (Read 1697 times)
mrvision (OP)
Sr. Member
****
Offline Offline

Activity: 527
Merit: 250



View Profile
April 04, 2013, 09:21:26 PM
Last edit: April 28, 2013, 01:32:24 PM by mrvision
 #1

First of all, sorry for my bad english.

I will describe an app that being downloaded from the android market will give the ability to any shop to be a bitcoin trader in a  decentralized exchange engine. It will work similar to a exchange shop for currencies but in a p2p network.


The why:

1. Mt.Gox is the largest Bitcoin exchange with more than 80% of all USD trades and more than 70% of all currencies.
2. Mt.Gox has become the biggest weak spot for the bitcoin ecosystem.
3. Yesterday, Mt.Gox attack dropped the price a... wait for it... 18% in less than 1 hour.
4. Think what would happen to the price if one day Mt.Gox is seized by whatever goverment.
5. You don't really know if Mt.Gox has all the funds they say they have. There's no way to know this.

if you're not convinced yet... read this article and you will realize that Mt.Gox needs to be killed by the market forces before we all have to regret.

What Mt.Gox has provided to us:

1. Thanks to (all) the exchanges we know the price of a bitcoin.
2. Thanks to (all) the exchanges we have access to the ability to buy and to sell bitcoins.

So we need better and more efficient ways to do this.
 
What i propose:

I think there should be an app that any owner of a shop could download from the android market and set up his very own price for selling bitcoins and his very own price for buying bitcoins. This app would propagate the shop geolocalization (if the owner wants to) in order to give the ability to others to develope apps to find shops where you can go  and buy bitcoins. This app should be connected to a p2p network so every shop informs about the volume sold the last 10 minutes and at what price. The app should be able to do the maths then and calculate then the price of 1 bitcoin in a particular moment.

There should be a way to connect with php to that network and get the price and volume. Maybe the price in a particular region (This can be made if using geohashes (See http://en.wikipedia.org/wiki/Geohash and http://geohash.org/ )

There should be a way to avoid attackers to report fake prices and fake volumes (i don't have any idea for this but still thinking).

I am not rich but i want to start this by adding 1 bitcoin to the bounty. I think others will see that this is very necessary, so i hope they join us and add more bitcoins. I would also appreciate more ideas and ways to make this happen.


Current bounty is 0 bitcoin.

Members and amount added to the bounty:
mrvision - 1 Bitcoin. -> Retired because i was ripped off by the bitcoin-24 mess.


In the next post i will update with ideas to make this app.
1715667442
Hero Member
*
Offline Offline

Posts: 1715667442

View Profile Personal Message (Offline)

Ignore
1715667442
Reply with quote  #2

1715667442
Report to moderator
1715667442
Hero Member
*
Offline Offline

Posts: 1715667442

View Profile Personal Message (Offline)

Ignore
1715667442
Reply with quote  #2

1715667442
Report to moderator
If you see garbage posts (off-topic, trolling, spam, no point, etc.), use the "report to moderator" links. All reports are investigated, though you will rarely be contacted about your reports.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715667442
Hero Member
*
Offline Offline

Posts: 1715667442

View Profile Personal Message (Offline)

Ignore
1715667442
Reply with quote  #2

1715667442
Report to moderator
mrvision (OP)
Sr. Member
****
Offline Offline

Activity: 527
Merit: 250



View Profile
April 04, 2013, 09:21:47 PM
Last edit: April 04, 2013, 10:33:46 PM by mrvision
 #2

Here i am updating with all ideas given by me or by others in this thread.

First, geohash, what is it and why is it usefull.
Quote from: wikipedia
Geohash is a latitude/longitude geocode system invented by Gustavo Niemeyer when writing the web service at geohash.org, and put into the public domain. It is a hierarchical spatial data structure which subdivides space into buckets of grid shape.
Geohashes offer properties like arbitrary precision and the possibility of gradually removing characters from the end of the code to reduce its size (and gradually lose precision).

So, for instance, lets say you are here:
Street: O'donnell 45
City: Madrid.
Country: Spain.
The geohash for this location is: ezjmuqs1pgkd0

So imagine that there is a shop that is near that point. For example... in:
Street: Doctor Castello 2
City: Madrid
Country: Spain
The geohash for this location is: ezjmuq2fj7dpg

Notice that these two geohashes begin with ezjmuq, this is because if you remove letters from the end of the geohashes you lose precision, so every geohash that begins with the 6 first letters of the geohash of your own location will be pointing somewhere within 200 meters aprox from you. Want to search within 10000 meters? Remove 9 letters, search for any location which geohash starts by ezjm and you see a shop located in:
Street: Goya 14
City: Madrid
Country:Spain
Geohash: ezjmgvpdcdns0

Hope you see the utility for this. You can experiment with geohashes here: http://geohash.org/

Geohashes would give the ability to ask the network for shops near a particular geographic point, and ask for prices in order to be able to search the best price for a particular amount.

Also you can ask last price, and have only the nodes near you answering, in order not to flood the system. Then, because every 10 minutes, every app reports the amount of bitcoins traded and the price, the app can ask for the price when starting and then calculate the price by knowing this data.

More ideas and suggestions comming.
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
April 04, 2013, 09:28:58 PM
 #3

https://localbitcoins.com/
mrvision (OP)
Sr. Member
****
Offline Offline

Activity: 527
Merit: 250



View Profile
April 04, 2013, 11:07:06 PM
 #4

I knew this.
hiima
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
April 04, 2013, 11:50:11 PM
 #5

Good idea. I think you can start with shops that already accept bitcoin as payment and see if they'll do this service.

Whiskey Fund BTC 1K2SG4amzNrB7gUwf5braHuExqnQ5nEKZp LTC Lgoz9gb7q39FMAmBz8odfkx4YFhLeofCpc
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
April 06, 2013, 12:51:47 PM
 #6

A decentralized exchange system is a good idea but the hard part is handling funds and verification.  Just saying you did a trade isn't enough that it should be treated as real by others. Obviously that would be abused right off.

For local meet up handling funds isn't such an issue, though you would want to know an offer is real before putting much effort into meeting. But for doing non-local trades you need some system for escrow, and/or verification, and reliable feedback. So at the least you need to integrate key signing and some identity verification.

You might be able to model such a network after Bitcoin itself using a blockchain to store offers, trades and feedback. "Miners" on this network could be awarded a fee from trades to pay for auditing and recording the trade info. I haven't thought it through but with such a model you already have the source code and can look at how it might be adapted to record trade messages instead of actual transactions.

So you might generate a key pair and use it to send a ID msg containing geohash and identity info, thus recording yourself in the network. Other msgs could be BID qty@ price, BUY qty@price.


mrvision (OP)
Sr. Member
****
Offline Offline

Activity: 527
Merit: 250



View Profile
April 06, 2013, 09:01:22 PM
Last edit: April 06, 2013, 09:22:26 PM by mrvision
 #7

A decentralized exchange system is a good idea but the hard part is handling funds and verification.  Just saying you did a trade isn't enough that it should be treated as real by others. Obviously that would be abused right off.

For local meet up handling funds isn't such an issue, though you would want to know an offer is real before putting much effort into meeting. But for doing non-local trades you need some system for escrow, and/or verification, and reliable feedback. So at the least you need to integrate key signing and some identity verification.

You might be able to model such a network after Bitcoin itself using a blockchain to store offers, trades and feedback. "Miners" on this network could be awarded a fee from trades to pay for auditing and recording the trade info. I haven't thought it through but with such a model you already have the source code and can look at how it might be adapted to record trade messages instead of actual transactions.

So you might generate a key pair and use it to send a ID msg containing geohash and identity info, thus recording yourself in the network. Other msgs could be BID qty@ price, BUY qty@price.



I am thinking what would be the best way to approach this. First, it is important to think that this system would only work in local shops, that would act as exchanges. Secondly, what i think is that, in order to calculate the price, the volume should be an important factor. So if the system counts with the centralized engines to suck their volume and price, the attacker would need a large amount of coins to move the price up or down.

As the system gains traction and users, the network is more protected (because of the same). Transactions -except the ones reported from large exchanges- can be checked in the bitcoin blockchain, so it would cost bitcoins (fees) to move the price.

So first: when your client starts, it asks for the price, so the msg would be something like:
Ok, im here  ezjmuqs1pgkd0  give me the price.
¿No response?
Ok, im here  ezjmuqs1pgkd  give me the price.
¿No reponse?
Ok, im here  ezjmuqs1pgk  give me the price.
¿No response?
Ok, im here  ezjmuqs1pg  give me the price.
¿No response?
Ok, im here  ezjmuqs1p  give me the price.
¿No reponse?
Ok, im here  ezjmuqs1 give me the price.
response: Hi there, i'm near you and the price is: 103.7€  N is 1231230123012391291293123

I use geohashes not to flood the network, but everybody should have the same price.

Now your app continues calculating the price with every transaction reported by doing 103.7*1231230123012391291293123 = 1.27679E+26 (lets call this "THE NUMBER")
Every time a price is reported it adds the price*amount of bitcoins to 'the number' and the amount of bitcoins to the N, Then the price is 'the number'/N
Of course this needs to be worked out but it gives you an idea of what i want to do: To keep the track without storing any data.

If everynode disconnects, by the way, the track would be lost.  But when the first node connects again, then the system starts with the centralized exchanges price from the beginning.

Why don't i keep the history? Because its intended to work in a mobile phone.

If everybody does the same maths the price should be the same, so if someone reports a diferent price can be marked as an attacker and ignored. By the way, someone can report a different price if the network is splitted and rejoined... and he wouldnt be an attacker.

A solution to this needs to be worked out too, maybe every hour or two the network should resync.

aepfel
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
April 09, 2013, 04:37:12 PM
 #8

Iam reporting demand.
How can i add bounty?

Flowers:12bS438q2K2UMYHiaw2PcFzuKgiL4atvsP
bitmessage:BM-2DAaQwRQqsBuzW2j6AQHGQ9G2ePb9crmaV
mrvision (OP)
Sr. Member
****
Offline Offline

Activity: 527
Merit: 250



View Profile
April 09, 2013, 04:43:00 PM
Last edit: April 28, 2013, 01:35:27 PM by mrvision
 #9

Iam reporting demand.
How can i add bounty?

I am retiring the bounty as i am joining a team to do something that has a lot to do with this. So i will use my (little) funds to pay this project.
Sorry for the inconvenience.

(Also i was ripped off by the bitcoin-24 mess  Sad so i have to  save my bitcoins )

P.S.But if you want to add funds to this particular project, i can add your amount to the list so if anyone does this engine you can pay him Smiley
aepfel
Member
**
Offline Offline

Activity: 83
Merit: 10


View Profile
April 09, 2013, 04:47:26 PM
 #10

to bad. but i wish you much luck, with your project. :-)

Flowers:12bS438q2K2UMYHiaw2PcFzuKgiL4atvsP
bitmessage:BM-2DAaQwRQqsBuzW2j6AQHGQ9G2ePb9crmaV
alberthendriks
Member
**
Offline Offline

Activity: 86
Merit: 10


View Profile
April 10, 2013, 02:34:57 PM
 #11

MrVision, Could you share info about that team? Please check my OP here: https://bitcointalk.org/index.php?topic=172378.msg1793556

I'm intrigued by this idea.
mrvision (OP)
Sr. Member
****
Offline Offline

Activity: 527
Merit: 250



View Profile
April 10, 2013, 08:49:21 PM
Last edit: April 28, 2013, 01:36:36 PM by mrvision
 #12

MrVision, Could you share info about that team? Please check my OP here: https://bitcointalk.org/index.php?topic=172378.msg1793556

I'm intrigued by this idea.

The truth is that seeing what just happened with mtgox i'm back thinking that what i described in the OP is the best way to get around this problem and protect the price. But sadly, with this mtgox attack i have lost 8 bitcoins...  and now with the bitcoin-24 mess i've lost almost everthing... so i cannot put it back again.

Sad FUCK
Pages: [1]
  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!