Kogelvrij

De basis

@RingCT is geïntroduceerd om transactiebedragen te verdoezelen. Een doel van @RingCT was om de som van de inputs te bewijzen - outputs in de @transactie waren gelijk aan 0 en alle outputs waren positieve getallen. Om dit te bereiken werden twee soorten ringsignaturen geconstrueerd: één ringsignatuur voor de hele transactie (om te bewijzen dat de som 0 is), en een set ringsignaturen voor de subsets van transactiebits (om te bewijzen dat de output positieve getallen zijn), vervolgens gecombineerd met oorspronkelijk Schnorr-signaturen (en later vervangen door Borromeaanse ringsignatuur). Terwijl het zijn werk deed, was een groot nadeel de enorme omvang van zo'n ringCT-transactie.

Waar het gaat om kogelwerendheid

In 2017, een Standford toegepaste cryptogroep schreef een papier presenteren van een nieuw soort range proofs, bulletproofs genaamd.

Bulletproofs zijn korte niet-interactieve zero-knowledge proofs die geen vertrouwde setup vereisen.

Kogelwerendheden zijn, in tegenstelling tot Borromeïsche of Schnorr-handtekeningen, zeer efficiënt als afstandsbewijzen. Het bewijzen van een grote reeks gegevens genereert slechts een klein bewijs, en de grootte van dit bewijs groeit logaritmisch met de grootte van de gegevens die worden bewezen. Het betekent dat het verhogen van het aantal outputs in een transactie, met bulletproofs de grootte van het bewijs slechts licht zal vergroten. Bulletproofs hebben ook het voordeel om te bewijzen dat meerdere vastgelegde bedragen tegelijk in het gewenste bereik liggen. Het is niet nodig om elke uitvoer naar elke bestemming in afzonderlijke bewijzen te bewijzen; de hele transactiebedragen konden worden bewezen in één grotere (maar nog steeds erg kleine) kogelvrije.

Grondig auditproces en implementatie

Omdat bulletproofs echt nieuw waren en de initiële implementatie door de groep, hoewel grondig gedaan, een herschrijving nodig had gericht op onze specifieke use-case, was het implementeren van bulletproof in Haven niet eenvoudig.

De code is geschreven en herschreven om de nieuwe versie van bulletproofs te volgen die nog in ontwikkeling was, maar zodra deze Haven-implementatie is voltooid, moet de resulterende implementatie met uiterste zorg worden uitgevoerd.

Daarom startte de gemeenschap een auditproces. Onderzoekers namen contact op met Benedikt Bünz, hoofdauteur van het artikel Bulletproofs, en om OSTIF een organisatie die open source-technologieën helpt zichzelf te verbeteren en te beveiligen.

OSTIF stuurde de groep naar verschillende organisaties met de vaardigheden die nodig zijn om de audit uit te voeren. Terwijl een van hen vroeg om naamloos te blijven en daarom uit het proces werd verwijderd dat openbaar moest zijn, werden twee anderen (QuarksLab & Kudelski Security) gekozen om de audit uit te voeren.

Onze 3 auditors werden gefinancierd door de gemeenschap om te controleren of de implementatie geen kritieke bugs bevatte en of er geen exploits waren.

De eindrapporten zijn in de zomer van 2018 uitgebracht, met verschillende nuttige correcties en fixes voorgesteld, en de definitieve kogelvrije implementatie is eerst toegevoegd aan Haven Stagenet en vervolgens aan het belangrijkste Haven-netwerk tijdens de netwerkupgrade van oktober 2018.

Sinds de implementatie van bulletproofs is de omvang van een gemiddelde transactie met minstens 80% gedaald, evenals de transactiekosten.

Meer uitleg over de implementatie van bulletproofs door Haven is te vinden op het youtube-fondajo-kanaal in a gesprek met Sarang Noether.

nl_NL_formalNederlands (Formeel)