際際滷

際際滷Share a Scribd company logo
Lightning Network (BOLT)
Normal Operation Sequence
Hiroki Gondo (Nayuta inc.)
2019/05/21
+-----+ +-----+
| |--- update A -->| |
| |<-- update B ---| |
| | | |
| | | |
| | | |
| A | | B |
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+
| |--- update A -->| | How many more messages
| |<-- update B ---| | are needed?
| | | |
| | ? | | a. 2 messages
| | ? | | b. 4 messages
| A | ? | B | c. 6 messages
| | ? | | d. more
| | ? | |
| | ? | |
| | ? | |
| | ? | |
+-----+ +-----+
+------------+ +-----+ +-----+ +------------+
|commit tx #0| | |--- update A -->| | |commit tx #0|
+------------+ | |<-- update B ---| | +------------+
|sig | | | | | |sig |
+------------+ | | | | +------------+
| | | |
| A | | B |
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
Lightning Network (BOLT) Normal Operation Sequence
+-----+ +-----+ +-------------+
| | | | |commit tx #0 |
| | | | +-------------+
| | | | |sig |
| | | | +-------------+
| | | |
| A | | B |
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| | | | +-------------+
| | | | |sig |
| | | | +-------------+
| | | |
| A | | B |
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| | | | +-------------+
| | | | |sig |
| | | | +-------------+
| | | |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| |<-- update B ---| | +-------------+
| | | | |sig |
| | | | +-------------+
| | | |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| |<-- update B ---| |(update B) +-------------+
| | | | |sig |
| | | | +-------------+
| | | |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| |<-- update B ---| |(update B) +-------------+
| | | | |sig |
| |---- commit --->| | +-------------+
| | | |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| |<-- update B ---| |(update B) +-------------+
| | | | |sig |
| |---- commit --->| | +-------------+
| | | |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | | |sig |
+-----+ +-----+ +-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| |<-- update B ---| |(update B) +-------------+
| | | | |sig |
| |---- commit --->| | +-------------+
| |<--- revoke ----| |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | | |sig |
+-----+ +-----+ +-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #0 |
| |<-- update B ---| |(update B) +-------------+
| | | | |sig |
| |---- commit --->| | +-------------+
| |<--- revoke ----| |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | | |sig |
+-----+ +-----+ +-------------+
+-----+ +-----+
| |--- update A -->| |
| |<-- update B ---| |(update B)
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
| A | | B | +-------------+
| | | | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | | |sig |
+-----+ +-----+ +-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| |(update B) +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| |(update B) +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| |(update B) +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| |---- revoke --->| |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| |---- revoke --->| | +-------------+
| | | | |commit tx #2 |
| | | | +-------------+
| | | | |update A |
+-----+ +-----+ +-------------+
|update B |
+-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| |---- revoke --->| | +-------------+
| | | | |commit tx #2 |
| |---- commit --->| | +-------------+
| | | | |update A |
+-----+ +-----+ +-------------+
|update B |
+-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| |---- revoke --->| | +-------------+
| | | | |commit tx #2 |
| |---- commit --->| | +-------------+
| | | | |update A |
+-----+ +-----+ +-------------+
|update B |
+-------------+
|sig |
+-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| |---- revoke --->| | +-------------+
| | | | |commit tx #2 |
| |---- commit --->| | +-------------+
| | | | |update A |
+-----+ +-----+ +-------------+
|update B |
+-------------+
|sig |
+-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| |---- revoke --->| | +-------------+
| | | | |commit tx #2 |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update A |
+-----+ +-----+ +-------------+
|update B |
+-------------+
|sig |
+-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |sig |
| A | | B | +-------------+
| |<--- commit ----| |
| |---- revoke --->| | +-------------+
| | | | |commit tx #2 |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update A |
+-----+ +-----+ +-------------+
|update B |
+-------------+
|sig |
+-------------+
+-----+ +-----+
| |--- update A -->| |
| |<-- update B ---| |
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
| A | | B |
| |<--- commit ----| |
| |---- revoke --->| | +-------------+
| | | | |commit tx #2 |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update A |
+-----+ +-----+ +-------------+
|update B |
+-------------+
|sig |
+-------------+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+ Ans. 6 messages
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+ Ans. 6 messages ???
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- commit ----| | |update B |
| A |<--- revoke ----| B | +-------------+
| |---- revoke --->| | |sig |
| |---- commit --->| | +-------------+
| |<--- revoke ----| |
| |<--- commit ----| |
| |---- revoke --->| |
+-----+ +-----+ Ans. 6 or 8 messages
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- commit ----| | |update B |
| A |<--- revoke ----| B | +-------------+
| |---- revoke --->| | |sig |
| |---- commit --->| | +-------------+
| |<--- revoke ----| |
| |<--- commit ----| |
| |---- revoke --->| |
+-----+ +-----+ Ans. 6 or 8 messages
Lightning Network (BOLT) Normal Operation Sequence
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+ Why?
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+ Why?
Lightning Network (BOLT) Normal Operation Sequence
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| | | | +-------------+
| | | | |update A |
| | | | +-------------+
| | | |
| A | | B |
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| | | | +-------------+
| | | | |update B !!! |
| A | | B | +-------------+
| | | |
| | | |
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| | | | +-------------+
| | | | |update B |
| A |---- commit --->| B | +-------------+
| | | | |sig |
| | | | +-------------+
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| | | | +-------------+
| | | | |update B |
| A |---- commit --->| B | +-------------+
| | | | |sig |
| | | | +-------------+
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| | update B -| | +-------------+
| | / | | |update A |
| | / | | +-------------+
| | / | | |update B |
| A |---- commit --->| B | +-------------+
| | / | | |sig |
| | / | | +-------------+
| |<-------- | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| | update B -| | +-------------+
| | / | | |update A |
| | / | | +-------------+
| | / | | |update B |
| A |---- commit --->| B | +-------------+
| | / | | |sig (invalid)|
| | / | | +-------------+
| |<-------- | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #1 |
| | update B -| | +-------------+
| | / | | |update A |
| | / | | +-------------+
| |<------------ | | |update B |
| A |---- commit --->| B | +-------------+
| | | | |sig (valid) |
| | | | +-------------+
| | | |
| | | |
| | | |
+-----+ +-----+
+-----+ +-----+ +-------------+
| |--- update A -->| | |commit tx #2 |
| |<-- update B ---| | +-------------+
| | | | |update A |
| |---- commit --->| | +-------------+
| |<--- revoke ----| | |update B |
| A | | B | +-------------+
| |<--- commit ----| | |sig |
| |---- revoke --->| | +-------------+
| | | |
| |---- commit --->| |
| |<--- revoke ----| |
+-----+ +-----+
BOLT #2: Peer Protocol for Channel Management
Normal Operation
> Counter-intuitively, these updates apply to the other
> node's commitment transaction; the node only adds those
> updates to its own commitment transaction when the remote
> node acknowledges it has applied them via
> `revoke_and_ack`.

More Related Content

Recently uploaded (20)

DAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptx
DAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptxDAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptx
DAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptx
GellaBenson1
Introduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptxIntroduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptx
pprakash21252
FIRST Tech Challenge/Robotics: Scouting out the competition
FIRST Tech Challenge/Robotics: Scouting out the competitionFIRST Tech Challenge/Robotics: Scouting out the competition
FIRST Tech Challenge/Robotics: Scouting out the competition
FTC Team 23014
RES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksns
RES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksnsRES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksns
RES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksns
lakshmirajanna1983
CCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptxCCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptx
UdayakumarAllimuthu
GIS Mapping Caddlance Portfolio 2025 .pdf
GIS Mapping Caddlance Portfolio 2025 .pdfGIS Mapping Caddlance Portfolio 2025 .pdf
GIS Mapping Caddlance Portfolio 2025 .pdf
sonam254547
Instill-AI------------------------------
Instill-AI------------------------------Instill-AI------------------------------
Instill-AI------------------------------
Jason Kuan
Production Planning & Control and Inventory Management.pptx
Production Planning & Control and Inventory Management.pptxProduction Planning & Control and Inventory Management.pptx
Production Planning & Control and Inventory Management.pptx
VirajPasare
PLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amityPLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amity
UrjaMoon
module-4.1-Class notes_R and DD_basket-IV -.pdf
module-4.1-Class notes_R and DD_basket-IV -.pdfmodule-4.1-Class notes_R and DD_basket-IV -.pdf
module-4.1-Class notes_R and DD_basket-IV -.pdf
ritikkumarchaudhury7
English presentation, tests and experiments.pptx
English presentation, tests and experiments.pptxEnglish presentation, tests and experiments.pptx
English presentation, tests and experiments.pptx
SamahEL2
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
QualityManager48
DBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operationsDBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operations
Sreedhar Chowdam
Cloudera Partner Network Enablement Full.pdf
Cloudera Partner Network Enablement Full.pdfCloudera Partner Network Enablement Full.pdf
Cloudera Partner Network Enablement Full.pdf
Nguy畛n H畉i
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptxUnit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Kirankumar Jagtap
green buildings civil engineering -3-1.ppt
green buildings civil engineering -3-1.pptgreen buildings civil engineering -3-1.ppt
green buildings civil engineering -3-1.ppt
devaragudidinesh
Topic 3.NN and DL Hopfield Networks.pptx
Topic 3.NN and DL Hopfield Networks.pptxTopic 3.NN and DL Hopfield Networks.pptx
Topic 3.NN and DL Hopfield Networks.pptx
ManjulaRavichandran5
Urban Design and Planning Portfolio .pdf
Urban Design and Planning Portfolio .pdfUrban Design and Planning Portfolio .pdf
Urban Design and Planning Portfolio .pdf
sonam254547
Telehealth technology A new horizon in health care
Telehealth technology  A new horizon in health careTelehealth technology  A new horizon in health care
Telehealth technology A new horizon in health care
Dr INBAMALAR T M
Requirements Engineering for Secure Software
Requirements Engineering for Secure SoftwareRequirements Engineering for Secure Software
Requirements Engineering for Secure Software
Dr Sarika Jadhav
DAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptx
DAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptxDAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptx
DAY 4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV.pptx
GellaBenson1
Introduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptxIntroduction to 3D Printing Technology.pptx
Introduction to 3D Printing Technology.pptx
pprakash21252
FIRST Tech Challenge/Robotics: Scouting out the competition
FIRST Tech Challenge/Robotics: Scouting out the competitionFIRST Tech Challenge/Robotics: Scouting out the competition
FIRST Tech Challenge/Robotics: Scouting out the competition
FTC Team 23014
RES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksns
RES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksnsRES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksns
RES REVIEW 21qqqqqqqqqqqqqqqq1sbsjsnskdndndksns
lakshmirajanna1983
CCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptxCCNA_Product_OverviewCCNA_Productsa.pptx
CCNA_Product_OverviewCCNA_Productsa.pptx
UdayakumarAllimuthu
GIS Mapping Caddlance Portfolio 2025 .pdf
GIS Mapping Caddlance Portfolio 2025 .pdfGIS Mapping Caddlance Portfolio 2025 .pdf
GIS Mapping Caddlance Portfolio 2025 .pdf
sonam254547
Instill-AI------------------------------
Instill-AI------------------------------Instill-AI------------------------------
Instill-AI------------------------------
Jason Kuan
Production Planning & Control and Inventory Management.pptx
Production Planning & Control and Inventory Management.pptxProduction Planning & Control and Inventory Management.pptx
Production Planning & Control and Inventory Management.pptx
VirajPasare
PLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amityPLANT CELL REACTORS presenation PTC amity
PLANT CELL REACTORS presenation PTC amity
UrjaMoon
module-4.1-Class notes_R and DD_basket-IV -.pdf
module-4.1-Class notes_R and DD_basket-IV -.pdfmodule-4.1-Class notes_R and DD_basket-IV -.pdf
module-4.1-Class notes_R and DD_basket-IV -.pdf
ritikkumarchaudhury7
English presentation, tests and experiments.pptx
English presentation, tests and experiments.pptxEnglish presentation, tests and experiments.pptx
English presentation, tests and experiments.pptx
SamahEL2
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
271094912XOULFHKBXRCVHBJKFG KMXCG HJKLMRTVBHNJMXRCVBHUINJ
QualityManager48
DBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operationsDBMS Nested & Sub Queries Set operations
DBMS Nested & Sub Queries Set operations
Sreedhar Chowdam
Cloudera Partner Network Enablement Full.pdf
Cloudera Partner Network Enablement Full.pdfCloudera Partner Network Enablement Full.pdf
Cloudera Partner Network Enablement Full.pdf
Nguy畛n H畉i
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptxUnit-03 Cams and Followers in Mechanisms of Machines.pptx
Unit-03 Cams and Followers in Mechanisms of Machines.pptx
Kirankumar Jagtap
green buildings civil engineering -3-1.ppt
green buildings civil engineering -3-1.pptgreen buildings civil engineering -3-1.ppt
green buildings civil engineering -3-1.ppt
devaragudidinesh
Topic 3.NN and DL Hopfield Networks.pptx
Topic 3.NN and DL Hopfield Networks.pptxTopic 3.NN and DL Hopfield Networks.pptx
Topic 3.NN and DL Hopfield Networks.pptx
ManjulaRavichandran5
Urban Design and Planning Portfolio .pdf
Urban Design and Planning Portfolio .pdfUrban Design and Planning Portfolio .pdf
Urban Design and Planning Portfolio .pdf
sonam254547
Telehealth technology A new horizon in health care
Telehealth technology  A new horizon in health careTelehealth technology  A new horizon in health care
Telehealth technology A new horizon in health care
Dr INBAMALAR T M
Requirements Engineering for Secure Software
Requirements Engineering for Secure SoftwareRequirements Engineering for Secure Software
Requirements Engineering for Secure Software
Dr Sarika Jadhav

