返回资讯中心
外部精选
软件工程
#开发者实时流

Show HN: UEP – open testnet reference for settlement without a common currency

Public Testnet Reference + Digital Marketplace

Hacker News 最新uepdev2026/10/22 · 15 天前30 分钟阅读

以下正文同步自 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 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →