Bitcoin Forum
May 04, 2024, 08:50:36 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 5 6 7 8 9 »  All
  Print  
Author Topic: Primer for a P2P Distributed Exchange  (Read 17630 times)
Trader Steve
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1007


"How do you eat an elephant? One bit at a time..."


View Profile
May 22, 2013, 05:13:33 PM
 #41

But we know that the actual value of Fiat can and already is held in software now! Most of the planet's Fiat DOES exist only as digital currency, and moves just fine through networks like Wire transfers, SWIFT, SEPA, and ACH. -So if those networks can get access to the value of nationalized currency, then we should be able to as well... As an example, think of doing an ACH transfer to a software client, and from there it exists only in your online wallet as fiat credit.

So that's the final problem to solve, and once we fix that, the rest of this program will fall into place:
This is the core of the problem, this is one of the reasons Bitcoin has been created in the first place.

Of course you can't solve that problem, Bitcoin is the solution!

This whole post makes no sense, because it's just a sand castle build with no support.


+1 So true! The whole problem is using national currencies in the first place. Trade Bitcoins for Goods & Services and vice versa. Abandon the banking system altogether.
1714855836
Hero Member
*
Offline Offline

Posts: 1714855836

View Profile Personal Message (Offline)

Ignore
1714855836
Reply with quote  #2

1714855836
Report to moderator
It is a common myth that Bitcoin is ruled by a majority of miners. This is not true. Bitcoin miners "vote" on the ordering of transactions, but that's all they do. They can't vote to change the network rules.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714855836
Hero Member
*
Offline Offline

Posts: 1714855836

View Profile Personal Message (Offline)

Ignore
1714855836
Reply with quote  #2

1714855836
Report to moderator
1714855836
Hero Member
*
Offline Offline

Posts: 1714855836

View Profile Personal Message (Offline)

Ignore
1714855836
Reply with quote  #2

1714855836
Report to moderator
1714855836
Hero Member
*
Offline Offline

Posts: 1714855836

View Profile Personal Message (Offline)

Ignore
1714855836
Reply with quote  #2

1714855836
Report to moderator
Trader Steve
Hero Member
*****
Offline Offline

Activity: 836
Merit: 1007


"How do you eat an elephant? One bit at a time..."


View Profile
May 22, 2013, 05:18:43 PM
 #42


how about set up regular meetups and have people do local face to face cash in hand exchanging. that way its not centralised for the masses, not reliant on bank transfers (causing banking regulation issues) the prices can vary dependant on local value as oppose to mass agreement on a single website (again centralised pricing).


This!

Start local meetups that meet frequently where people can adjust their fiat/bitcoin holdings by trading with each other. Additional benefits are increased awareness and trade in the local economy, not to mention the social aspect. Build your local network of trusted trading partners and get to the point where "everyone is an exchanger". Abandon the banks.



charleshoskinson
Legendary
*
Offline Offline

Activity: 1134
Merit: 1008

CEO of IOHK


View Profile WWW
May 22, 2013, 05:19:14 PM
 #43

Quote
+1 So true! The whole problem is using national currencies in the first place. Trade Bitcoins for Goods & Services and vice versa. Abandon the banking system altogether.

And how will I pay my taxes? Bitcoin will not achieve its goals without a P2P exchange due to the central points of failure being regulated and controlled by the fiat barons. We need a decentralized way to move into and out of bitcoin at any time and any place without oversight. This ensures Bitcoin will be adopted by players like Amazon and Facebook and ends the reign of central banks.

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

Activity: 546
Merit: 500


View Profile
May 22, 2013, 05:38:53 PM
 #44

TLDR: Do you suggest to separate pure crypto trading from FIAT-crypto trading? If yes, this makes sense. Fiat-to-crypto should be done by things like localbitcoins.


Localbitcoins has the potential to "get rid of itself", but it by itself is not a decentralized way of thinking. One web site under the control of (probably) one person does not follow the bitcoin idea.

https://i.imgur.com/P2ZI1Ty.png
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
May 22, 2013, 05:53:54 PM
 #45

Bitcoin will not achieve its goals without a P2P exchange due to the central points of failure being regulated and controlled by the fiat barons. We need a decentralized way to move into and out of bitcoin at any time and any place without oversight.
Convince every Bitcoin owner you know to open an account on Localbitcoins.com and sell Bitcoins there.

