Xổ số mà bạn có thể tin rằng nó là công bằng


27

(Xin lỗi nếu điều này được nhiều người biết đến.) Tôi muốn đưa một số mặt hàng cho một trong các đại lý , để đại lý sẽ nhận được mặt hàng với xác suất . Có một công cụ mã hóa (hoặc khác) để mọi tác nhân (và thậm chí mọi người quan sát) sẽ có thể bị thuyết phục rằng bản vẽ ngẫu nhiên thực sự công bằng?j p ikjpi


1
Các đại lý có được phép biết .. không? p kp0pk
Mike Samuel

Bạn đã thấy cái này chưa? ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4232861
dspyz

Câu trả lời:


19

Nếu tôi hiểu vấn đề một cách chính xác, có vẻ như nó sẽ lên tới mức công khai lật một đồng xu . Dường như có rất nhiều cách để làm điều này nếu bạn giả sử cam kết một chút. Một ví dụ sẽ có mỗi bên tạo một số nguyên ngẫu nhiên trong khoảng từ 0 đến , sử dụng cam kết bit để cam kết công khai với chuỗi bit đó. Sau đó, khi mỗi đại lý đã cam kết, tất cả họ đều công khai số nguyên bí mật của mình. Tác nhân chiến thắng sau đó là tác nhân được lập chỉ mục bằng tổng các số nguyên modulo . Nếu thậm chí một tác nhân là trung thực, thì việc lật phải ngẫu nhiên.k - 1 kkk1k

Tất nhiên một vấn đề với điều này là nó đòi hỏi một chút cam kết. Các sơ đồ lý thuyết thông tin cho cam kết bit là không thể đối với cả điện toán cổ điển và lượng tử (mặc dù gần đây, Adrian Kent đã đề xuất một sơ đồ khai thác tính tương đối). Tuy nhiên, cam kết bit an toàn có thể đạt được với các giả định tính toán.


2
Vấn đề của tôi với cách tiếp cận này là nếu bạn muốn thuyết phục nhiều nhà quan sát bên ngoài từ sự công bằng, thì mỗi người trong số họ phải cam kết một chút và bạn phải chắc chắn rằng mỗi người trong số họ sẽ tiết lộ bằng chứng về cam kết của họ. Bạn không thể bỏ qua một chút của một người quan sát không tiết lộ bằng chứng của họ bởi vì sau đó người quan sát cuối cùng tiết lộ có thể thao túng kết quả xổ số bằng cách quyết định có tiết lộ bằng chứng của mình hay không.
Zsbán Ambrus

1
@ user8067: Tôi không tin là có thể nếu không có sự tương tác hoặc tin tưởng rằng ít nhất một bên là trung thực. Lý do tôi nói điều này là nếu sự ngẫu nhiên ban đầu thực sự được xác định trước thông qua một âm mưu của tất cả mọi người tham gia vào thời điểm đó, thì toàn bộ quá trình là xác định và không ngẫu nhiên. Tuy nhiên, vấn đề đòi hỏi quá trình là ngẫu nhiên, vì vậy đây có vẻ là điều tốt nhất bạn có thể làm.
Joe Fitzsimons

2
Tôi không tin điều đó là có thể.
Joe Fitzsimons

2
@RickyDemer: Không có đủ thông tin trong câu hỏi để cho biết mô hình đối thủ nào được áp dụng ở đây. Nếu Gil nói với chúng tôi chính xác những gì nó làm, thì sẽ dễ dàng hơn để chứng minh liệu một kế hoạch cụ thể có đáp ứng yêu cầu của anh ấy hay không. Nhưng điều đó nói rằng, tôi không nghi ngờ gì nữa, Gil có khả năng kiểm tra xem câu trả lời của chúng tôi có đáp ứng nhu cầu của anh ấy hay không.
Joe Fitzsimons

2
@RickyDemer: Tôi không rõ mô hình rõ ràng cho trường hợp này là gì. Nó hoàn toàn phụ thuộc vào thiết lập và không rõ ràng các giả định mặc định là gì. Đó là một chút nhiều để downvote và bắt đầu hành động như cả câu trả lời của tôi và Lev là sai. Họ không bao gồm rõ ràng lời cảnh báo được chỉ ra trong câu trả lời của Adam. Lưu ý rằng tôi không - đang chỉnh sửa câu trả lời của mình, vì không có thêm thông tin từ Gil, tôi không thấy nó có ý nghĩa để đoán về mô hình đối thủ, và vì vậy tôi sẽ để nó chung chung nhất có thể (không xác định có hay không cam kết bit cần không phải là bất hợp pháp).
Joe Fitzsimons

15

Như những người dùng khác đã gợi ý, đây là một vấn đề được nghiên cứu kỹ về mật mã. Nó được gọi là "lật đồng xu" và là một trường hợp đặc biệt của tính toán nhiều bên.

Giao thức nào công việc thực sự phụ thuộc vào bối cảnh khá nhiều.

  • Trong cài đặt "độc lập", giao thức sẽ được chạy riêng rẽ mà không cần người chơi tham gia vào các giao thức khác (hoặc thực tế, bất kỳ tương tác nào với thế giới bên ngoài) cùng một lúc. Có một cách xử lý tuyệt vời về điều này trong sách giáo khoa "Những nền tảng của mật mã học" của Oded Goldreich (Tập 2, tôi nghĩ vậy).

