Skip to main content

2 posts tagged with "DLC-Channels"

View All Tags

· 7 min read

If you are reading this post, you may have already heard that we have closed all Lightning channels with our users, replacing them with DLC channels. That may sound like a step backwards, so we want to explain our reasoning behind this decision and tell you why we think it is actually a good thing.

Why we started with Lightning

10101 was conceived as a mobile Lightning wallet with trading capabilities. We think most bitcoiners have heard about Lightning, and they have probably even used a Lightning wallet before. It made sense to us to package our offering together with something that our target user was already comfortable with.

And we saw some synergies between Lightning and DLCs, the technology that we have been using for years to help bitcoiners trade. We wanted our users to be onboarded instantly: generate a Lightning invoice; pay it with their own Lightning wallet; receive the funds instantly in their 10101 app; and start trading straight away. The user would then be able to move funds seamlessly between their trading and Lightning wallets. We even had ambitious plans to let users pay Lightning invoices with a synthetic US dollar stable coin, backed by a DLC.

And we actually managed to do all of that. But the user experience wasn't nearly good enough.

Why Lightning was slowing us down

We've had problems with Lightning at every step of the user's journey through 10101:

  • Users found it difficult to move coins into 10101. A Lightning payment can fail for many reasons, and it is often hard to pinpoint the cause. We generally overcame these issues as we learnt more about Lightning, but it is pretty scary to lose a potential user at the first hurdle.

  • Users found it very difficult to move coins out of 10101. If you have used 10101 to pay an invoice, you have almost certainly run into the dreaded route not found error message. Similar to the previous point, debugging these problems was not simple. In some cases, our node was at fault because routing channels were unusable or the channel-scoring component was not up-to-date. Other times, payments would fail because the 10101 app had a stale channel graph of the Lightning network.

  • Channels would be force-closed for no apparent reason. Of course, there is always a reason. Disagreements during fee negotiations and expired HTLCs were the main culprits here. Regardless, any unnecessary force-closure is catastrophic because it is a waste of money and time for everyone involved. And this is particularly egregious when you are in a high transaction fee environment, like the one we experienced in 2023.

  • When an LN-DLC channel1 was force-closed, getting the money back was a huge ordeal. The LN-DLC protocol requires up to 5 different transactions to be published when a channel is closed unilaterally. Several of these transactions have long timelocks to keep the protocol safe, and every transaction needs to pay a fee to be mined. This meant that it could take a very long time for a substantially smaller portion of the funds to be returned. And, in some edge cases, certain transactions would not even get mined because their reserved fees were too low compared to the rest of mempool2.

As you might imagine, many developer hours were spent chasing Lightning-related bugs3, and this was complicated further by the fact that we were maintaining an extremely complex chain of code dependencies to support Lightning in the first place. We received excellent support from the maintainers of rust-dlc and rust-lightning, but we were always fighting an uphill battle.

Ultimately, the main goal of 10101 was to let you trade self-custodially with your sats. We were spending a disproportionate amount of time working on problems related to Lightning, with little time left to improve the trading experience.

Ripping the band-aid off

At the start of 2024, we finally decided to pivot away from LN-DLC channels. It was not an easy decision, because we had invested so much time into improving the protocol4. But we knew that we had to simplify the tech in a way that better aligned with our priorities.

This pivot involved removing the "LN" out of LN-DLC channels. Fortunately, there already existed an implementation of DLC channels5 in rust-dlc, and we were very familiar with the code. We were able to replace LN-DLC channels with DLC channels in just a few weeks.

There are still some hiccups, but users are encountering fewer problems using the app and the dev team is in a much better position to fix bugs and add new features. Funnily enough, Lightning is a feature that we want to reintroduce in the future.

The comeback

We haven't planned this carefully in advance, but we have some ideas on how this re-integration could look like.

Since the 10101 user already has a DLC channel with us, we already have a place where funds can be moved between the two parties. The library we are using does not currently support using the DLC channel for payments between the two parties, but this would be relatively easy to implement.

Once we are able to make payments within the DLC channel, we just have to bridge the gap between this isolated channel and the Lightning Network. That is, to ensure that a payment within the channel can be propagated through the Lightning Network to reach the payment destination.

A naive approach would be for the user to send us some sats plus a Lightning invoice, and for us to pay the invoice once the payment in our DLC channel has been committed. This has the obvious downside that the user has to trust us to make the payment on their behalf. Nevertheless, it could be acceptable for small payments.

