Skip to main content

Khái niệm cơ bản về Zero-Knowledge

Ngày 17 tháng 10 năm 2023 - Chia sẻ bài viết này trên Twitter | FacebookTelegram

Sidechain Midnight được cho là một Blockchain bảo vệ dữ liệu có thể bảo vệ dữ liệu người dùng và thương mại nhạy cảm. Bằng chứng Zero-Knowledge sẽ được sử dụng cho việc này. Trong bài viết này, chúng tôi sẽ giải thích những điều cơ bản về bằng chứng Zero-Knowledge (ZK).

Nói Ra Sự Thật Mà Không Tiết Lộ Sự Thật

Trong mật mã, bằng chứng Zero-Knowledge hoặc giao thức Zero-Knowledge là phương pháp mà một bên (người chứng minh) có thể chứng minh cho một bên khác (người xác minh) rằng một tuyên bố đã cho là đúng trong khi tránh để lộ cho người xác minh bất kỳ thông tin nào, ngoài các thông tin đơn thuần cần thiết. Sự thật về sự thật của tuyên bố.

Bằng chứng ZK là một khái niệm hấp dẫn trong mật mã. Chúng cho phép người chứng minh, chứng minh cho người xác minh rằng họ biết giá trị x mà không cần phải chia sẻ thêm bất kỳ thông tin nào ngoài thực tế là họ biết giá trị x. Người xác minh sẽ không biết giá trị của x nhưng sẽ có bằng chứng cho thấy người chứng minh biết điều đó. Sự tin cậy vào các bằng chứng ZK xuất phát từ các tính chất toán học của chúng.

Một ví dụ kinh điển về bằng chứng ZK liên quan đến tình huống trong đó Alice (người chứng minh) muốn thuyết phục Bob (người xác minh) rằng cô ấy biết mật khẩu của cánh cửa bí mật trong hang động mà không thực sự tiết lộ mật khẩu. Alice đi vào hang và thoát ra khỏi lối ra do Bob chọn, qua đó chứng tỏ cô biết mật khẩu mà không tiết lộ.

Hang chỉ có một lối cũng là lối ra. Ngay phía sau lối vào, Alice có thể đi theo hai hướng A hoặc B. Phía sau lối vào là một hành lang dài duy nhất. Ở giữa hành lang là một cánh cửa chỉ có thể mở được bằng mật khẩu. Alice muốn chứng minh cho Bob thấy rằng cô ấy có thể đi qua cánh cửa đó, tức là cô ấy biết mật mã.

Nhìn vào bức tranh hang động trông như thế nào và cửa nằm ở đâu. Để mở được cửa cần phải biết mật khẩu. Lưu ý rằng Bob không nhìn vào hang và không biết Alice đi theo hướng A hay hướng B.

Từ góc độ tương tác, nó trông như thế này. Lúc đầu, luôn có một số cam kết của người chứng minh. Người chứng minh cố gắng chứng minh một tuyên bố là đúng và người xác minh muốn xác minh lời tuyên bố đó. Việc xác minh diễn ra theo cách phản hồi thách thức. Thứ nhất, người xác minh thách thức người chứng minh. Người chứng minh phải đưa ra câu trả lời. Việc xác minh được thực hiện dựa trên phản hồi. Người xác minh kiểm tra phản hồi để xác minh xem tuyên bố đó là đúng hay sai.

Hãy tiếp tục câu chuyện của chúng ta với hang động. Tuyên bố của Alice rằng cô ấy biết mật khẩu bí mật của cánh cửa là một cam kết. Cô vào hang và quyết định đi theo hướng A. Bob không biết Alice đã chọn hướng nào. Bob bước vào cửa hang và chúc mừng yêu cầu Alice quay lại theo hướng A hoặc B.

Mặc dù Bob đang ở trong hang nhưng anh ấy không thể nhìn thấy Alice. anh ấy chọn hướng B và chúc mừng lựa chọn này với Alice. Bạn có thể thấy tình huống được mô tả trong hình ảnh sau đây. Bob thách thức Alice.

Alice phải đưa ra câu trả lời. Trong ví dụ của chúng ta, điều này có nghĩa là cô ấy phải sử dụng mật khẩu bí mật và đi qua cửa, vì đó là lựa chọn duy nhất để cô ấy quay lại từ hướng B. Bob đi sâu hơn một chút vào hang để xem Alice sẽ đi ra bằng đường nào. Trong hình bên dưới, bạn có thể thấy Alice đang đến từ hướng B.

Lưu ý rằng nếu Bob hét hướng A, Alice sẽ không phải sử dụng mật khẩu bí mật nào cả và đã đến đúng hướng. Nói cách khác, cô có 50% cơ hội đánh lừa được Bob. Cần phải lặp lại quá trình này nhiều lần. Nếu Alice có thể liên tục quay trở lại từ con đường mà Bob chỉ định, anh ấy sẽ bị thuyết phục rằng cô ấy biết mật khẩu bí mật. Tuy nhiên, anh ấy không biết gì về mật khẩu thực sự là gì, và đây chính là cái được gọi là bằng chứng Zero-Knowledge.

Alice có thể chứng minh cho Bob rằng tuyên bố của cô ấy là đúng. Nếu Bob muốn mua một mật khẩu bí mật, anh ấy có bằng chứng cho thấy Alice biết điều đó.

Ứng dụng thiết thực hơn

Hãy xem xét một tình huống trong đó Alice (người chứng minh) muốn thuyết phục Bob (người xác minh) rằng cô ấy ít nhất 18 tuổi bằng cách sử dụng bằng chứng Zero-Knowledge.

Bob có thể là người bán đồ uống có cồn, người gác cửa tại câu lạc bộ chỉ dành cho người lớn hoặc bất kỳ dịch vụ nào trên Internet chỉ dành cho người lớn, chẳng hạn như sàn giao dịch crypto.

Nếu Alice chỉ có ID thông thường, cô ấy có thể đưa nó cho Bob hoặc tạo một bản sao và gửi cho Bob qua Internet. Vấn đề là bằng cách này bạn thường tiết lộ tất cả thông tin có trên ID mặc dù người xác minh có thể không cần đến nó. Luật pháp có thể yêu cầu xác minh độ tuổi và quốc tịch để cho phép sử dụng dịch vụ mà không cần tiết lộ tên hoặc nơi cư trú. Về lý thuyết, người dùng có thể bảo vệ quyền riêng tư của mình tốt hơn nhưng điều này hiện không thể thực hiện được. Bằng chứng ZK làm cho điều này trở nên khả thi. Nó thậm chí có thể cung cấp bằng chứng theo cách mà thông tin đó không bị tiết lộ. Alice có thể chứng minh mình trên 18 tuổi mà không cần tiết lộ tuổi của mình.

Đây là cách tương tác thông qua giao thức ZK có thể trông như thế nào.

Giai đoạn đầu tiên là chuẩn bị cam kết. Alice bắt đầu bằng việc cam kết với độ tuổi của mình. Điều này có thể được thực hiện bằng cách hash tuổi của cô ấy bằng một số ngẫu nhiên bí mật (còn được gọi là số nonce). Alice gửi cam kết cho Bob. Kế hoạch cam kết nên được ẩn giấu và ràng buộc. Bob không thể xác định tuổi của Alice từ cam kết đã nhận, nhưng đồng thời, Alice không thể thay đổi tuổi sau khi gửi cam kết. Bob xác minh sự thật mà Alice đã cam kết.

Khi Bob đã cam kết, anh ấy có thể thách thức Alice. Vì vậy, Bob gửi cho Alice một thử thách ngẫu nhiên. Đây có thể là một câu hỏi nhị phân đơn giản, chẳng hạn như tuổi của cô ấy có lớn hơn 18 không.

