LazyLedger: A Distributed Data Availability Ledger With Client-Side Smart Contracts
We propose LazyLedger, a design for distributed ledgers where the blockchain is optimised for solely ordering and guaranteeing the availability of transactions. Responsibility of executing and validating transactions is shifted to only the clients that have an interest in certain transactions. As the core function of the consensus system of a distributed ledger is to order transactions and ensure their availability, consensus participants do not necessarily need to be concerned with the content of those transactions. This reduces the problem of block verification to data availability verification, which can be achieved probabilistically without downloading the whole block. The amount of resources required to reach consensus can thus be minimised, as transaction validity rules can be decoupled from consensus rules. We also implement and evaluate several example LazyLedger applications, and validate that the workload of clients of specific applications does not significantly increase when the workload of other applications increase.
READ FULL TEXT