10 UMLObject 50 70 140 70 Passphrase -- (Optional) Any string lt=. Relation 180 90 180 50 lt=.> SHA-512, keep first 16 bytes 10.0;20.0;160.0;20.0 UMLObject 340 70 140 70 Seed -- (16 bytes) UMLObject 50 280 150 70 Root Private Key -- (32 bytes) Relation 110 130 460 170 lt=<- SHA-512Half 10.0;150.0;10.0;110.0;440.0;110.0;440.0;10.0;400.0;10.0 UMLObject 330 280 150 70 Root Public Key -- (33 bytes compressed) Relation 190 300 160 50 lt=-> Public Key Derivation 10.0;20.0;140.0;20.0 Text 50 30 280 30 *secp256k1 Key Derivation* style=wordwrap UMLSyncBarVertical 500 110 20 70 template=txt title=titletext bg=red UMLObject 370 150 110 70 Root Key Sequence -- (4 bytes; default 0) Relation 470 120 60 30 lt=-> 10.0;10.0;40.0;10.0 Relation 470 150 60 30 lt=-> 10.0;10.0;40.0;10.0 UMLObject 370 440 110 70 Int Key Sequence -- (4 bytes; default 0) UMLObject 370 360 110 70 Family Number -- (4 bytes; all 0's) UMLNote 140 170 210 50 Increment the key sequence and try again if the SHA-512Half doesn't make a valid private key. bg=yellow fontsize=10 style=wordwrap UMLNote 150 460 210 50 Increment the key sequence and try again if the SHA-512Half doesn't make a valid private key. bg=yellow fontsize=10 style=wordwrap Relation 140 380 410 220 lt=<- SHA-512Half 10.0;200.0;10.0;160.0;390.0;160.0;390.0;10.0;370.0;10.0 UMLSyncBarVertical 500 360 20 80 template=txt title=titletext bg=red Relation 470 320 60 80 lt=-> 10.0;10.0;20.0;10.0;20.0;60.0;40.0;60.0 Relation 470 390 60 30 lt=-> 10.0;10.0;40.0;10.0 Relation 470 410 60 70 lt=-> 10.0;50.0;20.0;50.0;20.0;10.0;40.0;10.0 UMLObject 80 580 150 80 Intermediate Private Key -- (32 bytes) UMLObject 330 580 150 80 Intermediate Public Key -- (33 bytes compressed) Relation 220 610 130 50 lt=-> Public Key Derivation 10.0;20.0;110.0;20.0 UMLState 660 330 140 40 Elliptic Curve Point Add type=sender Relation 470 290 210 70 lt=<- 190.0;50.0;150.0;50.0;150.0;10.0;10.0;10.0 Relation 470 350 210 280 lt=<- 190.0;10.0;150.0;10.0;150.0;260.0;10.0;260.0 UMLObject 800 320 150 70 Master Public Key -- (33 bytes compressed) UMLState 150 700 160 40 Add, Modulo Group Order type=sender Relation 100 650 70 80 lt=<- 50.0;60.0;10.0;60.0;10.0;10.0 Relation 50 340 120 410 lt=<- 100.0;390.0;10.0;390.0;10.0;10.0 UMLObject 330 690 150 70 Master Private Key -- (32 bytes) Relation 300 710 50 30 lt=<- 30.0;10.0;10.0;10.0 Relation 470 380 410 380 lt=.> (Public key derivation yields the same result.) 10.0;350.0;390.0;350.0;390.0;10.0 UMLNote 590 230 210 50 Validators use the root key pair. bg=green style=wordwrap Relation 200 240 410 60 lt=<.. fg=#25A768 transparency=0 10.0;40.0;390.0;10.0 Relation 480 260 130 50 lt=<.. fg=#25A768 transparency=0 10.0;30.0;110.0;10.0 UMLNote 630 630 210 50 Accounts use the master key pair. bg=green style=wordwrap Relation 760 380 80 270 lt=<.. fg=#25A768 transparency=0 60.0;10.0;10.0;250.0 Relation 470 660 180 70 lt=<.. fg=#25A768 transparency=0 10.0;50.0;160.0;10.0