Skip to content

Commit dda76b7

Browse files
committed
wip
1 parent 7f0639e commit dda76b7

File tree

1 file changed

+35
-6
lines changed
  • docs/src/architecture/08_concepts/catalyst_voting

1 file changed

+35
-6
lines changed

docs/src/architecture/08_concepts/catalyst_voting/v2.md

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,28 @@ This document describes a Catalyst V2 vote transaction structure.
2424
It is a Catalyst v2 voting transaction
2525
defined on top the ["Generalized Vote Transaction"](./gen_vote_tx.md#specification) structure.
2626

27-
Following that spec need to define a format of `choice`, `proof` and `prop_id`.
27+
Following that spec need to define a `choice`, `proof` and `prop-id`.
28+
29+
Also needed to define an `event` field,
30+
so for both public and private transaction it must be the following:
31+
32+
```CDDL
33+
event = {
34+
"brand_id": UUID,
35+
"campaign_id": UUID,
36+
"election_id": UUID,
37+
"category_id": UUID,
38+
}
39+
```
40+
41+
* `brand_id` - a unique identifier which represents a "brand" who is running the voting,
42+
e.g. Catalyst, Midnight.
43+
* `campaign_id` - a unique identifier which defines a "campaign" of voting,
44+
e.g. "treasury campaign".
45+
* `election_id` - a unique identifier which defines an election,
46+
e.g. "Catalyst Fund 1", "Catalyst Fund 2".
47+
* `category_id` - a unique identifier which defines a voting category as a collection of proposals,
48+
e.g. "Development & Infrastructure", "Products & Integrations".
2849

2950
### Public vote
3051

@@ -36,6 +57,11 @@ Following that spec need to define a format of `choice`, `proof` and `prop_id`.
3657
```
3758
<!-- markdownlint-enable max-one-sentence-per-line code-block-style -->
3859

60+
61+
```CDDL
62+
vote-type = #6.37(h'8DE5586CE9984B9587427BE3C8592803') ; 8de5586c-e998-4b95-8742-7be3c8592803
63+
```
64+
3965
### Private vote
4066

4167
<!-- markdownlint-disable max-one-sentence-per-line code-block-style -->
@@ -46,17 +72,20 @@ Following that spec need to define a format of `choice`, `proof` and `prop_id`.
4672
```
4773
<!-- markdownlint-enable max-one-sentence-per-line code-block-style -->
4874

49-
#### Vote generation
75+
```CDDL
76+
vote-type = #6.37(h'E78EE18DF38044C1A85280AA6ECB07FE') ; e78ee18d-f380-44c1-a852-80aa6ecb07fe
77+
```
78+
79+
#### Vote and Proof generation
5080

51-
To generate a cryptographically secured `private_choice` and `zk_proof` parts you can follow this [spec](./crypto.md#vote).
81+
To generate a cryptographically secured `choice-data` and `zk_proof` parts you can follow this [spec](./crypto.md#vote).
5282
Important to note,
5383
that as part of [*initial setup*](./crypto.md#initial-setup) of the voting procedure,
5484
the following properties are used:
5585

56-
1. Each proposal,
57-
defined by the `vote_plan_id` and `proposal_index`, defines a number of possible options.
86+
1. Each proposal, defined by the `proposal` field, defines a number of possible options.
5887
2. [ristretto255] as a backend cryptographic group.
59-
3. A commitment key $ck$ defined as a [BLAKE2b-512] hash of the `vote_plan_id` bytes.
88+
3. A commitment key $ck$ defined as a [BLAKE2b-512] hash of the `proposal` bytes.
6089

6190
## Rationale
6291

0 commit comments

Comments
 (0)