You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
SC-8 : la courbe d'impact AMM est concave (dite convexe), et le fractionnement propose ne gagne rien #14840
La simulation retire les frais du pool et maintient k constant. Cette simplification est explicite dans le notebook et n'est pas le defaut — elle doit etre conservee.
Defaut 1 — la courbe est concave, l'interpretation la dit convexe
La cellule 15 affirme : « La relation est convexe : le price impact accelere a mesure que le swap represente une plus grande part des reserves. »
Avec x la reserve initiale, r la fraction conservee apres frais et q le montant entre, l'impact relatif vaut I(q) = 1 - (1 + rq/x)^-2, qui est concave en q.
Mesure, via simulate_swap du notebook (reserve_a = 1000, reserve_b = 2000000, fee = 0.3 %) :
q (ETH)
impact
10
1.96457 %
20
3.87181 %
30
5.72393 %
Accroissements : +1.90724 puis +1.85212 — decroissants.
Derivee seconde par difference finie : I''(10) = -5.76e-4, I''(100) = -4.09e-4, I''(300) = -2.07e-4 — negative partout.
La table du notebook lui-meme le montre, sans rien executer : 1.96 / 18.79 / 31.63 / 49.61 % pour 10 / 110 / 210 / 410 ETH, soit une pente par 100 ETH qui tombe de 16.82 a 12.84 puis 8.99. La sortie committee contredit la phrase qui la commente.
Correctif : « La relation est concave : le price impact croit, mais de moins en moins vite — chaque ETH supplementaire deplace le prix moins que le precedent. » La lecon pedagogique (le slippage augmente avec la taille) est preservee ; c'est la qualification de la courbure qui change.
Defaut 2 — le fractionnement propose ne cree pas le gain suggere
La cellule 13 melange « a travers plusieurs pools » et « ou dans le meme pool », alors que l'interface de la cellule 14 ne connait qu'une seule paire de reserves.
Mesure, 100 ETH dans le meme pool :
1 swap de 100 ETH : 181322.17877603 USDC
5 swaps de 20 ETH : 181322.17877603 USDC
ecart : 2.328e-10 USDC
Dans un pool a produit constant, fractionner ne rapporte rien — l'ecart est purement numerique. L'exercice suggere donc un gain que sa propre interface ne peut pas produire.
Correctif : trancher le perimetre. Soit l'exercice porte sur plusieurs pools et l'interface doit exposer plusieurs reserves ; soit il porte sur un seul pool, et l'enonce doit demander a l'etudiant de montrer que le fractionnement n'y change rien — ce qui est un meilleur exercice.
Critere de cloture
L'interpretation qualifie correctement la courbure, avec les valeurs re-executees.
L'enonce du fractionnement et l'interface du stub s'accordent sur un seul perimetre.
Notebook re-execute et committe avec ses sorties (C.2).
Livree par #14863 (lane myia-po-2024:CoursIA) — les 3 criteres de cloture :
Cellule 15 : concave remplace convexe, avec la formule 1 - (1 + rq/x)^-2 ; la table re-executee (1.96/18.79/31.63/49.61 %, pente par 100 ETH 16.82 -> 12.84 -> 8.99) confirme la concavite.
Cellule 13 : exercice re-scope single-pool (« dans le meme pool, meme paire de reserves »), l'etudiant montre que le fractionnement n'y change rien (option B de l'issue) — aligne sur l'interface mono-paire du stub cellule 14, inchange. Indice 1e-10 = erreur machine ajoute.
Activity
jsboige commentedon Sep 6, 2026
[CLAIMED] lane myia-po-2024:CoursIA — fix SC-8 : courbure concave corrigee (defaut 1) + perimetre fractionnement tranche single-pool, enonce reformule « montrer que le fractionnement ne rapporte rien » (option B de l'issue, defaut 2) — paths: MyIA.AI.Notebooks/SymbolicAI/SmartContracts/02-Solidity-Advanced/SC-8-DeFi-Primitives.ipynb
jsboige commentedon Sep 6, 2026
Livree par #14863 (lane myia-po-2024:CoursIA) — les 3 criteres de cloture :
La simplification (frais retires, k constant) est conservee comme l'issue l'exige.
Fix: SC-8 courbure concave + exercice fractionnement single-pool (#14840