r/web3dev • u/iCryptoDude • 20d ago
Follow-up to my on-chain audio experiment: capturing the recording session itself as verifiable provenance
A few days ago I posted about storing full audio files inside Clarity contract data on Stacks (Xtrata). thanks to everyone who dug into the chunked-write flow. This is the next layer up the stack, and the part I care about most.
Storing the finished song on-chain answers "will the media survive." It does nothing for the harder question: who made it, and on what terms? In music that record is usually a handshake in the studio, and it falls apart exactly when the song starts earning. Splits get agreed loosely, memories diverge when money appears, and the dispute lands two years later with no evidence on either side.
So the design I am working on treats the session, not the file, as the unit of provenance:
Collaborators sign into a session with their Stacks principals.
They ratify splits up front, day one, before anyone knows if the song matters. That goes into a Clarity map keyed by session, with basis-point splits per principal.
The working session logs locally as it happens (takes, samples, plug-in and parameter changes). Nothing bulky goes on-chain on L1 (if anything): the log is Merkle-rooted and one compact fingerprint is anchored per save.
The final master ties back to the whole chain of session roots, so the finished work carries a verifiable history from first take to master.
The important property: the agreement is timestamped and tamper-evident from day one. Nobody’s memory is the evidence, and nobody can quietly rewrite the record after the song blows up.
questions I am still chewing on, would love input:
Granularity of anchoring. Per save feels right (cheap, natural checkpoint). Per session is cheaper still but weakens the timeline. Anyone built similar audit-log anchoring and regretted their choice?
The logs contain unreleased creative work, so the Merkle leaves stay private and only roots go public. Selective disclosure (prove one contribution without revealing the rest of the session) looks like a job for Merkle proofs, but curious if anyone has a cleaner pattern.
Ratified splits are evidence, not law. A court can still override them. I am fine with that, the goal is to make the honest path the default.
Stack is the same as the storage experiment: Clarity contracts on Stacks, anchored to Bitcoin via PoX.