Phase 1 · Mathematical Foundations

Auryn Protocol

Continuous community governance for sovereign communities.

Draft v0.1 · Pre-implementation · Phase 1.3 complete

The Auryn Protocol is a continuous, identity-weighted community governance system designed for any sovereign community that values transparency, accessibility, and resistance to capture by organized bad actors.

The reference implementation will be built in Rust and integrated with the Matrix communication protocol. The canonical test community is dragon.army. The canonical first use case is maintaining the Universal Declaration of Sentient Rights as a living document.

The protocol is named after the Auryn medallion from The NeverEnding Story — two serpents consuming each other's tails in an endless loop, a symbol of safe passage and the self-sustaining nature of things that have no true beginning or end. A community governing itself continuously, feeding its own consensus forward, protecting its members through the journey. The Auryn grants passage to those who carry it honestly. This protocol attempts the same.

Constraints, not preferences.

These principles are not preferences. They are constraints any implementation must satisfy. A feature that violates one is not permitted regardless of utility.

1

Experience is the product.

Complexity is permitted in the machinery. It is never permitted in what a person feels moving through the system. The young person encountering governance for the first time and the elder who has navigated life without technology must both participate fully — not just technically, but confidently. Confusion is a failure. Uncertainty about whether your action mattered is a failure. The experience must produce trust.

2

Transparency is the default.

Vote standings, proposal text, authorship, and conviction scores are visible to all community members in near real-time. Obscuring governance data is not permitted except where individual vote privacy is explicitly protected.

3

Meaning must be defensible.

Every enforceable proposal must be written in plain language with a ceiling of 500 words. If it cannot be stated plainly within 500 words, it must be broken into separate proposals. This is not a style guide — it is a structural requirement enforced by the protocol. Plain language is incorruption infrastructure.

4

Identity without surveillance.

Sybil resistance is achieved through web-of-trust, not biometric or government ID verification. Where external identity signals are used (Growing Dragons / Plaid), they are voluntary byproducts of systems the user already chose for their own benefit. No new surveillance is created.

5

No person may hold power over another person's right to participate.

Vouching creates accountability, not ownership. No individual, family, or group may hold unchallengeable authority over another member's participation. A vouch is an act of trust, not an act of control. Once given, it cannot be weaponized to remove, silence, or diminish the person vouched for.

6

Incorruptible by design.

The protocol must resist capture by organized interests — financial, political, or ideological. No mechanism may allow votes to be bought, outcomes to be steered through hidden coordination, or the rules to be rewritten by the actors the rules are meant to constrain. Transparency is the primary defense. Structural limits on proposal complexity are the secondary defense.

7

Immutability without exposure.

The fact that a decision was made, and that its record has not been altered, is publicly verifiable. Individual vote data is private by design. Raw vote records exist only in the governance engine's local state — never written to any public ledger. What reaches Cardano is a hash of the outcome, not the inputs.

Every community begins with a founding intent that cannot be amended.

Every community that adopts the Auryn Protocol begins with a Declaration — a statement of purpose written by the community's creator. The Declaration answers: why does this community exist, and what does it stand for?

For dragon.army, the Declaration is the Preamble and Foundations of the Universal Declaration of Sentient Rights.

The Declaration is not a proposal. It is not an article. It does not exist within the track system. It exists above it — because the track system exists to serve the Declaration's purpose.

The Eternity Clause

The Declaration cannot be amended, displaced, or proposed against. It is immutable. This is the protocol's eternity clause — drawn from comparative constitutional law. Germany's Basic Law (Article 79) makes human dignity permanently unamendable, even by constitutional amendment, as a direct response to the Weimar Republic being dismantled from within by legal means. Brazil, Italy, Portugal, and Turkey have similar provisions.

In Auryn, the Declaration is the foundation from which all governance authority flows. A community that fundamentally disagrees with its own Declaration has one path: fork the protocol and create a new community with a new Declaration.

Purpose Alignment Score — Measuring Drift

Individual articles can change. Over time, amendment after amendment may shift a community's governing document away from its founding Declaration through incremental drift — not dramatic betrayal. Organizational science calls this mission drift. Auryn makes this drift computationally visible.

