What is it?
The zk-STARK Proof of Reserves (PoR) system leverages STARK theory, a complex mathematical solution. zk-STARK stands for: Zero-Knowledge Scalable Transparent Argument of Knowledge, a cryptographic proof technology based on Vitalik's idea to enforce the integrity and privacy of computations on blockchains. In this article, we'll introduce how it works and explain the general mathematical concept, but if you're interested in diving deeper, start here or here.
Checklist
- How does it work?
- Building constraints: in order to prove the liability of our exchange, we state three claims:
- In the above case, we could calculate a polynomial p(x) from I(x). When we use an extension_factor of 8, we will calculate another 32(8-1)* points on p(x).
- Total balance verification: firstly, we verify the low-degree proof generated in number 5.
- How do I perform self-verification of Proof of Reserves (PoR)?
- How do I verify?
- Get the data you need for manual verification by selecting Copy data
- Download the OKX open-source verification tool zk-STARKValidator
- Open the zk-STARKValidator, it'll auto-run the JSON string file you saved in the folder
- How do I verify?
- Download the OKX open-source verification tool zk-STARKValidator
- Open the zk-STARKValidator, it'll auto-run the sum proof data you saved in the folder
Notes
*Execution trace table and Merkle tree constructed for zk-STARK PoR*
Claim 1: We accumulated every user's values correctly, including the value of each crypto and net value of each user
Claim 2: The exchange has not forged a virtual user whose net value is negative to reduce the total exchange liability (An individual user having negative balances is acceptable only if her/his net value is above 0)
Claim 3: The total value that the exchange claims accounts for every single user, so every user should be able to verify the inclusion of their net value in the total value


Details follow the official OKX help article; this page is a learning checklist, not an official mirror.









