22
33---
44
5- Title: Jörmungandr Voting Transactions
5+ Title: Jörmungandr Voting Transaction
66
77Status: Proposed
88
@@ -15,25 +15,23 @@ Created: 2024-10-24
1515
1616## Abstract
1717
18- This document decribes a different definitions of the Jörmungandr based transactions .
18+ This document decribes a definition of the original Jörmungandr ` VoteCast ` transaction .
1919
2020## Motivation
2121
2222## Specification
2323
24- ### v1 (Jörmungandr blockchain)
25-
26- An original Jörmungandr blockchain's transaction structure.
24+ An original Jörmungandr blockchain's ` VoteCast ` transaction structure.
2725
2826<!-- markdownlint-disable max-one-sentence-per-line code-block-style -->
29- ??? note "V1 transaction definition: ` jorm_v1 .abnf` "
27+ ??? note "V1 transaction definition: ` jorm .abnf` "
3028
3129 ```abnf
32- {{ include_file('src/architecture/08_concepts/catalyst_voting/abnf/jorm_v1 .abnf', indent=4) }}
30+ {{ include_file('src/architecture/08_concepts/catalyst_voting/abnf/jorm .abnf', indent=4) }}
3331 ```
3432<!-- markdownlint-enable max-one-sentence-per-line code-block-style -->
3533
36- #### Example
34+ ### Example
3735
3836V1 transaction representation in hex:
3937
@@ -77,7 +75,7 @@ V1 transaction representation in hex:
7775 * legacy signature (64 byte): ` e6c8aa48925e37fdab75db13aca7c4f39068e12eeb3af8fd1f342005cae5ab9a1ef5344fab2374e9436a67f57041899693d333610dfe785d329988736797950d `
7876<!-- markdownlint-enable max-one-sentence-per-line code-block-style -->
7977
80- #### Vote generation
78+ ### Vote generation
8179
8280To generate a cryptographically secured ` ENCRYPTED-VOTE ` and ` PROOF-VOTE ` parts you can follow this [ spec] ( ./crypto.md#vote ) .
8381Important to note,
@@ -88,7 +86,7 @@ the following properties are used:
88862 . [ ristretto255] as a backend cryptographic group.
89873 . A commitment key $ck$ defined as a [ BLAKE2b-512] hash of the ` VOTE-PLAN-ID ` bytes.
9088
91- #### Signing (witness generation)
89+ ### Signing (witness generation)
9290
9391Signature generated from the [ BLAKE2b-256] hashed ` VOTE-PAYLOAD ` bytes except of the ` WITNESS ` part
9492(the last part from the bytes array):
@@ -117,37 +115,6 @@ Expected witness (includes signature)
117115```
118116<!-- markdownlint-enable code-block-style -->
119117
120- ### v2
121-
122- It is a Jörmungandr based transaction
123- defined on top the [ "Generalized Vote Transaction"] ( ./gen_vote_tx.md#specification ) structure.
124-
125- Following that spec we need define a format of ` choice ` , ` proof ` and ` prop_id ` .
126-
127- !!! note
128-
129- If `choice` is a public one, `proof` **must** be `null`.
130-
131- <!-- markdownlint-disable max-one-sentence-per-line code-block-style -->
132- ??? note "vote transaction v2 definition: ` vote_tx_v2.cddl ` "
133-
134- ```CDDL
135- {{ include_file('src/architecture/08_concepts/catalyst_voting/cddl/vote_tx_v2.cddl', indent=4) }}
136- ```
137- <!-- markdownlint-enable max-one-sentence-per-line code-block-style -->
138-
139- #### Vote generation
140-
141- To generate a cryptographically secured ` private_choice ` and ` zk_proof ` parts you can follow this [ spec] ( ./crypto.md#vote ) .
142- Important to note,
143- that as part of [ * initial setup* ] ( ./crypto.md#initial-setup ) of the voting procedure,
144- the following properties are used:
145-
146- 1 . Each proposal,
147- defined by the ` vote_plan_id ` and ` proposal_index ` , defines a number of possible options.
148- 2 . [ ristretto255] as a backend cryptographic group.
149- 3 . A commitment key $ck$ defined as a [ BLAKE2b-512] hash of the ` vote_plan_id ` bytes.
150-
151118## Rationale
152119
153120## Path to Active
0 commit comments