From c53d54ddaba3101061ae6e745d7be888b483c565 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Wed, 13 Jan 2021 11:12:57 +1100 Subject: [PATCH 1/3] Add sequence diagram --- docs/sequence.puml | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 docs/sequence.puml diff --git a/docs/sequence.puml b/docs/sequence.puml new file mode 100644 index 00000000..f166c688 --- /dev/null +++ b/docs/sequence.puml @@ -0,0 +1,58 @@ +@startuml +database Bitcoin +actor Bob +Actor Alice +database Monero + +Bob --> Alice: Establish connection + +group Request Response Channel + Bob -> Alice: Request Amounts + note left: Btc Amount + + Alice --> Bob: Send Amounts + note right: Btc & Xmr Amounts +end + +group Request Response Channel + Bob -> Alice: bob::Message0 + note left: Pubkeys\ndleq proof sb\nxmr viewkey vb\nbtc refund addr + + Alice --> Bob: alice::Message0 + note right: Pubkeys\ndleq proof sa\nxmr view key va\nbtc redeem addr\nbtc punish addr +end + +group Request Response Channel + Bob -> Alice: bob::Message1 + note left: btc lock tx + + Alice --> Bob: alice::Message1 + note right: cancel tx sig\ntx refund enc sig +end + +group Request Response Channel + Bob -> Alice: bob::Message2 + note left: punish tx sig\ncancel tx sig + +== Negotiated == + + Bob ->> Bitcoin: Lock + + Alice ->> Monero: Lock + + Alice --> Bob: alice::Message2 + note right: xm transfer proof +end + + Bob -> Alice: bob::Message3 + note left: Enc sig + + Alice ->> Bitcoin: Redeem + + Bitcoin ->> Bob: Signature + + Bob -> Bob: Extract Monero key + + Bob ->> Monero: Redeem + +@enduml From 07270df12a6805466a5c1cba12bae9e07fdbe1e8 Mon Sep 17 00:00:00 2001 From: Lucas Soriano del Pino Date: Wed, 13 Jan 2021 11:36:02 +1100 Subject: [PATCH 2/3] Clarify diagram --- docs/sequence.puml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/sequence.puml b/docs/sequence.puml index f166c688..45218096 100644 --- a/docs/sequence.puml +++ b/docs/sequence.puml @@ -16,10 +16,10 @@ end group Request Response Channel Bob -> Alice: bob::Message0 - note left: Pubkeys\ndleq proof sb\nxmr viewkey vb\nbtc refund addr + note left: Pubkeys\ndleq proof s_b\nxmr viewkey v_b\nbtc refund addr Alice --> Bob: alice::Message0 - note right: Pubkeys\ndleq proof sa\nxmr view key va\nbtc redeem addr\nbtc punish addr + note right: Pubkeys\ndleq proof s_a\nxmr view key v_a\nbtc redeem addr\nbtc punish addr end group Request Response Channel @@ -27,7 +27,7 @@ group Request Response Channel note left: btc lock tx Alice --> Bob: alice::Message1 - note right: cancel tx sig\ntx refund enc sig + note right: cancel tx sig\nrefund tx enc sig S_b end group Request Response Channel @@ -41,17 +41,17 @@ group Request Response Channel Alice ->> Monero: Lock Alice --> Bob: alice::Message2 - note right: xm transfer proof + note right: xmr lock tx transfer proof end Bob -> Alice: bob::Message3 - note left: Enc sig + note left: redeem tx enc sig S_a Alice ->> Bitcoin: Redeem Bitcoin ->> Bob: Signature - Bob -> Bob: Extract Monero key + Bob -> Bob: Extract s_a Bob ->> Monero: Redeem From 1e08a17bd966b05c4f52c9a608dba033a7b74a00 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Wed, 13 Jan 2021 14:42:38 +1100 Subject: [PATCH 3/3] Last message is also request response --- docs/sequence.puml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/sequence.puml b/docs/sequence.puml index 45218096..ec2b4bca 100644 --- a/docs/sequence.puml +++ b/docs/sequence.puml @@ -44,8 +44,12 @@ group Request Response Channel note right: xmr lock tx transfer proof end +group Request Response Channel Bob -> Alice: bob::Message3 note left: redeem tx enc sig S_a + Alice --> Bob: alice::Message3 + note right: Empty +end Alice ->> Bitcoin: Redeem