Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use vsss-rs for share generation and reconstruction #457

Closed
wants to merge 62 commits into from
Closed
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
fb6f7e3
Add Quorum Key Resharding Service
emostov Dec 14, 2023
712d75b
Update changelog for #428
emostov Jan 24, 2024
ff89a91
Update gitignore
emostov Jan 24, 2024
955f350
wip
emostov Feb 13, 2024
64e73c2
wip enclave reshard service
emostov Apr 18, 2024
ec3c54f
try getting enclave_reshard
emostov Apr 18, 2024
0f28dd8
make sure no toolchain
emostov Apr 18, 2024
add57ba
small fix
emostov Apr 18, 2024
9987767
enclave_reshard builds
emostov Apr 18, 2024
21046c7
add enclave_reshard target
emostov Apr 18, 2024
c9fd19d
try fix perms issue
emostov Apr 18, 2024
54f56e3
remove enclave_reshard image (pivoting to mono)
emostov Apr 18, 2024
7b8925f
revert ci changes
emostov Apr 19, 2024
e08bb9d
fix some comments
emostov Apr 19, 2024
dfc8996
another small comment fix
emostov Apr 19, 2024
8d1eca2
Update reshard service
emostov Apr 19, 2024
69469a9
small adjustment to default dev port
emostov Apr 20, 2024
3c0cfad
ensure deterministic reshard input
emostov Apr 21, 2024
3ab39ca
sort share set members
emostov Apr 21, 2024
17b44ff
ensure reshard input is deterministic when reading in
emostov Apr 21, 2024
a335417
update ci
emostov Apr 23, 2024
5342ff3
address comments; fix tests
emostov Apr 23, 2024
b887810
review comments; try fix CI
emostov Apr 23, 2024
1608d8c
lint
emostov Apr 23, 2024
7427f33
update common image tags
emostov Apr 23, 2024
e51d281
remove fail fast
emostov Apr 23, 2024
13a7aed
make sure to pull only hash pinned
emostov Apr 23, 2024
3063310
just run make; no updload
emostov Apr 24, 2024
553043c
respond to some feedback
emostov May 7, 2024
72b6de2
remove lfs and release section
emostov May 7, 2024
a3ef37a
revert container file
emostov Jun 18, 2024
d797610
Use vsss-rs for share generation and reconstruction
emostov Jun 18, 2024
e337a22
Use deprecated shares reconstruct for cases of 1 share
emostov Jun 18, 2024
06ed67a
Add doc comments on deprecated methods
emostov Jun 18, 2024
7a5658b
Add copyright notice for Shamir implementation.
lthibault Aug 30, 2024
15ed0e4
Rename deprecated_shares_generate to deprecated_insecure_shares_gener…
lthibault Sep 3, 2024
198969f
Fix call to deprecated_shares_generate.
lthibault Sep 3, 2024
e6f9b93
Rename deprecated_shares_reconstruct to deprecated_insecure_shares_re…
lthibault Sep 3, 2024
c299f5d
Add known limitations to shares_generate docstring.
lthibault Sep 3, 2024
d2801d4
Fix bitrot in src/README.md
lthibault Sep 3, 2024
ecea872
Run make -C src/ lint
lthibault Sep 3, 2024
c6b6ebe
Make concise.
lthibault Sep 3, 2024
f7fd6bc
Uses thiserror with QosCryptoError.
lthibault Sep 3, 2024
ed561d1
Fix merge conflicts with main.
lthibault Sep 4, 2024
3a7cf3c
Merge branch 'main' into zeke-reshard-6-vsss-rs
lthibault Sep 4, 2024
a920730
Add #:expect_used)] to qos_crypto/src/shamir.rs.
lthibault Sep 5, 2024
54c8ae2
Revert "Add #:expect_used)] to qos_crypto/src/shamir.rs."
lthibault Sep 5, 2024
05fa48e
Silence clippy output about expected panics.
lthibault Sep 9, 2024
207163c
Cargo update src/init/Cargo.lock
lthibault Sep 11, 2024
64ce106
Update transitive dependency vsss-rs to v4.3.8.
lthibault Sep 13, 2024
4e8cd4c
Fix length of test data.
lthibault Sep 13, 2024
bb3150b
Remove deprecated_insecure_shares_generate.
lthibault Sep 17, 2024
605447b
Remove deprecated_insecure_shares_reconstruct.
lthibault Sep 17, 2024
c264d9c
Fix unit tests.
lthibault Sep 17, 2024
4b08bdb
Eliminate dead code.
lthibault Sep 17, 2024
d1d1130
make lint
lthibault Sep 17, 2024
3727f35
Fix typo in docstring.
lthibault Sep 24, 2024
d87496a
Expect 2-of-2 sharing in dangerous_dev_boot.
lthibault Sep 24, 2024
6764a72
lintfix
lthibault Sep 24, 2024
d6db3e7
Remove redundant calls to shares_generate in make_and_reconstruct_sha…
lthibault Sep 24, 2024
04b0c11
qos_net: fix missing vm feature
Ulexus Oct 21, 2024
5ba801e
DANGER: enable attach_console on debug mode
Ulexus Oct 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: artifacts-build
name: stagex-build

on:
push:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ target/
!src/integration/mock/boot-e2e/all-personal-dir/user2-dir/*
!src/integration/mock/boot-e2e/all-personal-dir/user3-dir/*
!src/integration/mock/boot-e2e/genesis-dir/*
!src/integration/mock/new-share-set-secrets/*
!src/integration/mock/reshard/user1/qkey1/*
!src/integration/mock/reshard/user2/qkey1/*
!src/integration/mock/reshard/user3/qkey1/*
src/integration/mock/pivot-build-fingerprints.txt
src/integration/pivot_ok2_works
src/integration/pivot_ok_works
Expand Down
Empty file removed .gitmodules
Empty file.
2 changes: 0 additions & 2 deletions .lfsconfig

This file was deleted.

9 changes: 9 additions & 0 deletions CHANGELOG.MD
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,15 @@ Removed: for now removed features.
Fixed: for any bug fixes.
Security: in case of vulnerabilities.

## Unreleased

### Added

- BREAKING CHANGE: qos_core: quorum key resharding service, new state machine transitions, and new `ProtocolMsg` variants (#428)
- qos_client: commands to run quorum key resharding and high level documentation (#428)
Comment on lines +24 to +25
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

428 is a PR that seems closed. Why this mentioned in the context of this PR which is about VSSS?

- qos_crypto: function to generate n choose k variants (#428)
- qos_hex: support more array sizes for serde deserialize

## [0.4.0] 2024.4.9

### Added
Expand Down
28 changes: 0 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,36 +152,8 @@ make toolchain-shell
make toolchain-update
```


### Release Process

0. Determine the release semver version by consulting the [changelog](./CHANGELOG.MD).
1. Create a branch for your release e.g.
`git checkout -b release/v1.0.0`
2. Run `make dist` as described in ["Release" section](#release)
3. Commit the new dist folder `git commit -m "Release v1.0.0" -- dist/`
4. Push up your branch to github, and make a pull request.
5. You may also create and push a signed `-rcX` git tag where the number after `rc` doesn't already exist.
`git tag -S v1.0.0-rc0 -m v1.0.0-rc0`
`git push origin v1.0.0-rc0`
6. Wait for others to replicate your build, see ["Verify" section](#verify)
7. Once the release has enough `git sig` signatures, make the final tag and merge the pull request.
`git tag -S v1.0.0 -m v1.0.0`
`git push origin v1.0.0`


[gs]: https://codeberg.org/distrust/git-sig

### LFS setup

This repository externalises large files so that they do not bulk up the git repo itself.
This is done through a tool called `git-lfs`, which must be installed for it to work.
Additionally, we use a custom agent to store our LFS objects in S3 (rather than the default and more expensive Github LFS service).

In order to setup our s3 based lfs:

1) Install [tkinfra](https://github.com/tkhq/mono/tree/main/src/go/tkinfra)
2) Run `./scripts/setup-lfs.sh`

#### Troubleshooting

Expand Down
Loading
Loading