<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Verification — tagged coverage - FogChain</title>
	<atom:link href="https://www.fogment.com/tags/verification/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.fogment.com/tags/verification/</link>
	<description>Blockchain news, exchange data and press releases — independently verified.</description>
	<lastBuildDate>Wed, 28 Oct 2026 01:28:00 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>

<image>
	<url>https://www.fogment.com/wp-content/uploads/2026/10/cropped-39cb25f161f59e8c-raccoon-6-32x32.png</url>
	<title>Verification — tagged coverage - FogChain</title>
	<link>https://www.fogment.com/tags/verification/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Light Clients: Verifying Without the Whole Chain</title>
		<link>https://www.fogment.com/light-clients/</link>
					<comments>https://www.fogment.com/light-clients/#respond</comments>
		
		<dc:creator><![CDATA[]]></dc:creator>
		<pubDate>Wed, 28 Oct 2026 01:28:00 +0000</pubDate>
				<category><![CDATA[Blockchain]]></category>
		<category><![CDATA[blockchain]]></category>
		<category><![CDATA[Data Availability]]></category>
		<category><![CDATA[Eclipse Attack]]></category>
		<category><![CDATA[Header Sync]]></category>
		<category><![CDATA[Light Client]]></category>
		<category><![CDATA[Merkle Proofs]]></category>
		<category><![CDATA[Node Types]]></category>
		<category><![CDATA[Self Custody]]></category>
		<category><![CDATA[Sync Committee]]></category>
		<category><![CDATA[Verification]]></category>
		<guid isPermaLink="false">https://www.fogment.com/?p=209815</guid>

					<description><![CDATA[<p>A light client verifies the chain without downloading it. It follows block headers, checks that the consensus rules were followed, and asks a peer for the specific state it needs [&#8230;]</p>
<p>The post <a href="https://www.fogment.com/light-clients/">Light Clients: Verifying Without the Whole Chain</a> appeared first on <a href="https://www.fogment.com">FogChain</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>A light client verifies the chain without downloading it. It follows block headers, checks that the consensus rules were followed, and asks a peer for the specific state it needs — then tests the answer against a proof instead of accepting it.</p>
<p>The point of a light client is not speed. It is that the question &#8220;what is my balance&#8221; arrives with evidence attached, and that a hostile peer cannot answer with a comfortable lie. Most wallets skip this layer entirely and render whatever a remote RPC endpoint returns, which is why the distinction is worth understanding even if you never run one yourself.</p>
<ul>
<li><strong>Headers plus proofs is the whole design.</strong> The client verifies the chain&#8217;s skeleton, then proves each answer against a root it already trusts.</li>
<li><strong>It cannot be more certain than the consensus rule it follows.</strong> Finality assumptions are inherited, not improved.</li>
<li><strong>The weak point is the peer, not the proof.</strong> One honest peer is enough; a single unchecked one is not.</li>
<li><strong>Bandwidth is measured in kilobytes, not gigabytes.</strong> The trade is storage for latency and a dependency on whoever serves the data.</li>
</ul>
<h2>What a light client actually verifies</h2>
<p>It verifies two things: that the header chain obeys the consensus rules, and that any state it reads belongs to a block inside that chain. Execution, ordering, and the full account set are delegated, and checked indirectly if at all.</p>
<h3>Headers and consensus</h3>
<p>In a proof-of-stake network, a header is not self-evidently valid. It carries a signature from the validator set, which can number in the hundreds of thousands — far too many to check on a phone. The usual solution is a rotating committee whose aggregate signature is cheap to verify, rotating so that no single committee can sign an alternative history unnoticed.</p>
<p>That design has a cost: to start, the client needs one checkpoint it accepts on faith. Everything after it is verified cryptographically; the starting point is not. That is why checkpoint selection is a social process, and why a stale checkpoint is a real weakness.</p>
<h3>Proofs for the state you ask for</h3>
<p>A balance is not stored in the header. It lives in a tree whose root is in the header, and a peer answering &#8220;you have 4.2 tokens&#8221; must supply the sibling hashes that connect your account to that root. The client hashes the leaf, folds in each sibling, and compares the result to the root it already trusts.</p>
<p>The arithmetic is modest. A tree holding roughly a trillion leaves is about 40 levels deep, so a proof is roughly 40 hashes of 32 bytes — on the order of 1.3 kilobytes. That is the whole reason the design exists: the prover works in proportion to the state, the verifier in proportion to its logarithm.</p>
<h2>Where a light client stops verifying</h2>
<p>It proves inclusion, not correctness. The client can show a transaction is in a block, but not that the state transition producing the following state was legal.</p>
<p>On optimistic rollups this gap is closed by fraud proofs, so the client must know the challenge window and treat recent blocks as provisional. On systems with validity proofs the proof closes it directly, at the cost of verifying something larger than a Merkle branch. Either way the guarantee is layered: one mechanism says &#8220;this block happened&#8221;, another says &#8220;it was allowed to happen&#8221;.</p>
<h3>Three failure modes worth naming</h3>
<ul>
<li><strong>Eclipse.</strong> Every peer is controlled by one party, so the network view is fabricated. Defences are peer diversity, hard-coded bootstraps, and a second source to cross-check.</li>
<li><strong>Data withholding.</strong> A header is valid but the body never appears. Sampling schemes address this by fetching small random pieces and accepting a block only when all of them are retrievable.</li>
<li><strong>Long-range revisions.</strong> An attacker rebuilds history from a checkpoint older than yours. The defence is a recent, socially agreed checkpoint rather than one from last year.</li>
</ul>
<h2>Light client, full node, and RPC compared</h2>
<p>The useful question is not &#8220;which is best&#8221; but &#8220;what does each one check for you&#8221;. Storage figures depend on the client, the chain, and whether pruning is on.</p>
<div class="fog-table not-prose my-6 overflow-x-auto rounded-2xl border border-ink-200/70 bg-surface" data-fog-table><table>
<thead>
<tr>
<th>Setup</th>
<th>What it verifies itself</th>
<th>Storage and bandwidth</th>
<th>Residual trust</th>
</tr>
</thead>
<tbody>
<tr>
<td>Full node</td>
<td>Every block and every transaction, from genesis or a trusted snapshot</td>
<td>Hundreds of gigabytes; continuous download</td>
<td>Its own software and hardware</td>
</tr>
<tr>
<td>Archive node</td>
<td>Everything a full node does, plus all historical state</td>
<td>Multiple terabytes</td>
<td>Same as a full node</td>
</tr>
<tr>
<td>Light client</td>
<td>Headers, committee signatures, and the proofs for state it reads</td>
<td>Megabytes per year in the common case</td>
<td>One honest peer and one correct checkpoint</td>
</tr>
<tr>
<td>Remote RPC endpoint</td>
<td>Nothing; it renders answers</td>
<td>Negligible</td>
<td>The operator, entirely</td>
</tr>
</tbody>
</table></div>
<blockquote><p>A light client does not make you trustless. It narrows the surface from &#8220;every answer they give me&#8221; to &#8220;one checkpoint and at least one honest peer&#8221; — a large improvement, and not the same thing as zero.</p></blockquote>
<h2>What the bandwidth difference looks like</h2>
<p>The savings are easy to overstate, so do the arithmetic. Take a committee of 512 validators. Each public key is 48 bytes, so the key material alone is 512 × 48 = 24,576 bytes. Add an aggregate signature of 96 bytes and a header of roughly 112 bytes, and one committee update is about 24.8 kilobytes. If committees rotate once per period of 98,304 seconds — 256 epochs of 32 slots at 12 seconds each, or about 27.3 hours — then a day contains 86,400 ÷ 98,304 ≈ 0.88 updates.</p>
<p>That is roughly 21.8 kilobytes per day, or about 8 megabytes per year, for the header chain alone. A full node syncing the same period downloads blocks, receipts, and state, which in practice runs to hundreds of gigabytes — closer to five orders of magnitude apart, and the reason a light client fits in a browser tab.</p>
<p>The catch is &#8220;header chain alone&#8221;. As soon as the client wants a receipt, a storage slot, or a log, it pays for proofs on top, and those costs scale with how much it asks rather than with how much the chain holds.</p>
<h2>Running a light client without fooling yourself</h2>
<p>Configuration decides whether the guarantee holds, and defaults usually favour convenience over verification.</p>
<ol>
<li>Pin a checkpoint from a source you trust, and note its height so you can tell when it goes stale.</li>
<li>Point the client at several peers across different operators, so one eclipse does not become your whole view.</li>
<li>Confirm it verifies proofs instead of falling back to a trusted RPC when a proof fails — fallback is where these setups quietly degrade.</li>
<li>Check sync status before reading a balance; an unverified head is a cached number.</li>
<li>Watch checkpoint age. A client with no recent committee update is not following the chain, whatever its interface claims.</li>
<li>Log the peer set and re-check it after a network change, since a one-peer client keeps working while telling you nothing.</li>
</ol>
<p>The post <a href="https://www.fogment.com/light-clients/">Light Clients: Verifying Without the Whole Chain</a> appeared first on <a href="https://www.fogment.com">FogChain</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.fogment.com/light-clients/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
