Oracle ในโลกคริปโตคืออะไร?

2025-07-17

Oracle ในโลกคริปโต คือบริการของบุคคลที่สามซึ่งมีหน้าที่ให้ข้อมูลจากภายนอกแก่สมาร์ตคอนแทรกต์ (Smart Contracts) โดยเปรียบเสมือนสะพานเชื่อมระหว่างบล็อกเชนกับโลกภายนอก

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

นี่จึงเป็นบทบาทสำคัญของ Oracle ทำหน้าที่เป็นตัวกลางนำข้อมูลจากนอกบล็อกเชนเข้ามาสู่ในบล็อกเชน เพื่อให้สมาร์ตคอนแทรกต์สามารถใช้งานข้อมูลเหล่านั้นได้ หากไม่มี Oracle สมาร์ตคอนแทรกต์จะมีขอบเขตการใช้งานที่จำกัดมาก เนื่องจากสามารถใช้งานได้เฉพาะข้อมูลที่อยู่ภายในระบบของบล็อกเชนเท่านั้น

Oracle ทำอะไรได้บ้าง

Oracle นั้นไม่ใช่แหล่งข้อมูลต้นทาง แต่เป็น “ชั้นกลาง” ที่มีหน้าที่ ดึงข้อมูลจากแหล่งภายนอก, ตรวจสอบความถูกต้องของข้อมูล, รับรองความน่าเชื่อถือ และส่งข้อมูลนั้นเข้าสู่สมาร์ตคอนแทรกต์

ข้อมูลที่ Oracle ส่งเข้ามาอาจเป็นได้หลายรูปแบบ เช่น

  • ราคาตลาดของสินทรัพย์ดิจิทัล

  • การทำธุรกรรมที่เสร็จสมบูรณ์

  • อุณหภูมิที่วัดได้จากเซ็นเซอร์ในโลกจริง

เมื่อสมาร์ตคอนแทรกต์ต้องการข้อมูลจากโลกภายนอก จำเป็นต้องมีการเรียกใช้ Oracle และต้องใช้ทรัพยากรในเครือข่าย (เช่น ค่าธรรมเนียมของบล็อกเชน) นอกจากนี้ Oracle บางประเภทยังสามารถส่งข้อมูลจากสมาร์ตคอนแทรกต์ “ย้อนกลับ” ไปยังโลกภายนอกได้อีกด้วย

ตัวอย่างการใช้งาน Oracle

สมมติว่ามีกิจกรรมแจกภาพ NFT (ภาพดิจิตอล) collections หายากเกิดขึ้น โดย ทีมA และ ทีมB แข่งทายกันว่าใครจะชนะการเลือกตั้งประธานาธิบดีสหรัฐฯ ครั้งหน้า ทีมA เชื่อว่าผู้สมัครจากพรรครีพับลิกันจะชนะ ส่วน ทีมB เชื่อว่าผู้สมัครจากพรรคเดโมแครตจะชนะ

ทั้งสองตกลงเงื่อนไขการเดิมพันกันไว้ล่วงหน้า และ ล็อกเหรียญซึ่งเป็นตั๋วเข้าร่วมแข่ง ไว้ในสมาร์ตคอนแทรกต์ สมาร์ตคอนแทรกต์จะเป็นผู้ปล่อย NFT ทั้งหมดให้แก่ผู้ชนะ ตามผลการเลือกตั้ง

อย่างไรก็ตาม เนื่องจากสมาร์ตคอนแทรกต์ ไม่สามารถเข้าถึงข้อมูลโลกภายนอกได้โดยตรง จึงต้อง พึ่งพา Oracle ในการส่งข้อมูลผลการเลือกตั้งเข้ามา

เมื่อการเลือกตั้งสิ้นสุดลง Oracle จะดึงข้อมูลจาก API ที่เชื่อถือได้ เพื่อตรวจสอบว่าใครคือผู้ชนะ
จากนั้น Oracle จะส่งข้อมูลนี้ให้สมาร์ตคอนแทรกต์ หลังจากนั้นสมาร์ตคอนแทรกต์จึงจะสามารถส่ง NFT รางวัลให้กับ ทีมA หรือ ทีมB ตามผลการเลือกตั้งที่แท้จริงได้

หาก ไม่มี Oracle มาคอยรายงานผลที่ถูกต้อง สมาร์ตคอนแทรกต์จะ ไม่สามารถตัดสินได้ว่าใครเป็นผู้ชนะ และการเดิมพันนี้ก็อาจถูกโกงหรือมีข้อโต้แย้งจากฝ่ายใดฝ่ายหนึ่งได้

ประเภทของ Oracle

Oracle ในบล็อกเชนสามารถจำแนกได้ตามคุณลักษณะต่าง ๆ ดังนี้

1. ตามแหล่งที่มาของข้อมูล (Source)

  • Software Oracle (Oracle แบบซอฟต์แวร์) : ดึงข้อมูลจากแหล่งออนไลน์ เช่น เว็บไซต์, API, ฐานข้อมูล, หรือบริการออนไลน์อื่น ๆ ยกตัวอย่างเช่น ราคาสินทรัพย์จาก CoinGecko API


  • Hardware Oracle (Oracle แบบฮาร์ดแวร์) : ดึงข้อมูลจากอุปกรณ์ทางกายภาพ เช่น เซ็นเซอร์, กล้อง, เครื่องสแกน RFID ยกตัวอย่างเช่น เซ็นเซอร์วัดอุณหภูมิในโกดังเก็บสินค้า