At every state transition, the governance engine computes a purpose alignment score: the semantic similarity between the community's current active articles and its immutable Declaration. This score is public, continuous, and non-blocking. The community decides what to do with that awareness.

Aligned

Score above healthy threshold. The document is evolving within the spirit of its Declaration. Normal operation.

Diverging

Score below healthy threshold but above critical. Visible warning in #standings. No governance actions blocked.

Misaligned

Score below critical threshold. Prominent warning across all governance rooms. Community retains full sovereignty — the warning is unambiguous.

Per-Proposal Alignment Preview

Before voting, any member can see how a specific proposal would affect the community's alignment score. The engine performs a counterfactual computation: substitute the proposed article text into the current active set, recompute the alignment score, display the delta. Current score → projected score → direction and magnitude. The pattern is borrowed from infrastructure-as-code (terraform plan): show the effect before committing to the action.

Implementation note: The purpose alignment score uses two complementary measurements — semantic similarity via sentence-level embeddings (cosine similarity) plus NLI entailment verification to catch specification gaming (text semantically similar but logically contradictory to the Declaration). No automated metric is sufficient alone. Community deliberation is the final authority. Thresholds calibrated against UDSR in Phase 3.6.

What already exists. What doesn't.

Conviction Voting
BlockScience / Commons Stack, 2018–present

Auryn adopts: The conviction accumulation mechanism — votes gain weight over time via exponential growth, discrete windows eliminated.

Auryn diverges: Conviction Voting uses token-weighted stake. Auryn uses identity-weighted member status from a web-of-trust. A person with no tokens but three years of consistent participation may outweigh a whale who appeared last month.

Polkadot OpenGov
Track-based governance, confirmation periods

Auryn adopts: The track concept — different proposal types carry different stability requirements and thresholds.

Auryn diverges: OpenGov is inseparable from the Polkadot ecosystem and token economy. Auryn is chain-agnostic at the voting layer, using Cardano only as an optional immutability anchor.

Snapshot
Off-chain signaling, wide adoption

Auryn adopts: The principle that voting UX must be simple enough for non-technical users.

Auryn diverges: Snapshot has no native web-of-trust, no competing proposals model, no continuous conviction accumulation, and no plain-language enforcement.

What does not exist anywhere: No existing protocol combines continuous conviction voting + web-of-trust member identity (non-token sybil resistance) + competing proposals on the same article + plain-language structural enforcement + Matrix integration + Cardano hash anchoring + external reputation signals from financial participation platforms.

There is no finish line. The community's current best answer is always visible.

A proposal is a candidate version of an article, charter section, or community decision. Not a motion to be voted up or down — a living candidate that competes against other proposals for the same slot.

An article is a named slot in a community document. At any moment, one proposal holds the active position. Other proposals exist as challengers with their own conviction scores. The one with the highest score is active.

This is the leaderboard. It reflects the community's current best answer, always. Not an election — a continuous standing.

Proposal Structure

Enforceable Text required

≤500 words. Plain language. Self-contained — no cross-references. One concept only. This is what the community votes on. Protocol enforces this at submission on Track 2 and Track 3.

Proposal Metadata required

Author (Matrix ID), creation timestamp, the proposal this supersedes (if any), SHA-256 hash of the enforceable text. Amendment lineage tracks within-protocol history only.

Supporting Record optional

Research, citations, data. Any length. Not voted on — exists to inform deliberation. Must follow: Dublin Core metadata header, CRAAP evaluation rubric, Chicago Notes-Bibliography citations.

Competing Proposals & Transitions

When a challenger's conviction score crosses the active proposal's score, the transition is not instantaneous:

  1. A transition warning event fires, visible to all community members
  2. A grace period begins (track-dependent: 72 hours to 30 days)
  3. If the challenger maintains the lead through the grace period, it becomes active
  4. The transition is recorded and anchored to Cardano (Track 3)

Different decisions require different thresholds.

Four tracks encode this. The track is set when a proposal is submitted and cannot be changed.

Track 0
Community Signals

Polls, low-stakes preferences, informal decisions.

  • No stability period required
  • Simple conviction lead to activate
  • Guests may participate
