[Hackathon] edge: EMPIC escrow payments plugin and adversarial validators#41
Open
tedschw wants to merge 6 commits into
Open
[Hackathon] edge: EMPIC escrow payments plugin and adversarial validators#41tedschw wants to merge 6 commits into
tedschw wants to merge 6 commits into
Conversation
…escrow-payments # Conflicts: # packages/nest-core/nest_core/plugins.py # packages/nest-core/nest_core/scenarios.py # packages/nest-core/tests/test_validators.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
EMPICEscrowPayments, a deterministic EMPIC-inspired payments plugin registered asempic_escrow.The plugin preserves the existing
Paymentsprotocol while adding EMPIC-style escrow behavior for provider service registration, pull delivery, pubsub streaming, consumer acceptance policy, escrow release, and refund.Problem Addressed
NANDA Town's current payments layer can model simple prepaid transfers, but it does not model evidence-gated settlement for metered data services. This contribution lets NANDA Town test whether autonomous consumers and providers can coordinate around paid data delivery under adversarial conditions.
What Changed
EMPICEscrowPaymentsempic_escrowas a built-in payments pluginDuplicate-Work Check
I reviewed PRs #2-#11 and later related payments PRs, including PR #38.
The nearest related submissions are PR #7,
htlc_escrow, and PR #38,escrow.PR #7 implements hash/time-locked conditional payments as a primitive. PR #38 implements a generic arbitrated escrow state machine with payer/payee/arbiter roles, delivery acknowledgement, dispute, arbitration, release, and refund.
This PR is distinct: it models EMPIC-style escrowed data-service settlement with provider service registration, consumer/provider/service binding, declarative acceptance policy, pull and pubsub delivery modes, metered billing for valid delivery evidence, and adversarial trace validators for invalid delivery, wrong bindings, drain-after-close, partition overbilling, and secret leakage.
In short:
Determinism
All Step 1 behavior is deterministic and in-memory. There are no live EMPIC services, wallets, network calls, secrets, Base Sepolia dependencies, Stripe dependencies, Coinbase dependencies, or local EMPIC repo dependencies.
Validation
make ci-localpassed.Result: