Distributed-ledger / blockchain architecture in general (engine-agnostic):
when a ledger beats a database, consensus families (PoW/PoS/BFT), L1 vs L2
(rollups, channels, sidechains), permissioned vs permissionless, UTXO vs
account models, and the scalability trilemma. Architect-level, not coin-specific.
USE WHEN: designing/evaluating a blockchain or DLT system in general, "L2",
"rollup", "zk vs optimistic", "PoS vs PoW", "permissioned ledger", "consortium
chain", "UTXO vs account", "do we ev...
Installs into .claude/skills of the current project.
Are you the author of Distributed Ledger?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/claude-dev-suite-distributed-ledger)
---
name: distributed-ledger
description: |
Distributed-ledger / blockchain architecture in general (engine-agnostic):
when a ledger beats a database, consensus families (PoW/PoS/BFT), L1 vs L2
(rollups, channels, sidechains), permissioned vs permissionless, UTXO vs
account models, and the scalability trilemma. Architect-level, not coin-specific.
USE WHEN: designing/evaluating a blockchain or DLT system in general, "L2",
"rollup", "zk vs optimistic", "PoS vs PoW", "permissioned ledger", "consortium
chain", "UTXO vs account", "do we even need a blockchain", token/state design.
DO NOT USE FOR: Bitcoin-specific work (use the `bitcoin/*` skills); raw
consensus internals (use `distributed-consensus`); ordinary app data (use
database / data-intensive skills).
allowed-tools: Read, Grep, Glob
---
# Distributed-Ledger Architecture (general)
Generalizes the Bitcoin-specific `bitcoin/*` skills into engine-agnostic ledger
design. For deep Bitcoin/Lightning specifics, defer to those skills.
## First question: do you actually need a ledger?
A ledger is an **append-only, replicated, tamper-evident** log agreed by
mutually-distrusting parties. Use one only when you genuinely have:
multi-party **lack of trust**, a need for **shared auditable state**, and no
acceptable trusted intermediary. **If a single org controls the data, a normal
(possibly append-only/audited) database is simpler, faster, and cheaper** — most
"blockchain" projects should be databases.
## Consensus family (builds on `distributed-consensus`)
| Family | Sybil resistance | Trade-off |
|--------|------------------|-----------|
| **PoW** | Burn energy | Robust, slow, energy-heavy, probabilistic finality |
| **PoS** | Stake capital | Efficient, fast finality, weak-subjectivity/validator-set concerns |
| **BFT (PBFT/Tendermint)** | Known validator set | Fast deterministic finality, bounded validators → more permissioned |
Permissionless (open validator set) favors PoW/PoS; permissioned/consortium
favors BFT.
## Layering: L1 vs L2
- **L1** = base chain (security + data availability). Scaling it directly hits
the trilemma.
- **L2** moves execution off L1 while inheriting its security:
- **Rollups** post compressed data + proofs to L1. **ZK rollups** (validity
proofs, fast finality, harder to build) vs **optimistic rollups** (fraud
proofs, challenge window/withdrawal delay).
- **State/payment channels** (e.g. Lightning) — off-chain bilateral updates,
on-chain settlement; great for high-frequency payments.
- **Sidechains** — own security, bridged; weaker guarantees.
## Other decisions
- **Permissioned vs permissionless**: trust model + regulatory needs.
- **State model**: **UTXO** (parallelizable, privacy, harder smart contracts) vs
**account** (stateful contracts, simpler, sequential nonces).
- **Trilemma**: decentralization / security / scalability — you optimize two;
L2s are the usual escape valve.
- **Finality**: probabilistic (PoW) vs deterministic/instant (BFT) — affects UX
and bridge safety.
## Guidance
Single trust domain → database. Multi-party, open → permissionless L1 + L2 for
scale. Known consortium → permissioned BFT chain. High-frequency payments →
channels. Always justify the ledger over a database first.