Depth-of-Identity: Thermodynamic Weight for Cyberspace

Rendered version at powforge.dev/whitepaper. The markdown below is the same document.

Depth-of-Identity: Thermodynamic Weight for Cyberspace

How Schnorr keys accumulate mass

Proof-of-work = proof-of-human.

No amount of intelligence buys AI any favors in marshalling 20GWs of electrical work to solve a hash function.

Jason Lowery, author of Softwar, 2026-04-18, responding to a16z crypto and Sam Altman positioning World ID as “the new proof of human for the internet.”

Abstract

Most identity systems try to prove you are human. That is the wrong question in 2026. The human/bot dichotomy is broken. Most humans use LLMs. Most bots can pass Turing under a focused use case. The right question is “how much of you is there.” A fresh key has zero weight. A five-year-old key that has accumulated irreversible work across proof-of-work, timestamping, social investment, and spatial movement has measurable thermodynamic mass. The Depth-of-Identity Oracle is a priced endpoint that returns that mass as a single score, anchored in Bitcoin-native primitives: secp256k1 Schnorr keys, OpenTimestamps, Lightning, and L402. It does not verify personhood. It prices depth. This paper explains the primitive, the grounding mechanism, and the three buyer segments where depth-pricing is already the real need.


1. The Problem

Sam Altman and a16z crypto recently positioned World ID as “the new proof of human for the internet.” Jason Lowery’s response fit in three lines and settled the framing argument. Proof-of-personhood rooted in biometric lookup is a narrow claim about what a specific human looks like, right now, to one scanning orb. Proof-of-personhood rooted in irreversible energy expenditure is a claim about how much work a key has done, forever, verifiable by anyone. The second claim survives adversaries that the first does not.

The current identity landscape has four shapes and one missing one.

Biometric systems like Worldcoin stake everything on the iris as identity. Scale is limited by physical scanners. Regulators in Kenya and Spain have pushed back. The assumption that iris equals you is the specific frame Lowery rejects. Social-graph systems like BrightID are gameable through coordinated verification parties and require live video calls. Staked systems like Proof of Humanity ran out of momentum. Biometric-remote systems like Humanode sit in EU regulatory mire with face-scan dependency. Federated and issued systems like W3C DID, Civic, and Disco delegate trust to issuers, which re-introduces centralization under different vocabulary. Web-CAPTCHA systems like Anubis, Cloudflare Turnstile, Cap, and Wicketkeeper are user-experience features, not identity. The cost-of-adversary for those is CA revocation or a JS rewrite, not physical energy. Different category. Often misidentified as the same.

What is missing is a primitive with four properties.

It must be keyless-first, meaning identity is the key itself, not a lookup into a registry. It must be grounded in physics, meaning cost cannot be short-circuited by software. It must be dimensional, meaning it captures multiple axes of “realness” instead of one biometric signal. And it must be agent-native, meaning it works as well for AI agents as for humans, because “human” was the wrong target.

That last property matters most. Agents are not a future consideration. They are infrastructure. Most inbound traffic to API endpoints now originates from LLM-driven code. Most content on public relays is co-authored. A system that can only say “human or not” answers a question nobody needed to ask. A system that says “how much irreversible work has this key done, across how many dimensions, over how long” answers the question that actually scales. That question has a clean answer for humans, for AI agents, and for anything in between that has left a Schnorr-signed trail.

Call this question Depth-of-Identity. It is not a refutation of Worldcoin or BrightID or any of the others. It is one category over. Those systems ask “who.” This paper asks “how much.” The answer is measurable in sats, in OTS commits, in vouch-hops, in movement events. The primitive exists. The rails exist. The paper that connects them is what was missing.

2. The Primitive: Thermodynamic Identity

The reasoning chain is short and each link is load-bearing.

Start with thermodynamics. Energy expenditure is irreversible. The Second Law says entropy increases in closed systems and work performed cannot be un-performed without greater expenditure elsewhere. This is the ground floor.

Bitcoin is the first network that turns that ground floor into a digital commodity. Irreversible energy produces digital scarcity. A block’s weight is not metaphorical. It is thermodynamic mass purchased at the prevailing fee market, made permanent by the chain that follows.