Chỉ cần đưa ra ý tưởng về mức độ tinh tế của nó, giao thức "mọi người cam kết với các giá trị ngẫu nhiên" được đề xuất bởi một người trả lời khác là không an toàn nếu sơ đồ cam kết bạn sử dụng có thể uốn được. Các lược đồ cam kết không thể nhầm lẫn sẽ cung cấp cho bạn một giao thức an toàn, nhưng chúng hơi phức tạp để thiết kế.

  • Trong cài đặt nơi người tham gia tham gia vào các giao thức đồng thời khác, bạn muốn có một giao thức có thể kết hợp được . Có nhiều khái niệm khác nhau về khả năng kết hợp, nhưng khái niệm mạnh nhất, được gọi là khả năng tổng hợp phổ quát , đòi hỏi một số giả định thiết lập bổ sung (ví dụ, PKI hoặc chuỗi ngẫu nhiên chung có thể nhìn thấy cho tất cả các bên nhưng không ai có thể kiểm soát được). Thật không may, tôi không biết về một phương pháp điều trị dễ tiếp cận của chủ đề này. Nhưng nhìn vào một bài báo gần đây về khả năng tổng hợp phổ quát hoặc cam kết không thể thay đổi sẽ là một nơi tốt để bắt đầu.

1
Một chuỗi ngẫu nhiên phổ biến hiển thị cho tất cả các bên nhưng không ai có thể kiểm soát được bởi họ là chính xác những gì chúng tôi muốn tạo.
Zsbán Ambrus

1
và sau khi bằng cách nào đó giải quyết vấn đề đó một lần, người ta có thể tổng hợp một cách tổng thể giải quyết lại (tùy ý nhiều lần).

Tôi nghĩ rằng cam kết của UC được biết đến với thiết lập Khóa công khai đã đăng ký (là giả định mạnh hơn PKI) và thiết lập đa chuỗi (là giả định yếu hơn chuỗi ngẫu nhiên thông thường).

2
Chào mừng đến với trang web, Adam!
Gil Kalai

11

Lưu ý: vui lòng đọc các bình luận bên dưới. Giao thức này dường như có vấn đề.


pj

{0,1}bb

Bất kỳ tác nhân nào cũng có thể chắc chắn số ngẫu nhiên được chọn xuất hiện một cách ngẫu nhiên bằng cách chọn ngẫu nhiên véc tơ của mình một cách ngẫu nhiên. Đối với bất kỳ người quan sát nào bị thuyết phục, họ phải tin tưởng rằng ít nhất một tác nhân tuân theo giao thức, nhưng nếu không có ai, tôi đoán không ai thực sự muốn xổ số công bằng để bắt đầu.


Xin lỗi Lev, tôi vừa nhận thấy câu trả lời của bạn. Khi tôi bắt đầu viết một câu trả lời thì không có gì ở đây, nhưng cả hai chúng tôi dường như đã đưa ra những câu trả lời rất giống nhau.
Joe Fitzsimons

Đừng lo lắng! Có vẻ như chúng ta đang đi đúng hướng.
Lev Reyzin

Vâng, thực sự tôi nghĩ rằng có rất nhiều bài báo về vấn đề này trong bối cảnh lật đồng xu, nhưng tôi không thực sự biết rằng văn học đủ tốt để đưa ra một câu trả lời thích hợp dựa trên nó.
Joe Fitzsimons

7
Tài liệu tham khảo sớm nhất tôi biết là: M. Blum. Tung đồng xu qua điện thoại. CRYPTO 1981: 11-15. Có thể tải xuống tại dm.ing.unibs.it/giuzzi/corsi/Support/auge-cryptography/ Kẻ
Ryan Williams

4
Có một cuộc tấn công tiêu chuẩn, nếu bạn sử dụng các lược đồ cam kết bit tiêu chuẩn (ví dụ: băm). Hãy xem xét trường hợp với hai bên, Alice và Bob, nơi Alice đi trước. Sau khi Alice phát đi cam kết của mình, Bob có thể sao chép nó. Sau khi Alice mở lời cam kết, Bob có thể mở cùng một thứ ngay bây giờ. Bây giờ các vectơ ngẫu nhiên của chúng bằng nhau, vì vậy chúng xor thành 0 - Bob đã có thể buộc giá trị cuối cùng bằng 0, một mâu thuẫn của yêu cầu về sự công bằng.
DW

-3

Các nhà quan sát thụ động không thể xác minh rằng bản vẽ không được dàn dựng. Đầu vào vào quá trình giả ngẫu nhiên có thể được chọn để cho kết quả mong muốn.

Tuy nhiên, nếu người quan sát có thể cung cấp một số ngẫu nhiên mà anh ta biết là ngẫu nhiên VÀ đảm bảo rằng các tác nhân khác sẽ không thay đổi đầu vào của họ sau đó (vì họ có thể bù hiệu ứng của anh ta với đầu vào của họ), thì anh ta có thể chắc chắn rằng kết quả đó thực sự là ngẫu nhiên .

Điều này đòi hỏi sơ đồ cam kết mà chúng ta không biết bất kỳ điều gì được chứng minh về mặt toán học là an toàn nhưng trong thực tế có thể được thực hiện bằng cách sử dụng hàm băm an toàn (chẳng hạn như SHA3).

Xem xét ví dụ này:

nhập mô tả hình ảnh ở đây

Tôi đã thực hiện một ví dụ thực hiện. Bạn có thể thấy nó trực tiếp tại đây: https://mrogalski.eu/cl/ hoặc kiểm tra nguồn trên GitHub .


1
Điều này đã được ghi nhận trong câu trả lời của Joe.
Kaveh

1
Hình minh họa đồ họa rất đẹp!
Gil Kalai

3
Đồ họa rất đẹp nhưng câu trả lời của bạn không chứa gì trong câu trả lời hiện có.
David Richerby
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.