จำนวนสุ่มที่ต้องการคือจำนวนเต็มระหว่าง 0 ถึง $\ell$. แต่ละคนเลือกหมายเลขสุ่ม $x_i$ ระหว่าง 0 ถึง $\ell$, และแต่ละคนเลือก $n$- ปัจจัยที่ทำให้ไม่เห็นแบบสุ่มบิต $b_i$ ที่ไหน $n\geq 128$ และ $n$ จะต้องตกลงกันล่วงหน้า แต่ละประกาศความมุ่งมั่นแฮชที่คำนวณเป็น $H(b \mathbin\|x)$. จากนั้นพวกเขาแต่ละคนก็เปิดข้อผูกพันโดยประกาศคุณค่าของ $ข$ และ $x$และคำนวณจำนวนสุ่มเป็น $$x_1 + x_2\ \pmod \ell.$$ นี่เป็นความปลอดภัยเชิงควอนตัมหากแฮชและทางเลือกของ $n$ อยู่ด้วยกันอย่างปลอดภัยควอนตัม
ตามที่ @poncho ชี้ให้เห็น บุคคลที่เปิดข้อผูกมัดของตนเป็นคนสุดท้ายสามารถจำลองความล้มเหลวในการดำเนินโปรโตคอลให้เสร็จสมบูรณ์ได้ หากพวกเขาไม่พอใจกับค่าสุ่มที่ใช้ร่วมกันซึ่งจะถูกสร้างขึ้นระหว่างการเรียกใช้โปรโตคอลนั้นนี่อาจเป็นปัญหาโดยเฉพาะอย่างยิ่งหาก $\ell$ เล็ก.
วิธีหนึ่งในการหลีกเลี่ยงปัญหานี้คือเพื่อให้แน่ใจว่ามีการเสียสิทธิ์เนื่องจากความล้มเหลวในการดำเนินโปรโตคอลให้เสร็จสมบูรณ์ ตัวอย่างเช่น แต่ละคนสามารถฝากเงินกับอนุญาโตตุลาการที่เชื่อถือได้ซึ่งจะยึดเงินเหล่านั้นจากบุคคลที่ไม่ปฏิบัติตามโปรโตคอล การสละสิทธิ์ควรเท่ากับหรือเกินกว่ากำไรสูงสุดที่เป็นไปได้จากการจำลองความล้มเหลว