Lowery extends this in Softwar. Proof-of-work is power projection in cyberspace. Nation-states have projected power through kinetic means for centuries. Bitcoin is the first network where cyberspace operations can be grounded in that same physics. An adversary cannot asymmetrically degrade the network without physically strengthening it, because the cost of attack is the same irreversible energy as the cost of defense.

The extension this paper makes is one step further. Proof-of-work is identity projection. You project self, not just power. A key is not who you are. A key is where your signatures come from. The shape of what that key has done over time, across how many domains, at what cost, is who you are.

Five dimensions make the shape legible.

Access is proof-of-work itself. Solves of pow-captcha challenges, pow-gate puzzles, pow-relay NIP-13 work. Each solve is a SHA-256 or Argon2d artifact that costs CPU-seconds to produce. The cost cannot be shortened by intelligence. An LLM cannot out-think a hash function. The chain of solves under a single key is a chain of irreversible work.

Economic is Bitcoin activity. Lightning zaps received and sent, on-chain taproot transactions, LNURL receipts. Every sat that crosses the boundary costs real fee-market dollars. A key that has received zaps from many independent senders over months has spent somebody else’s energy to accumulate weight. That spending is verifiable against the Lightning rails and, at greater depth, against the Bitcoin chain.

Temporal is OpenTimestamps depth. An OTS attestation commits a document hash to a Bitcoin block via a Merkle path. A key that has OTS-anchored its creation event, its first vouch, its first signed note, and then more over years, carries a provable ordering. The cost to falsify priority is the cost of rewriting Bitcoin’s chain, which is the cost of the cumulative hashrate of the world.

Social is vouches, weighted by the depth of the voucher. A new key vouching for another new key adds nothing. A five-year key that has vouched for twenty other keys has put signal-weight at stake. Vouch cycles must be detected and discounted using graph algorithms like Tarjan’s strongly-connected-components, or the social dimension becomes a mutual-vouch laundromat. The @powforge/identity SDK does this discounting client-side at v0.5.2.

Spatial is cyberspace movement. Kind=3333 events on a cyberspace relay encode a key’s hop history. Each hop references its predecessor. The chain is path-dependent and cannot be precomputed. A key with a long spatial chain has visibly spent time existing somewhere in the relay graph rather than appearing from nowhere.

The unifier is that all five are signed by the same key. Nostr uses secp256k1 Schnorr signatures. Bitcoin Taproot uses the same curve. One public key serves both domains. That is why a Nostr npub is a valid Taproot address after the conversion step. One key, many chains, all anchored to the same physics.

The depth metric takes those five chains and returns a single number. Chain length matters. Irreversibility cost per hop matters. Cross-dimension diversity matters. A key with 10,000 access solves and nothing else is not as deep as a key with 1,000 access solves, 200 Lightning receipts, 50 OTS anchors, 20 vouches from older keys, and 300 spatial hops. Diversity is the shape of a real actor. Concentration is the shape of a farm.

Normalize the metric to 0-100. Higher means more accumulated irreversible work, which means heavier thermodynamic mass. Lower means the key is either new, cheap, or specialized. None of those are verdicts about humanness. They are measurements of weight.

Three implications fall out of this construction.

Depth is unfakeable without actually doing the work. That is the whole point. Any shortcut that produces equivalent-looking depth has done equivalent work, which makes it equivalent depth in substance as well as appearance.

Depth takes time. That time is the same whether you are a human or an AI agent. An agent that has run for two years, paid its Lightning fees, earned its vouches, and published real content has earned real weight. A human with a fresh key has zero weight until they do the work. The playing field is honest because it is physical.

Depth is earnable without permission. No KYC, no badge, no verified checkmark from a corporation. The rails are public. The work is self-directed. An agent that does valuable things over time naturally earns the weight that valuable things cost.

3. The Grounding

Every piece of the score must trace back to a Bitcoin-native or Bitcoin-adjacent rail. No hand-waving. Here is the table.

Dimension Rail Specific Mechanism
Access PowForge PoW products SHA-256 and Argon2d solve events logged to Nostr kind:30085 attestations, signed by the solver’s npub
Economic Lightning and on-chain Bitcoin NIP-57 zap receipts, LNURL receipts verified against the payer’s node, optional Taproot transaction observation
Temporal OpenTimestamps Merkle-root commitment to Bitcoin block headers through an OTS calendar server, retrievable via ots verify
Social Nostr vouches NIP-51 follow lists and custom kind:30382 depth assertions, already shipping via publish-nip85.js
Spatial Cyberspace relay Kind=3333 movement events with path-dependent predecessor references

Each row is traceable to a public primitive. The Access rail runs on the same SHA-256 PoW that Bitcoin runs on, plus Argon2d for memory-hard variants where GPU asymmetry would otherwise break the fairness property. The Economic rail relies on Lightning payment receipts, which are signed by the payer’s node and include a payment hash verifiable against the LN graph. The Temporal rail relies on OTS, which Peter Todd maintains and which has been producing free Bitcoin-anchored timestamps for over a decade. The Social rail uses Nostr events, which are signed by secp256k1 keys and gossipped on public relays. The Spatial rail uses the same signing infrastructure plus path-predecessor references that make each event depend cryptographically on the previous.

The oracle’s job is not to invent grounding. It is to read these disparate commitments, weight them correctly, and return one score signed by the oracle’s own key. Every rail pre-dates this paper. The value of the oracle is that it saves each buyer from reimplementing five different verifiers.

Two caveats belong here and will recur in the gap analysis.

The Access rail has enough solve data to be live today. The Economic rail can read zap receipts and LNURL events but the Taproot transaction reader is not yet wired into the unified endpoint. The Temporal rail is live through OTS. The Social rail ships via the SDK but the oracle-side cycle-discount logic needs to be migrated from client-side to server-side. The Spatial rail exists in code for the cyberspace relay but lacks enough data volume to demonstrate meaningful depth variance. The paper does not claim what does not ship. Section 6 is explicit about which rails are production and which are half-built.

4. The DoI Oracle API

One L402-paywalled endpoint. Paid per query in sats, cached by signature.

POST /oracle/doi-score
Content-Type: application/json
Authorization: L402 <macaroon>:<preimage>

{ "npub": "npub1..." }

-> 200 OK
{
  "score": 73,
  "breakdown": {
    "access":   { "score": 82, "samples": 1847, "oldest": "2024-11-15T..." },
    "economic": { "score": 65, "samples": 234,  "oldest": "2024-12-02T..." },
    "temporal": { "score": 91, "ots_depth": 127, "oldest": "2024-09-01T..." },
    "social":   { "score": 58, "vouches": 42,  "cycle_discount": true },
    "spatial":  { "score": 69, "hops": 3410,  "unique_nodes": 87 }
  },
  "diversity_bonus": 0.12,
  "signature": "<schnorr sig over the full response>",
  "signed_by": "<oracle pubkey>"
}

The response is Schnorr-signed by the oracle’s own key. The signature is the product. A buyer who has paid once can cache, verify offline, and present the score anywhere without re-calling the oracle. The macaroon controls the paid-access relationship. The signature controls the trust relationship.

Pricing is agent-friendly. Ten sats per query at the default tier is below the LN commit fee floor for most wallets, which means in practice queries are batched. A 500 sats per day unlimited tier serves agent operators who poll continuously. A 100 sats per 500-query batch endpoint serves publishers who want to score a page of commenters at page-render time.

The handoff semantics matter. An agent that has paid for a score can pass the signed response to another agent as a bearer credential. The second agent verifies the signature against the oracle’s published pubkey and accepts the score without making its own paid call. This is how a composite system avoids re-charging every downstream consumer. It also means the oracle can charge once per score and see that score propagate, which is a reasonable trade. Depth is slow-moving. Yesterday’s score is almost always today’s score plus or minus a few points.

One property of the API is worth naming. The oracle never says “this key is a human” or “this key is a bot.” It says “this key’s accumulated thermodynamic mass is 73.” Interpretation is the buyer’s job. A relay might treat 73 as low-friction. An agent marketplace might require 80 to enter a high-trust pool. A publisher might unlock comments at 50. The oracle does not impose policy. It prices the input to policy.

