Điểm:6

Một nguồn ngẫu nhiên mà bất kỳ ai cũng có thể truy cập một cách độc lập, thuận tiện và mạnh mẽ?

lá cờ in

Có tồn tại một nguồn ngẫu nhiên mà bất kỳ ai trên thế giới có thể truy cập một cách độc lập, thuận tiện và mạnh mẽ không? Ví dụ, vị trí thập phân thứ 10 của nhiệt độ ở Thành phố Mexico là đủ ngẫu nhiên.Nhưng thật bất tiện khi Bob truy cập một cách độc lập và dù sao thì nó cũng không thể được đo lường một cách mạnh mẽ.

Nguồn gốc của tính ngẫu nhiên cũng phải được bảo mật, trong đó không bên nào kiểm soát nó (hoặc truy cập vào nó) và không thể dự đoán một cách đáng tin cậy. Nó cũng phải giống nhau đối với mỗi người truy cập nó.

Ứng dụng mà tôi muốn ứng dụng này giống như vấn đề sau: 10 triệu người truy cập cùng một giá trị ngẫu nhiên được bảo mật bằng mật mã không có tất cả phải đồng bộ với nhau (vì vậy Diffie-Hellman sẽ không hoạt động).

lá cờ in
Bằng cách "(hoặc quyền truy cập vào nó)", ý tôi là không bên nào có thể kiểm soát quyền truy cập vào nó. Vì vậy, ví dụ: dựa vào một trang web cụ thể sẽ không hiệu quả vì trang web đó kiểm soát quyền truy cập và có thể lấy đi quyền truy cập. Điều đó đang được nói, không ai nên có quyền truy cập sớm vào nó.
Paul Uszak avatar
lá cờ cn
Giống như một cuộc xổ số công cộng quốc gia, có thể không?
Maarten Bodewes avatar
lá cờ in
Tôi đã loại bỏ hoàn toàn tính ngẫu nhiên công khai "tại sao" vì nó dẫn đến cuộc tranh luận không mong muốn và không có thông tin. Vui lòng giả sử rằng các giá trị ngẫu nhiên công khai là bắt buộc.
Điểm:4
lá cờ cn

Một khả năng là dựa vào các quá trình vật lý, có thể quan sát được, không thể kiểm soát được và rõ ràng là ngẫu nhiên. Có một hiện tượng như vậy thường được nhắc đến trong cộng đồng mật mã học, mặc dù đây là một dấu hiệu cho thấy tính khả thi hơn là một đề xuất cụ thể và có cơ sở: trích xuất ngẫu nhiên phổ biến từ những đốm đen của mặt trời. Làm như vậy có tất cả các loại thuộc tính tốt, nhưng ít nhất có một vấn đề (nghiêm trọng): có khả năng cao là tính ngẫu nhiên chung được trích xuất sẽ không hoàn toàn giống nhau giữa tất cả những người tham gia, mà thay vào đó sẽ rất gần nhau. Trong một số trường hợp, điều này có thể được hiển thị là đủ, ví dụ: tờ giấy này về vấn đề này.

Paul Uszak avatar
lá cờ cn
Không phải là một cho người Iceland sau đó?
Geoffroy Couteau avatar
lá cờ cn
Yup, hoặc ít nhất là không qua quan sát trực tiếp từ nhà. Nhưng họ đã có một đất nước xinh đẹp và xếp hạng rất cao về chất lượng cuộc sống: họ không thể có tất cả!
Điểm:2
lá cờ cn

Tôi khuyên bạn nên xem qua Entropy có thể quan sát Truestamp dự định. Gần đây, chúng tôi đã tạo mục này để giải quyết nhu cầu về loại ngẫu nhiên mà bạn đang hỏi.

Entropy có thể quan sát tự động thu thập tính ngẫu nhiên từ các nguồn có thể kiểm chứng công khai cứ sau 5 phút, lưu trữ và băm nội dung của dữ liệu được truy xuất đó. Hàm băm của mỗi tệp nguồn dữ liệu sau đó được kết hợp và băm một cách xác định dẫn đến hàm băm SHA2-256 được ký cuối cùng biểu thị tổng số entropy đã thu thập dưới dạng giá trị ngẫu nhiên công khai mới có thể kiểm chứng.

Hệ thống hiện đang thu thập dữ liệu từ các nguồn công khai sau tại mỗi khoảng thời gian:

  • Tiêu đề khối mới nhất của chuỗi khối bitcoin
  • Tiêu đề khối mới nhất của Stellar Blockchain
  • Tiêu đề khối mới nhất của chuỗi khối Ethereum
  • Đèn hiệu ngẫu nhiên Drand
  • Báo hiệu ngẫu nhiên của NIST
  • Hacker News, top 10 câu chuyện và liên kết nội dung
  • Dấu thời gian UTC