Featured (20)

2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
Artificial Intelligence, Data and Competition SCHREPEL June 2024 OECD dis...
Artificial Intelligence, Data and Competition  SCHREPEL  June 2024 OECD dis...Artificial Intelligence, Data and Competition  SCHREPEL  June 2024 OECD dis...
Artificial Intelligence, Data and Competition SCHREPEL June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
2024 State of Marketing Report by Hubspot
2024 State of Marketing Report  by Hubspot2024 State of Marketing Report  by Hubspot
2024 State of Marketing Report by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing2024 Trend Updates: What Really Works In SEO & Content Marketing
2024 Trend Updates: What Really Works In SEO & Content Marketing
Search Engine Journal
Storytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design ProcessStorytelling For The Web: Integrate Storytelling in your Design Process
Storytelling For The Web: Integrate Storytelling in your Design Process
Chiara Aliotta
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
SocialHRCamp
2024 State of Marketing Report by Hubspot
2024 State of Marketing Report  by Hubspot2024 State of Marketing Report  by Hubspot
2024 State of Marketing Report by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray

Lightning Network (BOLT) Normal Operation Sequence

  • 1. Lightning Network (BOLT) Normal Operation Sequence Hiroki Gondo (Nayuta inc.) 2019/05/21
  • 2. +-----+ +-----+ | |--- update A -->| | | |<-- update B ---| | | | | | | | | | | | | | | A | | B | | | | | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 3. +-----+ +-----+ | |--- update A -->| | How many more messages | |<-- update B ---| | are needed? | | | | | | ? | | a. 2 messages | | ? | | b. 4 messages | A | ? | B | c. 6 messages | | ? | | d. more | | ? | | | | ? | | | | ? | | | | ? | | +-----+ +-----+
  • 4. +------------+ +-----+ +-----+ +------------+ |commit tx #0| | |--- update A -->| | |commit tx #0| +------------+ | |<-- update B ---| | +------------+ |sig | | | | | |sig | +------------+ | | | | +------------+ | | | | | A | | B | | | | | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 6. +-----+ +-----+ +-------------+ | | | | |commit tx #0 | | | | | +-------------+ | | | | |sig | | | | | +-------------+ | | | | | A | | B | | | | | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 7. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | | | | +-------------+ | | | | |sig | | | | | +-------------+ | | | | | A | | B | | | | | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 8. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | | | | +-------------+ | | | | |sig | | | | | +-------------+ | | | | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | +-----+ +-----+
  • 9. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | |<-- update B ---| | +-------------+ | | | | |sig | | | | | +-------------+ | | | | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | +-----+ +-----+
  • 10. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | |<-- update B ---| |(update B) +-------------+ | | | | |sig | | | | | +-------------+ | | | | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | +-----+ +-----+
  • 11. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | |<-- update B ---| |(update B) +-------------+ | | | | |sig | | |---- commit --->| | +-------------+ | | | | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | +-----+ +-----+
  • 12. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | |<-- update B ---| |(update B) +-------------+ | | | | |sig | | |---- commit --->| | +-------------+ | | | | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | |sig | +-----+ +-----+ +-------------+
  • 13. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | |<-- update B ---| |(update B) +-------------+ | | | | |sig | | |---- commit --->| | +-------------+ | |<--- revoke ----| | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | |sig | +-----+ +-----+ +-------------+
  • 14. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #0 | | |<-- update B ---| |(update B) +-------------+ | | | | |sig | | |---- commit --->| | +-------------+ | |<--- revoke ----| | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | |sig | +-----+ +-----+ +-------------+
  • 15. +-----+ +-----+ | |--- update A -->| | | |<-- update B ---| |(update B) | | | | | |---- commit --->| | | |<--- revoke ----| | | A | | B | +-------------+ | | | | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | |sig | +-----+ +-----+ +-------------+
  • 16. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| |(update B) +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | | | | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 17. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| |(update B) +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 18. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| |(update B) +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | |---- revoke --->| | | | | | | | | | | | | | +-----+ +-----+
  • 19. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | |---- revoke --->| | +-------------+ | | | | |commit tx #2 | | | | | +-------------+ | | | | |update A | +-----+ +-----+ +-------------+ |update B | +-------------+
  • 20. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | |---- revoke --->| | +-------------+ | | | | |commit tx #2 | | |---- commit --->| | +-------------+ | | | | |update A | +-----+ +-----+ +-------------+ |update B | +-------------+
  • 21. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | |---- revoke --->| | +-------------+ | | | | |commit tx #2 | | |---- commit --->| | +-------------+ | | | | |update A | +-----+ +-----+ +-------------+ |update B | +-------------+ |sig | +-------------+
  • 22. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | |---- revoke --->| | +-------------+ | | | | |commit tx #2 | | |---- commit --->| | +-------------+ | | | | |update A | +-----+ +-----+ +-------------+ |update B | +-------------+ |sig | +-------------+
  • 23. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | |---- revoke --->| | +-------------+ | | | | |commit tx #2 | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update A | +-----+ +-----+ +-------------+ |update B | +-------------+ |sig | +-------------+
  • 24. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |sig | | A | | B | +-------------+ | |<--- commit ----| | | |---- revoke --->| | +-------------+ | | | | |commit tx #2 | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update A | +-----+ +-----+ +-------------+ |update B | +-------------+ |sig | +-------------+
  • 25. +-----+ +-----+ | |--- update A -->| | | |<-- update B ---| | | | | | | |---- commit --->| | | |<--- revoke ----| | | A | | B | | |<--- commit ----| | | |---- revoke --->| | +-------------+ | | | | |commit tx #2 | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update A | +-----+ +-----+ +-------------+ |update B | +-------------+ |sig | +-------------+
  • 26. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+
  • 27. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+ Ans. 6 messages
  • 28. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+ Ans. 6 messages ???
  • 29. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- commit ----| | |update B | | A |<--- revoke ----| B | +-------------+ | |---- revoke --->| | |sig | | |---- commit --->| | +-------------+ | |<--- revoke ----| | | |<--- commit ----| | | |---- revoke --->| | +-----+ +-----+ Ans. 6 or 8 messages
  • 30. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- commit ----| | |update B | | A |<--- revoke ----| B | +-------------+ | |---- revoke --->| | |sig | | |---- commit --->| | +-------------+ | |<--- revoke ----| | | |<--- commit ----| | | |---- revoke --->| | +-----+ +-----+ Ans. 6 or 8 messages
  • 32. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+
  • 33. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+
  • 34. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+
  • 35. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+ Why?
  • 36. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+
  • 37. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+ Why?
  • 39. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | | | | +-------------+ | | | | |update A | | | | | +-------------+ | | | | | A | | B | | | | | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 40. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | | | | +-------------+ | | | | |update B !!! | | A | | B | +-------------+ | | | | | | | | | | | | | | | | | | | | +-----+ +-----+
  • 41. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | | | | +-------------+ | | | | |update B | | A |---- commit --->| B | +-------------+ | | | | |sig | | | | | +-------------+ | | | | | | | | | | | | +-----+ +-----+
  • 42. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | |<-- update B ---| | +-------------+ | | | | |update A | | | | | +-------------+ | | | | |update B | | A |---- commit --->| B | +-------------+ | | | | |sig | | | | | +-------------+ | | | | | | | | | | | | +-----+ +-----+
  • 43. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | | update B -| | +-------------+ | | / | | |update A | | | / | | +-------------+ | | / | | |update B | | A |---- commit --->| B | +-------------+ | | / | | |sig | | | / | | +-------------+ | |<-------- | | | | | | | | | | +-----+ +-----+
  • 44. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | | update B -| | +-------------+ | | / | | |update A | | | / | | +-------------+ | | / | | |update B | | A |---- commit --->| B | +-------------+ | | / | | |sig (invalid)| | | / | | +-------------+ | |<-------- | | | | | | | | | | +-----+ +-----+
  • 45. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #1 | | | update B -| | +-------------+ | | / | | |update A | | | / | | +-------------+ | |<------------ | | |update B | | A |---- commit --->| B | +-------------+ | | | | |sig (valid) | | | | | +-------------+ | | | | | | | | | | | | +-----+ +-----+
  • 46. +-----+ +-----+ +-------------+ | |--- update A -->| | |commit tx #2 | | |<-- update B ---| | +-------------+ | | | | |update A | | |---- commit --->| | +-------------+ | |<--- revoke ----| | |update B | | A | | B | +-------------+ | |<--- commit ----| | |sig | | |---- revoke --->| | +-------------+ | | | | | |---- commit --->| | | |<--- revoke ----| | +-----+ +-----+
  • 47. BOLT #2: Peer Protocol for Channel Management Normal Operation > Counter-intuitively, these updates apply to the other > node's commitment transaction; the node only adds those > updates to its own commitment transaction when the remote > node acknowledges it has applied them via > `revoke_and_ack`.