BTA CBSP flashcards
BTA CBSP · Build recall with a focused review session.
32 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Immutability trade-off
- Appended blockchain data resists tampering, but errors and malicious transactions cannot be simply deleted. Remediation relies on compensating controls, contract logic, or coordinated forks.
- Private key compromise
- An attacker holding a private key can sign arbitrary transactions as the owner, so the key, not the smart contract, is usually the weakest link.
- Trust boundary in DApps
- Each point where data or control passes between wallet, node, oracle, bridge, or contract is a trust boundary and a candidate attack surface.
- Least privilege on-chain
- Smart contract roles that can mint, pause, or upgrade should be narrowly assigned, time-locked, and multi-signature controlled to limit blast radius.
- Non-repudiation in blockchain
- Digital signatures bind a transaction to a key holder, so the signer cannot credibly deny authorizing it, provided the key was not compromised.
- Merkle root
- A single hash summarizing all transactions in a block. Changing any transaction changes the root, breaking the header hash chain.
- ECDSA nonce reuse
- If the same random nonce signs two different messages, the private key can be computed from the signatures. Unique nonces per signature are mandatory.
- Merkle inclusion proof
- A logarithmic-size path of sibling hashes proving a transaction belongs to a block without downloading every transaction in that block.
- Probabilistic finality
- Proof-of-work chains treat a transaction as increasingly final with each confirmation; deep reorganizations become exponentially less likely but are not impossible.
- Deterministic finality
- BFT-style consensus finalizes a block once a quorum of validators votes; after that, the block cannot be reverted without violating protocol assumptions.
- UTXO versus account model
- UTXO chains track unspent outputs and prevent double-spends by consuming them; account chains track balances and nonces per address.
- Smart contract determinism
- All validating nodes must reach identical results, so contracts cannot depend on randomness, clocks, or external state without an oracle.
- Reentrancy attack
- An external call transfers control to attacker code before state updates complete, allowing repeated withdrawals. Checks-effects-interactions and guards mitigate it.
- Oracle manipulation
- An attacker distorts a price feed, often via flash loans, to trigger mispriced lending, liquidation, or swap logic in dependent contracts.
- Front-running and MEV
- Pending transactions are visible in the mempool, so attackers reorder or sandwich them for profit. Commit-reveal and private relays reduce exposure.
- Approval abuse
- Users sign token allowances that remain active; a malicious or compromised spender can later drain the approved balance until the allowance is revoked.
- Eclipse attack
- An attacker isolates a node from honest peers and feeds it a false view of the chain, enabling double-spends or misleading the node operator.
- Bridge attack surface
- Cross-chain bridges verify messages, deposits, and validator signatures; flaws in verification or key compromise can drain locked assets.
- Integer overflow
- Arithmetic exceeding a type's range wraps to an unexpected value. Solidity 0.8 checks by default; unchecked blocks reintroduce the risk.
- Checks-effects-interactions
- A coding pattern that validates inputs, updates state, then performs external calls last, preventing reentrancy from observing stale state.
- Pull-payment pattern
- Contracts credit balances and let users withdraw themselves rather than pushing funds in loops, avoiding denial of service and reentrancy.
- Reentrancy guard
- A mutex flag that blocks re-entry into a function while an external call is in progress, preventing recursive withdrawal exploits.
- Formal verification
- Mathematical proof that code satisfies specified properties. It complements, but does not replace, audits, fuzzing, and static analysis.
- Fuzzing smart contracts
- Automated testing feeds random or mutated inputs to find crashes and invariant violations, often more effective than hand-written unit tests alone.
- Software supply chain security
- Pinning dependency versions, verifying builds, and restricting CI/CD secrets prevent attackers from injecting malicious code into deployed contracts.
- Circuit breaker
- A contract control that halts or limits operations when anomalous conditions appear, giving responders time to investigate before further loss.
- Bug bounty program
- A structured reward scheme for responsible disclosure that surfaces vulnerabilities before adversaries exploit them, complementing internal testing.
- Incident response phases
- Preparation, detection and analysis, containment, eradication, recovery, and lessons learned form the standard lifecycle for handling security incidents.
- Key compromise containment
- Respond by pausing contracts, revoking approvals, moving remaining funds to a safe wallet, and notifying counterparties before attackers drain assets.
- Forensic evidence preservation
- Logs, transaction hashes, and node data must be captured with documented chain of custody to support investigation, insurance, and legal action.
- AML and sanctions screening
- Regulated entities must identify customers and screen addresses against sanctions lists; obligations vary by jurisdiction and business model.
- Third-party risk assessment
- Auditors, custodians, cloud providers, and bridges should be evaluated for security posture and bound by contractual protections before reliance.