Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| en:guide [2025/10/23 21:54] – dustethic | en:guide [2025/11/13 17:50] (Version actuelle) – dustethic | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== DUSTETHIC - THE COMPLETE GUIDE [2025-10-21] ====== | + | {{: |
| - | + | French version: [[dustethic-guide-v1.1-draft-fr.md|Le guide complet]] | |
| - | > French version: [[fr:guide|Le | + | |
| **Version**: | **Version**: | ||
| - | **Date**: | + | **Date**: 2025-11-13\\ |
| - | **Last updated**: [2025-10-21]\\ | + | **Last updated**: [2025-11-13]\\ |
| **Status**: Phase 0 - Scoping document | **Status**: Phase 0 - Scoping document | ||
| - | > ⚠️ Phase 0 - Scoping document - Informational document - not financial or legal advice. | + | **Warning**:: |
| + | * Informational document - not financial or legal advice. | ||
| + | * Some capabilities depend on ERC-4337, paymasters and L2 usage. | ||
| + | * Reference amounts are expressed | ||
| + | * Transparency required: fee schedule (published tier), aggregation windows, supported networks, chosen gas option | ||
| + | * **Campaign cap**: gas + fee + technical reserve ≤ public threshold (e.g. 15%). | ||
| ---- | ---- | ||
| Ligne 15: | Ligne 18: | ||
| ===== 🎯 Core principle ===== | ===== 🎯 Core principle ===== | ||
| - | **Think in crypto, not in fiat.**\\ | + | **We reason |
| - | Amounts are counted in the native units of the chain. Example: you donate 0.0100 ETH, the NGO receives 0.0090 ETH if the publicly declared commission | + | Amounts are counted in native units of the chain in use. Example: you donate 0.0100 ETH, the NGO receives 0.0090 ETH if the announced fee is 10%. This logic **neutralises |
| - | In this guide, fiat is only used to aid understanding. | + | In this guide, fiat equivalents are provided for readability |
| - | ==== 🔌 Gas policy v0.1 - default ==== | + | ==== 🔌 Gas policy v0.2 - default ==== |
| - | + | ||
| - | * **L2-first**: | + | |
| - | + | ||
| - | * **Relayer gas pool**: the relayer maintains a pool of the chain’s gas token (for example ETH on EVM L2). **No donor funds are converted to finance the relayer’s commission.**\\ | + | |
| - | + | ||
| - | * **Optional safety net**: if the gas pool runs short, a **minimal, on-chain documented conversion** can be triggered to acquire gas token, without changing the standard split formula.\\ | + | |
| + | * **L2-first**: | ||
| + | * **Conditional execution**: | ||
| + | * DustEthic v0.2 recommendation: | ||
| + | * Example with a 7% fee: '' | ||
| + | * **Relayer gas pool**: the relayer maintains a pool of the native gas token (e.g. ETH on L2 EVM). **No conversion is made on donations** to fund the fee. | ||
| + | * **Optional safety net**: if the gas pool is insufficient, | ||
| * **Standard display**: | * **Standard display**: | ||
| - | * Formula: '' | + | * Calculation formula: '' |
| - | + | * Fee displayed | |
| - | * Commission shown **as a percentage of the donated crypto** (for example | + | * **Transparency**: |
| - | + | ||
| - | * **Transparency**: | + | |
| ---- | ---- | ||
| Ligne 39: | Ligne 39: | ||
| ===== 📚 Table of contents ===== | ===== 📚 Table of contents ===== | ||
| - | * [[# | + | * Core principle |
| - | * [[# | + | * Gas policy v0.2 - default |
| - | * [[# | + | * 1) The real problem today |
| - | * [[#2-dustethics-proposed-solution|2) | + | * 2) The solution |
| - | * [[# | + | * 3) Realistic operational flow |
| - | * [[# | + | * 4) Gas, conversions and design options |
| - | * [[# | + | * 5) Volatility - principles and strategies |
| - | * [[# | + | * 6) Actors and responsibilities |
| - | * [[# | + | * 7) Donors - how it works |
| - | * [[# | + | * 8) NGOs - integration, |
| - | * [[# | + | * 9) Relayers - minimum requirements for DustEthic |
| - | * [[# | + | * 10) Market references and positioning |
| - | * [[# | + | * 11) Roadmap |
| - | * [[# | + | * 12) Join the project |
| - | * [[# | + | * 13) Licence |
| - | * [[# | + | * 14) Notes and references |
| ---- | ---- | ||
| Ligne 61: | Ligne 60: | ||
| ===== 1) The real problem today ===== | ===== 1) The real problem today ===== | ||
| - | * On Ethereum L1, **gas is paid in ETH** and may exceed small donations. On L2, fees are much lower, but not zero.\\ | + | * On Ethereum L1, **gas fees are paid in ETH** and can exceed small donations. On L2 they are much lower, but never zero. |
| - | + | * Several EVM L2s also use **ETH as gas token** (e.g. Arbitrum, Optimism). Polygon PoS uses **POL** | |
| - | * Several EVM L2s also use **ETH as gas** (for example | + | * As a result, an isolated |
| - | + | ||
| - | * Result: | + | |
| ---- | ---- | ||
| - | ===== 2) DustEthic’s proposed | + | ===== 2) The solution |
| **Aggregation + on-chain transparency + splitting in crypto units**: | **Aggregation + on-chain transparency + splitting in crypto units**: | ||
| - | * **Relayers** aggregate micro-donations | + | * **Relayers** aggregate micro-donations |
| + | * Splitting happens **in crypto units**, with **gas reimbursed first** and a published **degressive fee schedule**. | ||
| + | * A **campaign cap** is published: gas + fee + technical reserve ≤ public threshold (e.g. 15%). | ||
| + | * The NGO share and the fee are **expressed as a percentage of the donated crypto**, not a fiat equivalent. | ||
| + | * Traceability is ensured via public explorers (e.g. Etherscan for Ethereum). | ||
| - | | + | **Building blocks already exist**: |
| - | * Transparency via public explorers (for example Etherscan | + | * **Account Abstraction ERC-4337** with **paymasters** to sponsor donor gas. |
| + | * **EIP-2612 permit**, when available, | ||
| - | **Existing technical building blocks**: | + | ---- |
| - | * **Account Abstraction ERC-4337** with **paymasters** to sponsor user gas.\\ | + | ===== 3) Realistic operational flow ===== |
| - | | + | **Step 1 - Donation** |
| + | * Donation via AA smart account with paymaster: **gas sponsored**, | ||
| + | * Donation via EOA + token with permit: **approval without gas**, then relayed donation. | ||
| + | * Donation via EOA + token without permit: a **paid approval** may be required, depending on the token. | ||
| - | ---- | + | **Step 2 - Aggregation** |
| - | ===== 3) Realistic operational flow ===== | + | * Donations are collected into an aggregation smart contract. Recommended triggers: amount threshold, maximum time window, acceptable gas window. |
| - | **Step | + | **Step |
| - | - Smart account with AA and paymaster: **gas is sponsored**, | + | |
| - | - EOA + token with permit: **approval without gas**, then relayed donation.\\ | + | |
| - | - EOA + token without permit: an **on-chain approval** may be required, depending on the token. | + | |
| - | **Step 2 - Aggregation**\\ | + | |
| - | - Donations are collected in an aggregation smart contract. Recommended triggers: amount | + | |
| - | **Step 3 - Grouped transfer**\\ | + | **Step 4 - Public |
| - | - A single transaction sends funds to the NGO.\\ | + | |
| - | - Standard formula: | + | |
| - | - '' | + | |
| - | + | ||
| - | **Step 4 - Public | + | |
| - | - Donations, any minimal conversions and the final payout are visible on the chain explorer. | + | |
| + | * Donations, any conversions and the final payout can be inspected on the chain explorer. | ||
| ---- | ---- | ||
| Ligne 112: | Ligne 108: | ||
| ===== 4) Gas, conversions and design options ===== | ===== 4) Gas, conversions and design options ===== | ||
| - | **Physical constraints**: | + | **Physical constraints**: |
| - | To uphold | + | To respect |
| - | + | ||
| - | | + | |
| - | + | ||
| - | | + | |
| - | + | ||
| - | * **Option C - L2-first**: operate primarily on low-fee L2s so gas is marginal.\\ | + | |
| - | + | ||
| - | * **Option D - Sponsored paymasters**: | + | |
| + | * **Option A - Relayer gas pool**: the relayer maintains a pool of the required gas token. No conversion on donations. | ||
| + | * **Option B - Minimal documented conversion**: | ||
| + | * **Option C - L2-first**: operate primarily on low-fee L2s so gas is marginal. | ||
| + | * **Option D - Sponsors**: paymasters funded by partners who supply gas and are reimbursed periodically. | ||
| ---- | ---- | ||
| Ligne 128: | Ligne 120: | ||
| ===== 5) Volatility - principles and strategies ===== | ===== 5) Volatility - principles and strategies ===== | ||
| - | **Rule**: | + | **Rule**: |
| - | **Stablecoins**: | + | **Stablecoins**: |
| - | **After receiving**: | + | **Post-receipt strategies**: |
| - | - **NGO**: sell immediately, | + | |
| - | - **Relayer**: sell regularly, hold, or mixed approach. | + | |
| + | * **NGO**: sell immediately, | ||
| + | * **Relayer**: | ||
| ---- | ---- | ||
| Ligne 141: | Ligne 133: | ||
| ===== 6) Actors and responsibilities ===== | ===== 6) Actors and responsibilities ===== | ||
| - | * **Donors**: send small amounts, ideally via AA to avoid paying | + | * **Donors**: send small amounts, ideally via AA so they don’t pay gas directly. |
| - | + | * **Relayers**: | |
| - | * **Relayers**: | + | * **NGOs**: receive |
| - | + | ||
| - | * **NGOs**: receive directly | + | |
| ---- | ---- | ||
| Ligne 152: | Ligne 141: | ||
| ===== 7) Donors - how it works ===== | ===== 7) Donors - how it works ===== | ||
| - | - Pick a relayer that complies with DustEthic.\\ | + | - Choose |
| + | - Connect your wallet. | ||
| + | - Select the NGO. | ||
| + | - Enter the amount in **crypto**. | ||
| + | - Sign. | ||
| - | - Connect your wallet.\\ | + | Depending on the setup, the donation is gasless via AA or permit. Otherwise a paid approval may be required depending on the token. |
| - | - Choose the NGO.\\ | + | **Cost for the donor**: ideally zero via AA or permit. Otherwise, only the initial approval |
| - | + | ||
| - | - Enter the amount in **crypto units**.\\ | + | |
| - | + | ||
| - | - Sign. Gasless via AA or permit when available. Otherwise a one-time approval may be needed depending on the token. | + | |
| - | + | ||
| - | **Cost for donors**: ideally zero via AA or permit. Otherwise only the initial approval | + | |
| **Tracking**: | **Tracking**: | ||
| - | |||
| ---- | ---- | ||
| Ligne 171: | Ligne 157: | ||
| ===== 8) NGOs - integration, | ===== 8) NGOs - integration, | ||
| - | **Recommended wallet**: **Safe** multi-signature for custody.\\ | + | * **Recommended wallet**: **Safe** |
| - | **Fiat conversion**: | + | |
| - | **Accounting**: | + | |
| - | **Minimal compliance**: | + | |
| ---- | ---- | ||
| Ligne 181: | Ligne 166: | ||
| ===== 9) Relayers - minimum requirements for DustEthic v0.1 ===== | ===== 9) Relayers - minimum requirements for DustEthic v0.1 ===== | ||
| - | **Transparency**\\ | + | **Transparency** |
| - | - Open-source code. Public parameters: commission rate, aggregation windows, supported networks, chosen gas option.\\ | + | |
| - | - Readable on-chain dashboard. | + | |
| - | **Non-custodial**\\ | + | |
| - | - Funds held by smart contracts. Technical governance without unilateral withdrawal power. | + | * **Signed logs** and on-chain links; **CSV** export. |
| + | * Readable on-chain dashboard. | ||
| - | **Technical governance**\\ | + | **Non-custodial** |
| - | - Admin roles under **Safe** multi-sig. Timelock for critical changes. Emergency procedures. | + | |
| - | **Security**\\ | + | |
| - | - Independent audit before mainnet. Bug bounty after launch. | + | |
| - | **Gas and conversions**\\ | + | **Technical governance** |
| - | - Explicitly choose Option A, B, C or D and display it publicly.\\ | + | |
| - | - Commission always as a percentage of the donated crypto.\\ | + | |
| - | - If any gas conversion is required, log it on-chain. | + | |
| - | **AA and compatibility**\\ | + | |
| - | - ERC-4337 and paymaster support recommended | + | |
| - | **v1 allowlist of assets**\\ | + | **Security** |
| - | - Ethereum and EVM L2: ETH, USDC, USDT.\\ | + | |
| - | - Polygon PoS: viable but **gas in POL** - plan logistics accordingly.\\ | + | |
| - | - By default reject illiquid, taxed, honeypot tokens or those without permit if UX becomes impractical. | + | |
| - | **Minimal compliance**\\ | + | |
| - | - Proportionate AML policy, basic screening, logging of refusals. | + | |
| + | **Gas and conversions** | ||
| - | ---- | + | * Explicitly choose Option A, B, C or D and display it publicly. |
| + | * **Execute only if the ratio '' | ||
| + | * Fee always expressed as a percentage of the donated crypto (published **degressive** schedule). | ||
| + | * If gas conversion is necessary, log it on-chain. | ||
| - | ===== 10) Market references | + | **AA and compatibility** |
| - | * Crypto donation platforms for **regular size donations** already exist and often convert immediately to fiat. | + | * ERC-4337 support |
| - | * **Every.org**: instant USD conversion, broker fee about 1% + network fees.\\ | + | * Fallback: |
| - | | + | **v1 asset whitelist** |
| - | * **DustEthic** focuses on **micro-donations via aggregation** and **native crypto splits** on low-fee L2s. | + | * Ethereum & EVM L2s: ETH, USDC, USDT. |
| + | | ||
| + | | ||
| + | **Minimal compliance** | ||
| + | |||
| + | * Proportionate AML policy, basic screening, logging of refusals. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 10) Market references and positioning ===== | ||
| + | |||
| + | * “Classic” crypto donation platforms exist and mainly target medium or large donations with fast fiat conversion. | ||
| + | * **Every.org**: | ||
| + | * **The Giving Block**: subscription packages and processing fees, details provided commercially. | ||
| + | * **DustEthic** focuses on **micro-donations via aggregation**, | ||
| ---- | ---- | ||
| Ligne 227: | Ligne 219: | ||
| ===== 11) Roadmap ===== | ===== 11) Roadmap ===== | ||
| - | **Phase 0 - Foundations [Q4 2025]**\\ | + | **Phase 0 - Foundations [Q4 2025]** |
| - | - Spec v0.1\\ | + | |
| - | - v1 allowlist of assets and networks\\ | + | |
| - | - Aggregation contracts and paymaster design - testnet\\ | + | |
| - | - Security and governance policy | + | |
| - | **Phase | + | |
| - | - Open-source reference implementation\\ | + | |
| - | - Tests on Sepolia | + | |
| - | - Third-party audit\\ | + | * Security |
| - | - Pilots with 1 relayer | + | |
| - | **Phase | + | **Phase |
| - | - Mainnet + 2 L2 deployments\\ | + | |
| - | - 3-5 compliant relayers, 10+ NGOs\\ | + | |
| - | - Community dashboard | + | |
| - | **Phase 3 - Expansion [2027+]**\\ | + | |
| - | - More L2s, possibly other EVM ecosystems\\ | + | |
| - | - Broader governance if traction emerges | + | * Third-party audit |
| + | * Pilots with 1 relayer and 2 NGOs | ||
| + | **Phase 2 - Launch [2026+]** | ||
| - | ---- | + | * Mainnet + 2 L2 deployments |
| + | * 3–5 compliant relayers, 10+ NGOs | ||
| + | * Community dashboard | ||
| - | ===== 12) Join the project ===== | + | **Phase 3 - Expansion [2027+]** |
| - | * **Developers**: | + | * More L2s, possibly other EVM ecosystems |
| + | | ||
| - | * **NGOs**: test with a **Safe** wallet and an internal conversion policy.\\ | + | ---- |
| - | * **Relayers**: | + | ===== 12) Join the project ===== |
| + | * **Developers**: | ||
| + | * **NGOs**: test with a **Safe** wallet and an internal conversion policy. | ||
| + | * **Relayers**: | ||
| * **Community**: | * **Community**: | ||
| - | Useful links:\\ | + | Useful links: |
| - | - Website: https: | + | |
| - | - Discord: https: | + | |
| - | - GitHub: https: | + | |
| - | - Bluesky: @dustethic.bsky.social | + | |
| + | * Website: https:// | ||
| + | * Discord: https:// | ||
| + | * GitHub: https:// | ||
| + | * Bluesky: @dustethic.bsky.social | ||
| ---- | ---- | ||
| - | ===== 13) License | + | ===== 13) Licence |
| - | + | ||
| - | * Text: **CC BY 4.0**\\ | + | |
| + | * Text: **CC BY 4.0** | ||
| * Future code: **MIT** | * Future code: **MIT** | ||
| - | |||
| ---- | ---- | ||
| Ligne 281: | Ligne 271: | ||
| ===== 14) Notes and references ===== | ===== 14) Notes and references ===== | ||
| - | * **ERC-4337 - Account Abstraction**: | + | (Same URLs as in the GitHub version.) |
| - | * https: | + | |
| - | + | ||
| - | * https: | + | |
| - | + | ||
| - | * OpenZeppelin AA overview: https: | + | |
| - | * **EIP-2612 - Permit** | + | |
| - | * OpenZeppelin guide: https: | + | |
| - | + | ||
| - | * QuickNode tutorial: https: | + | |
| - | * **Gas - definitions and network costs** | + | |
| - | * Etherscan Gas Tracker: https: | + | |
| - | + | ||
| - | * Optimism - fee estimates: https: | + | |
| - | + | ||
| - | * Arbitrum - gas in ETH FAQ: https: | + | |
| - | + | ||
| - | * Polygon PoS - MATIC to POL migration: https: | + | |
| - | * **Stablecoin volatility** | + | |
| - | * USDC depeg March 2023 (academic analysis): https: | + | |
| - | + | ||
| - | * Press summary: https: | + | |
| - | * **Custody security** | + | |
| - | * Safe (ex-Gnosis Safe): https: | + | |
| - | * **Compliance - AML, OFAC, FATF** | + | |
| - | * OFAC - virtual currency FAQ: https: | + | |
| - | + | ||
| - | * OFAC - Guidance PDF: https: | + | |
| - | + | ||
| - | * FATF - Targeted Update R.15 (2024): https: | + | |
| - | + | ||
| - | * FATF - Targeted Update (2025, PDF): https: | + | |
| - | + | ||
| - | * FATF - Best Practices Travel Rule (2025, PDF): https: | + | |
| - | * **Existing donation platforms** | + | |
| - | * Every.org crypto - 1% broker + network: https: | + | |
| - | + | ||
| - | * The Giving Block - offers and fee packages: https: | + | |
| ---- | ---- | ||
| **End of DustEthic Guide v1.1-draft** | **End of DustEthic Guide v1.1-draft** | ||
| + | |||