ZK-systemen hebben twee componenten: provers en verifiers. Bewijzen is computationeel duur (vroeger duurde het dagen, nu seconden). Verifiëren is goedkoop op smart contract ketens, maar onbetaalbaar duur op Bitcoin in zijn geheel. De innovatie: het mogelijk maken van ZK-verificatie op Bitcoin via garbled circuits, waardoor de verifier off-chain wordt gehaald.