Even if you want to accumulate Bitcoins it's fine to sell - set your price formula high enough that you can immediately buy more BTC via Bitinstant, etc. to replenish what you sold. If you're willing to hold on to a pool of fiat you can add an advertisement for buying BTC as well to help liquidity in that direction.

Almost every person I've sold to on Localbitcoins has been a first time buyer. That means that I'm getting the opportunity to make or break their first impression of the Bitcoin economy. It also means I've got a growing list of potential collaborators and customers for future BTC ventures in my local area. This is where the major growth area for Bitcoin adoption is - away from the keyboards and out in the real world. If you want exponential growth in your BTC holdings, then you should help achieve exponential growth in the user base.

It's not a perfect solution, and it's not as exciting as yet another computer science project, but it's a good enough solution that will do a lot of good right away and avoids the opportunity cost of waiting to act until a perfect solution is available.
charleshoskinson
Legendary
*
Offline Offline

Activity: 1134
Merit: 1008

CEO of IOHK


View Profile WWW
May 22, 2013, 05:59:03 PM
 #46

Quote
Convince every Bitcoin owner you know to open an account on Localbitcoins.com and sell Bitcoins there.

Even if you want to accumulate Bitcoins it's fine to sell - set your price formula high enough that you can immediately buy more BTC via Bitinstant, etc. to replenish what you sold. If you're willing to hold on to a pool of fiat you can add an advertisement for buying BTC as well to help liquidity in that direction.

Almost every person I've sold to on Localbitcoins has been a first time buyer. That means that I'm getting the opportunity to make or break their first impression of the Bitcoin economy. It also means I've got a growing list of potential collaborators and customers for future BTC ventures in my local area. This is where the major growth area for Bitcoin adoption is - away from the keyboards and out in the real world. If you want exponential growth in your BTC holdings, then you should help achieve exponential growth in the user base.

It's not a perfect solution, and it's not as exciting as yet another computer science project, but it's a good enough solution that will do a lot of good right away and avoids the opportunity cost of waiting to act until a perfect solution is available.

I want a button I can click just like the bitcoin-qt client that allows me to connect with a swarm of peers and do stuff with them without any outside entity save an objective protocol telling me how to do it. Such a button would effectively ensure bitcoin is forever immortal.

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

Activity: 1400
Merit: 1009



View Profile
May 22, 2013, 06:02:38 PM
 #47

I want a button I can click just like the bitcoin-qt client that allows me to connect with a swarm of peers and do stuff with them without any outside entity save an objective protocol telling me how to do it. Such a button would effectively ensure bitcoin is forever immortal.
I understand that. I think everyone would like that.

How long will it take to develop, and how many opportunities will be lost if we're not effectively using the tools that already exist while we're waiting for that to be ready?
charleshoskinson
Legendary
*
Offline Offline

Activity: 1134
Merit: 1008

CEO of IOHK


View Profile WWW
May 22, 2013, 06:06:51 PM
 #48

Quote
I understand that. I think everyone would like that.

How long will it take to develop, and how many opportunities will be lost if we're not effectively using the tools that already exist while we're waiting for that to be ready?

Well perhaps we can help each other. Are you the founder of this website?

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

Activity: 1400
Merit: 1009



View Profile
May 22, 2013, 06:11:04 PM
 #49

Are you the founder of this website?

I am not. Just a user who gets a little frustrated seeing a lot more discussion on this forum of cool software solutions that never seem to happen than people willing to actually get off the keyboard and take productive action.
charleshoskinson
Legendary
*
Offline Offline

Activity: 1134
Merit: 1008

CEO of IOHK


View Profile WWW
May 22, 2013, 06:17:48 PM
 #50

I think we share in that frustration, which is why I launched the Bitcoin Education Project. Do you happen to know the leadership of the local exchange?

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

Activity: 1020
Merit: 1000



View Profile WWW
May 22, 2013, 06:39:19 PM
Last edit: May 22, 2013, 06:50:20 PM by spndr7
 #51



Order opening,closing and modification
A block-chain is maintained which keeps all valid open orders.A node requesting to open an order sends order quote to the network.The network verifies the order by periodically querying the corresponding blockchain and check that order is sent by the node is less than its
balance or not.In this way fake orders could be weeded out.A node can modify or cancel the order by querying the network with message signed with its private keys.

Orders open could be accessed by all nodes.Any node interested could send request for accepting an order.After similar verification about buyer's balance the order status is changed to accepted.

Money Allocation to intermediate nodes
Once order is accepted,the network divides the money to the other nodes such that,the money send to any node is less than the trade amount,that node wants to execute.This trade assignment is sent to both trading parties.They are required to send money to assigned intermediate nodes.These transactions are verified by the network.

Intermediate transaction
After all intermediate transactions are over,the network sends the address of buyer and seller to the nodes which received money from seller and buyer receptively. Until they successfully execute their routing assignment,their trade money is not released from their intermediates.

The intermediate node is the random third party node assigned by the network,which handles the trust problem.This assignment is random by the p2p network.There will be a very little chance that some one assigns his own trading router, if the number of nodes participating in it is sufficiently large.

Once the transaction from the buyer/sellers to intermediate nodes is verified,the network assigns the intermediate nodes, the address of the party (at opposite end of trade) to transfer the money to that end.

Until the intermediate nodes transfer the money,their own trade is locked.At all levels,all the transaction related to an order are securely stored in blockchain,using method similar to bitcoin (SHA-1 or other hash function),to avoid tampering to an open order.

Assumptions
1. To start the trading, first two nodes should be assumed that they conducted their routing operation.
 
Advantages
1.Buyer and seller don't know each other until trade is successfully conducted.
2.Using a block-chain,all trading activities can be recorded securely so that trade is not tampered until its over.  

Possible Drawbacks
1.Tackling of the closed loop deadlock problem.
2.Random trade route assignment function has to be thoroughly tested,before implementation.

justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
May 22, 2013, 06:40:10 PM
 #52

Do you happen to know the leadership of the local exchange?
If by that you mean Localbitcoins.com, no I do not know him personally.
deadweasel
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250



View Profile
May 22, 2013, 06:40:46 PM
 #53



Order opening,closing and modification
A block-chain is maintained which keeps all valid open orders.A node requesting to open an order sends order quote to the network.The network verifies the order by periodically querying the corresponding blockchain and check that order is sent by the node is less than its
balance or not.In this way fake orders could be weeded out.A node can modify or cancel the order by querying the network with message signed with its private keys.

Orders open could be accessed by all nodes.Any node interested could send request for accepting an order.After similar verification about buyer's balance the order status is changed to accepted.

Money Allocation to intermediate nodes
Once order is accepted,the network divides the money to the other nodes such that,the money send to any node is less than the trade amount,that node wants to execute.This trade assignment is sent to both trading parties.They are required to send money to assigned intermediate nodes.These transactions are verified by the network.

Intermediate transaction
After all intermediate transactions are over,the network sends the address of buyer and seller to the nodes which received money from seller and buyer receptively. Until they successfully execute their routing assignment,their trade money is not released from their intermediates.

The intermediate node is the random third party node assigned by the network,which handles the trust problem.This assignment is random by the p2p network.There will be a very little chance that some one assigns his own trading router, if the number of nodes participating in it is sufficiently large.

Once the transaction from the buyer/sellers to intermediate nodes is verified,the network assigns the intermediate nodes, the address of the party (at opposite end of trade) to transfer the money to that end.

Until the intermediate nodes transfer the money,their own trade is locked.At all levels,all the transaction related to an order are securely stored in blockchain,using method similar to bitcoin (SHA-1 or other hash function),to avoid tampering to an open order.

Assumptions
1. To start the trading, first two nodes should be assumed that they conducted their routing operation.
 
Advantages
1.Buyer and seller don't know each other until trade is successfully conducted.
2.Using a block-chain,all trading activities can be recorded securely so that trade is not tampered until its over.  



Needs Disadvantages section too.  So a full picture can be made and disadvantages can begun to be dissected and removed.  If it's possible at all.  I certainly hope so.

Lohoris
Hero Member
*****
Offline Offline

Activity: 630
Merit: 500


Bitgoblin


View Profile
May 22, 2013, 06:59:27 PM
 #54

Its backed by the fiat of the person who converts the voucher to fiat!

So, its just like the voucher system currently used by the exchanges, except its going to be your local joe banker who is converting your voucher to dollars, or euros or whatever.
You have just described Ripple...

