-
rbrunner
From a discussion on Reddit I just now became aware that removing timelocks is not on list of scheduled things for the next hardfork:
monero-project/meta #630
-
rbrunner
And, as dEBRUYNE correctly explained there, we don't have any PR to remove it either
-
rbrunner
Probably a missed chance to not formally decide in the dev meeting yesterday what to do with it
-
rbrunner
My mistake as well, I should have noted the absence of this point
-
rbrunner
Background is a IMHO very unfortunate turn of events: It seems somebody built ETH-XMR swaps using timelocks on the Monero side
-
rbrunner
-
moneromooo
I have a patch to remove it in Townforge, I can probably port it fairly easily.
-
rbrunner
This does give a new version for transactions, I assume?
-
rbrunner
We have already something that *is* scheduled to go into the hardfork that also gives a new version, the view tags:
monero-project/research-lab #73
-
moneromooo
Oh, good point. Might be a bit invasive...
-
rbrunner
If I look at the whole situation I would guess we are too late already to remove in *this* hardfork - if our famous "loose consensus" to remove will hold at all ...
-
jberman[m]
if this is making legitimate use of timelocks, which I don't think it is at this point (I'm working my way through it/thinking on it), it would be a solid reason to keep timelocks imo
-
rbrunner
Well, hard to say, I think this is now the third proposal for ETH-XMR atomic swaps, and no idea whether the other two rely on XMR timelocks
-
jberman[m]
elizabethereum's does not
-
rbrunner
And not yet fully sure with this one as my question was not answered
-
jberman[m]
I don't think crypto bear's did either
-
rbrunner
It's almost tragic, the situation of this person.
-
Inge
maybe someone who has little experience with monero or bitcoin style development - little empathy with the NEED to understand that things are actually atomic and trustless.
-
rbrunner
It might be that further discussion will have the result that this protocol is not sound, or at least not trustless, but I don't know enough to judge myself
-
jberman[m]
fuck it, I'm too pissed for a measured response. on quick read, I don't think it's an atomic swap, I think it would be fairly trivial to claim both the ETH and XMR. even if I'm wrong, this person is going way overboard being a fucking dickhead. I'm working through it to be certain
-
Inge
^
-
kayabaNerve
> How can we account for these 2 vulnerabilities? The answer, I believe, is simply to automate the process. By creating a user interface(UI) that automatically carries out the metadata-hash generation and validates the self-transaction was constructed and posted successfully, Bob has no control over the process.
-
kayabaNerve
This is not atomic in the slightest
-
jberman[m]
Once Bob claims the ETH, it looks like it's just a race to submit a Monero tx to claim the Monero once it unlocks
-
jberman[m]
it also looks like they think you can submit a tx to the network that spends locked outputs, which shouldn't be possible
-
jberman[m]
unless nodes hold locked transactions in the pool until they unlock? which I don't think they do, and was double checking
-
kayabaNerve
jberman[m]: Not to mention it seems to ssuggest TX replacement.
-
kayabaNerve
It says you immediately send a TX to yourself before the other party eventually claims.
-
kayabaNerve
We don't exacftly have RBF.
-
jberman[m]
that tx is the one locking the XMR I think
-
jberman[m]
it looks like they think Bob can lock XMR, then give Alex details to relay a tx that spend the locked XMR
-
kayabaNerve
I think everything here is whitenoise. We need to focus on a single fact. This has 0 verification of the XMR TX.
-
kayabaNerve
It doesn't matter it's untested. It may matter if it has syntax errors in called execution paths (or required execution paths).
-
-
jberman[m]
I read it as in step 3, a locked XMR transaction enters the chain
-
jberman[m]
but I guess same inputs means that's not really possible
-
kayabaNerve
jberman[m]: I think you're right on flow? But it doesn't change step 5
-
kayabaNerve
Alice can lock to H("") and Bob can screw Alice over
-
kayabaNerve
The end
-
jberman[m]
right that's what I thought too
-
rbrunner
So, timelocks or no timelocks, you think that doesn't work for other, unrelated problems either?
-
jberman[m]
> F3) Bob tries to claim both types of funds: After Bob claims Alex's ETH, his timelock is still in effect, giving Alex the chance to claim Bob's XMR before he does.
-
jberman[m]
this isn't how XMR's timelocks work, they don't allow anyone to claim XMR before the lock expires
-
jberman[m]
so it just seems fundamentally flawed because of how it uses timelocks. I still don't see how Monero's timelocks can enable atomic swaps
-
kayabaNerve
They don't. COMIT looked into it
-
rbrunner
Yeah ... I have a vague feeling of things going in circles :)
-
jberman[m]
someone could challenge this person to a wild west duel where they have ETH, and gunslinging hero coder has XMR and ends up with both
-
jberman[m]
they being this piece of shit asshole
-
rbrunner
But anyway, the question is whether the removal of timelocks already missed the deadline for this HF, or whether we mount a concerted effort to slip them in, or whether consensus is not strong enough anyway, and we re-open discussion
-
kayabaNerve
Timelock removal isn't a good idea IMO
-
kayabaNerve
COMIT's work did allow XMR to move first if XMR adaptor signatures were posited IIRC. That said, they still relied on timelocks
-
jberman[m]
on XMR's timelocks?
-
kayabaNerve
So removing timelocks forbids XMR move first IIRC
-
kayabaNerve
Yeah
-
kayabaNerve
Sorry, had to step away. I'm not up to date, and you'd want to check with them. There's also remaining privacy concerns ofc with them, not to mention suboptimal code forced to be included in the node
-
jberman[m]
agh I did check with them, ok. checking again
-
kayabaNerve
-
kayabaNerve
I mean, it's not like XMR moves first is currently possible anyways. Removing XMR timelocks is just an already implemented feature and a required stepping stone
-
kayabaNerve
rbrunner: Inge for other participants
-
mj-xmr[m]
My monthly report:
-
mj-xmr[m]
-
mj-xmr[m]
Cheers!
-
kayabaNerve_
Regarding noot's work,
github.com/noot/atomic-swap, I have two comments. 1) It looks like they moved the DLEq proof to Ethereum as a PTLC which is... fascinating?
-
kayabaNerve
It's probably the quickest way to get this up and running given the network at hand but really a PoC type of thing. It should add a couple hundred K gas to any usage, further making ETH mainnet unviable. Definitely could be optimized out later though.
-
kayabaNerve
But with regards to the bounty, I don't believe this is currently a tested implementation as per criteria > test cases for failure cases (unit and integration tests)