Skip to content

Submissions inbox with proof-of-work for controlled external writes #30

Description

@LiranCohen

Summary

Implement the submissions inbox pattern described in PLAN.md Section 3.1: a protocol path with `$recordLimit` and proof-of-work that allows non-role-holders to submit data (e.g., bug reports from anonymous users) without opening the protocol to unrestricted writes.

Context

PLAN.md lines 99–101 describe this pattern as a way to accept controlled writes from external actors while maintaining the "everyone owns their namespace" principle. Currently, all write paths require role-based authorization. This limits scenarios like:

  • Anonymous bug reports to a public repo
  • Unsolicited patch submissions from users without contributor roles
  • Feature requests from the community

Design

structure: {
  submission: {
    \$recordLimit: 100,
    \$proofOfWork: { difficulty: 18, algorithm: 'sha256' }
  }
}

The submitter computes a proof-of-work hash before the DWN accepts the record. The record limit caps total submissions. The repo owner can promote submissions to first-class issues/patches.

Notes

  • Proof-of-work validation may require DWN SDK support (`$proofOfWork` directive)
  • Check DWN SDK for `$recordLimit` support status
  • This is a defense-in-depth measure against spam, complementing the existing role model

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions