Bitcoin Forum
September 18, 2019, 03:09:43 PM *
News: If you like a topic and you see an orange "bump" link, click it. More info.
 
   Home   Help Search Login Register More  
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [All]
  Print  
Author Topic: P2P Exchange for bitcoin  (Read 42034 times)
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 09:20:57 PM
Last edit: April 28, 2013, 01:30:46 PM by gollum
 #1

Got an idea after all problems that MtGox often have because of DDOS and huge amounts of order.
Why do we rely on a Server-Client Exchange (MtGox) when the strength of Bitcoin is in decentralization???
We should outsource the exchange to a P2P blockchain and let companies like MtGox only handle the fiat and the client-contact.
If we create an open source exchange platform that is decentralized and inspired by bitcoin it would benefit both brokers and clients.

Any ideas and suggestions?

----------------------------------------------------------
Discussions on this topic in other threads:
https://bitcointalk.org/index.php?topic=174039  A decentralized exchange!
https://bitcointalk.org/index.php?topic=174326    
How to Create A True Decentralized FAST Exchange...Easily With Existing Code...
https://bitcointalk.org/index.php?topic=174464 The Final Solution to the Mtgox Problem...
https://bitcointalk.org/index.php?topic=174302 Myths and mis-understandings about "decentralized exchanges"
https://bitcointalk.org/index.php?topic=174498 How to fix the exchanges - a professional view
https://bitcointalk.org/index.php?topic=173187 Yet another Decentralized Exchange Topic
https://bitcointalk.org/index.php?topic=62879 P2P Cryptocoin Exchange (P2PX)
https://bitcointalk.org/index.php?topic=27055 Dark Exchange: a 100% decentralized p2p exchange
----------------------------------------------------------
Latest copy from the git: https://github.com/p2p/bitcoin-exchange
bitcoin-exchange
================
The purpose of this project is to build a global exchange system backed by bitcoin and p2p technology. This exchange system will host many virtual exchanges created by broker alliances which enables both local and global trading of assets in form of OTC markets. The overall goal of this project is to contribute to a free market economy with the help of bitcoin and decentralization.

This exchange system could be used by this kind of markets:
* FX (Bitcoin & Fiat currencies)
* Precious metals
* Commodities
* Stocks and Funds
* Derivatives
* Auctions
* Bartering

The solution described in this file is derived from a collection of ideas proposed at bitcointalk.org and is still being discussed until we reach consensus of a final solution and a detailed architecture.

# Inspiration:
github.com/bitcoin, #Bitcoin-OTC, github.com/bitcoinx, github.com/macourtney/Dark-Exchange, github.com/FellowTraveler/Open-Transactions, github/?/p2pool,
retroshare.sourceforge.net, Ripple.com, CME Group, Forex markets, OTC-markets, Western Union, https://en.bitcoin.it/wiki/Contracts, https://en.bitcoin.it/wiki/Distributed_markets, http://en.wikipedia.org/wiki/Peer-to-peer_lending, http://en.wikipedia.org/wiki/Over-the-counter_(finance)


## Exchange system
* The exchange network is built with the bitcoin network as inspiration.
* The network has a blockchain of orders that gets processed by miners willing to participate and get rewarded
from the brokers with one bitcoin for each N orders that are forwarded in to the exchange.
* Each block takes around 1 second.
* Order matching is done once every block.
* Order cancelling is delayed for 10 blocks to discourage market manipulation.
* The order matching is deliberately slow to prevent High Frequency Trading algorithmis having advantage over the rest of the market. The orders are not executed as FIFO but in random order as a second protection against HFT.
* Once the orders are matched it is up to the brokers to settle the traded assets.
* Transaction history of executed orders will be saved in the blockchain as evidence if dispute would occur between brokers and clients
* Brokers need to create unique client ids for each of their clients, but the real identity of the clients will only be known by the broker and can only be revealed to authorities of the jurisdiction where the broker is based.
 

## P2P-model
We should decide on which P2P-model to use:
* One worldwide blockchain for all virtual exchanges and their orders.
* Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

## Market type
Each virtual exchange will be able to chose from this order processing models:
* Dealers market: clients trade with market makers and not directly with each other
* Double auction: clients trade directly with each other, the price is calculated based on supply and demand. http://en.wikipedia.org/wiki/Double_auction
* English auction with reservation price and time limit: Suitable for sales of huge quantities of an asset, or sales of non standardized assets, such as paintings, cars and real estate.

## Assets
* Assets can be both digital or physical, example: cryptocurrencies such as BitCoin and LiteCoin, digital fiat currencies, physical fiat currencies, gold coins, silver coins, barrel of gasoline.
* Any asset pair can be traded in the exchange just as in a futures exchange since no real asset is handled through the exchange itself, only orders of assets.
* An asset pair can be: Bitcoin traded in US Dollar, BitCoin in Euro, 1 Oz Gold in BitCoin, 1 Oz Silver in BitCoin, LiteCoin in BitCoin, Euro in Dollar, 1 Barrel of Gasoline in Gold, 100 chicken eggs in Oz Silver, or whatever asset pair the brokers wishes to enable trading in.


## Clearinghouse:
"A clearing house is a financial institution that provides clearing and settlement services for financial and commodities derivatives and securities transactions.
http://en.wikipedia.org/wiki/Clearing_house_(finance)
* Trust is used instead of a clearing house - the brokers are responsible for the actual transfer of assets between the traders.
* Voluntary rating of the brokers from the clients could be used to indicate the trustworthiness of each broker.

## Brokers and virtual exchanges
"A broker is an individual or party (brokerage firm) that arranges transactions between a buyer and a seller, and gets a commission when the deal is  executed." (http://en.wikipedia.org/wiki/Broker)
* Anyone can become a broker in this exchange.
* A broker must either join an existing virtual exchange or create a new virtual exchange where orders will be executed.
* Each broker wishing to join a virtual exchange must be approved by the founder of the virtual exchange which is done by mutual exchange of certificates.
* When several brokers exist in a virtual exchange their order books will merge for each asset pair they have in common and all of their clients orders will get matched together.
* Creation of a virtual exhange by virtual exchanges is not allowed, therefore trading between virtual exchanges is not possible.
* All brokers should use .bit domains (NameCoin) as a backup domain.
* Two classes of brokers: Class A Broker can settle assets with brokers in other jurisdictions, Class B Broker can only settle assets with a Class A Broker in the same jurisdiction.
* Each broker has its own order book, and its own asset pairs.
* The brokers using this exchange can have clients globally or locally.
* Client orders are always forwarded to the exchange by the brokers. Clients dont need internet access
from the exchanges perspective since the clients will never use the exchange directly.
* Settlement of assets should be made on a regular basis (daily or weekly) between brokers in a broker-pool in order to minimize the possible loss off assets in
the event of fraud or default.

## Legal issues
* Each virtual exchange must comply with local laws in the jurisdictions where the brokers are located.
* Any legal issue is a matter between brokers in a virtual exchange or between a broker and its clients.
* The exchange system itself cannot be held responsible for any legal issues. The exchange system will be distributed among thousands of computers around the world and its role is to host the virtual exchanges.

## Fees
* Fees are taken from the brokers and virtual exchanges to encourage miners to provide computing power to the exchange and to discourage creation of fake virtual exchanges, brokers and orders.
* Brokers and Virtual Exchanges will have bitcoin wallets created in the bitcoin blockchain where they send bitcoins in advance to pay for the exchange fees. If the broker-wallet or virtual exchange-wallet is empty no orders are processed for that broker or virtual exchange.
* The actual fees must be discussed in the community.

We could apply one of this fee models:
* Predefined fee: Static fee during all circumstances until the community changes the fees manually.
* Parameter based fee: Fee based on the number of one or several of this parameters: number of orders in last N blocks, the VWAP price of BtcUSD the last N Blocks, difficulty of the bitcoin blockchain, difficulty of the exchange blockchain
* Free market model: Fees are decided by each virtual exchange, virtual exchanges paying more fee per order will attract more miners.

Example of fees with the predefined model:
* Broker fee: 1 BTC per 30 days (18 144 000 blocks)
* Virtual exchange fee: 10 BTC per 30 days (18 144 000 blocks)
* 1 BTC per 10 000 Orders forwarded to the Exchange
* 1 BTC per 100 000 Orders cancelled from the Exchange  

## Questions
* If the exchange should work as a stock exchange instead of a futures exchange: How to prevent short selling assets that the client dont own and the broker cannot lend on the market?
* Minimum trading size in each asset to prevent order spamming? (0.1 BTC)
* Even trading sizes? (0.1, 0.2, 0.3 ...BTC)
* Clearing houses or two classes of brokers?
* Market makers?
* Darknet?
* Digital tokens to represent the traded assets and wallets to handle the tokens?
* Allowing creation of alliances between virtual exchanges?
* Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?
* What kind of fee model should we use?

Discussion on: https://bitcointalk.org/index.php?topic=172705.0
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1568819383
Hero Member
*
Offline Offline

Posts: 1568819383

View Profile Personal Message (Offline)

Ignore
1568819383
Reply with quote  #2

1568819383
Report to moderator
tycho
Newbie
*
Offline Offline

Activity: 34
Merit: 0


View Profile
April 10, 2013, 09:28:52 PM
 #2

Got an idea after all problems that MtGox often have because of DDOS and huge amounts of order.
Why do we rely on a Server-Client Exchange (MtGox) when the strength of Bitcoin is in decentralization???
We should outsource the exchange to a P2P blockchain and let MtGox only handle the fiat and the client-contact.
If we create an open source exchange platform that is decentralized and inspired by bitcoin it would benefit both brokers and clients.

Benefits of a P2P-exchange
-One orderbook: regardless of what broker you use you orders would end up in the same order book. That creates higher liquidity and better execution of orders when all orders in the markets re in the same exchange.

-Harder to attack: If the orderbook is decentralized like the bitcoin blockchain it is almost impossible to attack it with DDOS or manipulate the orderbook. The attackers might shut down the brokers' sites but they cant shut down the exchange itself, all orders in the order book will be processed even if no broker site is working.

-More stable. Decentralized exchange means huge computer power combined and fast execution and it can handle huge quantities of clients without problem.

Instead of rewarding the miners with new coins, the rewards can be based on a percent fee (0,001%) of the bitcoin value handled for each transaction.
It might be possible to build the exchange functionality side-by-side with the existing bitcoin software so all miners automatically also can handle the exchange.
But the blockchain should be separated.

Any ideas and suggestions?



I N C E P T I O N

EDIT: Also, yo dawg i heard you like bitcoins so i put some bitcoins in your bitcoins so you could trade bitcoins while you trade bitcoins.
HostFat
Staff
Legendary
*
Offline Offline

Activity: 3220
Merit: 1091


I support freedom of choice


View Profile
April 10, 2013, 09:29:38 PM
 #3

There is already a project that is moving in this direction:
https://ripple.com

NON DO ASSISTENZA PRIVATA - The Rock Trading (ref): A good exchange since 2007.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 09:30:34 PM
 #4

There is already a project that is moving in this direction:
https://ripple.com

Ripple is owned by a company. Im talking about a free model of ripple where everyone can "mine".
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 10, 2013, 09:37:14 PM
 #5

How do you ensure settling up?  If an offer is accepted, both parties are told to settle up offline?

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 10, 2013, 09:42:21 PM
 #6

How do you ensure settling up?  If an offer is accepted, both parties are told to settle up offline?

Would settling up be considered a broker feature and not a part of the main exchange?

*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 09:44:53 PM
 #7

The settlement should be handled by the brokers. The exchange block chain is only for handling this parts:

-brokerid
-clientid
-orderid
-ordertype
-amount
-price


The miners job is to match orders

so when this 2 orders get matched it is up to the brokers to handle the real transaction of the bitcoins and the money.
The biggest issue here is of course the exchange of USD between the brokers (MtGox, BTCE, Icbit...) but if they trust eachother they can settle with bitcoins or dollars once every night, or once every week.

brokerid = MTGOX
clientid = noob1
orderid = 1000
ordertype = BUY
amount = 1 (BTC)
price = 150 (USD)

brokerid = BTCE
clientid = noob2
orderid = 1001
ordertype = SELL
amount = 1 (BTC)
price = 150 (USD)

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 09:48:07 PM
 #8

How do you ensure settling up?  If an offer is accepted, both parties are told to settle up offline?

Would settling up be considered a broker feature and not a part of the main exchange?

Yes the settling must be the reponsibility of the brokers. Thats why we need the brokers in the first place - I trust MtGox more than I can trust a random guy at ebay or IRC.
But I trust a P2P open order book more than I can trust the orderbook of a server that easily can be hacked or ddosed.
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 10, 2013, 10:45:44 PM
 #9

But I trust a P2P open order book more than I can trust the orderbook of a server that easily can be hacked or ddosed.

So, effectively, the brokers publish promises as their order book? 

Does this get linked to a particular customer?  If you place a sell order, you then see it on the public list?  How are cancels handled?

In theory, you could have the exchanges actually act as banks.  For example, they could issue chaum digital cash.  Mt. Gox could give you 10 Mt. Gox dollar for $10 and buy 10 of them back for $9.90 (or whatever spread made them profitable).

These "dollars" could then be traded using a alt-chain. 

In fact, you could exploit the main chain if you wanted to.  You could use the coloured coin idea with 1 satoshi coins = $1.  Basically, coins generated from a particular source would be alt-coins.  For example, if the coin came from a particular address.  However, an alt chain might be better.

However, it is done, mints convert fiat to/from digital tokens and then they can be handled digitally.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 10:56:43 PM
Last edit: April 10, 2013, 11:15:57 PM by gollum
 #10

Addition to the functionality:

-Anybody who desires can become a broker, you, me, Mr Scam, Mr Spam, Mr Fraud, MtGox, BTCE, ICBIT, SaxoBank, IGMarkets, Interactive Brokers, Scot Trade..
But to prevent market manipulation or fraud against honest brokers, each broker can list other brokers they trust in their "wallet". And if both parties got eachother in their wallets, the miners will match their orders.
If MtGox dont trust other brokers the result will be that only MtGox client orders will be matched against each other.
If ICIBit and BTCE trust each other, all their orders will be matched against each other.
If I have 2...N friends trusting me, I can act as a broker, putting their orders and they can trade against eachother through me.
If mr Scam have 2...N friends trusting him, he will act as a broker, but the only ones losing money because of him not paying out peoples coins or dollars will be his clients, not MtGox clients or my friends.

-Transaction fees are paid to miners on a percentage basis (0.001%) regardless of actual execution or not in order to prevent market manipulation orders and order spamming. Withdrawn orders will not pay back fee.

-Orders are matched in one-minute auctions in the block chain and randomnes is used if several orders are at the same level and size. High Frequency Trading are thereby eliminated since there is no possibility to cheat in the order book, or to do nanosecond trading since there is one minute between every execution of orders.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 11:06:56 PM
 #11

But I trust a P2P open order book more than I can trust the orderbook of a server that easily can be hacked or ddosed.

So, effectively, the brokers publish promises as their order book?  

Does this get linked to a particular customer?  If you place a sell order, you then see it on the public list?  How are cancels handled?

In theory, you could have the exchanges actually act as banks.  For example, they could issue chaum digital cash.  Mt. Gox could give you 10 Mt. Gox dollar for $10 and buy 10 of them back for $9.90 (or whatever spread made them profitable).

These "dollars" could then be traded using a alt-chain.  

In fact, you could exploit the main chain if you wanted to.  You could use the coloured coin idea with 1 satoshi coins = $1.  Basically, coins generated from a particular source would be alt-coins.  For example, if the coin came from a particular address.  However, an alt chain might be better.

However, it is done, mints convert fiat to/from digital tokens and then they can be handled digitally.

Yes the order book will match promises of a deal containing the exchange of bitcoin against fiat. Or bitcoin against potatoes. Or cows against pigs. Or 1 oz gold against BTC... but the preferred exchange would of course be BTC/USD.

The exchange part itself relies on trust since the P2P network cannot handle fiat, potatoes, cows, pigs or gold without the involvement of some kind of broker or bank.
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1006



View Profile
April 10, 2013, 11:10:39 PM
 #12

But I trust a P2P open order book more than I can trust the orderbook of a server that easily can be hacked or ddosed.

So, effectively, the brokers publish promises as their order book? 

Does this get linked to a particular customer?  If you place a sell order, you then see it on the public list?  How are cancels handled?

In theory, you could have the exchanges actually act as banks.  For example, they could issue chaum digital cash.  Mt. Gox could give you 10 Mt. Gox dollar for $10 and buy 10 of them back for $9.90 (or whatever spread made them profitable).

These "dollars" could then be traded using a alt-chain. 

In fact, you could exploit the main chain if you wanted to.  You could use the coloured coin idea with 1 satoshi coins = $1.  Basically, coins generated from a particular source would be alt-coins.  For example, if the coin came from a particular address.  However, an alt chain might be better.

However, it is done, mints convert fiat to/from digital tokens and then they can be handled digitally.
I think you just described Ripple.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 11:12:13 PM
 #13

But I trust a P2P open order book more than I can trust the orderbook of a server that easily can be hacked or ddosed.

So, effectively, the brokers publish promises as their order book? 

Does this get linked to a particular customer?  If you place a sell order, you then see it on the public list?  How are cancels handled?

In theory, you could have the exchanges actually act as banks.  For example, they could issue chaum digital cash.  Mt. Gox could give you 10 Mt. Gox dollar for $10 and buy 10 of them back for $9.90 (or whatever spread made them profitable).

These "dollars" could then be traded using a alt-chain. 

In fact, you could exploit the main chain if you wanted to.  You could use the coloured coin idea with 1 satoshi coins = $1.  Basically, coins generated from a particular source would be alt-coins.  For example, if the coin came from a particular address.  However, an alt chain might be better.

However, it is done, mints convert fiat to/from digital tokens and then they can be handled digitally.
I think you just described Ripple.

Ripple is a wallet, not an exchange matching orders.
juice
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
April 10, 2013, 11:18:33 PM
 #14

would be also nice to have p2pool for standard and blockchain price on the client.
also hidden service integration and .bit dns on tor ,openvpn to connect the p2p net
and namecoin to hold the ca for it Smiley
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 10, 2013, 11:47:43 PM
 #15

I found this projects that are aiming for the same goal: a p2p exchange for different assets. But none of them handles the issue of settlement in a realistic way.
I believe that we need brokers in a p2p exchange to ensure trust in a massive scale.

P2PX https://bitcointalk.org/index.php?topic=62879.0
Dark Exchange https://bitcointalk.org/index.php?topic=26063.0
BitcoinX http://www.bitcoinx.org/
Nemesis
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 11, 2013, 12:26:29 AM
 #16

I must say, great mind think a like.

I started this a week ago, all by myself. I do have my day job that feed the family tho so i'm working on this part time:

We've been trying to figure out how to do a decentralized exchange for about two years now. The problem is figuring out how to store fiat (USD/EUR) in a decentralized way. No one has figured that one out yet. If you figure it out, let us know.

But then, if we could figure out how to store and transfer fiat in a decentralized way, we really wouldn't need Bitcoin, either (except for the inflation thing)

Rassah,

First of all English isnt my mother tongue. Having said that, here is my proposal (i actually started this already on my own)

The problem with exchanges we have right now isnt about whos holding fund, its about orderbook is centralized (controlled by one entity). When MtGox is attacked and caused panic, 80% of btc trading is at mercy of this attack.

What we need is to decentralize the orderbook. A distributed orderbook system if you will. All the exchanges will just be front end and handle funds holding ...etc ( so they only compete thro customer service, fees and local banking connection)

To do this we need a new matching engine. One that can deal inserts and match operation per price level concurrently.

Thats roughly the idea. I know its hard to see the concept, but i will do a better presentation when the time comes.


Any questions or feedbacks please let me know.

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 11, 2013, 12:31:38 AM
 #17

Yes, I hope many of us can agree on a template for a decentralized exchange-broker system so we can make the BitCoin trading (or any other asset trading) more stable and secure!


I must say, great mind think a like.

I started this a week ago, all by myself. I do have my day job that feed the family tho so i'm working on this part time:

We've been trying to figure out how to do a decentralized exchange for about two years now. The problem is figuring out how to store fiat (USD/EUR) in a decentralized way. No one has figured that one out yet. If you figure it out, let us know.

But then, if we could figure out how to store and transfer fiat in a decentralized way, we really wouldn't need Bitcoin, either (except for the inflation thing)

Rassah,

First of all English isnt my mother tongue. Having said that, here is my proposal (i actually started this already on my own)

The problem with exchanges we have right now isnt about whos holding fund, its about orderbook is centralized (controlled by one entity). When MtGox is attacked and caused panic, 80% of btc trading is at mercy of this attack.

What we need is to decentralize the orderbook. A distributed orderbook system if you will. All the exchanges will just be front end and handle funds holding ...etc ( so they only compete thro customer service, fees and local banking connection)

To do this we need a new matching engine. One that can deal inserts and match operation per price level concurrently.

Thats roughly the idea. I know its hard to see the concept, but i will do a better presentation when the time comes.


Any questions or feedbacks please let me know.

Nemesis
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


View Profile
April 11, 2013, 12:35:43 AM
 #18

I just read over your post and understood fully your proposal as i did think the same as well. What i'm afraid is you will run into concurrency issue with the matching algorithm. We need the orderbook to be as realtime as possible. The price/time priority is not easy to handle.

Yes, I hope many of us can agree on a template for a decentralized exchange-broker system so we can make the BitCoin trading (or any other asset trading) more stable and secure!


I must say, great mind think a like.

I started this a week ago, all by myself. I do have my day job that feed the family tho so i'm working on this part time:

We've been trying to figure out how to do a decentralized exchange for about two years now. The problem is figuring out how to store fiat (USD/EUR) in a decentralized way. No one has figured that one out yet. If you figure it out, let us know.

But then, if we could figure out how to store and transfer fiat in a decentralized way, we really wouldn't need Bitcoin, either (except for the inflation thing)

Rassah,

First of all English isnt my mother tongue. Having said that, here is my proposal (i actually started this already on my own)

The problem with exchanges we have right now isnt about whos holding fund, its about orderbook is centralized (controlled by one entity). When MtGox is attacked and caused panic, 80% of btc trading is at mercy of this attack.

What we need is to decentralize the orderbook. A distributed orderbook system if you will. All the exchanges will just be front end and handle funds holding ...etc ( so they only compete thro customer service, fees and local banking connection)

To do this we need a new matching engine. One that can deal inserts and match operation per price level concurrently.

Thats roughly the idea. I know its hard to see the concept, but i will do a better presentation when the time comes.


Any questions or feedbacks please let me know.

Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 11, 2013, 04:00:32 AM
 #19

First, yeah, look into P2Pool code. 10 second blocks, pruned blockchain, very nicely distributed. Might even be better if instead if a 0.001% fee, placing an order was free, and all orders that did not complete that are older than a day or two simply feel off the tail end of the block chain. Only charge a fee for completed orders. That way people can still put up and move walls, and if need be, resubmit their order every few days, without making the blockchain too bloated.

That said, there's still the problem of fiat money:

* How will it be stored? Will people wishing to act as brokers have to accept cash into their banks and store all the money in their checking accounts? If then don't get a business account, there's a risk of their account being flagged for suspicious activity and frozen, making other people's money go poof.

* Thanks to FinCEN, anyone wishing to be a broker will likely need a license. I'm guessing not cheap.

* Still huge issue with fraud and chargebacks. Brokers will be required to take on the risk of having scammers reverse deposits.

* How would bitcoins be transferred? Also through the broker? I'm concerned that if it's automatic, as a requirement to complete and close the order, the buyer of BTC might get his coins, while the seller might discover that there isn't any cash waiting for him at the brokerage (I guess trust issues)

* Last, depending on how the process will work, I'm not entirely sure this idea is possible from a technological point of view.


Other than that, I can't really think of any other issues.

mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 11, 2013, 04:24:14 AM
 #20

There is already a project that is moving in this direction:
https://ripple.com

But is that not in the hands of a few people? ( Not decentralized.)
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 11, 2013, 08:08:24 AM
 #21

There is a great collection of ideas here, and it looks like everyone has the same end of the stick.

The brokers become the gateway into the exchange.  They deal with the fiat. In theory, you end up with a localbitcoins mixed with mtgox, but all using the same exchange matching data.

The way I see it, is that the brokers sell a digital local currency token for a fraction more than face value.

The exchange shows the bitcoin and the LCT price, and buyers and sellers do their deals on these prices.

That LCT is the currency of brokers, and has a fixed value. When the customer buys or sells bitcoins and wants to go back to fiat, they sell their LCT back to the broker for a fraction less than face value.  The broker makes money on this difference.

It also means that the fiat doesn't need to leave the country, meaning that brokers don't get involved with expensive financial regulations because we are only taking tokens here!

It does sort of mean that bitcoins get bought and sold with altcoins, but at least it is scaleable, where the current system isn't!

Am I on to something here?


*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1008


View Profile
April 11, 2013, 08:44:01 AM
 #22

Please see this page:

https://en.bitcoin.it/wiki/Ripple_currency_exchange

Note that this is NOT the same thing as what's happening at ripple.com - the page above describes the design of a theoretical system that hasn't been built yet. It uses the concept of settlements moving through a social network with an alternative chain that tracks credit relationships and the flow of fiat through the social graph.

This was also the last slide in my 2012 talk:

https://www.youtube.com/watch?feature=player_embedded&v=mD4L7xDNCmA

(scan to the last few minutes)
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 11, 2013, 08:55:29 AM
 #23

Please see this page:

https://en.bitcoin.it/wiki/Ripple_currency_exchange

Note that this is NOT the same thing as what's happening at ripple.com - the page above describes the design of a theoretical system that hasn't been built yet. It uses the concept of settlements moving through a social network with an alternative chain that tracks credit relationships and the flow of fiat through the social graph.

This was also the last slide in my 2012 talk:

https://www.youtube.com/watch?feature=player_embedded&v=mD4L7xDNCmA

(scan to the last few minutes)

Yes, Ripple has potential, but its also completely useless for this task, in its current form.

If I wanted to trade bitcoins with someone using ripple, I wouldn't be able to because I don't know anyone on my facebook who knows anyone who knows anyone who is wanting to sell bitcoins.

Eventually I will, but for now, I don't.

Maybe if the ideas in ripple were used in an altcoin niche social network it might work, but I doubt it can start up for this exact same reason.

If I have misunderstood the concept, please let me know, but for me, the whole 6 degrees of separation theory is a load of nonsense which only got off the ground because it sounds plausible to the innumerate! Wink

*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
lakeluke
Member
**
Offline Offline

Activity: 64
Merit: 10


View Profile
April 11, 2013, 09:03:09 AM
 #24

Look into "open transactions" by fellow traveller;

https://github.com/FellowTraveler/Open-Transactions

https://en.bitcoin.it/wiki/Open_Transactions

http://vimeo.com/28141679

http://www.youtube.com/watch?v=HSgpStCTw2g

http://agoristradio.com/?tag=open-transactions

 I think it does what you are describing by matching orders, etc for any asset types.
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 11, 2013, 09:10:03 AM
 #25

May i suggest an order matching system similar to POSIT.  It worked by entering your order to buy or sell a stock, the price your were willing to pay/take and the an amount of shares.  Every 30 minutes, the system would match all the overlapping orders and execute everything at one price (probably the weighted average of everthing that overlapped).  If there was an imbalance between buys and sells at the given price the larger side would receive a pro rata amount of shares.

Now, no one could see the orders as they were being entered, but in our system that might not be necessary.  Each miner could be working to a hash solution and the first miner to achieve it could cross all the open orders using a methodology like the above and publish a block.  Orders could only be crossed amongst a group of brokers who have signed eachother's public keys.  Brokers would charge widthdrawal and deposit fees, and would settle account differences with competing brokers regularly.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1008


View Profile
April 11, 2013, 09:12:41 AM
 #26

Yes, Ripple has potential, but its also completely useless for this task, in its current form.

If I wanted to trade bitcoins with someone using ripple, I wouldn't be able to because I don't know anyone on my facebook who knows anyone who knows anyone who is wanting to sell bitcoins.

You don't have a trust relationship with anyone who uses Bitcoin? And you think that's still true once you expand out multiple levels? I think you'd be surprised at how the number of people you can reach scales up. Six degrees of separation isn't nonsense, it's the result of research into the average number of contacts a person has along with the power law:

http://en.wikipedia.org/wiki/Six_degrees_of_separation#Mathematics

http://www.telegraph.co.uk/technology/facebook/8906693/Facebook-cuts-six-degrees-of-separation-to-four.html

Yes, the social graph concept isn't workable today because we haven't been building out the infrastructure. But bear in mind a lot of people hear about Bitcoin from someone they know. Even if that isn't true this week, over the long term it will be. So if that person owns Bitcoins and tells you about Bitcoin, and you connect to them with an NFC phone tap or something like that, then you can be linked into the social network without even realizing it.

If you want a P2P exchange that isn't social graph based then you're out of luck. Nobody has ever proposed a workable alternative.
vleroybrown
Hero Member
*****
Offline Offline

Activity: 511
Merit: 500


This is who we are.


View Profile
April 11, 2013, 09:35:01 AM
 #27

Why should the infrastructure of Bitcoin be based differently than the dynamically fashioned cryptocurrency itself? The concept of Bitcoin should allow markets to stay ahead of rules or limitations. The trading platform itself should be p2p, open stack, scalable open source based, git script installed for anyone to develop and input ideas for maximine transparency of what any iteration is doing to tie in to friendly governed current currency exchange markets.

Open markets has to be the order from the top to the bottom or this concept is going to be limited in its potential. Anybody who can't just jump into Bitcoin in 5 minutes with 5 dollars to make commerce happen anywhere, anyplace will take the path of least resistance opting for cash or its equivalent. We have to think open, free, not evil, no greed; this and only this thinking, will give this concept the best chance to change a very fucked up financial system. It deserves everybody understanding what money is, and that is Abstract, a means to an end, make the system pay, society doesn't have too any more!

In its purest form money is the only reason we have to even have a social life once the basics of nessecities of life are met. Everything we acquire from it, is what makes us who we are as a member of the society. There should be a facebook of Bitcoin believers who can see where they are in relation to what they are doing with Bitcoin. Once liquid exchange markets are commonplace the concept becomes mainstream!
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 11, 2013, 09:48:32 AM
 #28

Okay so what would this look like technically:

Customer deposits $100 in mt gox.

Mt gox delivers token privkey to customer & account number (hash of pubkey).
Mt gox signs token pubkey with priv key and transmits to Market Makers.

Market Makers now have a UTXO table, which includes all the pubkeys corresponding to customer account balances, with custody (broker) determined by a sig script entry in the table made with the brokers private key.

They have another table (Balance of Payments, BoP) showing the sig scripts of competing brokers and their endorsements of eachother, a ledger of inter-broker debts, and credit limits brokers impose on eachother before demanding settlement.  (this table is hashed every block, and its hash is included in the following market maker block, see next steps:)

Customer places order by announcing to market makers he wishes to buy 1 bitcoin for $100 dollars.  He signs his bid transaction + fee with his token privkey (issued by gox).

A seller of 1 BTC with a bitinstant token private key signs a tx to sell it for $100

A Market maker discovers the correct proof of work and crosses the orders by making offsetting entries in the BoP table between gox and bitinstant (after checking to see that gox and bitinstant haven't exceeded their credit limits with eachother).   UTXO table is also adjusted to reflect the changes (expenditure of keys).  

Gox & Bitinstand, making note of the change in the UTXO table, issue new privkeys for $100 and 1btc, send those to the customers, and submit the public keys to miners maintaining utxo (signed by their private brokerage keys).

With all utxo accounts reassigned (balanced), miners hash UTXO  and BoP tables and include in PoW attempts to create next tx block.  If bitinstant or gox fail to deliver pubkeys after a period of time, the tx is reversed in utxo and adjustment made to BoP, new hashes would be inclued in next tx block.

When customer wants to w/d 1 btc, he presents new token private key to gox for revocation.  Gox uses customer privkey to txs a revocation of the 1 btc value assigned in UTXO.  Gox sends customer 1 btc to his client.  Bitinstand sends $100 to his customers fiat account.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 11, 2013, 11:40:42 AM
 #29

Okay so what would this look like technically:

Customer deposits $100 in mt gox.

Mt gox delivers token privkey to customer & account number (hash of pubkey).
Mt gox signs token pubkey with priv key and transmits to Market Makers.

There could be a "mint" chain and an exchange chain.  The mint chain would be very similar to the standard bitcoin chain (and could be included).  A "mint" could create an address and say that any coins that can be traced back to that address will be converted into dollars on request at an exchange rate of $0.975 per satoshi.  Similarly, they will send you one satoshi from the address, if you deposit $1.025 into their bank account.  They could "unmint" coins by sending them back to a specific "unmint" address.

This would likely be interpreted as spam, in the same way as Satoshi dice is though.  However, you would still need to pay BTC fees for all transactions, so maybe not a big deal and they are "real" transactions.

Exchanges could then be handled separately, but I guess better to keep them together.  They inherently need an offer and accept process and a way to decide what the exchange rate is.

For example, the exchange rate could remain fixed unless no trades are possible at that price.  It isn't clear how best to handle ordering.  Someone more familiar with exchanges order books could comment.  Is it normally ordered by price with tied broken by processing the earliest submitted first?

Exchanges would have different exchange rates relative to the different mints, based on trustworthiness.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
April 11, 2013, 12:14:00 PM
 #30

Im thinking on similar lines - just wrote a redundant topic over at https://bitcointalk.org/index.php?topic=173187.0

I feel that Ripple might be a bit heavyweight, and that a simpler solution ought to be possible. Having to establish social connections just in order to buy 10$ worth of Bitcoin seems to me like too much overhead for the average consumer, at least for now.

I like the idea of 'minting'. Where some provider can establish him/herself as a clearing house. The provider will give out tokens that are tied to a local currency amount, these tokens can be used for P2P trading and then later cashed-in.

Basically we can decouple the establishing of Bitcoin trade contracts ("I buy 10 btc for $2000" etc) from the handling of fiat. The former can be easily done in a P2P manner, the latter not so much.

I was also thinking about the 'coloring' of coins over the existing infrastructure:

Following on from the 'colored coins' idea, where we represent some subset of Bitcoin as having special value, what about ...

  • MtBox maintains a special Bitcoin address, any coins that originate from this address are considered special.
  • Anyone can see if a coin is of the MtBox colour and ascertain its true USD value.

1) Bob sends $10k to MtBox
2) Bob creates a Bitcoin wallet
3) When satisfied, MtBox sends a symbolic and tiny amount of Bitcoin to Bob's address. This symbolic quantity of Bitcoin will represent a specific USD amount.

Bob can then send a certain quantity of his colored Bitcoin to a seller for 'real' bitcoin.

4) The seller can send the received colored Bitcoin back to MtBox.
5) MtBox checks the transaction history of the coin, ensuring that it is indeed of the MtBox color
6) MtBox calculates the appropriate USD amount and credits it to the Seller's account.

Anyone could act as a colored coins provider (though legal issues may arise).  It would be up to the market to decide which providers to trust or not. We would see differing exchange rates between say MtBoxUSD/Bitcoin and say ZhouTongUSD/Bitcoin, according to the risk factor!

alberthendriks
Member
**
Offline Offline

Activity: 86
Merit: 10


View Profile
April 11, 2013, 01:25:54 PM
 #31

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.

edit: I meant user "killerstorm" (on this forum).
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 11, 2013, 01:29:38 PM
Last edit: April 17, 2013, 01:06:39 PM by mobile4ever
 #32


You don't have a trust relationship with anyone who uses Bitcoin? And you think that's still true once you expand out multiple levels?


You are right. Whole countries are run on trust. When people get burned in a transaction, they dont blame the money.



If you want a P2P exchange that isn't social graph based then you're out of luck. Nobody has ever proposed a workable alternative.


I have one. It needs a PHP programmer. Its P2P. It puts a seller in direct contact with a buyer.


https://bitcoinstarter.com/projects/54

http://www.reddit.com/r/Bitcoin/comments/18w6lu/a_new_idea_for_bitcoin_markets/
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
April 11, 2013, 01:31:29 PM
 #33

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user firestorm, project armoryx, project bitcoinx.

Have you got a link?  the firestorm user has made no posts and bitcoinx.org (if thats the same project) is dead

cheers!
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
April 11, 2013, 01:35:59 PM
 #34


I have one. It needs a PHP programmer. Its P2P. It puts a seller in direct contact with a buyer.

http://www.reddit.com/r/Bitcoin/comments/18w6lu/a_new_idea_for_bitcoin_markets/

Why don't you tell us clearly & concisely what it is that you propose, for the moment I can only see vague mentions of plugins, html and octopi Smiley
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 11, 2013, 01:58:50 PM
 #35

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.

edit: I meant user "killerstorm" (on this forum).

BitcoinX and other projects seems promising but I havent seen any detailed description of their system yet.

Before we jump into any project we should ask the community how the ideal exchange will look like and what we dont want from the current exchanges (MtGox, BTC-E, NYSE, Nasdaq OMX, CME ...)

Then we design the architecture of the system that the community demands - if such project already exists in open source we should of course use it, or make it fit the usage of crypto currencies.
If the current projects dont fit our needs we need to code it our selfs, but of course we can get inspiration from them to create our own exchange.
Let us remember that an exchange is not only for the transaction of digital currencies - but for the exchange of assets between physical humans.
Therefore we need a system that merges the best from digital P2P and the best from the physical exchange/broker model at Wall Street.

If Satoshi could create a decentralized currency - We as a community can create a decentralized exchange!
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 11, 2013, 02:14:20 PM
 #36


I have one. It needs a PHP programmer. Its P2P. It puts a seller in direct contact with a buyer.

http://www.reddit.com/r/Bitcoin/comments/18w6lu/a_new_idea_for_bitcoin_markets/

Why don't you tell us clearly & concisely what it is that you propose, for the moment I can only see vague mentions of plugins, html and octopi Smiley



I am in the process, after putting out other fires, to put it up on: https://bitcoinstarter.com/


Do you want a link to the upcoming page?


All it is, its similar to a RSS feed, but in PHP and more secure and robust. Its a PHP plugin for Wordpress. They already use bitcoin.


Edit: Someone should contact me now about making this. The events with Gox are out of control.
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 11, 2013, 02:17:01 PM
 #37

What is needs as a "proof of concept" is working versions of the following

Website/gateway
- fiat -> colored coins -> fiat conversions
- The initial version could use "play" money, so no legal problems
- Actual "mints" just announce that they use dollars, let them worry about legalities

Basic exchange client
- works like Armoury, you have to connect it to a trusted node
- atomic coin exchange transactions (BTC and coloured coins)
- you specify the source of the coloured coins that you will accept
- some kind of simple matching of buyers and sellers

You don't need a full exchange with order books etc.  Even just allowing people swap colored coins for bitcoins in an atomic way would work as a rudimentary exchange.

All that is required for the above is a transaction generator and process system.  You don't need a full client for it to work.

The fiat "gateway" would likely be a website.  You login and can ask that colored coins be sent to a particular address.

Once there is a working version of all the parts of the system, then others have some kind of incentive to support it.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 11, 2013, 02:36:08 PM
 #38

It also means that the fiat doesn't need to leave the country, meaning that brokers don't get involved with expensive financial regulations because we are only taking tokens here!

Don't brokers still need to accept large quantities of cash that they sell those tokens, and send out large quantities of cash when those tokens are redeemed? (meaning we're back to problem #1)

greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
April 11, 2013, 02:47:16 PM
 #39

It also means that the fiat doesn't need to leave the country, meaning that brokers don't get involved with expensive financial regulations because we are only taking tokens here!

Don't brokers still need to accept large quantities of cash that they sell those tokens, and send out large quantities of cash when those tokens are redeemed? (meaning we're back to problem #1)

I think the benefit lies in the decoupling of concerns. Brokers just sell tokens, they are not the marketplace hub for buying/selling Bitcoin. MtGox does both.

This means we can completely decentralise the Bitcoin/USDToken exchange, meaning we no longer suffer from DDOS/panic caused outages and 1-hour lag!

People will go fairly irregularly to cash in/out and have no expectation that their $100k transfer happen in real-time. People dont mind waiting a few days for their transfer to appear, but would be infuriated at having to wait even a few seconds before making their buy/sell orders.

Also the simplification means that we lower the barrier to entry, meaning we could see hundreds of brokers appear in a short time.

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 11, 2013, 02:49:02 PM
 #40

It also means that the fiat doesn't need to leave the country, meaning that brokers don't get involved with expensive financial regulations because we are only taking tokens here!

Don't brokers still need to accept large quantities of cash that they sell those tokens, and send out large quantities of cash when those tokens are redeemed? (meaning we're back to problem #1)

Yes,

Assume that we have a decentralized exchange consisting of MtGox, BTCE and BitStamp.
There will be a net flow of USD and BTC between this brokers according to the clients trades.
So at the end of the day all this firms needs to settle their net trading of USD with each other - instead of doing it for every single trade.
The trading volume might be 100 million dollars on a day on the exchange, but the net transafer of USD between the brokers will only be a fraction of that amount.
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
April 11, 2013, 02:50:40 PM
 #41

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.

edit: I meant user "killerstorm" (on this forum).

Agree completely.

I definitely recommend looking through the posts from killerstorm. His project is pretty much exactly what I (humbly) believe we need. It could open the door for endless awesome opportunities, decentralized exchanges just being the start!
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 11, 2013, 03:03:14 PM
 #42

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.

edit: I meant user "killerstorm" (on this forum).

Agree completely.

I definitely recommend looking through the posts from killerstorm. His project is pretty much exactly what I (humbly) believe we need. It could open the door for endless awesome opportunities, decentralized exchanges just being the start!



He is here:


https://bitcointalk.org/index.php?action=profile;u=8620
dancupid
Hero Member
*****
Offline Offline

Activity: 955
Merit: 1002



View Profile
April 11, 2013, 03:17:46 PM
 #43

Ripple is already doing this

from their FAQ: https://ripple.com/how-ripple-works/

"Ripple is a decentralized but unified system.
The Ripple network is open source and peer-to-peer. So, instead of a central server, owned by an individual or corporation, a distributed collection of servers around the globe runs Ripple. These interconnected servers collectively maintain a shared Ledger. Since the Ledger tracks account balances and not people, moving money through the Ripple network only takes as long as updating the Ledger, a matter of seconds. Also, Ripple contains its own network currency called ripples (XRP), which serve as the single most efficient way to send payments within the unified system."

People are already using ripple as an exchange.

http://bitcoincharts.com/markets/rippleUSD.html

Am I missing something?
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 11, 2013, 03:41:56 PM
 #44

Ripple is already doing this

from their FAQ: https://ripple.com/how-ripple-works/

"Ripple is a decentralized but unified system.
The Ripple network is open source and peer-to-peer. So, instead of a central server, owned by an individual or corporation, a distributed collection of servers around the globe runs Ripple. These interconnected servers collectively maintain a shared Ledger. Since the Ledger tracks account balances and not people, moving money through the Ripple network only takes as long as updating the Ledger, a matter of seconds. Also, Ripple contains its own network currency called ripples (XRP), which serve as the single most efficient way to send payments within the unified system."

People are already using ripple as an exchange.

http://bitcoincharts.com/markets/rippleUSD.html

Am I missing something?

I dont know if you are or not, but Ripple, is it under the control of a few people? If so, it is not decentralized.
r.willis
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
April 11, 2013, 04:21:55 PM
 #45

Screw ripple.
I think our best bet is colored coins and blockchain transactions. Current exchanges will become gateways, will take fiat and issue fiat-denominated colored coins. So there will be "MtGox USD", "btc-e USD" etc. which you can atomically trade for BTC.
Order matching is another thing and IMO must be handled by separate network of scalable servers for small fee (may be, fixed per-order fee).
juice
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
April 11, 2013, 04:30:18 PM
 #46


"If you're a BitCoin user, the best thing you can do is to monitor the popularity of the services you use and switch away when they get too popular."
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 11, 2013, 04:35:59 PM
 #47

Did you guys see this?


http://www.reddit.com/r/Bitcoin/comments/1c4veh/order_placing_suspended_on_mtgox/
juice
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
April 11, 2013, 04:43:53 PM
 #48

mtox: Trading is halted until 2013-04-12 02:00am UTC to allow the market to cooldown following the drop in price. Read more details on the support. Additionally trading fees will not be charged within 48 hours of trading resuming (until 2013-04-14 02:00am UTC).
moni3z
Hero Member
*****
Offline Offline

Activity: 886
Merit: 1000



View Profile
April 11, 2013, 04:54:08 PM
 #49

Maybe if Ripple was open source we could talk about them but it's not (yet) so pointless. Instead I've been playing around with GnuNet, but found many pitfalls like potential flooding therefore denial of service for nodes acting as escrow.

Since we already have p2p trading on IRC, this forum and localbitcoins basically we already have decentralization. apt-get install irssi and go to #bitcoin-otc and make orders. No such thing as a trading freeze on IRC (:
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 11, 2013, 04:54:18 PM
 #50

mtox: Trading is halted until 2013-04-12 02:00am UTC to allow the market to cooldown following the drop in price. Read more details on the support. Additionally trading fees will not be charged within 48 hours of trading resuming (until 2013-04-14 02:00am UTC).

That would never occur in a 100% decentralized exchange. If Broker A wants to halt trading there are Broker B,C,D...XYZ that are okey with accepting orders in a volatile market.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 11, 2013, 04:57:44 PM
 #51

Maybe if Ripple was open source we could talk about them but it's not (yet) so pointless. Instead I've been playing around with GnuNet, but found many pitfalls like potential flooding therefore denial of service for nodes acting as escrow.

Since we already have p2p trading on IRC, this forum and localbitcoins basically we already have decentralization. apt-get install irssi and go to #bitcoin-otc and make orders. No such thing as a trading freeze on IRC (:


Trading on IRC is way to complicated and nerdy. Joe-Six-Pack, your sister or your grandma will never trade bitcoin that way - they need a simple user friendly system via a broker to put buy and sell orders, through web or iPhone/Android/WinPhone app
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 11, 2013, 05:00:14 PM
Last edit: April 12, 2013, 11:40:27 PM by mobile4ever
 #52


That would never occur in a 100% decentralized exchange. If Broker A wants to halt trading there are Broker B,C,D...XYZ that are okey with accepting orders in a volatile market.


One of those dollar exchanges found anywhere would be the same. Its the same thinking. Release the bottleneck ( centralized markets or exchanges ) and bitcoin can be free! Smiley
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
April 11, 2013, 08:22:15 PM
 #53

Yeah ripple does not seem ready and the colored coins solution should be able to be achieved fairly simply.

Just a thought ... what would the consequences be of having all of these alt/colored coins being thrown about over the same bitcoin infrastructure...

Would we start to see merchants choosing to only accept MtGoxUSDCoin ? or EuroCoin? It would be quite attractive since there would be no exposure to the risk of market fluctuations, and they can put their prices in fiat.

Is it a bad thing? Or perhaps just a stop-gap until we do away with fiat completely Smiley

Could it also mean that bitcoin hoarding becomes less profitable? 

Could be interesting anyway!
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 11, 2013, 08:51:37 PM
 #54

Would we start to see merchants choosing to only accept MtGoxUSDCoin ? or EuroCoin? It would be quite attractive since there would be no exposure to the risk of market fluctuations, and they can put their prices in fiat.

Interesting question.  However, since you would still need to pay the tx fees in BTCs, there would still be a market for them.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 11, 2013, 09:07:15 PM
 #55

I really think we are on to something here.

I'm feeling very confident that the next step towards a crypto currency future is a bit closer.

But on that basis, we should also ensure that we can exchange any alt coin in the same way - and put that into the mix at this point, rather than as an after thought.

Would it be as simple as choosing a different service port for different currencies, or am I missing something?

*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
Un zafado cualquiera
Full Member
***
Offline Offline

Activity: 159
Merit: 100


aquí dice algo personal.


View Profile
April 11, 2013, 09:58:11 PM
 #56

ok, a bunch of guys talk about a p2p exchange. I tested th opencoin ripple client and it works perfectly with bitstamp.net an think open transactions has been stuck with the same question. so far the only working implementation is the one form ripple.com. why don't you try making an implementation form the ripple client?
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 11, 2013, 10:16:15 PM
 #57

I really think we are on to something here.

I'm feeling very confident that the next step towards a crypto currency future is a bit closer.

But on that basis, we should also ensure that we can exchange any alt coin in the same way - and put that into the mix at this point, rather than as an after thought.

Would it be as simple as choosing a different service port for different currencies, or am I missing something?

We should allow the trade of any two assets against eachother in this system as long as bitcoin is used to pay fees to the exchange servers.
Obviously this kind of markets would emerge:

BTC-USD
BTC-EUR
BTC-JPY
BTC-XAU (Physical Gold or Gold ETF or Gold Futures)
BTC-LTC
EUR-USD
EUR-JPY
USD-JPY
XAU-USD (Physical Gold or Gold ETF or Gold Futures)
BTC-SPY (S&P 500 ETF)
...
World
Hero Member
*****
Offline Offline

Activity: 743
Merit: 500



View Profile
April 11, 2013, 11:21:36 PM
 #58

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

Supporting people with beautiful creative ideas. Bitcoin is because of the developers,exchanges,merchants,miners,investors,users,machines and blockchain technologies work together.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 12:01:35 AM
 #59

There is already a project that is moving in this direction:
https://ripple.com

Where is the Ripple white paper?
All these people know about Ripple from what?
greBit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


View Profile
April 12, 2013, 12:04:39 AM
 #60

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

Not sure I get it. We already have a price finding mechanism -  the marketplace. The only problem is that it is currently ridiculously centralized, hence talk of colored coins/ripple etc. The decentralized versions i.e. localbitcoins are awesome but are by no means suitable for real-time trading and also are not particularly user-friendly for the average-joe consumer who just wants to quickly buy $20 of bitcoin.

The blog does not seem to mention the hardest part which is dealing with fiat in a decentralized manner. How can you guarantee to the seller that the buyer will indeed transfer the agreed $10k after the price suddenly drops?
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 12:07:39 AM
 #61

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

We will do it open source - Im sure there are many talented people here at bitcointalk with competency in the field of programming and finance.

