Lightspark Sync 2024: Introducing Spark

Nov 04, 2024

Join Lightspark CTO Kevin Hurley as he introduces Spark— a new payments-focused, open-source Lightning-compatible Bitcoin L2 for stablecoins and self-custody wallets. Spark extends Bitcoin and Lightning and enables non-custodial wallets to send and receive payments in real time at virtually no cost. This solves the elusive issue of non-custodial Lightning. Spark also allows Bitcoin to support tokens, such as stablecoins, for the first time and enables fast, low-cost settlement of stablecoins, making Bitcoin the most payments-friendly, high-performance network for stablecoin issuers. Kevin takes you through the journey so far. 

Transcript:

[00:00:00] My name is Kevin. I'm the CTO of Lightspark, and I am absolutely stoked to be able to tell you about what we've been cooking up recently. Now, as David mentioned, when we started Lightspark, we wanted to build on the network that will be around not only in five years, not only in 10 years but 100, 200 years from now.

And that network is Bitcoin, the most open, neutral, and decentralized platform to have ever existed. And further, on top of that, we build on Lightning, which takes the things that we all know and love about Bitcoin and makes them even better, where you can now transact instantly. You can send any amount from small or large and extremely low fees.

Now when we formed Lightspark in 2022, we were created on the basis of being able to [00:01:00] modernize how money moves. Take it from those antiquated rails that David spoke about and bring it to the modern day, where you can move money just like you move data packets on the internet today. Now, a few years later, we still have that exact same mission.

And we've been working with all of you to try to make that a reality.

And we started out doing this with Lightspark Connect, making it incredibly easy to add Lightning support. We abstract away all the complexities of Lightning, make it super simple to run a Lightning node. You don't need to know about channels. You don't need to figure out how to get inbound liquidity. It all just works, and it works magically.

Next, we help make a seamless integration. Where you can plug in our SDKs, be up and running in no time, abstract away even the integration complexities. Next, we worked on automated routing, using [00:02:00] AI and machine learning, to understand the entire topology of the Lightning Network, at any point in time. We think of it like the Google Maps for Lightning, where you now know where there are going to be road closures, where there are fast lanes.

We make sure that transactions work extremely successfully. Then, we worked on comprehensive reporting and compliance tools. So you can understand exactly what's happening with your node at any point in time. And you have the compliance tools that you need to be able to support the regulatory requirements that you all have.

Then, as Shreya mentioned, we worked on Universal Money Addresses in Extend. We give a simple way for users to be able to interact with each other. Human readable address, where they can now send directly to any bank account globally. And truly connect people through the financial ecosystem. But sadly, there are things that Lightning doesn't do well.

Self-custody is the [00:03:00] first of those. As David mentioned, it just doesn't work well today. Now, why is that? So let's say we wanted to spin out billions of wallets tomorrow. It's just not viable. You're going to run into tons of problems just with block space alone. You're trying to spin up these billion wallets.

It's going to take years. You're going to fill up all the block space. Fees are going to spike to astronomical levels and no one else is going to be able to do anything on L1.

From there, you run into incredible liquidity constraints. As you open an inbound channel for each of these users, you're going to be stockpiling billions or trillions of dollars, just sitting idly, doing nothing. The costs become prohibitive. It's just not an economically viable model. From there, things just get worse.

Let's say I go through a tunnel. I'm in the elevator. I put my phone in my pocket and the app can't foreground. You can't receive money. Lightning [00:04:00] doesn't support native offline receive today. Beyond that, it's immensely complex to integrate Lightning. You talk to any of the developers that are trying to add Lightning support.

If you want to do non-custodial Lightning on a device, it needs to speak Lightning, it needs to sync to the graph. It's not easy to add support. You can't just flip a switch and immediately be on and supporting Lightning. Now, we tried for a long time. And in fact, it was one of the more frustrating experiences I've had at Lightspark.

We had partners coming and saying, We want to do self-custody solutions. We want something that'll scale to millions or billions of users. And we couldn't find a way to make it work. The same thing has happened for countless other companies. Whether they run into regulatory concerns, whether they run into block space concerns, there's just not an economically viable way to actually make this happen.

You look at all the constraints that I mentioned. Not enough block space, cost prohibitive, no offline receive, [00:05:00] incredibly complex, running into regulatory hurdles. It's honestly just not something that will ever work. The second major factor, stablecoins. Stablecoins don't work on Bitcoin and Lightning today.

But there's actually real product-market fit with stablecoins. In fact, I saw a recent report that in Africa, about 50 percent of the people have used stablecoins. There's strong demand from both merchants and consumers alike. When you think of stablecoins, they are sort of the next generation of bank accounts, where users that previously couldn't hold a U.S. dollar-denominated bank account can now do that instantly. They can avoid the inflationary risks of their own countries, where their money just disappears in front of their eyes. Now they can hold this stable asset, and they can transact in it. But there are now 40, 50 chains that support stable coins.[00:06:00] 

Look at my poor friend, Stella here. Sending this email that I'm sure we all get, it's not fake at all saying, why are there so many chains? I don't know, Stella. I don't know, but that's not how payments is going to be. When you look at email, as an example, there aren't 50 different email protocols.

There's one single email protocol that everyone plugs into, and we all speak the same language. Payments are also going to converge on a single network, a network that works extremely well for payments. You're not going to have 50 different networks where you have to figure out where your friends are and only use that network.

And as that happens, and as we have better regulations on stablecoins, there are going to be thousands of stablecoins. Every bank's going to issue one. Every country's going to have their own stablecoin. You're going to have wallets that are issuing stablecoins. There are going to be [00:07:00] thousands of them.

And then you can't have thousands of stablecoins plus 50 different chains. But today, stablecoins don't work on Bitcoin and Lightning. So let's explore a little bit why that is. Well, on layer one, as David mentioned, you have long block times. It's pretty expensive. It's just not viable to use as a transactional platform.

And on Lightning, there have been proposals. Things like Taproot Assets, RGB, LRC20, where people have tried to put stablecoins onto Lightning. But honestly, it's not going to work and it hasn't taken off. There are a couple approaches that you can take to actually make it happen. One, we have these thousand stablecoins.

We have to open up a thousand channels from every single node so that we have a channel with liquidity in each of these two stablecoin types. You get this massive spaghetti network that you see up here, where there's so much liquidity locked up [00:08:00] in all these channels, that again, is not economically viable.

Beyond that, it's technically immensely complex. So what about the alternative? Well, we can have a single centralized node that's a regulated money transmitter that has channels with these different stable coins in them. Everyone connects to these, this one regulated node. Essentially, we have a single centralized database.

I don't think that's the future of finance that any of us really envision. But at Lightspark, we want to be able to make money flow. And today we're [00:09:00] announcing Spark, a new layer two built on top of Bitcoin and Lightning that solves not only these problems, but many others.

Now this is natively interoperable with Lightning built on top of Bitcoin to support the use cases that users want to be able to support payments at scale. You can support billions of users tomorrow. And let's look a little bit at how we actually do this. Well, when we were designing Spark, there were a few core non negotiables, things that we felt like we absolutely had to have.

The first is that it needs to be purpose built for payments. We aren't trying to solve every single problem out there, create a generic chain that can do everything mediocre. We want to do something that is purpose built for payments and does it exceedingly well. Because of that, there's a few core criteria.

It needs to have instant transactions. You shouldn't have to [00:10:00] wait minutes, hours for a transaction to confirm. Second. You need offline receive. As I mentioned with Lightning, there isn't really native offline receive today. But I should be able to put my phone away and still receive payments. Third, it has to be incredibly cheap.

We aren't trying to replicate the current financial system. We're trying to make it massively better, where there aren't tons of intermediaries charging big fees. And fourth, it needs scalable, something that can support billions of users tomorrow, where we can dynamically onboard users in a cost effective way.

The second major criteria that we had needs to support Bitcoin natively, not a wrapped asset or some new token. This needs to use native Bitcoin. Bitcoin has incredible properties and we want to be able to leverage those properties. [00:11:00] From there, our third main criteria needs to have unilateral exit. Users shouldn't have to rely on anyone else to be able to exit.

No one should be able to hold my funds hostage. If I want to go to layer one, I should be able to go to layer one at any point in time without anyone being able to prevent me from doing so.

The fourth criteria we had can't be based on new opcodes or consensus changes to Bitcoin. You see here just a small sampling of some of the proposed opcodes that have been years just sitting there. There have been countless companies formed on the premise of, Oh, if we get this certain opcode, we'll be able to do these amazing things.

Well, no one can accurately predict when certain consensus changes are going to happen in Bitcoin. As you can see here, five years, many more years for some of these, where they're just sitting there. And the companies that were founded to build something based on [00:12:00] these are now in the graveyard. So we aren't going to try to build something that needs something in the future to happen.

We're going to build a platform that can exist today and solve the problems of today. And sure, if some of these opcodes happen, we can continue to make things better. We want to solve these problems today. And that's what we're doing with Spark. Spark is built, again, on top of Bitcoin and Lightning. And I know the obvious question: is this a replacement for Lightning?

No, it's not. So there are things that Lightning does extremely well. Custodian to custodian transactions. And there are things that Spark does extremely well. Supports the self custodial users. Makes it easy to support stable coins. We think these are two parallel networks that work together, hand in hand and support each other.

And Spark natively supports Lightning as well. So enough of me talking, let's see this in action. So here we're going to have a custodial user on [00:13:00] Coinbase. One of my favorite wallets, and not just because they're one of our clients, but also it's a great wallet. So we're going to send from the custodial wallet on Coinbase, send over Lightning to a non custodial user on Spark.

The user on Spark was able to spin up their wallet instantly. They don't even need to know that the counterparty is on custodial Lightning. And vice versa, the user on Coinbase doesn't need to know that they're sending to a user on Spark. It just magically works. And in fact, for the users on Spark, it's incredibly simple.

They don't need to run a node. They don't need to have liquidity locked up in channels. There are no channels on Spark. You have native offline receive. All the properties of things that make it painful on Lightning are abstracted away and don't need to exist on Spark. So let's see it in action. Here we've got the user on [00:14:00] Coinbase sending a Lightning payment.

Paying the invoice that was created by the non-custodial user, and you'll see it sending immediately. And the user is able to receive money natively on Spark in their self custody wallet.

Just like that, the money appears. Now, you can interact with billions of new users. For all of you that already have integrated with Lightning today, you now have a new customer set that you can interact with. We expand the network even further. Next. How about we just send to a phone number? Why even worry about invoices or anything like that?

Let's just send to a phone number and dynamically spin up a wallet for a self custodial user. Actually, let's make it even harder. Let's send it with a stablecoin. A U.S. dollar denominated stablecoin. So you'll see our user here on Spark has some money in a U.S. dollar denominated stablecoin. They are going to send directly to a phone number.[00:15:00] 

The recipient's going to get an SMS, which will spin up a self custody wallet. They immediately have their funds, and we can again send this to billions of users tomorrow. It's something that's massively scalable and allows you to now send natively over Lightning, send SMSs to open up new wallets, and do that with stablecoins.

Just like that, the user has their $56 in stablecoins. Next, let's look at UMA. So you all have done great work to integrate UMA. And it's this amazing platform that Shreya highlighted. Well, Spark can actually support this natively as well. Now you can again have billions of new users. You'll ascend from a self custody wallet directly to the bank account of a user that's already on UMA.

So you'll see this in flight. We're able to pay someone, Ethan here, on [00:16:00] UMA. And it will appear directly in his bank account as US dollars. You're now able to instantly send from anyone on the Lightning Network, on Spark, directly to a user who has a bank account in a fiat currency. Here you can all see how much money Ethan actually has.

Okay, so that's pretty amazing. But how do we actually integrate this and make it simple? Well, coming in Q4, we are going to be introducing Wallet as a Service. The days where you have to remember a seed phrase are long gone. Nowadays, modern wallets. Support solutions where you can securely create and dynamically create billions of wallets on the fly.

We're working with leading wallet providers to be able to do this, where you'll now be able to integrate this incredibly simply. You'll be able to add self-custodial solutions to your products [00:17:00] overnight. And next, how about stablecoin issuance? We've talked with all of you, and we've heard the frustrations that stablecoin issuance and issuing tokens is a massive pain.

Well, in Q4, we're also launching a stablecoin issuance platform to issue coins natively on Spark. As you can see here, our beautiful UI by our amazing design team. We'll be able to support the use cases that you need to, where you can issue tokens, you can burn tokens. Not only that, you can do things that you need to do from the regulatory perspective, where you can freeze and unfreeze assets as well.

So now we're going to do a quick technical deep dive. For those of you maybe a little bit less technically inclined, feel free to take a quick power nap and then I'll, I'll tell you when you can come back. So how does Spark work? So it's based on a set of different technologies that have been proposed in Bitcoin.

But combining those into something that we think is [00:18:00] much greater than some other parts. And it kind of eliminates a lot of the shortcomings of those technologies. One of those is state chains. A really incredible technology which allows you to transfer an off-chain UTXO from one user to another. There are some inherent limitations to vanilla state chains that we have overcome with Spark.

You can now do this where you send any amount. You can do it unlimited number of times. We eliminate a lot of the shortcomings of state chains and make it so there aren't these absolute time bombs that exist typically in state chains. They can exist forever. So let's look a little bit at how this might actually work under the hood.

So we have Alice here again, who has a Spark leaf. Think of private keys here as just a large random number. Alice generated this really large random number of 50. Alice has her private key with this random number of 50. And she now works with what we call the state [00:19:00] chain entity, who generates a private key of 100.

When we combine this, it's a combined pub private key of 150. So we can sign things using this combined key. Alex put, Alice puts the money into the state chain. It's encumbered by this shared key and then there's a big tree structure that exists under that. Now Alice wants to send a portion of those funds to Bob.

Bob generates his own random private key with a value of 40. We now have the state chain entity tweak their key such that the overall sum remains the same at 150. The state chain entity now forgets their old key and Bob generates new refund transactions. By doing this, Alice no longer has the ability to manipulate the funds or hold the funds.

Bob can leave unilaterally at any point in time by putting his transaction on chain. And the state chain can no longer do anything with Alice either.[00:20:00] 

And now let's look at how we do this with Lightning to make Lightning simple. So we do atomic swaps of the pre image for leaves of the spark tree. And we do this in a safe way where it's a true atomic swap. The user doesn't need to run a Lightning node. They again get offline received this way. No need to lock up liquidity anymore.

It's an incredibly simple integration, where the user can just have an SDK they plug in instead of having a full Lightning Node running. And now let's look at, like, some of the journey from now to the future. Spark isn't 100 percent trustless today. We have a path towards trustlessness, but today it's not 100 percent trustless.

Instead, it's what we call very trust minimized. And when I say that, I mean we can go as low as one of N honest operators. But even that is not good enough for us. When I say 1 of n, it's actually better than that because it's only at moment in time. So, the time [00:21:00] of transfer is, as long as one operator was honest, there's no longer any trust in perpetuity.

If those operators are later hacked or become malicious, doesn't matter, your funds are safe. And you can of course unilaterally leave at any point.

We also care deeply about making sure the spark is completely open. Development's done in the open. We're going to fully open source things. We want to work with the community on improving it and continuing to make it better and better. We want people to submit PRs. We want to brainstorm on this with the community.

In fact, we've actually already seeded it out to quite a few people and gotten really positive reception.

We also want to take the learnings we have from Connect and apply those to Spark as well, where we create an incredibly easy to integrate SDK. There's no longer the big hassle of trying to run Lightning nodes and all that complexity. Just a very simple interface where you can add [00:22:00] support for Spark, which gives you native support for Lightning and UMA as well.

So we take all the amazing things that David and Shreya talked about. We can now support those with self custody users as well. They now have these same use cases that they can support. So tipping, content creation, all those can now be enabled for self custody users as well. So we've explored a little bit about Spark here.

How it supports self-custody case use cases. We can scale up to billions of people tomorrow. You can dynamically onboard people. There's no bulk pre-signing, no requirements to be online. It's an incredibly simple integration where you now can support self-custody users. We explored how now we solve stable coins on Spark.

You no longer need those 50 chains. We can get rid of those and we have one payments focused chain that works extremely well and leverages the amazing properties of Bitcoin. We have the most neutral, open, decentralized [00:23:00] network. And it can now support all the use cases that all these 50 other chains were trying to duplicate.

We can now do that on the original and best chain. Next, we showed how it's natively interoperable with Lightning and UMA, how we are expanding the pool of users to billions more that can now natively send over Lightning, can send over UMA directly to a bank account. Today, we're introducing the alpha version of Spark.

Before we got this out, we wanted to play around with it a little bit, build out an alpha version of the code, make sure that it actually does the things that we think it can do. We're to that point now. We worked with an amazing team at Lightspark and at Polarity who have helped build this. We have some great code.

The screens that you saw were real and live and mainnet. All this is actually functional and ready to go. Now we still are gonna iterate [00:24:00] and continue to make it better. We're ready for people to start integrating and helping us develop as well. Tomorrow we're also publishing our technical deep dives where you can read more about Spark.

And we're continuing to engage with the community and try to make this into the best network

So you saw how Spark enables self-custody. Nearly unlimited throughput. We get rid of the need for all these other junk chains. You solve L1 fee constraints. We solve L1 block space. You can create tokens on top of this. You don't even need to do it on top of Layer 1 and congest Layer 1. We now have opened this up to be able to do use cases on Bitcoin that have never been possible before.

This is honestly a truly magical experience, and I think once you all start playing with it, you'll see how amazing this truly is. It solves all the issues. Bitcoin can now do everything that we need it to do for payments. [00:25:00] So that's Spark. It's going to increase the audience of the users that you all have today and be additive to what you've already done.

But now we can support all the incredible things that Bitcoin couldn't support well before. Let's go off and build this together. Thanks, everyone.