كيف تبني أوراكل الخاصة بك باستخدام عقود إيثريوم الذكية؟ ذكاء بيانات PlatoBlockchain. البحث العمودي. عاي.

كيف تبني أوراكل الخاصة بك باستخدام عقود إيثريوم الذكية؟

وقت القراءة: 5 دقائق

Ethereum هو أول blockchain على الإطلاق يرث صفات إنشاء dapps ، وتداول الأصول المشفرة على blockchain ، وما إلى ذلك.

لديها لغة البرمجة الخاصة بها لكتابة العقود الذكية وتنفيذها على الجهاز الظاهري Ethereum لبث اللامركزية في أداء الأنشطة. 

تنفذ العقود الذكية سطور الرموز المحددة مسبقًا وتفي بالمهمة المقصودة. ولكن ماذا لو أردنا أن نجعل العقود الذكية تعمل بناءً على نتائج حدوثها في الوقت الفعلي؟

لتحقيق ذلك ، نحتاج إلى فهم مفهوم أوراكل blockchain التي يمكن للعقود الذكية من خلالها تلقي مدخلات من العالم الحقيقي. 

ما هو أوراكل في التشفير ، وكيفية إنشاء أوراكل في عقد إيثريوم سمارت؟ سنناقش هذا بالتفصيل في القسم التالي. 

الموضوعات الرئيسية للمدونة

  • ما هو التشفير أوراكل وكيف يعمل أوراكل
  • أنواع مختلفة من الوحوش
  • تدفق البيانات من oracles إلى عقود Ethereum الذكية
  • كيفية ترميز Ethereum oracles
  • مشاكل مع تشفير أوراكل

ما هي أوراكل ، ولماذا هناك حاجة إليها؟

الايحاءات هي كيانات تعمل كجسر يربط blockchain بأنظمة خارجية. بمعنى آخر ، توفر oracles بيانات الأحداث خارج السلسلة للعقد الذكي لأداء إجراء بناءً على الإدخال.

على سبيل المثال ، في أحداث المراهنة ، يُسمح للمستخدمين بالمراهنة على اللاعبين الذين يعتقدون أنهم سيفوزون بالمباراة. بناءً على الحدث في الوقت الفعلي ، يتم توزيع المكافآت على المستخدمين الذين يراهنون على الفائز. 

تساعد بلوكتشين أوراكل على استكمال البيانات حول الفائز بالعقود الذكية. تدفق البيانات على oracle ثنائي الاتجاه ويمكن استخدامه لترجمة أي بيانات في الوقت الفعلي من تقارير الطقس إلى حالة سوق الأوراق المالية إلى العقود الذكية. 

تمتلك كل عقدة في Ethereum blockchain معلومات حول المعاملات ، والتي يجب أن تكون موحدة. لذلك ، قد يؤدي جلب البيانات من واجهات برمجة التطبيقات إلى حدوث تناقضات. في المقابل ، يقوم oracle بتحميل البيانات على blockchain ، والتي تظهر بشكل ثابت على جميع العقد.

بلوكتشين أوراكل
بلوكتشين أوراكل

كيفية الوصول إلى البيانات من Oracle؟

تستخدم العقود الذكية دورة الطلب والاستجابة للحصول على معلومات من عقدة أوراكل. سيتلقى أوراكل الذي تم تنفيذه باستخدام HTTP GET الطلب من العقد الذكي ، ويمكن لوظيفة رد الاتصال استرداد البيانات المطلوبة من أوراكل. 

بهذه الطريقة ، يتم جمع البيانات بواسطة العقد الذكي من أوراكل. تم تكوين كل أوراكل لتوفير معلومات محددة ، ويمكنك البحث عن خدمات الجهات الخارجية للحصول على البيانات التي تبحث عنها. 

فيما يلي بعض خدمات أوراكل

  • سلسلة ربط
  • يمكن برهانه
  • ويتنت
  • Paralink وهلم جرا.

تصنيف Oracles

يتم تصنيف Oracles إلى أنواع مختلفة اعتمادًا على جلب البيانات والتحقق منها ونقلها. 

إدخال أوراكل: النوع الأكثر شيوعًا حيث يتم جلب البيانات خارج السلسلة من الأحداث في الوقت الفعلي. على سبيل المثال يتم الحصول على تغذية الأسعار على الأسهم من خارج السلسلة لتحريك العمل على العقود الذكية بناءً على ظروف السوق المالية.

إخراج أوراكل: والعكس آية المدخلات أوراكل حيث تقوم العقود الذكية باستفزاز أوراكل لتنفيذ الإجراء. على سبيل المثال أرسل إشارات إلى مزود التخزين لتخزين البيانات أو بدء شبكات البنوك لإجراء المدفوعات.

عبر سلسلة أوراكل: تسهل أوراكل عبر السلسلة كلاً من قراءة البيانات وكتابتها على سلاسل الكتل المختلفة. كما أنه يجعل من الممكن إطلاق الأحداث في إحدى بلوكتشين وجعلها فعالة على أخرى. 

الحوسبة الممكّنة: تستفيد oracles الممكّنة من الحساب من الحساب خارج السلسلة لتقديم الخدمات. خاصة عندما لا تكون السلسلة غير موثوقة بسبب قيود فنية أو مالية ، يتم استخدام هذا النوع من أوراكل.

جلب البيانات من Oracles

الخطوة 1: يرسل العقد الذكي استعلامًا إلى أوراكل.

الخطوة 2: يتم توجيه الاستعلام إلى ناقل البيانات ، الذي يسعى للحصول على البيانات من مصدر البيانات

الخطوة 3: تُشتق البيانات من المصدر وتُغذى إلى أوراكل.

الخطوة 4: ترسل Oracle الرد على العقد الذكي كما هو مطلوب. 

إنشاء Oracle In Ethereum Smart Contract - هيكل الكود

سنجد كيف يعمل oracle في تحديد السعر الحالي لعملة البيتكوين بالدولار الأمريكي باستخدام خدمة أوراكل تسمى Provable. 

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" ); } } 

مشاكل أوراكل

مشاكل Oracle هي في الأساس التعارض بين العقود الذكية غير الموثوقة وخطابات الطرف الثالث الموثوق بها ، مع الأخذ في الاعتبار أمان ومصداقية البيانات من الأطراف الثالثة.

تعتمد العقود الذكية على أوراكل لاتخاذ القرارات المتعلقة بتنفيذها ، مما يمنحها سلطة هائلة على عملها. في واقع الأمر ، فإن الطبيعة اللامركزية للعقود الذكية موضع تساؤل. 

ومع ذلك ، فإن خدمات أوراكل مثل ChainLink و Oraclize تعمل كحلول لامركزية تستمد البيانات بناءً على طرق جديدة وموثقة. وبالتالي ، فإن البيانات التي تم الحصول عليها هي من خلال وسائل لامركزية.  

وفي الختام

يعتبر اتصال blockchain بالعالم الحقيقي أمرًا مهمًا بشكل مقبول لتحقيق قفزة إلى الأمام نحو العالم اللامركزي. تقدم Oracles الحل لواجهة موثوقة للعقود الذكية مع بيانات في الوقت الفعلي. 

ومع ذلك ، لتحقيق الاستدامة ، يتم إجراء تطورات بواسطة خدمات أوراكل لغرس الأمن وصحة البيانات التي تم الحصول عليها خارج السلسلة. 

تريد أن تظل أكثر صلة بـ أمان Web3?

تابعني: QuillAudits للعديد من عمليات الكتابة الحديثة هذه حول Web3.

23 المشاهدات

وظيفة كيف تبني أوراكل الخاصة بك باستخدام عقود إيثريوم الذكية؟ ظهرت للمرة الأولى على Blog.quillhash.

الطابع الزمني:

اكثر من كويلهاش