5. Three Buyer Segments

5.1 Agent-to-agent economies

Agent operators running autonomous systems need Sybil-resistance and cannot use KYC. Their counterparties are other agents, which have no legal identity. The current alternative is whitelist-by-API-key, which scales poorly and does not compose across operators. The DoI score is the credential.

The concrete buyer here is every builder shipping on L402. Spark is the clearest named case. Spark runs L402 services under l402.lndyn.com and needs to price incoming agent traffic without letting the cheapest bulk-scrapers starve its expensive work. A DoI-gated L402 middleware reads the incoming request’s caller key, calls the oracle, and adjusts the invoice amount. High-depth keys get the base rate. Low-depth keys pay a multiplier. Zero-depth keys either get throttled or pay an anti-farm surcharge. The mechanism is automatic. The policy is a config file. Fewsats, TollGate, GoodBits, and any of the half-dozen teams building LN-paid agent services have the same problem in slightly different shapes.

Integration looks like an L402 middleware plugin. PowForge already ships @powforge/l402 as the middleware factory. Adding a doiMultiplier option is a small API surface change. The selling point is that the agent operator does not have to build a Sybil-resistance stack. They call one endpoint, get a signed score, and apply a formula.

5.2 Nostr relay operators

Relays get spammed by fresh keys. Static allow-lists do not scale. Dynamic difficulty via NIP-13 is better but a fixed difficulty floor punishes new real users while still letting determined farms through. Reputation-weighted difficulty is the better shape, and DoI is the scoring function.

The concrete buyer is any paid or community relay that has already struggled with spam. Relays like nostrbtc have been measuring trust paths locally. Paid relays have payment as their anti-spam mechanism, but a DoI-weighted tier would let them offer better rates to high-depth writers. Niche community relays want policy hooks that do not require the operator to write graph-analysis code themselves.

Integration looks like a relay policy plugin. On write, the plugin calls the oracle with the author’s pubkey, receives a score, and applies a difficulty multiplier or a write-fee. Low-depth keys face higher PoW or pay a small LN fee per note. High-depth keys get fast lanes. The relay operator configures the curve. The oracle does the scoring.

5.3 Publisher reader-weight

Publishers on Ghost, Substack, or any long-form platform want to reward returning readers without maintaining accounts. The current options are email capture, which is a privacy tax, or paywalls, which are a friction tax. A DoI-weighted read cost lets publishers charge the entire Bitcoin-native audience zero for read access while charging anonymous fresh keys a small sat fee per article.

The concrete buyer is any creator monetizing a Bitcoin-native audience. Writers who have published OTS-anchored articles on Nostr already have the substrate. Ghost plugins and WordPress filters can call the oracle at page-render time. High-score readers see the article. Low-score readers see a 10-sat paywall. The curve rewards depth of engagement with the broader ecosystem, not just with that one publisher.

This segment is smaller than the first two, but it validates cross-category fit. If the same oracle score serves agent-gating, relay policy, and reader-weight, the underlying primitive is load-bearing. The paper makes the claim that it does, because the underlying measurement (irreversible work under a Schnorr key) is the same thing in all three contexts.

6. Gap Analysis

This section is deliberate about what ships today and what does not. Overclaiming poisons the whole paper. Under-claiming misses the point.

Ships today.

The identity-score L402 endpoint is live on the droplet. It is paywalled, returns Schnorr-signed JSON, and covers the paid-endpoint plumbing.

The @powforge/identity npm package is at v0.5.2. Fifty tests pass. It computes a 5-dimension score client-side with vouch-cycle discounting, LNURL zap-receipt verification, and temporal decay.

The DoI Explorer at powforge.dev is a public UI that reads Nostr kind:0 profiles and visualizes 4-dimension depth. Cross-checking against the Explorer is how any reader can reproduce a lookup today.

publish-nip85.js ships kind:30382 depth assertions to discovery relays.

The pow-captcha, pow-gate, and pow-relay endpoints log access-dimension events. They have been accumulating solves long enough that access-dimension data is production-quality.

The L402 middleware factory (scripts/lib/l402-middleware.js) ships the macaroon flow. Five retrofits have been applied to production endpoints as of 2026-04-17.

