Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.
Jawaban langsung
Light client adalah perangkat lunak verifikasi yang mengikuti blockchain dengan lebih sedikit eksekusi, state, dan riwayat lokal daripada node penuh. Light node adalah perangkat atau proses yang menjalankan perangkat lunak tersebut. Pada Ethereum proof-of-stake, light client konsensus melakukan bootstrap dari checkpoint final terbaru yang tepercaya, lalu memverifikasi pembaruan sync committee secara sadar fork untuk memelihara header optimistis dan header final. Light client tidak menjalankan ulang setiap transaksi EVM.
Tampilan konsensus terverifikasi itu baru merupakan jangkar kepercayaan pertama. Untuk memverifikasi nilai akun atau storage kontrak, client harus menghubungkan beacon header yang diautentikasi dengan execution payload header, memilih stateRoot miliknya, lalu memverifikasi proof akun atau storage terhadap root tersebut. Respons RPC biasa tanpa proof yang diperlukan tetap merupakan pernyataan penyedia. Tanda tangan konsensus tidak otomatis membuktikan riwayat transaksi, receipt, trace, ketersediaan data, perilaku aplikasi, atau keterambilan jangka panjang.
Cara kerja
- Tetapkan jaringan dan root kepercayaan: identitas chain, genesis validators root dan waktunya, jadwal fork dan preset, jam saat ini, versi client, serta checkpoint weak subjectivity terbaru yang tepercaya dan final. Cocokkan checkpoint melalui sumber independen yang diautentikasi; kesepakatan peer tidak dapat memperbaiki root awal yang berbahaya.
- Ambil
LightClientBootstrapuntuk trusted block root. Verifikasi bootstrap header, sync committee saat ini, dan Merkle branch-nya, lalu inisialisasiLightClientStore. Tolak chain, fork digest, generalized index, atau skema serialisasi yang tidak cocok dengan fork yang dikonfigurasi. - Proses objek
LightClientUpdatemenurut periode sync committee. Sebelum merotasi committee, verifikasi slot, bit partisipasi, tanda tangan agregat BLS beserta domainnya, branch committee saat ini dan berikutnya, finality branch, serta monotonicity. Upgrade fork dapat mengubah field objek dan generalized index, jadi konstanta Altair bukan nilai universal permanen. - Pelihara kebijakan terpisah untuk
optimistic_headerdanfinalized_header. Pembaruan optimistis dapat memberi informasi yang lebih baru dengan eksposur reorganisasi atau withholding lebih besar; pembaruan final memiliki status konsensus lebih kuat tetapi dapat tertinggal. Aplikasi harus memilih header yang tepat secara eksplisit, bukan melabeli respons terbaru sebagai final. - Jangkarkan data eksekusi. Verifikasi execution payload header dan branch yang dibawa oleh light-client header terautentikasi, lalu ikat setiap kueri akun atau storage ke execution
stateRoot, hash blok, dan status finalitasnya. Pada Ethereum,eth_getProofdapat mengembalikan proof akun dan proof storage yang diminta; verifikasi node, path, nilai, dan nonexistence secara lokal. - Inventarisasi setiap permukaan yang belum diverifikasi. Proof saldo tidak mengautentikasi receipt transaksi, kueri log, trace, simulasi call, mempool, label token, oracle, blob, rentang historis, atau klaim penyedia bahwa tidak ada hasil yang dihilangkan. Tetapkan proof, rekonstruksi independen, fallback node penuh, atau asumsi kepercayaan eksplisit untuk setiap objek yang dibutuhkan.
- Operasikan secara fail-closed. Catat checkpoint, fork, root optimistis dan final, blok eksekusi dan state root, node proof, penyedia, serta timestamp. Terapkan batas staleness, diversifikasikan penyedia dan jalur jaringan, lindungi privasi kueri, uji pemulihan dari eclipse dan outage, serta gunakan node penuh atau sistem verifikasi lain jika cakupan proof light client tidak memadai.
Contoh terhitung
- Batas integer sync committee. Untuk committee beranggotakan
512, pengujian supermajority pada spesifikasi adalahparticipants * 3 >= 512 * 2. Dengan341peserta,341 / 512 = 66.6015625%dan1,023 < 1,024, sehingga pengujian gagal. Dengan342,342 / 512 = 66.796875%dan1,026 >= 1,024, sehingga lolos. Ini memverifikasi aturan pembaruan yang dikonfigurasi, bukan membuktikan bahwa setiap anggota committee atau implementasi jujur. - Waktu header. Checkpoint ilustratif berada pada slot
10,000, attested header pada10,064, dan finalized header-nya pada10,032. Dengan12 seconds/slot, attested header muncul64 * 12 = 768 seconds = 12 minutes 48 secondssetelah checkpoint, sedangkan finalitas tertinggal dari attested header sebesar32 * 12 = 384 seconds = 6 minutes 24 seconds. Waktu slot tidak menjamin pengiriman jaringan atau finalitas dengan SLA waktu tetap. - Branch ringkas, klaim sempit. Dalam tree ideal seimbang dengan
2^20leaf, branch untuk satu leaf memiliki20sibling hash. Dengan32 bytes/hash, ukurannya640 bytes; dibandingkan objek8 MiB = 8,388,608 bytes, branch hanya0.00762939453125%dari ukuran tersebut, atau pengurangan99.99237060546875%. Branch hanya membuktikan hubungan leaf ke root, bukan ketersediaan byte lainnya. - Proof versus RPC tanpa proof. Pada execution
stateRootyang final, proof akun terverifikasi menghasilkan3.25 ETH, sedangkan respons RPC tanpa proof menyatakan3.30 ETH. Selisihnya0.05 ETH, dan respons tanpa proof lebih tinggi0.05 / 3.30 = 1.5151515152%. Terima nilai yang dibuktikan di bawah root terpilih, tetapi jangan menyimpulkan saldo yang lebih baru, receipt, hasil historis, atau identitas token dari proof tersebut.
Risiko
- Mengonfigurasi chain, genesis validators root, genesis time, atau preset yang salah.
- Melakukan bootstrap dari checkpoint berbahaya, stale, atau belum final.
- Menggunakan satu sumber checkpoint tanpa autentikasi atau menerima long-range fork.
- Penyimpangan jam lokal yang menghasilkan slot, periode, domain, atau keputusan staleness yang salah.
- Menjalankan jadwal fork, skema objek, atau generalized index yang usang.
- Gagal memvalidasi partisipasi sync committee, tanda tangan BLS, atau domain.
- Melewatkan rotasi committee atau menerima committee saat ini maupun berikutnya yang tidak valid.
- Memperlakukan header optimistis sebagai header final.
- Menghubungkan beacon header, execution payload, atau hash blok eksekusi yang salah.
- Memverifikasi proof akun atau storage terhadap
stateRootyang salah. - Menerima node trie, path, encoding, atau nonexistence proof yang malformed.
- Memperlakukan metode RPC yang tidak didukung atau tanpa proof sebagai terverifikasi.
- Menerima respons penyedia yang stale, disensor, tidak lengkap, atau direkayasa.
- Serangan eclipse, Sybil, atau kegagalan kendali bersama pada penyedia yang tampak berbeda.
- Kehilangan liveness ketika node penuh pemberi proof melakukan pruning atau berhenti melayani data.
- Mengacaukan validitas konsensus dengan replay eksekusi atau kebenaran aplikasi.
- Mengacaukan proof valid dengan ketersediaan data atau keterambilan permanen.
- Tidak memiliki receipt, log, trace, body, atau riwayat yang diperlukan aplikasi.
- Kegagalan implementasi client, dependensi, binary, atau upgrade fork.
- Kebocoran privasi kueri, IP, akun, dan transaksi kepada penyedia atau peer.
Kesalahpahaman umum
- Light client hanyalah node penuh yang lebih kecil atau nama lain untuk endpoint RPC jarak jauh.
- Sync-committee header yang terverifikasi membuat setiap respons RPC dapat dipercaya.
- Header optimistis terbaru setara dengan header final.
- Merkle proof atau tanda tangan konsensus membuktikan ketersediaan data dan riwayat yang lengkap.
- Menggunakan light client otomatis memberi privasi, liveness, dan ketahanan sensor setara node penuh.
Topik terkait
Sumber
- Light clients - Ethereum.org (diakses: 2026-08-13)
- Altair Light Client – Sync Protocol - Ethereum Consensus Specs (diakses: 2026-08-13)
- Altair Light Client – Light Client - Ethereum Consensus Specs (diakses: 2026-08-13)
- Electra Light Client – Sync Protocol - Ethereum Consensus Specs (diakses: 2026-08-13)
- Weak subjectivity - Ethereum.org (diakses: 2026-08-13)
- eth_getProof - Ethereum Execution APIs (diakses: 2026-08-13)
- Merkle Patricia Trie - Ethereum.org (diakses: 2026-08-13)
- Data availability - Ethereum.org (diakses: 2026-08-13)