|
2 | 2 |
|
3 | 3 | ** WARNING: This is WIP. Do not use. ** |
4 | 4 |
|
5 | | -Command-line tool for Distributed Key Generation (DKG) and key rotation protocols. A DKG process involves a coordinator and a set of participating members. Here we describe the processes for both a fresh DKG and a DKG key rotation. |
| 5 | +Command-line tool for Distributed Key Generation (DKG) and key rotation protocols. A DKG process involves a coordinator and a set of participating members. Here we describe the processes for both a fresh DKG and a key rotation. |
6 | 6 |
|
7 | 7 | Both fresh DKG and key rotation has 3 phases. |
8 | 8 |
|
9 | | -- **Phase 1 (Registration)**: Members register their public keys onchain. |
10 | | -- **Phase 2 (Message Creation)**: Members create and share DKG messages offchain. |
| 9 | +- **Phase 1 (Registration)**: Members generate and register their encryption keys onchain.- **Phase 2 (Message Creation)**: Members create and share DKG messages offchain. |
11 | 10 | - **Phase 3 (Finalization)**: Members process messages, propose committee onchain. |
12 | 11 |
|
13 | 12 | The coordinator signals when to proceed from one phase to the next. |
14 | 13 |
|
15 | 14 | ## Prerequisites |
16 | | -- Install Sui (See [more](https://docs.sui.io/guides/developer/getting-started/sui-install)). |
17 | | -- Install python |
| 15 | + |
| 16 | +1. Install Sui (See [more](https://docs.sui.io/guides/developer/getting-started/sui-install)). |
| 17 | +2. Clone the [Seal](https://github.com/MystenLabs/seal) repo locally and set to working directory. |
| 18 | +3. Install python and the dependencies in `/seal`. |
18 | 19 |
|
19 | 20 | ```bash |
20 | 21 | brew install python # if needed |
21 | 22 | cd seal/ |
| 23 | + |
22 | 24 | # for the first time |
23 | 25 | python -m venv .venv |
24 | 26 | source .venv/bin/activate |
@@ -55,7 +57,7 @@ COMMITTEE_PKG: 0x3358b7f7150efe9a0487ad354e5959771c56556737605848231b09cca5b791c |
55 | 57 | COMMITTEE_ID: 0x46540663327da161b688786cbebbafbd32e0f344c85f8dc3bfe874c65a613418 |
56 | 58 | ``` |
57 | 59 |
|
58 | | -3. Share the `dkg.yaml` file with members. Announce to all members to begin Phase 1. |
| 60 | +3. Share the `dkg.yaml` file with all members. Announce to all members to begin Phase 1. |
59 | 61 |
|
60 | 62 | 4. Monitor onchain state until all members are registered using the check-committee script. |
61 | 63 |
|
@@ -171,7 +173,7 @@ python crates/dkg-cli/scripts/dkg-scripts.py init-rotation -c crates/dkg-cli/scr |
171 | 173 |
|
172 | 174 | This will initialize rotation and append the new `COMMITTEE_ID` to your config. Share this file with all members. |
173 | 175 |
|
174 | | -2. Phase 1, 2, 3: Follow the same steps as fresh DKG. Announce each phase to members and monitor progress. Also announce DKG completion. |
| 176 | +2. Phase 1, 2, 3: Follow the same steps as fresh DKG. Announce each phase to members and monitor progress. Also announce key rotation completion. |
175 | 177 |
|
176 | 178 | #### Member Runbook |
177 | 179 |
|
|
0 commit comments