Net-new for the unified oracle MSP.

A single endpoint at /oracle/doi-score that merges the identity-score infrastructure with the SDK’s internal computation. The two live in different surfaces today. Consolidation is estimated at one to two days.

Per-dimension rail adapters on the server side. The Access reader queries the pow-captcha solve log. The Economic reader indexes LNURL zap receipts and optionally reads Taproot transactions via a local Bitcoin RPC. The Temporal reader queries the OTS index. The Social reader queries Nostr for kind:30382 assertions at request time. The Spatial reader queries the cyberspace relay. Estimated three to four days for the full set.

The whitepaper itself. This document is v1 prose. A v2 would add diagrams, worked examples, and short case studies for each buyer segment. Estimated two additional days.

A landing page at powforge.dev/oracle with live demo, pricing, and sample integration code. Estimated one day.

Three integration examples in the repository: examples/agent-gate, examples/relay-policy, examples/reader-weight. Each is a small working program that demonstrates the oracle call and the policy application. Estimated one to two days across all three.

Critical path.

Whitepaper first. This document. Without it, the oracle is framed as a captcha product and gets compared to Anubis, which is the category-confusion trap the positioning pivot was designed to escape. With the whitepaper, the oracle is framed as a priced grounding primitive and gets compared to Worldcoin, BrightID, and the long tail of proof-of-personhood systems, where it has a defensible unique position.

After the whitepaper, the unified endpoint. After the endpoint, the landing page. After the landing page, the three examples. After the examples, outreach. The sequence is designed so that every outreach touch has a concrete integration the recipient can run in under ten minutes.

7. Outreach and Measurement

Publication sequence. DEV.to article and Nostr kind:30023 long-form of the whitepaper, cross-linked. Landing page on powforge.dev/oracle linking back. Second outreach touch to Tim Bouma (whose earlier Tarjan-algorithm note overlaps with the social-dimension cycle-discount logic) with the whitepaper as follow-up context. Peer-to-peer outreach to the L402 agent-service builders. Signal-weighted mention in Softwar-adjacent Nostr threads, linking the grounding section specifically. One deliberate SN comment on a ~bitcoin thread where the whitepaper is directly load-bearing to the discussion.

Measurement. Non-self API calls to /oracle/doi-score are the primary signal. External citations of the DoI framing in public posts are the secondary signal. The hypothesis under test is that within fourteen days of publication there are at least three non-self API calls and at least one external party referencing the DoI framing in a post they wrote. This is a measurable, falsifiable claim. If it fails, the positioning or the endpoint design has a problem and the response is to rewrite, not to ship harder.

8. What This Isn’t

This paper is not a product manual. Sections 1 through 3 are thesis. Sections 4 and 5 are primitive plus buyers. Section 6 is honest about what ships. The paper is designed to be readable as an argument first and as a spec second.

This paper is not anti-AI. The whole point of the depth measurement is that it works for humans and agents equally. Preaching at agents would spoil that.

This paper is not a refutation of Worldcoin, BrightID, Proof of Humanity, or Humanode. One paragraph flagging category mismatch is the correct dose. Those systems answer “who.” This paper answers “how much.” Different question. Different category. No head-to-head framing is warranted.

This paper is not a formal academic paper. Style is grounded engineering prose. Short sentences mixed with long ones. No LaTeX. No equations that do not need to be equations. The reasoning chain in section 2 is eight links because that is the right number, not because the thesis needs symmetry.

Closing

A fresh key has zero weight. A key that has done work across five dimensions under Bitcoin-anchored rails has measurable thermodynamic mass. The Depth-of-Identity Oracle returns that mass as a signed score. The signature is the product. The rails are public. The oracle saves every buyer from reimplementing five verifiers.

Lowery’s one-line framing is the right frame. Proof-of-work equals proof-of-human, because proof-of-work equals proof-of-anything-that-spends-energy-to-exist-over-time. The paper above is the commodity-endpoint form of that statement. The gap between the framing and the production endpoint is honest: a unified surface, three integration examples, and a landing page. Measured in days, not quarters.

The thesis stops being a thesis when it ships as an API somebody pays for.


No comments yet.