Skip to content

Instantly share code, notes, and snippets.

@remyers
Last active August 4, 2020 06:53
Show Gist options
  • Save remyers/c187a56ee68ff5df3b581b9d58c85ee2 to your computer and use it in GitHub Desktop.
Save remyers/c187a56ee68ff5df3b581b9d58c85ee2 to your computer and use it in GitHub Desktop.
[Fund Channel]
|
|
|
v
P=Musig(A,B)+scripts (for Taproot script-path spend)
Q=Musig(A,B) (for Taproot key-path spend)
OR ----------- [Cooperative Close]
||| Sig(Q) -----+
||| |----> Sig(A)...
||| |
||| |----> Sig(B)...
|||
|||
||+-->[Update(n)]
|| nlocktime/state > n
|| Sig(P)+ANYPREVOUTANYSCRIPT
||
|| OR ---------->[Settle(n)] [Uncooperative Close @ state n]
|| | Sig(P)+ANYPREVOUT
|| | csv [delay] --------+---> Sig(A)... [HTLCs & Settled
|| | | Outputs ]
|| | |---> Sig(B)...
|| v
|+---->[Update(n+1)]
| nlocktime/state > n+1
| Sig(P)+ANYPREVOUTANYSCRIPT
|
| OR ----------->[Settle(n+1)] [Uncooperative Close @ state n+1]
| | Sig(P)+ANYPREVOUT
| | csv [delay] -------+---> Sig(A)... [HTLCs & Settled
| | | Outputs ]
v v |---> Sig(B)...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment