mirror of
https://github.com/logos-blockchain/logos-blockchain-simulations.git
synced 2026-01-03 21:53:09 +00:00
Aggregation cost
This commit is contained in:
parent
35d2e3956e
commit
8a023f3b25
@ -18,3 +18,26 @@ def verify_signatures(committee_size, depth):
|
||||
end_time = time.time()
|
||||
elapsed_time = end_time - start_time
|
||||
return elapsed_time
|
||||
|
||||
|
||||
|
||||
def aggregate_signatures(committee_size):
|
||||
# Simulate aggregating 3 * committee_size signatures
|
||||
start_time = time.time()
|
||||
|
||||
# ECDSA key generation
|
||||
private_keys = [ecdsa.SigningKey.generate() for _ in range(3 * committee_size)]
|
||||
# public_keys = [private_key.get_verifying_key() for private_key in private_keys]
|
||||
|
||||
# Simulate signature aggregation
|
||||
shared_message = b"Shared message to be signed"
|
||||
signatures = [private_key.sign(shared_message) for private_key in private_keys]
|
||||
aggregated_signature = sum(signatures, ecdsa.util.numbertheory.ordercurve.order)
|
||||
|
||||
# Verify aggregated signature against the shared message
|
||||
public_key = ecdsa.VerifyingKey.from_public_point(aggregated_signature, curve=ecdsa.SECP256k1)
|
||||
assert public_key.verify(aggregated_signature, shared_message)
|
||||
|
||||
end_time = time.time()
|
||||
elapsed_time = end_time - start_time
|
||||
return elapsed_time
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user