Securing light clients in blockchain with DLCP
Abstract: In blockchain, full nodes (FNs) are peers that store and verify entire chains of transactions. In contrast, light clients (LCs) are those with limited resources, and for this reason, they request only block headers from FNs for transaction verification—using protocols like Simple Payment Verification (SPV). In an approach to prevent FN tampering on transaction verification (byzantine fault), LCs request block headers from multiple FNs and compare received responses. One problem with this approach is that an LC must connect to each FN and perform the same cryptographic operations with each one repeatedly, which leads to client-side complexity and slower response. We propose an alternate approach to tackle this issue, in which LCs can encrypt a request for block headers only once, and send that request to a predetermined set of FNs to access, process, and reply back in a single response. Our approach, called Distributed Lightweight Client Protocol (DLCP), enables LCs to verify with little effort if FNs have agreed on a response. From an experimental evaluation, we observed that DLCP provided lower latency and reduced computing and communication overhead in comparison with the existing conventional approach.