Pages:
Author

Topic: BANK RUN! - P2P Fiat-Bitcoin Exchange - page 6. (Read 39079 times)

k99
sr. member
Activity: 346
Merit: 255
Manfred Karrer
February 19, 2014, 09:08:24 AM
I wonder if you know "Twister" (but probably the answer is 'yes') and if something comes out from that concept can be useful: It's a P2P microblogging platform.

It comes with an implementation from Libtorrent (DHT) for the resources management, and it uses the blockchain for the users management. White paper and documentation explains everything, definitely better than I can. Smiley

Yes Twister is beside Bitmessage the preferred solution for the messaging system.
Dark Wallet will probably use that as well, and it could be that we will build on Dark Wallet. But it is still too early to discuss much about the technical decisions...

Are you more familiar with Twister?
hero member
Activity: 980
Merit: 1002
February 19, 2014, 08:54:28 AM
I wonder if you know "Twister" (but probably the answer is 'yes') and if something comes out from that concept can be useful: It's a P2P microblogging platform.

It comes with an implementation from Libtorrent (DHT) for the resources management, and it uses the blockchain for the users management. White paper and documentation explains everything, definitely better than I can. Smiley
k99
sr. member
Activity: 346
Merit: 255
Manfred Karrer
February 18, 2014, 01:56:42 PM
If we are exchanging 1 BTC for $650 and we lock up 1 BTC or less as a collateral, then I can receive your $650 and let my 1 BTC stuck as a collateral forever. I'm not losing anything (I'd pay 1 BTC anyway), but you lose 1 BTC + $650.
No that is not right. If you unlock you get your collateral back (0.1BTC in my example, 1BTC in yours). If you dont unlock then you lose that.

Collateral should be greater than amount in exchange. If they exchange $1000 for 1 BTC, collateral should be 2 BTC. So when Bob receives $1000 it's cheaper for him to unlock collateral (2 BTC) than to keep 1 BTC worth of product (cash in this case).

The collateral only serves as incentive to not hurt the other losing his money. There is no way to steal the others money. Even a small collateral like 10% can fulfill that job. If you behave unfair you will lose 0.1 BTC as well, even if the other will lose 1.1 BTC for rational persons it is not an incentive to lose anything if he only needs to click a button.
The height of the collateral can be freely chosen, but there will be probabyl a recommended value.
I will consider to set the default collateral higher maybe 50% or 100% of the trade volume.


k99
sr. member
Activity: 346
Merit: 255
Manfred Karrer
February 18, 2014, 06:30:05 AM
Indeed, jubalix, the size of the deposit is open to debate. But the basic structure is that each side only stands to lose by defaulting on their commitment.

In my opinion this is not the main issue; the main issue is there is nothing forcing the two parties to pay out in the ratio (1.1,0.1) to (Alice,Bob) at the end. They could end up paying out (0.8,0.4) or anything else. This is one of a few things we've been discussing on irc #bankrun.

Yes the collateral of 10% seems to me now also too low, but it is free to choose, but probably there will be a recommended collateral more about 50% or 100% (will be updated in the paper in a new version).

What will be the right collateral?
We could analyse the statistics of past trades (data from the blockchain) and estimate the rate of failed trades and see the collateral used there. That could be maybe a mechanism helping to find the right balance. If the collateral is higher all will be more safe, but if it is too high the chances that somebody take the offer will decrease, also the possible loss will rise.

If the other trader cannot continue unintendedly (death, hard disc crash,...) there is no way to unlock the funds if we dont use an escrow (still in discussion). But that case will be very rare. I assume 1 of 10 000 or less, so if you keep the trades low, that could be taken in account as kind of fee. Maybe a kind of insurance service could be used to flatten that effect, but that comes with new problems.
Another solution could be to use a lottery system to spend the locked funds to a lucky winner who has traded once successfully. So the negative effect could be turned into some positive. But that system opens again up new problems, but it is in discussion.

Yes that blackmail scenario waxwing has found is more serious then the one I discussed in the paper:
A normal blackmail would suffer from the asynchonious payment. So if you accept a blackmail and then as 2. step the blackmailer need to pay back the open funds, then you are exposed again to him. Nothing prevents him to repeat the blackmail. So that could be an infinite loop.
But if Bob signs a tx with changed outputs to his favor and send that to Alice, Alice only needs to sign and publish it, so there is no gap anymore between blackmail negotiation and payment. If Alice accept it and publish it, she will get her money back for sure. So that is a more serious attack scenario.