Track 1
Operational Decisions

Resource allocation, project direction, community operations.

  • 72-hour transition grace period
  • Member-only voting
  • Minimum participation floor
Track 2
Charter Articles

Mission, bylaws, operational rules, community charter.

  • 7-day transition grace period
  • Member-only voting
  • Stability flag: 3 months at >65% conviction
  • Displacement: 30-day sustained supermajority
Track 3
Constitutional Articles

UDSR articles, foundational rights documents, core protocol rules.

  • 30-day transition grace period
  • Verified Member voting carries extra weight
  • Stability flag: 6 months at >70% conviction
  • Displacement: 60-day supermajority above 75%
  • Cardano anchoring at every state transition
  • 500-word plain language required

Structural requirements, not stylistic recommendations.

The primary failure mode of governance is not bad proposals — it is proposals that mean different things to different readers. A person motivated by greed can use definitional ambiguity to warp meaning after the fact. Plain language requirements are the structural defense against that. They are incorruption infrastructure.

Track 2 and Track 3 proposals that do not meet these requirements cannot be submitted:

500-word limit

Word count computed at submission. Sufficient for three-paragraph essay structure (claim, evidence, conclusion) — approximately 2–3 minutes reading time at average speed. Grounded in the Plain Language Movement's federal guidelines (US law since 2010) and calibrated against UDSR articles as ground truth. Validated: all 32 UDSR sections pass; the longest is 165 words.

Flesch Reading Ease ≥ 25

Readability computed at submission. Default threshold calibrated as the floor of the UDSR's hardest articles — Article 21 scores 22.0, Article 25 scores 24.7. Threshold set at 25. May be lowered (stricter) as tooling improves. May never be raised above the UDSR baseline. Calibrated.

No embedded cross-references

Enforceable text must be self-contained. If understanding what a proposal means requires reading another document, it fails. References belong in the Supporting Record.

One concept per proposal

Bundled changes must be split. Child proposals (sequentially dependent on a parent) cannot be submitted until the parent achieves stability. If a parent is displaced after a child is submitted but before stability, the child is automatically suspended — conviction frozen until the parent is restored or a new parent established.

Votes held longer carry more weight.

There are no voting windows. Proposals are always open for support. A member's current vote is their current statement of community preference — they may change it at any time.

Each hour, conviction on the voted proposal grows — retaining nearly all previous value and adding the member's member weight as fresh signal. When a member switches votes, conviction on the previous proposal decays along the same curve. Symmetry prevents asymmetric gaming.

y[t+1] = α · y[t] + w
y[t] accumulated conviction at time step t α decay factor — derived from 48-hour half-life: α = 2−1/48 ≈ 0.98565 w the member's member weight (replaces token stake from BlockScience original)
ymax = w / (1 − α) ≈ 69.7 × w  ·  48 hours to reach 50% of maximum  ·  10 days to reach 96.9%

Total conviction for a proposal is the sum across all members voting for it:

Cj(t) = Σ ym(t) for all members m voting for proposal j
auryn-sim — bash
ready
$ node sim.mjs basic small

10-member community, two competing proposals, 30-day simulation. Conviction reflects sustained support over time, not a snapshot count.

Who you are in the community determines how much your vote moves things.

Member weight is computed from three layers multiplied together. Multiplication is intentional: a member with zero trust depth contributes near-zero conviction regardless of how consistently they've participated. You cannot compensate for missing social trust with activity volume.

W(i,t) = R(tjoin) · D(tinactive) · T0.40 · P0.35 · K0.25
R new member ramp — sigmoid, inflection at day 120 (day 72 if Plaid-verified) D inactivity decay — 14-day grace period, exponential decay at β=0.008 (half-life ~87 days), floor at 5% T trust depth — EigenTrust propagation from vouch graph (40% of reputation) P participation consistency — action frequency + streak continuity + deliberation breadth (35%) K stake commitment — time-weighted ADA + subscription tenure + optional WPH (25%)
Exponents sum to 1.0. Categories have floors (T: 0.05, P: 0.05, K: 0.10) to prevent zero-multiplication. Stake is intentionally lowest-weighted — identity and participation matter more than wealth.
auryn-sim — bash
ready
$ node sim.mjs weights

