Comments (2)
@temld4 there's a few things we'll need to do nonetheless if we want to catch and handle slashing conditions. I'd be curious to hear your thoughts on them and where you think we may fit it into the current workflow (if it's not there already).
We should be signing messages over the gossip network.
For starters, we need to validate that the only messages we process are sent by valid parties. I think we have this implemented by would be worth double-checking. Next, we need a way of indexing signed messages received from other parties efficiently. If we reach a blame
stage at any phase of the protocol, it will require tracing back the misbehaving message to its signature.
We must somehow have a mapping from the signing key either (ECDSA or SR25519 key) to their staking records on-chain.
Once we identify misbehavior and the misbehaving message and signature pair, we will submit this on-chain. There we will compute a slashing amount and slash that validator's staked / nominating balances. This will require having a 1:1 mapping between the signing key for gossip messages and the staking keys on-chain for the authorities.
Misbehaviors
Offline
Likely to catch offline nodes we may only be able to rely on an honest-majority reporting assumption.
Malicious participation
Most parts of the protocol that deal with misbehavior that are not due to offline time are due to broadcasting invalid zero-knowledge proofs. Peers in the protocol broadcast zero-knowledge proofs of the data they're sharing with other participants in the DKG. Each peer verifies these proofs locally.
Keygen (Page 16 of GG20)
Signing (Page 17 of GG20)
from dkg-substrate.
Same as #33
from dkg-substrate.
Related Issues (20)
- [TASK] Generalize pallet to support non-ECDSA (Schnorr) signatures/keys
- [TASK][Testnet] Investigate ways to backup signing keys of nodes HOT 2
- [BUG] DKG Rotates without emitting `PublicKeySignatureChanged` event
- [TASK] Blame Manager
- [TASK] Update Webb Relayer Gadget with version v0.5.7
- Merge the split keygen/signing gossip engines HOT 1
- [BUG] Benchmarks in force_reset_indices is configured incorrectly
- [TASK] Edge case for reporting offeneses from previous governor.
- [BUG] Signing Stall, Some Proposal batches not being signed
- [TASK] Pass compressed public key in `nextPublicKeySignatureSumbitted` and `publicKeySignatureChanged` events HOT 2
- [BUG] DKG reputations query does not return reputation of all validators
- Implement FROST DKG into the DKG HOT 4
- Make a prototype of WT-FROST using an underlying gossip implementation
- Add FROST module
- [SPEC] Add on-pallet logic for unsigned proposals and keygens
- Add FROST integration tests
- [BUG] Unable to retreive local signing keys for DKG authorities HOT 1
- [TASK] CLI to sign data using authority `wdkg` key
- [BUG] Merkle Root Calculation using Compressed ECDSA Keys instead of EVM Addresses
- [BUG] Accepting a RefreshProposal should clear all pending unsigned RefreshProposals
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dkg-substrate.