<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<diagram program="umlet" version="14.2">
  <zoom_level>10</zoom_level>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>50</x>
      <y>40</y>
      <w>140</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Passphrase
--
(Optional)
Any string
lt=.</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>180</x>
      <y>60</y>
      <w>180</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>lt=.&gt;
SHA-512, keep
first 16 bytes</panel_attributes>
    <additional_attributes>10.0;20.0;160.0;20.0</additional_attributes>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>340</x>
      <y>40</y>
      <w>140</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Seed
--
(16 bytes)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>50</x>
      <y>250</y>
      <w>150</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Root Private Key
--
(32 bytes)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>110</x>
      <y>100</y>
      <w>460</w>
      <h>170</h>
    </coordinates>
    <panel_attributes>lt=&lt;-
SHA-512Half</panel_attributes>
    <additional_attributes>10.0;150.0;10.0;110.0;440.0;110.0;440.0;10.0;400.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>330</x>
      <y>250</y>
      <w>150</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Root Public Key
--
(33 bytes
compressed)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>190</x>
      <y>270</y>
      <w>160</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>lt=-&gt;
Public Key
Derivation</panel_attributes>
    <additional_attributes>10.0;20.0;140.0;20.0</additional_attributes>
  </element>
  <element>
    <id>UMLSyncBarVertical</id>
    <coordinates>
      <x>500</x>
      <y>80</y>
      <w>20</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>template=txt
title=titletext
bg=red</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>370</x>
      <y>120</y>
      <w>110</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Root Key
Sequence
--
(4 bytes;
default 0)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>90</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=-&gt;</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>120</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=-&gt;</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>370</x>
      <y>410</y>
      <w>110</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Int Key
Sequence
--
(4 bytes;
default 0)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>370</x>
      <y>330</y>
      <w>110</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Family
Number
--
(4 bytes;
all 0's)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLNote</id>
    <coordinates>
      <x>140</x>
      <y>140</y>
      <w>210</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>Increment the key sequence and try again if the SHA-512Half doesn't make a valid private key.
bg=yellow
fontsize=10
style=wordwrap
transparency=0</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLNote</id>
    <coordinates>
      <x>150</x>
      <y>430</y>
      <w>210</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>Increment the key sequence and try again if the SHA-512Half doesn't make a valid private key.
bg=yellow
fontsize=10
style=wordwrap
transparency=0</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>140</x>
      <y>350</y>
      <w>410</w>
      <h>220</h>
    </coordinates>
    <panel_attributes>lt=&lt;-
SHA-512Half</panel_attributes>
    <additional_attributes>10.0;200.0;10.0;160.0;390.0;160.0;390.0;10.0;370.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLSyncBarVertical</id>
    <coordinates>
      <x>500</x>
      <y>330</y>
      <w>20</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>template=txt
title=titletext
bg=red</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>290</y>
      <w>60</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>lt=-&gt;</panel_attributes>
    <additional_attributes>10.0;10.0;20.0;10.0;20.0;60.0;40.0;60.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>360</y>
      <w>60</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=-&gt;</panel_attributes>
    <additional_attributes>10.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>380</y>
      <w>60</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>lt=-&gt;</panel_attributes>
    <additional_attributes>10.0;50.0;20.0;50.0;20.0;10.0;40.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>80</x>
      <y>550</y>
      <w>150</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>Intermediate
Private Key
--
(32 bytes)
</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>330</x>
      <y>550</y>
      <w>150</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>Intermediate
Public Key
--
(33 bytes
compressed)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>220</x>
      <y>580</y>
      <w>130</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>lt=-&gt;
Public Key
Derivation</panel_attributes>
    <additional_attributes>10.0;20.0;110.0;20.0</additional_attributes>
  </element>
  <element>
    <id>UMLState</id>
    <coordinates>
      <x>660</x>
      <y>300</y>
      <w>140</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>Elliptic Curve
Point Add
type=sender</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>260</y>
      <w>210</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>190.0;50.0;150.0;50.0;150.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>320</y>
      <w>210</w>
      <h>280</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>190.0;10.0;150.0;10.0;150.0;260.0;10.0;260.0</additional_attributes>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>800</x>
      <y>290</y>
      <w>150</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Master Public Key
--
(33 bytes
compressed)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>UMLState</id>
    <coordinates>
      <x>150</x>
      <y>670</y>
      <w>160</w>
      <h>40</h>
    </coordinates>
    <panel_attributes>Add, Modulo
Group Order
type=sender</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>100</x>
      <y>620</y>
      <w>70</w>
      <h>80</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>50.0;60.0;10.0;60.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>50</x>
      <y>310</y>
      <w>120</w>
      <h>410</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>100.0;390.0;10.0;390.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLObject</id>
    <coordinates>
      <x>330</x>
      <y>660</y>
      <w>150</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>Master Private Key
--
(32 bytes)</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>300</x>
      <y>680</y>
      <w>50</w>
      <h>30</h>
    </coordinates>
    <panel_attributes>lt=&lt;-</panel_attributes>
    <additional_attributes>30.0;10.0;10.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>350</y>
      <w>410</w>
      <h>380</h>
    </coordinates>
    <panel_attributes>lt=.&gt;
(Public key derivation
yields the same result.)</panel_attributes>
    <additional_attributes>10.0;350.0;390.0;350.0;390.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLNote</id>
    <coordinates>
      <x>590</x>
      <y>200</y>
      <w>210</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>Validators use the root key pair.
bg=green
style=wordwrap
transparency=0</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>200</x>
      <y>210</y>
      <w>410</w>
      <h>60</h>
    </coordinates>
    <panel_attributes>lt=&lt;..
fg=#25A768
transparency=0</panel_attributes>
    <additional_attributes>10.0;40.0;390.0;10.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>480</x>
      <y>230</y>
      <w>130</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>lt=&lt;..
fg=#25A768
transparency=0</panel_attributes>
    <additional_attributes>10.0;30.0;110.0;10.0</additional_attributes>
  </element>
  <element>
    <id>UMLNote</id>
    <coordinates>
      <x>630</x>
      <y>600</y>
      <w>210</w>
      <h>50</h>
    </coordinates>
    <panel_attributes>Accounts use the master key pair.
bg=green
style=wordwrap
transparency=0</panel_attributes>
    <additional_attributes/>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>760</x>
      <y>350</y>
      <w>80</w>
      <h>270</h>
    </coordinates>
    <panel_attributes>lt=&lt;..
fg=#25A768
transparency=0</panel_attributes>
    <additional_attributes>60.0;10.0;10.0;250.0</additional_attributes>
  </element>
  <element>
    <id>Relation</id>
    <coordinates>
      <x>470</x>
      <y>630</y>
      <w>180</w>
      <h>70</h>
    </coordinates>
    <panel_attributes>lt=&lt;..
fg=#25A768
transparency=0</panel_attributes>
    <additional_attributes>10.0;50.0;160.0;10.0</additional_attributes>
  </element>
</diagram>
