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 | |||
| en:guide [2025/11/06 09:23] – dustethic | en:guide [2025/11/13 17:50] (Version actuelle) – dustethic | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{: | + | {{: |
| - | + | French version: [[dustethic-guide-v1.1-draft-fr.md|Le guide complet]] | |
| - | > French version: [[dustethic-guide-v1.1-draft-fr|Le | + | |
| **Version**: | **Version**: | ||
| - | **Date**: 2025-11-06\\ | + | **Date**: 2025-11-13\\ |
| - | **Last updated**: [2025-11-06]\\ | + | **Last updated**: [2025-11-13]\\ |
| **Status**: Phase 0 - Scoping document | **Status**: Phase 0 - Scoping document | ||
| - | ===== Warning | + | **Warning**:: |
| * Informational document - not financial or legal advice. | * Informational document - not financial or legal advice. | ||
| * Some capabilities depend on ERC-4337, paymasters and L2 usage. | * Some capabilities depend on ERC-4337, paymasters and L2 usage. | ||
| - | * Reference amounts are in crypto units. Fiat equivalents are only indicative. | + | * Reference amounts are expressed |
| - | * Transparency required: | + | * Transparency required: |
| - | * **Campaign cap**: gas + commission | + | * **Campaign cap**: gas + fee + technical reserve ≤ public threshold (e.g. 15%). |
| ---- | ---- | ||
| ===== 🎯 Core principle ===== | ===== 🎯 Core principle ===== | ||
| - | **We reason in crypto, not in fiat.**\\ | + | |
| - | Amounts are counted in native units of the chosen | + | **We reason in crypto |
| - | Euro equivalents | + | 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 |
| + | In this guide, fiat equivalents | ||
| ==== 🔌 Gas policy v0.2 - default ==== | ==== 🔌 Gas policy v0.2 - default ==== | ||
| - | | + | |
| - | * **Conditional execution**: | + | |
| - | * **Relayer gas pool**: relayer maintains a pool of the native gas token (e.g., ETH on L2 EVM). **No conversion is taken from donations** to fund the commission. | + | * **Conditional execution**: |
| - | * **Optional safety net**: if the gas pool is insufficient, | + | * DustEthic v0.2 recommendation: |
| + | * Example with a 7% fee: '' | ||
| + | * **Relayer gas pool**: | ||
| + | * **Optional safety net**: if the gas pool is insufficient, | ||
| * **Standard display**: | * **Standard display**: | ||
| - | * Formula: < | + | * Calculation formula: '' |
| - | * Commission | + | * Fee displayed **as a percentage |
| - | * **Transparency**: | + | * **Transparency**: |
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 📚 Table of contents ===== | ||
| + | |||
| + | * Core principle | ||
| + | * Gas policy v0.2 - default | ||
| + | * 1) The real problem today | ||
| + | * 2) The solution proposed by DustEthic | ||
| + | * 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 v0.1 | ||
| + | * 10) Market references and positioning | ||
| + | * 11) Roadmap | ||
| + | * 12) Join the project | ||
| + | * 13) Licence | ||
| + | * 14) Notes and references | ||
| + | |||
| + | ---- | ||
| ===== 1) The real problem today ===== | ===== 1) The real problem today ===== | ||
| - | | + | |
| - | * Several EVM L2s also use **ETH as gas token** (e.g., Arbitrum, Optimism). Polygon PoS uses **POL** | + | |
| - | * Consequence: | + | * Several EVM L2s also use **ETH as gas token** (e.g. Arbitrum, Optimism). Polygon PoS uses **POL** |
| + | * As a result, | ||
| + | |||
| + | ---- | ||
| ===== 2) The solution proposed by DustEthic ===== | ===== 2) The solution proposed by DustEthic ===== | ||
| - | **Aggregation + on-chain transparency + split in crypto units**: | ||
| - | * **Relayers** aggregate micro-donations during a limited period, then perform **one grouped transfer** to the NGO. | ||
| - | * Split **in crypto units**, with **gas reimbursed first** and **published degressive commission**. | ||
| - | * Publication of a **campaign cap**: gas + commission + technical reserve ≤ public threshold (e.g., 15%). | ||
| - | * NGO share and commission are **expressed as a percentage of donated crypto**, not as a fiat equivalent. | ||
| - | * Traceability via public explorers (e.g., Etherscan). | ||
| - | **Existing | + | **Aggregation + on-chain transparency + splitting in crypto units**: |
| - | * **Account Abstraction ERC-4337** with **paymasters** | + | |
| - | * **EIP-2612 permit** | + | * **Relayers** aggregate micro-donations over a limited period, then perform **one grouped payout** to the NGO. |
| + | * Splitting happens **in crypto units**, with **gas reimbursed first** and a published **degressive fee schedule**. | ||
| + | * A **campaign cap** is published: gas + fee + technical | ||
| + | * 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**: | ||
| + | |||
| + | * **Account Abstraction ERC-4337** with **paymasters** | ||
| + | * **EIP-2612 permit**, when available, | ||
| + | |||
| + | ---- | ||
| ===== 3) Realistic operational flow ===== | ===== 3) Realistic operational flow ===== | ||
| + | |||
| **Step 1 - Donation** | **Step 1 - Donation** | ||
| - | | + | |
| - | * EOA + token with permit: **gasless | + | |
| - | * EOA + token without permit: a **paid approval** may be required depending on the token. | + | * Donation via EOA + token with permit: **approval |
| + | * Donation via EOA + token without permit: a **paid approval** may be required, depending on the token. | ||
| **Step 2 - Aggregation** | **Step 2 - Aggregation** | ||
| - | * Donations collected in an aggregation contract. Triggers: amount threshold, max time window, acceptable gas window. | ||
| - | **Step 3 - Grouped transfer** | + | |
| - | * A single transaction ships funds to the NGO. | + | |
| - | * Standard formula: | + | |
| - | * < | + | |
| - | **Step 4 - Public | + | **Step 3 - Grouped payout** |
| - | * Donations, any conversions and the final transfer are visible | + | |
| + | * A single transaction sends the funds to the NGO. | ||
| + | * Standardised formula: '' | ||
| + | |||
| + | **Step 4 - Public | ||
| + | |||
| + | * Donations, any conversions and the final payout can be inspected | ||
| + | |||
| + | ---- | ||
| ===== 4) Gas, conversions and design options ===== | ===== 4) Gas, conversions and design options ===== | ||
| - | **Physical constraints**: | + | |
| - | To respect “no conversion for the commission”, DustEthic **v0.2** proposes **explicit | + | **Physical constraints**: |
| - | * **Option A - Relayer gas pool**: | + | To respect |
| - | * **Option B - Minimal documented conversion**: | + | |
| - | * **Option C - L2-first**: | + | * **Option A - Relayer gas pool**: |
| - | * **Option D - Sponsors**: paymasters funded by partners, reimbursed periodically. | + | * **Option B - Minimal documented conversion**: |
| + | * **Option C - L2-first**: | ||
| + | * **Option D - Sponsors**: paymasters funded by partners | ||
| + | |||
| + | ---- | ||
| ===== 5) Volatility - principles and strategies ===== | ===== 5) Volatility - principles and strategies ===== | ||
| - | **Rule**: | + | |
| - | **Stablecoins**: | + | **Rule**: |
| + | |||
| + | **Stablecoins**: | ||
| **Post-receipt strategies**: | **Post-receipt strategies**: | ||
| - | | + | |
| - | * **Relayer**: | + | |
| + | * **Relayer**: | ||
| + | |||
| + | ---- | ||
| ===== 6) Actors and responsibilities ===== | ===== 6) Actors and responsibilities ===== | ||
| - | | + | |
| + | | ||
| * **Relayers**: | * **Relayers**: | ||
| - | * **NGOs**: receive directly into their wallet, | + | * **NGOs**: receive |
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 7) Donors - how it works ===== | ||
| - | ===== 7) Donors - how to ===== | ||
| - Choose a DustEthic-compliant relayer. | - Choose a DustEthic-compliant relayer. | ||
| - Connect your wallet. | - Connect your wallet. | ||
| - Select the NGO. | - Select the NGO. | ||
| - Enter the amount in **crypto**. | - Enter the amount in **crypto**. | ||
| - | - Sign (AA/permit if possible, otherwise paid approve depending on token). | + | - Sign. |
| - | **Cost for the donor**: ideally zero via AA or permit. Otherwise, only the initial approval if required. | + | Depending on the setup, the donation is gasless via AA or permit. Otherwise a paid approval may be required depending on the token. |
| - | **Tracking**: | + | |
| + | **Cost for the donor**: ideally zero via AA or permit. Otherwise, only the initial approval if required | ||
| + | |||
| + | **Tracking**: | ||
| + | |||
| + | ---- | ||
| ===== 8) NGOs - integration, | ===== 8) NGOs - integration, | ||
| - | * **Recommended wallet**: **Safe** multi-signature. | ||
| - | * **Fiat conversion**: | ||
| - | * **Accounting**: | ||
| - | * **Minimal compliance**: | ||
| - | ===== 9) Relayers - minimum requirements DustEthic v0.1 ===== | + | * **Recommended wallet**: **Safe** (ex-Gnosis Safe) with multi-signature for custody. |
| + | * **Fiat conversion**: | ||
| + | * **Accounting**: | ||
| + | * **Minimal compliance**: | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ===== 9) Relayers - minimum requirements | ||
| **Transparency** | **Transparency** | ||
| - | | + | |
| + | | ||
| * **Signed logs** and on-chain links; **CSV** export. | * **Signed logs** and on-chain links; **CSV** export. | ||
| * Readable on-chain dashboard. | * Readable on-chain dashboard. | ||
| **Non-custodial** | **Non-custodial** | ||
| - | | + | |
| + | | ||
| **Technical governance** | **Technical governance** | ||
| - | | + | |
| + | | ||
| **Security** | **Security** | ||
| + | |||
| * Independent audit before mainnet. Bug bounty after launch. | * Independent audit before mainnet. Bug bounty after launch. | ||
| **Gas and conversions** | **Gas and conversions** | ||
| - | | + | |
| - | * **Execute only if donation-to-fee | + | |
| - | * Commission | + | * **Execute only if the ratio '' |
| - | * If a gas conversion is necessary, log it on-chain. | + | * Fee always |
| + | * If gas conversion is necessary, log it on-chain. | ||
| **AA and compatibility** | **AA and compatibility** | ||
| - | * ERC-4337 + paymaster recommended on L2. Fallback **EIP-2771** if 4337/7702 (AA) not supported. | ||
| - | **Asset allowlist | + | * ERC-4337 support and paymaster recommended on L2. The published EntryPoint is the implementation reference. |
| - | * Ethereum | + | * Fallback: **EIP-2771** meta-transactions where 4337/7702 (AA) is not supported. |
| - | * Polygon PoS: possible but **gas in POL** - plan the logistics. | + | |
| - | * Reject by default illiquid, taxed, honeypot or no-permit | + | **v1 asset whitelist** |
| + | |||
| + | * Ethereum | ||
| + | * Polygon PoS: possible, but **gas in POL** - plan logistics | ||
| + | * By default | ||
| **Minimal compliance** | **Minimal compliance** | ||
| + | |||
| * Proportionate AML policy, basic screening, logging of refusals. | * Proportionate AML policy, basic screening, logging of refusals. | ||
| + | |||
| + | ---- | ||
| ===== 10) Market references and positioning ===== | ===== 10) Market references and positioning ===== | ||
| - | | + | |
| - | * **The Giving Block**: packages | + | * “Classic” crypto donation platforms exist and mainly target medium or large donations with fast fiat conversion. |
| - | * **DustEthic**: **micro-donations via aggregation**, | + | |
| + | * **The Giving Block**: | ||
| + | * **DustEthic** | ||
| + | |||
| + | ---- | ||
| ===== 11) Roadmap ===== | ===== 11) Roadmap ===== | ||
| + | |||
| **Phase 0 - Foundations [Q4 2025]** | **Phase 0 - Foundations [Q4 2025]** | ||
| - | | + | |
| - | * Asset/ | + | |
| - | * Aggregation | + | * v1 asset and network whitelist |
| + | * Aggregation | ||
| * Security and governance policy | * Security and governance policy | ||
| **Phase 1 - Development [2026]** | **Phase 1 - Development [2026]** | ||
| + | |||
| * Open-source reference implementation | * Open-source reference implementation | ||
| - | * Tests on Sepolia | + | * Sepolia |
| * Third-party audit | * Third-party audit | ||
| * Pilots with 1 relayer and 2 NGOs | * Pilots with 1 relayer and 2 NGOs | ||
| **Phase 2 - Launch [2026+]** | **Phase 2 - Launch [2026+]** | ||
| - | | + | |
| - | * 3-5 compliant relayers, 10+ NGOs | + | |
| + | * 3–5 compliant relayers, 10+ NGOs | ||
| * Community dashboard | * Community dashboard | ||
| - | **Phase 3 - Extension | + | **Phase 3 - Expansion |
| * More L2s, possibly other EVM ecosystems | * More L2s, possibly other EVM ecosystems | ||
| * Broader governance if traction | * Broader governance if traction | ||
| + | |||
| + | ---- | ||
| ===== 12) Join the project ===== | ===== 12) Join the project ===== | ||
| - | | + | |
| - | * **NGOs**: test with **Safe** and an internal conversion policy. | + | |
| - | * **Relayers**: | + | * **NGOs**: test with a **Safe** |
| + | * **Relayers**: | ||
| * **Community**: | * **Community**: | ||
| Useful links: | Useful links: | ||
| - | | + | |
| - | * Discord: | + | |
| - | * GitHub: | + | * Discord: https:// |
| + | * GitHub: https:// | ||
| * Bluesky: @dustethic.bsky.social | * Bluesky: @dustethic.bsky.social | ||
| - | ===== 13) License | + | ---- |
| + | |||
| + | ===== 13) Licence | ||
| * Text: **CC BY 4.0** | * Text: **CC BY 4.0** | ||
| * Future code: **MIT** | * Future code: **MIT** | ||
| + | |||
| + | ---- | ||
| ===== 14) Notes and references ===== | ===== 14) Notes and references ===== | ||
| - | * **ERC-4337**: | + | |
| - | * **EIP-2612 - Permit**: [[https:// | + | (Same URLs as in the GitHub version.) |
| - | * **Gas**: [[https:// | + | |
| - | * **Stablecoins**: | + | ---- |
| - | * **Safe**: [[https:// | + | |
| - | * **Compliance**: | + | |
| **End of DustEthic Guide v1.1-draft** | **End of DustEthic Guide v1.1-draft** | ||