Điểm:3

Có bằng chứng không có kiến ​​thức về bí mật được băm không?

lá cờ kp

Alice muốn chia sẻ một bí mật $S$ với Bob để cô ấy mã hóa nó bằng khóa riêng của Bob.

Bob hiện không trực tuyến nên Victor sẽ giữ an toàn cho anh ấy trong thời gian chờ đợi.

Victor, người xác minh muốn xác minh đó thực sự là bí mật $S$ mà không thực sự biết bí mật $S$ bản thân anh ấy. Victor có thể biết hàm băm của bí mật một cách đáng tin cậy $S$ (chi tiết về cách anh ta có thể dựa vào hàm băm không liên quan ở đây). Victor cũng có thể có bất kỳ loại cam kết nào khác, nó không cần phải là hàm băm, miễn là anh ta không bao giờ có thể suy ra bí mật bằng văn bản thuần túy.

Alice làm điều này

mã hóaSecret = mã hóa (bí mật, bobsPublicKey)

Victor làm điều này

xác minh (encryptedSecret, hashOfSecret) => true
xác minh ("bất cứ điều gì khác", hashOfSecret) => sai

Liệu như vậy thẩm tra chức năng tồn tại?

knaccc avatar
lá cờ es
Nó có phải là một hàm băm hay nó có thể là một loại cam kết khác?
david_adler avatar
lá cờ kp
đó có thể là một cam kết khác, miễn là Victor không bao giờ có thể biết được bí mật
knaccc avatar
lá cờ es
Do đó, câu hỏi của bạn có thể được đơn giản hóa thành: Nếu Victor biết về một cam kết bí mật, làm thế nào Alice có thể cung cấp bí mật đó cho Bob thông qua Victor một cách không tương tác, bao gồm cả bằng chứng cho Victor rằng bí mật đã được cung cấp mà Victor không thể biết được bí mật? Ngoài ra, vui lòng chỉ định ai cần phải là người cung cấp cam kết, vì điều này tạo ra sự khác biệt cho câu trả lời.
david_adler avatar
lá cờ kp
Alice cần cung cấp cam kết vì Bob đang ngoại tuyến
knaccc avatar
lá cờ es
Nhưng sau đó, làm thế nào để Victor biết rằng cam kết (dù là hàm băm hay cách khác) là cam kết đối với bí mật chính xác? Alice có thể đưa ra cam kết về một bí mật khác và cung cấp bằng chứng rằng bí mật khác đã được trao cho Bob. Victor sẽ không biết liệu bí mật chính xác đã được cung cấp hay chưa.
david_adler avatar
lá cờ kp
Vâng, đó là lý do tại sao tôi đã chỉ định, bạn không cần quan tâm đến "chi tiết về cách anh ấy có thể dựa vào hàm băm không liên quan ở đây". Nó dành riêng cho ứng dụng của tôi nhưng về cơ bản nếu một bí mật không có thật được phân phối giữa Alice và Bob thì điều đó không thành vấn đề. Bí mật không hoạt động cho đến khi nó được phân phối thành công cho ít nhất một người dùng khác. Điều tai hại là khi có Charlie hoặc những người khác tham gia và họ bắt đầu phân phát những bí mật không có thật cho những bí mật trực tiếp.
knaccc avatar
lá cờ es
Câu hỏi của bạn có thể được đơn giản hóa như sau: Làm thế nào Alice có thể mã hóa một bí mật sao cho chỉ Bob mới có thể giải mã nó, theo cách mà nếu bí mật đó được mã hóa lại và được Bob truyền cho Charlie, Bob có thể chứng minh cho Victor rằng bí mật đó ban đầu nhận được từ Alice hiện đang được gửi đến Charlie? Có phải bí mật chỉ được mã hóa lại để truyền cho người khác bởi một người biết bí mật?
david_adler avatar
lá cờ kp
Vâng, đó là một cách tốt hơn nhiều để đặt nó. Bạn đã hiểu đầy đủ, cảm ơn. Không chắc chắn cách tốt nhất để điều chỉnh lại câu hỏi mặc dù ...
knaccc avatar
lá cờ es
Khi Alice đang truyền bí mật hoặc khi Bob đang truyền lại bí mật, có vấn đề gì không nếu Alice hoặc Bob xử lý sai đường truyền sao cho Victor có vẻ ổn nhưng sau đó chỉ người nhận mới có thể phát hiện ra rằng đó là một đường truyền không đúng định dạng. vật bị loại bỏ? Hay việc truyền lại phải chứng minh rằng người nhận chắc chắn có thể giải mã thành công?
david_adler avatar
lá cờ kp
"Có phải bí mật chỉ được mã hóa lại để truyền cho người khác bởi một người biết bí mật?" Vâng
david_adler avatar
lá cờ kp
không chắc tôi hiểu câu hỏi cuối cùng của bạn Tôi nghĩ cách duy nhất nó có thể hoạt động là: nếu lần truyền đầu tiên giữa Alice và Bob bị hỏng, thì tất cả các lần truyền trong tương lai cũng phải khớp với bí mật bị hỏng.
david_adler avatar
lá cờ kp
Hãy để chúng tôi [tiếp tục cuộc thảo luận này trong cuộc trò chuyện](https://chat.stackexchange.com/rooms/132390/discussion-between-david-adler-and-knaccc).
Điểm:0
lá cờ nl

Có một ZK-STARK chứng minh rằng bạn biết tiền đề của một giá trị. "Câu lệnh Rescue-Hash được chứng minh bởi người tục ngữ được đưa ra trong mã này là:

"Tôi biết một chuỗi n + 1 đầu vào {w_i} sao cho H(...H(H(w_0, w_1), w_2) ..., w_n) = p"

ở đâu:

H là hàm băm Rescue.
Mỗi w_i là 4 bộ phần tử trường. Đây là những đầu vào riêng tư, chỉ được biết đến với người hoạt ngôn.
p là đầu ra công khai của hàm băm (cũng bao gồm 4 phần tử trường).

" https://github.com/starkware-libs/ethSTARK/tree/ziggy

david_adler avatar
lá cờ kp
điều này nghe có vẻ rất hứa hẹn nhưng hơi quá đầu tôi, bạn có thể giải thích cho tôi hiểu như tôi mới 5 tuổi không? Tôi không hiểu "đầu vào" là gì và tôi không hiểu P là gì. Về mặt Alice, Bob, v.v. cái này hoạt động như thế nào?
Mark avatar
lá cờ ng
Mặc dù hơi muộn nhưng mấu chốt dẫn đến kết quả của biểu mẫu này là hàm băm cụ thể đang được sử dụng (Rescue) là "thân thiện với tiền điện tử nâng cao", nghĩa là có "độ phức tạp nhân thấp" theo một số chỉ số và do đó phù hợp để sử dụng với tiền điện tử nâng cao nguyên thủy (chẳng hạn như MPC, FHE hoặc ZKProofs --- tất cả đều có số liệu chi phí hơi khác nhau, nhưng đại khái là có "phép bổ sung rẻ" và "phép nhân đắt tiền"). Nếu bản thân hàm băm có thể biểu thị dưới dạng mạch độ sâu (nhân) tương đối thấp, bạn có thể hy vọng nhận được bằng chứng ZK về tiền đề băm "trực tiếp", ví dụ: coi nó như...
Mark avatar
lá cờ ng
một tuyên bố chung chung mà bạn muốn chứng minh và sử dụng các kỹ thuật có sẵn cho việc này. Lưu ý rằng kỹ thuật chung này sẽ hoạt động kém hơn nhiều đối với các hàm băm khác không "thân thiện với tiền điện tử nâng cao", chẳng hạn như các biến thể SHA (hoặc các hàm băm thực sự "hầu hết" không được thiết kế cho mục tiêu cụ thể này).
Điểm:0
lá cờ in

Xác minh riêng tư giải pháp Sudoku, nói chuyện Bowe-Maxwell và giao dịch bitcoin tại hội thảo Financial Crypto 2016.

Vấn đề được giải quyết với xác minh là:

  1. người mua không muốn gửi tiền của mình trước, có nguy cơ nhận được các bit ngẫu nhiên;
  2. người bán miễn cưỡng gửi giải pháp của mình cho câu đố trước, có nguy cơ không nhận được phần thưởng.

Một bằng chứng không tương tác đã được giới thiệu và triển khai để xác minh rằng:

  1. bản rõ là một giải pháp Sudoku hợp lệ cho câu đố hiện có;
  2. bản mã được tạo ra bằng một khóa;
  3. khóa là hình ảnh trước cho giá trị băm, được gửi cho người mua cùng với bản mã.

Băm này có thể được sử dụng để tạo giao dịch HTLC để người bán chỉ yêu cầu tiền của mình bằng cách xuất bản khóa trên chuỗi khối. Thực ra thì một tập lệnh đã được sử dụng, nhưng hãy sử dụng HTLC như một cách đơn giản hóa.

Câu trả lời thực tế ngắn gọn là: người ta sẽ xác minh tiền giả hàm băm bằng bằng chứng zkSNARK. Một câu trả lời (chung) khác là, tồn tại một hệ thống bằng chứng tương tác cho bất kỳ ngôn ngữ NP nào.

Một quảng cáo trơ trẽn: một mạch xác minh giải Sudoku thay thế đã được thiết kế, bắt đầu từ biểu diễn tập đa thức và giải pháp "chơi bài" của Naor, được trình bày tại IEEE ATIT 2019.

https://github.com/vadym-f/Sudoku_solvability_proof/tree/master/IEEE_ATIT_2019

david_adler avatar
lá cờ kp
Hey cảm ơn bạn! Nghe có vẻ hứa hẹn nhưng không chắc mức độ liên quan của sudoku đối với vấn đề của tôi. Bạn có thể giải thích thêm một chút về cách zkSNARK có thể được áp dụng cho vấn đề của tôi không, tức là về Alice và Bob, cảm ơn
Vadym Fedyukovych avatar
lá cờ in
Giao dịch HTLC và bằng chứng rõ ràng về một bí mật phù hợp được băm có vẻ phù hợp.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.