Alice đáp lại thách thức của Bob bằng cách cung cấp bằng chứng thỏa mãn thử thách mà không tiết lộ tuổi chính xác của cô ấy. Trong trường hợp này, cô ấy có thể sử dụng bằng chứng về phạm vi Zero-Knowledge để chứng minh rằng tuổi của cô ấy nằm trong một phạm vi nhất định là trên 18.

Cuối cùng, Bob xác minh bằng chứng của Alice. Nếu bằng chứng hợp lệ, Bob tin rằng Alice ít nhất 18 tuổi mà không biết tuổi chính xác của cô ấy. Bob sẽ không biết bất kỳ thông tin nào từ ID của Alice. Lưu ý rằng Bob thậm chí còn không biết chính xác tuổi của Alice mà anh ấy quan tâm. Anh ấy đưa ra bằng chứng rằng Alice đã trưởng thành.

Bản thân cam kết không cung cấp bất kỳ bằng chứng nào về tính hợp lệ của yêu cầu bồi thường. Cam kết chỉ là một quá trình thiết lập trước các giai đoạn xác minh và phản hồi thử thách. Bằng chứng thực tế sẽ xuất hiện sau khi người chứng minh đáp ứng thành công những thách thức của người xác minh.

Nếu Alice đưa ra một cam kết sai lầm, cô ấy sẽ không thể phản ứng một cách nhất quán trước những thách thức của Bob theo cách thuyết phục anh ấy về tuyên bố của cô ấy. Các thử thách được tạo ngẫu nhiên nên Alice không thể đoán trước được. Nếu cam kết của cô ấy là sai, cô ấy sẽ không phản ứng chính xác với ít nhất một số thử thách và Bob sẽ không bị thuyết phục.

Cam kết trong bằng chứng ZK đóng một vai trò quan trọng. Đó là một cách để người chứng minh (Alice) “khóa chặt” tuyên bố của mình mà không tiết lộ bất kỳ thông tin nào về nó. Cam kết được thiết kế để hoạt động một chiều, nghĩa là Alice không thể thay đổi yêu cầu của mình sau khi cam kết đã được thực hiện (ràng buộc). Tính bảo mật của bằng chứng ZK xuất phát từ tính chất tương tác của chúng và việc sử dụng các thử thách ngẫu nhiên. Ngay cả khi Alice cố gắng gian lận bằng cách thực hiện một cam kết sai, giao thức vẫn đảm bảo rằng Bob có thể có xác suất cao để phát hiện ra điều này.

Lời kết

Bằng chứng Zero Knowledge có thể nói cải thiện đáng kể khả năng sử dụng của Blockchain, đặc biệt là trong các lĩnh vực khả năng mở rộng (zk-rollups), quyền riêng tư của giao dịch và quyền riêng tư của hợp đồng thông minh. Vì vậy, mặc dù mã hóa chỉ có thể bảo mật dữ liệu để ngăn chặn truy cập trái phép, nhưng bằng chứng ZK cho phép tính toán và xác minh dữ liệu đó một cách an toàn và riêng tư. Bằng chứng ZK sẽ cho phép người tham gia làm việc với dữ liệu theo cách riêng tư mà không tiết lộ bất kỳ thông tin nhạy cảm nào. Bằng chứng ZK có thể được coi là một lớp bảo mật bổ sung bên cạnh mã hóa được sử dụng trong công nghệ Blockchain.

Midnight sẽ là một Blockchain rất hữu ích cho các doanh nghiệp, ngân hàng, tổ chức, công ty và đặc biệt là người dùng, vì nó có thể bảo vệ dữ liệu nhạy cảm và đồng thời sử dụng nó cho các dịch vụ khác nhau.

Nguồn bài viết tại đây


Picture


Đọc thêm các bài viết liên quan tại thẻ Tags bên dưới