14 Dec 2018 |
komodobridge | [discord] <jl777c> i think bob might need to also pay 1/777 | 15:03:21 |
komodobridge | [discord] <artem.pikulin> In current implementation Bob does not pay any fee except standard transaction commission. So the protocol is (Bitcoin script example):
1. A fee, p2pkh output: `OP_DUP OP_HASH160 FEE_RMD160 OP_EQUALVERIFY OP_CHECKSIG`
2. B payment:
```
OP_IF
<now + LOCKTIME*2> OP_CLTV OP_DROP <bob_pubB0> OP_CHECKSIG
OP_ELSE
OP_SIZE 32 OP_EQUALVERIFY OP_HASH160 <hash(bob_privN)> OP_EQUALVERIFY <alice_pubA0> OP_CHECKSIG
OP_ENDIF
```
3. A payment:
```
OP_IF
<now + LOCKTIME> OP_CLTV OP_DROP <alice_pubA0> OP_CHECKSIG
OP_ELSE
OP_SIZE 32 OP_EQUALVERIFY OP_HASH160 <hash(bob_privN)> OP_EQUALVERIFY <bob_pubB0> OP_CHECKSIG
OP_ENDIF
```
It's actually not hard to add Bfee as work is in progress. | 15:12:38 |
komodobridge | [discord] <ComputerGenie π΄πΌπ’> `Bob does not pay any fee except standard transaction commission.`
So, no deposit anymore? at all? | 15:15:17 |
komodobridge | [discord] <jl777c> there would need to be something at stake for bob, so lets add the 1/777 fee to bobside also | 15:15:45 |
komodobridge | [discord] <artem.pikulin> Is it really required? There is always a case when someone loses fee if other side does not follow the protocol. Bob side didn't require a fee and it's introduced as liquidity provider advantage | 15:16:22 |
komodobridge | [discord] <jl777c> are you sure bob cant get an advantage without a dexfee? | 15:17:07 |
komodobridge | [discord] <artem.pikulin> @ComputerGenie π΄πΌπ’ Yes, no need for Bob deposit anymore. | 15:18:14 |
komodobridge | [discord] <ComputerGenie π΄πΌπ’> I'd think that the "need" would be to not be able to screw Alice out of dex fees for the cost of 0.0001 CoinX | 15:19:49 |
komodobridge | [discord] <ComputerGenie π΄πΌπ’> oh, you mean that whole stage is gone? | 15:20:43 |
komodobridge | [discord] <ComputerGenie π΄πΌπ’> sweet | 15:20:48 |
komodobridge | [discord] <artem.pikulin> @jl777 I mean that Bob did not have to pay fee previously, it's a bonus for being the liquidity provider. It's usual for marketmaker to pay less fees or not pay these at all. | 15:21:01 |
komodobridge | [discord] <artem.pikulin> I mean that Bob did not have to pay fee previously, it's a bonus for being the liquidity provider. It's usual for marketmaker to pay less fees or not pay these at all. | 15:21:17 |
komodobridge | [discord] <jl777c> ok, but if nobody is putting up liquidity anymore, then without dexfee, it seems bad things can happen | 15:21:39 |
komodobridge | [discord] <wbradt> I think bob not paying a transaction fee would be ideal, as it provides the incentive to make liquidity. | 15:22:16 |
komodobridge | [discord] <artem.pikulin> @jl777c But with old protocol if nobody puts up the liquidity no fees would be paid still. Maybe I didn't understand something correct? Do we consider the fee as something that affects liquidity? | 15:30:34 |
komodobridge | [discord] <jl777c> the 200%+ affected liquidity the most | 15:30:57 |
komodobridge | [discord] <jl777c> the concern is that without any dexfee at stake, what incentive does bob side have for completing a swap, especially the refund cases | 15:31:24 |
komodobridge | [discord] <artem.pikulin> The bob could not send deposit after Afee, there was no incentive for him to do it if he's malicious and just wants the Alice to spend some funds and time for useless swap. | 15:33:03 |
komodobridge | [discord] <jl777c> yes. but now we need to make sure that at every step in all other cases, bob has incentive to complete the next step | 15:33:58 |
komodobridge | [discord] <artem.pikulin> Maybe I miss something but nothing really changes, there is always a case that someone loses the fee if other side doesn't follow the protocol. I think the "incentive" to complete the trade is somewhere outside the atomic swap protocol: e.g. Bob wants to buy some beer for KMD, but beerstore accepts only ETH so Bob opens HyperDEX and puts the order to exchange his KMD to ETH. | 15:40:20 |
komodobridge | [discord] <jl777c> i guess we eliminate a lot of the deposits coming back cases, without the deposits | 15:40:54 |
komodobridge | [discord] <jl777c> and once the first spend using secret is done, the trade is done other than the other side doing their half, which they are fully motivated to do | 15:41:26 |
komodobridge | [discord] <artem.pikulin> 1 side always have to start the swap, let's compare a couple of cases:
1. Alice doesn't send the fee - swap is aborted (both versions). There is no incentive that might force the malicious Alice to send the fee.
2. Alice sends fee - but then Bob doesn't send the deposit (old version) or payment (new version) - actually nothing changed. Alice loses fee in both cases. There is no incentive that might force the malicious Bob to send deposit/payment. | 15:47:56 |
komodobridge | [discord] <artem.pikulin> The only incentive might be reputation system: nobody will soon trade with malicious keypair owner, however it's not hard to generate a new one and keep cheating. | 15:49:20 |
komodobridge | [discord] <ComputerGenie π΄πΌπ’> `Bob opens HyperDEX and puts the order to exchange his KMD to ETH.`
And if Bob lives in a rural area Bob gets his beer 3 weeks later... | 15:52:03 |
komodobridge | [discord] <artem.pikulin> @ComputerGenie π΄πΌπ’ Wanna increase KMD blocktime to 3 weeks to make it real?) | 15:52:58 |
komodobridge | [discord] <ComputerGenie π΄πΌπ’> block times have no impact on how well SPV interaction does/doesn't work for a large percentage of the population | 15:54:20 |
komodobridge | [discord] <artem.pikulin> The other important thing to mention: we want to eliminate the difference between liquidity provider and taker (like it is on centralized exchanges). So the user downloads the app, puts an order and might just wait until someone comes to take it. Of course he needs his app to be running until trade completes, but imagine this on mobile devices: these are actually always on so (maybe, I'm not sure about the background apps limitations on mobile OS) in ideal situation he puts an order on his phone and goes to sleep like he can do with centralized exchange. | 16:04:42 |
komodobridge | [discord] <jl777c> sounds good | 16:07:20 |
| ca333 removed their display name ca33. | 23:52:59 |