Blockchain Oracle คืออะไร

Blockchain oracle คือบริการของบุคคลที่สาม ที่ทำหน้าที่เป็นตัวเชื่อมต่อระหว่างบล็อกเชนต่างๆ และข้อมูลภายนอก

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

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

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

ในปัจจุบันมี Oracles อยู่หลายประเภท ซึ่งวิธีการทำงานของมันขึ้นอยู่ว่ามันถูกออกแบบมาเพื่ออะไร

 

ตัวอย่าง Blockchain Oracle

สมมติว่านาย A และนาย B เดิมพันกันว่าใครจะได้เป็นรัฐบาล นาย A คิดว่าพรรค ก. จะได้เป็นรัฐบาล นาย B เชื่อว่าพรรค พ. จะได้เป็นรัฐบาล พวกเขา 2 คนตกลงเงื่อนไขในการเดิมพันและล็อคเงินไว้ใน smart contract ซึ่งสัญญาจะปลดล็อคให้กับผู้ที่ชนะเดิมพัน

โดยปกติแล้ว smart contract จะไม่สามารถดึงข้อมูลจากภายนอกได้ จึงจำเป็นต้องใช้ Oracle ในการดึงข้อมูลที่จำเป็นมา ในกรณีนี้คือผลการเลือกตั้งรัฐบาล ซึ่งหลังจากผลการตั้งรัฐบาลออกมาแล้ว Oracle จะดึงข้อมูลจากแหล่งที่เชื่อถือได้เพื่อดูว่าพรรคไหนที่ตั้งรัฐบาลได้ และส่งต่อข้อมูลที่กรองแล้วนี้เข้าไปที่ smart contract จากนั้นสัญญาจะส่งเงินไปให้กับผู้ชนะเดิมพัน ไม่ว่าจะเป็นนาย A หรือนาย B

ขอย้ำว่านี่เป็นเหตุการณ์สมมติ จะเห็นว่าหากไม่มีตัวกลางอย่าง Oracle smart contract จะไม่มีข้อมูลว่าใครจะเป็นผู้ชนะเดิมพัน

 

Blockchain Oracle มีประเภทใดบ้าง

Oracle สามารถแบ่งออกได้หลายประเภท ขึ้นอยู่กับคุณสมบัติที่แตกต่างกัน

แหล่งที่มา : ข้อมูลมาจากซอฟต์แวร์หรือฮาร์ดแวร์

ทิศทางขอข้อมูล : ข้อมูลเข้าหรือออก

ความน่าเชื่อถือ : เป็นแบบรวมศูนย์หรือกระจายศูนย์

 

Software oracles

Oracle แบบซอฟต์แวร์โต้ตอบกับแหล่งข้อมูลออนไลน์แล้วส่งต่อไปยังบล็อกเชน ข้อมูลที่นำมานี้อาจจมาจากฐานข้อมูลออนไลน์ เซิร์ฟเวอร์ เว็บไซต์

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

โดยข้อมูลที่มักถูกดึงโดย Oracle ประเภทนี้ ได้แก่ อัตราแลกเปลี่ยน ราคาคริปโทเคอร์เรนซี

 

Hardware oracles

Smart contract บางตัวจำเป็นต้องเชื่อมต่อกับโลกแห่งความเป็นจริง oracle แบบฮาร์ดแวร์ได้รับการออกแบบเพื่อรับข้อมูลจากโลกทางกายภาพและทำให้พร้อมในการใช้งานกับ smart contract ข้อมูลที่พูดถึงนี้อาจรับมาจากเซ็นเซอร์อิเล็กทรอนิกส์ เครื่องสแกนบาร์ดค้ด และอุแกรณ์อ่านข้อมูลอื่นๆ

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

 

Oracle ข้อมูลขาเข้าและขาออก

Oracle ข้อมูลขาเข้าส่งมูลจากภายนอกเข้าไปยัง smart contract ในขณะที่ oracle ข้อมูลขาออกส่งข้อมูลจาก smart contract ไปสู่โลกภายนอก

 

Oracle แบบรวมศูนย์และกระจายศูนย์

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

Oracle แบบกระจายศูนย์มีวัตถุประสงค์เดียวกับบล็อกเชนสาธารณะ พวกเขาเพิ่มความน่าเชื่อถือของข้อมูลที่ให้กับ smart contract โดยการไม่อาศัยข้อมูลจากแหล่งเดียว smart contract จะหาข้อมูลจาก Oracle หลายตัวเพื่อระบุความถูกต้องและแม่นยำของข้อมูล

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

 

Oracle เฉพาะสัญญา

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

 

Human Oracle

บางครั้งบุคคลที่มีความรู้เฉพาะทางในสาขาใดสาขาหนึ่งก็สามารถทำหน้าที่เป็น Oracle ได้เช่นกัน บุคคลเหล่านี้สามารถค้นคว้าและตรวจสอบความถูกต้องของข้อมูลจากแหล่งต่างๆและแปลงข้อมูลดังกล่าวเข้าสู่ smart contract เนื่องจาก Human Oracle สามารถพิสูจน์ตัวตนได็โดยวิธีการทาง Cryptography ความเป็นไปได้ที่ผู้ประสงค์ไม่ดีจะปลอมแปลงตัวตนและให้ข้อมูลที่เสียหายจึงค่อนข้างต่ำ

 

ปัญหาของ Oracle

เนื่องจาก smart contract ดำเนินการตัดสินใจตามข้อมูลที่ได้รับจาก Oracle Oracle จึงเป็นกุญแจสำคัญในการสร้างระบบนิเวศบล็อกเชนที่ดี ความท้าทายหลักในการออกแบบ Oracle ก็คือ ถ้า Oracle ถูกโจมตี smart contract ก็จะถูกโจมตีด้วยเช่นกัน

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

Reference : Binance Academy