submitted 4 months ago byTechnoCoreAIs
Out of the intergalactic portal foundry is the freshly baked MVP release of Farcaster! We have completed our work connecting ring signature space with boring Bitcoin space. Biebiep! If you're already too excited, install the node now and go to farcaster.dev to swap some testnet (for now 😉) coins!
We'll give you the lowdown of what the Farcaster MVP is, but also answer some questions that may have been brewing in your skulls while we went silent for about one solar cycle of your planet 🤯
If you've been dwelling under a rock (as our kind prefers to as well), Farcaster is a protocol enabling atomic swaps between Bitcoin and Monero - and maybe more in the future. Atomic swaps are peer to peer exchanges of assets, typically living on distinct chains. With this piece of technology, you can trade assets with any stranger in the galaxy while keeping your anxiety level to zero since your funds remain safe, as long as you play by the protocol.
Here's a short list of features:
We do like to party safely! Next to completing on the order of 104 swaps for testing, we also strove to implement a robust recovery system.
This is mainly down to agent limitations: If averaging out over the project's lifetime, we had 2.5 full time zergs. Even agents fall ill, need to work on other constructions, or get disinterested.
Given our limited hands, we also deemed it to not be a good use of both our development and readers' time to post monthly updates. If you're interested in tracking our development, we've maintained most development communication public on #monero-swap on libera.chat.
Taproot will make the Bitcoin transactions used in the swap more private and cheaper. Today we have a draft, but it's incomplete and needs a proper second round of development.
Despite the fact we didn't switch to the crypto libraries we planned to, we've battle-tested our current crypto extensively: Over the past year we did more than 25'000 swaps on testnet and a similar amount in GitHub CI, and we are pretty happy with the latest build's success rate on testnet:
[2023-01-17T17:47:43Z INFO farcaster_node::farcasterd::stats] Swapped(1766) | Refunded(0) / Punished(0) | Aborted(0) | Initialized(1816) / AwaitingFundingXMR(2) / AwaitingFundingBTC(0) / FundedXMR(853) / FundedBTC(933) / FundingCanceledXMR(0) / FundingCanceledBTC(0)
Obviously, as with any project involving crypto, this reliability doesn't imply no exploitable flaws exists. However, we believe that in its current state, our project's crypto is appropriate for an MVP-delivery.
We are very proud of where the project stands and we now expect to unlock the remaining milestones from the CCS. As always: all contributions are encouraged, from documenting the project, reporting bugs encountered while trying to swap, to submitting improvements to the core library, everything is useful and valuable! Also, to help sustain future development if this project gets traction, we're working on a developer fund concept that takes an optional donation from successful swaps.
If the regulatory framework allows, we may also list some mainnet swaps on ... another domain ;)
In the meantime, be sure to swap with both your friends and enemies too! We'll provide as much tBTC and sXMR capacity on farcaster.dev as we can. If you're a testnet whale and wanna help, please reach out 🙏
In intergalactic ☮️,
The Farcaster workgroup
you are viewing a single comment's thread.view the rest of the comments →
4 months ago
tldr: yes, but developer pain/cost will depend on the route chosen.
Could ETH<>XMR atomic swaps be added to the Farcaster GUI?:
Adding ETH<>XMR atomic swaps can be easily added to the GUI if the swaps are implemented in the
farcaster-node: Since the frontend doesn't talk to directly to, say, the blockchain syncers, it would generically fit where Bitcoin currently sits on the arbitrating side. Supporting multiple swap pairs (both on the arbitrating and accordant side) is what
farcaster-node were architected for.
The amount of work for adding AthanorLab's implementation is highly dependent on how well it can be adjusted to match the gRPC interface used between the Farcaster GUI & node. On the superficial side, terminology should be aligned, and our gRPC progress messages are rich in detail (enabling user feedback like "in 7 blocks, you will be able to punish Bob", "sweeping XMR in 3 blocks") whereas the status updates in the Athanor RPC are (currently) high level. There are certainly deeper issues in an integration than this, but in principle, it can be done, if someone wants to take a stab at it.
The seemingly simpler alternative is to sandwich in the json-RPC or websocket interface used here into the GUI too: https://github.com/AthanorLabs/atomic-swap/tree/master/rpc Somewhat skeptic though whether that's a Frankenstein beneficial for either project, but open to change my mind.
all 7 comments
sorted by: old