Mỗi trong số này, ngoại trừ dấu thời gian để thuận tiện, được coi là một nguồn ngẫu nhiên mạnh mẽ. Đối với người thực sự hoang tưởng, bạn có thể cung cấp entropy của riêng mình để thêm vào hỗn hợp ở dạng chuỗi hex 32 byte đại diện cho ví dụ: một hàm băm hoặc byte ngẫu nhiên. Bạn có thể đóng góp sự ngẫu nhiên của riêng mình nếu bạn không hoàn toàn tin tưởng vào bất kỳ nguồn nào khác.

Tất cả dữ liệu được thu thập ở mỗi khoảng thời gian, cũng như các giá trị băm kết quả, được chuyển giao cho kho lưu trữ Github công khai. Nếu bạn sao chép repo, các tập lệnh được cung cấp cho phép bạn tự tạo lại hàm băm entropy từ dữ liệu được lưu trữ. Bạn cũng có thể xác minh chữ ký khóa công khai trên entropy để đảm bảo rằng nó được ký bởi Truestamp. Các hướng dẫn cũng được cung cấp về cách tự xác minh từng nguồn entropy công khai hoặc chữ ký.

Hầu hết mọi người đều dễ dàng duy trì và đồng bộ hóa bản sao của repo này, đảm bảo rằng mọi người đều có cùng dữ liệu hoặc có thể tham chiếu entropy tại một thời điểm. Ví dụ: bạn và một nhóm người khác có thể đồng ý sử dụng một giá trị ngẫu nhiên là giá trị mới nhất tại một thời điểm cụ thể trong tương lai. Vào thời điểm đó, tất cả các bạn sẽ xem xét dữ liệu được lưu trữ trong cùng một cam kết Git, dữ liệu này thường không quá năm phút. Bằng cách lưu trữ nó trong Git, bạn cũng nhận được tất cả các thuộc tính toàn vẹn mà Git cung cấp, chẳng hạn như băm cam kết theo chuỗi và phá vỡ các bản sao nếu ai đó đẩy một tập dữ liệu hoàn toàn mới vào Github, đây sẽ là dấu hiệu rõ ràng của kẻ xấu.

Ngoài ra, các giá trị entropy lịch sử và mới nhất có sẵn thông qua API công khai (đơn giản là một proxy được thiết kế để đọc dữ liệu thô mới nhất từ ​​Github Repo và không có bộ đệm hoặc kho lưu trữ dữ liệu của riêng nó). Đây là một mẫu đầu ra từ https://entropy.truestamp.com/latest.

Tôi tin rằng điều này đáp ứng từng yêu cầu ban đầu của bạn:

  • không bên nào kiểm soát nó (hoặc có quyền truy cập vào nó)
  • nó không thể được dự đoán một cách đáng tin cậy
  • nó cũng phải giống nhau đối với mỗi người truy cập nó

Tại Dấu xác thực chúng tôi sẽ sử dụng nguồn ngẫu nhiên có thể kiểm chứng này để giúp chứng minh rằng dữ liệu cam kết với hệ thống của chúng tôi đã được tạo một cách độc lập và có thể kiểm chứng được sau một thời điểm cụ thể.

Chúng tôi rất muốn nhận được phản hồi của bạn vì đây là một dịch vụ mới và có phần thử nghiệm, hiện đã hoạt động đáng tin cậy được khoảng hai tháng.

CẬP NHẬT ngày 25/08/2021 để giải quyết nhận xét của @fgrieu:

Cảm ơn vì nhận xét @fgrieu. Tôi sẽ cố gắng giải quyết mối lo ngại của bạn hoặc yêu cầu làm rõ thêm về các vấn đề tiềm ẩn mà bạn cảm thấy có thể có.

(1) người trong cuộc có thể biết kết quả trước người khác

Trong quá trình triển khai này, không có người trong cuộcâ nào có quyền truy cập vào dữ liệu cuối cùng được băm để tạo thành entropy cuối cùng. Việc thu thập dữ liệu được thực hiện bằng tự động hóa do quy trình công việc Github Actions cung cấp. Dữ liệu được thu thập, chẳng hạn như đèn hiệu Drand đã ký, không được công khai cho bất kỳ ai cho đến khi dữ liệu được thu thập (mọi người đều nhận được đèn hiệu ngẫu nhiên có chữ ký mới). Trong trường hợp này, người trong cuộc duy nhất sẽ là người nào đó tại Github có quyền truy cập vào cơ sở hạ tầng của họ và có thể trích xuất nội dung bộ nhớ cho tập lệnh này sau thời điểm tập lệnh chạy 500.000 vòng SHA-256. Ngay cả trong trường hợp khó xảy ra này, họ sẽ có quyền truy cập vào giá trị entropy cuối cùng trong vòng vài mili giây kể từ khi giá trị đó được cam kết và được cung cấp công khai cho tất cả mọi người trong kho lưu trữ Github. Dự án này, thu thập entropy cứ năm phút một lần, có thể không nhạy cảm với mức độ chi tiết của thời gian này.Có thể có những tình huống trong đó bản xem trước sớm (~1 giây) của giá trị cuối cùng sẽ đủ hữu ích để kẻ tấn công buộc phải thỏa hiệp Github. Tuy nhiên, tôi không nghĩ rằng các trường hợp sử dụng mà dự án này hướng đến lại bị ảnh hưởng bởi điều này.

Trong thực tế, không ai có quyền truy cập vào đầu ra cuối cùng cho đến khi tất cả họ làm như vậy khi một cam kết công khai được thực hiện. Tại thời điểm này, sẽ là một cuộc đua xem ai có thể lấy cam kết trước cho những người tìm kiếm lợi thế này. Tôi sẽ đề xuất rằng nếu nhu cầu về entropy của bạn nhạy cảm đến từng mili giây khi nói đến thời điểm đầu ra được tiết lộ, thì đây không phải là dự án dành cho bạn.

(2) người trong cuộc có thể biết thông tin đầu vào trước những người khác và sử dụng thông tin đó để gửi một đầu vào bổ sung cuối cùng thao túng kết quả; ví dụ. làm cái 16 bit bậc thấp bất kỳ giá trị mong muốn nào.

Tôi đã đề cập đến khái niệm người trong cuộcâ ở trên. Có những nguồn mà Entropy có thể quan sát thu thập có thể biết được đối với những người bên ngoài muốn cố gắng thao túng đầu ra cuối cùng bằng cách gửi dữ liệu tấn công của chính họ, tuy nhiên điều này sẽ thất bại vì kẻ tấn công không thể biết tập lệnh đã thu thập các giá trị của báo hiệu Drand hoặc dấu thời gian khi tập lệnh chạy, cả hai chỉ được biết bởi chính tập lệnh tại thời điểm thực thi.

Tôi không biết về bất kỳ cuộc tấn công nào vào nhiều vòng SHA2-256 cho phép kẻ tấn công dự đoán bit nào của đầu ra sẽ được sửa đổi để phù hợp với kết quả mong muốn của chúng.

Khả năng chấp nhận và xuất bản, entropy do người dùng cung cấp, thậm chí cho đến những khoảnh khắc cuối cùng trước khi tập lệnh thu thập bắt đầu, là một lợi ích. Điều này cho phép mọi người gửi entropy sẽ được đưa vào và không yêu cầu người tiêu dùng phải hoàn toàn tin tưởng vào bất kỳ nguồn entropy nào cung cấp đầu ra cuối cùng. Họ chỉ cần tin tưởng vào dữ liệu của chính họ. Họ có thể xác minh rằng dữ liệu của họ đã được đưa vào bằng cách chạy tập lệnh cục bộ để xác nhận cùng một đầu ra entropy.

Trang 31 của Bài trình bày này (và những thứ liên quan báo cáo khoa học) cung cấp thêm thông tin về các khái niệm và lợi ích của việc bao gồm đầu vào công khai.

(3) sự phổ biến của kết quả không phải là tức thời, do đó thậm chí những người không phải là người trong cuộc có thể dẫn đầu; và thao tác mạng có thể trồng nhân tạo mà

Nếu tôi hiểu những gì bạn đang cố gắng diễn đạt, thì sự lan tỏa của kết quả trên thực tế là tức thời. Kết quả chỉ có thể được biết đối với tập lệnh tạo tại thời điểm nó đã thu thập tất cả các nguồn dữ liệu, một số trong số đó là không công khai nhưng có thể kiểm chứng được sau khi thực tế. Nếu không có toàn bộ thông tin này thì không thể đạt được hàm băm đầu ra cuối cùng. Cửa sổ cơ hội nằm trong khoảng thời gian khi e.g. giá trị đèn hiệu Drand được thu thập và vòng băm kết hợp và vòng băm cuối cùng đã bắt đầu.

