ฉันขอแนะนำให้ดูที่ Truestamp เอนโทรปีที่สังเกตได้ โครงการ. เราเพิ่งสร้างสิ่งนี้เพื่อตอบสนองความต้องการประเภทการสุ่มที่คุณถามถึง
Observable Entropy จะรวบรวมการสุ่มจากแหล่งที่มาที่สาธารณะตรวจสอบได้โดยอัตโนมัติทุก ๆ ห้านาที จัดเก็บและแฮชเนื้อหาของข้อมูลที่ดึงมานั้น แฮชของไฟล์แหล่งข้อมูลแต่ละไฟล์จะถูกรวมเข้าด้วยกันและแฮชตามกำหนด ส่งผลให้เกิดแฮช SHA2-256 ที่มีการลงนามขั้นสุดท้ายซึ่งแสดงถึงจำนวนรวมของเอนโทรปีที่รวบรวมเป็นค่าสุ่มสาธารณะที่ตรวจสอบได้ใหม่
ขณะนี้ระบบรวบรวมข้อมูลจากแหล่งข้อมูลสาธารณะต่อไปนี้ในแต่ละช่วงเวลา:
- ส่วนหัวของบล็อกล่าสุดของ Bitcoin blockchain
- ส่วนหัวของบล็อก Stellar Blockchain ล่าสุด
- ส่วนหัวบล็อกล่าสุดของ Ethereum blockchain
- Drand สัญญาณสุ่ม
- สัญญาณสุ่ม NIST
- ข่าวแฮ็กเกอร์ เรื่องราว 10 อันดับแรกและลิงก์เนื้อหา
- การประทับเวลา UTC
แต่ละสิ่งเหล่านี้ยกเว้นการประทับเวลาเพื่อความสะดวกถือเป็นแหล่งที่มาของการสุ่ม สำหรับผู้ที่หวาดระแวงอย่างแท้จริง คุณสามารถระบุเอนโทรปีของคุณเองเพื่อเพิ่มลงในส่วนผสมในรูปแบบของสตริงฐานสิบหก 32 ไบต์ที่เป็นตัวแทน เช่น แฮชหรือไบต์สุ่ม คุณสามารถมีส่วนร่วมในการสุ่มของคุณเองหากคุณไม่เชื่อถือแหล่งข้อมูลอื่นอย่างเต็มที่
ข้อมูลทั้งหมดที่รวบรวมในแต่ละช่วงเวลา ตลอดจนแฮชที่เป็นผลลัพธ์ ถูกกำหนดให้กับที่เก็บ Github สาธารณะ หากคุณลอกแบบ repo จะมีสคริปต์ที่ให้คุณสร้างเอนโทรปีแฮชจากข้อมูลที่เก็บไว้ด้วยตัวคุณเอง คุณยังสามารถตรวจสอบลายเซ็นคีย์สาธารณะในเอนโทรปีเพื่อให้แน่ใจว่า Truestamp ลงนาม นอกจากนี้ยังมีคำแนะนำสำหรับวิธีการตรวจสอบแหล่งที่มาของเอนโทรปีสาธารณะแต่ละแหล่งหรือลายเซ็นด้วยตัวคุณเอง
เกือบทุกคนสามารถดูแลรักษาและซิงค์โคลนของ repo นี้ได้ง่าย เพื่อให้มั่นใจว่าทุกคนมีข้อมูลเดียวกัน หรือสามารถอ้างอิงเอนโทรปี ณ เวลาใดเวลาหนึ่งได้ ตัวอย่างเช่น คุณและกลุ่มคนอื่นๆ สามารถตกลงที่จะใช้ค่าสุ่มที่เป็นค่าล่าสุด ณ เวลาใดเวลาหนึ่งในอนาคต เมื่อถึงเวลานั้น คุณจะดูข้อมูลที่เก็บไว้ใน Git คอมมิชชันเดียวกัน ซึ่งปกติแล้วควรมีอายุไม่เกิน 5 นาที การจัดเก็บไว้ใน Git จะทำให้คุณได้รับคุณสมบัติความสมบูรณ์ทั้งหมดที่ Git นำเสนอ เช่น แฮชคอมมิทแบบลูกโซ่ และการแตกของโคลน ถ้ามีคนส่งชุดข้อมูลใหม่ทั้งหมดไปยัง Github ซึ่งจะเป็นตัวบ่งชี้ที่ชัดเจนถึงตัวการที่ไม่ดี
นอกจากนี้ ค่าเอนโทรปีในอดีตและค่าล่าสุดยังมีให้ใช้งานผ่าน API สาธารณะ (ซึ่งเป็นเพียงพร็อกซีที่ออกแบบมาเพื่ออ่านข้อมูลดิบล่าสุดจาก Github Repo และไม่มีแคชหรือที่เก็บข้อมูลของตัวเอง) นี่คือตัวอย่างผลลัพธ์จาก https://entropy.truestamp.com/latest.
ฉันเชื่อว่าสิ่งนี้เป็นไปตามข้อกำหนดดั้งเดิมของคุณ:
- ไม่มีฝ่ายใดควบคุม (หรือเข้าถึงได้)
- ไม่สามารถทำนายได้อย่างน่าเชื่อถือ
- จะต้องเหมือนกันสำหรับแต่ละคนที่เข้าถึง
ที่ ทรูสแตมป์ เราจะใช้แหล่งที่มาของการสุ่มที่ตรวจสอบได้นี้เพื่อช่วยพิสูจน์ว่าข้อมูลที่ส่งไปยังระบบของเรานั้นสร้างขึ้นอย่างพิสูจน์ได้และเป็นอิสระตรวจสอบได้หลังจากช่วงเวลาหนึ่งๆ
เราอยากรับฟังความคิดเห็นของคุณ เนื่องจากนี่เป็นบริการใหม่และค่อนข้างทดลอง ซึ่งดำเนินการได้อย่างน่าเชื่อถือเป็นเวลาประมาณสองเดือนแล้ว
อัปเดตเมื่อ 25/08/2021 เพื่อแสดงความคิดเห็นโดย @fgrieu:
ขอบคุณสำหรับความคิดเห็น @fgrieu เราจะพยายามแก้ไขข้อกังวลของคุณ หรือขอคำชี้แจงเพิ่มเติมเกี่ยวกับปัญหาที่อาจเกิดขึ้นที่คุณรู้สึกว่ามีอยู่
(1) คนวงในรู้ผลก่อนคนอื่น
ในการใช้งานนี้ ไม่มี “คนวงใน” ที่สามารถเข้าถึงข้อมูลสุดท้ายที่ถูกแฮชเพื่อสร้างเอนโทรปีสุดท้าย การรวบรวมข้อมูลเสร็จสิ้นโดยใช้ระบบอัตโนมัติที่จัดทำโดยเวิร์กโฟลว์ Github Actions ข้อมูลที่รวบรวม เช่น บีคอน Drand ที่มีลายเซ็น จะไม่เป็นที่รู้จักต่อสาธารณะจนกว่าจะมีการเก็บรวบรวม (ทุกคนจะได้รับบีคอนแบบสุ่มที่มีลายเซ็นใหม่) ในกรณีนี้ คนวงในเพียงคนเดียวคือคนที่ Github ที่มีสิทธิ์เข้าถึงโครงสร้างพื้นฐาน และสามารถแยกเนื้อหาของหน่วยความจำสำหรับสคริปต์นี้หลังจากรัน SHA-256 500,000 รอบ แม้จะอยู่ในสถานการณ์ที่ไม่น่าเป็นไปได้นี้ พวกเขาก็ยังสามารถเข้าถึงค่าเอนโทรปีสุดท้ายได้ภายในเวลาไม่กี่มิลลิวินาทีของเวลาที่คอมมิต และเผยแพร่ต่อสาธารณะให้ทุกคนในที่เก็บ Github โปรเจกต์นี้ซึ่งรวบรวมเอนโทรปีทุกๆ 5 นาที ไม่น่าจะไวต่อความละเอียดของเวลาระดับนี้อาจมีสถานการณ์ที่การดูตัวอย่างค่าสุดท้ายล่วงหน้า (~ 1 วินาที) จะมีประโยชน์มากพอสำหรับผู้โจมตีที่จะบังคับให้ Github ประนีประนอม ฉันไม่คิดว่ากรณีการใช้งานที่โปรเจ็กต์นี้มีไว้สำหรับจะได้รับผลกระทบจากสิ่งนี้
ในทางปฏิบัติ ไม่มีใครสามารถเข้าถึงผลลัพธ์สุดท้ายได้จนกว่าพวกเขาจะทำทั้งหมดเมื่อมีการกระทำแบบสาธารณะ ณ จุดนี้ มันจะเป็นการแข่งขันว่าใครสามารถรับคอมมิชชันได้ก่อน สำหรับผู้ที่แสวงหาข้อได้เปรียบนี้ ฉันอยากจะแนะนำว่าหากความต้องการเอนโทรปีของคุณไวต่อมิลลิวินาทีเมื่อต้องเปิดเผยผลลัพธ์ นี่ไม่ใช่โครงการสำหรับคุณ
(2) คนวงในสามารถทราบข้อมูลก่อนผู้อื่นและใช้ข้อมูลนั้นเพื่อเสนอ
อินพุตพิเศษสุดท้ายที่จัดการผลลัพธ์ เช่น. ทำให้
สั่งซื้อต่ำ 16 บิตค่าใด ๆ ที่ต้องการ
ฉันได้กล่าวถึงแนวคิดของ “คนวงใน” ข้างต้น มีแหล่งที่มาที่ Observable Entropy รวบรวมไว้ซึ่งสามารถทราบได้สำหรับบุคคลภายนอกที่ต้องการพยายามควบคุมผลลัพธ์สุดท้ายโดยการส่งข้อมูลการโจมตีของตนเอง อย่างไรก็ตาม สิ่งนี้จะล้มเหลวเนื่องจากผู้โจมตีไม่สามารถทราบค่าที่รวบรวมสคริปต์ของ Drand beacon หรือการประทับเวลา เมื่อสคริปต์ทำงาน ซึ่งทั้งสองอย่างนี้จะทราบเฉพาะสคริปต์เองในขณะดำเนินการเท่านั้น
ฉันไม่ทราบว่ามีการโจมตี SHA2-256 หลายรอบซึ่งจะทำให้ผู้โจมตีสามารถคาดเดาได้ว่าบิตใดของเอาต์พุตจะถูกแก้ไขเพื่อให้เหมาะกับผลลัพธ์ที่ต้องการ
ความสามารถในการยอมรับและเผยแพร่เอนโทรปีที่ผู้ใช้ให้มา แม้กระทั่งช่วงเวลาสุดท้ายก่อนที่สคริปต์คอลเลกชันจะเริ่มต้นขึ้น ถือเป็นข้อดี สิ่งนี้ทำให้ทุกคนสามารถส่งเอนโทรปีที่จะถูกรวมไว้และไม่ต้องการให้ผู้บริโภคมีความไว้วางใจอย่างเต็มที่ในแหล่งที่มาของเอนโทรปีที่ป้อนผลลัพธ์สุดท้าย พวกเขาจำเป็นต้องเชื่อถือข้อมูลของตนเองเท่านั้น พวกเขาสามารถตรวจสอบได้ว่าข้อมูลของพวกเขาถูกรวมไว้โดยการรันสคริปต์ในเครื่องเพื่อยืนยันเอาต์พุตเอนโทรปีเดียวกัน
หน้าที่ 31 จาก งานนำเสนอนี้ (และที่เกี่ยวข้อง เอกสารวิชาการ) ให้ข้อมูลเพิ่มเติมเกี่ยวกับแนวคิดและประโยชน์ของการรวมข้อมูลสาธารณะแบบเปิด
(3) การแพร่กระจายของผลลัพธ์จะไม่เกิดขึ้นทันที
ผู้ที่ไม่ใช่คนวงในสามารถเป็นผู้นำได้ และการปรับแต่งเครือข่ายได้
ปลูกเทียมขึ้น
หากเราเข้าใจสิ่งที่คุณพยายามจะสื่อ อันที่จริงแล้ว “การแพร่กระจายของผลลัพธ์” จะเกิดขึ้นทันที ผลลัพธ์สามารถทราบได้เฉพาะกับสคริปต์การสร้างในขณะนี้ ซึ่งได้รวบรวมแหล่งข้อมูลทั้งหมด ซึ่งบางแหล่งข้อมูลไม่ได้เปิดเผยต่อสาธารณะ แต่สามารถตรวจสอบได้หลังจากข้อเท็จจริง หากไม่มีข้อมูลทั้งหมดนี้จะเป็นไปไม่ได้ที่จะไปถึงแฮชเอาต์พุตสุดท้าย หน้าต่างแห่งโอกาสอยู่ระหว่างช่วงเวลาที่เช่น มีการรวบรวมค่าบีคอนของ Drand และการต่อแฮชและรอบแฮชสุดท้ายได้เริ่มขึ้นแล้ว
ความต้องการของผู้โพสต์ต้นฉบับสามารถเติมเต็มได้โดยใช้เพียง สัญญาณสุ่ม NIST หรือ ดแรนด์บีคอน ตามลำพัง. แต่สิ่งนี้ต้องการความไว้วางใจในระดับหนึ่งในโครงสร้างพื้นฐานและเจ้าของสำหรับแต่ละส่วน โซลูชันนี้กระจายความไว้วางใจนั้นไปยังแหล่งข้อมูลสาธารณะและที่ตรวจสอบได้หลายแห่ง (รวมถึงตัวคุณเอง) ด้วยแหล่งข้อมูลทั้งหมดที่ตรวจสอบได้หลังจากข้อเท็จจริง นี่เป็นข้อแตกต่างที่สำคัญจากระบบที่สังเกตปรากฏการณ์ทางธรรมชาติซึ่งไม่อนุญาตให้ผู้อื่นตรวจสอบหลังจากการสังเกต
ฉันยินดีที่จะรับฟังความคิดเห็นเพิ่มเติมเกี่ยวกับจุดอ่อนที่ยังหลงเหลืออยู่ในข้อโต้แย้งหรือระบบของฉัน และข้อเสนอแนะสำหรับการปรับปรุง