Nội dung bài viết
1. Công nghệ chống kiến thức bằng không (ZKP) là gì và nó hoạt động như thế nào?
ZKP là các giao thức mật mã, như tên gọi của chúng, ngăn chặn những kẻ nghe trộm truy cập vào dữ liệu hoặc vi phạm quyền riêng tư trong suốt quá trình.
Bằng chứng không có kiến thức (ZKP) là một cách tiếp cận mật mã cho phép một người (tục ngữ) xác minh một tuyên bố của người khác mà không cần phải tiết lộ bất kỳ thông tin hỗ trợ nào. Bạn có thể tự hỏi ai đã phát minh ra ZKP? Vào những năm 1980, Shafi Goldwasser, Silvio Micali và Charles Rackoff của MIT đã đề xuất ý tưởng về “công nghệ không tri thức”.
Việc chứng minh kiến thức bằng không phải đáp ứng ba yêu cầu sau:
- Tính hoàn chỉnh / Tính không thể chối cãi: Nếu tuyên bố là chính hãng, một câu châm ngôn trung thực sẽ được thuyết phục về tính toàn vẹn của nó bởi một người xác minh trung thực như nhau (tức là một người tuân theo đúng quy trình).
- Tính hợp lý: Nếu lời khẳng định là không đúng sự thật, chỉ có cơ hội mong manh là câu tục ngữ không trung thực có thể thuyết phục người xác minh trung thực rằng đó là sự thật.
- Zero-Knowledge: Nếu xác nhận quyền sở hữu là chính xác, điều duy nhất mà người xác minh biết là xác nhận quyền sở hữu đó là hợp lệ.
Trước khi chúng ta xem xét cách thức hoạt động của phương pháp kiểm chứng kiến thức bằng không, chúng ta hãy hiểu về hai loại. Đầu tiên là các bằng chứng về kiến thức không tương tác, bao gồm các tương tác lặp đi lặp lại giữa phương ngôn và người xác minh. Câu tục ngữ được “thách thức” bởi người xác minh để nhiều lần chứng minh kiến thức của họ về một sự kiện. Quá trình này được lặp lại cho đến khi người xác minh tin chắc rằng câu tục ngữ là trung thực. Mặt khác, các chứng minh không tương tác là phản đề của quá trình này. Họ yêu cầu hai bên trao đổi một giao dịch duy nhất để xác minh tính xác thực của câu tục ngữ chỉ một lần.
Việc triển khai ZKP trong thế giới thực sử dụng một số kỹ thuật mật mã như bằng chứng Schnorr Non-Interactive Zero Knowledge (NIZK) để có thể xác minh một tuyên bố tính toán. Chứng minh Schnorr NIZK cho phép người ta chứng minh sự quen thuộc với một logarit rời rạc mà không tiết lộ giá trị của nó. Nhiều giao thức mật mã có thể được hưởng lợi từ việc sử dụng nó như một thành phần xây dựng có giá trị để đảm bảo rằng những người tham gia trung thực tuân thủ các thông số kỹ thuật của giao thức.
Ví dụ: người nhận thanh toán có thể sử dụng kỹ thuật ZKP để xác nhận rằng người thanh toán có đủ số dư trong tài khoản ngân hàng của họ mà không cần tìm hiểu thêm bất kỳ điều gì về số dư của người thanh toán. Do đó, bằng cách sử dụng ZKP, sự riêng tư và bảo mật thông tin của người dùng có thể được đảm bảo.
Bạn có tò mò về việc liệu Bitcoin có sử dụng các bằng chứng kiến thức không? Câu trả lời đơn giản là thuật toán mật mã cơ bản được sử dụng bởi Bitcoin (BTC) được gọi là Thuật toán chữ ký kỹ thuật số đường cong Elliptic (ECDSA) và không dựa trên các phương pháp không có kiến thức để đảm bảo tăng mức độ riêng tư và bảo mật. Chữ ký điện tử được sử dụng thường xuyên nhất để ký các giao dịch và gửi BTC, và ECDSA cho phép sử dụng khóa cá nhân để ký bất kỳ giao tiếp nào.
2. Zk-SNARKs là gì và chúng hoạt động như thế nào?
Sự cần thiết của một thiết lập đáng tin cậy là một trong những đặc điểm chính của zk-SNARK. Nó cũng yêu cầu tạo ra các khóa mật mã, dùng làm bằng chứng cần thiết để xác minh và thực hiện các giao dịch bí mật.
Nhưng zk-SNARK đại diện cho điều gì? Thuật ngữ “Đối số kiến thức không tương tác của Zero-Knowledge Succinct” hoặc “zk-SNARK”, đề cập đến kiến trúc bằng chứng trong đó người ta có thể chứng minh quyền sở hữu kiến thức cụ thể, chẳng hạn như khóa bí mật, mà không cần tiết lộ kiến thức đó và không tương tác với hoặc là phương ngôn hoặc người xác minh.
Hầu hết các loại tiền điện tử sử dụng kiểm tra mạng để đảm bảo rằng các yêu cầu cụ thể đã được đáp ứng trước khi xác thực giao dịch. Các yêu cầu là xác minh rằng người gửi có sẵn tiền và họ đã cung cấp khóa cá nhân chính xác để chứng minh rằng số tiền đó là của họ.
Người gửi của giao dịch có thể chứng minh tất cả điều này bằng cách sử dụng zk-SNARKs mà không tiết lộ bất kỳ địa chỉ hoặc số tiền giao dịch nào. Ví dụ: mạng blockchain sử dụng zk-SNARK để mã hóa một phần của các quy tắc đồng thuận của nó để cung cấp chức năng này.
Thông tin cần được chứng minh được zk-SNARKs chuyển thành phương trình trong quá trình giao dịch. Không cần tiết lộ dữ liệu thực tế, những phương trình này có thể được đánh giá và giải quyết. Vì vậy, những đồng tiền nào sử dụng zk-SNARK?
Lần đầu tiên Zcash được áp dụng zk-SNARKs để chứng minh rằng các yêu cầu của giao dịch có thể được đáp ứng mà không cần tiết lộ bất kỳ chi tiết quan trọng nào về địa chỉ hoặc giá trị liên quan. Mặc dù zk-SNARK không có bất kỳ sai sót rõ ràng nào, ai đó có khóa cá nhân cần thiết để thiết lập giao thức có thể ngụy tạo bằng chứng và tạo ra tiền giả. Do đó, các đồng tiền bảo mật dựa trên Zk-SNARK phải đảm bảo rằng không có bên nào có quyền truy cập vào khóa riêng tư.
3. Zk-STARKs là gì và chúng hoạt động như thế nào?
zk-STARKs là một trong hai phương pháp tăng cường quyền riêng tư minh bạch và có thể mở rộng. Tính sẵn có công khai của tính ngẫu nhiên được người xác minh sử dụng phủ nhận nhu cầu thiết lập đáng tin cậy.
Nhưng, zk-STARK đại diện cho điều gì? zk-STARK là viết tắt của Zero-Knowledge Scalable Transparent Argument of Knowledge, là một loại công nghệ bằng chứng mật mã. zk-STARKs, còn được gọi là zero-knowledge proofs, cho phép người dùng giao tiếp dữ liệu đã được xác thực hoặc thực thi các phép tính với bên thứ ba mà không tiết lộ dữ liệu hoặc phân tích cho bên kia.
zk-SNARKs, được sử dụng để xây dựng hệ thống chống zk trước khi phát triển zk-STARKs, đã giải quyết được lỗ hổng của các bên đáng tin cậy gây nguy hiểm cho quyền riêng tư của hệ thống vì ban đầu họ phải thiết lập hệ thống chống zk. zk-STARKs cải tiến công nghệ này bằng cách tránh xa yêu cầu về thiết lập đáng tin cậy.
Hơn nữa, khả năng mở rộng và các vấn đề về quyền riêng tư với các blockchains không được phép được cải thiện với STARK. Nghiên cứu zk-STARK hiện đang được thực hiện bởi nhà tiên phong công nghệ STARK, StarkWare Industries chủ yếu quan tâm đến khả năng mở rộng, sau đó là quyền riêng tư.
Bằng cách cho phép các nhà phát triển định vị lại các tính toán và lưu trữ ngoài chuỗi, STARK tăng khả năng mở rộng. Các bằng chứng STARK xác minh tính chính xác của các phép tính ngoài chuỗi có thể được tạo ra bởi các dịch vụ ngoài chuỗi. Sau đó, những bằng chứng này được đăng lại trên chuỗi để bất kỳ ai quan tâm có thể xác minh tính toán.
Ngoài ra, STARK cho phép cơ sở hạ tầng blockchain hiện tại mở rộng theo cấp số nhân mà không ảnh hưởng đến tính toàn vẹn của tính toán bằng cách loại bỏ phần lớn nỗ lực tính toán. Vì vậy, những đồng tiền nào sử dụng zk-STARK?
Các giải pháp lớp 2 tính toán hàng nghìn giao dịch trong một lô duy nhất bằng cách sử dụng STARK, sau đó sử dụng một bằng chứng STARK duy nhất để xác nhận tính hợp lệ của chúng trên chuỗi. Tất cả các giao dịch trong lô đều chia sẻ chi phí của hoạt động trên dây chuyền, mang lại chi phí gas thấp cho mỗi giao dịch. Starkware đang triển khai Lập luận kiến thức minh bạch có thể mở rộng Zero-Knowledge trong nhiều blockchain, bao gồm cả chuỗi khối Ethereum.
-
zk-STARKs và zk-SNARKs: Sự khác biệt chính
Cả zk-STARKS và zk-SNARK đều là loại ZKP không tương tác. Tuy nhiên, chúng khác nhau từ nhiều khía cạnh khác nhau, như được thảo luận trong bảng dưới đây:
zk-STARKs | zk-SNARKs | |
Yêu cầu xác lập đáng tin cậy | Để xây dựng được các hệ thống máy tính có thể xác minh tính đáng tin cậy, zk-STARKs tận dụng tính ngẫu nhiên có thể xác minh được công khai | zk-SNARKs yêu cầu thiết lập cụm từ đáng tin cậy |
Khả năng mở rộng | tốt hơn zk-SNARKs | kém hơn zk-STARKS |
Khả năng chống lại các cuộc tấn công máy tính lượng tử | zk-STARKs có khả năng chống lại các cuộc tấn công lượng tử | Máy tính lượng tử có thể tấn công zk-SNARKs bởi vì nó sử dụng cặp khoá công khai – riêng tư |
Dựa trên thảo luận ở trên, STARK có tốt hơn SNARK không? zk-STARKs được miêu tả rõ ràng một cách thuận lợi so với zk-SNARK. So với zk-SNARK, chúng cung cấp khả năng mở rộng, tính minh bạch và bảo mật cao hơn cho các blockchains. Tuy nhiên, điều quan trọng cần nhớ là ZK-STARK có kích thước bằng chứng lớn hơn và mất nhiều thời gian hơn để xác minh.
Do đó, zk-SNARK sẽ được hỗ trợ nhiều hơn zk-STARK nếu một nhà phát triển bắt đầu sử dụng các công nghệ zero-knowledge. Ngoài ra, zk-SNARK được dự đoán chỉ sử dụng 24% khí đốt, cho thấy rằng việc sử dụng zk-SNARK cho các giao dịch sẽ ít tốn kém hơn đáng kể cho người dùng cuối. Ngoài ra, zk-STARK vẫn đang trong giai đoạn ban đầu và có một thời gian dài để chứng minh hiệu quả của chúng với các nhà phát triển và các bên liên quan khác trong hệ sinh thái blockchain.
Vậy là chúng ta đã cùng nhau so sánh về zk-SNARKs và zk-STARKs. Cảm ơn sự theo dõi và đón đọc của các bạn. Fiahub hy vọng bài viết đã mang đến những thông tin thú vị và chi tiết về chủ đề ngày hôm nay. Đừng quên mọi thắc mắc về thị trường tiền kỹ thuật số, vui lòng liên hệ đội ngũ Support của chúng tôi 24/7.
Freelancer Marketing và Content Creator với gần 10 năm kinh nghiệm; trong đó có khoảng hơn 3 năm làm việc trong mảng Blockchain với vai trò Dịch Thuật và Copywriter.
Với kiến thức sâu rộng cùng khả năng diễn giải để những thuật ngữ công nghệ khó hiểu trở nên gần gũi hơn với người đọc. Lê Hoàng đảm nhiệm những bài viết trong chuyên mục "Từ Điển Crypto" và "Hướng Dẫn Người Mới" tại Fiahub Blog