But it still has its problem to become a realistic threat:
The software does not provide any tool to do the signing and publishing for Alice in a way that a non-tech person can do it easily. Alice can not easily copy her private key, she need to be tech-savvy to do that. So Bob need to provide tools to help her and give technical instructions, making the attack more difficult to succeed.

Another more important point is that Alice know the real ID of Bob due the Bank account, so she could go to a lawyer or try to confront him in real life (Bob does not knwo who is Alice, she might be an innocent girl or the sister of a powerful mafiosi). Assuming that Bob does not use a stolen Bank account (but that will be out of the scope here).

There would be a way also to create a legal contract for the trade with the initial deposit tx. That would create then even more pressure to Bob to act fair. But we will try to keep the concept independent form the outside legal system, cross country trades would complicate all that as well...
sr. member
Activity: 469
Merit: 253
February 17, 2014, 10:02:08 PM
Indeed, jubalix, the size of the deposit is open to debate. But the basic structure is that each side only stands to lose by defaulting on their commitment.

In my opinion this is not the main issue; the main issue is there is nothing forcing the two parties to pay out in the ratio (1.1,0.1) to (Alice,Bob) at the end. They could end up paying out (0.8,0.4) or anything else. This is one of a few things we've been discussing on irc #bankrun.

legendary
Activity: 2632
Merit: 1023
February 17, 2014, 09:18:35 PM
what motivation does he have to sign BTC over?

eg by no signing he acutly increases his wealth (sender is poorer) and marginally increases his and every one else BTC worth, by leaving BTC locked up.

time this by millions of transactions and you get alot of BTC locked up forever, and sender looses

" what motivation does he have to sign BTC over?" - To get back his collateral.
The 0,1 btc in the paper is only an example, can be any. Think to 1 btc collateral, that's much incentive to behave fair.
No, he does not increase his wealth (he has spent 1 btc + coll and received 1000 USD), so the collateral he needs to get back otherwise he loses.
The effect of a locked up btc is close to zero (about 1/10 M).
Locked funds will happen but probably very rare (1 of 1000?). There is no way to win money, only lose less then the other, that is for normal people no incentive to behave unfair.

ok so if he want to get his 1BTC back he has to sign over the 0.1 btc to the other person as they are both locked up together so what is the mechanism to hold the 1 BTC locked up and who / what has the key and what trips it to pay out.

Whatever that is at its root faces the same problem.

Actually I kinda get it

the 1.2 btc multi sig, allows the 0.1 to flow back to bob, so he is motivated to sign it, he however does at this ratio can burn sender much more.

You likely need a ration that is higher

to really hurt bob if he does not sighn.

the other problem is if he just does not sigh, while this hurts bob, it does not help sender, so that need to be taken care of some how.

Eg Bob dies or looses keys then what?

k99
sr. member
Activity: 346
Merit: 255
Manfred Karrer
February 17, 2014, 08:12:17 AM
what motivation does he have to sign BTC over?

eg by no signing he acutly increases his wealth (sender is poorer) and marginally increases his and every one else BTC worth, by leaving BTC locked up.

time this by millions of transactions and you get alot of BTC locked up forever, and sender looses

" what motivation does he have to sign BTC over?" - To get back his collateral.
The 0,1 btc in the paper is only an example, can be any. Think to 1 btc collateral, that's much incentive to behave fair.
No, he does not increase his wealth (he has spent 1 btc + coll and received 1000 USD), so the collateral he needs to get back otherwise he loses.
The effect of a locked up btc is close to zero (about 1/10 M).
Locked funds will happen but probably very rare (1 of 1000?). There is no way to win money, only lose less then the other, that is for normal people no incentive to behave unfair.
legendary
Activity: 2632
Merit: 1023
February 16, 2014, 08:26:43 PM
#99
Ok big issue

when the receiver of the BTC does not sign off the multi sig, he wins.

He has the cash, he withdraws it so bank can not claw back, or physically has it.

what motivation does he have to sign BTC over?

eg by no signing he acutly increases his wealth (sender is poorer) and marginally increases his and every one else BTC worth, by leaving BTC locked up.

time this by millions of transactions and you get alot of BTC locked up forever, and sender looses

member
Activity: 84
Merit: 10
February 16, 2014, 11:33:43 AM
#98

Duane, what you called earlier an "anonymous escrow system" can only be implemented as an oracle machine which will query and parse the westernunion.com  URL in order to make a decision about whether to release the btc funds or not.
But some oracle machine operator has to host that oracle machine and pay for hosting. Thus inevitably, there will be a per-transaction cost on EVERY transaction even those where there is no dispute.
But if you get rid of the oracle machine hosting and use a 2-of-3 multisig escrow and call upon the human escrow agent ONLY when a dispute arises, then there will be NO transaction fee for all normal transactions. There will be only a fee(or rather penalty) payable ONLY by the offending party at the time of a dispute.

TLDR 2-of-3 multisig with a human escrow is much more fairer and preferable than an automated oracle machine.

This is good information, thank you. I imagine the escrow fee could be minimal as a percentage. If the fee were $5 on a $500 worth of BTC, that's only a 1% fee.

My original concept used several people to verify the transaction went through as intended. So, if humans were to do the verification on the WU website instead of a machine, would an Oracle machine and hosting be needed? In any case, I figured the fee could be adjustable if there weren't fixed expenses. The p2p exchange would use human input from the buyer, seller, and escrow agents to create a solvable block that would solve and dispense the BTC according to the escrows' consensus.

Here is how I envision the escrow fee process. Seller of BTC specifies the fee to be paid and the number of escrow agents to confirm. So a $5 fee with 10 agent confirmations would pay out $0.50 to each agent. Since the work required to verify is minimal, this might generate pretty rapid confirmations. If the seller wanted $5 and 100 confirmations, then there would be fewer willing escrow agents, although in poorer countries, this might still be attractive income. I suspect that market forces would choose an equilibrium between the fee, the number of confirmations desired, and the time this will occur in.

Possibly, new escrow agents could start out on the transactions that pay little in per-agent fees. Then, as their trust in achieving consensus rises, they can move up to higher per-agent fee transactions. Those traders with lots of money on the line can opt to pay a higher fee to get more trusted agents. Also, a feedback system can help to adjust agent trust levels. Buyer and seller likes the outcome, they can rank the transaction highly and the agents benefit. If one party didn't like the transaction outcome, this could hurt agents' trust. If trust drops, agents can end up back in lower tiers, etc.
full member
Activity: 202
Merit: 100
February 16, 2014, 10:06:40 AM
#97

Duane, what you called earlier an "anonymous escrow system" can only be implemented as an oracle machine which will query and parse the westernunion.com  URL in order to make a decision about whether to release the btc funds or not.
But some oracle machine operator has to host that oracle machine and pay for hosting. Thus inevitably, there will be a per-transaction cost on EVERY transaction even those where there is no dispute.
But if you get rid of the oracle machine hosting and use a 2-of-3 multisig escrow and call upon the human escrow agent ONLY when a dispute arises, then there will be NO transaction fee for all normal transactions. There will be only a fee(or rather penalty) payable ONLY by the offending party at the time of a dispute.

TLDR 2-of-3 multisig with a human escrow is much more fairer and preferable than an automated oracle machine.
member
Activity: 84
Merit: 10
February 16, 2014, 09:29:28 AM
#96
@Duane Vick,

earlier you said

Quote
The escrow system encrypts all the information and checks Western Union online to verify the MTCN is valid and the receiver matches, etc

Could you elaborate, which URL the escrow should go to to check the transaction?
https://www.westernunion.com/track-transfer?0

Also, I want to add that because this isn't anonymous,  it might not satisfy some of those on here who desire a totally anonymous system. However,  a large portion of the population really doesn't care.
k99
sr. member
Activity: 346
Merit: 255
Manfred Karrer
February 16, 2014, 06:43:07 AM
#95
From a thread I started in the russian forum:

BTC is NOT illegal here. The general prosecutor issued a warning that it might consider all deals dont in crypto as "suspicious" - thats for companies, as it goes for citizens there was a clear statemnt in the speech - "that we CANNOT ban people buying bitcoin at the moment" 
full member
Activity: 202
Merit: 100
February 16, 2014, 01:08:40 AM
#94
@Duane Vick,

earlier you said

Quote
The escrow system encrypts all the information and checks Western Union online to verify the MTCN is valid and the receiver matches, etc

