Các hệ thống chứng minh không kiến thức (ZKP) yêu cầu cả ‘Người chứng minh’ và ‘Người xác minh’ để xây dựng và xác minh bằng chứng về vấn đề ban đầu bằng cách sử dụng các mạch logic. Với việc áp dụng ngày càng nhiều các giao thức Lớp 2 dựa trên ZKP như zkSync và Scroll cũng như các chuỗi công khai như Filecoin và Aleo dựa trên các nhân chứng giao dịch, kết hợp với số lượng ngày càng tăng của các dự án tiền xu ẩn danh được xây dựng trên ZKP, việc tích hợp ZKP và chuỗi khối trở nên phức tạp. những thách thức về an ninh.
Bài viết này nhằm mục đích xác định các lỗ hổng tiềm ẩn có thể phát sinh từ sự kết hợp giữa ZKP và blockchain từ góc độ bảo mật. Bằng cách đó, nó cung cấp một nguồn tài nguyên quý giá cho các nhóm bảo mật làm việc trong các dự án ZKP.
Ba trụ cột bảo mật của ZK-Proofs: Khái niệm cơ bản
Khi phân tích tính bảo mật của một hệ thống, điều cần thiết trước tiên là kiểm tra các đặc điểm của nó để đảm bảo rằng tất cả các dịch vụ bảo mật đáp ứng các yêu cầu của hệ thống. Một hệ thống chứng minh không có kiến thức phải đáp ứng các thuộc tính đầy đủ, hợp lý và không có kiến thức của chính hệ thống chứng minh đó.

- Tính đầy đủ: Người chứng minh sẽ có thể chứng minh thành công tính đúng đắn của một tuyên bố đúng cho người xác minh.
- Tính đúng đắn: Người chứng minh ác ý không thể đánh lừa người xác minh bằng những tuyên bố sai.
- Không có kiến thức: Người xác minh sẽ không nhận được bất kỳ thông tin nào về dữ liệu từ người châm ngôn trong quá trình xác minh.
Nếu một hệ thống bằng chứng thiếu tính đầy đủ, nó có thể không cung cấp bằng chứng chính xác trong các điều kiện khắc nghiệt, dẫn đến trạng thái từ chối dịch vụ. Nếu hệ thống bằng chứng thiếu tính hợp lý, kẻ tấn công có thể giả mạo bằng chứng hoặc tạo cấu trúc bằng chứng đặc biệt để đánh lừa người xác minh, dẫn đến các sự cố bỏ qua quyền nghiêm trọng.
Nếu hệ thống bằng chứng không có kiến thức không đáp ứng được yêu cầu không có kiến thức, nó có thể làm rò rỉ các tham số ban đầu trong quá trình tương tác, cho phép kẻ tấn công xây dựng bằng chứng tấn công dựa trên dữ liệu bị rò rỉ hoặc gây ra hành vi nguy hiểm của người chứng thực.
Mối quan tâm bảo mật cụ thể liên quan đến bằng chứng ZK là gì?
Đối với các dự án chuỗi khối dựa trên giao thức ZKP, có một số cân nhắc bảo mật quan trọng cần tập trung vào.

Mạch chứng minh kiến thức không
Đảm bảo tính bảo mật, hiệu quả và khả năng mở rộng của mạch ZKP được sử dụng trong một dự án là rất quan trọng. Điều này liên quan đến việc tập trung vào một số lĩnh vực chính, bao gồm thiết kế mạch, triển khai nguyên thủy mật mã và bảo vệ tính ngẫu nhiên. Bằng cách xem xét cẩn thận từng yếu tố này, các nhóm dự án có thể giúp giảm thiểu các lỗ hổng tiềm ẩn và đảm bảo tính mạnh mẽ tổng thể của hệ thống ZKP của họ.
Lỗi thiết kế mạch
Hiện tại, việc phát hiện lỗi trong thiết kế mạch ZKP là một thách thức do thiếu các công cụ đáng tin cậy. Điều này có thể dẫn đến việc đưa ra các lỗi logic trong quá trình thiết kế, do đó có thể làm tổn hại đến các thuộc tính bảo mật của quy trình chứng minh, bao gồm tính đầy đủ, tính hợp lý và kiến thức không.
Ví dụ: trong quá trình nâng cấp Zcash Sapling năm 2018, một lỗ hổng thiết kế mạch đã được xác định có thể cho phép làm giả mã thông báo ZEC không giới hạn. Mặc dù lỗ hổng này không bị khai thác, nhưng nó cho thấy mức độ nghiêm trọng tiềm ẩn của các lỗi thiết kế mạch trong các hệ thống ZKP.
Lỗi triển khai mã hóa nguyên thủy
Tính chính xác và bảo mật của mạch ZKP phụ thuộc rất nhiều vào việc triển khai đúng các nguyên tắc mật mã, bao gồm hàm băm, thuật toán mã hóa, v.v.
Tuy nhiên, ngay cả một lỗi nhỏ trong quá trình triển khai các nguyên tắc này cũng có thể ảnh hưởng đến tính bảo mật của toàn bộ hệ thống bằng chứng.
Vấn đề này không chỉ xảy ra với các hệ thống chống ZKP, bằng chứng là lỗ hổng trong nguyên mẫu xác thực cây Merkle của BNB Chain, dẫn đến thiệt hại 586 triệu USD. Điều quan trọng đối với các nhà phát triển là phải hết sức chú ý đến việc triển khai các nguyên tắc mật mã và thường xuyên kiểm tra mã của họ để đảm bảo tính bảo mật cho hệ thống của họ.
thất bại ngẫu nhiên
Bằng chứng không kiến thức thường dựa vào trình tạo số ngẫu nhiên (RNG) để tạo số ngẫu nhiên. Nếu có vấn đề với quy trình tạo số ngẫu nhiên, nó có thể ảnh hưởng đến tính bảo mật của bằng chứng. Ví dụ: vào năm 2018, nhóm phát triển Dfinity đã phát hiện ra lỗ hổng tạo số ngẫu nhiên trong khi kiểm tra chương trình bảo mật dựa trên zk-SNARK của mình. Lỗ hổng này có thể cho phép kẻ tấn công bẻ khóa các đặc điểm không có kiến thức của mạch với các đầu vào cụ thể.
Bảo mật hợp đồng
Điều này chủ yếu nhằm vào Layer2 hoặc các dự án đồng tiền riêng tư được thực hiện thông qua hợp đồng thông minh. Bảo mật hợp đồng thông minh là hiển nhiên. Ngoài các lỗ hổng phổ biến như truy cập lại, tiêm, tràn và bỏ qua quyền, đối với các dự án ZKP, hợp đồng thông minh đóng một vai trò quan trọng trong chuỗi chéo tài sản và xác minh bằng chứng. Các lỗ hổng trong xác minh thông báo chuỗi chéo và xác minh bằng chứng có thể trực tiếp dẫn đến sự thất bại về độ tin cậy. Ví dụ: đầu năm nay, một lỗ hổng hợp đồng Circo Verify đã được phát hiện, trực tiếp dẫn đến việc thực hiện chi tiêu gấp đôi với tên giả.
Dữ liệu sẵn có
Kiểm tra cách dự án giải quyết vấn đề về tính khả dụng của dữ liệu để đảm bảo rằng dữ liệu ngoài chuỗi có thể được truy cập và xác minh một cách an toàn và hiệu quả khi cần. Trọng tâm nên bao gồm lưu trữ dữ liệu, cơ chế xác minh và quy trình truyền tải.
Ưu đãi kinh tế
Đánh giá cơ chế khuyến khích trong dự án để đảm bảo rằng nó có thể kích thích người xác minh, người dùng và những người tham gia khác tham gia và duy trì tính bảo mật và ổn định của toàn bộ hệ thống. Trọng tâm nên bao gồm thiết kế mô hình khuyến khích, phân phối phần thưởng và cơ chế trừng phạt.
bảo vệ quyền riêng tư
Nếu dự án liên quan đến bảo vệ quyền riêng tư, hãy kiểm tra việc triển khai chương trình quyền riêng tư của nó. Đảm bảo rằng dữ liệu người dùng được bảo vệ đầy đủ trong quá trình truyền, lưu trữ và xác minh trong khi vẫn duy trì tính khả dụng và độ tin cậy của hệ thống. Mặc dù bằng chứng không có kiến thức yêu cầu giới thiệu các khái niệm phức tạp như mô phỏng và tua lại, nhưng chúng tôi vẫn có thể suy luận liệu quyền riêng tư của người chứng minh có bị rò rỉ hay không dựa trên quy trình giao tiếp của giao thức. Đối với những người xác minh độc hại, chúng tôi cũng có thể suy ra khả năng tái tạo lại người tục ngữ dựa trên nội dung dữ liệu tương tác của họ.
tối ưu hóa hiệu suất
Đánh giá các chiến lược tối ưu hóa hiệu suất trong dự án, chẳng hạn như tốc độ xử lý giao dịch và hiệu quả xác minh. Kiểm tra các biện pháp tối ưu hóa trong quá trình triển khai mã để đảm bảo rằng dự án có thể đáp ứng các yêu cầu về hiệu suất.
Khả năng chịu lỗi và cơ chế phục hồi
Kiểm tra khả năng chịu lỗi và các chiến lược phục hồi của dự án trong trường hợp xảy ra các tình huống không mong muốn, chẳng hạn như lỗi mạng hoặc các cuộc tấn công độc hại. Đảm bảo hệ thống có thể tự phục hồi và duy trì hoạt động bình thường khi có thể.
chất lượng mã
Kiểm tra chất lượng tổng thể của mã dự án, tập trung vào khả năng đọc mã, khả năng bảo trì và độ bền của mã. Đánh giá xem có bất kỳ vấn đề nào với các phương pháp lập trình không chuẩn, mã thừa, lỗi tiềm ẩn và các vấn đề khác hay không.
Làm thế nào các dự án ZKP có thể được bảo mật?
Khi nói đến các dự án Zero-Knowledge Proof (ZKP), có những cân nhắc quan trọng về bảo mật mà các nhóm dự án cũng như người dùng phải tính đến. Một lựa chọn để đạt được sự bảo vệ an ninh toàn diện là sử dụng các dịch vụ của một Bảo mật Web3 công ty chẳng hạn như Numen Cyber. Công ty này có nhiều kinh nghiệm trong việc kiểm tra mã hợp đồng thông minh và cũng thành thạo kiểm tra logic mã hóa mạch để đảm bảo tính chính xác của các điều kiện ràng buộc và tạo nhân chứng thông qua cả phương pháp thủ công và tự động. Chuyên môn của họ trong việc phát hiện các lỗ hổng tính toán dưới mức hạn chế, mô phỏng nhiều hành vi tấn công và tập hợp các nhân chứng logic tùy chỉnh cho logic quan trọng là đặc biệt đáng chú ý.
Numen Cyber cũng cung cấp khả năng kiểm tra bảo mật và làm mờ cho mã trình tự/mã chứng minh và hợp đồng xác minh, cung cấp khả năng bảo vệ cho cả thực thể nút và dữ liệu nút. Ngoài các dịch vụ bảo mật, Numen Cyber đã phát triển hai sản phẩm bảo mật có thể cung cấp khả năng bảo vệ theo thời gian thực cho các dự án sau khi chúng trực tuyến:
ImmunX là một hệ thống giám sát và bảo vệ an ninh dựa trên Web3 tiên tiến được thiết kế để cảm nhận các tình huống bảo mật, đưa ra cảnh báo rủi ro và theo dõi các hoạt động trên chuỗi. Khi được sử dụng cùng với Sequencer, Numen Cyber có thể cung cấp các dịch vụ ngăn chặn tấn công trên các chuỗi khối Lớp 1, cung cấp thêm một lớp bảo vệ cho các dự án nhạy cảm. số
Cyber đã hợp tác với Binance để nâng cao nhận thức rủi ro và bảo vệ cho Chuỗi BNB.
Leukocyte là một sản phẩm bảo vệ an ninh máy chủ mạnh mẽ kết hợp các khả năng CWPP và ASA tiên tiến. Nó được thiết kế để bảo vệ máy chủ đám mây, máy chủ vật lý và máy ảo bằng cách cung cấp khả năng quản lý tài sản, rủi ro, mối đe dọa và phản hồi cho máy chủ theo vòng kín. Điều này đảm bảo rằng tất cả các máy chủ được giữ an toàn và hoạt động đáng tin cậy, bất kể các mối đe dọa tiềm tàng mà chúng có thể gặp phải.
Phần kết luận
Bằng cách làm nổi bật những cân nhắc về bảo mật này, Numen Cyber cung cấp nguồn tài nguyên quý giá cho các nhóm bảo mật làm việc trong các dự án ZKP. Để giải quyết đúng vấn đề bảo mật của các dự án ZKP, điều quan trọng là phải xác định bối cảnh cụ thể mà ZKP đang được sử dụng, vì các cân nhắc về bảo mật cho Lớp 2, tiền riêng tư và chuỗi công khai có thể khác nhau. Tuy nhiên, bất kể trường hợp sử dụng nào, bắt buộc phải ưu tiên ba thuộc tính thiết yếu của ZKP: tính đầy đủ, tính hợp lý và kiến thức không.