https://github.com/p2p/bitcoin-exchange

Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 12, 2013, 12:11:14 AM
 #62

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

We will do it open source - Im sure there are many talented people here at bitcointalk with competency in the field of programming and finance.



All if this sounds too much like, "I have this awesome idea, which is WORDS. I don't actually how how it will work, technically, of it it's even possible, and I don't feel like actually executing it myself, because my idea is so good that someone else will like it, figure it out and code it for me."

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 12:17:57 AM
 #63

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

We will do it open source - Im sure there are many talented people here at bitcointalk with competency in the field of programming and finance.



All if this sounds too much like, "I have this awesome idea, which is WORDS. I don't actually how how it will work, technically, of it it's even possible, and I don't feel like actually executing it myself, because my idea is so good that someone else will like it, figure it out and code it for me."

I can code, but Im not a programming guru like some of you guys. But people like me can at least try to contribute with ideas and architecture.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 12, 2013, 12:49:19 AM
 #64

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

We will do it open source - Im sure there are many talented people here at bitcointalk with competency in the field of programming and finance.



All if this sounds too much like, "I have this awesome idea, which is WORDS. I don't actually how how it will work, technically, or if it's even possible, and I don't feel like actually executing it myself, because my idea is so good that someone else will like it, figure it out and code it for me."

I can code, but Im not a programming guru like some of you guys. But people like me can at least try to contribute with ideas and architecture.

Sorry, I know ideas are needed, but I'm probably just upset that we've been having these ideas, mostly the same ones, for almost two years, with no one being able to come up with anything new, or how to actually come up with the solution to the fiat storing/transmitting problem (this token thing sounds barely promising). In a way, the fact that we still haven't solved the P2P fiat problem is a testament to the superiority of Bitcoin to cash.

juice
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
April 12, 2013, 12:56:46 AM
 #65

yes he is ok !

what about : http://bitcoin-otc.com/

looks intresting: http://bitcoin-otc.com/vieworderbook.php

easy web frontend  isnt it
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 01:10:43 AM
 #66

yes he is ok !

what about : http://bitcoin-otc.com/

looks intresting: http://bitcoin-otc.com/vieworderbook.php

easy web frontend  isnt it

Yes Bitcoin-OTC is a great solution! If we can make it decentralized and make it easy for brokers to participate this could be our official exchange.
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 12, 2013, 01:10:56 AM
 #67


Sorry, I know ideas are needed, but I'm probably just upset that we've been having these ideas, mostly the same ones, for almost two years, with no one being able to come up with anything new,


This is one I am fairly sure you have not seen:


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


Its a PHP plugin for Wordpress.


Many here have plenty of good ideas. Can we mix a few of them? One thing about software; you only have to make it work one time and then it does the rest.

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 01:12:54 AM
 #68

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

We will do it open source - Im sure there are many talented people here at bitcointalk with competency in the field of programming and finance.



All if this sounds too much like, "I have this awesome idea, which is WORDS. I don't actually how how it will work, technically, or if it's even possible, and I don't feel like actually executing it myself, because my idea is so good that someone else will like it, figure it out and code it for me."

I can code, but Im not a programming guru like some of you guys. But people like me can at least try to contribute with ideas and architecture.

Sorry, I know ideas are needed, but I'm probably just upset that we've been having these ideas, mostly the same ones, for almost two years, with no one being able to come up with anything new, or how to actually come up with the solution to the fiat storing/transmitting problem (this token thing sounds barely promising). In a way, the fact that we still haven't solved the P2P fiat problem is a testament to the superiority of Bitcoin to cash.

This time it is about the future of bitcoin. If we are so lazy that we let MtGox's failure destroy the reputation of bitcoin, then its a shame Satoshi wasted his time creating bitcoin.
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 12, 2013, 01:37:31 AM
 #69


This time it is about the future of bitcoin. If we are so lazy that we let MtGox's failure destroy the reputation of bitcoin, then its a shame Satoshi wasted his time creating bitcoin.


That  wont happen. Too many lives are at stake, plus freedom is at stake as well.


http://lfb.org/today/what-bitcoin-is-teaching-us/

At the end he says:


Quote
....the prospects for freedom will become bright again.


Bitcoin is still in beta, so the only way is up.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 2926
Merit: 1165



View Profile
April 12, 2013, 02:26:41 AM
 #70

But I trust a P2P open order book more than I can trust the orderbook of a server that easily can be hacked or ddosed.

So, effectively, the brokers publish promises as their order book? 

Does this get linked to a particular customer?  If you place a sell order, you then see it on the public list?  How are cancels handled?

In theory, you could have the exchanges actually act as banks.  For example, they could issue chaum digital cash.  Mt. Gox could give you 10 Mt. Gox dollar for $10 and buy 10 of them back for $9.90 (or whatever spread made them profitable).

These "dollars" could then be traded using a alt-chain. 

In fact, you could exploit the main chain if you wanted to.  You could use the coloured coin idea with 1 satoshi coins = $1.  Basically, coins generated from a particular source would be alt-coins.  For example, if the coin came from a particular address.  However, an alt chain might be better.

However, it is done, mints convert fiat to/from digital tokens and then they can be handled digitally.

A Federation of OpenTransactions signing servers could have this system up and running in 2-6 months (maybe less if more resources) ... the "exchange servers" are not so much exchanges as Notaries that sign off on any trades/transfers that pass through them ... i.e. it is questionable whether they need to worry about MSB BS because they do not actually transfer anything, just sign off on it.

loanexpress
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
April 12, 2013, 03:02:39 AM
 #71

A Federation of OpenTransactions signing servers could have this system up and running in 2-6 months (maybe less if more resources) ... the "exchange servers" are not so much exchanges as Notaries that sign off on any trades/transfers that pass through them ... i.e. it is questionable whether they need to worry about MSB BS because they do not actually transfer anything, just sign off on it.

If someone knows how to do this, please share. Last time I looked at OT it was all very abstract. Yes there is code and everyone agrees it's elegant and amazing, but HOW DO I USE IT?

I'm happy to throw a server or 2 at it - but there needs to be some sort of map on how to get there.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 04:34:42 AM
 #72

Two things I want to stress. This exchange has to be even more simple than mtGox. It should connect to people on Skype or AIM or ICQ etc and let them order through that interface or web or any other.

The API should allow anything to plug into it so it can be ubiquitous.

It must be modular, so that it can be easily pluggable, extendable, etc.

Basically I think what is needed is a protocol and an API, written in a simple language like Python so anyone can easily read it and make use of it. Ruby could work too for it's worth. If it must be written in C or C++ then write it so that high level scripting languages can make use of all it's functions and API.

As far as how the exchange will work that is up for debate but definitely make the code well written, modular, easy to read, easy to upgrade, and let as many people plug into it as possible. So if the core of it is C++ or C then let as many from the community write code in their own languages for their own plugins as possible.

The goal should be to write code which can be reused a lot by a lot of people and code which can be read and improved up by a lot of people. I think it might be useful to start completely from scratch here, but design is the most important part and that is the part which in my opinion needs the most debate and by design I mean what is the best possible design from a computer scientist or engeering phd perspective?

Maybe it's time to look up some of the academic journals and see whats out there or find some really well written code and see which examples we can use for case studies which have been known to scale up. This code has to scale up without losing flexibility and remain decentralized (not easy).
Sage
Hero Member
*****
Offline Offline

Activity: 632
Merit: 500


View Profile
April 12, 2013, 04:51:29 AM
 #73

It needs to be done without servers period!

Techies, is this a potential option:

https://bitcointalk.org/index.php?topic=174326.0
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 04:52:50 AM
 #74

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

We will do it open source - Im sure there are many talented people here at bitcointalk with competency in the field of programming and finance.



All if this sounds too much like, "I have this awesome idea, which is WORDS. I don't actually how how it will work, technically, or if it's even possible, and I don't feel like actually executing it myself, because my idea is so good that someone else will like it, figure it out and code it for me."

I can code, but Im not a programming guru like some of you guys. But people like me can at least try to contribute with ideas and architecture.

Sorry, I know ideas are needed, but I'm probably just upset that we've been having these ideas, mostly the same ones, for almost two years, with no one being able to come up with anything new, or how to actually come up with the solution to the fiat storing/transmitting problem (this token thing sounds barely promising). In a way, the fact that we still haven't solved the P2P fiat problem is a testament to the superiority of Bitcoin to cash.


Here is a way to code it. Start by using a language a lot of people know to make a basic open exchange protocol. This could be done in C because C is the most widely used language there is. The basic functions can be written in C and then an API can be created. This API should allow someone such as myself who prefers high level languages like Python to code certain aspects. Basically the protocol should be language agnostic so that as many different programmers as possible can join into the project.

The project has to put a specific focus on countering trading algorithms and on preventing attacks which can game the system. This would require an engineer with PhD level math and programming skills beyond most of ours to come up with some ideas. The first step for any of us who are grad or Phd students is to use our resources to research all the journals on this issue to see whether or not any novel ideas have been found.

For example game theory may be part of the solution just based on my hunch but once again you'd have to look it up and read a journal or two to figure it out. There may be all kinds of solutions but the main thing is research. One way to facilitate research is by offering a Bitcoin bounty to anyone who does the research and discovers the solution.

I don't know how the bounty could be set up but I think this is the best way to encourage the masters or Phd level students in here to actually research the theoretical solution. Once a theoretical solution is proposed then it should be voted on and if it wins the contest then the winner should receive the Bitcoin bounty.

At some point start a Kickstarter or something like this and have the community officially back the project once a theoretical design solution is found. It's not enough to look at already existing projects because the design we'd need for this one would have to prevent all kinds of manipulations, and being distributed doesn't mean it would be completely immune to attack. Also I see this as a chance to strengthen Bitcoin and cryptocurrencies in general. So why not do it right? Bitcoin was done right, so gather up the best brains and start the contests to see which ideas and proposals are the best.
wumpus
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000

No Maps for These Territories


View Profile
April 12, 2013, 04:56:41 AM
Last edit: April 12, 2013, 05:48:46 AM by John Smith
 #75

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.
Interesting, thanks for the links! I wasn't aware of any projects actually in development. It has gotten lost in all the theorizing and arguing noise.

Overview of current projects:

- bitcoinx: http://www.bitcoinx.org/  

Protocol description: https://bitcoil.co.il/BitcoinX.pdf
Other code, as well as links to the forum can be found here: http://www.bitcoinx.org/resources/  
Repositories here on github: https://github.com/bitcoinx
Wiki: http://wiki.bitcoinx.org/index.php/Main_Page

- darkxchange "Dark Exchange is a distributed p2p exchange for bitcoin.". Uses the I2P network.

Source available at https://github.com/macourtney/Dark-Exchange  
Described on bitcoin wiki: https://en.bitcoin.it/wiki/Dark_Exchange .
Also has a forum thread: https://bitcointalk.org/index.php?topic=26063.0;

Not really automated P2P exchanges, but P2P nevertheless:

- #bitcoin-otc (peer to peer trading with PGP web of trust and reputation system)

- Running an exchange in Google Docs: https://bitcointalk.org/index.php?topic=174117.0

Any others?

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 04:56:57 AM
 #76

It needs to be done without servers period!

Techies, is this a potential option:

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

You know, it could be done via sneakernet even but the point is I think we need to start with a Wiki of some sort. We need to have a design contest.

Something like design the best open distributed exchange protocol and win X amount in Bitcoin.
If there is no current way to even do these sorts of contests then we need a way to reliably reward people in Bitcoin who come up with brilliant designs and solutions. The way to avoid having to redesign or avoid embarrassment is to do it right the first try and the way to do that is to hold contests and have peer review.

So let's start with a big contest which lasts perhaps a week or a couple weeks and then see who wins and the winner of that contest should be the person who designs the protocol.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 05:00:46 AM
 #77

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.
Interesting, thanks for the links! I wasn't aware of any projects actually in development. It has gotten lost in all the theorizing and arguing noise.

Links:

- bitcoinx: http://www.bitcoinx.org/  ... has protocol description and even a download, but where is the source code? When I click join, it says "Register with your Google account". Uh, no.

- darkxchange: https://github.com/macourtney/Dark-Exchange   "Dark Exchange is a distributed p2p exchange for bitcoin.". Uses the I2P network, https://en.bitcoin.it/wiki/Dark_Exchange .






I think for this it might be better to start from scratch. Sure if portions of their code is well done and useful then use it, but where is their code so we can peer review it?


And even with their code it doesn't mean their designs are going to solve all the problems. We need the perfect design first, then ANYONE can write the code. The protocol design is the key, and the underlying algorithms are what make a program efficient. And that is something I admit I'm not very good at, and few people actually are. Satoshi happened to be one of the people who is good at that, how do we find the next Satoshi? I suggest a design contest.
wumpus
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000

No Maps for These Territories


View Profile
April 12, 2013, 05:07:42 AM
 #78

And even with their code it doesn't mean their designs are going to solve all the problems. We need the perfect design first, then ANYONE can write the code.
Years of experience with open source has made my way of working is 100% opposed to yours. Sure, only fools rush in, but I usually like to figure out the basics then have something working first, then in time make it better. You will never have a "perfect design". What do you think would have happened when Satoshi first argued for years about a perfect design? There would still be nothing but an academic project. It's a myth that ANYONE can (or will) write the code.

And even when starting completely from scratch you need to learn about the previous projects first, even if only to know why they failed. But let's not start with a NIH attitude, everyone going their own way is what kills projects not what makes them.

Edit: I updated my post above to reflect all the github repositories etc, should be more complete now.

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
Sage
Hero Member
*****
Offline Offline

Activity: 632
Merit: 500


View Profile
April 12, 2013, 05:16:28 AM
 #79

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.
Interesting, thanks for the links! I wasn't aware of any projects actually in development. It has gotten lost in all the theorizing and arguing noise.

Links:

- bitcoinx: http://www.bitcoinx.org/  ... has protocol description and even a download, but where is the source code? When I click join, it says "Register with your Google account". Uh, no.

- darkxchange: https://github.com/macourtney/Dark-Exchange   "Dark Exchange is a distributed p2p exchange for bitcoin.". Uses the I2P network, https://en.bitcoin.it/wiki/Dark_Exchange .






I think for this it might be better to start from scratch. Sure if portions of their code is well done and useful then use it, but where is their code so we can peer review it?


And even with their code it doesn't mean their designs are going to solve all the problems. We need the perfect design first, then ANYONE can write the code. The protocol design is the key, and the underlying algorithms are what make a program efficient. And that is something I admit I'm not very good at, and few people actually are. Satoshi happened to be one of the people who is good at that, how do we find the next Satoshi? I suggest a design contest.

Big plus++++

Design contest is the next logical step.

Lets get that step going today. Seriously, today.

What would it take?  I'm not a techie.  What's the best collaborative platform to use here?
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 05:20:55 AM
 #80

And even with their code it doesn't mean their designs are going to solve all the problems. We need the perfect design first, then ANYONE can write the code.
Years of experience with open source has made my way of working is 100% opposed to yours. Sure, only fools rush in, but I usually like to figure out the basics then have something working first, then in time make it better. You will never have a "perfect design". What do you think would have happened when Satoshi first argued for years about a perfect design? There would still be nothing but an academic project. It's a myth that ANYONE can (or will) write the code.

And even when starting completely from scratch you need to learn about the previous projects first, even if only to know why they failed.

Edit: I updated my post above to reflect all the github repositories etc, should be more complete now.

mtGox is broken right now because they didn't properly design their code base. They relied on a flawed design because they didn't actually re-engineer or rethink everything.

Academic projects are useful for coming up with basic prototype designs. The design is extremely important when you want something to scale up without breaking down for instance. MtGox was not designed to scale up which is why they have lag. Just look at Napster, that was the initial design. They built it because it could be built at the time and it solved the problem but it didn't solve the problem in the best way so it got shut down, then we had to go through Kazaa, Bearshare, Limewire, and a bunch of other petty rip off protocols before we actually got to the well designed stuff like Bittorrent, Tor, I2P. All the while Freenet was in the background being worked on since 2000 around the same time as Napster but it didn't stop people from copying Napsters weak design over and over and all of them getting shut down and all their users having to switch from service to service.

That is what I want to have avoided. If it takes a design contest which lasts a week to avoid years of that then so be it. If you don't want to go the academic route you don't have to, but why should we believe your design is better than any other if it's not going to be peer reviewed either on this forum or at some academic journal? If you're afraid of peer review then build it yourself but don't expect people to join in if we don't know the mathematics are sound, that the algorithms will work, that the solutions are scaleable, that it's actually decentralized and not easily attacked etc.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 05:23:47 AM
 #81

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.
Interesting, thanks for the links! I wasn't aware of any projects actually in development. It has gotten lost in all the theorizing and arguing noise.

Links:

- bitcoinx: http://www.bitcoinx.org/  ... has protocol description and even a download, but where is the source code? When I click join, it says "Register with your Google account". Uh, no.

- darkxchange: https://github.com/macourtney/Dark-Exchange   "Dark Exchange is a distributed p2p exchange for bitcoin.". Uses the I2P network, https://en.bitcoin.it/wiki/Dark_Exchange .






I think for this it might be better to start from scratch. Sure if portions of their code is well done and useful then use it, but where is their code so we can peer review it?


And even with their code it doesn't mean their designs are going to solve all the problems. We need the perfect design first, then ANYONE can write the code. The protocol design is the key, and the underlying algorithms are what make a program efficient. And that is something I admit I'm not very good at, and few people actually are. Satoshi happened to be one of the people who is good at that, how do we find the next Satoshi? I suggest a design contest.

Big plus++++

Design contest is the next logical step.

Lets get that step going today. Seriously, today.

What would it take?  I'm not a techie.  What's the best collaborative platform to use here?

The simple way to do it is at Reddit or on a site like this. You have a contest where people post their designs in different threads. Then later on in the week or at the end of the week after the community has had time to discuss and review each design you have a poll where we vote on which design we think is best. The designer or team of designers who came up with that design should get the reward.

The only difficulty would be having a system where people can pledge a portion of Bitcoin, I don't know if that even exists yet. But even if it doesn't exists it's still a good idea to have the contest whether there is a reward or not because these things need peer review and no amateurish solution is good enough in my opinion for something this important.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 05:25:37 AM
 #82

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.
Interesting, thanks for the links! I wasn't aware of any projects actually in development. It has gotten lost in all the theorizing and arguing noise.

Links:

- bitcoinx: http://www.bitcoinx.org/  ... has protocol description and even a download, but where is the source code? When I click join, it says "Register with your Google account". Uh, no.

- darkxchange: https://github.com/macourtney/Dark-Exchange   "Dark Exchange is a distributed p2p exchange for bitcoin.". Uses the I2P network, https://en.bitcoin.it/wiki/Dark_Exchange .






I think for this it might be better to start from scratch. Sure if portions of their code is well done and useful then use it, but where is their code so we can peer review it?


And even with their code it doesn't mean their designs are going to solve all the problems. We need the perfect design first, then ANYONE can write the code. The protocol design is the key, and the underlying algorithms are what make a program efficient. And that is something I admit I'm not very good at, and few people actually are. Satoshi happened to be one of the people who is good at that, how do we find the next Satoshi? I suggest a design contest.

Big plus++++

Design contest is the next logical step.

Lets get that step going today. Seriously, today.

What would it take?  I'm not a techie.  What's the best collaborative platform to use here?

This is a good collaboration tool right now.

I can update the github readme file according to the consensus in this thread.
Stampbit
Full Member
***
Offline Offline

Activity: 182
Merit: 100



View Profile
April 12, 2013, 05:25:50 AM
 #83

http://irdial.com/blogdial/?p=3505
Quote
The question is, who is going to put it together and release it?

Not sure I get it. We already have a price finding mechanism -  the marketplace. The only problem is that it is currently ridiculously centralized, hence talk of colored coins/ripple etc. The decentralized versions i.e. localbitcoins are awesome but are by no means suitable for real-time trading and also are not particularly user-friendly for the average-joe consumer who just wants to quickly buy $20 of bitcoin.

The blog does not seem to mention the hardest part which is dealing with fiat in a decentralized manner. How can you guarantee to the seller that the buyer will indeed transfer the agreed $10k after the price suddenly drops?

This. All of these ideas skim over the most important part, getting fiat into the system. That requires trust, and that always leads back to a central point. Who do you give $10k to in a decentralized system? Unless you meet them in person and bring your baseball bat and some friends, no one. Our TRUSTLESS bitcoin network relies on TRUST based networks to give it value, so much for independence.
jargoman
Member
**
Offline Offline

Activity: 68
Merit: 10


View Profile
April 12, 2013, 05:27:17 AM
 #84

I've had an idea for a while for a new coin. Tradecoin. Which are basically vouchers for a p2p stock market. btc / ltc would be on such stock market and the buying, selling, shorting, calls, puts, spreads ect would all be escroed by the "miners". The "ticker" price for any exchange values would be calculated and verified by the network. Miners would be paid by arbitrage within the network and or trading fees. I would also write a tradecoin constitution which would spell out the rules in the case of blockchain fork or other software glitches. Namely that the block chain is a voting / verification principle and that in the case of failure a new system would be created and shares/coins from the old system would transfer over from the most recent and verified copy of the blockchain. I also would propose an anomymous voting system which should be robust enough to handle even political elections and still ensure one vote per person. Perhaps one vote per share of the given asset on the network

The problem of course is that even though I am a programmer I find such a system to be a daunting task and quite the responsibilty. I prepose an agreed apon "pre mine" as bounty for the system.

Be awesome and use my pyramining referral
http://www.pyramining.com/referral/yb9g3zq7x
wumpus
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000

No Maps for These Territories


View Profile
April 12, 2013, 05:27:38 AM
 #85

MtGox was not designed to scale up which is why they have lag. Just look at Napster, that was the initial design. They built it because it could be built at the time and it solved the problem but it didn't solve the problem in the best way so it got shut down, then we had to go through Kazaa, Bearshare, Limewire, and a bunch of other petty rip off protocols before we actually got to the well designed stuff like Bittorrent, Tor, I2P.
That's how innovation works. There is no way around it. It will suck in the beginning. People will find flaws in current systems, then improve on them, version after version, in smaller and bigger bursts.

The constraint area hasn't been mapped yet, let alone that we can know how an "optimal solution" would work. A "design competition", especially with so many non-technical people, is not going to solve that. Who is a judge of what is going to work anyway?

I am not saying that peer review is not good. It's good. That's why I posted links to current projects and collected some information. Why don't you peer-review bitcoinx and darkxchange? Criticize their mathematics?

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
jubalix
Legendary
*
Offline Offline

Activity: 2044
Merit: 1003


View Profile WWW
April 12, 2013, 05:30:16 AM
 #86

while your all talking we are already up just clone and go and build in more logic /apis/ code later

http://www.bteex.com/

see

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


about 100,000 of these should do it in the interim period

UPDATE GOX CRASHED AGAIN!!!AS SOON AS IT OPENED

http://www.bteex.com/

Google infrastructure is good

lets do it, cut out the bit exchanges problem solved

EDIT 1

Seriously a few good coders and there are api's google .gs scripts, javascript available and all sorts of integration, we can get something together, and en-mass clone it...local exchanges everywhere...and by local I mean in your street.

EDIT 2 design philosophy,

Ok a few layers are needed

[1] a more automated front end with scripts

order of (n) scaling
[2] A way for these to communicate with each other or some torrent like or rss feed or scaled data aggregate data

so feed data up to some sort of aggregate sheet or any number of sheets so that no one sheet is overloaded, eg 1 - 10 feed plus

10 exchanges feed up to one upper spread sheet they do calcs and 10 of those feed up to another upper sheet, this way the caac load is very distributed and easy to grow

Feed down same way 1 to 10 down......6 steps allows for 1 million exchanges each spread sheet only has to do 10 calcs

expand on these ideas



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

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

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 05:33:15 AM
 #87

I've had an idea for a while for a new coin. Tradecoin. Which are basically vouchers for a p2p stock market. btc / ltc would be on such stock market and the buying, selling, shorting, calls, puts, spreads ect would all be escroed by the "miners". The "ticker" price for any exchange values would be calculated and verified by the network. Miners would be paid by arbitrage within the network and or trading fees. I would also write a tradecoin constitution which would spell out the rules in the case of blockchain fork or other software glitches. Namely that the block chain is a voting / verification principle and that in the case of failure a new system would be created and shares/coins from the old system would transfer over from the most recent and verified copy of the blockchain. I also would propose an anomymous voting system which should be robust enough to handle even political elections and still ensure one vote per person. Perhaps one vote per share of the given asset on the network

The problem of course is that even though I am a programmer I find such a system to be a daunting task and quite the responsibilty. I prepose an agreed apon "pre mine" as bounty for the system.

Why should we create another alt-coin? I suggest we use existing bitcoins to reward the exchange-miners.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 05:33:43 AM
 #88

Guys, the forum is overflowing with topics that initiate a p2p bitcoin exchange. I'm not kidding. Yesterday I investigated them all, and I chose help developing bitcoinx (2nd place was darkexchange, at a distance). You can do your research and you'd probably end up joining bitcoinx as well Smiley. See user killerstorm, project armoryx, project bitcoinx.
Interesting, thanks for the links! I wasn't aware of any projects actually in development. It has gotten lost in all the theorizing and arguing noise.

Links:

- bitcoinx: http://www.bitcoinx.org/  ... has protocol description and even a download, but where is the source code? When I click join, it says "Register with your Google account". Uh, no.

- darkxchange: https://github.com/macourtney/Dark-Exchange   "Dark Exchange is a distributed p2p exchange for bitcoin.". Uses the I2P network, https://en.bitcoin.it/wiki/Dark_Exchange .






I think for this it might be better to start from scratch. Sure if portions of their code is well done and useful then use it, but where is their code so we can peer review it?


And even with their code it doesn't mean their designs are going to solve all the problems. We need the perfect design first, then ANYONE can write the code. The protocol design is the key, and the underlying algorithms are what make a program efficient. And that is something I admit I'm not very good at, and few people actually are. Satoshi happened to be one of the people who is good at that, how do we find the next Satoshi? I suggest a design contest.

Big plus++++

Design contest is the next logical step.

Lets get that step going today. Seriously, today.

What would it take?  I'm not a techie.  What's the best collaborative platform to use here?

This is a good collaboration tool right now.

I can update the github readme file according to the consensus in this thread.

I've given it further thought, we should do it where there are individuals/teams. We classify the teams with code names, like the red team, the blue team, or the viper team, or the chariot team, or whatever they want to call their team. We let each team come up with their own protocol but we as a community come up with the list of problems we want solved. We list those problems in plain English and the contest is about who can come up with the BEST solutions to these problems, the most efficient, user friendly, scaleable, etc.

As a community we can vote on the teams, reward the teams with points, etc. All of that could be done here and it can be tournament style or contest style. As far as what happens after that, once the winning team is found then we come up with a to-do list of what needs to be coded. We connect to each other via the app like astrid for instance. http://astrid.com/ Astrid allows individuals and teams to share lists. That could be to-do lists or task lists or whatever.

Beyond that github. Once a design is chosen then if people really want to save Bitcoin then they just have to code around that already designed protocol and follow certain rules in their coding so that it's well documented, and so well written etc.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 05:36:11 AM
 #89

I've had an idea for a while for a new coin. Tradecoin. Which are basically vouchers for a p2p stock market. btc / ltc would be on such stock market and the buying, selling, shorting, calls, puts, spreads ect would all be escroed by the "miners". The "ticker" price for any exchange values would be calculated and verified by the network. Miners would be paid by arbitrage within the network and or trading fees. I would also write a tradecoin constitution which would spell out the rules in the case of blockchain fork or other software glitches. Namely that the block chain is a voting / verification principle and that in the case of failure a new system would be created and shares/coins from the old system would transfer over from the most recent and verified copy of the blockchain. I also would propose an anomymous voting system which should be robust enough to handle even political elections and still ensure one vote per person. Perhaps one vote per share of the given asset on the network

The problem of course is that even though I am a programmer I find such a system to be a daunting task and quite the responsibilty. I prepose an agreed apon "pre mine" as bounty for the system.

Why should we create another alt-coin? I suggest we use existing bitcoins to reward the exchange-miners.

Tradecoin isn't a bad idea. Let tradecoin be part of the contest. Any idea should be considered and voted on.
Tradecoin seems to be a high level abstraction layer protocol similar to devcoin and the like. The problem is if you can't buy coins at all due to the exchanges being centralized and hacked what good is tradecoin?
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 05:38:34 AM
 #90

MtGox was not designed to scale up which is why they have lag. Just look at Napster, that was the initial design. They built it because it could be built at the time and it solved the problem but it didn't solve the problem in the best way so it got shut down, then we had to go through Kazaa, Bearshare, Limewire, and a bunch of other petty rip off protocols before we actually got to the well designed stuff like Bittorrent, Tor, I2P.
That's how innovation works. There is no way around it. It will suck in the beginning. People will find flaws in current systems, then improve on them, version after version, in smaller and bigger bursts.

The constraint area hasn't been mapped yet, let alone that we can know how an "optimal solution" would work. A "design competition", especially with so many non-technical people, is not going to solve that. Who is a judge of what is going to work anyway?

I am not saying that peer review is not good. It's good. That's why I posted links to current projects and collected some information. Why don't you peer-review bitcoinx and darkxchange? Criticize their mathematics?

Do you think in war that they just design the cheapest crap without doing any R&D or running any simulation on the small scale as a test to see if it can scale up? They test for years. We don't have years, I'm saying let's at least do some R&D and not rush something out just to get something out and have it attract a bunch of users and then collapse under it's own weight. That might be fine for music and movie sharing but when people are trading thousands of dollars they wont have that patience.

Just look at Bitinstant. Butterflylabs. All these companies doing exactly your method and look at the results? I don't want anymore amateurware but that is just me.
wumpus
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000

No Maps for These Territories


View Profile
April 12, 2013, 05:46:10 AM
 #91

Just look at Bitinstant. Butterflylabs. All these companies doing exactly your method and look at the results? I don't want anymore amateurware but that is just me.
Enough words about this. I look forward to your perfect P2P exchange that runs without flaws from day one, has all the features people could want from day one, and won't have any scaling issues. In the meantime I'm going to look if I can concretely support some project. Sayonera.

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 05:56:31 AM
 #92

Just look at Bitinstant. Butterflylabs. All these companies doing exactly your method and look at the results? I don't want anymore amateurware but that is just me.
Enough words about this. I look forward to your perfect P2P exchange that runs without flaws from day one, has all the features people could want from day one, and won't have any scaling issues. In the meantime I'm going to look if I can concretely support some project. Sayonera.


John even if we create a totally fucked up p2p exchange Im sure we cannot fail worse than MtGox Smiley
The concept that saves us is the p2p-protocol - at least our system will be less harmed by DDOS than the tradition bitcoin exchanges.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 06:09:27 AM
 #93

Just look at Bitinstant. Butterflylabs. All these companies doing exactly your method and look at the results? I don't want anymore amateurware but that is just me.
Enough words about this. I look forward to your perfect P2P exchange that runs without flaws from day one, has all the features people could want from day one, and won't have any scaling issues. In the meantime I'm going to look if I can concretely support some project. Sayonera.


John even if we create a totally fucked up p2p exchange Im sure we cannot fail worse than MtGox Smiley
The concept that saves us is the p2p-protocol - at least our system will be less harmed by DDOS than the tradition bitcoin exchanges.

It might be immune to DDOS because it's decentralized but then we still have to worry about timing attacks, possibly bots with algorithms designed to game the system. It's distributed but then would it be vulnerable to botnets now that it's distributed? How can we verify each node in the network isn't a zombie node or part of a dark pool to manipulate the network and how would we detect certain patterns or at least design the system to be modular enough that the protocol can continually update it's defenses via plugins or extensions?

I fear if anything is thrown together without much thought about design that the hackers could find flaws in the distributed design. The three main concerns are establishing trust, detecting malicious trade behavior or patterns and limiting the damage, and knowing for certain that every node is who they say they are.

Digital signatures via GPG/PGP can allow for a web of trust and can allow you to know each node is who they say they are. A system where I vouch for you, someone vouched for me, and we all are continuously reviewed can produce a web of trust (just off the top of my head). It still doesn't prevent a team of hackers from conducting malicious trade behavior and I'm not an expert on trading platforms of the possible attacks against them.

I just know when we looked at what happened with mtGox we saw all kinds of unexplained trading behavior that didn't look just like a panic sell but looked algorithmic and coordinated. It didn't look very natural, and I don't know enough to know what natural trading behavior looks like. This is why we would at least need someone in here who is an experienced trader who has seen all the attacks that happen in Forex or Wallstreet and how those attacks have been defended against. The protocol would have to be modular enough that as new attacks are discovered a plugin can be written to manage or detect it similar to how Firefox and Chrome have extensions and the like. Scaling is important because if mtGox really did crash because of too many users and if Bitinstant really is forgetting to pay us our coins because of too much load then that scale and load is still going to be a problem if you decentralize it.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 06:13:46 AM
 #94

Just look at Bitinstant. Butterflylabs. All these companies doing exactly your method and look at the results? I don't want anymore amateurware but that is just me.
Enough words about this. I look forward to your perfect P2P exchange that runs without flaws from day one, has all the features people could want from day one, and won't have any scaling issues. In the meantime I'm going to look if I can concretely support some project. Sayonera.


John even if we create a totally fucked up p2p exchange Im sure we cannot fail worse than MtGox Smiley
The concept that saves us is the p2p-protocol - at least our system will be less harmed by DDOS than the tradition bitcoin exchanges.

It might be immune to DDOS because it's decentralized but then we still have to worry about timing attacks, possibly bots with algorithms designed to game the system. It's distributed but then would it be vulnerable to botnets now that it's distributed? How can we verify each node in the network isn't a zombie node or part of a dark pool to manipulate the network and how would we detect certain patterns or at least design the system to be modular enough that the protocol can continually update it's defenses via plugins or extensions?

I fear if anything is thrown together without much thought about design that the hackers could find flaws in the distributed design. The two main concerns are establishing trust, detecting malicious trade behavior or patterns and limiting the damage, and knowing for certain that every node is who they say they are.

Digital signatures via GPG/PGP can allow for a web of trust and can allow you to know each node is who they say they are. A system where I vouch for you, someone vouched for me, and we all are continuously reviewed can produce a web of trust (just off the top of my head). It still doesn't prevent a team of hackers from conducting malicious trade behavior and I'm not an expert on trading platforms of the possible attacks against them.

I just know when we looked at what happened with mtGox we saw all kinds of unexplained trading behavior that didn't look just like a panic sell but looked algorithmic and coordinated. It didn't look very natural, and I don't know enough to know what natural trading behavior looks like. This is why we would at least need someone in here who is an experienced trader who has seen all the attacks that happen in Forex or Wallstreet and how those attacks have been defended against. The protocol would have to be modular enough that as new attacks are discovered a plugin can be written to manage or detect it similar to how Firefox and Chrome have extensions and the like. Scaling is important because if mtGox really did crash because of too many users and if Bitinstant really is forgetting to pay us our coins because of too much load then that scale and load is still going to be a problem if you decentralize it.

Solution to fight evil algos: "Order matching is done once every block, and each block should take 10 seconds to complete. The order matching is delibarately slow to prevent High Frequency Trading algorithmis having advantgage over the rest of the market."

moni3z
Hero Member
*****
Offline Offline

Activity: 886
Merit: 1000



View Profile
April 12, 2013, 06:14:30 AM
 #95

If you're getting into GPG auth ect, we already have this kind of decentralized exchange it's called bitcoin-otc

GnuNet is the only candidate for such an endeavor and it still is prone to different kinds of ddos they're working out. For instance you can flood a peer til they disconnect and then impersonate them. Not good for an exchange unless you had cryptosigning, and if you're going to go that route why not just use IRC what's the difference. If you're competent enough to do multisig and pgp signing then you can use bitcoin-otc.

It would be trivial to write an application that plugs into #bitcoin-otc and allows you to authenticate with the bot easily instead of reinventing the wheel. The app can list the order book and check for gpg identify or make gpg identify easy for total idiots

Or, run Open Transactions inside Gnunet. Great success
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 06:26:08 AM
 #96

If you're getting into GPG auth ect, we already have this kind of decentralized exchange it's called bitcoin-otc

GnuNet is the only candidate for such an endeavor and it still is prone to different kinds of ddos they're working out. For instance you can flood a peer til they disconnect and then impersonate them. Not good for an exchange unless you had cryptosigning, and if you're going to go that route why not just use IRC what's the difference. If you're competent enough to do multisig and pgp signing then you can use bitcoin-otc.

It would be trivial to write an application that plugs into #bitcoin-otc and allows you to authenticate with the bot easily instead of reinventing the wheel. The app can list the order book and check for gpg identify or make gpg identify easy for total idiots

Or, run Open Transactions inside Gnunet. Great success

IRC would be rather limited because most people aren't going to want to use IRC. That is the main problem with that but also it's got it's own problems as well.

I have no idea how we can prevent high frequency trading but I suspect that we suffered a flash crash due to high frequency algorithmic traders entering. I think Wallstreet finally took Bitcoin seriously this week and the professionals entered the market with their statistical pair trading and other esoteric algorithms. I guess one of the requirements for the protocol design would have to be a mechanism to protect Bitcoin exchanges from high frequency trading and market manipulation. Just assume Wallstreet insiders want to kill Bitcoin and control the market and what can be done to stop it?

Gollum I hope your solution works. It sounds very simple but if it works it works. Order matching every block, it sounds like it could work or at least be part of a solution.

GNU Net has an interesting paper http://secushare.org/2011-FSW-Scalability-Paranoia

Don't know if it would work with Bitcoin for the exchanges or how you'd put Open-Transactions on top of GNUnet.

So what if the exchange protocol could be a chrome/firefox extension? Would this be simple enough? I will get some sleep and maybe someone smarter than me will solve these problems.
wumpus
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1000

No Maps for These Territories


View Profile
April 12, 2013, 06:39:37 AM
 #97

Or, run Open Transactions inside Gnunet. Great success
An OTC client on top of RetroShare (http://retroshare.sourceforge.net/) would be another option... It's very user friendly as far as these tools go. And there would be sharing files, communication and trade in one application. It already has the web of trust, and already uses PGP just like OTC (but the user can remain oblivious of this). "Just" add in the reputation system and a way to post trades...

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 06:39:48 AM
 #98

If you're getting into GPG auth ect, we already have this kind of decentralized exchange it's called bitcoin-otc

GnuNet is the only candidate for such an endeavor and it still is prone to different kinds of ddos they're working out. For instance you can flood a peer til they disconnect and then impersonate them. Not good for an exchange unless you had cryptosigning, and if you're going to go that route why not just use IRC what's the difference. If you're competent enough to do multisig and pgp signing then you can use bitcoin-otc.

It would be trivial to write an application that plugs into #bitcoin-otc and allows you to authenticate with the bot easily instead of reinventing the wheel. The app can list the order book and check for gpg identify or make gpg identify easy for total idiots

Or, run Open Transactions inside Gnunet. Great success

IRC would be rather limited because most people aren't going to want to use IRC. That is the main problem with that but also it's got it's own problems as well.

I have no idea how we can prevent high frequency trading but I suspect that we suffered a flash crash due to high frequency algorithmic traders entering. I think Wallstreet finally took Bitcoin seriously this week and the professionals entered the market with their statistical pair trading and other esoteric algorithms. I guess one of the requirements for the protocol design would have to be a mechanism to protect Bitcoin exchanges from high frequency trading and market manipulation. Just assume Wallstreet insiders want to kill Bitcoin and control the market and what can be done to stop it?

Gollum I hope your solution works. It sounds very simple but if it works it works. Order matching every block, it sounds like it could work or at least be part of a solution.

This is the advantages algos have in the regular stock exchanges:

Physical Advantage
The stock exchange servers are physically located in one or a few server facilities in the same city.
Owners of the HFT-machines wants to be physically close the the stock exchange, every meter closer to the exchange server is an advantage.
When the exchange is decentralized, the current matchmaking could be done 100 meters from the HFT or it could be 10 000 miles from the HFT - the randomness creates unpredictable ping time to the exchange.

Order book Advantage
The order book of regular stock exchange follows a set of rules that can be used to the advantage of algos, the stock exchanges are also executing orders so fast that the algos can make lot of trading before a human even has reacted to a price change on the screen and clicks the mouse to buy/sell. When we got blocks of 10-second execution in combination with random order book matching it is a more fair play between algos and humans. It dont matter if you put your order first or last to buy 1000 BTC at 53$, randomness decides if you are the first to get filled.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 06:45:22 AM
 #99

If you're getting into GPG auth ect, we already have this kind of decentralized exchange it's called bitcoin-otc

GnuNet is the only candidate for such an endeavor and it still is prone to different kinds of ddos they're working out. For instance you can flood a peer til they disconnect and then impersonate them. Not good for an exchange unless you had cryptosigning, and if you're going to go that route why not just use IRC what's the difference. If you're competent enough to do multisig and pgp signing then you can use bitcoin-otc.

It would be trivial to write an application that plugs into #bitcoin-otc and allows you to authenticate with the bot easily instead of reinventing the wheel. The app can list the order book and check for gpg identify or make gpg identify easy for total idiots

Or, run Open Transactions inside Gnunet. Great success

IRC would be rather limited because most people aren't going to want to use IRC. That is the main problem with that but also it's got it's own problems as well.

I have no idea how we can prevent high frequency trading but I suspect that we suffered a flash crash due to high frequency algorithmic traders entering. I think Wallstreet finally took Bitcoin seriously this week and the professionals entered the market with their statistical pair trading and other esoteric algorithms. I guess one of the requirements for the protocol design would have to be a mechanism to protect Bitcoin exchanges from high frequency trading and market manipulation. Just assume Wallstreet insiders want to kill Bitcoin and control the market and what can be done to stop it?

Gollum I hope your solution works. It sounds very simple but if it works it works. Order matching every block, it sounds like it could work or at least be part of a solution.

This is the advantages algos have in the regular stock exchanges:

Physical Advantage
The stock exchange servers are physically located in one or a few server facilities in the same city.
Owners of the HFT-machines wants to be physically close the the stock exchange, every meter closer to the exchange server is an advantage.
When the exchange is decentralized, the current matchmaking could be done 100 meters from the HFT or it could be 10 000 miles from the HFT - the randomness creates unpredictable ping time to the exchange.

Order book Advantage
The order book of regular stock exchange follows a set of rules that can be used to the advantage of algos, the stock exchanges are also executing orders so fast that the algos can make lot of trading before a human even has reacted to a price change on the screen and clicks the mouse to buy/sell. When we got blocks of 10-second execution in combination with random order book matching it is a more fair play between algos and humans. It dont matter if you put your order first or last to buy 1000 BTC at 53$, randomness decides if you are the first to get filled.


This sounds like it could work. I also think retroshare has potential. At least we can borrow code from it and solutions if those solutions are proven to work.
moni3z
Hero Member
*****
Offline Offline

Activity: 886
Merit: 1000



View Profile
April 12, 2013, 07:01:14 AM
 #100

If you're getting into GPG auth ect, we already have this kind of decentralized exchange it's called bitcoin-otc

GnuNet is the only candidate for such an endeavor and it still is prone to different kinds of ddos they're working out. For instance you can flood a peer til they disconnect and then impersonate them. Not good for an exchange unless you had cryptosigning, and if you're going to go that route why not just use IRC what's the difference. If you're competent enough to do multisig and pgp signing then you can use bitcoin-otc.

It would be trivial to write an application that plugs into #bitcoin-otc and allows you to authenticate with the bot easily instead of reinventing the wheel. The app can list the order book and check for gpg identify or make gpg identify easy for total idiots

Or, run Open Transactions inside Gnunet. Great success

IRC would be rather limited because most people aren't going to want to use IRC. That is the main problem with that but also it's got it's own problems as well.

I have no idea how we can prevent high frequency trading but I suspect that we suffered a flash crash due to high frequency algorithmic traders entering. I think Wallstreet finally took Bitcoin seriously this week and the professionals entered the market with their statistical pair trading and other esoteric algorithms. I guess one of the requirements for the protocol design would have to be a mechanism to protect Bitcoin exchanges from high frequency trading and market manipulation. Just assume Wallstreet insiders want to kill Bitcoin and control the market and what can be done to stop it?

Gollum I hope your solution works. It sounds very simple but if it works it works. Order matching every block, it sounds like it could work or at least be part of a solution.

GNU Net has an interesting paper http://secushare.org/2011-FSW-Scalability-Paranoia

Don't know if it would work with Bitcoin for the exchanges or how you'd put Open-Transactions on top of GNUnet.

So what if the exchange protocol could be a chrome/firefox extension? Would this be simple enough? I will get some sleep and maybe someone smarter than me will solve these problems.

Gnunet has it's own naming system you can run servers inside it. A web front end for IRC is much easier, a phone app would be especially easy to interact with bitcoin-otc automating the whole orderbook and gpg authentication/rating system.

We're also forgetting all of our cities are chock full of corner stores and currency exchange booths that could easily buy/sell bitcoins to the public too. Just need to tell them how to do so, and automate that as well, or become their traders for them and settle up end of day.
99bitcoins
Member
**
Offline Offline

Activity: 65
Merit: 10


View Profile
April 12, 2013, 07:46:54 AM
 #101

I know this is against the free market but this thread should be PINNED! A P2P Exchange is a MUST and gollum has started us in the right direction. This need the full focus of the entire community right now. Maybe we should even start a fund for the developers.
arklan
Legendary
*
Offline Offline

Activity: 1694
Merit: 1003



View Profile
April 12, 2013, 07:54:06 AM
 #102

anyone here at all familiar with hawala? money transfer system from the arabic world going back a long ways. i don't understand it fully, but it seems like it's applicable here.

http://en.wikipedia.org/wiki/File:Hawala.png
ie: (1) A customer (A, left-hand side) approaches a hawala broker (X) in one city and gives a sum of money (red arrow) that is to be transferred to a recipient (B, right-hand side) in another, usually foreign, city. Along with the money, he usually specifies something like a password that will lead to the money being paid out (blue arrows). (2b) The hawala broker X calls another hawala broker M in the recipient's city, and informs M about the agreed password, or gives other disposition instructions of the funds. Then, the intended recipient (B), who also has been informed by A about the password (2a), now approaches M and tells him the agreed password (3a). If the password is correct, then M releases the transferred sum to B (3b), usually minus a small commission. X now basically owes M the money that M had paid out to B; thus M has to trust X's promise to settle the debt at a later date.

wiki: http://en.wikipedia.org/wiki/Hawala

thoughts?
99bitcoins
Member
**
Offline Offline

Activity: 65
Merit: 10


View Profile
April 12, 2013, 07:59:27 AM
 #103

^^^
That's basically how Western Union works too, nothing novel there Roll Eyes
arklan
Legendary
*
Offline Offline

Activity: 1694
Merit: 1003



View Profile
April 12, 2013, 08:02:16 AM
 #104

well, color me stupid. Cheesy
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 12, 2013, 09:07:57 AM
 #105

Some really great interactions going on, but can we agree on a few things?

It seems that the exchange p2p coding area is already gaining some speed, but what about the other side, the brokers?

I am trying to imagine alternative markets to use for inspiration, and the best I can come up with is the way that torrents are found using websites like Pirate bay.  I can see how our exchange will basically be torrents, and the brokers will be sites who do their own marketing to get customers.

Will the focus for this project be on one or both aspects of this project?

While I can code a little, my skills are really about people and business!

It would seem to me we need to start to think about how to create 1000s of local exchange gateway websites to ensure that we don't move the ddos target from the exchange to the most popular exchange access websites! Wink

*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 09:21:03 AM
Last edit: April 12, 2013, 10:09:19 AM by gollum
 #106

Some really great interactions going on, but can we agree on a few things?

It seems that the exchange p2p coding area is already gaining some speed, but what about the other side, the brokers?

I am trying to imagine alternative markets to use for inspiration, and the best I can come up with is the way that torrents are found using websites like Pirate bay.  I can see how our exchange will basically be torrents, and the brokers will be sites who do their own marketing to get customers.

Will the focus for this project be on one or both aspects of this project?

While I can code a little, my skills are really about people and business!

It would seem to me we need to start to think about how to create 1000s of local exchange gateway websites to ensure that we don't move the ddos target from the exchange to the most popular exchange access websites! Wink

Yes we need to market our p2p exchange to many many potential brokers in every country in the world.
The beauty of the this exchange is that bitcoin can be used as the maincurrency to pay the exchange fees regardless of what assets are traded.
My vision is that small cap companies will rather trade their stocks in the p2p exchante than ordinary stock exchanges.

But first of all we must agree on a system architecture and then build the platform, it will take months or maybe over a year even if we got several guru programmers in the project
xylop
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
April 12, 2013, 09:26:09 AM
 #107

We need coin that can't be manipulated. Bitcoin is useless now when investors/wall-street players have hoarded large portions of all existing coins.

No need to do money on the currency itself. That stinks from the beginning, and isn't better than fiat in that way.
jgarzik
Legendary
*
Offline Offline

Activity: 1582
Merit: 1005


View Profile
April 12, 2013, 10:03:38 AM
 #108


A design contest is absolutely the most useless route to choose.

It is endless wanking, without any real engineering proof that the design is practical in the real world.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
Sage
Hero Member
*****
Offline Offline

Activity: 632
Merit: 500


View Profile
April 12, 2013, 10:14:55 AM
 #109


A design contest is absolutely the most useless route to choose.

It is endless wanking, without any real engineering proof that the design is practical in the real world.




How would you suggest orchestrating a system that would allow the best minds to self organize and collaboratively create some kind of solution?

The x-prize worked way better then expected.

Why could it not work here?  I believe all here would say we are open to any of ideas.
BTCLuke
Hero Member
*****
Offline Offline

Activity: 525
Merit: 505


My other Avatar is also Scrooge McDuck


View Profile
April 12, 2013, 11:00:36 AM
 #110

Wow, there are a lot of threads popping up today on new ideas for Decentralized Exchanges. (I can't imagine why...) I started one myself 5 hours ago. Wink

Allow me to throw some ideas on the fire, as this thread seems to have gotten further than the others.

1. Your concerns about how to port in real-world cash are unfounded. There already exists an industry of businesses that will take cash in many forms and give virtual credits, including bitcoins, for them... BitInstant, Dwolla, OKPay, coinbase, ArumXchange, and many others can upload cash into this exchange in one or more forms. Let them deal with this headache; there are many of them so there is no central point of failure there.


2. To really replace MtGox and have real-time graphs and trades like we all want to see, the core of this beast must always determine the other clients running within a short enough pingtime's distance. (So trades can happen in milliseconds, not multiple seconds.)

If a client logs on, looks around for other clients, & notes all of their pingtimes, the client can be a real-time, graph-displaying trading platform for everyone within a decent pingtime of you!

True, this means that someone in Kansas isn't likely to see the trades of someone in Perth... But that's the nature of decentralization. The going price of a bitcoin would therefore not be global, but regional... Although the regions are likely to be continents, not cities. You'd trade quickly with those closer to you (pingtime-wise) and if you can't find your trade there, I guess it would be a good idea to include an OTC board in the package too, or port in #bitcoin-otc somehow.

(Note: VPNs could be used for people that live far away from population centers to reduce pingtimes, too!)


3. No marketing will be needed. (!) If each client for this exchange gives the fees to the person running the client where the trade happened, then it is self-incentivized to spread much like how bitcoin miners get paid to mine. I've got some very specific ideas about how to make this part work, but for now all you need to know is that everyone with an internet connection would want to run this client because it would literally pay them to just run on their PCs. (And they wouldn't need expensive GPUs.) More details on this step later.


4. No miners needed. A lot of the data that runs across these clients need not be encrypted... You want the world to know what the current price for each currency is, for instance... It's just the ownership of things on it you must secure, so no processing of SHAs here, just good, secure ledger keeping.

Every client should be both a place for you to log in and make trades, and a place for other people to trade on. If run this way, it will use a bit of bandwidth (think: bittorrent) but not any advanced hashing that requires special equipment like GPUs.


Enjoy the ideas; I'll add some more later.

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

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 12, 2013, 11:08:43 AM
 #111

Wow, there are a lot of threads popping up today on new ideas for Decentralized Exchanges. (I can't imagine why...) I started one myself 5 hours ago. Wink

Allow me to throw some ideas on the fire, as this thread seems to have gotten further than the others.

How can we prevent order manipulation if the processing of the order book is not encrypted?

If orders are processed in a true bittorrent manner that would mean that traders living close to big cities would get lower spread and better execution while people living far away from the centers would get bigger spread and longer execution times?

Why should we have millisecond execution? That would give a big advantage to HFT trading and make market manipulation easier.
Sage
Hero Member
*****
Offline Offline

Activity: 632
Merit: 500


View Profile
April 12, 2013, 11:11:05 AM
 #112

Wow, there are a lot of threads popping up today on new ideas for Decentralized Exchanges. (I can't imagine why...) I started one myself 5 hours ago. Wink

Allow me to throw some ideas on the fire, as this thread seems to have gotten further than the others.

How can we prevent order manipulation if the processing of the order book is not encrypted?

If orders are processed in a true bittorrent manner that would mean that traders living close to big cities would get lower spread and better execution while people living far away from the centers would get bigger spread and longer execution times?

Why should we have millisecond execution? That would give a big advantage to HFT trading and make market manipulation easier.

What about a darknet powered by the current miners?  Does that offer enough speed to solve this geographic problem?
BTCLuke
Hero Member
*****
Offline Offline

Activity: 525
Merit: 505


My other Avatar is also Scrooge McDuck


View Profile
April 12, 2013, 11:19:28 AM
 #113

How can we prevent order manipulation if the processing of the order book is not encrypted?
When the whole board only exists temporarily and regionally, what exactly is it you are trying to stop from being manipulated? One board seems like too small of a fish...

Perhaps I didn't explain this part well enough: When your client logs on, it notes all other clients within X milliseconds from it, and creates a session of a trading board (like BTC-E's main trade engine) for that region. Every client within X ms instantly got access to that board, and can trade on it... But when your client logs out, the whole board ceases to exist.

That may be 50-500 ppl on that board in total, even in big cities... But it doesn't feel that small to the trader because he's seeing that many board's worth of trades side-by-side!

If orders are processed in a true bittorrent manner that would mean that traders living close to big cities would get lower spread and better execution while people living far away from the centers would get bigger spread and longer execution times?
I think the regionalality would cut down on that effect, if not eliminate it... I may be wrong though, never programmed anything like this before.

Luke Parker
Bank Abolitionist
behindtext
Full Member
***
Offline Offline

Activity: 121
Merit: 100


View Profile WWW
April 12, 2013, 12:22:23 PM
 #114

anyone here at all familiar with hawala? money transfer system from the arabic world going back a long ways. i don't understand it fully, but it seems like it's applicable here.

http://en.wikipedia.org/wiki/File:Hawala.png
ie: (1) A customer (A, left-hand side) approaches a hawala broker (X) in one city and gives a sum of money (red arrow) that is to be transferred to a recipient (B, right-hand side) in another, usually foreign, city. Along with the money, he usually specifies something like a password that will lead to the money being paid out (blue arrows). (2b) The hawala broker X calls another hawala broker M in the recipient's city, and informs M about the agreed password, or gives other disposition instructions of the funds. Then, the intended recipient (B), who also has been informed by A about the password (2a), now approaches M and tells him the agreed password (3a). If the password is correct, then M releases the transferred sum to B (3b), usually minus a small commission. X now basically owes M the money that M had paid out to B; thus M has to trust X's promise to settle the debt at a later date.

wiki: http://en.wikipedia.org/wiki/Hawala

thoughts?

the problem with hawala is that it runs afoul of all sorts of AML laws in most 1st world countries. it is indeed a good system for informal transfers but does not scale over a few mln USD.

if you look around online, you can find many examples of "hawalas" that have been shut down inside the US. in many cases they were laundering money for drug cartels in south america.

behindtext
Full Member
***
Offline Offline

Activity: 121
Merit: 100


View Profile WWW
April 12, 2013, 12:46:07 PM
 #115

@ gollum - a decentralized exchange is a great idea in theory but i see several serious problems. i'll list a few of them below

- escrow - in order to put in a proper BTC sell order, you must actually possess the BTC you wish to sell. similarly, if you put in a BTC buy order, there needs to be some assurance that you have enough other currency, e.g. USD, virtual bucks, whatever. this means that both BTC and other currencies being exchanged for BTC need to be kept in escrow somewhere. i don't believe there is a good solution for this when there is no single point of exchange. the result would be submission of orders that are not actually backed by assets and a disorderly market.

- AML issues with high-volume orders/accounts - if we drop the idea of a central exchange, the direct value transfers between participants in the network would be the means for exchange, e.g. BTC for blowjobs or USD. for someone who either makes large purchases or many smaller purchases, the point being that the total value transferred is high, this creates a potentially serious issue with banks: banks _must_ keep track of accounts with lots of activity like that described. this could lead to that individual being investigated by various law enforcement agencies.

i like your idea of "trusted brokers" but the escrow problem is serious. stuff like ripple is great for ppl who want to buy/sell smaller amounts of BTC but does not scale well if you want to purchase USD 50K of BTC.

there is a reason that humans have historically gathered in single places to trade: it is efficient. the fundamental problem is that mtgox is an amateur-hour operation and not efficient.

nightminer
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
April 12, 2013, 12:53:36 PM
 #116

Hi Guys

Just saw this thread. Please see my post here:

https://bitcointalk.org/index.php?topic=174464.msg1817649#msg1817649

Basically Exchangers become what Verisign is to a browser. My post explains it better

juice
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
April 12, 2013, 01:18:51 PM
 #117

namecoin?
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 12, 2013, 01:51:38 PM
 #118

@ gollum - a decentralized exchange is a great idea in theory but i see several serious problems. i'll list a few of them below

- escrow - in order to put in a proper BTC sell order, you must actually possess the BTC you wish to sell. similarly, if you put in a BTC buy order, there needs to be some assurance that you have enough other currency, e.g. USD, virtual bucks, whatever. this means that both BTC and other currencies being exchanged for BTC need to be kept in escrow somewhere. i don't believe there is a good solution for this when there is no single point of exchange. the result would be submission of orders that are not actually backed by assets and a disorderly market.

- AML issues with high-volume orders/accounts - if we drop the idea of a central exchange, the direct value transfers between participants in the network would be the means for exchange, e.g. BTC for blowjobs or USD. for someone who either makes large purchases or many smaller purchases, the point being that the total value transferred is high, this creates a potentially serious issue with banks: banks _must_ keep track of accounts with lots of activity like that described. this could lead to that individual being investigated by various law enforcement agencies.

i like your idea of "trusted brokers" but the escrow problem is serious. stuff like ripple is great for ppl who want to buy/sell smaller amounts of BTC but does not scale well if you want to purchase USD 50K of BTC.

there is a reason that humans have historically gathered in single places to trade: it is efficient. the fundamental problem is that mtgox is an amateur-hour operation and not efficient.


These points are important, but you are missing one big issue.

A decentralized exchange with regional brokers will mean that we get best of both worlds

The decentralized aspect is for the actual price discovery, where the regional brokers will do the admin of matching bitcoins and currencies to the right places.

For instance

Bob visits USAEx.com and buys some currency tokens with real dollars
He then places an order which is sent to the p2p exchange
That order is matched with an order placed by Han on the YellowRiverEx.cn
The deal is done electronically, and at the end of the day, the task is added to the brokers list of things to do.
YellowRiverEX.cn sends all the BTC to USAEx.com - minus a commission
USAEx.com send all the dollars for orders to YellowRiverEX.com by bank transfer - minus a commission
Bob gets his BTC sent to his wallet and Han gets his currency tokens which he can convert to CNY through the YellowRiverEx.com



The end result is that individuals get to only deal with their local brokers, but their deals are world wide, using a mechanism which isn't going to be killed by a DDoS, or regulations or popularity!

Does this make sense - and what have I missed out?

*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
nightminer
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
April 12, 2013, 02:17:42 PM
 #119

Basically my post above says exactly what nwbitcoin's post says. The whole thing should not be decentralized, just the "orderbook".
lunarboy
Hero Member
*****
Offline Offline

Activity: 544
Merit: 500



View Profile
April 12, 2013, 02:36:04 PM
 #120

Would it be possible to build a P2P exchange based on Namecoin?

sort of like a unified Bitcoin payment ledger, (Fiat currency IOU's for BTC amount), written in the namecoin blockchain, possibly built around an open source cloud based escrow.  Its merged mined so limit the risk of attack.  The obvious flaw in this here would be the bottleneck of still requiring a physical bank account address to get fiat in and out of the system. Thats where I ran out of ideas??? could bitinstant or similar provide a clearing pool?

I'm probably way off the mark here and can't code so don't ridicule me too much, it was just an idea afterall Tongue

juice
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
April 12, 2013, 02:47:28 PM
Last edit: April 12, 2013, 04:08:15 PM by juice
 #121

all i need to exchange coins or what ever is one person i trust!
i would exchange with anybody i know.
if bitcoin stays simple and safe there will be trust in the tech and then everybody will
use it so i can exchange with everybody i trust.

just dont use the big exchanger ! there is no need to exchange the whole time.
generate the money in the net and leave it there or buy some coins from who ever and use it.
like usa people going to wallmart and buy some.

and by the way bitpay is much cheaper to get your coins into your bank account Wink

if you think bitcoin is money ,dont play with it!!


mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 12, 2013, 05:58:48 PM
 #122

Two things I want to stress. This exchange has to be even more simple than mtGox. It should connect to people on Skype or AIM or ICQ etc ...


Skype is said to have a backdoor:

http://memeburn.com/2011/07/microsoft-and-skype-set-to-allow-backdoor-eavesdropping/
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 05:59:01 PM
 #123

I know this is against the free market but this thread should be PINNED! A P2P Exchange is a MUST and gollum has started us in the right direction. This need the full focus of the entire community right now. Maybe we should even start a fund for the developers.

I agree we need a fund but first we need to agree on a design and a plan. I'd be willing to throw a few bucks to a fund in exchange for shares or something to make sure we can get our money back.

Like a kickstarter where we fund the development of the exchange with Bitcoin to buy shares and then we get all our Bitcoin back WITH A PROFIT when the project is completed. This would allow Bitcointalk to gather enough funds in Bitcoin to hold up both for the Bitcoin (Xprize) contest and ultimately for the developers who decide to take on the role. Consider how much money could be at stake in terms of the long term profits on your Bitcon and consider also that to pay for this we could have transaction fees which would give us double what we paid in  and it could be both profitable for us to invest in having the infrastructure built and profitable for the developers who would get paid by us to build it.

Who agrees with this idea? If you agree with this idea then lets figure out how to do it ASAP. Let's have either a contest to determine a design or let the programmers themselves create a bunch of kickstarters and bitcoin investment funds right away and let the community fund them all and see which team wins.

GO GO GO!
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 06:15:03 PM
 #124

Two things I want to stress. This exchange has to be even more simple than mtGox. It should connect to people on Skype or AIM or ICQ etc ...


Skype is said to have a backdoor:

http://memeburn.com/2011/07/microsoft-and-skype-set-to-allow-backdoor-eavesdropping/
www.cypherpunks.ca/otr/
Then you can make use of off the record with pidgin. Pidgin interfaces with AIM, ICQ, Google, etc. Off the record is a plugin which runs over it which supports encryption and perfect forward secrecy.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 12, 2013, 06:33:06 PM
 #125

Wow, there are a lot of threads popping up today on new ideas for Decentralized Exchanges. (I can't imagine why...) I started one myself 5 hours ago. Wink

Allow me to throw some ideas on the fire, as this thread seems to have gotten further than the others.

1. Your concerns about how to port in real-world cash are unfounded. There already exists an industry of businesses that will take cash in many forms and give virtual credits, including bitcoins, for them... BitInstant, Dwolla, OKPay, coinbase, ArumXchange, and many others can upload cash into this exchange in one or more forms. Let them deal with this headache; there are many of them so there is no central point of failure there.


2. To really replace MtGox and have real-time graphs and trades like we all want to see, the core of this beast must always determine the other clients running within a short enough pingtime's distance. (So trades can happen in milliseconds, not multiple seconds.)

If a client logs on, looks around for other clients, & notes all of their pingtimes, the client can be a real-time, graph-displaying trading platform for everyone within a decent pingtime of you!

True, this means that someone in Kansas isn't likely to see the trades of someone in Perth... But that's the nature of decentralization. The going price of a bitcoin would therefore not be global, but regional... Although the regions are likely to be continents, not cities. You'd trade quickly with those closer to you (pingtime-wise) and if you can't find your trade there, I guess it would be a good idea to include an OTC board in the package too, or port in #bitcoin-otc somehow.

(Note: VPNs could be used for people that live far away from population centers to reduce pingtimes, too!)


3. No marketing will be needed. (!) If each client for this exchange gives the fees to the person running the client where the trade happened, then it is self-incentivized to spread much like how bitcoin miners get paid to mine. I've got some very specific ideas about how to make this part work, but for now all you need to know is that everyone with an internet connection would want to run this client because it would literally pay them to just run on their PCs. (And they wouldn't need expensive GPUs.) More details on this step later.


4. No miners needed. A lot of the data that runs across these clients need not be encrypted... You want the world to know what the current price for each currency is, for instance... It's just the ownership of things on it you must secure, so no processing of SHAs here, just good, secure ledger keeping.

Every client should be both a place for you to log in and make trades, and a place for other people to trade on. If run this way, it will use a bit of bandwidth (think: bittorrent) but not any advanced hashing that requires special equipment like GPUs.


Enjoy the ideas; I'll add some more later.

Geez. 6 pages before there's finally a reasonable post  Roll Eyes Thank you!
Much of this does seem like it can be done by OpenTransactions or Ripple. I'm still concerned about being able to execute trades without someone being able to take BTC (or a trade confirmation) and not send the USD/EUR. Has anyone come up with a way to verify that both parties have actually sent their part of the trade without relying on a central service?

In all these discussions, these have been the #1 problems to be solved. Virtual currency and ledgers are easy, or at least doable, but depositing money into the system, and verifying fiat side transactions, are still a big Huh

nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 12, 2013, 07:34:34 PM
 #126

Is there some sort of forum game being played called Ripple Bingo?  Every other post seems to be someone saying - what about Ripple?

Which part of its not open source don't people understand?

Ripple is owned by a company who just want to be the next MT Gox - maybe Wink

Yes, the software might work, but its not a decentralized exchange in the same spirit as bitcoin, so it doesn't pass the most important rule - the concept needs to be totally open for anyone to play with.

Its not the quickest way to get a result, but building this idea to the open standard that made bitcoin is a must!

Hope everyone agrees!

Smiley


*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 12, 2013, 08:05:20 PM
 #127

I'm also not entirely sure something like a blockchain is necessary (why I was thinking something closer to ripple than bitcoin). I mean, there are two purposes to a blockchain: Keep a ledger, and prevent double-spends. We need the ledger, but that could just be a distributed file flying around, with some pruning involved (no need to keep executed trades). As for double-spend, if two people have traded, there's really no need to secure against it. All this system needs to do is match two traders and mark that their transaction was executed. A double-spend would be basically someone saying "I sent you these coins twice, so give me more USD", while the other guy could point to the BTC blockchain to say "Nope!"

Another fun thing I've been playing around with is Bitmessage. It basically does something like this, but with e-mail like messages, only holding a copy of yet-to-be received last two days, and removing any that were downloaded. It also encrypts all messages so that only the recipient can read them. If the messages that are in the form of buy/sell orders are not encrypted, people could just download all available ones too.

There's still the problem of sending and verifying cash though... So far, trusted brokers is the best idea I've heard.


P.S. Help out with bitmessage too if you can. I'm not involved, but it looks like a cool idea.

BTCLuke
Hero Member
*****
Offline Offline

Activity: 525
Merit: 505


My other Avatar is also Scrooge McDuck


View Profile
April 12, 2013, 08:10:42 PM
 #128

Geez. 6 pages before there's finally a reasonable post  Roll Eyes Thank you!
You're welcome.

Much of this does seem like it can be done by OpenTransactions or Ripple.
I'll look into OpenTransactions, but it can't possibly be this decentralized... An exchange house running on every client is pretty radical.

As for Ripple, it is my understanding that it has incredibly major flaws, like not being open source, not being a real time trading platform at all, and has big problems moving larger amounts of money... It certainly isn't a replacement for Mt.Gox in that no wall street traders can find a way to use it to trade bitcoins versus the USD, now is it?


I'm still concerned about being able to execute trades without someone being able to take BTC (or a trade confirmation) and not send the USD/EUR. Has anyone come up with a way to verify that both parties have actually sent their part of the trade without relying on a central service?
I just did above. Every single client would be a 'central service' for the two other people involved.

Luke Parker
Bank Abolitionist
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 12, 2013, 08:27:34 PM
 #129

Just throwing this out there:
Take an idea similar to bitmessage, where everyone generates their own address ID. Everyone also stores their own coins, and their own USD.
The order book is shared to everyone running this client, and can be modified by anyone to add and remove only their own transaction requests, signed by their own ID. Some proof of work could me included so it takes a second or more to place your order so mitigate spamming by tons of transactions
Anyone is free to put up an order, either sell or buy, with their own conditions, such as method of payment (Dwolla/PayPal/Wire), fees for cash transfer, etc. The order book organizes these so that the fee is included in the price being traded (e.g. all PayPal trades could be 10% above wire trades, etc).
Once a match is found, the transaction is locked and is accessible only to the people executing it. It is then up to the two people to get in touch (possibly using bitmessage type system build right into this) and actually carry out the trade off the system, e.g. sending btc to someone after they send cash, etc.
Once the trade is executed successfully, both parties must mark the transaction as successful, which increases the reputation record of the address IDs. This can be done by both addresses signing that the transaction completed successfully, and will be in both parties' interest to store a copy of. Since both have to sign, those can't be faked. Tying this to the OTC WOT (bitcoin-otc web of trust) would help, too. Someone could try to game the system by trading with themselves, but the risk is that their offer will be picked up by someone else, which means they'll have to carry out the trade, or get a bad rating.
Eventually, certain high reputation level nodes will emerge to be able to handle transactions for those more skiddish, possibly at a higher fee.

Concerns: still may be possible to game the system, will likely be easily succeptible to scams and chargebacks (at least until trusted nodes emerge), will not be able to handle high frequency trades, may be difficult to fill a large order that spans many smaller ones (instant buy on MtGox), and finally may be extremely inconvenient to have to ask for cash from someone directly, v.s. just having a cold anonymous system do it for you.

Of course this could also be expanded to easily include trades of MtGox codes for BtC, too, in which case, like was mentioned, big trusted companies could be the money in-out places.


It seems we have a lot of bases we can start with for the code already, be it Ripple, P2Pool, or Bitmessage...

Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 12, 2013, 08:32:44 PM
 #130

BitMessage and P2Pool are also open source btw. Maybe someone could bug one of the developers to see what they think about whether their tech can be modified?

Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 12, 2013, 09:11:09 PM
 #131

Just throwing this out there:
Take an idea similar to bitmessage, where everyone generates their own address ID. Everyone also stores their own coins, and their own USD.
The order book is shared to everyone running this client, and can be modified by anyone to add and remove only their own transaction requests, signed by their own ID. Some proof of work could me included so it takes a second or more to place your order so mitigate spamming by tons of transactions
Anyone is free to put up an order, either sell or buy, with their own conditions, such as method of payment (Dwolla/PayPal/Wire), fees for cash transfer, etc. The order book organizes these so that the fee is included in the price being traded (e.g. all PayPal trades could be 10% above wire trades, etc).
Once a match is found, the transaction is locked and is accessible only to the people executing it. It is then up to the two people to get in touch (possibly using bitmessage type system build right into this) and actually carry out the trade off the system, e.g. sending btc to someone after they send cash, etc.
Once the trade is executed successfully, both parties must mark the transaction as successful, which increases the reputation record of the address IDs. This can be done by both addresses signing that the transaction completed successfully, and will be in both parties' interest to store a copy of. Since both have to sign, those can't be faked. Tying this to the OTC WOT (bitcoin-otc web of trust) would help, too. Someone could try to game the system by trading with themselves, but the risk is that their offer will be picked up by someone else, which means they'll have to carry out the trade, or get a bad rating.
Eventually, certain high reputation level nodes will emerge to be able to handle transactions for those more skiddish, possibly at a higher fee.

Concerns: still may be possible to game the system, will likely be easily succeptible to scams and chargebacks (at least until trusted nodes emerge), will not be able to handle high frequency trades, may be difficult to fill a large order that spans many smaller ones (instant buy on MtGox), and finally may be extremely inconvenient to have to ask for cash from someone directly, v.s. just having a cold anonymous system do it for you.

Of course this could also be expanded to easily include trades of MtGox codes for BtC, too, in which case, like was mentioned, big trusted companies could be the money in-out places.


It seems we have a lot of bases we can start with for the code already, be it Ripple, P2Pool, or Bitmessage...

Now we are getting somewhere. This is a lot like localbitcoins only it's more streamlined and much better.  Localbitcoins does work.


The only problem is I don't like encryption. We need transparency not secrecy to stop scammers. So we need it so anyone can look at any previous trade messages and only stuff like checking account type info would be considered private but only to a certain extent. We need it so every past trade can be logged and reviewed so that scammers can be punished thoroughly. Also this system would probably work best if integrated into Facebook and real names should be a requirement. Finally we probably want to verify people in the real world, how much or how little should be up to the individual but I should be able to say I wont do business with anyone who isn't on a verified account. Meaning someone with state ID and verified address on file so that if something goes terribly wrong then I can sue them or track them down.
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 12, 2013, 09:12:02 PM
 #132

www.cypherpunks.ca/otr/
Then you can make use of off the record with pidgin. Pidgin interfaces with AIM, ICQ, Google, etc. Off the record is a plugin which runs over it which supports encryption and perfect forward secrecy.
[/quote]


Wow. Sounds good, I will look into it.
johnyj
Legendary
*
Offline Offline

Activity: 1848
Merit: 1000


Beyond Imagination


View Profile
April 12, 2013, 10:28:26 PM
 #133

As long as bitcoin exchanges with fiat currency, it should cooperate with fiat way of working, that is a centralized exchange (because fiat money is centralized). Bitcoin is a completion of existing financial system and provide another alternative, not to replace the existing sytem. Today's financial system exists for many reasons, and in many cases a centralized system has its benefit

marcus_of_augustus
Legendary
*
Offline Offline

Activity: 2926
Merit: 1165



View Profile
April 13, 2013, 12:13:01 AM
 #134

Wow, there are a lot of threads popping up today on new ideas for Decentralized Exchanges. (I can't imagine why...) I started one myself 5 hours ago. Wink

Allow me to throw some ideas on the fire, as this thread seems to have gotten further than the others.

1. Your concerns about how to port in real-world cash are unfounded. There already exists an industry of businesses that will take cash in many forms and give virtual credits, including bitcoins, for them... BitInstant, Dwolla, OKPay, coinbase, ArumXchange, and many others can upload cash into this exchange in one or more forms. Let them deal with this headache; there are many of them so there is no central point of failure there.


2. To really replace MtGox and have real-time graphs and trades like we all want to see, the core of this beast must always determine the other clients running within a short enough pingtime's distance. (So trades can happen in milliseconds, not multiple seconds.)

If a client logs on, looks around for other clients, & notes all of their pingtimes, the client can be a real-time, graph-displaying trading platform for everyone within a decent pingtime of you!

True, this means that someone in Kansas isn't likely to see the trades of someone in Perth... But that's the nature of decentralization. The going price of a bitcoin would therefore not be global, but regional... Although the regions are likely to be continents, not cities. You'd trade quickly with those closer to you (pingtime-wise) and if you can't find your trade there, I guess it would be a good idea to include an OTC board in the package too, or port in #bitcoin-otc somehow.

(Note: VPNs could be used for people that live far away from population centers to reduce pingtimes, too!)


3. No marketing will be needed. (!) If each client for this exchange gives the fees to the person running the client where the trade happened, then it is self-incentivized to spread much like how bitcoin miners get paid to mine. I've got some very specific ideas about how to make this part work, but for now all you need to know is that everyone with an internet connection would want to run this client because it would literally pay them to just run on their PCs. (And they wouldn't need expensive GPUs.) More details on this step later.


4. No miners needed. A lot of the data that runs across these clients need not be encrypted... You want the world to know what the current price for each currency is, for instance... It's just the ownership of things on it you must secure, so no processing of SHAs here, just good, secure ledger keeping.

Every client should be both a place for you to log in and make trades, and a place for other people to trade on. If run this way, it will use a bit of bandwidth (think: bittorrent) but not any advanced hashing that requires special equipment like GPUs.


Enjoy the ideas; I'll add some more later.

Geez. 6 pages before there's finally a reasonable post  Roll Eyes Thank you!
Much of this does seem like it can be done by OpenTransactions or Ripple. I'm still concerned about being able to execute trades without someone being able to take BTC (or a trade confirmation) and not send the USD/EUR. Has anyone come up with a way to verify that both parties have actually sent their part of the trade without relying on a central service?

In all these discussions, these have been the #1 problems to be solved. Virtual currency and ledgers are easy, or at least doable, but depositing money into the system, and verifying fiat side transactions, are still a big Huh

There are some really good ideas and points in here, particularly this one
Quote
Your concerns about how to port in real-world cash are unfounded. There already exists an industry of businesses that will take cash in many forms and give virtual credits, including bitcoins, for them... BitInstant, Dwolla, OKPay, coinbase, ArumXchange, and many others can upload cash into this exchange in one or more forms. Let them deal with this headache; there are many of them so there is no central point of failure there.

It seems like the P2P client exchange could have a "standard" voucher/virtual credit/token (whatever you call it) to represent that someone has deposited fiat cash into the P2P  exchange system. Those tokens can then be cryptographically locked up when a user commits to trade, using a smart contract escrow or similar, and then released when bot sides are happy the trade has been completed, i.e. P2P token credits are released to seller and bitcoins released to buyer.

The crucial thing here is the standardising of the virtual P2P tokens that represent that fiat cash has gone into the system through one of the known issuers (BitInstant, Dwolla, OKPay, coinbase, AuramXchange, etc) ... so maybe it is simply a matter of someone releasing a good enough Open Source standardised format for P2P fiat token representations that all these fiat exchangers will adopt because it then gives them access to users of the P2P exchange client?

Stampbit
Full Member
***
Offline Offline

Activity: 182
Merit: 100



View Profile
April 13, 2013, 01:03:26 AM
 #135

Quote
1. Your concerns about how to port in real-world cash are unfounded. There already exists an industry of businesses that will take cash in many forms and give virtual credits, including bitcoins, for them... BitInstant, Dwolla, OKPay, coinbase, ArumXchange, and many others can upload cash into this exchange in one or more forms. Let them deal with this headache; there are many of them so there is no central point of failure there.

An industry of business, you mean exchanges. All of these ideas floating around here rely on already existent exchanges to facilitate a 'p2p exchange'. If this were p2p i could convert my fiat into coins and back without any sort of legal intermediary.
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 13, 2013, 01:47:38 AM
 #136

We need to contact this guy http://www.reddit.com/r/Bitcoin/comments/1c7v6z/buttercoin_open_source_highperformance_bitcoin/


mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 13, 2013, 03:18:30 AM
 #137

All of these ideas floating around here rely on already existent exchanges to facilitate a 'p2p exchange'. If this were p2p i could convert my fiat into coins and back without any sort of legal intermediary.

Not all of them. Smiley Mine puts a seller into contact with a buyer. I need to just get it done and stop posting about it probably... I need a PHP programmer.
BTCLuke
Hero Member
*****
Offline Offline

Activity: 525
Merit: 505


My other Avatar is also Scrooge McDuck


View Profile
April 13, 2013, 08:39:43 AM
 #138

Already over there... The project is at: http://buttercoin.hackpad.com

It's a bit differently-structured now, but I've filled them in on my idea a bit.

Luke Parker
Bank Abolitionist
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 13, 2013, 09:04:08 AM
 #139

In the interests of keeping things in a single thread, I am reposting the below.  Since the value of coloured coins cannot be monitored by the main bitcoin network, atomic operations on the main chain have to be initiated by the BTC buyer.

Quote from: me
If coloured coins are used, then you can have a trade which is signed by both participants.  If it is included in the main bitcoin chain, then it counts, otherwise, it is fully reversed.

The buyer creates an offer transaction of the form:

Input 0: (0.000001, coloured) -> signed by BTC buyer with "SIGHASH_ANYONECANPAY + SIGHASH_SINGLE"
Output 0: (10) -> "Send to buyer's address"

This transaction is invalid, so can't be submitted to the main network.  However, the SIGHASH_ANYONECANPAY rule allows someone to add extra inputs to the transaction.  The SIGHASH_SINGLE rule allows adding of more outputs.

Input 0: (0.000001, coloured) -> signed by BTC buyer with "SIGHASH_ANYONECANPAY + SIGHASH_SINGLE"
Input 1: (10 + fee, coloured) -> signed by BTC seller (i.e. $ buyer)

Output 0: (10) -> "Send to buyer's address"
Output 1: (0.000001, coloured) -> "Send to seller's address"

It is now a valid transaction.  If the transaction makes it into the chain, then the trade occurs.  It not, then it is reversed.  It is atomic, it either fully works, or fully fails.

This system allows 2 people to trade.  It lets a buyer post "Will buy 10BTC for $1000".  However, for an exchange, you want to post "Will buy 10BTC for $1000 or market price, if lower".

Under a system like that, the exchange would be like a bulletin board.  However, when you contact a node, their software would be monitoring the market, and wouldn't buy if you asked for more than market price.

This doesn't allow "offline" operation, where you can just post an order to the order book.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 13, 2013, 09:11:26 AM
 #140

All of these ideas floating around here rely on already existent exchanges to facilitate a 'p2p exchange'. If this were p2p i could convert my fiat into coins and back without any sort of legal intermediary.

Not all of them. Smiley Mine puts a seller into contact with a buyer. I need to just get it done and stop posting about it probably... I need a PHP programmer.

Even your idea could be implemented in the p2p exchange we are discussing in this thread:

One exchange containing many virtual exchanges running at the same time, side by side.

each virtual exchange can consist of one or many brokers.

It is up to the brokers of each virtual exchange to decide if they want to trade real fiat dollar
or only some kind of token-dollar to solve the legal issues of some jurisdictions.

Please read through the template and come with ideas and suggestions!

https://github.com/p2p/bitcoin-exchange
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 13, 2013, 09:16:07 AM
 #141

Already over there... The project is at: http://buttercoin.hackpad.com

It's a bit differently-structured now, but I've filled them in on my idea a bit.

Interesting. We might end up contributing to their project.
Or if their goals differ to much from ours at bitcointalk we should develop our own exchange system.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 13, 2013, 10:49:08 AM
 #142

The market for stock / futures exchanges and forex is really huge, if we can create a p2p exchange that is paid with bitcoin that would mean a lot to bitcoin as a currency.

This is the revenues of the worlds greatest exchanges in the year 2012:
CME Group $ 3.0B
Nasdaq OMX Group $ 3.1B
NYSE Euronext $ 3.5B
London Stock Exchange $ 1.2B

The revenues of the Forex exchanges is not known since it is a decentralized OTC-market, but if we assume that their revenues also are in billions and add up all worlds stock and futures exchanges we would probably end up with a market worth up to 100B worth of revenues per year.

If the p2p exchange market paid by bitcoin captures 1% of the global exchange market that means 1 billions dollar worth of bitcoins each year must be used to reward the exchange miners.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 13, 2013, 12:21:25 PM
 #143

Updated https://github.com/p2p/bitcoin-exchange

Fees
Fees are taken from the brokers and virtual exchanges to encourage miners to provide computing power to the exchange and to discourage creation of fake virtual exchanges, brokers and orders.
Brokers and Virtual Exchanges will have bitcoin wallets created in the bitcoin blockchain where they send bitcoins in advance to pay for the exchange fees. If the broker-wallet or virtual exchange-wallet is empty no orders are processed for that broker or virtual exchange.
The actual fees must be discussed in the community.

Broker periodical fee: 1 BTC per 30 days (18 144 000 blocks)

Virtual exchange fee: 10 BTC per 30 days (18 144 000 blocks)

1 BTC per 10 000 Orders forwarded to the Exchange

1 BTC per 100 000 Orders cancelled from the Exchange
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 13, 2013, 12:44:25 PM
 #144


Interesting that the p2p username was free on github.

Anyway, it would be nice if you didn't actually need trust to complete the actual trades.  Obviously, the transaction to/from fiat to digital "vouchers" would have to be based somewhat on trust.

You could have something like hierarchical though.  For example, depending on how fees work, it might be worth buying $10k from the mint and then selling those on.  The central mint would sell to local merchants who would handle the actual selling in that country/region.  There could be a few central mints, they could do bulk trades between themselves to keep the exchange rate very close to 1:1.

If you allowed the central mints to operate at less than 100% reserve, they could probably do the system for free.  These coins are effectively senior bonds.  You sell a $100 denomination one Today at $95 and buy it back in 2 years at $100.

I think you need to decide on the core mechanism before you need to decide on more subtle questions.

Colours coins + mints allow the main chain to be used for atomic transactions already.  The only trust that is required is the coloured coin to fiat conversion by the mint.  However, that is pretty much inherent.

You need some way to link an alt chain to the main chain somehow.  Effectively, "pay if the alt chain certifies this tx".

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 13, 2013, 01:22:30 PM
Last edit: April 13, 2013, 01:59:53 PM by gollum
 #145


Interesting that the p2p username was free on github.

Anyway, it would be nice if you didn't actually need trust to complete the actual trades.  Obviously, the transaction to/from fiat to digital "vouchers" would have to be based somewhat on trust.

You could have something like hierarchical though.  For example, depending on how fees work, it might be worth buying $10k from the mint and then selling those on.  The central mint would sell to local merchants who would handle the actual selling in that country/region.  There could be a few central mints, they could do bulk trades between themselves to keep the exchange rate very close to 1:1.

If you allowed the central mints to operate at less than 100% reserve, they could probably do the system for free.  These coins are effectively senior bonds.  You sell a $100 denomination one Today at $95 and buy it back in 2 years at $100.

I think you need to decide on the core mechanism before you need to decide on more subtle questions.

Colours coins + mints allow the main chain to be used for atomic transactions already.  The only trust that is required is the coloured coin to fiat conversion by the mint.  However, that is pretty much inherent.

You need some way to link an alt chain to the main chain somehow.  Effectively, "pay if the alt chain certifies this tx".

The simplest solution I can imagine is: TRUST
I trust my broker, You trust your broker. Our Brokers trust each other and the exchange. We put orders. The Exchange match the orders. Our brokers swap our assets (BTC vs USD) based on the trade execution and trade is done.

Thats the way human interactions and trading has worked for thousands of years, people trade with each other on trust, and some times people lose money because of scammers or counter parts going into bankrupcy. Thanks to internet any broker trying to scam its counter part would be shut down in a day if they dont settle the dollars or gold coins or bitcoins they owe their fellow broker.

The proposal of colored coins and tokens seems good, tell more about it!
We might use both models in the exchange to allow all kind of brokers to participate in the exchange.
Seems like cryptocurrencies (BTC/USD, BTC/EUR etc) against big currencies could be traded with the colored coin proposal.

But how do we trade a basket of chicken eggs at the farmers market against a barrel of gasoline with colored coins / tokens ? Is it doable?
(In this example farmers market got their order book at this hypothetical p2p exchange where farmers put sell orders of chicken egg and consumers pay with barrells of gasoline,
and they meet at the physical market once a week to settle chicken eggs against barrels of gasoline - Or if the broker dont trust its clients, the farmers put the egg and the consumers puts their gasoline at the brokers office in advance, before the trading can begin)
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 13, 2013, 02:10:19 PM
 #146

The simplest solution I can imagine is: TRUST
I trust my broker, You trust your broker. Our Brokers trust each other and the exchange. We put orders. The Exchange match the orders. Our brokers swap our assets (BTC vs USD) based on the trade execution and trade is done.

Right, but you are creating a more centralised system.  The brokers lots of trust links have a lot of power in the system.

Quote
The proposal of colored coins and tokens seems good, tell more about it!

Basically, a "mint" would create a coloured coin by sending you a coin from a particular address.  Initial marking of colour requires the mint to formally give info on which tx outputs are coloured as "roots".

The software tracks the coins as they go through the network.  They have rules for how to colour coins before and after a transaction.

For example, you might have

Inputs
0: 5 satoshi (mint1 colour)
1: 15 satoshi (mint1 colour)
2: 50 satoshi (mint2 colour)
3: 0.01 BTC (uncoloured - this is for the tx fee)

Outputs
0: 10 satoshi
2: 10 satoshi
1: 50 satoshi

If this is included in the block chain, the colour tracker will then mark the outputs as coloured to give

Output
0: 10 satoshi (mint1 colour)
1: 10 satoshi (mint1 colour)
2: 50 satoshi (mint2 colour)

If you want your coloured coin value to be preserved you need to make sure you have the right amounts for the coloured coins.

In this case, the first 2 inputs are the same colour and add up to 20.  Similar the first two outputs add to 20.  Your software would remember that those outputs are also coloured.

Likewise the 50 satoshi of mint2's colour are matched values.

These guys have defined a spec for this.

Quote
But how do we trade a basket of chicken eggs at the farmers market against a barrel of gasoline with colored coins / tokens ? Is it doable?

The mints act convert coloured coins to/from their backing.  A mint might send you 100 satoshi coloured by them in exchange for $1.  Likewise, they would do the reverse transaction.  There would be a fee in both directions.

This also works with other things like barrels of oil.  The farmer would sell the eggs for BTC and then buy the oil.

Quote
(In this example farmers market got their order book at this hypothetical p2p exchange where farmers put sell orders of chicken egg and consumers pay with barrells of gasoline,

It is more efficient to have a currency for that.  There is no need for barter.  Having many mints to convert to/from fiat is required since fiat isn't in digital format.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 13, 2013, 02:25:54 PM
 #147

It is more efficient to have a currency for that.  There is no need for barter.  Having many mints to convert to/from fiat is required since fiat isn't in digital format.

In that case we must implement the usage of colored coins, but it should be up to each virtual exchange if they want to use colored coins or a trust-based system.

Merchants look at the dollar value they will get from bitcoin, which means we dont use the full potential of bitcoin as a currency since people always compare it to dollars.
I believe with the help of bitcoin and internet we can revolutionize bartering so people dont have to think in dollar-terms all the time. Most virtual exchanges will of course be around BTC vs some fiat currencies, but some virtual exchanges such as farmer markets might want to use other kind of currencies for trading eggs, meat and animals, maybe physical silver coins?
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 13, 2013, 02:42:22 PM
 #148

In that case we must implement the usage of colored coins, but it should be up to each virtual exchange if they want to use colored coins or a trust-based system.

Right, it is pretty much 2 things anyway.  The exchange is really just a system for matching buyers and sellers.  The coloured coin system lets you create digital representations of real things.

With coloured coins, you would have a wallet which has a total each type off coin colour you have.

The guys at bitcoinX have a proof of concept that does the colouring.  If they added the 2 stage transactions, then they would be pretty much there.

Quote
Merchants look at the dollar value they will get from bitcoin, which means we dont use the full potential of bitcoin as a currency since people always compare it to dollars.

The dollar is also a relatively stable measure of value.  That is one of the things currencies do.

You could have a client which does a weighted average of commodities to work out a stable value.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
tallbikeguy
Newbie
*
Offline Offline

Activity: 35
Merit: 0


View Profile
April 13, 2013, 03:34:10 PM
Last edit: April 13, 2013, 04:56:22 PM by tallbikeguy
 #149

1. Your concerns about how to port in real-world cash are unfounded. There already exists an industry of businesses that will take cash in many forms and give virtual credits, including bitcoins, for them... BitInstant, Dwolla, OKPay, coinbase, ArumXchange, and many others can upload cash into this exchange in one or more forms. Let them deal with this headache; there are many of them so there is no central point of failure there.

Isn't this the real problem when talking about exchanges?  

I mean, the creation of a BTC to LTC exchange would be fairly straightforward.  You need an order book, and a process for matching buyers and sellers.  You'd also need some type of two phase commit protocol that would gather the BTC from one person, the LTC from the other person, and distribute those back to the proper parties. A lot like the World of Warcraft trade window.  This would be great if it were a "distributed" thing, and ideally not relying on the trust of any of the three (or two) parties.  This seems like something that's achievable with crypto/p2p technologies.

Another way to look at that part of the exchange would be a secure p2p technology where you actually put your bitcoin or litecoin in the bid/offer, and when they matched, the transaction would happen.  if you were to cancel the order you'd just get the cryptocash put back in your wallet.   This would be a really cool project!  Another thing I've worried about RE bitcoin is that if I pay someone with bitcoins, they have the coins first, then I get what I paid for, right?  The fact is, they could give me what they promised or not, I'm still out my bitcoins.  Some sort of protocol like the WoW trade window could let both sides verify that they are getting what they were looking for (in the digital realm, of course).

However, fiat currency is a real problem.  Anyone sending their dollars to an account held by someone is putting a lot of trust in them.  In other words, when I send MtGox my BTC and "sell" them, MtGox is going to send me back the $USD (hopefully).  Since MtGox is centralized, they are a closed system - the USD out came from another customer that sent USD in.  

To make a distributed/federated exchange we'd need all the endpoints (member exchanges) to be able to move USD between them friction free and securely, which is what would happen when the buyer and seller are in different member exchanges. Otherwise, if MtGox users were buying and btc-e users were selling (and retrieving their cash), btc-e could be drained of liquid funds very quickly.

I thought colored coins might help since I could create coins (eg. tallcoins) for each dollar I have in my bank account.  However, who is going to take tallcoins in exchange for a bitcoin?  I could promise to pay anyone 1USD for each tallcoin, but when someone knocks on my door and wants the money, who knows if I'll cough it up.  You'd have to trust me, right?

r.willis
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
April 13, 2013, 03:57:12 PM
 #150

If we use colored coins and atomic coin swapping to clear transactions on-blockchain, there are no need for brokers. We still need trust, not for brokers, but for gateways which will take fiat and give IOUs in form of colored coins. We trust them that they will convert IOUs back to fiat on demand. So actually we will trade not USD/BTC but MtGox USD/BTC, BTC-e EUR/BTC, etc. Even MtGox USD/MegaExchange USD.
If you placed order, you should not be able to not fulfill it (until you cancel it). Maybe we can devise coloring scheme that can be used to achieve that with help of contracts in trust-less way.
Quote
Voluntary rating of the brokers from the clients could be used to indicate the trustworthiness of each broker.
Doubt it will work - too much possibilities for manipulation.
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 13, 2013, 07:16:43 PM
 #151

If you placed order, you should not be able to not fulfill it (until you cancel it).

That's pretty easy.  If you spend the input transaction, then that counts as cancelling the tx.  However, that would incur a tx fee on the main chain.

In fact, once you publish on offer transaction fragment, you can't cancel it any other way.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 13, 2013, 08:49:23 PM
 #152

The one thing we do need to work out is who are we aiming this product to?

The concept of bitcoin is as a way for anyone and everyone to buy and sell using an online currency - but the  people involved could be a NY trader, or a student in India.  If we are focusing too much on the 1st world needs, we could miss out on the other 4 Billion people who are earning less than a Bitcoin a week!

While we need an exchange to  get the best prices for bitcoin world wide, if we leave the fiat converting side to the likes of OKPay and other blue chip financial specialists, we are actually closing the door on bitcoin to all those millions of micro buyers.

I know we have the likes of localbitcoins, but what we really need is an API that can be used for local websites in rural parts of Africa and Asia - Its this long tail of users that will ensure bitcoin becomes a real success!

*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 13, 2013, 09:20:48 PM
 #153

The one thing we do need to work out is who are we aiming this product to?

The concept of bitcoin is as a way for anyone and everyone to buy and sell using an online currency - but the  people involved could be a NY trader, or a student in India.  If we are focusing too much on the 1st world needs, we could miss out on the other 4 Billion people who are earning less than a Bitcoin a week!

With coloured coins, anyone can create fiat currency coloured coins.  The problem would be liquidity for small markets.

A mint only really needs to watch the market and keep the exchange rate between its tokens within a certain band of other major mints.

If there was 10 "major" mints for a given currency, a "minor" mint could promise to keep its tokens within 1% of the exchange rate for the majors.  This could be achieved by offering to buy back its tokens mints at for tokens from any major mint at 99% of their face value.  This would be for large orders, so they would buy 1000 of the $1 tokens and give the seller 990 $1 tokens from other exchanges.

The localcoin system could be used and rather than selling bitcoins could sell fiat currency.  This would lower the risk for people, since they wouldn't have to learn about a whole new currency.  OTOH, they wouldn't get the inflation protections built into bitcoin. 

Once there is lots of local currency flowing in the system, then it makes currency exchanges trivial.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
Impaler
Sr. Member
****
Offline Offline

Activity: 784
Merit: 250


https://x.vite.net/


View Profile
April 14, 2013, 12:27:57 AM
 #154

I'm interested in this project because of my own long standing interest in managing money supply via the use of an inflation/deflation prediction market inside of the block-chain which would then adjust the money-supply by a feedback mechanism somewhat like how difficulty is continually readjusted to maintain a steady block creation rate.

So I'm interested in the broad mechanics of how you go about doing a P2P exchange.  One valuable insight I had they may be useful too you is that the biders and sellers have radicly different motivations and STRONG perverse incentive to manipulate and not propagate their competitors bids and offers.  A simple solution is the make Biders responsible for collecting and propagating the Offers, and make Offer'ers responsible for collecting and propagating the Bids.  This aligns incentives and should mean that all bids and offers are tabulated and none are suppressed.  Their is also no need to rely on proof-of-work for this, simply use proof-of-stake with bids and offers being separate, once the bid and offers curves have been created both sides can then validate the clearing price and execute the activation of the broker.

██▄                      ▄██
▀███▄                  ▄███▀
  ▀███▄              ▄███▀
██▄ ▀███▄          ▄███▀
▀███▄ ▀███▄      ▄███▀
  ▀██   ▀██    ▄███▀
             ▄███▀
             ▀███▄
        ▄██    ▀███▄
      ▄███▀      ▀███▄
    ▄███▀          ▀███▄
  ▄███▀              ▀███▄
▄███▀                  ▀███▄
██▀                      ▀██

X.C.A.R.DTM

████
██
██
██
██
██
██
██
██
██
██
██
██
████
.SEND AND RECEIVE MONEY
.INSTANTLY, WITH NO.....
.HIDDEN COSTS..........

▄████████████████████████████████████▄
██▀                                ▀██
██  ▄▄▄▄▄▄  ▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄   ██
██                     █        █   ██
██  ▀ ▀▀▀ ▀▀ ▀▀▀ ▀▀    █        █   ██
██                     █▄▄▄▄▄▄▄▄█   █▀
██
██
██  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ██
██  █    █  █    █  █    █  █    █  ██
██  █▄▄▄▄█  █▄▄▄▄█  █▄▄▄▄█  █▄▄▄▄█  ██
██▄                                ▄██
▀████████████████████████████████████▀
.SPEND ANYWHERE,....
.ANY CRYPTOCURRENCY,.
.ANY PAYMENT CARD....

████
██
██
██
██
██
██
██
██
██
██
██
██
████

IEO
Q4 2019

████
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
████

▄▄████████▄▄
▄████████████████▄
▄████████████████████▄
███████████████▀▀  █████
████████████▀▀      ██████
▐████████▀▀   ▄▄     ██████▌
▐████▀▀    ▄█▀▀     ███████▌
▐████████ █▀        ███████▌
████████ █ ▄███▄   ███████
████████████████▄▄██████
▀████████████████████▀
▀████████████████▀
▀▀████████▀▀


▄██████████████████▄
██▀              ▀██
██                ██
██                ██
██    ▄▄▄▄▄▄▄▄    ██
██    ▀▀▀▀▀▀▀▀    ██
██   ▄▄▄▄▄▄▄▄▄▄   ██
██   ▀▀▀▀▀▀▀▀▀▀   ██
██
██
██                ██
██▄              ▄██
▀██████████████████▀
.
WP
▀ ▀▀▀



gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 14, 2013, 12:51:37 AM
 #155

I'm interested in this project because of my own long standing interest in managing money supply via the use of an inflation/deflation prediction market inside of the block-chain which would then adjust the money-supply by a feedback mechanism somewhat like how difficulty is continually readjusted to maintain a steady block creation rate.

So I'm interested in the broad mechanics of how you go about doing a P2P exchange.  One valuable insight I had they may be useful too you is that the biders and sellers have radicly different motivations and STRONG perverse incentive to manipulate and not propagate their competitors bids and offers.  A simple solution is the make Biders responsible for collecting and propagating the Offers, and make Offer'ers responsible for collecting and propagating the Bids.  This aligns incentives and should mean that all bids and offers are tabulated and none are suppressed.  Their is also no need to rely on proof-of-work for this, simply use proof-of-stake with bids and offers being separate, once the bid and offers curves have been created both sides can then validate the clearing price and execute the activation of the broker.

Interesting idea but if we create an exchange where we force a certain way of auction model that the market do not like they will most likely move on to another exchange where they can trade as they do at the stock market.

One solution Ive been thinking of today is to allow each virtual exchange to chose what kind of auction model they want to apply.
Different models that could be implemented:
-Time auction, higest bidder within a certain time wins (ebay) - could be used for virtual exchange that want to handle really huge bitcoin orders that normally would crash the market if sold directly to the market.
-Dealers market (buying and selling against market maker). - the best solution for small exchanges, the spread could be based on the price of the biggest exchange
-Auction market with no obligation- bids and ask orderes are matched and can be cancelled
-Auction market with obligation - bids and ask orders are matched, and they cannot be cancelled.

Example: The auction model of NYSE != Nasdaq even if the average joe trader wouldnt feel the difference:
Quote
http://www.investopedia.com/articles/basics/03/103103.asp
Dealer vs. Auction Market
The fundamental difference between the NYSE and Nasdaq is in the way securities on the exchanges are transacted between buyers and sellers. The Nasdaq is a dealer's market, wherein market participants are not buying from and selling to one another directly but through a dealer, which, in the case of the Nasdaq, is a market maker. The NYSE is an auction market, wherein individuals are typically buying and selling between one another and there is an auction occurring; that is, the highest bidding price will be matched with the lowest asking price. (For more on different types of markets, see Markets Demystified.)
moni3z
Hero Member
*****
Offline Offline

Activity: 886
Merit: 1000



View Profile
April 14, 2013, 02:03:44 AM
 #156

You guys already failed at this unless the github account is anonymous. Anybody involved in creating a p2p exchange is now responsible according to FinCEN for all transactions that happen on it. Bitcoin Foundation talks about this in their blog how Satoshi, as creator of bitcoin, is responsible for every trade made with bitcoin. Hes supposed to hire compliance officers and report every transaction over $10k on the blockchain which is ludicrous but reality of govt regulation.

Now you know why he is anonymous.

The ripple guys are going to have the same problem unless they live in a country with no US extradition treaty or are anonymous. They even tried to lock up highschool kids who coded p2p file sharing systems

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 14, 2013, 02:28:00 AM
 #157

You guys already failed at this unless the github account is anonymous. Anybody involved in creating a p2p exchange is now responsible according to FinCEN for all transactions that happen on it. Bitcoin Foundation talks about this in their blog how Satoshi, as creator of bitcoin, is responsible for every trade made with bitcoin. Hes supposed to hire compliance officers and report every transaction over $10k on the blockchain which is ludicrous but reality of govt regulation.

Now you know why he is anonymous.

The ripple guys are going to have the same problem unless they live in a country with no US extradition treaty or are anonymous. They even tried to lock up highschool kids who coded p2p file sharing systems



Its like suing the fathers of internet for all illegal activity takeing place at internet, its not practical.
What is practical for the US government however is to regulate the brokers based in USA. Therefore I propose that the p2p bitcoin-exchange system must have virtual exchanges instead of one global exchange. Each virtual exchange must have one founding broker that is legally responsible for the virtual exchange and represents the other brokers in that alliance.
juice
Newbie
*
Offline Offline

Activity: 56
Merit: 0



View Profile
April 14, 2013, 09:41:56 AM
 #158

 you know who made the arpanet and later the internet?
also i think everybody knows the french guy aka satoshi!
his geekness brought him to japan and he allready knows he is responsible.

Impaler
Sr. Member
****
Offline Offline

Activity: 784
Merit: 250


https://x.vite.net/


View Profile
April 14, 2013, 10:24:05 AM
 #159

Golum:  The type of auction process is not really what I'm addressing, I'm just talking about the back-end peer-2-peer system that's doing the book-keeping.  In BTC the 'miners' are as a group not hostile to the transactors and have a direct incentive to do the basic job of propagating transactions through the network.  Once you start talking about a market though you always have two groups which ARE to a degree hostile too each other and have lots of incentive to suppress certain bid and offer messages.  Say I have the lowest bid and someone is about to under bid me, I would have every incentive to prevent that bid from ending up on the distributed ledger.  I'm just describing a simple structuring that removes perverse incentives like that by dividing work and assigning it to the group that lacks perverse incentive, it will be applicable no matter what market style you go with.

██▄                      ▄██
▀███▄                  ▄███▀
  ▀███▄              ▄███▀
██▄ ▀███▄          ▄███▀
▀███▄ ▀███▄      ▄███▀
  ▀██   ▀██    ▄███▀
             ▄███▀
             ▀███▄
        ▄██    ▀███▄
      ▄███▀      ▀███▄
    ▄███▀          ▀███▄
  ▄███▀              ▀███▄
▄███▀                  ▀███▄
██▀                      ▀██

X.C.A.R.DTM

████
██
██
██
██
██
██
██
██
██
██
██
██
████
.SEND AND RECEIVE MONEY
.INSTANTLY, WITH NO.....
.HIDDEN COSTS..........

▄████████████████████████████████████▄
██▀                                ▀██
██  ▄▄▄▄▄▄  ▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄   ██
██                     █        █   ██
██  ▀ ▀▀▀ ▀▀ ▀▀▀ ▀▀    █        █   ██
██                     █▄▄▄▄▄▄▄▄█   █▀
██
██
██  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ▄▄▄▄▄▄  ██
██  █    █  █    █  █    █  █    █  ██
██  █▄▄▄▄█  █▄▄▄▄█  █▄▄▄▄█  █▄▄▄▄█  ██
██▄                                ▄██
▀████████████████████████████████████▀
.SPEND ANYWHERE,....
.ANY CRYPTOCURRENCY,.
.ANY PAYMENT CARD....

████
██
██
██
██
██
██
██
██
██
██
██
██
████

IEO
Q4 2019

████
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
  ██
████

▄▄████████▄▄
▄████████████████▄
▄████████████████████▄
███████████████▀▀  █████
████████████▀▀      ██████
▐████████▀▀   ▄▄     ██████▌
▐████▀▀    ▄█▀▀     ███████▌
▐████████ █▀        ███████▌
████████ █ ▄███▄   ███████
████████████████▄▄██████
▀████████████████████▀
▀████████████████▀
▀▀████████▀▀


▄██████████████████▄
██▀              ▀██
██                ██
██                ██
██    ▄▄▄▄▄▄▄▄    ██
██    ▀▀▀▀▀▀▀▀    ██
██   ▄▄▄▄▄▄▄▄▄▄   ██
██   ▀▀▀▀▀▀▀▀▀▀   ██
██
██
██                ██
██▄              ▄██
▀██████████████████▀
.
WP
▀ ▀▀▀



mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 14, 2013, 10:44:36 AM
Last edit: April 14, 2013, 11:07:51 AM by mobile4ever
 #160


Even your idea could be implemented in the p2p exchange we are discussing in this thread:



This is good news. Giving people a choice is our main goal, in my opinion. Whatever people need is what they should get. Once a decentralized market starts to take form, one of the first things to do is also set up a keyword ( tag) cloud and a site like digg.com. This is to get user input on what people need.

The clone software for digg is "pligg". Its like a CMS. ( http://pligg.com/download.php ).


Is this the "official" decentralized market thread?
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 14, 2013, 04:41:53 PM
 #161

Is this the "official" decentralized market thread?

Yes I believe the discussions going here are more universal than the solutions offered in other threads or in projects such as ButterCoin.
So all ideas are welcome!
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 14, 2013, 06:08:23 PM
 #162

Is this the "official" decentralized market thread?

Yes I believe the discussions going here are more universal than the solutions offered in other threads or in projects such as ButterCoin.
So all ideas are welcome!

Okay - then lets keep it going until something is working, or even maybe a few of these ideas are working... Smiley
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 14, 2013, 08:47:35 PM
 #163

We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 14, 2013, 09:02:41 PM
 #164

We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

Personally, I would suggest the worldwide blockchain type exchange so it becomes a part of the protocol rather than a commercial venture as the MTGox price at the moment.

This makes the core element of the exchange a for the people by the people type of venture rather than a benevolence to be sold and control later type of deal - like Google search etc

But that is just my opinion!



*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
Luckybit
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500



View Profile
April 15, 2013, 07:18:53 AM
 #165

http://www.247btc.com/bitcoins/134/how-i-would-manipulate-the-bitcoin-exchange-market-and-how-a-discrete-double-auction-could-stop-me/ This site has a very interesting solution to the market manipulation DDOS problem.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 15, 2013, 07:47:17 AM
 #166


Yes that should eliminate much of the manipulations, allowing real time nanosecond trading will only benefit market manipulators.
We were discussing a similiar solution: auctions once every block, and each block should be 1,10 or 60 seconds.

-Orders are matched in one-minute auctions in the block chain and randomnes is used if several orders are at the same level and size. High Frequency Trading are thereby eliminated since there is no possibility to cheat in the order book, or to do nanosecond trading since there is one minute between every execution of orders.
zakoliverz
Hero Member
*****
Offline Offline

Activity: 542
Merit: 500


View Profile
April 15, 2013, 08:52:15 AM
 #167

Does this sound like it could work!
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1002


View Profile
April 15, 2013, 10:24:22 AM
 #168

The double auction seems weird, you could end up selling at a different price than everyone else.  What about setting the price based on the previous block's order book.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
nwbitcoin
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250


You are a geek if you are too early to the party!


View Profile WWW
April 15, 2013, 11:04:25 AM
 #169

That is very interesting - I especially like the idea of poling all the same prices together to cut down on actual trades, that would make a big difference!

*Image Removed*
I use Localbitcoins to sell bitcoins for GBP by bank transfer!
Slix
Newbie
*
Offline Offline

Activity: 49
Merit: 0



View Profile
April 15, 2013, 12:39:23 PM
 #170

We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

I personally would like to see a worldwide chain for orders. This would give us one single definitive value for BTC instead of having a different value at each existing exchanges like we currently have.

It's one thing for people to know what their money is worth but in order for bitcoin to be accepted, we need it to be used for something. This means merchants and organizations who want your bitcoin for goods and services. Merchants who rely on their business to survive won't want to deal with looking at different exchange networks to figure out how much to sell their goods so that they don't lose out. They will want stability and also the ability to query one single entity that is always online (unlike MtGox) and get a value.

I also think you could have physical exchanges around the world in the form of bitcoin ATMs that would be connected to this worldwide exchange network. A system like this could also transform into a crypto-exchange system not just reserved for bitcoin. Having a one-stop place that could also handle altcoin exchange for BTC, fiat or other altcoins would be pretty nice in the long run and would benefit everyone's move away from fiat and central planning.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 15, 2013, 12:50:55 PM
 #171

We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

I personally would like to see a worldwide chain for orders. This would give us one single definitive value for BTC instead of having a different value at each existing exchanges like we currently have.

It's one thing for people to know what their money is worth but in order for bitcoin to be accepted, we need it to be used for something. This means merchants and organizations who want your bitcoin for goods and services. Merchants who rely on their business to survive won't want to deal with looking at different exchange networks to figure out how much to sell their goods so that they don't lose out. They will want stability and also the ability to query one single entity that is always online (unlike MtGox) and get a value.

I also think you could have physical exchanges around the world in the form of bitcoin ATMs that would be connected to this worldwide exchange network. A system like this could also transform into a crypto-exchange system not just reserved for bitcoin. Having a one-stop place that could also handle altcoin exchange for BTC, fiat or other altcoins would be pretty nice in the long run and would benefit everyone's move away from fiat and central planning.


There is a problem with just one exchange: legal issues and trust issues. It is easier for a few brokers to trust each other than for thousands of brokers around the world to trust each other. And legally it would be more complicated to make it work due to different regulations in different countries. Thats why we need virtual exchanges - in the same way the Forex market works.

We don't need to have just one exchange to get a fair market price - calculate a Volume-Weighted-Average-Price of the trading on all exchanges in the world and you will have a fair price that merchandisers can use.
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 15, 2013, 01:43:10 PM
 #172


I dont see where the guy talks about decentralization there.  Huh
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 15, 2013, 02:05:53 PM
 #173

This does not look decentralized, but he says it is "high-frequency" and open source:

http://scarcecapital.com/hft/

It could be made decentralized if it is open source.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 15, 2013, 02:18:25 PM
Last edit: April 15, 2013, 06:15:36 PM by Rassah
 #174

Hey, I have a question. I know a blockchain is really cool and popular, especially with Bitcoin stuff, but.. why do you need a blockchain exactly? What will be its purpose? I figured just nodes sharing a dynamic database that anyone can add or remove orders from would be sufficient. A blockchain is there mainly to prevent double'spend attacks. Is there a double-spend problem with orders that someone can think of?

Slix
Newbie
*
Offline Offline

Activity: 49
Merit: 0



View Profile
April 15, 2013, 02:46:39 PM
 #175

We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

I personally would like to see a worldwide chain for orders. This would give us one single definitive value for BTC instead of having a different value at each existing exchanges like we currently have.

It's one thing for people to know what their money is worth but in order for bitcoin to be accepted, we need it to be used for something. This means merchants and organizations who want your bitcoin for goods and services. Merchants who rely on their business to survive won't want to deal with looking at different exchange networks to figure out how much to sell their goods so that they don't lose out. They will want stability and also the ability to query one single entity that is always online (unlike MtGox) and get a value.

I also think you could have physical exchanges around the world in the form of bitcoin ATMs that would be connected to this worldwide exchange network. A system like this could also transform into a crypto-exchange system not just reserved for bitcoin. Having a one-stop place that could also handle altcoin exchange for BTC, fiat or other altcoins would be pretty nice in the long run and would benefit everyone's move away from fiat and central planning.


There is a problem with just one exchange: legal issues and trust issues. It is easier for a few brokers to trust each other than for thousands of brokers around the world to trust each other. And legally it would be more complicated to make it work due to different regulations in different countries. Thats why we need virtual exchanges - in the same way the Forex market works.

We don't need to have just one exchange to get a fair market price - calculate a Volume-Weighted-Average-Price of the trading on all exchanges in the world and you will have a fair price that merchandisers can use.

Maybe you are right on some points as I'm in no way an expert in trades, markets, stocks or other related stuff. I understand there are a lot of legalities involved.

That being said I don't really like the idea of seperate competing exchanges as people would end up pooling up to a handful of them, which would end up getting most of the traffic and put us right back with a couple of MtGoxs. People who want to trade quickly will go where the traders hang out. If it was all about trust then I don't think anybody would use MtGox. They do because most of the traders are. This is why I think one single p2p "preferred" exchange network work much better for everybody. Take the choice of exchange out of the hands of people and prevent pooling up at single points of failure. Some entities out there could still choose to be exchanges separate from that network but that would be left at the traders own risks.

During the bitcoin adoption phase, we need to make the transition between fiat and bitcoin seemless. The average Joe trying to get into bitcoin for the first time doesn't want the headache of having to figure out which exchange to use, how to transfer their funds to it, what the legalities are, how to buy bitcoin and what the going rate is. What they want is a screen that lets them enter their bank account information, type the amount of bitcoin to buy or sell and the current going rate of bitcoin from a single entity: basically what Coinbase is without the centralization. This would be best accomplished with one single unified exchange system. We need to be stable.

The way I see it is if you have peers handle the fiat for their respective region/countries then you may not have to deal with as many legalities (Again, I'm no expert so correct me if I'm wrong). For example the "coinlab peer" would handle moving USD for people with US bank accounts who buy and sell BTC, while the "btc-e peer" would handle moving EUR/RUR for customers with those types of bank accounts. Of course there would be many more peers per region all sharing in the moving of fiat but at the same time they would all process the matching of trades as a whole network sort of like we mine for BTC. That way If any peers go offline for a short period of time, the overall trading would not suffer or cause panic.

Anything that does not involve moving fiat from a peer's bank account to a buyer or seller's account within their region, should be transferred the form of BTC. Afterall, isn't that what BTC is designed to do: transfer money across borders without being restricted by legalities or regulation? That would include the fees that the peers collect for processing trades or sending money from one peer to the other. The peers would then be free to sell those BTC to buyers within their region for a 0% fee in order to collect their fiat.

Concerning trust, one way to possibly handle that would be to fully disclose to traders who handled the fiat for their transactions and let them rate their experience that peer on a per-transaction basis. You could only rate a peer if you have a valid transaction recently processed by them in order to prevent abuse. As a peer starts to lose rating then they would be given less transactions to handle, losing revenue from fees and eventually if the peer gets too many bad ratings then possibly cut them off from the network. This would also introduce some sort of regulation by the community and market.

Anyway, these are just some ideas based on my opinion (and somewhat limited knowledge).
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 15, 2013, 03:02:30 PM
 #176

I think rating may be difficult. Someone could create a ton of trading accounts and trade with a single other account if there is a lull in the market (i.e place an order for a price with little risk that someone else will take it before their own sockpuppets take in in small batches). Other than that, the rating should be a fairly simple deal. Have both the seller and the buyer sign their ratings with the privkey of their trading address, maybe hashed against the transaction. Good ratings will be kept by people whoa re trying to build up rep, bad by people who got screwed, and a few main nodes can keep them all. Would be nice to be able to integrate the thing into the WOT we use now, or even replace it.

Regarding this whole discussion, btw, is looks as if the focus is just on taking the orderbook off the exchange's hands, and letting exchanges only stick to receiving and sending local currency. That seems like the only possible solution, but still leaved a few weak attack points against bitcoin. If an exchange is taken down, whatever digital tokens being used by all these exchanges to represent the cash in their accounts won't be honored, since the cash will be seized along with the exchange.

mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 15, 2013, 04:37:09 PM
 #177

Hey, I have a question. I know a blockchain is really cool and popular, especially with Bitcoin stuff, but..y do you need a blockchain exactly? What will be its purpose? I figured just nodes sharing a dynamic database that anyone can add or remove orders from would be sufficient. A blockchain is there mainly to prevent double'spend attacks. Is there a double-spend problem with orders that someone can think of?

Exactly, a blockchain is centralized, right?

Quote
I figured just nodes sharing a dynamic database that anyone can add or remove orders from would be sufficient.

Why not use a free downloadable script/program for any site that wants to be a part of the system? Anyone could be a "node".

No centralization, no learning code, and if it is in enough languages, it will work anywhere in the world.

↓↓
loanexpress
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
April 16, 2013, 06:01:14 AM
 #178

We should decide on which P2P-model to use:

One worldwide blockchain for the orders.

OR

Isolated blockchains for each virtual exchange (similiar to bittorrent, peers can choose which torrents to seed). This model would probably result in faster order processing but less stable and secure - but still better than centralized exchanges. Another benefit is that miners can actively discriminate virtual exchanges with bad reputation and instead provide their computing power to trustable virtual exchanges.

Which P2P model should we apply? Possible to combine a unified worldwide blockchain for some parts of the system and isolated blockchains for parts that are unique for each virtual exchange?

Yeap. I think after all the discussions your original idea is where it's at.

1 global world-wide order book. With virtual exchanges or brokers or whatever you want to call them to handle fiat conversions etc. And brokers who trust each other settling all balances daily with themselves. But all in one single transparent order book.
Herodes
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1000


View Profile
April 16, 2013, 11:37:54 AM
 #179

Ok I have some ideas, so I'd like to contribute. I haven't read the entire thread, so perhaps of what I have to say is redundant.

So for the sake of this discussion, I assume that a decentralized p2p market on the model of bitcoin/bittorrent/bitmessage is technically possible to make. It would work like MtGox works today, accepting orders, and matching them in a matching engine and keeping track of people's fiat balances and bitcoin balances.

I won't go into details about how I think that should be done, but the real issue here is that of interfacing with the traditional system. So I thought up the concept of brokers or agents if you will. There would be some super agents, that would seed the agent network initially, and there would need to be some kind of system to keep track of all the agents and their trustworthiness, and by community consensus, the license of an agent should be able to be revoked, if he cheats.

Agent 

Could be one of the following

  • Person that can give you fiat money for a matched bitcoin sell order that you have done.
  • Person that can receive fiat money from you and inject it as an available amount in your fiat account in the p2p exchange.
  • Holds a certain amount of fiat money

Now, there would be a structure where agents are referred into the system by other agents. And no agent can refer another agent until they've reached a certain trust level and/or have been in the system a certain length of time, or a combination of the two. If an agent cheats. The agents two level above this one will be hit with a penalty, say the agent that went away went off with 10K USD, the referring agent would have to reimburse 10% of the USD that's gone, and the agent above him again would have to reimburse 5% of the stolen money. This would give each agent an incentive to only chose agents they are reasonably sure they can trust. Since the p2p exchange charges a fee that is distributed among agents and also pooled into an account that can only be touched if 6 of 10 superagents agree. I know, this looks like a quasi-centralized system, but bear with me. Somehow that pool of fees that are accumulated needs to give away some funds to replenish the funds stolen by a rogue agent. Now, if agents were limited to holding 10K USD, or another amount that's reasonable, 1 agent stealing the money would not bring the system down, and by selecting the agents carefully, as the sponsors knows they will be responsible if the agent fails, they also have an incentive to do some due dilligence on the agent they're recruiting. Preferrably it would be someone that they know in person.

When a withdraw is requested by an account holder, a message is broadcast to the network, for example, user TomCat holds now 3K USD in his account, and he wants to withdraw it. He lives in New York and wants to have it in cash. So the message goes out on the network, a request for a 3K USD cash withdraw. The agent meets with the TomCat user and gives him the cash. The agent updates his balance, which again is distributed to all the nodes, updating the total USD holdings in the system.

This system could also be used with different currencies, and there could be agents all over the world using this system. Agents could use bank transfers, or any other preferred method to send funds to account holders.

Also, to reduce risk, new agents would only be allowed to hold a certain amount of money, until their trust increased.

As to make this system actually workable, and having people participate in a fair and honest way, it's a lot of work before it gets there, but I think it would become doable. If a friend recruits you, and that is a good friend that you trust, it's not a friend you want to let down and steal money! However, this system requires a lot of trust, and there's nothing stopping an entire gang from slowly accumulating trust, and then all of a sudden just parting with a lot of money.

Another way to do it would be to be even more careful with the agents, and perhaps strike deal with actual companies, or make divisions all over the world like Western Union, while the p2p exchange still provides the platform. Now a govt. could shut down the agents easily of such a system, but they would have a hard time shutting down the p2p exchange itself.

Anyway, if agents accepted bank transfers, there would be a link to their name in the traditional banking system, and in the event they stole the money it would be possible to trace them and make life uncomfortable for them.

Another variant, which I am sure have been discussed already would be something like bitcoin-otc, but only on a p2p network, so people would basically enter orders, for instance I wanted to buy 2 BTC for 50 USD each, I enter the order in the system, and it's matched with someone else in my country that offers to sell 10 BTC for 50 USD each and accepts partial fills. The other party sends the 2 coins to escrow in the system and I send him 100 USD over a bank transfer. I got the bank transfer details from him on the inbuilt message system in the p2p system. After he receives the money, he release the coins from escrow to me.

The last system I described here I think is possible to make, however it would be not much different from the bitcoin-otc we know of today which is done over bitcoin-otc.com and freenode. However, both freenode and the website could be shut down if a powerful enity wanted to do so. A p2p network would be much harder to shut down.

I don't know if the first option with agents is so smart. I'm pretty sure it would be misued, and people would start aquiring fake bank accounts and become an agent, and police would never find them or their money and so on.

In the second version I proposed, there would be a trail in the system indicating that a trade has been agreed upon, if the seller sends coins to escrow, and the buyer sends fiat to the seller and the seller doesn't realease the coins, then I'm not sure how it should be solved, perhaps there must be a group of super users that can check the evidence and come to a resolution.

There are however many ways in which such a system could be gamed. We can imagine a scammer making an account in the system. His aim is to get free bitcoins, so he tries to buy 20 btc, he gets a trade locked in, and the coins are sent to escrow. The scammer gets the bank account details from the seller, and then the scammer lists an item on an online acution, for instance E-bay. He promises the victim to sell him an Iphone if he sends him money to the bank account of the bitcoin seller. The bitcoin seller receives the money and is happy, and release the coins. Then later on, the Iphone victim can't get hold of the scammer, and eventually resorts to contacting the bank, which again contacts the bank of the bitcoin seller. Then we have a problem. How can we avoid that ?

If everyone was honest, a p2p system would work just great, but as everybody will not be honest, I see a lot of problems that would need to be solved. With a trusted company running everything we might be better off, but then we're back to MtGox-status again. There could also be a group of super-agents that had the final say in the system, but that would also be a certain amount of centralization.

Perhaps the bitcoin-otc version over p2p is the best anyway, and really educating the users about how to avoid scams and so on. For example, in a bank transfer message, there could be a message that read like: agentp2p.com If the user went to that site, he would see a message that said: "This payment is going to an agent in the p2p cryptocurrency exchange network, and if you're buying a laptop or iphone with the account information you got, you are being scammed. Perhaps also for the first few transactions of anybody new in the system some verification needed to take place, like the seller of bitcoins verifying the buyer over the phone, or depositing a small amount to his bank account.

Ie. some steps could be taken to make it much more difficult for a scammer to operate in the p2p exchange. But beware, scammers will undoubtedly infiltrate the exchange when and whenever it comes to life.

I am sure many of you have even brighter ideas as to how the different challenges could be solved. I am not sure if we could actually make a market mimicing MtGox in terms of trade volume, ie. day trading would be very difficult, unless some sort of system, like the one I proposed first could be used. But we would also need to ensure the system could not be cheated and so on, and therw would need to be rules for the matching engine and so on. And as not everything would not happen instantly at the same time everywhere, how could one determine when a sell and ask order is matched.

I am sure there could be many technical challenges.
gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 16, 2013, 11:58:39 AM
 #180

The utopia is a 100% p2p-system like Ripple where everybody can act as a micro-bank. But until we reach that level of bitcoin-penetration around the world we need centralization to some degree through banks and dealers forming networks of virtual exchanges.

We need a marriage between the bitcoin-world and the old bankning-world and the result would be something like Western Union, ideally we would have several independent corporations like Western Union. The risk of losing money by using Western Union is close to 0% since Western Union is big enough to handle small losses when some dealers goes bankrupt or scams the system.
marcus_of_augustus
Legendary
*
Offline Offline

Activity: 2926
Merit: 1165



View Profile
April 16, 2013, 12:38:36 PM
 #181

The utopia is a 100% p2p-system like Ripple where everybody can act as a micro-bank. But until we reach that level of bitcoin-penetration around the world ....

If bitcoin ever reaches that level of penetration you probably won't be needing many exchanges ... or they will so fringe as to be an insignificant issue.

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 16, 2013, 12:57:08 PM
 #182

Summarizing earlier discussion in this and other threads on how to handle fiat in bitcoin exhanges:

Each exchange issues Fiat-contracts and Bitcoin-contracts that N members (brokers and dealers) buys with a X% margin. The exchanges risk for each member is (100-X)/N % in the event that any specific member would disappear (if we assume all members have the same size and same risk. An exchange with 10 members and margin requirement of 10% where one members goes bankrupt means 9% of the exchanges money is lost.)

When brokers and dealers create orders at the exchange and orders are matched the contracts are transferred between their wallets, the contracts must be created and transferred in a secure way to prevent duplication. Some has suggested using "colored coins" for this purpose.

At settlement (each hour, each night or week) the net value of the contracts are sent or received to the exchange to maintain the maximum X% margin.
If any member fails to settle what they owe to the exchange their trading and margin at the exchange is frozen.

The clients of the brokers and dealers who buys bitcoin will actually get the exchange-contract of bitcoin, not real bitcoins until settlement. Trading real bitcoin in real time is not practical since it can take up to one hour to confirm that bitcoin transactions are done.
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 16, 2013, 01:27:24 PM
Last edit: April 16, 2013, 02:08:03 PM by doobadoo
 #183



Basically, a "mint" would create a coloured coin by sending you a coin from a particular address.  Initial marking of colour requires the mint to formally give info on which tx outputs are coloured as "roots".

The software tracks the coins as they go through the network.  They have rules for how to colour coins before and after a transaction.

For example, you might have

Inputs
0: 5 satoshi (mint1 colour)
1: 15 satoshi (mint1 colour)
2: 50 satoshi (mint2 colour)
3: 0.01 BTC (uncoloured - this is for the tx fee)

Outputs
0: 10 satoshi
2: 10 satoshi
1: 50 satoshi

If this is included in the block chain, the colour tracker will then mark the outputs as coloured to give

Output
0: 10 satoshi (mint1 colour)
1: 10 satoshi (mint1 colour)
2: 50 satoshi (mint2 colour)

If you want your coloured coin value to be preserved you need to make sure you have the right amounts for the coloured coins.

In this case, the first 2 inputs are the same colour and add up to 20.  Similar the first two outputs add to 20.  Your software would remember that those outputs are also coloured.

Likewise the 50 satoshi of mint2's colour are matched values.

These guys have defined a spec for this.

Quote
But how do we trade a basket of chicken eggs at the farmers market against a barrel of gasoline with colored coins / tokens ? Is it doable?

The mints act convert coloured coins to/from their backing.  A mint might send you 100 satoshi coloured by them in exchange for $1.  Likewise, they would do the reverse transaction.  There would be a fee in both directions.

This also works with other things like barrels of oil.  The farmer would sell the eggs for BTC and then buy the oil.

All kinds of problems here, specifically AML KYC.  The mint can't control who receives the coins, and will have coins presented that may have been issued against a reverse deposit etc.  

Forget the colored coin, you're shoehorning something into the block chain that doesn't need to be there.  The blockchain is slow 1 hour def-confirms.  NO NO NO.

I open account at gox with $1000.  You open account at bitinstant with 10 BTC.  In this brave new future the gox and instant are both running our open source server version.   we as clients are running the client version (which might include a background miner),

Gox inputs the $1000 deposit into his system and credits my account.  i query my account balance by loading the trading client and inputting my user/pass, results supplied by gox.  When i want to buy coins i submit an order to Gox to buy 10 coins at $100.  Gox sees the $1000 in my account, and then tx a signed message to the miner/exchange network that GOX wants to buy  10 coins @ $100 to be matched in block 2500 only (fill or kill).  There will be no HFT, cause miners will not let you cancel the contract.  Miners/exchanges are paid a fee, denominated in BTC (more on that later).

You see an order from gox to buy, and you decide to hurry up and submit your sell order before the next hash is found and the order book resets (who knows if i come back with a buy order next block or if some one else don't sell me the coins ahead of you, so you want to jump in now with a sell order).  

Now Bitinstant sends a signed message to sell 10 btc for $100 to all the miners.  The miners have copies of the Distributed Exchange Web of Trust Table.  Miners see that Bitinstant has endorsed MT Gox's Pubkey, and vice-versa.  They now know that they can match the orders.  They also keep track of the net flow of funds between these two companies, bc in Distributed WoT Table Bitinstant puts a limit of $10,000 as the max amount of money that Gox can wind up owing them before Gox has to "settle up."  This limit will stop miners from continuing to approve tx's after an exchange has failed, or been found to be fraudulent. A hash of this table is included in the headers of each trade block.

The miner/exchange match the orders and keep hashing till he finds a POW solution, then publish the blocks to the other miners.  The other miners make note that Gox now owes Bininstant $1000 ($9000 credit left) and Bitinstant now owes 10 btc to gox.

When gox sends fiat by international wire for $1000, gox will broadcast a signed message to the miner network indicating such,  upon acknowledgement of the money arriving,  Bitinstant will sign the tx and notify miners of the exchange.  Miners will include this in the next trade block as an "off-exchange block-trade" ( or "third market") trade between the two, and will receive a small fee for its inclusion.  Upon inclusion miners will then up Gox's credit limit with Bitinstant back to $10,000

If for any reason a broker decides he can't trust another counterparty (fraud financial failure, etc) he can sign a message to miners revoking said Exchange Web of Trust Table key endorsement (includes fee, goes into exchange block chain).

Miners, will be paid a tx fee, owed to them by each exchange who submits a tx that gets executed denominated in btc.  Our exchange software can charge a flat fee to include tx's.  And we can write this into the protocol.  A fee like 0.25% is nice and low enough to encourage people to use our exchange, but high enough to ensure enough fee revenue to keep the PoW hash strong.  So in this case the miner who scores the block with our 10btc/$1000 trade will publish his exchange account number as the coinbase address (say miner happens to be with Bitinstant), and Bitinstant will credit 0.05 to the miners exchange account (2 x 0.25% x 10 btc). Gox will owe $1000 for the buy,  and Bitinstand will owe gox 9.9725 BTC  (10 BTC - 0.025 BTC).   (Basically Bitinstant being the miner's preferred broker, lays out 0.25% fee charged to both sides of the trade).   Your account at Bitinstant is now credited for $997.50, and my account at Gox is credited for 9.975 BTC.

Payment network addresses: like the one the miner included in the solved block to redeem the block fees (coinbase) will be based on the broker code (First 5 digits of hash of broker pubkey) followed by the internal account number assigned to the miner by Bitinstant.  That address according to Bitinstant's records now has 0.05 BTC.

Did i miss anything?

Oh yeah, do you see what i did there with the miner being able to request an account number from Bitinstant and then include it in the solved block as the coinbase?

I now have like 9.975 BTC in my account at Gox.   I got to Dave Famous Wiener's.  Before Dave will let me put his Wiener in my mouth I have to pay and he doesn't want to wait for an hour for 6 BTC confirms.  He shows me a qr code on his smart phone that includes his account number at Bitinstant.  Encoded in the QR if the address's first 5 digits (Bitinstants broker code), the rest is Dave's assigned account number, the 0.1 BTC i owe him for his Wiener, along with a customer code of XXX.  

I scan the bar code and approve the tx by sending it to gox.  Gox sees the broker code and knows to contact Bitinstant's server, and send a signed message "i owe your exchange 0.1 BTC, and you should put it in some account number's account and the customer code is XXX".  

Dave's invoice of 0.1 BTC for customer XXX on his phone comes back instantly as paid (gasp, an instant off block chain payment has occurred!).  

Bitinstant submits a "Gox now owes me 0.1 BTC, reduce Gox's credit balance by 0.1 BTC due to an off-chain tx" signed message to the miners/exchanges with a small fee for inclusion into the next trade-block.  Or then just keep a side-book and wait to settle debts via the BTC block chain when the BTC owed gets large enough.

So not only can we buy and sell btc for currency, but we can use these account relationships with custody/brokers to do off blockchain, low fee, instant confirmation transactions as well! I SEE WHAT YOU DID THERE!

Now with a colored coin, how are earth do we do and instant payment or a fractional amount of the colored coin?  Besides colored coins spam the blockchain with messages the block chain does not need to see.  Only you and your custodian need to know when fiat is sent back and forth, and micropayments can be instantly done off block chain.

So we have the infrastructure for trading btc & currency and instant off-chain micro payment, which only involves the buyer's and seller's brokers, not announcing your bitdust tx to the whole world and making them each your bitdust unspent outputs.
 

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 16, 2013, 01:36:35 PM
Last edit: April 16, 2013, 09:11:01 PM by doobadoo
 #184

That is very interesting - I especially like the idea of poling all the same prices together to cut down on actual trades, that would make a big difference!

Under my system all the buys or sellers of usd/btc coming from one exchange are interpreted by the miner/exchanges as one order (if the price is all the same).

Remember, miners will not let you cancel tx's: to do so would be for the exchange to forgo a tx fee, bc remember an order submitted to miners is a sign message proving the ecxhange said it was okay to buy or sell a certain amount for a certain price on its account.  So why listen to an exchange who wants a 'backsy"?  You as the miner can stick the order in and if more stock executes you earn a bigger coinbase (tx fee).  

So I imagine that there will be an overlap in the price buyers bid and sellers offer at the time of the hash discovery,  a standard order matching algorithm is run.  All overlapping order get the SAME price (say weighted average price of overlapping bid/offers.  There is one price per block kids.  

EG

Buys                            Sells
A:200 for $11         C:100 @ $10
B:200 for  $10        D:100 @ $9

Trade 200 coins for $10.   Buyer A gets 100, buyer B gets 100 (Sellers  C, D execute all).   Buyer's A and B will have to submit new signed messages to buy the remaining 100 btc they each didn't get.

Now it turns out that there were 2 buyers at "A" exchange willing to pay up to $11/coin.  but this doesn't matter, because even if exchange "A" submitted two successive messages to buy 100 for $11, the miners combined the like-price orders within that exchange as if it was one order for the purpose of publishing a lighter block.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 16, 2013, 02:39:06 PM
 #185


Another way to do it would be to be even more careful with the agents, and perhaps strike deal with actual companies, or make divisions all over the world like Western Union, while the p2p exchange still provides the platform. Now a govt. could shut down the agents easily of such a system, but they would have a hard time shutting down the p2p exchange itself.


That sounds great. Offices in the world that accept bitcoin in trades for fiat ( or whatever ). The 7-Eleven franchise should be included, in my opinion because they already have a system in place for the web:


http://www.kioskmarketplace.com/article/170137/7-Eleven-adds-bill-payment-to-Vcom-kiosks

http://www.7-eleven.com/Financial/Payment-Services/Default.aspx

http://www.7-eleven.com/Financial/Payment-Services/PayNearMe/Default.aspx
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 16, 2013, 02:50:32 PM
 #186


That sounds great. Offices in the world that accept bitcoin in trades for fiat ( or whatever ). The 7-Eleven franchise should be included, in my opinion because they already have a system in place for the web:


Exactly THIS.  I expect that major businesses would set up their own broker/custodial server.  Imagine sending 10 BTC to the BitCoin Store.  Then when you want to buy a Wiener from Dave's Famous Wiener stand, Dave just whips it out, you scan it.  He may have an account at say Mt. Gox....but Mt. Gox trusts Bitcoin Store, so Bitcoin Store sends a signed message to Mt Gox servers telling them that customer XXX has just paid 0.1 BTC to Dave's Famous Wiener.  Dave's Smartphone alert pops up confirming nearly instantly the payment when Gox sends him a push notification.

Maybe far off into the future, you know when Walmart is accepting Bitcoin and decides "Why the fuck should we pay huge fees to MT. Gox for shitty laggy trade service."   They will set up their own P2P exchange server, every one who's every one will immediately endorse Walmart's pubkey, cause, hey you wanna do biz with all those future customers and Walmart is strong and reliable.  So then i walk into Walmart and hand them $1000 at the cash register and they instantly credit my account.  I can then buy btc, or even just leave it as fiat and spent it around to people who haven't jumped on btc yet, but are cool with a smartphone app that sends them money with a really low fee that they can pick p/u at walmart any time.

Of course this p2p network could be used to smash the visa/mastercards of the world and their usurious fees too, but this method would lend itself to each conversion to btc, which will displace fiat as soon as people realize its superior store of value properties.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 16, 2013, 03:24:52 PM
 #187

Ok I have some ideas, so I'd like to contribute. I haven't read the entire thread, so perhaps of what I have to say is redundant.
... ideas...



Honestly, my first thought regarding the agents was that this sounds like trying to re-establish the Knights Templar, and that it could end in the same tragic way that the Catholic Church ended them all in one night. Intriguing nonetheless.


EDIT: Regarding further suggestions,
1) An exchange MUST be able to cancel trades. Otherwise either everyone will be trading in the dark, just guessing at the price, or anyone who put in a bid of a price lower than the current one risks having their money locked up for ever
2) This P2P exchange MUST be able to handle high frequency trades. Otherwise, MtGox can easily put limits on trading and get rid of all HFT's, and as a result make this P2P exchange pretty pointless. Don't come up with a P2P that's even more limited than what's available, come up with something that can do what other centralized exchanges can't. Besides, despite what you might think, HFT bots actually help more than they hurt. They help narrow the price spread to a single point, so you don't have people selling for $120 and buying for $100, making the price jump all over the place like it has been when Gox got lagged.

So I still think the idea of focusing on a decentralized order book is a good one, with the follow-up of decentralized agents to deposit/withdraw money through.

gollum
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


In Hashrate We Trust!


View Profile
April 16, 2013, 03:49:35 PM
Last edit: April 16, 2013, 04:11:18 PM by gollum
 #188

EDIT: Regarding further suggestions,
1) An exchange MUST be able to cancel trades. Otherwise either everyone will be trading in the dark, just guessing at the price, or anyone who put in a bid of a price lower than the current one risks having their money locked up for ever
2) This P2P exchange MUST be able to handle high frequency trades. Otherwise, MtGox can easily put limits on trading and get rid of all HFT's, and as a result make this P2P exchange pretty pointless. Don't come up with a P2P that's even more limited than what's available, come up with something that can do what other centralized exchanges can't. Besides, despite what you might think, HFT bots actually help more than they hurt. They help narrow the price spread to a single point, so you don't have people selling for $120 and buying for $100, making the price jump all over the place like it has been when Gox got lagged.

So I still think the idea of focusing on a decentralized order book is a good one, with the follow-up of decentralized agents to deposit/withdraw money through.

1) Yes it should be possible to cancel a trade but with a time lag so you cant create fake orders that you never intend to fulfill.
Canceling orders should have a fee of 1/10 of putting orders, so a quitter would need to pay 1,1x in total to the miners.

2) I dont think nanosecond trading is beneficial to regular traders and users. 1-second auctions is good enough for human traders and market makers but hurts HFT and fake orders.
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile
April 16, 2013, 04:33:09 PM
 #189

When I see humans mentioned as "agents", I think, "They could be replaced with a computer".

The mining network has 700+ petaflops of computing power and it could replace human agents.


More ideas:


I also thought that since Firefox is free and open source, that a plugin could be created. Keeping it all free will help things spread.


This thread does not lack for ideas.. but some steps need to be taken to congeal them.


Machines are more trustworthy than humans... Shocked
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1028



View Profile WWW
April 16, 2013, 06:30:23 PM
 #190

1) Yes it should be possible to cancel a trade but with a time lag so you cant create fake orders that you never intend to fulfill.

Why? What is wrong with stating that you think the price should be X if you don't intend to pay for it? And what will stop people from going to someplace else that does allow one to freely cancel orders, if that place ends up attracting more customers? Free market. You have to compete on price and service, not START from figuring out how to make something less convenient and  more expensive.

doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 16, 2013, 08:44:21 PM
Last edit: April 16, 2013, 08:59:24 PM by doobadoo
 #191

EDIT: Regarding further suggestions,
1) An exchange MUST be able to cancel trades.

If we are going to do a block chain, wherein buy and sell orders are cryptographically signed by the broker as being a valid order to buy or sell a certain amount at a certain price, miners would be paid a fee either for each tx, or a % of the tx value.  Whichever we chose doesn't matter.  Game this out if you are the miner.  A broker submitted a cryptographically valid buy order to buy 100 btc at $50.  You can earn the fee on this valid tx by including it in your block solution if you win the hash race.  That broker than send  you a send message, hey ignore that valid order to buy 100 btc for $50,  i'm being a cheap fuck and would rather wiggle it down to 100 btc for $49.95.  Now you have a decision to make, ignore his cancel and stuff it in for  $50, or be nice and revise his bid lower.  Keep in mind that you do not know if any of the sellers you are relying on to make a match (and thus generate fee income that your completely depending)  might get pricy too and raise their offers, which means you will match up fewer share/orders to trade when you have a block discovery ---> less fee income for solving the block.  

Also, remember the miners are decentralized, so some might hear your revision and some wont.  there is no way you could confirm for the client that his old order is nix, and his new one is correctly advertised.  The broker is submitting the buy in his name, b/c there is no reason for any one to see the account origin of the buyer.  Wallstreet trading is anonymous.  you can submit and order to buy a stock every minute for a different amount and price, and no one knows its you who keeps buying.  Its just an anonymous order flow.  The broker then has to worry about both buy orders being executed, cuz remember, 1st order to buy for 50 is valid, and the 2nd order to buy at 49.95 is valid.  And why shouldn't a miner include all valid tx's?  His fee incentive is to include as many as possible, get it?  You need to rethink the block trade-hashing scheme.

Quote
Otherwise either everyone will be trading in the dark, just guessing at the price, or anyone who put in a bid of a price lower than the current one risks having their money locked up for ever.
Orders would be submitted with a block number in the signed message.  A protocol rule would be that a trade can only be executed in the block that the broker stated it could be.  So if miners are looking for block 250, the message to buy 100 btc for $50 would specify that its for block 250 only.  Once block 250 is transmitted and verified, the broker would see if it went thru.  If it didn't it can't go back in to block 251.  The broker would provide the client with the option to automatically resubmit, or resubmit with a higher bid, or wait for a new ticket from the client.

