diff --git a/public/hackathon-axiom-1/ecc/slideshow.md b/public/hackathon-axiom-1/ecc/slideshow.md index 82155ed1f733c1fdaa7ddaeed6d5d777b7bfed3e..1490be31e1bb437040dc7b7ef077bb9bdda2f5b9 100644 --- a/public/hackathon-axiom-1/ecc/slideshow.md +++ b/public/hackathon-axiom-1/ecc/slideshow.md @@ -30,8 +30,10 @@ class: dark 1. [Ed25519](#ed25519) 1. [Nombres cryptographiques](#cryptint) 1. [Signature Ed25519](#sig) +1. [Transaction](#tx) 1. [Pedersen Commitment](#pc) 1. [Chiffrement des montants](#cm) +1. [Bulletproof](#bp) --- @@ -174,6 +176,28 @@ Démonstration: `rG = (α + ck)G = αG + ckG = αG + cK` --- +name: tx + +## .center[Transaction] + +| Inputs | | Outputs | +|:-|-|-:| +| `1002:0:D:Do6...XqC:104937` | - | `2000:0:SIG(DTgQ...r9NG)` | +| `1002:0:D:Do6...XqC:104937` | - | `4:0:SIG(Do6Y...1XqC)` | + +Les vérificateurs doivent pouvoir s'assurer que personne ne puisse dépenser de la monnaie qu'il n'a pas. + +Pou cela quel sont les 2 critères ? + +-- +1. L'émétteur doit avoir le droit de dépenser la source + +-- + +1. La somme des outputs doit être égale à la somme des inputs. + +--- + name: pc ## .center[Pedersen Commitment] @@ -191,7 +215,7 @@ Pour avoir un Pedersen Commitment en ECC on utilise deux points G et H ainsi qu' --- -name: cm +name: cm2 ## .center[Chiffrement des montants] @@ -209,6 +233,28 @@ Tout vérifieur doit pouvoir vérifier que la somme des outputs est égale à la Le vérifieur à juste à vérifier que `C1 + C2 = C3 + C4` +-- + +.center[**En réalité c'est insuffisant, voyez vous pourquoi ?**] + +--- + +name: bp + +## .center[Bulletproof] + +Une « range proof » permet de prouver que la valeur commitée est incluse dans un certain interval sans la dévoilée. + +Une bullet proof est un aggégat de plusieurs «range proof» permettant de prouver qu'une liste e valeurs commitées sont incluses dans l'intervale `[0; 2^n[`. + +S'il y a P valeurs à prouver, la taille de la bulletproof est: + +.center[`(2 * log(n) + 9) * 32 * P`] + +Si l'on choisi n=32, alors pour une transaction à 2 outputs on aura une bulletproof de 1216 octets. + +Pour plus d'infos: [Bulletproof whitepaper](https://eprint.iacr.org/2017/1066.pdf) + --- ## .center[Merci de votre attention]