ElementsProject / ElementsProject/elements

We should bump the surjectionproof default # of inputs from 3 to 7+

Aperta
#1,056 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
1.2k
Fork
416
Merge medio
1g 23h
PR unite (30g)
15

Descrizione

I meant to do this in 0.21 but forgot. Maybe could slip into the next rc.

Background:
* The surjection proofs are zkps of the statement "this output's asset ID is equal to that of one of these N inputs", where N is chosen by the signer and is currently max(3, n_inputs) in the Elements wallet.
* There is a separate surjection proof on every blintded output
* The weight of a surjection proof is 32 * (N+1) bytes, so currently they max out at 128 bytes.
* So by at most doubling the size of the proof, to 256 bytes, we could increase this 3 to 7

Our rangeproofs currently default to about 4k; post-bulletproofs these will be a bit under 700 bytes. So I think spending an extra 128 bytes per output is well-worth it for improved privacy.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia individuando il codice del wallet Elements che sceglie N per le surjection proofs e conferma dove è impostato il valore predefinito corrente max(3, n_inputs). Aggiorna il comportamento predefinito a 7, quindi verifica che le prove possano raggiungere 256 byte e che i controlli delle prove esistenti del wallet continuino a passare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp
Ambito
cryptography
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.