When Lightning STARKs

Scaling Payments with STARKs

StarkWare
StarkWare
Mar 4 · 9 min read
Photo by Cade Roberts on Unsplash

And now, for something completely different (M. Python)

StarkPay

StarkPay aims to offer a scalable capital-efficient non-custodial payment solution, with no liveness requirements.

Building Blocks

StarkPay includes off-chain and on-chain building blocks.

  • Payers’ balances tree: these are updated by the Prover, and their availability is ensured (see further discussion below).
  • Prover, which generates STARK proofs attesting to the validity of batches of payments provided by the Payment Processor, and to the validity of the update to the Payers’ balances.
  • A verifier contract, which verifies proofs generated by the Prover, and communicates with the payment contract.
  • The Payment Processor sends a batch of payments, including Alice’s payment, to the Prover.
  • The Prover generates a STARK proof attesting to the validity of the payments in the batch and to the validity of the update to the balances: it checks digital signatures, and verifies that the Payer has sufficient funds, and then updates the balances commitment (e.g. a Merkle root).
  • The Prover sends the proof, and the new commitment to the verifier contract on-chain. Once the proof is verified, the verifier sends the payment contract the new commitment, which it keeps in on-chain storage (as stated above).

Advantages

We believe this system architecture provides the intended advantages:

Disadvantages

StarkPay has some notable disadvantages:

  • One possible future direction for off-chaining data: form a federation of data availability witnesses who sign that for a given proof presented to the on-chain verifier, data was available off-chain. The on-chain verifier will not accept proofs that lack this attestation. It is important to note that the federation is not entrusted with guaranteeing the validity of the state of the system — they cannot steal money, nor can they transition the system to an invalid state.
    This federation will later be phased out in favor of a more decentralized solution.
  • Censorship: STARKs can be used to also provide privacy on top of StarkPay. In particular, Payers could shield their payments even with respect to the Prover itself! The computational statement proven by the Prover would then be that it verified a batch of proofs of individual payments received from Payers.

StarkWare

Developing the Full Proof Stack for STARK

StarkWare

Written by

StarkWare

bringing scalability and privacy to a blockchain near you

StarkWare

StarkWare

Developing the Full Proof Stack for STARK