<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Proof of Stake | Zouhair EL Hadiq</title><link>https://elhadiq.github.io/tags/proof-of-stake/</link><atom:link href="https://elhadiq.github.io/tags/proof-of-stake/index.xml" rel="self" type="application/rss+xml"/><description>Proof of Stake</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Fri, 31 Jul 2026 00:00:00 +0000</lastBuildDate><image><url>https://elhadiq.github.io/media/icon_hu_982c5d63a71b2961.png</url><title>Proof of Stake</title><link>https://elhadiq.github.io/tags/proof-of-stake/</link></image><item><title>🥩 Casper (Proof of Stake) — Proposition d'épreuve et corrigé</title><link>https://elhadiq.github.io/blog/casper-proof-of-stake/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate><guid>https://elhadiq.github.io/blog/casper-proof-of-stake/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Avertissement.&lt;/strong&gt; Il s&amp;rsquo;agit d&amp;rsquo;une &lt;strong&gt;proposition personnelle&lt;/strong&gt;, à but pédagogique — &lt;strong&gt;pas une épreuve officielle&lt;/strong&gt; du Concours National Commun (CNC) ni de l&amp;rsquo;Agrégation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Proposition d&amp;rsquo;épreuve d&amp;rsquo;informatique portant sur &lt;strong&gt;Casper&lt;/strong&gt;, le protocole de finalité en &lt;strong&gt;Proof of Stake&lt;/strong&gt; d&amp;rsquo;Ethereum, avec son corrigé détaillé. Sujet et corrigé rédigés en LaTeX avec l&amp;rsquo;aide de l&amp;rsquo;AI&lt;/p&gt;
&lt;h2 id="télécharger"&gt;Télécharger&lt;/h2&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-f083e508fc96e32b7d1ef47844fcec33"
href="casper_enonce.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Énoncé (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Énoncé (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;h2 id="contenu-de-lépreuve"&gt;Contenu de l&amp;rsquo;épreuve&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Présentation générale&lt;/strong&gt; — notations et conventions&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Partie I&lt;/strong&gt; — Points de contrôle, dépôts et fuite d&amp;rsquo;inactivité&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hauteurs&lt;/li&gt;
&lt;li&gt;Dépôts et supermajorités&lt;/li&gt;
&lt;li&gt;La fuite d&amp;rsquo;inactivité&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Partie II&lt;/strong&gt; — Arbre de points de contrôle et sérialisation des votes&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ancêtres, conflits, plus proche ancêtre commun&lt;/li&gt;
&lt;li&gt;Sérialisation à longueur variable des hauteurs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Partie III&lt;/strong&gt; — Justification et finalisation&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La règle de choix de fourche&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Partie IV&lt;/strong&gt; — Détection des infractions et sûreté responsable&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Détection algorithmique&lt;/li&gt;
&lt;li&gt;Sûreté responsable&lt;/li&gt;
&lt;li&gt;Recherche probabiliste d&amp;rsquo;un validateur fautif&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Partie V&lt;/strong&gt; — Coût minimal d&amp;rsquo;une attaque (programmation dynamique)&lt;/p&gt;</description></item><item><title>🧩 Agrégation — Épreuve orale de modélisation : Finalité et responsabilité dans un consensus réparti (Casper)</title><link>https://elhadiq.github.io/blog/casper-modelisation-agregation/</link><pubDate>Fri, 31 Jul 2026 00:00:00 +0000</pubDate><guid>https://elhadiq.github.io/blog/casper-modelisation-agregation/</guid><description>
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;Avertissement.&lt;/strong&gt; Il s&amp;rsquo;agit d&amp;rsquo;une &lt;strong&gt;proposition personnelle&lt;/strong&gt;, à but pédagogique — &lt;strong&gt;pas une épreuve officielle&lt;/strong&gt; du Concours National Commun (CNC) ni de l&amp;rsquo;Agrégation.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="télécharger"&gt;Télécharger&lt;/h2&gt;
&lt;div class="text-left"&gt;
&lt;a
id="button-96b21513af38deb52806273e6853a2b4"
href="casper_modelisation.pdf"
class="inline-flex items-center gap-2 font-medium no-underline transition-all duration-300 ease-out transform-gpu focus:outline-none focus:ring-4 focus:ring-offset-2 focus:ring-offset-white dark:focus:ring-offset-zinc-900 disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none bg-gradient-to-br from-primary-500 to-primary-600 hover:from-primary-600 hover:to-primary-700 active:from-primary-700 active:to-primary-800 text-white shadow-lg shadow-primary-500/25 hover:shadow-xl hover:shadow-primary-500/30 hover:-translate-y-0.5 hover:scale-[1.02] active:scale-[0.98] focus:ring-primary-500/50 px-4 py-2 text-base rounded-lg"
role="button"
aria-label="Texte de modélisation (PDF)"
&gt;
&lt;span class="flex-shrink-0"&gt;
&lt;svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"&gt;&lt;path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m.75 12l3 3m0 0l3-3m-3 3v-6m-1.5-9H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9"/&gt;&lt;/svg&gt;
&lt;/span&gt;
&lt;span&gt;Texte de modélisation (PDF)&lt;/span&gt;
&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Texte de modélisation pour l&amp;rsquo;&lt;strong&gt;épreuve orale d&amp;rsquo;informatique de l&amp;rsquo;agrégation&lt;/strong&gt; (option informatique), rédigé d&amp;rsquo;après V. Buterin et V. Griffith, &lt;em&gt;Casper the Friendly Finality Gadget&lt;/em&gt;, Ethereum Foundation, arXiv:1710.09437v4, 2019. Le texte formalise le protocole &lt;strong&gt;Casper&lt;/strong&gt;, mécanisme de finalité en Proof of Stake d&amp;rsquo;Ethereum, et propose dix suggestions de développement indépendantes pour la discussion du candidat.&lt;/p&gt;
&lt;h2 id="plan-du-texte"&gt;Plan du texte&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;1. Le problème&lt;/strong&gt; — du consensus probabiliste (preuve de travail) à la finalité déterministe et imputable&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Le modèle&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Arbre de blocs et points de contrôle&lt;/li&gt;
&lt;li&gt;Validateurs, dépôts et votes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;3. Sûreté responsable et vivacité&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les deux conditions de sanction&lt;/li&gt;
&lt;li&gt;Le lemme d&amp;rsquo;intersection&lt;/li&gt;
&lt;li&gt;Le théorème de sûreté responsable&lt;/li&gt;
&lt;li&gt;Vivacité plausible et règle de choix de fourche&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;4. Aspects algorithmiques&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Calcul des justifiés et des finalisés&lt;/li&gt;
&lt;li&gt;Détection des fautes&lt;/li&gt;
&lt;li&gt;Le coût d&amp;rsquo;une attaque&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;5. Deux extensions et leurs limites&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Jeu de validateurs dynamique&lt;/li&gt;
&lt;li&gt;Révisions lointaines&lt;/li&gt;
&lt;li&gt;Fuite d&amp;rsquo;inactivité&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le texte se conclut par dix suggestions de développement (implémentation de l&amp;rsquo;arbre des points de contrôle, comparaison d&amp;rsquo;algorithmes de calcul des justifiés, vérificateur de fautes, simulation d&amp;rsquo;un réseau de validateurs, étude du coût minimal d&amp;rsquo;une attaque, comparaison avec pBFT et Tendermint, etc.) et une bibliographie.&lt;/p&gt;</description></item></channel></rss>