The ever elusive atomic swap. Whats the current status?

What is the status of grin atomic swaps?

  • I see in April 2018 @jaspervdm published regarding a successful Grin-ETH atomic swap. But, it appears to have required a change to the grin protocol (thus the use of test net) so maybe dosn’t totally count.
  • I see in April 2019 @jaspervdm may have gotten some financial support for his effort on GrinSwap. That repo went stale in Oct 2019 and jaspervdm went silent on Github (March 5th 2021) and this forum (Feb 22, 2021). Per Github, GrinSwap was not completed.
  • I see that in May 2021 a Github author named GeneFerneau (@gene on this forum) submitted a merge request for atomic swap. I also see that his GitHub account has been quiet since Oct 20, 2021. It looks like his last related post was here in a theory discussion with tromp (maybe having found a non-resolvable issue?)
  • I see that in Feb 2023 @theGrinReaper started work on atomic swaps (link to forum post). @theGrinReaper seems to have started anew and did not pick up with GeneFereau’s pull request. That post has now been stale for over a year and @theGrinReaper has not been online since Oct 2023.

What’s the status on grin and atomic swap? It seems GeneFerneau’s may have gotten the farthest. Was it reviewed and found wanting? Is it just too complex and so keeps being put off while we await someone with appropriate skill and volunteer time to review it? GeneFerneau merge request was to the wallet (not the core protocol) so if it was a wallet side only task, do we know if anyone merged it into a fork and tested it?

What is the state-of-the-art in Grin and Atomic Swaps?

Update 2: I also found this 2019 technical specification/paper on grin-bitcoin atomic swaps which I am reading now…)

Update 2: @eravsar is working on a Monero Grin Atomic swap since July 2026:

3 Likes

There is no one to review and put it as a product in the Grin community.
We have no one man power.
Simply dead born thing.

I guess its a hard problem to solve acceptable or correct, and this kind of work requires alot of tryout research and development to come back again to tackle the problem.

The issue is with the process, while acceptable given grin s community nature, is pitiful that alot of that learned knowledge, even from failures (to implement, to agree, to compromise) is mainly lost or centralised at few (great!) people.
That is the nature of communication done mainly with direct text messages or with code reviews.
code reviews while they are a net gain, have this issue of not covering knowledge metadata like: proper definitions, design or technical documentation, what else was tried out, why is this a better solution, what are alternatives, examples, related papers, extra context like what, why, how do we reached here, various people involved or with knowledge,…

I have been trying to figure out grin inner workings and the problems, to find out i need some foundations (like rust, math, historical knowledge), then i acquire those and come back again at grin to find out again my lacking knowledge and what i need to understand as a prerequisite for meaningful contributions to grin.
this has been going on for few years now, and i dont even have to financial interest in grin or crypto, and no main tech interest in crypto besides grin, i am a past donor(insignificant) and I am never made money from hosting nodes, with my electricity prices it was never profitable yet I dont care, I am online, connected and validating.

I wish I could contribute with more time to chat, to ask, to dig, to solve and implement, yet life is random even with my short term plans to get more involved in grin, my dear hobby

Grin has its history…it had lot injustices, scams, fights and questionable characters yet few good people around here make good, just and cool things, and in our times - understand and continue the moral work of cryptography.
They, You, I and other lurkers, We are awesome and so is grin

3 Likes

Have you looked at the Python codebase? GitHub - grinventions/mimblewimble-py: Pure Python implementation of Mimblewimble protocol for Grin cryptocurrency

2 Likes

There are no major problems with Grin as far as I can see, only many would wish some functions to be developed faster, e.g. atomic swap. Again lets not forget we have Bisq…

Contributions can come in many ways and often do not require extensive knowledge of rust, math or crypto.
E.g. contributing to discussions, helping people with questions on the [forum, discord, telegram, Key Base], making memes, designing backgrounds, making art, writing about Grin, talking about Grin, joining a meeting, reporting a bug or feature request on GitHub, liking a developers post or indeed simply running a node and checking its online ones in a while. These are just some examples but there are near infinite ways to support a project like Grin.

I think one of the problems that many in the Grin community face is that they feel powerless to contribute, while in reality everyone has the power to contribute in their own way using their own skills and passion.

6 Likes

I agree with what you say here. This question relates to a desire for atomic swaps as being important for privacy oriented coins… but is not an issue with the grin foundation itself. (provided of course implementing atomic swap does not ultimately require a fork/change at the base level).

I also appreciate this point…

Decentralized development is definitively the best method for a decentralized coin, but this is without a doubt accurate and a hurdle in that process.

2 Likes

I would not say the knowledge is lost or centralized. All discussion and code attempts are public, you did a good job collecting them [REF]. The reality is that even with a fully decentralized project, there are very few cryptographers around and even with knowledge of atomic swaps for a regular non-interactive crypto project, there are Grin specific challenges due to its interactive nature. Anyone can get the information…just very few people who can and are willing to make contribute of such a high level.

1 Like

Since it is good to keep track of all Atomic Swap efforts in one place, a link to @eravsar work on a Monero Grin atomic swap:

@CircusDad Perhaps you can add it to the overview.

4 Likes

@Anynomous, Perhaps the post is too old and it is a forum limit or something, but It won’t allow me to edit/update the original post.

@eravsar, any update on your atomic swap project?

2 Likes

Too old I think, there us indeed a timelimit for updates. I cmanaged to add it to the post as moderator.

1 Like

Public release soon.

5 Likes

I’ve been looking into this a bit, excited to see what you release - are you using absolute time locks on grin side and just settle for incomplete refund path a la eigenwallet?

1 Like

it does use absolute time locks, yes. by incomplete refund if you mean the anti-spam mechanism Eigenwallet uses, no. Janus instead uses burn stamps, where makers can set Monero burn amount they want for per take, and they also burn an amount they set, so the takers can decide whether that offer has enough spam resistance for themselves and if they want to take they do the specified burn for maker’s trust. for this process to be seamless, Janus has centralized stamp authorities, where you burn any amount of Monero you want and get blinded tokens for it, which becomes fungible and unlinkable once unblinded. this provides a very practical way to spend stamps for anti-spam without an on-chain confirmation and it has double spend resistance since stamp authorities keep a nullifier database. so anti-spam and anti-call-option is a separate layer from the atomic swap protocol itself. the only downside is the stamp authority can act malicious and get you spammed, which can be fixed by switching to another stamp authority. use of stamp authorities are not mandatory to use Janus though, you can create a private offer or create an offer with Equi-X PoW requirement, even if not as convenient as the stamp mechanism.

2 Likes

Very cool approach, looking forward to testing it out!

2 Likes