23 มิ.ย. 2022 เวลา 00:30 • คริปโทเคอร์เรนซี
Blockchain Oracle คืออะไร? มาทำความรู้จักกัน กับสะพานเชื่อมระหว่างโลกจริงและบล็อกเชน
หากใครที่ชอบอ่านข้อมูลเกี่ยวกับโปรเจกต์ของเหรียญต่าง ๆ นั้นอาจจะเคยเห็นคำว่า Oracle ผ่านตากันมาบ้างแล้ว ว่าแต่มันคืออะไร เกี่ยวข้องยังไงกับบล็อกเชน ไปดูกัน!
🎯 Blockchain Oracle คืออะไร?
ก่อนจะเข้าเรื่อง Oracle เพื่อให้เข้าใจและมองเห็นภาพมากขึ้น เราลองใช้เหตุการณ์สมมุติกันก่อนดีกว่า หากเราเข้าใจเรื่องบล็อกเชนมาเบื้องต้นแล้วจะรู้ว่ามันเป็นการกระจายอำนาจถูกมั้ย? แปลว่าการที่จะมีคนใส่ข้อมูลอะไรสักอย่างลงบล็อกเชนก็จะทำสุ่มสี่สุ่มห้าไม่ได้
📓 คุณอาจสนใจ “บล็อกเชนคืออะไร แบบง่าย ๆ” อ่านได้ที่นี่
คราวนี้เรามาดู Use case หนึ่งที่นำบล็อกเชนมาใช้ร่วมกับ Smart Contract กัน อย่างการเช่าที่จอดรถโดยชำระเงินผ่านคริปโทเคอร์เรนซี แน่นอนว่ามันต้องมีการติดต่อกันทั้งภายนอก (โลกแห่งความเป็นจริง) และภายในบล็อกเชน ว่าใครจ่าย จ่ายเท่าไร ใช้ได้กี่ชั่วโมง และต้องเปิดที่จอดตำแหน่งไหน เป็นต้น ทั้งหมดนี้มันจะทำงานอย่างไรหล่ะ? ลองคิดกันเล่น ๆ สิ
📓 คุณอาจสนใจ “Smart Contract คืออะไร” อ่านได้ที่นี่
โอเค! เฉลยแบบง่าย ๆ แน่นอนว่าเราต้องมี Smart Contract สักตัวที่มาคอยเป็นตัวกลางรับ-ส่งข้อมูล เหมือนที่เราเล่นกันบน DeFi อะไรทำนองนี้เนอะ และเราต้องให้มันรับ-ส่งข้อมูลข้างนอกบล็อกเชนด้วย เพราะมันต้องไปเชื่อมกับระบบเปิด-ปิดที่จอดรถใช่มั้ยหล่ะ
ซึ่งมันก็เป็นระบบที่อยู่ข้างนอกบล็อกเชน แล้วเราจะเชื่อมต่อระหว่าง 2 สิ่งนี้อย่างไร? เพราะอยู่ ๆ เราจะเอาข้อมูลเข้ามาเก็บแบบไม่มีการตรวจสอบใด ๆ มันก็แปลก …และตรงนี้แหล่ะที่ Oracle จะมาช่วยเรา
📓 คุณอาจสนใจ “DeFi คืออะไร” อ่านได้ที่นี่
Blockchain Oracle คือเครื่องมือที่ช่วยรวบรวมข้อมูลภายนอกเครือข่ายบล็อกเชน (Off-chain) ให้สามารถนำมาใช้ร่วมกันภายในเครือข่าย (On-chain) ได้ เนื่องจากภายในเครือข่ายจะมีการใช้ระบบฉันทามติ (Consensus) และการกระจายสำเนาข้อมูล ซึ่งการจะนำข้อมูลภายนอกเข้ามาก็จำเป็นต้องมีการจัดการด้วย Oracle นี่เอง
📓 คุณอาจสนใจ “Consensus คืออะไร? มีแบบไหนบ้าง?” อ่านได้ที่นี่
ตัวอย่าง Blockchain Oracle ที่เราคุ้น ๆ กันในปัจจุบันก็ได้แก่ Chainlink, Band Protocol, Augur และ Aion เป็นต้น หากใครสนใจตัวไหนเป็นพิเศษก็ลองไปศึกษาเพิมเติมได้นะ
🎯 Blockchain Oracle ทำงานอย่างไร?
สิ่งที่ต้องเข้าใจคือ Blockchain Oracle นั้นไม่ใช่แหล่งข้อมูล แต่เป็นชั้นเลเยอร์ที่สืบค้น ตรวจสอบ และรับรองความถูกต้องของแหล่งข้อมูลภายนอกก่อนจะนำเข้ามาสู่ Smart Contract และบันทึกลงบล็อกเชน และในบาง Oracle นั้นก็ยังสามารถปล่อยข้อมูลจากภายในบล็อกเชนออกไปข้างนอกได้อีกด้วย
และข้อมูลที่เข้ามาก็จะมีการจัดการข้อมูลให้อยู่ในรูปแบบที่อีกฝั่งสามารถอ่านได้ พร้อมทั้งยังสามารถคำนวณได้ด้วย เช่น หาค่ากลาง ค่าเฉลี่ยของข้อมูลตัวเลขต่าง ๆ เป็นต้น
🎯 ประเภทของ Blockchain Oracle
Blockchain Oracle นั้นมีหลายรูปแบบ ไม่ใช่เพียงแค่การรับ-ส่งข้อมูลเท่านั้น แต่มันยังมีกลไกต่าง ๆ ที่แตกต่างกันไปด้วย ในเบื้องต้นเรามาดูประเภทพื้นฐานกันก็จะแบ่งได้ดังนี้
🟠 Input / Output Oracles
ตามชื่อเลย Oracle ขาเข้า (Input) คือการดึงข้อมูลจากแหล่งภายนอกไปยัง Smart Contract และบันทึกลงบล็อกเชน ในขณะที่ Oracle ขาออก (Output) จะเป็นการส่งข้อมูลจากบล็อกเชนผ่าน Smart Contract ไปยังโลกภายนอก
🟠 Consensus-Based Oracles
Oracle ประเภทนี้จะสืบค้นแหล่งข้อมูลจาก Oracle หลาย ๆ แหล่งเพื่อนำข้อมูลมาตรวจสอบ เปรียบเทียบและสรุปข้อมูลที่ถูกต้องออกมา อารมณ์เหมือนฉันทามติในบล็อกเชนนั้นเอง
🟠 Hardware Oracles
Hardware ที่ส่งข้อมูลไปยัง Smart Contract ตามเหตุการณ์ที่เกิดขึ้นในโลกจริง เช่น หากมีสินค้าถูกสแกนด้วยเครื่องสแกนบาร์โค้ด ข้อมูลสินค้านั้นก็จะส่งไปยัง Smart Contract
🟠 Software Oracles
Software ที่ส่งข้อมูลไปยัง Smart Contract ตามข้อมูลที่ได้ เช่น ราคาปัจจุบันของสินทรัพย์ทางการเงิน
🎯 ประโยชน์ของ Blockchain Oracle
แน่นอนว่าเมื่อมีการนำเทคโนโลยีบล็อกเชนเข้ามาใช้งานในรูปแบบต่าง ๆ ไม่ว่าจะเป็น dApps, IoT, เกม, การเงิน และอื่น ๆ อีกมากมาย ล้วนแล้วแต่ต้องมีการดึงข้อมูลภายนอกมาใช้
อย่างเช่นตัวอย่างที่พูดไปในตอนแรกกับเรื่องระบบเช่าที่จอดรถ ข้อมูลภายนอกพวกนั้นก็จะต้องถูกตรวจสอบความถูกต้องเช่นกันโดยการผ่าน Oracle ไม่อย่างงั้นก็อาจเกิดการแก้ไขข้อมูลหรือโจมตีบน Off-chain แล้วข้อมูลที่ถูกบิดเบือนพวกนั้นก็จะเข้ามาสู่บล็อกเชน ท้ายที่สุดเราก็จะแก้ไขข้อมูลพวกนั้นไม่ได้เพราะมันถูกบันทึกไปแล้ว (มันก็อาจแก้ได้ แต่เรื่องวุ่นจะตามมาอ่ะแหล่ะ 555)
Blockchain Oracle ถือเป็นสิ่งที่เพิ่มขีดความสามารถของบล็อกเชนให้สามารถติดต่อกับข้อมูลภายนอกได้ อย่างไรก็ตามการนำข้อมูลจาก Oracle ใด ๆ ควรใช้ข้อมูลจากหลาย ๆ แหล่งเพื่อป้องกันข้อผิดพลาดและการบิดเบือนข้อมูลหรือ Decentralized Oracle นั่นเอง
โฆษณา