Nhu cầu của người đăng ban đầu có thể được đáp ứng bằng cách chỉ sử dụng Đèn hiệu ngẫu nhiên của NIST hoặc Báo hiệu Drand một mình. Nhưng điều này đòi hỏi phải đặt một mức độ tin cậy nhất định vào cơ sở hạ tầng và chủ sở hữu của nó đối với mỗi cơ sở hạ tầng. Giải pháp này khuếch tán niềm tin đó qua nhiều nguồn công khai và có thể kiểm chứng (bao gồm cả chính bạn) với tất cả các nguồn có thể kiểm chứng sau thực tế. Đây là điểm khác biệt chính so với các hệ thống, ví dụ, quan sát hiện tượng tự nhiên không cho phép người khác xác minh sau khi quan sát.

Tôi rất vui khi nhận được thêm phản hồi về bất kỳ điểm yếu nào còn tồn tại trong các lập luận hoặc hệ thống của tôi cũng như các đề xuất để cải thiện.

fgrieu avatar
lá cờ ng
Có ba điểm yếu tiềm ẩn: (1) người trong cuộc có thể biết kết quả trước người khác (2) người trong cuộc có thể biết thông tin đầu vào trước người khác và sử dụng thông tin đó để gửi thông tin đầu vào bổ sung cuối cùng nhằm thao túng kết quả; ví dụ. biến 16 bit bậc thấp thành bất kỳ giá trị mong muốn nào. (3) sự phổ biến của kết quả không phải là tức thời, do đó, ngay cả những người không phải là người trong cuộc cũng có thể dẫn đầu; và các thao tác mạng có thể phát triển điều đó một cách giả tạo.
lá cờ cn
Cảm ơn vì nhận xét @fgrieu, tôi đã thêm một phản hồi khá dài vào phản hồi ban đầu của mình.
Paul Uszak avatar
lá cờ cn
Được rồi, điều này mang sắc thái và phù hợp với những thứ trong thế giới thực ngoài phạm vi của diễn đàn này, thay vì chơi với toán học trẻ con. GitHub là một công ty con thuộc sở hữu hoàn toàn của µsoft. µsoft phải tuân theo Đạo luật Đám mây và Đạo luật Yêu nước. Và nhiều pháp luật khác để bảo đảm người yêu nước. Và họ hài lòng với điều đó với các hợp đồng tại Hoa Kỳ của họ. Nó giống như hoạt động ở Trung Quốc. Vì vậy, nó rơi phẳng. Không có ý kiến ​​phản đối vì nó rất thú vị về mặt kỹ thuật, nhưng lại không bắt đầu về mặt chính trị/thực tế.
lá cờ cn
Tôi sẽ chỉ ra: 1) OE không dựa vào hoặc đặt niềm tin vào Github. Nó là một phương tiện hữu ích để thực hiện theo lịch trình và làm cho đầu ra được phổ biến rộng rãi. Sự thỏa hiệp của GH có thể không mang lại gì ngoài một vài giây bắt đầu, không làm hỏng dữ liệu từ các nguồn bên ngoài có thể kiểm chứng được. 2) Toàn bộ logic để tạo/xác minh được đưa vào một tệp nguồn Bản mô tả Deno duy nhất`cli.ts`. 3) Bạn có thể rẽ nhánh và chạy lệnh đó trong môi trường bạn chọn và hiển thị đầu ra thông qua bất kỳ phương pháp nào bạn chọn. Deno là nền tảng x và Git chạy ngang hàng tốt. Lưới Tailscale riêng? Chắc chắn rồi.
Điểm:2
lá cờ cn

Giá giao dịch chính thức chính xác của một cổ phiếu được giao dịch công khai tại một thời điểm nhất định rất tốn kém để kiểm soát: ném rất nhiều tiền vào nó chắc chắn sẽ cho phép bạn tác động đến nó, nhưng không kiểm soát được tất cả các chữ số. Tính trung bình trên nhiều cổ phiếu và bạn nhận được một giá trị công khai và không thể kiểm soát hoặc dự đoán hoàn toàn một cách hiệu quả. Tất nhiên, có độ lệch đáng kể trong các chữ số, do đó, với bất kỳ nguồn ngẫu nhiên nào, hãy băm đầu vào để có được phân phối tốt.

Giá trị mở của chỉ số giao dịch chứng khoán cung cấp cho bạn một giá trị giả ngẫu nhiên mỗi ngày làm việc. Một ví dụ về một tiêu chuẩn được xác định rõ với các triển khai sẵn có dựa trên nguyên tắc này là thuật toán geohashing dựa trên giá mở cửa của chỉ số Dow Jones, được băm bằng MD5. (MD5 không phù hợp làm hàm băm mật mã, nhưng ở đây nó được sử dụng như một hàm giả ngẫu nhiên, điều này không sao cả.)

