# Prerequisites

{% hint style="info" %}
[**Book an audit with Zokyo**](https://www.zokyo.io/)
{% endhint %}

{% hint style="info" %}
**Understanding the Prerequisites for Zero-Knowledge Proofs in Blockchain:** Before diving into the vast ocean of zero-knowledge proofs (ZKPs) and their underlying complexity, it's crucial to be equipped with a foundational understanding of certain concepts. This checklist showcases the primary areas that will pave the way for a more enlightening journey through the tutorial. If some areas seem unfamiliar, don't fret. This guide is structured to reinforce your existing knowledge while bridging any knowledge gaps, ensuring a smooth and layered learning experience. Remember, the journey of a thousand miles begins with a single step.
{% endhint %}

To maximize your experience from this tutorial, a foundational understanding of the following areas is suggested:

* **Blockchain Fundamentals:** Familiarize yourself with the elementary aspects of blockchain technology. This includes understanding distributed ledgers, the essence of decentralization, and consensus algorithms. Grasping how data gets recorded and validated on a blockchain will set the stage.
* **Cryptographic Techniques:** Since ZKPs are rooted in cryptography, having a basic understanding of cryptographic techniques, such as hashing and digital signatures, will be beneficial.
* **Ethereum (or your chosen blockchain platform):** As ZKPs can be implemented on platforms like Ethereum, acquaint yourself with its architecture and the Ethereum Virtual Machine (EVM). A grasp of how Ethereum transactions work, especially concerning gas and transaction fees, will be advantageous.
* **Mathematical Foundations:** Zero-knowledge proofs have a strong foundation in mathematics. While advanced mathematics will be broken down in the tutorial, a basic understanding of algebra, number theory, and polynomial equations can be helpful.
* **Interactive Protocols:** ZKPs often involve interactive protocols between a prover and verifier. Being familiar with the general concept of interactive proofs, even if not specifically zero-knowledge, can offer valuable context.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://zokyo-auditing-tutorials.gitbook.io/zokyo-tutorials/tutorial-16-zero-knowledge-zk/prerequisites.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