1LohorisJie8bGGG7X4dCS9MAVsTEbzrhu
DefaultTrust is very BAD.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1035



View Profile WWW
May 22, 2013, 08:27:21 PM
 #55

I think BMOT just provided all the things we need

A P2P Distributed Exchange MUST:

  • 1. Be without any central points of failure, since a government or two WILL be coming after it one day. I suggest a
    Bitorrent-like software schematic.

That would be BitMessage

Quote
  • 2. Show everyone a very large number of possible trades to choose from, (thousands?) so assets can form a stable price. (e.g. a Bitcoin is going for $120)

BitMessage again. Just have a protocol (formatted message) that gets sent and updated with current piice orderbook, which is "broadcasted" to all the listening nodes same as BitMessage mailing list messages are now.

Quote
  • 3. Transact trades pretty much INSTANTANEOUSLY, so when you're watching a graph and want to trade at a very specific time you can do so. (This is extremely important for arbitragers and other traders who help keep the price fluctuation down.)

Not possible directly, since it will take time to transfer fiat between two people, but can be done instantly with OpenTransactions if money is deposited with a trusted escrow and OT contract issued against it. You would be trading fiat-backed contracts.

Quote
  • 4. Offer Graphs and APIs for for graphing like MtGox does.

Extremely easy if the entire orderbook is broadcast through BitMessage and is constantly updated

Quote
  • 5. Have three-user (trustless) trading, so a non-interested 3rd party always hosts the trade between the buyer and seller. (And should provide Escrow too!)

OpenTransactions again. That's specifically what it's good for.

Quote
  • 6. Hold and transfer VALUE, not just IOUs. (With Cryptocurrency this is easy... With fiat? Not so much.)

It would be fiat-backed contracts and actual BTC. I guess the contracts are still IOUs or sorts, but I doubt we'll be able to plug anything like this into a bank, since they would get shut down instantly for violating KYC/AML
Rant2112
Newbie
*
Offline Offline

Activity: 70
Merit: 0



View Profile
May 22, 2013, 09:00:32 PM
 #56

How about snail mail of fiat paper notes?
Rant2112
Newbie
*
Offline Offline

Activity: 70
Merit: 0



View Profile
May 22, 2013, 09:01:46 PM
 #57

Is there an alt-coin that has a constant value instead of a fixed supply function (like bitcoin)?

For example, the supply of the coin adjusts such that N alt-coins always equals M US dollars?
jdbtracker
Hero Member
*****
Offline Offline

Activity: 727
Merit: 500


Minimum Effort/Maximum effect


View Profile
May 22, 2013, 10:36:16 PM
 #58

Black market techniques can help in this situation.

The trade has to be instantaneous, face to face meet ups are essential.

an android app is created, you start your light Bitcoin client on your phone, or iphone or whatever. you keep the wifi on, the sellers keep their wifi on.

When you are in close proximity to a seller the app will alert you that there is a seller near by with cash in a public place. It will tell you their going rate and they get to see your buying rate.

you go to the seller you work out a deal, you transact the bitcoins live on the spot using matrix barcodes, they get their fee in BTC the client gets their BTC on the spot.

High risk if your worried about someone having network control over the area maybe.



the other choice is highly illegal... probably.

you create a p2p bank. tricky shit for sure. millions of them. How do you do this?

The BTC atms, a similar concept but digital, the legal route is to create a banking entity like a credit union but make it p2p many small entities linked by miners who take care of the transactions, the banking software is distributed opensource to everyone so anyone can become a bank.
The person acting as bank is also the miner who takes care of the matchups between transactions. they get paid in BTC fees for keeping the flow of money going.

Cash is king in this system, to start it off the first solution has to be implemented as large cash reserves will be needed, people come sell their cash for BTC the buyer and seller are known because of the block ledger, that BTC address marks them both.  The serial numbers on the bills mark the proof of ownership. to be a p2p bank they will have to scan those bills and have it be read by the program working on top of bitcoin, the money that they have and don't have is marked on it's own block ledger for anyone to see, no one knows who they are but the address says they have accepted this amount of fiat these serial numbers and when someone comes to sell their BTC those same bills are scanned out any discrepancy when matched to the BTC addresses will note a difference so the right amount of serial numbers have to be dolled out.

