
Show HN: UEP – open testnet reference for settlement without a common currency
Public Testnet Reference + Digital Marketplace
以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。
Public Testnet Reference + Digital Marketplace
Public evaluation release — October 2026
Version: 0.5.83 (experimental BFT safety kernel, hash-chained commit log, authenticated PeerNet transport, spend circuit v6) · Latest GitHub Release: v0.5.83
What the CI badge covers: the blocking jobs only — the core suites (npm run test:core: lint, snapshot compatibility, donation-address check, protocol, Marketplace, settlement, oracle, category, smoke, quickstart, 20k simulation, Rust) on Node.js 22.x and 24.x, and every lab file not listed in scripts/lab-known-issues.json (npm run test:lab). The labs with known issues run in a separate non-blocking job and do not change the badge. A green badge is a test result, not a security claim.
UEP (Universal Economic Protocol) is a research and engineering project exploring a neutral economic protocol for exchanging services, resources and multiple asset types without requiring a single universal UEP currency.
This repository is the public reproducible reference slice of the project. It combines two deliberately separated layers:
The repository is intended for developers, researchers, security testers and early community participants who want to inspect the implementation, reproduce its tests, attack its assumptions and build compatible experiments.
Alongside these two layers, the repository also publishes the project's research labs (Rust/ZK core in uep-core/, consensus, node, economic and agent experiments in src/lab/ and src/agent/). They are experimental, are tested by npm run test:all, and are not part of the testnet rules (docs/LABS.md).
UEP did not start as a product plan. It started from a research question:
Can two parties agree on a price, exchange a service and settle it reliably when they do not share a currency, do not depend on a central payment operator, and cannot count on a fast, always-available communication link between them?
On Earth the question is mostly about neutrality and resilience: different assets coexisting, intermittent connectivity, machines paying machines. Taken to its limit, with parties separated by minutes to hours of signal delay, it becomes a question about how economic coordination can work when a shared, low-latency clock cannot be assumed.
The project has grown step by step from that question: first a minimal state machine for notes, nullifiers and fees; then a hardened local testnet; then a Marketplace and an IoT/M2M service layer to test the model against concrete service flows; and, in parallel, research labs for zero-knowledge spends, multi-node consensus and delay-tolerant settlement. Each public step is released with its tests and its known limitations; since the first public release, independent adversarial assessments have examined each release line up to v0.4.6.
There was no predefined commercial goal. As the protocol gains capabilities, some of them could become broadly useful, for example settling machine-to-machine services or keeping local economies working under poor or delayed connectivity. These are hypotheses to be tested, not statements about what UEP does today.
Label Meaning
Implemented (testnet) Code in src/core, src/testnet, src/identity, src/marketplace, src/settlement, src/category, src/oracle, src/service/iot-m2m*, the ledger service adapters (src/service/height-producer.ts, src/service/ledger-*.ts) and src/network, covered by npm test. Runs only on the local, single-node, in-process testnet.
Experimental (lab) Code in src/lab, src/agent, the service/API lab in src/service and uep-core/. Tested by npm run test:all, but not part of the testnet rules and without any security claim.
Planned A roadmap milestone with deliverables and exit criteria (ROADMAP.md); not yet in code.
Research / future vision A direction of inquiry, such as delay-tolerant or interplanetary settlement. No settled design, nothing operational.
Modules at a glance
Module Path Status Since Tests
Core primitives src/core Implemented (testnet) 0.3.0 test:protocol
Testnet ledger + snapshots src/testnet Implemented (testnet) 0.3.0 test:protocol
Identity / wallet src/identity Implemented (testnet) 0.3.0 test:protocol
Marketplace (+ treasury, paymaster) src/marketplace Implemented (testnet) 0.3.0 test:marketplace
Settlement engine + ledger anchors src/settlement Implemented (testnet) 0.5.2 test:settlement
Hashlock swap / relay / dispute / drip src/category Implemented (testnet) 0.5.2 test:category
Oracle policy layer + gate src/oracle Implemented (testnet) 0.5.2 test:oracle
IoT / M2M src/service/iot-m2m* Implemented (testnet) 0.4.0 test:marketplace
Service/API lab src/service/uep-* Experimental (lab) 0.5.0 test:lab
Consensus / node / economic labs, AMM lab pool src/lab Experimental (lab) 0.5.0 test:lab
Agents src/agent Experimental (lab) 0.5.0 test:lab
Rust / ZK uep-core Experimental (lab) 0.5.0 test:rust
Ledger service adapters (height producer, submit queue, worker host) src/service/height-producer.ts, ledger-*.ts Implemented (testnet) 0.5.1 / 0.5.3 test:marketplace
Reference node + BFT safety kernel + PeerNet src/node Experimental (lab) 0.5.10 (BFT kernel 0.5.74, PeerNet 0.5.78, hash-chained commit log, vote activation, round timer, peer envelope v2, height floor 0.5.81) test:consensus, test:node
SDK (client, Marketplace, IoT/M2M, CLI) sdk/ Implemented (testnet) 0.5.20 test:sdk, test:node
Node configuration examples config/, examples/ Implemented (testnet) 0.5.42 / 0.5.23 test:consensus, sample service test
Service gateways and adapters (IoT gateway, GLEIF display, storage adapters) src/service/* Experimental (lab) 0.5.x test:lab, test:marketplace
| External source adapters (off-node: USGS, GEOFON; lab: NOAA SWPC, JPL Horizons, CelesTrak, DSN, Open-Meteo) | scripts/adapters/ | Experimental (lab), off-node | 0.5.83 | test:adapters, check:adapters | | Signed payload v2 (network/domain/nonce/height-window bound signatures) | src/marketplace/signature-v2.ts | Implemented (testnet) | 0.5.83 | test:marketplace, test:security | | BFT equivocation evidence, recovery and crash-point tests | src/node/bft-equivocation.ts, bft-mp-harness.ts | Experimental (lab) | 0.5.83 | test:consensus, test:bft-adversarial, test:property:full | | Asset registry store and network policy | src/node/asset-registry-store.ts | Implemented (testnet) | 0.5.83 | test:consensus, test:security | | Spend circuit v6 and zk accounts | uep-core/uep-26-spend-circuit, src/core/zk-account.ts | Experimental (lab, development keys) | 0.5.83 | test:rust, test:protocol, labs |
"Hashlock swap" (src/category/swap.ts) is a bilateral settlement between two parties; the "AMM lab pool" (src/lab/liquidity.ts) is a research simulation that never moves testnet value. Full module map: docs/MODULES.md.
Item Status
Version 0.5.83 (2026-10-15, Latest GitHub Release v0.5.83): spend circuit v6 (depth 64) with ledger proof checks, zk accounts and exit path (lab, development keys); off-node external source adapters (USGS, GEOFON; lab-only NOAA SWPC, JPL Horizons, CelesTrak, DSN, Open-Meteo); experimental BFT safety kernel with authenticated PeerNet transport, hash-chained commit log, height-based vote-format activation and round-change timeout; resolution matrices in docs/audit/0.5.81-RESOLUTION.md and docs/audit/0.5.82-RESOLUTION.md, reference node in src/node, SDK, node configuration examples, ledger snapshot format 10, development ZK verifying-key pins for circuits v5-foldv2 and v6-rotblind; resolution matrix docs/audit/0.5.83-RESOLUTION.md. Changes since v0.5.3 are in the CHANGELOG (0.5.4 – 0.5.83)
Tests (testnet) Per-suite counts for this version are in the CHANGELOG 0.5.83 entry (single source of truth)
Tests (research labs) Rust crates in uep-core/ and the lab files in src/lab, src/agent, src/service; counts in the CHANGELOG 0.5.83 entry; known-issue list: scripts/lab-known-issues.json
Test everything npm ci && npm run test:all (see Quickstart)
Protocol hash Poseidon over BN254 (one canonical hash for the core and the ZK circuit lab); ledger snapshot format 10 (formats 5–9 migrated), Marketplace snapshot format 4 (formats 1–3 migrated) (compatibility policy)
Research labs Internal lab experiments from the project's early stage, now public as experimental code in src/lab/, src/agent/ and uep-core/, run by test:all; not part of the testnet (docs/LABS.md)
Simulation npm run simulate:20k (CI), simulate:50k, simulate:100k, simulate:500k: signed funded settlements, 0 errors, value conserved (in-process)
CI Blocking: npm run test:core on Node.js 22.x and 24.x, and npm run test:lab (labs not listed in scripts/lab-known-issues.json). Non-blocking: the lab files with known issues
Network Local, single-node, in-process testnet only
External review External reviews of later versions have taken place. The reports of 2026-10-09 and 2026-10-10 (v0.5.6, v0.5.11 and the Phase 4 harness) and their dispositions are in docs/audit/; further reports will be added (with version and remediation status) as they are incorporated. The v0.4.x reviews: docs/SECURITY-COVERAGE.md, docs/REMEDIATION-COVERAGE-v0.4.7-v0.5.x.md; starting point for an independent review of v0.5.3: docs/EXTERNAL-AUDIT-PACKAGE.md
Architecture by layer: docs/ARCHITECTURE.md. Phases and next milestones: ROADMAP.md.
Traditional economic networks often assume one of the following:
UEP explores a different direction: an economic protocol in which different assets and real services can coexist, while local economic state can be processed without requiring a universal low-latency clock.
The long-term research direction includes terrestrial, delayed-network and eventually deep-space environments. Those future layers are not represented as operational claims by this repository.
This public release does not introduce a native UEP token.
The design goal is to keep the network useful through real services, assets and network functions rather than introducing speculative monetary complexity before a demonstrated technical or economic need exists.
UEP TESTNET reference layer
The public testnet implements a local reference state machine with:
The transaction path is intentionally explicit about its security boundary: the public testnet requires sender authentication on every spend, using a deterministic development/reference MAC plus (since v0.4.4) an Ed25519 signature by the account's spend key. Since v0.4.5 the account id itself commits to that key, so the signature is verifiable without any key registry. Neither is a zero-knowledge proof or a production SNARK ceremony.
Implemented (testnet) alongside the Marketplace:
The Marketplace is intentionally a separate business layer in this release. The repository does not claim that Marketplace settlement is already an end-to-end production transaction through the UEP consensus/ZK stack.
The labs were internal experiments during the project's early stage and are now published so that the whole project can be built and tested in one place. They import the hardened primitives from src/core and do not change the testnet rules. They include:
Some lab suites have documented known failures and run in a non-blocking CI job. Scope, commands and the known differences between the labs and the core are in docs/LABS.md; the design notes are indexed in uep-core/README.md.
UEP TESTNET creator fee
The public reference testnet retains the current experimental protocol fee rule:
fee = max(1, floor(amount × 10 / 10,000)) for any positive amount
That corresponds to 0.1%. Since v0.4.4 a positive transfer always pays at least 1 unit (the minimum fee applies below 1,000 units), so small transfers no longer travel fee-free. It is a testnet protocol rule, not a promise of future commercial pricing or income.
The testnet treasury is an internal public reference account. No private key, production custody credential or personal treasury credential is included in this repository.
The Marketplace has its own business-layer fee:
The Marketplace Treas
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。