MotionPrint Protocol Overview
MotionPrint is a cryptographic provenance protocol engineered for 3D motion interchange formats (glTF/GLB, BVH). Unlike server-centric approaches, MotionPrint implements a privacy-first, client-side architecture using WebAssembly.
The Attribution Problemโ
The scaling of 3D content creation via AI creates specific problems for existing attribution systems:
- Opaque Provenance - Difficulty tracing the training data lineage of AI-generated assets
- Registry Dependence - Licensing violations remain undetectable without access to central servers
- Format Erasure - Metadata is frequently lost during export or format conversion
- Privacy Risks - Verification systems that require file uploads expose proprietary data
Our Solutionโ
MotionPrint addresses these challenges through:
- Ed25519 Digital Signatures - Cryptographically verifiable authorship
- Non-destructive Embedding - Provenance stored in existing metadata fields
- Client-side Verification - Zero upload, zero tracking, zero account required
- Format Agnostic - Works with GLB/glTF and BVH files
How It Worksโ
Signing (Server-Side)โ
When you register an animation:
- Generate payload with creator ID, license, timestamp, nonce
- Canonicalize JSON for deterministic verification
- Sign with Ed25519 private key
- Inject signed payload into file metadata
- Generate PDF certificate with QR code
Verification (Client-Side)โ
When you verify an animation:
- Load file locally in browser memory
- Extract signature payload from metadata
- Verify Ed25519 signature against public key
- Display verification result
The animation file never leaves your device.
Privacy Guaranteesโ
MotionPrint is built on three non-negotiable privacy principles:
| Principle | Implementation |
|---|---|
| Zero Upload | Animation file is never transmitted to any server |
| Zero Account | Verification requires no user registration |
| Zero Tracking | No cookies, fingerprints, or persistent identifiers |
These guarantees are architectural, not policy-based.
Cryptographic Foundationโ
Why Ed25519?โ
| Property | Ed25519 | RSA-2048 | ECDSA P-256 |
|---|---|---|---|
| Signature Size | 64 bytes | 256 bytes | 64 bytes |
| Public Key Size | 32 bytes | 256 bytes | 64 bytes |
| Verify Rate | ~75k/s | ~15k/s | ~20k/s |
| Deterministic | Yes | No | No |
Ed25519 was selected for:
- Performance - 75,000+ verifications per second
- Compactness - 64-byte signatures fit in text headers
- Determinism - No RNG during signing eliminates vulnerabilities
Libraryโ
We use the audited @noble/ed25519 library for all cryptographic operations.
Supported Formatsโ
GLB/glTFโ
Embedded in the asset.extras.motionprint field:
{
"asset": {
"version": "2.0",
"extras": {
"motionprint": {
"payload": {
"creatorId": "green",
"licenseId": "restricted",
"issuedAt": "2025-12-25T22:52:51.331Z",
"method": "extras-v1",
"nonce": "f707614d6a07ff66d51933d6eeb3e0b0"
},
"signature": "0xeb1f72a31d84eea35c2aa249..."
}
}
}
}
BVHโ
Embedded as a Base64-encoded header line:
TRZ-WM: eyJwYXlsb2FkIjp7ImNyZWF0b3JJZCI6...
HIERARCHY
ROOT Hips
...
Performanceโ
Verification completes in under 10ms on commodity hardware:
| Operation | Mean (ms) | 95th % (ms) |
|---|---|---|
| GLB Payload Extraction | 1.2 | 2.1 |
| BVH Header Parsing | 0.4 | 0.8 |
| Ed25519 Verification | 3.8 | 5.2 |
| Total Latency | 5.4 | 7.5 |
File Size Overheadโ
| Format | Overhead | Notes |
|---|---|---|
| GLB | ~350 bytes | JSON chunk expansion |
| BVH | ~250 bytes | Header line addition |
Negligible impact on file size.
Next Stepsโ
- Verification Guide โ how to verify animations
- API Reference โ integration documentation
- Free Verification Tool โ try it now in your browser
- Blender Add-on โ desktop integration for in-Blender verify
- Roadmap โ Unity / Unreal plugins, batch verification, REST API on the way
Read the full technical paper on Zenodo. Last updated 2026-04-29.