All transactions are local, but once in BTC they don't have to be, the Cash is local, BTC breaks the barriers.

either that or I guess people will be sending their digital cash to the bahamas where they can distribute that info to p2p nodes!  Grin

but yeah, all this is not required, BTC is it's own bank, all you need is to get that rig fired up! start generating your own coins.  of course this will require a little mind bending on your behalf... why are people so reactionary instead of logical?

do you really need an exchange to tell you what a BTC is worth or can you deduce the real price by your understanding of Bitcoin? How much would a bitcoin need to be worth to handle the whole world economy? that would be about 42 billions dollars worth of transactions a day, millions of millions of transactions.

we know how many bitcoins are in circulation, we know the purchasing potential needed to sustain a large economy, what if we all did the guess work and made a mathematical formula that would give everyone the real price of Bitcoin? All that would be required is access to the blockchain to verify the data and a solid formula that was available to everyone. no need for an exchange just access to the blockchain to verify the price of Bitcoin.


a mathematical understanding of the factors for an effective currency can circumvent all this, so easily. WE must give up the idea of a exchange by market liquidity and buy and sell rates... we must base it on fact hard cold science. 

The best algorithm for determining the necessary flow of BTC will stop the spread of Fiat into the system, fiat will be locked out forever from this economy. Check Mate

If you think my efforts are worth something; I'll keep on keeping on.
I don't believe in IQ, only in Determination.
BTCLuke (OP)
Hero Member
*****
Offline Offline

Activity: 526
Merit: 508


My other Avatar is also Scrooge McDuck


View Profile
May 22, 2013, 11:07:56 PM
 #59

Or are you saying we do two 2-of-3 transactions, one for each currency, with me, you, and escrow each as a key.
2-of-3 transactions would be one way to do escrow, another way is for the money to not actually go into Mary's wallet; Instead she could hold the deposit account address for both of the others, and connecting their transactions at the same time when she's received both addresses.

There is probably a half dozen ways to solve this... But having the non-interested party involved will always be necessary.


Where is the decentralized process to getting fiat into the system (for new users without crypto)?
As explained in the OP, I don't have the technical expertise to know how to get a SWIFT, ACH, Wire Transfer, nor SEPA funding transaction to move the value of the fiat into this software... But I'm pretty convinced now that this step is required to solve our problem. (And yes, I'm aware that it's not going to be very legal to do so.)


Unless you can solve the issue of reversibility that exists with all digital fiat transfer mechanisms, as well as a solution to the escrow issue addressed above for cryptocurrencies, I remain unconvinced.
The digital fiat transfer networks are slow on purpose. They were designed before the internet...

If we can capture the value from one in our software network, then we could move it around at the same speed a bitcoin travels... It'll be inside our network at that point.



This is the best thread so far - and it does highlight the big problem is how to marry fiat with crypto.
Thanks, and yes, this is an exceedingly difficult problem we face... But face it we must.


We need a p2p exchange, where a fiat voucher can be converted into local fiat.
That voucher is just another IOU though. This can't help us.


Bitcoin already has miners, is it time it also had bankers?
Never. Bankers are the problem, not the solution.


Lets say an alt coin was created that could be mined and had a value of 0.1c and couldn't be worth any more.
You have just demonstrated a serious lack of knowledge about economics. The only way to say "this thing can't ever be worth more" is when you have the guns and enforce this decree.

It is extremely evil to attempt this. Only a government would do so!

Let the markets be free bro!


Luke Parker
Bank Abolitionist
BTCLuke (OP)
Hero Member
*****
Offline Offline

Activity: 526
Merit: 508


My other Avatar is also Scrooge McDuck


View Profile
May 22, 2013, 11:14:12 PM
 #60

This is the core of the problem, this is one of the reasons Bitcoin has been created in the first place.

Of course you can't solve that problem, Bitcoin is the solution!
Bitcoin is an awesome solution to our end-game problem... I look forward with longing to the day in which I won't have to touch any disgusting green paper bills backed by threat of imprisonment...

However, as long as the threat of imprisonment is there and those disgusting paper bills are Legal Tender to pay your taxes with, we must deal with them, and keep producing new ways to make it easy for people to trade those for bitcoins.

Luke Parker
Bank Abolitionist
Pages: « 1 2 [3] 4 5 6 7 8 9 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!