Merge d445e1f90cfaf4fd3a7628b6aca506f8400dc90a into d6cf41f66500d4afc157b4f43de0f0d5bfa01443

This commit is contained in:
thomaslavaur 2026-05-12 14:12:07 +02:00 committed by GitHub
commit b8f1031890
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 10 deletions

View File

@ -206,14 +206,13 @@ def PoseidonSponge(data, capacity, output_len):
# ———————————————————————
# Main
# ———————————————————————
if len(sys.argv) != 5:
print("Usage: python3 generate_inputs_for_poq.py <session> <core_quota> <leader_quota> <core (0) or leader (1)>")
if len(sys.argv) != 4:
print("Usage: python3 generate_inputs_for_poq.py <core_quota> <leader_quota> <core (0) or leader (1)>")
sys.exit(1)
session = int(sys.argv[1])
Qc = int(sys.argv[2])
Ql = int(sys.argv[3])
core_or_leader = int(sys.argv[4])
Qc = int(sys.argv[1])
Ql = int(sys.argv[2])
core_or_leader = int(sys.argv[3])
if not core_or_leader in [0,1]:
print("core or leader must be 0 or 1")
sys.exit(1)
@ -280,7 +279,6 @@ K_two = F(654321)
# 5) Assemble JSON
inp = {
"session": str(session),
"core_quota": str(Qc),
"leader_quota": str(Ql),
"core_root": str(core_root),

View File

@ -17,7 +17,6 @@ include "../ledger/notes.circom";
*/
template ProofOfQuota(nLevelsPK, nLevelsPol, bitsQuota) {
// Public Inputs
signal input session; // session s
signal input core_quota;
signal input leader_quota;
signal input core_root;
@ -115,7 +114,7 @@ template ProofOfQuota(nLevelsPK, nLevelsPol, bitsQuota) {
// choose core_sk or pol.secret_key:
selection_randomness.inp[1] <== selector * (would_win.secret_key - core_sk ) + core_sk;
selection_randomness.inp[2] <== index;
selection_randomness.inp[3] <== selector * (would_win.slot - session) + session;
selection_randomness.inp[3] <== selector * (would_win.slot - pol_epoch_nonce) + pol_epoch_nonce;
// Derive key_nullifier
@ -127,5 +126,5 @@ template ProofOfQuota(nLevelsPK, nLevelsPol, bitsQuota) {
}
// Instantiate with chosen depths: 20 for core PK tree, 25 for PoL secret slot tree
component main { public [ session, core_quota, leader_quota, core_root, K_part_one, K_part_two, pol_epoch_nonce, pol_t0, pol_t1, pol_ledger_aged ] }
component main { public [ core_quota, leader_quota, core_root, K_part_one, K_part_two, pol_epoch_nonce, pol_t0, pol_t1, pol_ledger_aged ] }
= ProofOfQuota(20, 25, 20);