ฉันต้องการทราบว่าสามารถใช้การเข้ารหัสดั้งเดิมแบบใดสำหรับอลิซเพื่อพิสูจน์ให้บ็อบเห็นว่าเธอใช้งานโปรแกรมจริง เป้าหมายคือสร้างหลักฐานการทำงานที่เป็นประโยชน์ โดยที่อลิซพิสูจน์ว่าเธอยืนยันการทำธุรกรรม แต่หลักฐานนี้เชื่อมโยงกับกุญแจสาธารณะของอลิซ การสร้างการพิสูจน์จะต้องทำได้โดยการรันโปรแกรมเท่านั้น การตรวจสอบหลักฐานควรทำได้เร็วกว่ามากโดยใช้รหัสสาธารณะของอลิซ
อินพุต (ทุกคนรู้จัก):
- ตัวตนของอลิซ (รวมถึงรหัสสาธารณะและเนื้อหาที่จำเป็นอื่นๆ)
- อินพุตของโปรแกรม
- โปรแกรมนั่นเอง
- ผลลัพธ์ของโปรแกรม
ผลลัพธ์ (สร้างโดยอลิซ):
การยืนยัน (ดำเนินการโดย Bob):
- นำข้อมูลทั้งหมดบวกกับหลักฐานการดำเนินการ และตรวจสอบว่าถูกต้อง
ข้อ จำกัด:
- แม้ว่าอีฟจะรู้อินพุตและเอาต์พุตทั้งหมด แต่ก็ไม่ควรทำให้เธอได้เปรียบในการสร้างหลักฐานการดำเนินการของเธอเอง
- การตรวจสอบควรเร็วกว่าการสร้างหลักฐานใหม่
ขณะนี้ฉันกำลังดู Verifiable Delay Functions และ Verifiable Random Function แต่ดูเหมือนจะไม่เข้าเป้านัก บางทีอาจใช้ ZKP บางชนิดได้ แต่เพื่อพิสูจน์ว่าการดำเนินการทั่วไปของโปรแกรมนั้นดูเป็นเรื่องที่ยากมาก