Could you elaborate, which URL the escrow should go to to check the transaction?
member
Activity: 84
Merit: 10
February 15, 2014, 09:05:36 PM
#93
I'm just thinking out loud here but maybe something can come of this.
....
I'm not a programmer and don't fully understand how blocks, etc., work so this might be full of flaws. Hopefully, not so many that it is useless even as a beginning concept.

Thanks for your input. I dont want a dependency to any 3rd party and I guess Western Union could be one of the first victims of the success of BTC ;-). They have high fees and could be replaces soon by BTC.
Also I want to keep it as simple as possible. An escrow could be added to the system without much problem, the problem is that the escrow needs a tamper proof document. A screenshot from the bank tx is easy to fake. SSL dump could be a solution but thats complex. I am still not convinced an escrow is needed at all. I will update the paper soon with more details about that topic, because it seems that many people thinks it will not work without escrow...

There have been mention of a few flaws in your concept, mainly the possibility of a trader holding currency hostage. Since BTC is irreversible, it stands to reason that it should not transfer to the buyer's wallet until the seller receives his cash. There is going to be a lot of concerned buyers who will be too scared that the seller won't deliver or that they hold the BTC hostage, thus stopping many transactions from ever occurring. It takes a great leap of faith to wire funds to someone without being sure they will deliver.

I don't think escrow has to rely on SSLs, statements, etc. If you review what I wrote, you will see that the escrow gets what it needs from the parties to the sale. The seller of BTC would provide the info to receive the funds such as what Western Union requires. The buyer provides the information such as MTCN with information that matches the seller's name, WU agent location, etc. The escrow agent simply needs to verify this data. Since my idea incorporates multiple random escrow agents per transaction, it isn't subject to exploit by a single escrow agent working on behalf of one of the parties.

As far as Bitcoin removing the need for money transmitters like Western Union, I don't agree that this has to be the case. There has to be a way to get fiat into Bitcoin that makes fiat irreversible. Western Union already has locations worldwide and they provide a way for a person to receive cash that is irreversible. If they become less relevant as a transmitter because of the growth of Bitcoin, they can still adapt to the new market. They could very easily incorporate a way to directly buy bitcoin from them, essentially becoming an exchange and providing a trusted centralized option for those holdouts who don't trust p2p. Also, I don't like the idea of bank wire, no matter how many people say they are irreversible. Truth is, as long as a person gets money deposited in their account, their own bank can screw them and take the money back out and send it back. It might not be the pattern of business currently, but there is no shortage of stories where banks and other financial services screwed their clients. With Western Union, you can get cash without having an account that they jack the money out of and send it to collections when you take a principled stand against them.

I understand your concern about escrows. I wish they weren't needed. However, escrow provides a way for the buyer to be assured that the seller can't hold back the BTC. Each transaction is separately verified and the disposition of BTC is already pre-determined based on the escrow review. The parties to the transaction commit to the terms of escrow when they open the transaction. Escrow terms can be pre-defined such as whole release of BTC, percentage release, or no release based on the results of verification.
sr. member
Activity: 469
Merit: 253
sr. member
Activity: 469
Merit: 253
February 15, 2014, 07:43:39 PM
#91
I'm more thinking about the darker future scenarios where banks are explicitly trying to stop all such trades, which means blanket bans on exchanges - I think that's what this technology is really for.

You might be surprised, but I know of at least one country where it already happens (at least with Gox bank address) with all the major banks. With a bit of Googling, you will find which country I mean.

I don't know which particular country you mean, but it doesn't surprise me; many more authoritarian states have made noises in this direction. This is why I've been working in this area for a best part of a year. This "dark scenario" seemed somewhere between likely and inevitable and recent events have done nothing to change my mind.
newbie
Activity: 5
Merit: 0
February 15, 2014, 06:24:18 PM
#90
There are two problems with that I can think of:

1. Bank transfers can be reversed in some circumstances (account was stolen etc). Some days after Bob gets the money and releases the bitcoins, the bank may reverse the transaction.

2. I'd be worried that the bank may freeze my account if I receive cash transfers from someone who turns out to be a criminal or the bank freaks out for some reason.

I would much prefer a centralized exchange.

This concept could work if A and B meet up and payment is made in cash. This concept could also work for trading between cryptocurrencies (btc <--> ltc etc)

I think these are serious issues which need to be considered


