Add a separate scoped operator credential for pool accounting and payouts #31
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
pool
post-quantum
question
third-party
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ignotusnemo/parano1d#31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
v1.0.3 correctly restricts the mining credential to
paranoid_getBlockTemplateandparanoid_submitBlock. That hardening must remain unchanged.However, a multi-host pool commonly separates prover/mining nodes, the wallet node, and the accounting/payout backend. Before v1.0.3, some deployments used the mining bearer token for wallet and inspection RPC calls over a protected LAN. After the mining scope was tightened, no remote credential can authorize those calls, while unauthenticated wallet RPC must not be exposed off-host.
Proposed interface
Add two optional daemon arguments:
--operator-key TOKEN--operator-key-file FILEThe operator credential is independent from the mining credential and uses a fixed allowlist. It is intended for a trusted pool or exchange accounting and payout backend, not for miners or browsers.
Exact operator allowlist
paranoid_getChainInfoparanoid_getTxparanoid_getMempoolEntryparanoid_validateAddressparanoid_estimateFeeparanoid_estimateFeeDetailedparanoid_verifyReceiptparanoid_submitTxIntentparanoid_walletStatusparanoid_walletGetBalanceparanoid_walletMinedBlocksparanoid_walletReceiptsparanoid_walletExportReceiptparanoid_walletPlanSendparanoid_walletSendparanoid_walletPlanConsolidationparanoid_walletConsolidateEvery unlisted current or future method must remain denied.
In particular, the operator credential must not authorize mining methods,
paranoid_stop, wallet scanning/discovery, address management, or unbounded wallet history/UTXO listings.Security requirements
walletSend; the daemon must warn that bearer authentication does not encrypt transport. Remote use requires a private firewall/VPN or an authenticated TLS/SSH tunnel.parano1d-clion the same host use loopback RPC without a password.Acceptance tests
Implemented in
github.com/ignotusnemo/parano1d@4be38fb4b5Released in Parano1d v1.0.4 Mainnet. The operator credential and its fixed RPC allowlist are documented in JSON-RPC authentication.