From 0ef8c46ef73c35d40fb59d10fa469de08f918af2 Mon Sep 17 00:00:00 2001 From: gilesb Date: Wed, 7 Jan 2026 02:19:30 +0000 Subject: [PATCH] docs: Art DAG architecture and revenue model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Two-layer architecture (L1 rendering, L2 social/federation) - Provenance chain for automatic attribution - Revenue distribution down the chain - Proof of Creativity concept - Trust model: honourable servers vs defederation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- ARCHITECTURE.md | 167 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 ARCHITECTURE.md diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md new file mode 100644 index 0000000..a87207b --- /dev/null +++ b/ARCHITECTURE.md @@ -0,0 +1,167 @@ +# Art DAG Architecture + +## Overview + +Art DAG is a content-addressed creative system with federated ownership. It separates rendering (L1) from social/ownership (L2), enabling distributed creative work with automatic attribution and revenue sharing. + +## Two-Layer Architecture + +### Level 1 - Rendering Layer + +**L1 Server** (Celery workers) +- Executes rendering jobs +- Records provenance in the DAG +- Returns content-addressed outputs (SHA3-256) +- Stateless, horizontally scalable +- Most renders are junk/experiments - that's fine + +**L1 Client** (AI-assisted front-end) +- "Make me a video that rotates" → AI designs config +- Sends configs + assets to L1 server +- Receives rendered output with provenance +- Decides what's worth keeping + +### Level 2 - Social/Federation Layer + +**L2 Server** (ActivityPub) +- Ownership registry: "I made this with X, Y, Z" +- Federation: follow/followers across the fediverse +- Web UI: creators share their work +- Revenue distribution: ads flow down provenance chain +- Only shared content is persistent (curated from L1 junk) + +**Key insight**: L1 produces lots of experimental renders. L2 is where the creator decides "this is the good stuff" and shares it via ActivityPub. Persistence = intentional sharing. + +## Data Flow + +``` +User prompt: "make me a cat video" + │ + ▼ + ┌─────────────┐ + │ AI Client │ Designs config from natural language + └─────────────┘ + │ + ▼ + ┌─────────────┐ + │ L1 Server │ Renders, records provenance in DAG + └─────────────┘ + │ + ▼ + User reviews output + │ + ▼ (if good) + ┌─────────────┐ + │ L2 Server │ Shares via ActivityPub, registers ownership + └─────────────┘ + │ + ▼ + Federated web (followers see it) +``` + +## Provenance Chain + +Every output knows its lineage: + +```json +{ + "output": {"name": "cool-video", "content_hash": "abc123..."}, + "inputs": [ + {"name": "cat-footage", "content_hash": "def456..."} + ], + "effects": [ + {"name": "effect:glitch", "content_hash": "ghi789..."} + ], + "infrastructure": { + "software": {"name": "infra:artdag", "content_hash": "..."}, + "hardware": {"name": "infra:render-farm", "content_hash": "..."} + } +} +``` + +## Revenue Model + +### How money enters +- Advertising on L2 server web interface +- Premium features (faster rendering, more storage) +- Direct payments for outputs (commissions, licensing) + +### How money flows +Revenue splits down the provenance chain: + +``` +Ad revenue from video view + │ + ├── 40% → footage creator (input) + ├── 25% → effect author + ├── 20% → recipe/config designer + └── 15% → L1 render infrastructure +``` + +Exact splits could be configurable per-output or protocol-defined. + +### Trust and Federation + +**Honourable L2 servers:** +- Distribute revenue fairly down provenance chain +- Respect attribution +- Federate openly + +**Dishonourable L2 servers:** +- Keep revenue for themselves +- Strip attribution +- Get "sent to Coventry" - defederated by peers + +Self-policing network like Mastodon instance blocking. Reputation matters. + +## Proof of Creativity + +Unlike Proof of Work (burn electricity) or Proof of Stake (lock capital): + +**Proof of Creativity** = your contribution is measured by downstream usage + +- Make useful footage → gets used → you earn +- Write clever effects → gets used → you earn +- Design good recipes → gets used → you earn + +Not artificial scarcity. Not speculation. Actual creative value. + +## Why share here vs Facebook/YouTube? + +**Facebook/YouTube:** +- You upload → they own it +- Their algorithm decides visibility +- They monetize, you get scraps +- They can delete/demonetize anytime +- Your audience belongs to them + +**Art DAG (federated):** +- You publish → you own it (cryptographically signed) +- Your server, your algorithm +- Provenance ensures fair payment +- Nobody can delete your work +- Your audience connects directly to you + +## Repository Structure + +``` +GitHub (gilesbradshaw/art-dag) + └── Core primitives: DAG, signing, ActivityPub, effects + +git.rose-ash.com/art-dag/ + ├── registry → Asset registry + signatures + ├── effects → Effect implementations (dog, etc.) + ├── recipes → Render scripts + ├── art → Rendered outputs + ├── celery → L1 distributed rendering + └── document → This documentation +``` + +## Technical Foundation + +- **Hashing**: SHA3-256 (quantum-resistant, full 64 char) +- **Signing**: RSA-2048 with RsaSignature2017 +- **Federation**: ActivityPub protocol +- **Identity**: @user@domain.com format +- **URLs**: Immutable via git commit hashes +- **Rendering**: Celery + Redis for distributed jobs