diff --git a/fedimint-server/src/atomic_broadcast/keychain.rs b/fedimint-server/src/atomic_broadcast/keychain.rs index e9c54d7ef60..dce0874f4f7 100644 --- a/fedimint-server/src/atomic_broadcast/keychain.rs +++ b/fedimint-server/src/atomic_broadcast/keychain.rs @@ -3,7 +3,7 @@ use std::io::Write; use aleph_bft::Keychain as KeychainTrait; use fedimint_core::session_outcome::{consensus_hash_sha256, SchnorrSignature}; -use fedimint_core::{BitcoinHash, PeerId}; +use fedimint_core::{BitcoinHash, NumPeers, PeerId}; use secp256k1_zkp::hashes::sha256; use secp256k1_zkp::{schnorr, All, KeyPair, Message, PublicKey, Secp256k1, SecretKey}; @@ -37,11 +37,11 @@ impl Keychain { } pub fn peer_count(&self) -> usize { - self.public_keys.len() + self.public_keys.total() } pub fn threshold(&self) -> usize { - (2 * self.peer_count()) / 3 + 1 + self.public_keys.threshold() } fn tagged_hash(&self, message: &[u8]) -> Message { diff --git a/fedimint-server/src/consensus/server.rs b/fedimint-server/src/consensus/server.rs index 027c67ab4bb..a21e1df2e46 100644 --- a/fedimint-server/src/consensus/server.rs +++ b/fedimint-server/src/consensus/server.rs @@ -484,6 +484,8 @@ impl ConsensusServer { if self.keychain.verify(&header, &signature, to_node_index(peer)){ // since the signature is valid the node index can be converted to a peer id signatures.insert(peer, signature); + } else { + warn!(target: LOG_CONSENSUS, "Received invalid signature from peer {peer}"); } } }