fgrieu avatar
lá cờ ng
Tốt, nhưng điều này sẽ không có sẵn cho tất cả cùng một lúc. Thậm chí có những bộ phim/sê-ri về việc biết trước giá cổ phiếu, và rất nhiều sự thật đằng sau thực tế của vấn đề. Và một hàm băm rộng từ giá trị của một cổ phiếu, biến duy nhất sẽ được phân biệt với ngẫu nhiên với lợi thế lớn, vài giờ trước đó.
Gilles 'SO- stop being evil' avatar
lá cờ cn
@fgrieu Thật vậy, nó phụ thuộc vào ứng dụng. Nếu bạn định thực hiện giao dịch ngắn hạn, độ trễ vài mili giây là một vấn đề lớn. Đối với việc chuẩn bị cho một cuộc thám hiểm trong bán kính hàng trăm km, việc có thêm vài giây khởi đầu không thành vấn đề.
lá cờ in
Tôi cũng cân nhắc sử dụng thị trường chứng khoán. Nhưng vấn đề là: bạn có xem xét nó hoặc quyền truy cập vào nó được kiểm soát bởi một số bên (tương đối) không? Trong hầu hết các trường hợp, điều đó có thể ổn, nhưng điều đó có nghĩa là bạn đang dựa vào các tổ chức của Hoa Kỳ và Phố Wall để có quyền truy cập. Tôi muốn một cái gì đó phổ quát hơn, chẳng hạn như số lần nhấp nháy do một thiên thể phát ra, mà bất kỳ ai cũng có thể truy cập riêng lẻ mà không cần phụ thuộc vào bất kỳ tổ chức hay bên nào.
kodlu avatar
lá cờ sa
IMHO, bạn cũng cần xem xét mức độ phức tạp của công nghệ và thiết bị cần thiết để truy cập "số lượng đèn flash phát ra từ một thiên thể" một cách đáng tin cậy và phổ biến.
Gilles 'SO- stop being evil' avatar
lá cờ cn
@chahausies Bất kỳ ai cũng có thể thao túng thị trường chứng khoán bằng cách giao dịch cổ phiếu. Nhưng để kiểm soát một chỉ số chứng khoán với đủ độ chính xác để giảm tập hợp các giá trị thành một vùng chọn nhỏ, bạn phải thao tác _all_ của nó hoặc gần như vậy. Đối với các tổ chức Phố Wall chỉ đơn thuần là DoS, chỉ số Dow Jones sẽ gây tổn hại nghiêm trọng cho nền kinh tế Hoa Kỳ. Để họ kiểm soát chỉ số Dow Jones thậm chí còn tốn kém hơn. Nó chỉ là không khả thi. Hãy nhớ rằng bạn sẽ cần kiểm soát tất cả giá của tất cả các cổ phiếu cho đến số thập phân cuối cùng. Điều này hoàn toàn khác với việc thao túng một số cổ phiếu để thu lợi tài chính.
lá cờ in
@Gilles'SO-stop beingevil' Tôi đồng ý rằng việc kiểm soát thị trường chứng khoán theo bất kỳ độ chính xác đáng kể nào về cơ bản là không thể. Mối quan tâm chính của tôi là **quyền truy cập** vào giá trị của giá cổ phiếu Mỹ được kiểm soát bởi một số bên tương đối và không có sẵn miễn phí như quan sát các thiên thể nói.
Điểm:1
lá cờ br

Tôi biết bạn đã nói rằng "không cần phải đồng bộ hóa với nhau" nhưng những người khác đã đề cập đến blockchain nên tôi muốn đề cập đến một bài báo hay mà tôi đã đọc:

https://jbonneau.com/doc/BGB17-IEEESB-proof_of_delay_ethereum.pdf

Bài báo này giải quyết các vấn đề với việc sử dụng hàm băm khối làm tính ngẫu nhiên. Nếu bạn chỉ sử dụng hàm băm khối làm nguồn ngẫu nhiên của mình, thì bạn mời những người khai thác ảnh hưởng đến tính ngẫu nhiên của bạn (trong xổ số, họ có thể mô phỏng xổ số để kiểm tra xem họ có trúng không và loại bỏ khối nếu không trúng). Sử dụng VDF (và một giao thức khác để đảm bảo xác minh hiệu quả), bạn có thể đảm bảo rằng không công cụ khai thác nào có thể mô phỏng cách bạn sẽ sử dụng tính ngẫu nhiên và do đó họ không thể biết nên loại bỏ khối nào và không thể ảnh hưởng đến tính ngẫu nhiên của bạn.

Hoặc ít nhất đó là sự hiểu biết của tôi về nó.

Đă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.