# ZKP 취약점 분석

> **"ZK(영지식)는 수학적으로 완벽하다."**

우리는 이 문장에 너무 심취한 나머지, 그 수학을 컴퓨터 위로 옮기는 것이 불완전한 인간이라는 사실을 종종 잊곤 한다. 암호학적 증명이 아무리 완벽해도, 그것을 구현한 코드 한 줄의 실수로 수천억 원이 증발하는 것이 바로 블록체인 씬의 잔혹한 현실이다.

겉보기에는 완벽해 보이는 ZK 시스템 역시 해부해 보면 **Frontend(Circuit)**, **Backend(Proving System)**, 그리고 이 둘을 연결하는 **Integration Layer**라는 세 가지 구성 요소로 이루어진 하나의 기계에 불과하다. 그리고 인간이 조립한 모든 기계에는 예외 없이 틈이 존재한다.

이번 섹션에서는 '수학적 완벽함'이라는 환상을 잠시 내려놓고, 해커들이 실제로 노리는 ZK 시스템의 세 가지 구성 요소—Frontend, Backend, Integration Layer—각각에 숨어 있는 취약점들을 구체적이고 현실적인 관점에서 해부한다.

이는 이론적인 암호학의 문제가 아니라, 실제 공격으로 이어졌고, 지금도 반복되고 있는 엔지니어링의 문제다.


---

# 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://upsidezkp.gitbook.io/upside-zkp-docs/step-5/zkp.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.