Weight computation for six member archetypes: founding member, new member, verified member on accelerated ramp, sybil attacker, Plaid-verified transmitter, unverified signal. The sybil resistance conclusion is live math, not an assertion.

Coordinated burst attacks are expensive. Genuine consensus is not.

A flash mob attack: a large group of low-weight accounts coordinates to push a proposal over the threshold in a short burst. The conviction formula resists this through physics, not rules. New members have reduced ramp weights. Fresh conviction is a small fraction of what sustained conviction becomes. The gap between a coordinated newcomer attack and an established community's accumulated momentum is wide — and takes real time to close.

auryn-sim — bash
ready
$ node sim.mjs flashmob small

50 coordinated sybil attackers vs. 10 established members. Attack injected at hour 48. The community holds. After 10 days the gap narrows — which is the correct behavior: genuine long-term commitment should eventually be able to shift consensus.

Foundational documents earn protection through sustained agreement.

Track 3 articles can earn a Stability Flag after six continuous months of holding more than 70% of community conviction. Once flagged, a challenger must sustain a supermajority above 75% for 60 days to displace the active article.

The stability clock resets only if the active proposal drops below 60% for 72 or more continuous hours. Minor fluctuations don't count. This threshold resists coordinated short-term defection — a group temporarily withdrawing votes to trigger a reset.

auryn-sim — bash
ready
$ node sim.mjs clockreset medium

15 coordinated members attempt to reset the stability clock by withdrawing votes for 80 hours. The simulation tests whether the 72-hour continuous threshold provides adequate protection.

Trust comes from what you've done, not who you claim to be.

Guest

Entry status. Can read all proposals, comment in deliberation, vote on Track 0. Cannot vote on charter or constitutional articles. No time limit — some members may prefer guest status permanently.

Member

Vouched by at least one existing member. Full voting rights on all tracks. Can vouch for others. Inherits partial accountability for members they vouch for.

Verified Member

Member status plus voluntary Growing Dragons / Plaid connection. Accelerated ramp to community average weight (~3 months instead of ~6). Additional weight on financial governance decisions. Never a requirement for full governance participation.

Plaid-Verified Transmitter

Growing Dragons user with bank-connected WPH. Not yet vouched as member. Integrity signal only — real-world friction establishes baseline trust. No governance access.

The Vouch Process

Any member in good standing may vouch for a guest:

  1. Member submits a vouch for the guest, with optional attestation
  2. Vouch recorded with timestamp and the voucher's identity
  3. Guest's status upgrades to Member with reduced starting weight
  4. Weight ramps to community average over months of active participation

A guest may collect vouches from multiple members. Each additional vouch increases the starting weight of the ramp.

Vouching depth limits: After the first two hops from a founding member, new members must collect vouches from two separate members (not in the same chain) before they can vouch for others. This prevents a compromised account from spawning unlimited bad actors.

Family Vouching

A parent member may vouch for their child, granting an accelerated path from guest to member. Constraints that are non-negotiable:

Bad Actor Response

When a member is identified as a bad actor:

Growing Dragons integration is always optional. A member who never connects a bank account has identical governance rights to one who does. WPH signals measure participation discipline, not financial success. Absence is never a penalty.

Governance lives where the community already lives.

The governance engine is a standalone Rust service. Matrix communities connect to it via a Matrix Application Service bridge. This means the engine can be used by non-Matrix communities through its API, while Matrix communities get native UX without leaving their communication environment.

Custom Event Types

Pattern: auryn.[community-domain].[object].[action]

auryn.dragon.army.proposal.submit
auryn.dragon.army.proposal.vote
auryn.dragon.army.proposal.standings
auryn.dragon.army.member.vouch
auryn.dragon.army.anchor.confirm

Protocol versioning is carried inside the event payload ("protocol_version": "1.0"), not in the event type namespace. Event types remain stable across protocol versions.

Governance Rooms

#proposals

Read-only. New proposals posted automatically on submission. Bot summarizes in plain language. All members can read.

#standings

Live leaderboard updates. Near-real-time conviction changes for all active proposals. Crisis events surface immediately.

#deliberation

