Antiproiettile

Le basi

@RingCT è stato introdotto per offuscare gli importi delle transazioni. Uno degli obiettivi di @RingCT era dimostrare la somma degli input: gli output nella @transaction erano uguali a 0 e tutti gli output erano numeri positivi. Per ottenere ciò, sono stati costruiti due tipi di firme ad anello: una firma ad anello per l'intera transazione (per dimostrare che la somma è 0) e una serie di firme ad anello per i sottoinsiemi di bit di transazione (per dimostrare che gli output sono numeri positivi), poi combinati insieme utilizzando le firme originariamente di Schnorr (e successivamente sostituite dalla firma dell'anello borromee). Mentre stava facendo il lavoro, un grosso svantaggio era l'enorme dimensione di una tale transazione ringCT.

Quando si tratta di antiproiettile

Nel 2017, a Standford ha applicato il gruppo crittografico ha scritto un carta presentando un nuovo tipo di prove di portata, chiamate antiproiettile.

I Bulletproof sono brevi prove di conoscenza zero non interattive che non richiedono una configurazione affidabile.

I Bulletproof, a differenza delle firme Borromee o Schnorr, sono molto efficienti come prove di portata. Dimostrare un grande insieme di dati genera solo una piccola prova, e la dimensione di questa prova cresce logaritmicamente con la dimensione dei dati che vengono provati. Significa che aumentare il numero di output in una transazione, con i bulletproof, aumenterà solo leggermente la dimensione della prova. I proiettili antiproiettile hanno anche il vantaggio di consentire di dimostrare che più importi impegnati sono nell'intervallo desiderato contemporaneamente. Non è necessario provare ogni output per ciascuna destinazione in prove separate; l'intero importo della transazione potrebbe essere dimostrato in una più grande (ma ancora molto piccola) a prova di proiettile.

Processo e implementazione di audit approfonditi

Poiché i bulletproof erano davvero nuovi e l'implementazione iniziale fatta dal gruppo, sebbene completamente eseguita, necessitava di una riscrittura focalizzata sul nostro caso d'uso specifico, l'implementazione di bulletproof in Haven non era una cosa semplice.

Il codice è stato scritto e riscritto per seguire la nuova versione di bulletproof che era ancora in fase di sviluppo, ma una volta finalizzata questa implementazione di Haven, la distribuzione risultante dovrebbe essere presa con estrema cura.

Pertanto, la comunità ha avviato un processo di auditing. I ricercatori hanno contattato Benedikt Bünz, autore principale dell'articolo Bulletproofs, e a OSTIF un'organizzazione che aiuta le tecnologie open source a migliorarsi e proteggersi.

OSTIF ha indirizzato il gruppo a diverse organizzazioni con le competenze richieste per eseguire l'audit. Mentre uno di loro ha chiesto di essere mantenuto senza nome ed è stato quindi escluso dal processo che doveva essere pubblico, altri due (QuarksLab e Kudelski Security) sono stati scelti per condurre l'audit.

I nostri 3 revisori sono stati finanziati dalla comunità per verificare se l'implementazione non contenesse bug critici e se non avesse alcun exploit.

I rapporti finali sono stati rilasciati durante l'estate del 2018, con diverse utili correzioni e correzioni suggerite, e l'implementazione a prova di proiettile finale è stata aggiunta prima a Haven Stagenet e poi alla rete principale Haven durante l'aggiornamento della rete di ottobre 2018.

Dall'implementazione dei proiettili a prova di proiettile, la dimensione di una transazione media è diminuita di almeno 80%, così come le commissioni di transazione.

Ulteriori spiegazioni sull'implementazione dei proiettili a prova di proiettile di Haven possono essere trovate sul canale youtube fondajo in un file conversazione con Sarang Noether.

it_ITItaliano