Skip to content

Glossary

Definitions of key terms used in SIP Protocol documentation, organized alphabetically.


The group of possible senders/recipients that a transaction could belong to. Larger anonymity sets provide stronger privacy. Unlike mixers, SIP uses per-transaction stealth addresses rather than shared pools.

Encryption that provides both confidentiality and integrity. SIP uses XChaCha20-Poly1305, which ensures data cannot be read or tampered with without the correct key.


A random value used in Pedersen commitments to hide the actual amount. Without knowing the blinding factor, observers cannot determine the committed value.

const { commitment, blindingFactor } = createCommitment(amount)
// blindingFactor: random 256-bit scalar

Infrastructure that enables asset transfers between different blockchains. SIP relies on bridges integrated with NEAR Intents for cross-chain settlement.


Techniques used to trace and link blockchain transactions. SIP’s stealth addresses and commitments are designed to resist chain analysis by preventing address linkage.

A cryptographic primitive that allows you to commit to a value without revealing it, then later prove the commitment matches the original value. See Pedersen Commitment.

The ability to satisfy regulatory requirements. SIP enables compliance through viewing keys that allow authorized parties to audit transactions.

Transactions or operations that span multiple blockchains. SIP provides privacy for cross-chain swaps via NEAR Intents.


The mathematical problem underlying elliptic curve cryptography. Given points G and P = k·G, finding k is computationally infeasible. SIP’s security relies on DLP hardness on secp256k1.

Multiple addresses derived from the same keys using different diversifiers. Allows receiving to different addresses without additional key management.


Ethereum Improvement Proposal for stealth addresses. SIP implements a similar scheme adapted for multi-chain use.

Reference: EIP-5564: Stealth Addresses

A mathematical structure used in modern cryptography. SIP uses the secp256k1 curve, the same curve used by Bitcoin and Ethereum.

A temporary key generated for a single transaction. In stealth addresses, the sender generates an ephemeral keypair to derive the recipient’s one-time address.

const { stealthAddress, ephemeralPublicKey } = generateStealthAddress(metaAddress)
// ephemeralPublicKey: published for recipient to find the transaction

A zero-knowledge proof demonstrating sufficient balance to fund a transaction without revealing the exact amount. Part of SIP’s planned ZK proof system.

Reference: Funding Proof Specification

A zero-knowledge proof demonstrating that a solver correctly fulfilled an intent. Verifies output amounts match committed inputs.

Reference: Fulfillment Proof Specification


A fixed point on an elliptic curve used as a base for scalar multiplication. SIP uses two generators:

  • G: Standard secp256k1 generator
  • H: Hash-derived generator for Pedersen commitments

Key derivation structure where child keys can be derived from parent keys. SIP uses hierarchical viewing keys for scoped access control.

const masterKey = generateViewingKey('m/treasury')
const auditKey = deriveViewingKey(masterKey, 'audit/2024')

A commitment scheme property where the commitment reveals nothing about the committed value. Pedersen commitments are perfectly hiding.

Mathematical property allowing operations on encrypted/committed data. Pedersen commitments are additively homomorphic:

C(a) + C(b) = C(a + b)

This enables verifying that inputs equal outputs without revealing values.


A user’s desired transaction outcome, specifying input and output assets without prescribing execution method.

const intent = {
input: { chain: 'ethereum', token: 'ETH', amount: '1.0' },
output: { chain: 'solana', token: 'SOL' },
}

A design pattern where users express desired outcomes (intents) rather than specific transactions. Solvers compete to fulfill intents optimally.


The process of generating new keys from existing keys. SIP uses key derivation for:

  • Viewing key hierarchy
  • Stealth address generation
  • Commitment blinding factors

The ability to connect multiple transactions to the same entity. SIP prevents linkability through stealth addresses (each transaction uses unique address).


A stealth meta-address contains the public keys needed to generate stealth addresses for a recipient.

Format: sip:<chain>:<spendingPubKey>:<viewingPubKey>
Example: sip:ethereum:0x02abc...123:0x03def...456

A privacy tool that pools funds from multiple users to break transaction linkage. Unlike mixers, SIP uses per-transaction stealth addresses without shared pools.


A cross-chain settlement system on NEAR Protocol. SIP integrates with NEAR Intents for transaction execution while adding privacy.

Reference: NEAR Intents Integration

A system where users maintain control of their funds. SIP is non-custodial — private keys never leave the user’s wallet.

A unique value derived from a note/UTXO that prevents double-spending. When spending, the nullifier is revealed to mark the note as spent without revealing which note.


An address generated for a single transaction. See Stealth Address.


A cryptographic commitment scheme with homomorphic properties:

C = v·G + r·H
Where:
- v = value being committed
- r = random blinding factor
- G, H = generator points

Properties:

  • Perfectly hiding: Statistically impossible to learn v from C
  • Computationally binding: Cannot find v' ≠ v with same C
  • Additively homomorphic: C(a) + C(b) = C(a+b)

SIP’s transaction privacy configuration:

LevelDescription
TRANSPARENTNo privacy, standard transaction
SHIELDEDFull privacy, hidden sender/amount/recipient
COMPLIANTFull privacy + selective disclosure

Reference: Privacy Levels

A cryptographic demonstration that a statement is true. SIP uses zero-knowledge proofs to verify transaction validity without revealing private data.


A solver’s offer to fulfill an intent at specified terms (exchange rate, fees, timing).

const quotes = await sip.getQuotes(intent)
// quotes: array of solver offers

A zero-knowledge proof that a committed value lies within a valid range (e.g., non-negative). Prevents creating money from invalid values.


A number used in elliptic curve operations. Private keys and blinding factors are scalars (256-bit integers modulo curve order).

The process of checking transactions to find those addressed to you. Recipients scan using their viewing key to detect incoming payments.

const isForMe = checkStealthAddress(
stealthAddress,
spendingPrivateKey,
viewingPrivateKey
)

The elliptic curve used by Bitcoin, Ethereum, and SIP. Offers 128-bit security level.

Revealing transaction details only to authorized parties. SIP implements selective disclosure through viewing keys.

The final execution of a transaction on-chain. SIP uses NEAR Intents as its settlement layer.

A transaction with hidden sender, amount, and recipient. SIP’s SHIELDED privacy level provides full shielding.

An intent with privacy-preserving properties — committed amounts, stealth addresses, and encrypted metadata.

An entity that fulfills intents by finding optimal execution paths. Solvers compete on the NEAR Intents network.

Reference: Solver Integration

The private key that authorizes spending from an address. In SIP stealth addresses, the spending key derives the ability to spend received funds.

A one-time address derived from a recipient’s public keys. Each sender generates a unique stealth address, preventing address reuse and linkability.

const { stealthAddress, ephemeralPublicKey } = generateStealthAddress(metaAddress)

Reference: Stealth Addresses


A systematic analysis of potential attacks and mitigations. SIP’s threat model covers privacy, integrity, and availability threats.

Reference: Threat Model

A transaction without privacy enhancements. SIP’s TRANSPARENT privacy level provides no hiding.


An address format that encapsulates multiple address types (transparent, shielded). Used in Zcash to simplify user experience.

Unspent Transaction Output — a transaction model where outputs are discrete units that are fully spent. Bitcoin uses UTXO; Ethereum uses accounts.


A zero-knowledge proof demonstrating that an intent is properly authorized without revealing the authorizing identity.

Reference: Validity Proof Specification

A key enabling selective disclosure of transaction details. Derived hierarchically for scoped access.

const viewingKey = deriveViewingKey(masterKey, 'auditor/2024/q1')
// Auditor can decrypt: sender, amount, recipient
// Cannot spend funds

Reference: Viewing Keys


An interface layer between SIP SDK and wallet software. Enables SIP to work with various wallets.

const adapter = createSolanaAdapter({ provider: window.solana })

Reference: Wallet Adapter Spec


An authenticated encryption algorithm used by SIP for encrypting transaction payloads. Provides both confidentiality and integrity with a 256-bit key.


A cryptocurrency with native shielded transactions. SIP integrates Zcash’s privacy model and can use zcashd for enhanced privacy operations.

Reference: Zcash Integration

A cryptographic proof that demonstrates knowledge of information without revealing the information itself. Example: proving you know a password without revealing it.

SIP uses ZKPs for:

  • Funding proofs (balance verification)
  • Validity proofs (authorization)
  • Fulfillment proofs (correct execution)

Zcash Improvement Proposal for transaction fee structure. SIP’s Zcash integration follows ZIP-317 fee calculation.

Formula: fee = marginal_fee × max(grace_actions, logical_actions)