כיצד לבנות אורקל משלך באמצעות חוזים חכמים של Ethereum? PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כיצד לבנות אורקל משלך באמצעות חוזים חכמים של Ethereum?

זמן קריאה: 5 דקות

Ethereum הוא הבלוקצ'יין הראשון אי פעם שירש את האיכויות של יצירת dapps, מסחר בנכסי קריפטו בבלוקצ'יין וכן הלאה.

יש לה את שפת התכנות שלה לכתיבת חוזים חכמים וליישם אותם במכונה הוירטואלית של Ethereum כדי להחדיר ביזור בביצוע פעילויות. 

חוזים חכמים מבצעים את שורות הקודים המוגדרות מראש וממלאים את המשימה המיועדת. אבל מה אם נרצה לגרום לחוזים החכמים לתפקד על סמך תוצאות ההתרחשות בזמן אמת?

כדי להשיג זאת, עלינו להבין את הרעיון של אורקל בלוקצ'יין שבאמצעותם חוזים חכמים יכולים לקבל תשומות מהעולם האמיתי. 

מהו אורקל בקריפטו, וכיצד ליצור אורקל בחוזה Ethereum Smart? נדון בכך בפירוט בסעיף הבא. 

נושאי מפתח בבלוג

  • מהו אורקל קריפטו, וכיצד פועלים אורקל
  • סוגים שונים של אורקל
  • זרימת הנתונים מאורקל לחוזים חכמים של Ethereum
  • כיצד לקודד אורקלות Ethereum
  • בעיות עם קריפטו אורקל

מה זה אורקל, ולמה זה נחוץ?

אורקים הן ישויות הפועלות כגשר המחבר את הבלוקצ'יין עם מערכות חיצוניות. במילים אחרות, אורקל מספק את נתוני האירועים מחוץ לשרשרת לחוזה החכם כדי לבצע פעולה על סמך הקלט.

לדוגמה, באירועי הימורים, משתמשים רשאים להמר על השחקנים שהם חושבים שינצחו במשחק. בהתבסס על ההתרחשות בזמן אמת, הפרסים מחולקים למשתמשים שהימרו על הזוכה. 

אורקלות בלוקצ'יין עוזרות להשלים נתונים על הזוכה לחוזים החכמים. זרימת הנתונים ב-oracle היא דו-כיוונית וניתן להשתמש בה כדי לתרגם כל נתון בזמן אמת מדוחות מזג אוויר לסטטוס שוק המניות לחוזים חכמים. 

לכל צומת ב-Ethereum blockchain יש מידע על העסקאות, שאמור להיות אחיד. לכן, שליפת נתונים ממשקי API עלולה לגרום לאי התאמות. לעומת זאת, אורקל טוענת את הנתונים על הבלוקצ'יין, אשר מופיע ללא שינוי זהה בכל הצמתים.

בלוקצ'יין אורקל
בלוקצ'יין אורקל

כיצד לגשת לנתונים מאורקל?

חוזים חכמים משתמשים במחזור הבקשה והתגובה כדי לקבל מידע מצומת האורקל. האורקל המיושם עם HTTP GET יקבל את הבקשה מהחוזה החכם, ופונקציית ההתקשרות חזרה יכולה לאחזר את הנתונים המבוקשים מהאורקל. 

בדרך זו, הנתונים נאספים על ידי החוזה החכם מהאורקל. כל אורקל מוגדר לספק מידע ספציפי, ואתה יכול לחפש שירותי צד שלישי כדי להשיג את הנתונים שאתה מחפש. 

להלן חלק משירותי האורקל

  • שרשרת
  • ניתן לספק
  • וויטנט
  • פאראלינק וכן הלאה.

סיווג של אורקל

Oracle מסווגים לסוגים שונים בהתאם לשליפה, אימות והעברת הנתונים. 

קלט אורקל: הסוג המוכר ביותר שבו הנתונים מובאים מחוץ לשרשרת מההתרחשויות בזמן אמת. למשל. הזנות מחירים על מניות מתקבלות מחוץ לרשת כדי להפעיל פעולה על חוזים חכמים המבוססים על תנאי השוק הפיננסי.

פלט אורקל: ההפך של אורקולי קלט שבו החוזים החכמים מעוררים את האורקל לבצע את הפעולה. למשל. שלח אותות לספק האחסון כדי לאחסן את הנתונים או ליזום רשתות בנקאיות לבצע תשלומים.

אורקלים חוצי שרשרת: אורקל חוצה שרשרת מקל על קריאה וכתיבת נתונים על בלוקצ'יין שונים. זה גם מאפשר להפעיל אירועים בבלוקצ'יין אחד ולגרום להם לפעול באחר. 

אורקלים המאפשרים מחשוב: אורקלים התומכים במחשוב עושים שימוש בחישוב מחוץ לשרשרת כדי לספק שירותים. במיוחד כאשר השרשרת אינה אמינה בשל אילוצים טכניים או פיננסיים, משתמשים בסוג זה של אורקל.

שואב נתונים מאורקל

שלב 1: החוזה החכם שולח שאילתה לאורקל.

שלב 2: השאילתה מופנית אל ספק הנתונים, אשר מחפש את הנתונים ממקור הנתונים

שלב 3: הנתונים נגזרים מהמקור ומוזנים לאורקל.

שלב 4: אורקל שולחת את התגובה לחוזה החכם כמתבקש. 

יצירת חוזה חכם של Oracle ב-Ethereum - מבנה קוד

נגלה כיצד פועלת אורקל בקביעת המחיר הנוכחי של ביטקוין בדולר ארה"ב באמצעות שירות אורקל הנקרא הוכחה. 

pragma solidity >= 0.5.0 < 0.6.0; //Declaring the Solidity version import "github.com/provable-things/ethereum-api/provableAPI.sol"; //Importing latest version of provable API contract BitcoinPrice is usingProvable { //Contract named BitcoinPrice, UsingProvable refers to the API uint public bitcoinPriceUSD; //bitcoinPriceUSD is the variable created to store the price, Provable query event that makes a constructor event LogNewBitcoinPrice(string price); event LogNewProvableQuery(string description); constructor() public { update(); } // callback function to call the smart contract after the output is received and transfers the result from callback function to the variable assigned function __callback( bytes32 _myid, string memory _result ) public { require(msg.sender == provable_cbAddress()); emit LogNewBitcoinPrice(_result); BitcoinPriceUSD = parseInt(_result, 2); // Let's save it as cents... } //passing output string and API string to fetch bitcoin price to our constructor function update() public payable { emit LogNewProvableQuery("Provable query was sent, standing by for the answer..."); provable_query("URL", "xml("https://min-api.cryptocompare.com/data/generateAvg?fsym=BTC&tsym=USD&e=Kraken" ); } } 

בעיות אורקל

בעיות אורקל הן ביסודו של דבר הקונפליקט בין חוזים חכמים חסרי אמון לבין אורקל צד שלישי מהימן, בהתחשב באבטחה ובאותנטיות של נתונים מצדדים שלישיים.

חוזים חכמים מסתמכים על אורקלים לקבלת החלטות לגבי ביצועם, ומעניקים להם כוח עצום על תפקודם. למען האמת, האופי המבוזר של חוזים חכמים מוטל בספק. 

עם זאת, שירותי אורקל כמו ChainLink ו- Oraclize פועלים כפתרונות מבוזרים שמפיקים נתונים המבוססים על שיטות חדשניות ומאומתות. לפיכך, הנתונים המתקבלים הם באמצעים מבוזרים.  

סיכום

הקישוריות של הבלוקצ'יין עם העולם האמיתי היא משמעותית באופן מקובל לקפיצה קדימה לעבר העולם המבוזר. אורקל מציעה את הפתרון לממשק אמין של חוזים חכמים עם נתונים בזמן אמת. 

עם זאת, כדי להביא קיימות, התקדמויות נעשות על ידי שירותי אורקל כדי להנחיל את האבטחה והנכונות של הנתונים שהושגו מחוץ לשרשרת. 

רוצה להישאר רלוונטי יותר ל אבטחת Web3?

עקבו QuillAudits לכתבות עדכניות רבות כאלה על Web3.

23 צפיות

ההודעה כיצד לבנות אורקל משלך באמצעות חוזים חכמים של Ethereum? הופיע לראשונה ב Blog.quillhash.

בול זמן:

עוד מ קווילהש