Blockchain Basicsadvancedarticle40 min read

Bằng Chứng Đệ Quy: Bằng Chứng Trong Bằng Chứng | ZK Scaling

Bằng chứng ZK đệ quy giữ kích thước bằng chứng không đổi trong khi bao phủ phép tính không giới hạn — cơ chế đứng sau zk rollup, RISC Zero và zkVM recursion của SP1.

Vietcardano teamTeam

Đội ngũ biên tập VietCardanoCommunity — các chuyên gia blockchain và Cardano, cung cấp nội dung giáo dục và nghiên cứu chuyên sâu cho cộng đồng.

Published 31 tháng 8, 2026Updated 30 tháng 8, 2026

Một bằng chứng ZK đệ quy là lý do khiến một zk rollup có thể phát triển mãi mãi mà bằng chứng của nó không lớn hơn. Bằng chứng bình thường trả lời một câu hỏi. Một bằng chứng đệ quy trả lời câu hỏi: "bằng chứng đó có hợp lệ không?" — rồi gói câu trả lời vào trong một bằng chứng khác. Lặp lại, và một triệu phép tính nén thành một bằng chứng nhỏ bằng con tem mà một chiếc điện thoại thông minh có thể xác minh.

Đây là phiên bản một câu: bằng chứng không tiết lộ kiến thức (zero-knowledge proof) đệ quy cho phép bạn xác minh một chuỗi phép tính bằng cách chứng minh rằng mỗi bằng chứng của bước trước là chính xác — do đó tổng chi phí xác minh luôn không đổi dù có bao nhiêu phép tính xảy ra.

Nếu bạn từng thắc mắc vì sao zk rollup có thể gộp hàng nghìn giao dịch mà bằng chứng Ethereum kiểm tra vẫn nhỏ — hay vì sao các zkVM mới như SP1 và RISC Zero có thể chứng minh chương trình có độ dài tùy ý — thì zk proof đệ quy chính là cơ chế đứng sau tất cả. Bài viết này giải thích đệ quy là gì, vì sao nó quan trọng, và nó hoạt động thế nào — với phép tương tự giúp bạn hiểu rõ ngay.

Ý tưởng bằng chứng đệ quy: Phép tính → Bằng chứng 1 → Bằng chứng 2 → Bằng chứng 3, mỗi lớp chứng minh lớp bên dưới

Hình 1: Bằng Chứng Trong Bằng Chứng — mỗi lớp là một bằng chứng về bằng chứng bên dưới

Vấn Đề Mà Bằng Chứng Thông Thường Không Giải Quyết Được

Một zero-knowledge proof đơn lẻ đã rất ấn tượng: nó cho phép người chứng minh (prover) thuyết phục người xác minh (verifier) rằng một phép tính chạy đúng mà không tiết lộ đầu vào. Bằng chứng nhỏ và việc xác minh nhanh.

Nhưng một bằng chứng bình thường có giới hạn cứng: nó chỉ bao phủ được một phép tính cố định. Nếu phép tính của bạn là một blockchain với 10 triệu khối, một bằng chứng bao phủ toàn bộ sẽ tốn kém khủng khiếp để tạo ra. Và nếu bạn gộp 10.000 giao dịch, bằng chứng phải chạm tới cả 10.000 giao dịch — và lô tiếp theo cần một bằng chứng mới từ đầu.

Hai hệ quả sau đó:

  1. Chi phí xác minh tăng theo kích thước phép tính. Mỗi khối mới, mỗi giao dịch mới, mỗi bước mới nghĩa là verifier phải kiểm tra nhiều hơn.
  2. Bằng chứng không thể kết hợp (compose). Bạn không thể lấy "bằng chứng A hợp lệ" và "bằng chứng B hợp lệ" gộp thành một bằng chứng nói "cả hai đều hợp lệ" — nếu không có cách để các bằng chứng nói về nhau.

Đệ quy loại bỏ cả hai giới hạn này.

Đệ Quy Thực Sự Nghĩa Là Gì

Đệ quy cũng là ý tưởng bạn gặp trong lớp lập trình: một hàm gọi chính nó. Trong ZK, một bằng chứng đệ quy là một bằng chứng có mạch (circuit) xác minh một bằng chứng khác.

Hãy nghĩ về việc verifier làm gì: nó chạy thuật toán xác minh trên một bằng chứng. Thuật toán đó cũng chính là một phép tính. Và phép tính có thể được mã hóa thành circuit. Vì vậy, thay vì một con người — hay một nút Ethereum — chạy việc xác minh, ta có thể xây một circuit chạy việc xác minh, và chứng minh rằng circuit đó chạy đúng.

Giờ đến mẹo: nếu circuit xác minh chạy đúng, thì bằng chứng nó xác minh là hợp lệ. Vậy một bằng chứng về việc xác minh là một bằng chứng về bằng chứng. Một lớp lồng. Và vì circuit xác minh cũng chỉ là một phép tính, bạn có thể bọc nó lại — và lại — nhiều lần.

Cấu trúc zk proof đệ quy trông như sau:

` Computation C → proof π1 = "C ran correctly" → proof π2 = "π1 is valid" (π2 verifies the verifier of π1) → proof π3 = "π2 is valid" (π3 verifies the verifier of π2) → ... indefinitely `

Ở mọi lớp, bằng chứng giữ nguyên kích thước. Bằng chứng của một bằng chứng không lớn hơn bằng chứng mà nó xác minh. Đó chính là phép màu của đệ quy: kích thước giữ nguyên, phạm vi mở rộng không giới hạn.

Đường ống đệ quy: Chương trình → segments → bằng chứng STARK → ghép (chia đôi) → bằng chứng gọn → nén → Ethereum xác minh

Hình 2: Giải Đấu Đệ Quy — các segment được chứng minh song song, rồi ghép như nhánh đấu loại trực tiếp

Vì Sao Điều Này Có Vẻ Bất Khả Thi (Mà Không Phải Vậy)

Có một phản đối tự nhiên: nếu chứng minh một bằng chứng đòi hỏi phải kiểm tra lại toàn bộ bằng chứng trong một circuit, chẳng phải còn tốn công hơn sao? Đúng — cho prover. Đệ quy không làm cho việc chứng minh miễn phí. Nó làm cho việc xác minh không đổi.

Điểm mấu chốt là verifier của một hệ thống proof tốt rẻ hơn nhiều so với prover. Một bằng chứng có thể mất nhiều giờ để tạo nhưng chỉ mất vài mili-giây để kiểm tra. Vậy khi một circuit chạy "xác minh π1", circuit đang thực thi thuật toán xác minh rẻ — chứ không làm lại việc chứng minh đắt tiền.

Đó là lý do đệ quy hoạt động: bạn liên tục chứng minh phần rẻ (xác minh), không bao giờ chứng minh phần đắt (chứng minh).

Còn một điểm tinh tế sâu hơn. Một circuit hoạt động trên các số trong một trường hữu hạn. Việc xác minh π1 dùng số học trong trường F1. Bằng chứng π2 xác minh π1 phải chạy trong một trường tương thích với số học của F1. Nếu hai trường không khớp, bạn không thể lồng nhau. Giải pháp là chu kỳ đường cong elliptic (elliptic curve cycles) — hai đường cong mà trường cơ sở của mỗi đường khớp với trường vô hướng của đường kia, nên một bằng chứng trên đường cong A có thể được xác minh trong circuit trên đường cong B, và ngược lại. Đường cong Pasta của Mina (Tick và Tock) là cặp nổi tiếng nhất.

Giải Đấu: Cách Đệ Quy Ghép Nhiều Bằng Chứng

Cách dùng đệ quy thực tế nhất là ghép (joining). Đây là cấu trúc "nhánh đấu loại trực tiếp kiểu World Cup" được các zkVM dùng:

  1. Chương trình của bạn chạy, tạo ra các segment (khúc của phép tính).
  2. Mỗi segment có bằng chứng riêng — các bằng chứng này có thể tạo ra song song, chia cho nhiều máy hoặc GPU.
  3. Ghép cặp các bằng chứng. Với mỗi cặp, tạo một bằng chứng nói "cả hai bằng chứng này đều hợp lệ." Giờ bạn còn một nửa số bằng chứng.
  4. Lặp lại: ghép cặp tiếp, chia đôi mỗi vòng, cho đến khi còn đúng một bằng chứng.
  5. Bằng chứng duy nhất đó bao phủ toàn bộ chương trình.

Với 128 segments, cần 7 vòng ghép (128 → 64 → 32 → 16 → 8 → 4 → 2 → 1). Cuối cùng, một bằng chứng chứng thực cả 128 segments. Đây chính xác là cách join của RISC Zero và đệ quy của SP1 hoạt động.

Và nếu bằng chứng cuối quá lớn cho gas trên chuỗi — bằng chứng STARK dài hàng trăm kilobyte — có bước compress cuối: một circuit STARK-to-SNARK bọc bằng chứng STARK đệ quy thành một bằng chứng Groth16 gọn mà Ethereum xác minh rẻ.

Đây là lý do zkvm recursion biến "phép tính không giới hạn với kích thước bằng chứng cố định" thành hiện thực: tài liệu RISC Zero mô tả việc chứng minh đệ quy cho phép kích thước phép tính không giới hạn, kích thước bằng chứng không đổi, gộp bằng chứng (aggregation) và kết hợp bằng chứng (composition).

Đệ Quy Mang Lại Gì Cho Rollup

Giờ nối đệ quy với thế giới blockchain bạn thực sự dùng.

Một zk rollup gộp hàng nghìn giao dịch ngoài chuỗi, tạo một bằng chứng hợp lệ, rồi đăng lên Ethereum. Đệ quy khiến việc này rẻ hơn đáng kể theo ba cách:

  1. Xác minh phân bổ (amortized). Ethereum xác minh một bằng chứng nhỏ cho mỗi lô thay vì hàng nghìn. Chi phí gas cố định — nên chi phí L1 cho mỗi giao dịch tiến về 0 khi lô lớn dần. Bằng chứng hợp lệ của StarkEx đã gộp hơn một triệu giao dịch trong một bằng chứng duy nhất.
  2. Bằng chứng của bằng chứng = rollup của rollup. Một bằng chứng đệ quy có thể xác minh bằng chứng của một rollup khác. Điều này cho phép một L2 chứng minh trạng thái của nó, rồi một L3 (hoặc một L2 khác) xác minh bằng chứng đó trong circuit của chính nó. Kết quả là một hệ thống phân cấp rollup nơi lớp nền chỉ kiểm tra gốc.
  3. Chứng minh song song. Đệ quy cho phép các đội ném thêm máy móc vào bài toán: chia lô thành các segment, chứng minh từng cái song song, rồi ghép kết quả. SP1 của Succinct và RISC Zero đều hỗ trợ điều này, với tăng tốc GPU đẩy thời gian chứng minh giảm mạnh.

Không có đệ quy, bằng chứng của một rollup sẽ lớn theo lô — và chi phí đăng tải mỗi giao dịch cuối cùng sẽ phá vỡ nền kinh tế. Đệ quy là thuật toán nén khiến tính khả thi của zk rollup thành hiện thực.

Sự Đánh Đổi Thành Thật

Đệ quy không miễn phí, và một kỹ sư giỏi biết chi phí đã đi đâu.

Sự đánh đổi thành thật: xác minh không đổi cho verifier, chi phí tăng cho prover

Hình 3: Sự Đánh Đổi Thành Thật — xác minh giữ không đổi trong khi chi phí chứng minh tăng

  • Chi phí của prover tăng theo tổng công việc. Mỗi vòng ghép xác minh lại các bằng chứng bên dưới nó. Prover thực tế làm gần bằng tổng của tất cả các lớp xác minh. Với phép tính nhỏ thì không đáng kể; với phép tính khổng lồ thì đó là lý do tồn tại mạng prover và GPU farm.
  • Bộ công cụ (toolchain) phức tạp. Circuit đệ quy khó xây dựng và kiểm toán hơn circuit một lớp. Lỗi trong lớp bọc đệ quy là bề mặt tấn công thực sự.
  • Ràng buộc về trường/đường cong. Bạn phải chọn các đường cong tạo thành một chu kỳ hợp lệ (hoặc dùng folding, vốn tránh hoàn toàn chu kỳ ghép nối). Cách tiếp cận folding của Nova xác minh trạng thái tích lũy theo đại số thay vì theo mật mã, giữ mỗi bước rẻ.

Còn với verifier, chi phí về cơ bản là không đổi — chính là tính chất blockchain cần.

Những Câu Hỏi Thường Gặp Về Bằng Chứng ZK Đệ Quy

Bằng chứng ZK đệ quy là gì trong ngôn ngữ đơn giản?

Một bằng chứng nói "bằng chứng khác này hợp lệ." Vì việc xác minh rẻ, bạn có thể lồng các bằng chứng để bao phủ các phép tính lớn tùy ý với một bằng chứng cuối có kích thước cố định.

Bằng chứng đệ quy khác bằng chứng bình thường thế nào?

Bằng chứng bình thường xác minh một phép tính. Bằng chứng đệ quy xác minh một bằng chứng khác. Một khác biệt đó mở ra kết hợp (composition), gộp (aggregation), và mở rộng không giới hạn.

Vì sao bằng chứng không lớn hơn khi lồng nhau?

Vì mỗi lớp chứng minh việc xác minh của lớp dưới — và xác minh là một phép tính nhỏ, cố định với một bằng chứng nhỏ, cố định. Kích thước không đổi theo thiết kế.

Đệ quy có làm chậm việc chứng minh không?

Tổng chi phí chứng minh đắt hơn (tất cả các lớp cộng lại). Nhưng việc xác minh — điều quan trọng trên chuỗi — vẫn nhanh và không đổi. Đây là sự đánh đổi nền tảng của thiết kế.

Những zkVM nào dùng bằng chứng đệ quy?

RISC Zero (lift/join/compress), Succinct SP1 (STARK recursion + Groth16 wrapping), và Mina (Pickles, xây trên đường cong Pasta) là những ví dụ hàng đầu. zkSync Era, Starknet và Polygon zkEVM cũng dựa vào việc gộp đệ quy ở lớp chứng minh.

Một bằng chứng đệ quy có thể chứng minh các bằng chứng từ hệ thống khác không?

Có — một circuit "wrapper" có thể xác minh bất kỳ hệ thống proof nào có verifier mã hóa được thành circuit. Đó là cách hoạt động của nén STARK-to-SNARK, và là cách các rollup xác minh bằng chứng của nhau (khả năng tương tác chéo giữa các rollup).

Đệ quy có an toàn không?

An ninh quy về các hệ thống proof nền tảng cộng với độ chính xác của circuit bọc đệ quy. Việc xác minh chính thức của lớp bọc (như các dự án như Jolt theo đuổi) là câu trả lời của ngành cho rủi ro đó.

Kết Luận

Một bằng chứng ZK đệ quy là bằng chứng trong bằng chứng — một con búp bê Matryoshka mật mã, nơi mỗi lớp chứng nhận lớp bên dưới nó. Thứ trông như một sự tò mò hóa ra lại là động cơ của việc mở rộng blockchain hiện đại:

  • Xác minh giữ nguyên không đổi bất kể bao nhiêu phép tính đã xảy ra.
  • Các bằng chứng có thể được ghép, như một nhánh đấu loại trực tiếp, để gộp hàng triệu giao dịch.
  • Rollup có thể lồng nhau, nên cả một hệ thống phân cấp mở rộng nằm trên một bằng chứng nhỏ mà chuỗi nền xác minh.

Khi bạn gửi tiền qua một zk rollup và Ethereum xác minh lô trong vài mili-giây, zkvm recursion là lý do điều đó khả thi. Bằng chứng nhỏ vì mọi bằng chứng bên trong nó đều đang chứng minh một bằng chứng khác — xuống tận cùng, tới chính phép tính.


Tham Khảo Nhanh

Thuộc tínhGiá trị
Ý tưởng cốt lõiMột bằng chứng có circuit xác minh một bằng chứng khác
Kích thước bằng chứngKhông đổi bất kể độ dài phép tính
Chi phí xác minh~Không đổi (phân bổ theo giao dịch)
Chi phí proverTăng theo tổng công việc (tất cả các lớp)
Cơ chế chínhGhép (chia đôi theo cặp), folding (Nova/IVC), chu kỳ đường cong
Ví dụ zkVMRISC Zero (lift/join/compress), SP1 (STARK→Groth16), Mina (Pickles)
Dùng trong rollupPhân bổ xác minh L1; rollup của rollup; chứng minh song song
Quy mô lô1M+ giao dịch trong một bằng chứng hợp lệ (StarkEx)
Mẹo về trường sốChu kỳ đường cong (vd. Pasta Tick/Tock) cho phép lồng nhau
Đánh đổiXác minh rẻ, chứng minh đắt, toolchain phức tạp

Tags:

recursive zk proofzk proof recursivezkvm recursion