Quote
2) This P2P exchange MUST be able to handle high frequency trades. Otherwise, MtGox can easily put limits on trading and get rid of all HFT's, and as a result make this P2P exchange pretty pointless. Don't come up with a P2P that's even more limited than what's available, come up with something that can do what other centralized exchanges can't. Besides, despite what you might think, HFT bots actually help more than they hurt. They help narrow the price spread to a single point, so you don't have people selling for $120 and buying for $100, making the price jump all over the place like it has been when Gox got lagged.

I don't quite understand how MT Gox can put limits on trading.  In this world mt gox is not longer running an inhouse platform, b/c our blockchain is cheaper, and customers want execution.  They can always w/d their money and open a broker account with a competitor.

EDIT
PS I understand the value of the liquidity HFT short term churning can provide and i'm not intellectually against it.  I just don't think the current proposal of a P2P exchange with a trade-block PoW hash chain, will allow order cancellation, b/c you must ex-post factor convince miners to invalidate a perfectly valid tx that will earn them a larger fee if they include.   Its game theory bro.

Quote
So I still think the idea of focusing on a decentralized order book is a good one, with the follow-up of decentralized agents to deposit/withdraw money through.

You the brilliantly point out the goodness of 'separating church and state.'  We want every one to be able to submit orders to a single execution engine, because then all the liquidity is pooled in one place which benefits liquidity and price discovery.    That pooled execution engine is open source and has competing miners, no one can use it to "lock-in" customers by offering better flow (like gox does with 80%+ market share) in order to charge high commish rates and deal with shitty service, you either solve the block competitively fast or you don't eat.  The companies handling custody (brokers) may try to match orders in house, but the juicy liquidity will be on the p2p exchange so customers won't put up with shitty preferential order handling by brokers sitting on orders.  This is called 'best execution duty' and in an open market with free entry to be a broker market forces will dictate the orders pool up at the nexus of most liquidity and cheap tx fees.

As it think about this i think of all the additional details that need to be worked out.  I have an idea for how we can solve block header forks (when 2 miners produce a valid tx block at about the same time, and traders become unsure for what price and what amount the order will post for because the two competing hash chains have different execution parameters for the same order.  But as they say in airplane, "But that's not important right now."  When we reach bigger consensus on the other issues I can speak about some of the minutia of how we greatly reduce/eliminate reorgs.)

Edit:
I keep telling my self to BE the Satoshi when thinking this thru.  Satoshi didn't just figure out Bitcoin by throwing crypto together in a novel way, He could IMAGINE how it would work in practice and how the protocol rules would be shaped to prevent not just straight up attacks, but also failure do to perverse incentives that might have been introduced by his structure.  He nailed.  So we too must nail it!  

I love this discussion and am deeply engaged in discussing with you how I see it shaping up and listening to your input and ideas and trying to add to your vision.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 16, 2013, 09:01:09 PM
 #192

I wonder if MagicalTux is reading this thread with quivering lipps, worrying about how we're going to take his shit company off the map and reduce it to a  no barrier to entry check cashing service.  Nah...he's probably whipping the hamsters that power his trade engine to try to cut the lag down.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 16, 2013, 09:09:20 PM
 #193

This thread does not lack for ideas.. but some steps need to be taken to congeal them.

Nah broh, we're still, ahem, HASHING OUT the ins and outs of how this system needs to function and what the correct design parameters must be to meet the objectives.   

I think we're almost there on the objectives:  we all want cheap, deeply liquid execution engine.  We want private firms to be reduced to the thin gruel of being undifferentiated low-margin glorified check cashing services--needed only untill most of the world abandons fiat at the point of singularity-style mass adoption of Bitcoin; Finally rendering their fiat bean counting biz to nothing but a temporarily needed transition service.  An interesting historical footnote of how a once mighty bumbling leviathan was pushed out of the way of screwing up adoption of the greatest social/economic innovation of the 21st century.  You can say it all started right here!

There remains debate about whether/how submitted trades can/should be canceled.  There is no consensus on how orders are matched (I say each block trades every one at the same price, which is determined by the weighted average of the quantity * price of matchable orders).

Some other dude is clueless and probably still talking about ripple tits.

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
doobadoo
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
April 16, 2013, 09:13:44 PM
 #194

1) Yes it should be possible to cancel a trade but with a time lag so you cant create fake orders that you never intend to fulfill.

Why? What is wrong with stating that you think the price should be X if you don't intend to pay for it? And what will stop people from going to someplace else that does allow one to freely cancel orders, if that place ends up attracting more customers? Free market. You have to compete on price and service, not START from figuring out how to make something less convenient and  more expensive.

Any system we come up with has to already beat what we got, which allow for fast trading (hahahahah, wait did i just say that).  The service in theory allows for fast trading.   All the brokers, could offer to match orders in house.  If orders are to hit the tx-blockchain if must offer something better than the old way.  I say--->more liquidity?  --> ridonculously cheaper fees? 0.05%?

"It is, quite honestly, the biggest challenge to central banking since Andrew Jackson." -evoorhees
mobile4ever
Hero Member
*****
Offline Offline

Activity: 532
Merit: 500


View Profile