You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,7 +14,7 @@ SlimNode treats historical block files as what they are: immutable, rarely-acces
14
14
15
15
**Trustless.** Fetched block data is verified by Bitcoin Core's own mechanisms: proof-of-work validation and block hash comparison on every read. A malicious or corrupted server cannot cause silent data corruption.
16
16
17
-
**Implementation-agnostic.** SlimNode works with Bitcoin Core, Bitcoin Knots, and any other implementation that supports `-blocksdir` and the standard block file format. The choice of software is entirely yours.
17
+
**Implementation-agnostic.** SlimNode works with Bitcoin Core, Bitcoin Knots, and any other implementation that supports `-blocksdir` and the standard block file format.
18
18
19
19
For the full design rationale, trust model, privacy considerations, and Q&A, see [idea](docs/idea.md).
Copy file name to clipboardExpand all lines: docs/idea.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,9 +44,9 @@ For reference, a standard full node today requires 920 GB and grows indefinitely
44
44
45
45
Running a self-contained full node — all data stored locally, no external dependencies — is always the ideal. You depend on no one, have instant access to all historical data, and impose no trust assumptions on anyone. If you can afford 1–2 TB of fast storage, that is the right path.
46
46
47
-
SlimNode is for everyone else: someone setting up their first node on a modest machine, a user on a tight budget, or a person who wants to participate in Bitcoin's security model before committing to a full hardware upgrade. Block validation on a SlimNode is still full validation — every transaction, every signature, every block — the only trade-off is that historical block retrieval depends on an archive server.
47
+
SlimNode is for everyone else: someone setting up their first node on a modest machine, a user on a tight budget, or someone who wants to run a full node without buying 2 TB of storage upfront. Block validation on a SlimNode is still full validation — every transaction, every signature, every block — the only trade-off is that historical block retrieval depends on an archive server.
48
48
49
-
The intended trajectory: run SlimNode now, learn how Bitcoin nodes work, and migrate to a fully self-contained node when hardware costs allow. SlimNode is a bridge, not a destination.
49
+
The idea is to run SlimNode now, learn how Bitcoin nodes work, and move to a standard full node when storage gets cheaper.
50
50
51
51
## Compatible With Any Bitcoin Core-Compatible Implementation
52
52
@@ -56,7 +56,7 @@ SlimNode operates entirely at the filesystem layer — it has no knowledge of wh
56
56
-**Bitcoin Knots**
57
57
- Any other implementation that uses `-blocksdir` and the standard block file format
58
58
59
-
The choice of implementation is entirely yours. SlimNode takes no position.
59
+
SlimNode doesn't care which one you run.
60
60
61
61
## Who Provides the Archive?
62
62
@@ -93,7 +93,7 @@ If the archive server provides corrupted or tampered data, Bitcoin Core rejects
93
93
| Tamper with historical block data | ❌ | Block hash changes → rejected immediately |
94
94
| Deny service (serve garbage data) | ⚠️ | Falls back to "block unavailable" — same as a pruned node. Switch servers. |
95
95
96
-
The key point: **if an attacker tampers with archive data, you will know**. And there is little incentive to try — the UTXO set (the source of truth for balances) lives locally and cannot be influenced by the archive server.
96
+
**If an attacker tampers with archive data, you will know.** And there is little incentive to try — the UTXO set (the source of truth for balances) lives locally and cannot be influenced by the archive server.
97
97
98
98
### How does verification work during initial setup?
99
99
@@ -109,7 +109,7 @@ No. Light clients (SPV wallets) do not validate transactions — they rely on th
109
109
110
110
SlimNode fetches block data at the individual block level using blockmaps, not as complete 128 MB file units. The archive server can observe which block files are accessed, but not which specific transactions or addresses you care about — a single block file contains thousands of transactions from many users.
111
111
112
-
Unlike Neutrino (BIP157/158), SlimNode is not a light client — it runs full validation. The privacy tradeoff is that the archive server can see which block-level ranges are requested, but this requires no changes to the Bitcoin protocol or P2P layer.
112
+
The server can see which byte ranges are requested per file. No protocol or P2P changes required.
113
113
114
114
### What if the archive server goes down?
115
115
@@ -134,8 +134,8 @@ They address different problems and are complementary.
134
134
135
135
Bitcoin's block integrity rests on a chain of Merkle commitments: each block header contains a Merkle root that commits to every transaction in that block. Altering a single transaction changes the Merkle root, which changes the block hash, which invalidates the proof-of-work. SlimNode's trust model is built entirely on this existing structure — no new cryptography, no new protocol.
136
136
137
-
Utreexo applies a similar idea to the UTXO set: instead of storing the full set (~10 GB), a node keeps a compact accumulator (~1 KB) that can prove any coin's existence with a Merkle inclusion proof. It is a genuinely elegant approach to a real problem — chainstate storage — but it requires nodes to exchange those proofs over a new P2P sub-protocol, which means changes to node software and gradual network adoption.
137
+
Utreexo applies a similar idea to the UTXO set: instead of storing the full set (~10 GB), a node keeps a compact accumulator (~1 KB) that can prove any coin's existence with a Merkle inclusion proof. It is an elegant approach to a real problem — chainstate storage — but it requires nodes to exchange those proofs over a new P2P sub-protocol, which means changes to node software and gradual network adoption.
138
138
139
139
SlimNode targets a different constraint: block archive storage (~720 GB of `blk*.dat` files), not chainstate storage. It requires no changes to the Bitcoin protocol, no cooperation from peers, and works today with any standard node using only the existing `-blocksdir` flag.
140
140
141
-
The two approaches are not in competition. A future node could use Utreexo for a compact UTXO set and SlimNode for the block archive simultaneously.
141
+
They can coexist — a future node could use Utreexo for a compact UTXO set and SlimNode for the block archive.
0 commit comments