Threaded discussion. Each active proposal has a dedicated thread. Organic discussion with light bot moderation. Any member may invoke "point of order" to flag off-topic messages for review. Off-topic messages are collapsed, never deleted. Deliberation Statements (formal structured records: author, position, argument, evidence) become part of the proposal's permanent record.

#governance-log

Immutable event log. Every governance action posted in order. Cardano anchor confirmations appear here.

The Simple Path

A community member with no technical background must be able to, without leaving their Matrix client:

  1. See what's currently being voted on (plain language summary in their Matrix room)
  2. Read the enforceable text (plain language, 500-word maximum)
  3. Cast their vote with a single action
  4. See that their vote was counted
  5. See how the standings changed
No wallet. No browser extension. No gas fees. No blockchain interaction required from the user. The complexity lives in the server. The experience is a message.

Individual votes are never on-chain. Governance outcomes are.

Individual votes are never written to Cardano. What gets anchored is a cryptographic hash of the community's governance state at meaningful transition points.

What gets anchored

A proposal becomes active. A proposal earns a Stability Flag. A stability-flagged article is displaced. A Track 3 article is ratified. A member is added or revoked.

How it works

Serialize governance state → compute SHA-256 hash → submit minimal ADA metadata transaction → store transaction ID alongside governance record. Verification: re-serialize, recompute hash, compare to chain.

Privacy preservation

On-chain data is a hash only — reveals nothing about who voted for what. Proves the record has not been altered. Individual votes stay in the governance engine's local state, never in any ledger.

Self-hosting

Communities that self-host the governance engine ensure even Toolkit Earth cannot access their raw vote data. Self-hosting is a first-class supported deployment path, not an advanced option.

ADA transaction fees are minimal — purely a timestamp and hash commitment, no meaningful value transfer. The anchoring layer is abstracted: communities could anchor to any public ledger that supports transaction metadata. The governance engine's API does not assume Cardano-specific primitives.

A governance standard, not a walled garden.

Any existing trust network — analog or digital — should be able to adopt the protocol if they can demonstrate equivalent metrics to the membership standard.

Analog communities (neighborhood associations, cooperatives, unions) could migrate in with verifiable membership records and trust history. Other blockchain communities could bring governance history that translates to Auryn's metric framework. Platform communities (Discord servers, gaming guilds) could qualify with participation data that maps to temporal engagement metrics.

Migration requirements: Identity verification equivalent to the vouch process (each member individually vouched or verified). Temporal engagement data mappable to participation consistency metrics. No inherited power structures — migrating leadership does not automatically receive elevated member weight. Weight is re-earned within the Auryn framework.

The math holds at 1000+ members.

Phase 1.3's final check: run the conviction formula and member weight composition against a synthetic community of 1000 members with proportional tier distribution. Validate that conviction share tracks voter weight distribution, that no single tier dominates unfairly, and that weight inequality stays within acceptable range for identity-weighted governance.

auryn-sim — bash
ready
$ node sim.mjs large-scale

1000-member synthetic community. Weight distribution analysis (Gini coefficient, top-10% share). 30-day conviction simulation with 60/40 voter split. Four validation checks confirming the formula scales.

Unresolved decisions that must be settled before implementation.

A spec paper that hides its open questions isn't honest. These are known unknowns.

Resolved — Phase 1.3

Exact conviction growth formula — exponential decay parameters validated against 10, 50, and 1000-member simulations. Conviction share tracks voter weight distribution within 5% drift at all scales.

Resolved — Phase 1.3

Member weight formula — W = R · D · T0.40 · P0.35 · K0.25 with sigmoid ramp and exponential decay. Validated.

Resolved — Phase 1.3

Readability threshold — Flesch Reading Ease ≥ 25, calibrated as floor of UDSR hardest articles.

Resolved — Phase 1.3

500-word limit validation — all 32 UDSR sections pass. Longest is 165 words.

Open

Community-defined adult age for family vouching. Value to be determined by each community's own governance.

Open

Membership minimum participation threshold — protocol default vs. community-configurable?

Open

Growing Dragons integration API — what signals are available and how are they authenticated?

Open

Matrix Application Service hosting model — self-hosted only, or Toolkit Earth hosted option?

Open

Cardano network — mainnet from day one or preprod for testing phase?

Open

Conflict resolution when two proposals reach identical conviction scores simultaneously.

Open

Governance of the protocol itself — who can propose changes to this spec?

Open

CRAAP scoring thresholds — minimum score for Supporting Record validity? Different thresholds per record type?

Open

Dublin Core custom qualifiers — protocol-specific extensions?

Open

Child proposal depth limits — maximum nesting depth for parent-child chains?

Resolved

Membership tiers — resolved: Guest (entry), Member (vouched), Verified Member (Growing Dragons connected). Decided 2026-02-21.

Open

Migration standards — what constitutes "equivalent metrics" for off-protocol communities joining?

Phase 1: Mathematical foundations. Nothing else can proceed until validated.

Phase 1 — Mathematical Foundations

Complete. Conviction growth/decay formula validated at 10, 50, and 1000-member scale. Member weight formula validated across six archetypes. Plain language thresholds calibrated (500-word limit, Flesch ≥ 25). Flash mob defense and stability clock reset attack validated in simulation. Weight distribution healthy at community scale (Gini within acceptable range, no tier dominance).

Phase 2 — Identity and Privacy Infrastructure

Cardano Midnight credential architecture for ZK-verifiable member status proofs. Full vouch process implementation with vouch flow, family vouching, depth limits, and bad actor revocation.

Phase 3 — Governance Engine Core

Plain language enforcement engine. Conviction computation engine in Rust. Cardano anchoring implementation. Matrix Application Service. Deliberation and moderation system. Purpose alignment engine (semantic drift measurement, NLI entailment, per-proposal preview).

Phase 4 — Integration and Testing

End-to-end integration. Full attack simulation suite (flash mob, sybil, definitional warp, stability gaming, parent trojan horse, economic capture). UX testing with non-technical community members. UDSR ratification dry run on dragon.army.

Phase 5 — Documentation and Publication

Spec finalized to v1.0. Open questions resolved. dragon.army governance rooms deployed. Protocol self-amendment via Track 3. Open publication for other communities to adopt.

The full technical record.

Each sub-specification is the binding architecture document for its component. These are working papers — dense, precise, and updated continuously as the protocol evolves.

Phase 1 · Core

Full Specification v0.1

The complete protocol specification — governance model, proposals, tracks, and all mechanical rules.

Phase 1 · Item 1.2

Member Weight Formula

How participation, tenure, vouch depth, and Growing Dragons signals compose into a continuous weight.

Phase 1 · Math

Conviction Formula — Mathematics

Convergence proofs, stability bounds, and edge case analysis for the conviction accumulation formula.

Phase 3 · Item 3.2

Conviction Computation Engine

Engine behavior: how conviction scores are maintained, updated, and used to determine active proposals.

Phase 2 · Item 2.1

Midnight Credential Architecture

ZK credential issuance and verification via Cardano Midnight for privacy-preserving member voting.

Phase 2 · Item 2.2

Membership Process

Guest onboarding, vouch submission, depth limits, family vouching, and the complete membership flow.

Phase 1 · Item 1.4

Plain Language Engine

Automated enforcement of readability requirements for governance proposals.

Phase 2

Purpose Alignment

Semantic drift measurement and NLI-based entailment checking for evolving governance documents.

Phase 3 · Item 3.4

Matrix Application Service

Integration spec for Matrix as the communication and vote-carrying layer.

Phase 3 · Item 3.3

Cardano Anchoring

How governance state hashes are anchored on Cardano L1 for immutable public record.

Phase 3

Deliberation and Moderation

Structure and moderation of community discussion spaces within the protocol.

Phases 1–5

Roadmap

Phase-by-phase implementation plan with deliverables, dependencies, and current status.

The Auryn Protocol is formally bound to the Universal Declaration of Sentient Rights. The protocol cannot be restructured to concentrate power, cannot be weaponized for surveillance, and cannot be used to override the sovereignty of a community that has adopted it. Every community that deploys the protocol carries its own Declaration — an immutable founding document that no vote can amend. This specification is a living document. Changes follow the same Track 3 process it describes.