This is the 3rd time these points have been raised - you seem to have addressed literally every other post specifically apart from these ones.

These maybe hard questions to answer, but if #2 in particular starts happening for users of your system, you will become a VERY unpopular person, VERY quickly. Having a primary fiat bank account closed or locked is far more damaging and off putting for the novice user (who you've said this system would be for) than losing some fiat or some BTC.

There is no question that this is a huge issue with p2p systems using bank wires. However it seems to me you're missing a critical aspect - the very fact that the system is P2P rather than client server can lower the chance of an account getting blocked.

If banks start seriously blocking bitcoin-related transfers, they have to have some evidence to suggest which out of the hundreds of thousands of wire transfers a day are related to bitcoin. If all fiat-btc transfers are via one of 10 different exchange companies (especially if they're international), it is not very difficult for banks to do that. If the transfers are peer to peer and local, not so much.

(Of course banks freeze accounts for non-bitcoin reasons, I'm not suggesting the P2P aspect removes the blocking risk, but it moves the goalposts)

I'll take this opportunity to let people know of the architecture I'm working on coding right now - description here. Read the ssllog thread for more details if you're interested.


This issue would be solved easily if you banked with a crypto-currency friendly bank. "There isn't one" you say, then create one!

This is good but one obstacle in the USA is how to get funds into the other person's bank account.  Chase is already making it so you are not able to deposit cash into someone else's account, and other banks are likely to follow.

Here is something that could be integrated into your platform, or used independently. It will provide 'near instant' conversion of digital assets into USD. We're just waiting for contributors to get the project started.





Yay!@SaneBox cleaned out 954 emails, leaving 271 important emails in my Inbox. Try it for free: http://sanebox.com/t/4qw44
hero member
Activity: 756
Merit: 502
February 15, 2014, 06:07:15 PM
#89
I'm more thinking about the darker future scenarios where banks are explicitly trying to stop all such trades, which means blanket bans on exchanges - I think that's what this technology is really for.

You might be surprised, but I know of at least one country where it already happens (at least with Gox bank address) with all the major banks. With a bit of Googling, you will find which country I mean.
sr. member
Activity: 469
Merit: 253
February 15, 2014, 05:56:31 PM
#88
Can you tell us how they manage to pick out btc related transactions assuming no central exchange account is used and people do not use any comments like "BTC trade id:1234" in the tx?

I will research that more to get some facts, but if you are more familiar with that area maybe you could add valueable input here or post some links to good resources?

Again, my knowledge is limited to a certain project I did in the area, during which I was exposed (under strict NDA) to some involved technologies.
The companies in question used an analytic tech platform, which allowed reviewing every transaction against a very broad of both personal and external patterns and trends.

While you right about people not mentioning BTC in transaction (although I did seen few that did!), I still can envision a situation, where blockchain transactions are being reviewed to match to a particular wire transfer, based on the exchange rate at the moment of transfer (for example).

As said this will cause many false positives, but as the tech in question is self-training (at least from what I seen), it may eventually recognize a repeating pattern and flag (including showing the prediction accuracy %) both accounts as participating in the crypto trading.

Long shot - but the chance of this happening (if there is enough pressure) is certainly there.

Yes, and I think you may have overlooked another element that will make this "attack" more practical - multisig transactions (2 of 2 or 2 of 3) are rare and easy to spot on the blockchain (3abc.. addresses).
But that's the sort of thing you worry about a long way down the line. Initially, what's important is that the current pattern matching algorithms will not flag transactions as suspicious - which I fully accept may happen, because a lot of what banks are checking is "is he doing something unusual".

I'm more thinking about the darker future scenarios where banks are explicitly trying to stop all such trades, which means blanket bans on exchanges - I think that's what this technology is really for.
newbie
Activity: 5
Merit: 0
February 15, 2014, 05:45:46 PM
#87
This is good but one obstacle in the USA is how to get funds into the other person's bank account.  Chase is already making it so you are not able to deposit cash into someone else's account, and other banks are likely to follow.

Here is something that could be integrated into your platform, or used independently. It will provide 'near instant' conversion of digital assets into USD. We're just waiting for contributors to get the project started.





Yay!@SaneBox cleaned out 954 emails, leaving 271 important emails in my Inbox. Try it for free: http://sanebox.com/t/4qw44
Pages:
Jump to: