-
-
Notifications
You must be signed in to change notification settings - Fork 38
Update Splicing project page #621
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
01247ea
content: rewrite Splicing project page
dergigi 73a9578
content: update Splicing project links
dergigi 5a5ea9d
content: redirect dusty project page
dergigi f35ba9e
content: tighten Splicing project copy
dergigi b534ed6
content: add Dusty quote to Splicing page
dergigi 96ed139
content: tighten Splicing liquidity wording
dergigi 6f07e3d
content: fix Splicing quote attribution markup
dergigi 8501cc3
content: shorten Splicing quote
dergigi eae9305
content: move Splicing quote after intro
dergigi 7042e71
content: add Splicing progress update
dergigi 579b3f6
content: add Splicing donation link
dergigi 00ed51a
chore: merge master into splicing page update
dergigi 465bddf
fix: wrap Splicing quote attribution in cite
dergigi 0057be1
fix: use concrete subject in Splicing page
dergigi d86cd53
docs: address Splicing review wording
dergigi af3e699
docs: link Splice Script in Splicing page
dergigi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,67 +1,39 @@ | ||
| --- | ||
| title: 'Splicing' | ||
| dateAdded: '2023-03-10' | ||
| summary: 'A Lightning upgrade for resizing channels without closing them.' | ||
| summary: 'Resize Lightning channels without closing them.' | ||
| nym: 'Dusty Daemon' | ||
| website: 'https://lightningsplice.com/' | ||
| donationLink: 'https://njump.to/npub1fuk7q4y0wzqw7vjrg7xeuuva79pg7ctg69a53zsxq6gepksufrrst9mzly' | ||
| coverImage: '/static/images/projects/splicing.jpg' | ||
| git: 'https://github.com/lightning/bolts/pull/863' | ||
| git: 'https://github.com/lightning/bolts/pull/1160' | ||
| twitter: 'dusty_daemon' | ||
| personalTwitter: 'dusty_daemon' | ||
| nostr: 'npub1fuk7q4y0wzqw7vjrg7xeuuva79pg7ctg69a53zsxq6gepksufrrst9mzly' | ||
| tags: ['Lightning', 'Protocol'] | ||
| showcase: true | ||
| fund: general | ||
| announcementLink: '/blog/bitcoin-grants-july-2023#splicing' | ||
| --- | ||
|
|
||
| ## About this project | ||
| Splicing is a Lightning protocol improvement that lets users resize channels without closing them and opening new ones. Instead of tearing down an existing channel to add or remove liquidity, a splice updates the channel's funding transaction in place. | ||
|
|
||
| Splicing is a proposal for BOLT 2, BOLT 7, and BOLT 9 that is maintained by | ||
| [Dusty Daemon](https://lightningsplice.com/dusty_daemon.html). | ||
| > The increased liquidity flows improve all aspects of Lightning including payment speed, payment fees, and payment reliability. | ||
| > | ||
| > <cite>— [Dusty Daemon](/blog/advancements-in-lightning-infrastructure#splicing)</cite> | ||
|
|
||
| - See the complete proposal here: [Splicing Specification](https://github.com/lightning/bolts/pull/863/files) | ||
| - Discussion here: [Splicing Spec Conversation](https://github.com/lightning/bolts/pull/863) | ||
| Splicing gives users a cleaner way to add or remove liquidity, helping node operators manage capital more efficiently. | ||
|
|
||
| At its core Splicing is a simple concept, the ability to resize Lightning | ||
| channels. But what's become apparent over time is the ability to resize | ||
| Lightning channels gives us many additional benefits that were not intuitively | ||
| obvious at first, and will fundamentally improve the utility of Lightning. | ||
| ## Why fund it? | ||
|
|
||
| There are really two sides to what Splicing brings: | ||
| Splicing has been discussed for years, but turning a specification into production-ready code takes focused engineering. It touches protocol design, transaction construction, edge-case handling, interoperability, and developer education across multiple Lightning implementations. | ||
|
|
||
| - User-facing improvements | ||
| - Backend liquidity improvements | ||
| OpenSats began supporting Splicing in July 2023 through a [Bitcoin grant](/blog/bitcoin-grants-july-2023#splicing) to Dusty Daemon, who has been driving both the specification and the first implementation work. That support later expanded into [long-term support](/blog/dusty-daemon-receives-lts-grant) as the project matured. | ||
|
|
||
| Splicing is the process of moving a lightning channel's funding utxo into a new | ||
| "spliced" utxo. The exact steps involved are quite simple: sign the 2of2 | ||
| multisignature transaction to a new location. Doing it in a trustless manner | ||
| however, is not simple at all. | ||
| ## What's next? | ||
|
|
||
| - Splicing explained: [lightningsplice.com](https://lightningsplice.com/splicing_explained.html) | ||
| - Splicing video explanations: [lightningsplice.com/videos](https://lightningsplice.com/splicing_videos.html) | ||
| The official merging of the splicing specifications in the [BOLTs repository](https://github.com/lightning/bolts) has moved this work closer to broader deployment. In the [lightning infrastructure impact report](/blog/advancements-in-lightning-infrastructure#splicing), Dusty describes progress on a full implementation in Core Lightning, work on [Splice Script](https://github.com/ElementsProject/lightning/pull/6980) for more expressive transaction flows, and parallel efforts to bring Splicing into LDK. | ||
|
|
||
| ## About Dusty | ||
| Dusty's latest reports show that the work has shifted from ratifying the spec to shipping usable tools. The splicing spec is now ratified, Core Lightning and Eclair have gone through final interoperability work, and Splice Script now supports multi-channel splices plus simpler `splicein` and `spliceout` flows. | ||
|
|
||
| I have been working on Bitcoin code for five years and 1.5 years ago I decided | ||
| to dedicate myself to programming for the Lightning network. I began by learning | ||
| about Lightning in depth and making contributions to the CoreLightning project. | ||
| I felt particularly accomplished rooting out some complex flakiness bugs and | ||
| porting the project to MacOS. | ||
|
|
||
| I had heard of splicing in 2018 and saw it making the news rounds last year. On | ||
| Clubhouse and Twitter Spaces bitcoiners were talking excitedly about using | ||
| submarine swaps and I suggested people use splicing instead! The confused | ||
| silence was palpable, no one had heard about it all. Diving in I realized only | ||
| the splicing spec had been released — no one had actually written the code! So I | ||
| decided I would take on the work of coding up the first implementation. By March | ||
| of this year I had made the world’s first splice and published it on chain! You | ||
| can see it here: | ||
| [twitter](https://twitter.com/dusty_daemon/status/1522413475909316610), | ||
| [mempool](https://mempool.space/tx/c143bbd3f983e7d07bbccf571352c2432c8e97a543d26a6962582021ec788804). | ||
|
|
||
| Since then I have been working on finishing up the proper & complete splice | ||
| implementation. The code is now in a beta state which you can see here: | ||
| [PR #5675](https://github.com/ElementsProject/lightning/pull/5675) | ||
|
|
||
| I’m looking for funding to finish the code to a polished state, build a thorough | ||
| testing framework, evangelize to companies that would benefit from splicing, and | ||
| bring the implementation to the other Lightning node code bases. | ||
|
|
||
| - Dusty's worklog: [ddustin/worklog](https://github.com/ddustin/worklog) | ||
| The next step is wider interoperability and production adoption. Once multiple Lightning stacks can rely on the same underlying behavior, Splicing can become a standard liquidity tool instead of a niche feature. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.