GaiaEx
บทเรียนที่ 29 จาก 73
intermediate6 นาทีมีแบบทดสอบ

เจาะลึก DApp และสัญญาอัจฉริยะ

สัญญาอัจฉริยะ (Smart Contracts)

แอปแบบกระจายศูนย์ถูกสร้าง รักษาความปลอดภัย และกำกับดูแลอย่างไร.

อัปเดตเมื่อ 21 ต.ค. 2569GaiaEx Academy Editorial

ในบทเรียนนี้

  • ความเสี่ยงของสัญญาอัจฉริยะที่พบบ่อย
  • การตรวจสอบ (audit) ทำอะไร

ประเด็นสำคัญ

  1. 1โค้ดที่เปลี่ยนไม่ได้หมายความว่าบั๊กสามารถร้ายแรงมากได้
  2. 2การตรวจสอบล่าหาช่องโหว่ก่อนเปิดตัว
  3. 3Reentrancy และการอนุมัติที่ไม่ดีคือช่องโหว่คลาสสิก

สรุปบทเรียน

ความปลอดภัยของสัญญาอัจฉริยะคือการป้องกันไม่ให้โค้ดทำสิ่งที่ไม่ได้ตั้งใจกับสินทรัพย์จริง

โมเดลความคิด

สัญญาอัจฉริยะ (Smart Contracts) แบบเข้าใจง่าย

ความปลอดภัยของสัญญาอัจฉริยะคือการป้องกันไม่ให้โค้ดทำสิ่งที่ไม่ได้ตั้งใจกับสินทรัพย์จริง การตรวจสอบ (audit) เพิ่มความมั่นใจ แต่ไม่ใช่ประกันภัย.

  • ความเสี่ยงของสัญญาอัจฉริยะที่พบบ่อย
  • การตรวจสอบ (audit) ทำอะไร

กลไกการทำงาน

วิธีคิดเกี่ยวกับ สัญญาอัจฉริยะ

ผู้ตรวจสอบทบทวนตรรกะ สิทธิ์ กรณีขอบ และประเภทช่องโหว่ที่รู้จัก.

bug bounty และเวลาที่ใช้งานจริงให้หลักฐานเพิ่มเติม.

คีย์การอัปเกรดและบทบาทผู้ดูแลระบบสามารถสำคัญเท่ากับตัวโค้ดเอง.

  • โค้ดที่เปลี่ยนไม่ได้หมายความว่าบั๊กสามารถร้ายแรงมากได้
  • การตรวจสอบล่าหาช่องโหว่ก่อนเปิดตัว
  • Reentrancy และการอนุมัติที่ไม่ดีคือช่องโหว่คลาสสิก

ตัวอย่าง

สัญญาอัจฉริยะ ที่นำไปใช้

บั๊ก reentrancy สามารถให้ผู้โจมตีเรียกกลับเข้าไปในสัญญาก่อนที่ยอดคงเหลือจะถูกอัปเดต ดูดเงินออกไปได้ถ้าไม่มีการป้องกัน.

จำไว้หลักการตัดสินใจ: ปฏิบัติต่อการตรวจสอบเป็นหลักฐาน แล้วจึงยืนยันการดีพลอย การควบคุมของผู้ดูแลระบบ และประวัติเหตุการณ์จริง.

ข้อผิดพลาดที่พบบ่อย

สัญญาอัจฉริยะ หลอกให้ผู้เรียนพลาดได้อย่างไร

โลโก้ audit บนเว็บไซต์ไม่พอ ผู้ใช้ต้องรู้ว่าเวอร์ชันไหนถูกตรวจสอบ และสัญญาที่ดีพลอยจริงตรงกับมันหรือไม่.

บันทึกความเสี่ยง

ก่อนที่คุณจะพึ่งพา สัญญาอัจฉริยะ

Reentrancy การบิดเบือนออราเคิล สิทธิ์ที่ไม่ถูกตรวจสอบ การอัปเกรดที่ไม่ดี และการอนุมัติแบบไม่จำกัดสามารถสร้างเส้นทางความเสียหายที่ร้ายแรงได้.

  • ตรวจสอบขอบเขตของการตรวจสอบ
  • ทบทวนอำนาจของผู้ดูแลระบบหรือการอัปเกรด
  • หลีกเลี่ยงการอนุมัติแบบไม่จำกัดที่ไม่จำเป็น

ฝึกฝน

ทำให้ สัญญาอัจฉริยะ ติดตัวคุณ

  • ตรวจสอบขอบเขตของการตรวจสอบ
  • ทบทวนอำนาจของผู้ดูแลระบบหรือการอัปเกรด
  • หลีกเลี่ยงการอนุมัติแบบไม่จำกัดที่ไม่จำเป็น

รีวิว

คำศัพท์สำคัญ

ออราเคิล (oracle)
บริการที่ส่งข้อมูลจากโลกจริง (เช่นราคา) เข้าสู่สัญญาอัจฉริยะบนเชน
สัญญาอัจฉริยะ
โค้ดที่รันตัวเองได้บนบล็อกเชน ทำงานตามที่เขียนไว้เป๊ะเมื่อเงื่อนไขครบถ้วน
การบิดเบือนข้อมูลออราเคิล
การใช้ประโยชน์จากฟีดราคาที่ผิดพลาดเพื่อดูดเงินจากโปรโตคอล
บล็อกเชน
บัญชีบันทึกข้อมูลแบบเพิ่มได้เท่านั้น (append-only) ที่ถูกทำสำเนาไว้บนคอมพิวเตอร์หลายเครื่อง โดยมีการเข้ารหัสและฉันทามติเป็นตัวรักษาความปลอดภัย
กลไกฉันทามติ (consensus mechanism)
กระบวนการที่เครือข่ายแบบกระจายศูนย์ใช้ตกลงกันว่าสถานะใดของบัญชีเป็นสถานะที่ถูกต้อง เช่น PoW, PoS

บันทึกแหล่งอ้างอิง

แหล่งอ้างอิงเนื้อหา

แหล่งอ้างอิงเหล่านี้เป็นจุดเริ่มต้นสำหรับตรวจสอบกลไก ข้อตรวจสอบความเสี่ยง และบริบทผลิตภัณฑ์ที่อยู่หลังบทเรียนนี้

ก่อนที่คุณจะเรียนต่อ

คุณทำสิ่งเหล่านี้ได้ไหม?

  • ตรวจสอบขอบเขตของการตรวจสอบ
  • ทบทวนอำนาจของผู้ดูแลระบบหรือการอัปเกรด
  • หลีกเลี่ยงการอนุมัติแบบไม่จำกัดที่ไม่จำเป็น

การเรียนที่เกี่ยวข้อง

อ่านต่อ

จุดตรวจสอบ

จบบทเรียนนี้

ผ่านการตรวจสอบเพื่อบันทึกความคืบหน้า แล้วเรียนต่อไปตามลำดับในแทร็ก

ทดสอบความรู้

ยืนยันบทเรียนนี้

ตอบทุกคำถามให้ถูกต้องเพื่อจบบทเรียน

1 / 2

ความเสี่ยงของสัญญาอัจฉริยะที่พบบ่อยคือ…