To make it "trustless", we would have to make the payment within the DLC channel conditional on the Lightning payment being claimed. The user would generate a Lightning invoice at the destination wallet and feed it into the 10101 app. The app would then add a HTLC to the DLC channel, locked against the secret hash of the invoice. Our 10101 node would then make the payment on Lightning, which, once claimed by the destination wallet, would reveal the secret back to us. With the secret we would then be able to claim the HTLC in the DLC channel, but we would then collaborate with the app to remove the HTLC altogether and update the balances accordingly.

Obviously, that just sounds like Lightning. But in reality the payment within the DLC channel could be unlocked by a secret that has nothing to do with a Lightning payment. Which means that the DLC channel can be oblivious of Lightning altogether, simplifying the implementation. And the app does not need to run a Lightning node!

Outro

On a personal note, I am proud of the team for being humble and admitting that we had to change our approach. As with most things in life, we now wish we had done it sooner, but hindsight is always 20/20.

If you have any further questions or comments, please reach out on Telegram or on Twitter. We always want to hear from you. And if you haven't used the 10101 app yet, head over to 10101.finance, where you can find download links for you app store of choice.

Footnotes

  1. LN-DLC channels are channels that support both the Lightning protocol (for payments) and DLC channels (for trading, in 10101). They are the construct that allowed 10101 to users to use Lightning and trade at the same time, with a single channel.

  2. We could have fixed this by ensuring that each LN-DLC transaction included an anchor output (per party). In fact, this is something that we now need to address for DLC channels, where the buffer transaction does not include anchor outputs.

  3. To be clear, this is not to blame Lightning for all of our problems. Users also encountered problems with parts of the app that did not involve Lightning directly. And, in any case, we take responsibility for the bugs that our users have run into during the beta.

  4. The author of which is Thibaut Le Guilly, the maintainer of rust-dlc.

  5. We used extremely similar technology in our previous project, ItchySats.

· 7 min read

2024 kicked off at full speed in the Bitcoin world: we celebrated the 15th Bitcoin anniversary on January 3rd; Bitcoin ETFs were approved and have recorded record-breaking trading volume; and, of course, we are heading towards the next Halving after block 840,000, which is estimated to happen around April 19th.

While this alone is already plenty to digest, we at 10101 will continue pushing the boundaries of self-custodial trading on Bitcoin using Discreet Log Contracts (DLCs).

2023 - A Year in Review: Achievements and Growth

2023 was the biggest year for us ever.

Winning $750k in NY

At the beginning of April, we packed our bags and flew to New York to participate in the first edition of the prestigious Bitcoin startup accelerator, Wolf (https://wolfnyc.com/). After completing the 8-week program and pitching in front of potential investors, we emerged victorious, securing an additional investment of $500k. Combined with the $250k cheque that every startup got for participating, we earned a whopping $750k. We are very proud of our achievements at Wolf, but that is just one small step in our journey towards untethering the power of self-sovereign Bitcoin finance.

Giving back to the community

During the summer, we shared our expertise on DLCs at various conferences, including BTC Prague, Baltic Honeybadger in Riga, The Bitcoin Conference in Innsbruck, and Adopting Bitcoin in El Salvador. It is one of our primary goals to not only develop groundbreaking technology, but also contribute to the wider community by imparting knowledge and educating others on how to continue growing the Bitcoin ecosystem.

Public launch of our beta program

In October, we reached a significant milestone with the eagerly awaited public launch of our mobile application, 10101, now available on both Android and iOS platforms. This marked a pivotal moment in our journey, bringing us closer to our audience and allowing users to experience firsthand the innovative features we had been working on.

The positive response from our initial users has kept us motivated as we refine and enhance the app based on all the valuable feedback.

USDP: Pioneering the World's First Self-Custodial Stablecoin on Lightning

In late 2023, we came second in second edition of the Legends of Lightning Tournament (https://bolt.fun/project/10101) organised by bolt.fun. During this event, we achieved a gret feat by launching the world's first self-custodial stablecoin on Lightning—USDP.

Checkout our video here: https://rumble.com/v40mwq7-usdp-the-first-usd-on-lightning.html

USDP meets the longstanding demand within the Bitcoin community, seamlessly blending the stability of a traditional "stable coin" with the censorship-resistant network of Bitcoin. Users can now send and receive satoshis around the Lightning Network while maintaining stability in USD value which makes USDP natively interoperable with any Lightning wallet.

This unique feature ensures users experience the benefits of a stablecoin while retaining full control over their private keys. USDP marks a significant stride in providing a secure and censorship-resistant financial experience on the Lightning Network.

2023 presented its fair share of challenges, as pushing the boundaries of self-custodial trading proved to be a formidable task. Our commitment to bringing self-custodial trading to the masses led us to integrate DLCs into Lightning. This allowed users to engage in self-custodial trading without counterparty risk, directly from their Lightning wallets.

The convergence of these cutting-edge technologies, however, introduced several hurdles: code complexity, protocol complexity and the number of transactions which have to be broadcasted when force-closing a DLC/Lightning channel.

Other challenges included random channel force-closures stemming from fee rate negotiation failures, dealing with amounts that risked pushing channel balances below dust values, and navigating high transaction fee environments that unexpectedly complicated Lightning transactions.

During this journey we learned a lot about Lightning, fee management, and the intricacies of the Bitcoin mempool. Despite the challenges, we remain convinced that DLCs are the ideal tool for self-custodial trading on Bitcoin. However, recognizing the need for Lightning improvement, we've adjusted our course to focus on building DLC Channels.

Building on the groundwork laid two years ago with ItchySats (https://comit.network/blog/2022/01/11/cfd-protocol-explained), we are now bringing DLC Channels to mobile devices, simplifying and enhancing accessibility. Today we are using the more advanced library rust-dlc (https://github.com/p2pderivatives/rust-dlc).

This strategic shift was driven by the complexity of merging both technologies seamlessly.

It's important to note that we are not abandoning Lightning. In an upcoming release later this year, we will connect DLC Channels with Lightning, offering users the best of both worlds: the simplicity of DLC Channels and access to Lightning’s large payment network.

For a more technical deep dive on this topic, stay tuned for an upcoming blog post on this topic.

Looking Ahead: Our Vision for 2024

We have very ambitious plans for 2024:

We've just relaunched our app with simplified DLC Channels. We have removed the ability to fund the wallet using Lightning, but this change is only temporary. In an upcoming release, we'll reintroduce this feature, and we will bring back USDP too. Users will once again be able to transact in stable coins on Lightning – fully self-custodial.

Having initiated a pilot program code-named DLC Connect, we're now also catering to institutional investors seeking counterparty-risk-free Bitcoin derivatives trading. This self-hosted solution aligns with our 10101 app, which is aimed at retail investors.

In anticipation of the next bull market, we foresee not only high volatility but also escalating on-chain fees for Bitcoin. Recognizing how this can prevent new users from setting up DLC or Lightning Channels, we are exploring looking at technologies like Fedimint or Liquid, as we aim to provide a more cost-effective and risk-reduced option as an alternative to layer-2 protocols on Bitcoin.

Join Us on the Journey: Your Role in Our 2024 Plans

To our valued retail users, your participation in self-custodial trading is not just about transactions – it's an opportunity to shape the early stages of our journey. We welcome your opinions, thoughts, and feedback as we continue to refine and improve.

Join us on Telegram (https://t.me/get10101) and follow us on X.com (https://x.com/get10101).

To our esteemed institutional investors, explore a new era in Bitcoin derivatives trading through our pilot program, DLC Connect. Your input is invaluable as we navigate these early stages. Share your insights, thoughts, and feedback to help us shape a secure and robust platform. Together, let's chart the course for a collaborative and successful future in 2024.

Charting a Bold Course: Together into 2024

As we enter 2024, several companies are delving into the topic of on-chain DLC protocols. Notable players like Atomic Finance, DLC.link, Mutiny, and LNMarkets, are making strides in various areas, from Bitcoin yield products to bridging blockchains and on-chain social betting.

However, it's essential to anticipate that the rise of on-chain transaction fees will pose a challenge for on-chain DLC protocols, ruling out small trades and retail investors.

At 10101, we take pride in pushing the boundaries of self-custodial trading using layer two protocols. Our recent relaunch features simplified DLC Channels, a testament to our commitment to reducing on-chain footprint while enhancing privacy and speed.

Read more on 10101.finance, join us on Telegram (https://t.me/get10101/1) and follow us on X.com (https://x.com/get10101) as we collectively steer towards a future marked by innovation, collaboration, and self-custodial excellence.

Download our app here:

Cheers, Philipp and the whole 10101-team