2. ตามทิศทางของข้อมูล (Direction of Information)

  • Inbound Oracle (Oracle ขาเข้า) : ส่งข้อมูลจากโลกภายนอก เข้าสู่บล็อกเชน ยกตัวอย่างเช่น รายงานผลการแข่งขันฟุตบอลให้สมาร์ตคอนแทรกต์ในระบบบล็อกเชน


  • Outbound Oracle (Oracle ขาออก) : ส่งข้อมูลจากบล็อกเชน ออกสู่โลกภายนอก ยกตัวอย่างเช่น แจ้งธนาคารให้โอนเงินเมื่อสมาร์ตคอนแทรกต์เรียกใช้


3. ตามระดับความไว้วางใจ (Trust Model)

  • Centralized Oracle (Oracle แบบรวมศูนย์) : มีผู้ให้บริการเพียงรายเดียวควบคุมการส่งข้อมูล
    ข้อดีคือเร็วและง่าย ส่วนข้อเสียคือเสี่ยงต่อการถูกโจมตีหรือบิดเบือนข้อมูล


  • Decentralized Oracle (Oracle แบบกระจายศูนย์) : ใช้ Oracle หลายแหล่งข้อมูลมารวมกันเพื่อลดความเสี่ยงและเพิ่มความน่าเชื่อถือ ข้อดีคือ ปลอดภัย และทนทานต่อการบิดเบือนมากกว่า ยกตัวอย่างเช่น Chainlink, Band Protocol


4. ตามรูปแบบการใช้งาน (Usage Model)

  • Contract-Specific Oracle (Oracle เฉพาะสัญญา): ถูกออกแบบมาเพื่อใช้กับสมาร์ตคอนแทรกต์เฉพาะรายเท่านั้น ข้อดีคือปรับแต่งได้ตามกรณีการใช้งาน ส่วนข้อเสียใช้เวลานาน, ต้นทุนสูง และ ไม่เหมาะสำหรับการใช้งานจำนวนมาก


  • Human Oracle (Oracle ที่เป็นมนุษย์): บุคคลที่มีความเชี่ยวชาญเฉพาะด้านซึ่งสามารถตรวจสอบข้อมูลและส่งต่อให้สมาร์ตคอนแทรกต์ ข้อดีเหมาะกับข้อมูลเฉพาะทางที่ระบบอัตโนมัติประมวลผลได้ยาก ( ใช้การเข้ารหัสยืนยันตัวตนเพื่อความปลอดภัย )


Oracle หนึ่งตัวสามารถอยู่ในหลายหมวดหมู่ได้ในเวลาเดียวกัน ยกตัวอย่างเช่น Oracle ที่ดึงข้อมูลจากเว็บไซต์ของบริษัท (เช่นราคาหุ้น) สามารถเป็นทั้ง  Inbound + Software + Centralized Oracle และอื่นๆ สามารถผสมได้ตามวัตถุประสงค์แต่ละ Oracle

ปัญหาของ Oracle (The Oracle Problem)

เนื่องจากสมาร์ตคอนแทรกต์ต้องอาศัยข้อมูลจาก Oracle เพื่อดำเนินการต่าง ๆ การออกแบบ Oracle ให้ปลอดภัยจึงมีความสำคัญอย่างมากต่อระบบนิเวศของบล็อกเชน

อย่างไรก็ตาม Oracle เองก็มีข้อจำกัดและช่องโหว่ โดยเฉพาะเมื่อ "Oracle ถูกโจมตีหรือให้ข้อมูลไม่ถูกต้อง" สมาร์ตคอนแทรกต์ที่อ้างอิงข้อมูลนั้นก็จะทำงานผิดพลาดตามไปด้วย ปัญหานี้ถูกเรียกว่า  “The Oracle Problem”

ปัญหาหลักของ Oracle:

  • Oracle ไม่ได้เป็นส่วนหนึ่งของกลไกของบล็อกเชนหลัก
    จึงไม่ได้รับการคุ้มครองจากกลไกความปลอดภัยของเครือข่ายบล็อกเชน เช่น Proof-of-Work หรือ Proof-of-Stake

  • มี ช่องว่างของความไว้วางใจ ระหว่าง สมาร์ตคอนแทรกต์ที่ทำงานแบบไม่ต้องเชื่อใจ(trustless) และ Oracle ซึ่งเป็นบุคคลหรือระบบภายนอกที่ต้อง "เชื่อใจ" ว่าจะให้ข้อมูลที่ถูกต้อง

  • เสี่ยงต่อการโจมตีแบบ Man-in-the-Middle แฮ็กเกอร์อาจดักข้อมูลระหว่าง Oracle กับสมาร์ตคอนแทรกต์ และปลอมแปลงข้อมูลระหว่างทาง

บทสรุป

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

หากไม่มี Oracle บนบล็อกเชน สมาร์ตคอนแทรกต์จะสามารถเข้าถึงได้เพียงข้อมูลภายในระบบเท่านั้น ซึ่งจะ จำกัดขอบเขตและศักยภาพ อย่างมากของการใช้งาน

ด้วยเหตุนี้ การเลือก Oracle ที่เหมาะสมจึงมีความสำคัญมาก โดยเฉพาะ Oracle แบบกระจายศูนย์ (Decentralized Oracle) ซึ่งมีศักยภาพในการสร้างกลไกป้องกันความเสี่ยงเชิงระบบ (systemic risk) ภายในระบบนิเวศบล็อกเชน จึงมักถูกเลือกเป็นตัวเลือกแรก ๆ

เพื่อขับเคลื่อนการเติบโตของเทคโนโลยีบล็อกเชน Oracle จึงจำเป็นต้องได้รับการพัฒนาให้มีความปลอดภัย เชื่อถือได้ และไม่ต้องพึ่งพาความไว้วางใจ (trustless) อย่างต่อเนื่อง