casper-network / casper-network/roadmap

Light Client

Open
#66 0 comments 0 reactions 2 assignees Claimed by @xcthulhu View on GitHub
Epic P2
Dominant language
No language data
Stars
12
Forks
2
PR merge metrics
No merged PRs in 30d

Description

## What is a Light client?
(from Tendermint specs)

> A light client is a lightweight (hence the name) alternative to a full node. Full nodes often are resource-heavy because they execute transactions and verify results (and do a lot of other stuff). Light clients, on the opposite, have low resource requirements since they only verify results (without executing transactions). Full nodes often store a lot of data (blocks, transaction results, etc.). Light clients only store a few latest headers.
> A light client is a client, which connects to a full node, requests new block headers, and verifies that those headers can be trusted.
>
> Light clients are assumed to be initialized once from a trusted source with a trusted header and validator set. The light client protocol allows a client to then securely update its trusted state by requesting and verifying a minimal set of data from a network of full nodes (at least one of which is correct).

[source](https://github.com/tendermint/spec/blob/master/spec/light-client/README.md#light-client-specification)

(from Solana docs)

>
> A ‘light client’ is a cluster participant that does not itself run a validator. This light client would provide a level of security greater than trusting a remote validator, without requiring the light client to spend a lot of resources verifying the ledger.
>
> Rather than providing transaction signatures directly to a light client, the validator instead generates a Merkle Proof from the transaction of interest to the root of a Merkle Tree of all transactions in the including block. This Merkle Root is stored in a ledger entry which is voted on by validators, providing it consensus legitimacy.
>

[source](https://docs.solana.com/proposals/simple-payment-and-state-verification#light-clients)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.