<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: ShadowRook-crypto</title>
    <description>The latest articles on DEV Community by ShadowRook-crypto (@shadowrookcrypto).</description>
    <link>https://dev.to/shadowrookcrypto</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4212364%2F2cf8b8a4-e04f-47c1-9256-78554c37112b.png</url>
      <title>DEV Community: ShadowRook-crypto</title>
      <link>https://dev.to/shadowrookcrypto</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shadowrookcrypto"/>
    <language>en</language>
    <item>
      <title>Resisting 51% attacks without a central authority: what I tried in NumFranc</title>
      <dc:creator>ShadowRook-crypto</dc:creator>
      <pubDate>Wed, 28 Oct 2026 07:04:58 +0000</pubDate>
      <link>https://dev.to/shadowrookcrypto/resisting-51-attacks-without-a-central-authority-what-i-tried-in-numfranc-2n4p</link>
      <guid>https://dev.to/shadowrookcrypto/resisting-51-attacks-without-a-central-authority-what-i-tried-in-numfranc-2n4p</guid>
      <description>&lt;p&gt;I’m a young French developer building NumFranc, a cryptocurrency written in Rust (Argon2d proof of work, ML-DSA-87 signatures). I code with the help of an AI, so what I’m really looking for is human code review.&lt;/p&gt;

&lt;p&gt;The problem. In a proof-of-work cryptocurrency, someone who controls more than half of the computing power can mine a chain in secret, then reveal it to replace the official one. This is the 51% attack. My network is small, so the risk is real.&lt;/p&gt;

&lt;p&gt;What I refuse to do. I don’t want a central authority that signs the “right” chain. That would solve the problem, but it would no longer be a decentralized cryptocurrency.&lt;/p&gt;

&lt;p&gt;What I put in place:&lt;/p&gt;

&lt;p&gt;A reorganization limit: a node refuses to replace more than 10 recent blocks.&lt;br&gt;
A penalty for hidden chains: a chain mined in secret and revealed late is delayed before being accepted, while honest competition is not.&lt;br&gt;
Adaptive confirmations: a large payment needs 30 confirmations, a small one needs 6.&lt;br&gt;
A few checkpoints in the code, which the node refuses to reorganize past.&lt;/p&gt;

&lt;p&gt;The limits. A very powerful attacker could still try to take over, and my rules are trade-offs, not proofs. That’s why I’d love your criticism: where is the flaw?&lt;/p&gt;

&lt;p&gt;The code is here: &lt;a href="https://github.com/ShadowRook-crypto/NumFranc" rel="noopener noreferrer"&gt;https://github.com/ShadowRook-crypto/NumFranc&lt;/a&gt; (see src/chain.rs).&lt;/p&gt;

&lt;p&gt;Transparency: I wrote the code with help from an AI, as a way to learn how to develop software and to communicate in English. In the long term, I’d like NumFranc to become a real post-quantum payment network, built with a community. &lt;em&gt;No NFR is sold and no value is promised.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>crypto</category>
      <category>cryptocurrency</category>
      <category>rust</category>
    </item>
    <item>
      <title>Résister à une attaque à 51 % sans autorité centrale : ce que j’ai essayé dans NumFranc</title>
      <dc:creator>ShadowRook-crypto</dc:creator>
      <pubDate>Wed, 28 Oct 2026 07:02:22 +0000</pubDate>
      <link>https://dev.to/shadowrookcrypto/resister-a-une-attaque-a-51-sans-autorite-centrale-ce-que-jai-essaye-dans-numfranc-h8o</link>
      <guid>https://dev.to/shadowrookcrypto/resister-a-une-attaque-a-51-sans-autorite-centrale-ce-que-jai-essaye-dans-numfranc-h8o</guid>
      <description>&lt;p&gt;Je suis un jeune développeur français, et je construis NumFranc, une cryptomonnaie en Rust (preuve de travail Argon2d, signatures ML-DSA-87). Je m’aide d’une IA pour coder, et pour apprendre, donc je cherche surtout des relectures humaines.&lt;/p&gt;

&lt;p&gt;J'ai appris que dans une cryptomonnaie à preuve de travail, quelqu’un qui possède plus de la moitié de la puissance de calcul peut miner une chaîne en secret, puis la révéler pour remplacer la chaîne officielle. C’est l’attaque à 51 %. Mon réseau est petit, donc le risque est réel.&lt;/p&gt;

&lt;p&gt;Ce que je refuse. Je ne veux pas d’autorité centrale qui signe la « bonne » chaîne. Ça résoudrait le problème, mais ce ne serait plus une cryptomonnaie décentralisée.&lt;/p&gt;

&lt;p&gt;Ce que j’ai mis en place :&lt;/p&gt;

&lt;p&gt;Une limite de réorganisation : le nœud refuse de remplacer plus de 10 blocs récents.&lt;br&gt;
Une pénalité pour les chaînes cachées : une chaîne minée en secret, puis révélée en retard, est retardée avant d’être acceptée, alors qu’une concurrence honnête ne l’est pas.&lt;br&gt;
Des confirmations adaptées : un gros paiement demande 30 confirmations, un petit 6.&lt;br&gt;
Quelques points de contrôle dans le code, que le nœud n’accepte pas de dépasser.&lt;/p&gt;

&lt;p&gt;Cependant si un attaquant très puissant pourrait quand même tenter de s’imposer, et mes règles sont des compromis, pas des preuves. C’est pour ça que j’aimerais vos critiques : où est la faille ?&lt;/p&gt;

&lt;p&gt;Le code est ici : &lt;a href="https://github.com/ShadowRook-crypto/NumFranc" rel="noopener noreferrer"&gt;https://github.com/ShadowRook-crypto/NumFranc&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Transparence : j’ai écrit le code avec l’aide d’une IA, pour apprendre à développer et à communiquer en anglais. À long terme, j’aimerais que NumFranc devienne un vrai réseau de paiement post-quantique, construit avec une communauté. Aucun NFR n’est vendu et aucune valeur n’est promise.&lt;/p&gt;

</description>
      <category>blockchain</category>
      <category>crypto</category>
      <category>rust</category>
      <category>security</category>
    </item>
  </channel>
</rss>
