A propos Skills
Interactive Sandbox Web3 Engineering Security Lab Engineering Infrastructure Portfolio Audit Publications Changelog Veille Techno CTF Writeups Uses / Setup Blog Stats Now
Projets Parcours Contact
Retour au portfolio
Production ready

Blockchain
Engineering

DeFi Infrastructure & Smart Contract Security

From ERC-20 design to upgradeable proxy architecture. Building decentralized systems with security-first engineering.

0
dApps déployées
0
Smart Contracts
0
Pages Whitepaper

Stablecoin Architecture

AEDSC est un stablecoin ERC-20 adossé au Dirham des Émirats Arabes Unis (AED), déployé sur Arbitrum L2. Architecture proxy upgradeable (OpenZeppelin), mint contrôlé par gouvernance, transparence des réserves on-chain.

ERC-20 Arbitrum L2 Upgradeable Proxy Chainlink Oracle
User
Frontend React + Wagmi
Wallet MetaMask / EIP-1193
Proxy Contract OpenZeppelin Proxy
Implementation Logic v1

Security Deep Dive

Analyse interactive des vulnérabilités smart contract les plus critiques. Toggle entre le code vulnérable et la version sécurisée.

Reentrancy Attack

Vulnerable.sol VULNERABLE
1// External call before state update
2function withdraw() public {
3 uint bal = balances[msg.sender];
4 (bool ok, ) = msg.sender.call
5 {value: bal}("");
6 require(ok);
7 balances[msg.sender] = 0; // Too late!
8}
Secure.sol SECURE
1// Checks-Effects-Interactions
2function withdraw() public
3 nonReentrant {
4 uint bal = balances[msg.sender];
5 require(bal > 0);
6 balances[msg.sender] = 0; // Before!
7 (bool ok, ) = msg.sender.call
8 {value: bal}("");
9 require(ok);
10}

L'attaquant rappelle withdraw() via receive() avant que le solde soit mis à 0. Le fix : mettre à jour l'état avant l'appel externe + ReentrancyGuard.

Access Control

Vulnerable.sol VULNERABLE
1// No access control on critical function
2function mint(
3 address to, uint amount
4) public {
5 _mint(to, amount);
6 // Anyone can mint!
7}
Secure.sol SECURE
1// Role-based access control
2function mint(
3 address to, uint amount
4) public onlyRole(MINTER_ROLE) {
5 require(amount <= maxMint);
6 _mint(to, amount);
7 emit Minted(to, amount);
8}

Sans modifier onlyOwner ou onlyRole, n'importe qui peut appeler les fonctions critiques. Le fix : OpenZeppelin AccessControl avec roles granulaires.

Proxy Initialization

Vulnerable.sol VULNERABLE
1// Unprotected initializer
2function initialize(
3 string name, string symbol
4) public {
5 _name = name;
6 _symbol = symbol;
7 owner = msg.sender;
8 // Can be called again!
9}
Secure.sol SECURE
1// Protected with initializer modifier
2function initialize(
3 string name, string symbol
4) public initializer {
5 __ERC20_init(name, symbol);
6 __Ownable_init(msg.sender);
7 __UUPSUpgradeable_init();
8}

Sans le modifier initializer, un attaquant peut re-initialiser le contrat et devenir owner. Le fix : OpenZeppelin Initializable qui empêche les appels multiples.

AEDSC Token Distribution

AEDSC 100%
Reserve (40%)

Réserve en AED pour garantir le peg 1:1. Auditable on-chain via proof-of-reserves.

Circulation (30%)

Tokens en circulation active. Mint/burn contrôlé pour maintenir le peg.

Governance (15%)

Tokens de gouvernance DAO. Vote sur les paramètres du protocole et les upgrades.

Treasury (15%)

Trésorerie du protocole. Financement du développement et des audits de sécurité.

Web3 Technology Stack

Wallet Layer
EIP-1193 MetaMask WalletConnect
Frontend
React Wagmi Web3Modal Viem
Backend / RPC
Node.js Ethers.js Alchemy RPC
Smart Contracts
Solidity Hardhat OpenZeppelin
Layer 2
Arbitrum Optimistic Rollups
Layer 1
Ethereum EVM

Concepts maîtrisés

Tokenomics
Governance & DAO
Smart Contract Security
Gas Optimization
L2 Scaling
DeFi Mechanics
On-chain / Off-chain Logic
Oracle Integration
Upgradeable Contracts
Flash Loan Mechanics
MEV Protection
ERC Standards

Web3 Projects

AEDSC

Stablecoin Architecture

ERC-20 sur Arbitrum. Proxy upgradeable, mint contrôlé par gouvernance, oracle Chainlink, transparence des réserves on-chain. Whitepaper 22 pages.

SolidityArbitrumOpenZeppelinChainlink
aedsc.xyz →

Haunt3D

Crypto Dashboard

Dashboard multi-chain immersif : suivi portefeuille, NFT gallery, DeFi position tracker, analytics temps réel avec graphiques interactifs.

ReactWagmiEthers.jsCoinGecko API
haunt3d.fr →

Curs3D

Token Analytics Platform

Plateforme d'analyse on-chain : token scanner, whale tracking, liquidity monitoring, smart contract audit score.

Next.jsViemThe GraphDune Analytics
curs3d.fr →