Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟

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

Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟

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

تكمن المشكلة في أن blockchain نفسه عبارة عن كيان مستقل ومغلق، وبالتالي فإن العقود الذكية داخل blockchain لا تعرف شيئًا عن العالم الخارجي. وفي الوقت نفسه، غالبًا ما ترتبط شروط العقود الذكية بمعلومات حول أشياء حقيقية (تأخير الرحلة، وأسعار الصرف، وما إلى ذلك). لكي تعمل العقود الذكية بشكل صحيح، يجب أن تكون المعلومات الواردة من خارج blockchain موثوقة ويتم التحقق منها. تم حل هذه المشكلة باستخدام أوراكل مثل Town Crier وDECO. تسمح هذه الأوراكل للعقد الذكي على شبكة blockchain بالثقة في المعلومات الواردة من خادم ويب موثوق به؛ يمكننا القول أن هؤلاء مزودي معلومات موثوقة.

أوراكل

تخيل أن العقد الذكي ينقل 0.001 بيتكوين إلى محفظة البيتكوين الخاصة بك إذا فاز نادي كرة القدم المفضل لديك بكأس روسيا. في حالة تحقيق فوز حقيقي، يحتاج العقد الذكي إلى نقل معلومات حول النادي الذي فاز، وينشأ هنا عدد من المشكلات: أين يمكن الحصول على هذه المعلومات، وكيفية نقلها بأمان إلى العقد الذكي وكيفية التأكد من أن المعلومات هل وردت في العقد الذكي صلاحية تتطابق فعليًا مع الواقع؟

عندما يتعلق الأمر بمصدر المعلومات، يمكن أن يكون هناك سيناريوهين: ربط عقد ذكي بموقع ويب موثوق به حيث يتم تخزين المعلومات حول نتائج المطابقة مركزيًا، والخيار الثاني هو ربط عدة مواقع في وقت واحد ثم تحديد المعلومات من معظم المصادر التي توفر نفس البيانات. ومن أجل التحقق من صحة المعلومات، يتم استخدام أوراكل، على سبيل المثال Oraclize، الذي يستخدم TLSNotary (تعديل TLS Notary لإثبات صحة البيانات). ولكن هناك معلومات كافية على جوجل حول أوراكليز، وهناك العديد من المقالات عن حبري، واليوم سأتحدث عن أوراكل التي تستخدم أسلوبًا مختلفًا قليلاً لنقل المعلومات: Town Crier وDECO. توفر المقالة وصفًا لمبادئ تشغيل كل من Oracle، بالإضافة إلى مقارنة تفصيلية.

بلدة منادي المدينة

تم تقديم Town Crier (TC) بواسطة IC3 (مبادرة العملات المشفرة والعقود) في عام 2016 في CCS'16. الفكرة الرئيسية لـ TC: نقل المعلومات من موقع ويب إلى عقد ذكي والتأكد من أن المعلومات التي تقدمها TC هي نفسها الموجودة على موقع الويب. يستخدم TC TEE (بيئة التنفيذ الموثوقة) لمصادقة ملكية البيانات. يصف الإصدار الأصلي من TC كيفية العمل مع Intel SGX.
يتكون Town Crier من جزء داخل blockchain وجزء داخل نظام التشغيل نفسه - TC Server.
Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟
عقد TC موجود على blockchain ويعمل كواجهة أمامية لـ TC. فهو يقبل الطلبات من CU (عقد المستخدم الذكي) ويعيد استجابة من خادم TC. يوجد داخل خادم TC مرحل، والذي ينشئ اتصالاً بين الجيب والإنترنت (حركة المرور ثنائية الاتجاه) ويربط الجيب بـ blockchain. يحتوي Enclave على progencl، وهو رمز يقدم طلبات من blockchain ويعيد الرسائل إلى blockchain بتوقيع رقمي، ويحتوي progencl على جزء من رمز العقد الذكي ويؤدي بشكل أساسي بعض وظائفه.

يمكن اعتبار منطقة Intel SGX بمثابة مكتبة مشتركة مع واجهة برمجة التطبيقات (API) التي تعمل عبر ecall. Ecall ينقل السيطرة إلى الجيب. ينفذ الجيب الكود الخاص به حتى يخرج أو حتى يحدث استثناء. يتم استخدام ocall لاستدعاء الوظائف المحددة خارج الجيب. يتم تنفيذ Ocall خارج الجيب ويتم التعامل معه على أنه مكالمة غير موثوقة. بعد تنفيذ ocall، يتم إرجاع السيطرة إلى الجيب.
Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟
في جزء Enclave، يتم تكوين قناة آمنة باستخدام خادم ويب، ويقوم الجيب نفسه بإجراء مصافحة TLS مع الخادم الهدف وتنفيذ جميع عمليات التشفير داخليًا. تم تصدير مكتبة TLS (mbedTLS) ورمز HTTP المخفض إلى بيئة SGX. يحتوي Enclave أيضًا على شهادات CA الجذرية (مجموعة من الشهادات) للتحقق من شهادات الخوادم البعيدة. يقبل معالج الطلب طلب مخطط البيانات بالتنسيق المقدم من Ethereum، ويقوم بفك تشفيره وتحليله. ثم يقوم بإنشاء معاملة Ethereum تحتوي على مخطط البيانات المطلوب، ويوقعها باستخدام skTC ويرسلها إلى Relay.

يتضمن جزء الترحيل واجهة العميل وTCP وواجهة Blockchain. يلزم وجود واجهة العميل للمصادقة على رمز المنطقة والتواصل مع العميل. يرسل العميل طلب تصديق باستخدام ecall ويتلقى طابعًا زمنيًا موقعًا من skTC مع att (توقيع التصديق)، ثم يتم التحقق من att باستخدام خدمة التصديق من Intel (IAS)، ويتم التحقق من الطابع الزمني بواسطة خدمة وقت موثوقة. تتحقق واجهة Blockchain من الطلبات الواردة وتضع المعاملات على blockchain لتسليم مخططات البيانات. Geth هو عميل Ethereum رسمي ويسمح لـ Relay بالتفاعل مع blockchain عبر مكالمات RPC.

العمل مع TEE، TC يسمح لك بتشغيل عدة جيوب بالتوازي، وبالتالي زيادة سرعة معالجة المعلومات بمقدار 3 مرات. إذا كانت السرعة في جيب واحد قيد التشغيل هي 15 tx/sec، فعند وجود 20 جيبًا متوازيًا للتشغيل، تزيد السرعة إلى 65 tx/sec؛ وللمقارنة، فإن الحد الأقصى لسرعة التشغيل في Bitcoin blockchain هو 26 tx/sec.

DECO

تم تقديم DECO (Oracles اللامركزية لـ TLS) في CCS'20، ويعمل مع المواقع التي تدعم اتصالات TLS. يضمن سرية البيانات وسلامتها.
يستخدم DECO مع TLS تشفيرًا متماثلًا، بحيث يكون لدى العميل وخادم الويب مفاتيح تشفير، ويمكن للعميل تزوير بيانات جلسة TLS إذا أراد ذلك. لحل هذه المشكلة، يستخدم DECO بروتوكول مصافحة ثلاثي الاتجاهات بين المثبت (العقد الذكي)، والمدقق (أوراكل)، وخادم الويب (مصدر البيانات).

Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟

الطريقة التي يعمل بها DECO هي أن المدقق يتلقى قطعة من البيانات D ويؤكد للمتحقق أن D جاء من خادم TLS S. والمشكلة الأخرى هي أن TLS لا يوقع على البيانات ومن الصعب على عميل TLS إثبات أن تم استلام البيانات من الخادم الصحيح تمامًا (صعوبة المصدر).

يستخدم بروتوكول DECO مفاتيح التشفير KEnc وKMac. يرسل العميل طلب Q إلى خادم الويب، وتأتي الاستجابة من الخادم R في شكل مشفر، لكن العميل والخادم يمتلكان نفس KMac، ويمكن للعميل تزوير رسالة TLS. الحل الذي تقدمه DECO هو "إخفاء" KMac عن العميل (المثبت) حتى يستجيب للطلب. الآن يتم تقسيم KMac بين المُثبت والمُحقق - KpMac وKvMac. يستقبل الخادم KMac لتشفير الاستجابة باستخدام عملية الجزء الرئيسي KpMac ⊕ KvMac = KMac.

من خلال إعداد مصافحة ثلاثية، سيتم تنفيذ تبادل البيانات بين العميل والخادم مع ضمان الأمان.
Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟
عند الحديث عن نظام أوراكل لامركزي، لا يسع المرء إلا أن يذكر تشين لينك، الذي يهدف إلى إنشاء شبكة لا مركزية من عقد أوراكل المتوافقة مع إيثريوم وبيتكوين وهايبرليدجر، مع مراعاة النمطية: يمكن تحديث كل جزء من النظام. في الوقت نفسه، ولضمان الأمان، تقدم Chainlink لكل أوراكل مشارك في المهمة إصدار مجموعة من المفاتيح (العامة والخاصة). يتم استخدام المفتاح الخاص لإنشاء توقيع جزئي يحتوي على قرارهم بشأن طلب البيانات. للحصول على إجابة، من الضروري الجمع بين جميع التوقيعات الجزئية لأوراكل الشبكة.

تخطط Chainlink لإجراء PoC DECO الأولي مع التركيز على تطبيقات التمويل اللامركزية مثل Mixicles. في وقت كتابة هذا التقرير، ظهرت أخبار على موقع Forbes مفادها أن Chainlink استحوذت على DECO من جامعة كورنيل.

الهجمات على أوراكل

Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟

من وجهة نظر أمن المعلومات، تم النظر في الهجمات التالية على Town Crier:

  1. حقن رمز الاتصال الذكي المارق على عقد TEE.
    جوهر الهجوم: إرسال رمز عقد ذكي غير صحيح عن عمد إلى TEE، وبالتالي، سيتمكن المهاجم الذي تمكن من الوصول إلى العقدة من تنفيذ عقده الذكي (الاحتيالي) على البيانات التي تم فك تشفيرها. ومع ذلك، سيتم تشفير قيم الإرجاع بمفتاح خاص، والطريقة الوحيدة للوصول إلى هذه البيانات هي تسريب النص المشفر عند الإرجاع/الإخراج.
    تتكون الحماية ضد هذا الهجوم من قيام الجيب بالتحقق من صحة الكود الموجود في العنوان الحالي. يمكن تحقيق ذلك باستخدام نظام العنونة حيث يتم تحديد عنوان العقد عن طريق تجزئة رمز العقد.

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

  3. هجمات القنوات الجانبية
    نوع خاص من الهجمات يستخدم مراقبة الذاكرة المحصورة والوصول إلى ذاكرة التخزين المؤقت في سيناريوهات مختلفة. مثال على مثل هذا الهجوم هو Prime و Probe.
    Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟
    ترتيب الهجوم:

    • t0: يقوم المهاجم بملء ذاكرة التخزين المؤقت للبيانات بالكامل لعملية الضحية.
    • t1: ينفذ الضحية تعليمات برمجية من خلال الوصول إلى الذاكرة التي تعتمد على البيانات الحساسة للضحية (مفاتيح التشفير). يتم تحديد سطر ذاكرة التخزين المؤقت بناءً على قيمة بت المفتاح. في المثال الموجود في الشكل، تتم قراءة بت المفتاح = 0 والعنوان X في سطر ذاكرة التخزين المؤقت 2. يتم تحميل البيانات المخزنة في X إلى ذاكرة التخزين المؤقت، مما يؤدي إلى إزاحة البيانات التي كانت موجودة من قبل.
    • t2: يتحقق المهاجم من خطوط ذاكرة التخزين المؤقت التي تم إخلاؤها، وهي الخطوط التي يستخدمها الضحية. ويتم ذلك عن طريق قياس وقت الوصول. وبتكرار هذه العملية لكل بتة مفتاح، يحصل المهاجم على المفتاح بأكمله.

الحماية من الهجمات: تتمتع Intel SGX بحماية ضد هجمات القنوات الجانبية التي تمنع مراقبة الأحداث المتعلقة بذاكرة التخزين المؤقت، لكن هجوم Prime وProbe سيظل يعمل لأن المهاجم يراقب أحداث ذاكرة التخزين المؤقت لعمليته ويشارك ذاكرة التخزين المؤقت مع الضحية.
Town Crier vs DECO: أي أوراكل يجب استخدامه في blockchain؟
وبالتالي، في الوقت الحالي لا توجد حماية موثوقة ضد هذا الهجوم.

ومن المعروف أيضًا أن الهجمات مثل Spectre وForeshadow (L1TF)، المشابهة لـ Prime وProbe، معروفة أيضًا. إنها تسمح لك بقراءة البيانات من ذاكرة التخزين المؤقت من خلال قناة خارجية. يتم توفير الحماية ضد ثغرة Spectre-v2، والتي تعمل ضد اثنين من هذه الهجمات.

فيما يتعلق بـ DECO، توفر المصافحة الثلاثية ضمانًا للأمن:

  1. سلامة المثبت: لا يمكن للمثبت المخترق تزييف معلومات أصل الخادم ولا يمكن أن يتسبب في قبول الخادم للطلبات غير الصالحة أو الاستجابة بشكل غير صحيح للطلبات الصالحة. ويتم ذلك من خلال أنماط الطلب بين الخادم والمثبت.
  2. نزاهة المدقق: لا يمكن للمدقق المخترق أن يتسبب في تلقي المثبت إجابات غير صحيحة.
  3. الخصوصية: يقوم جهاز التحقق المخترق بفحص المعلومات العامة فقط (الطلب، اسم الخادم).

في DECO، تكون الثغرات الأمنية في حقن حركة المرور هي الوحيدة الممكنة. أولاً، من خلال المصافحة الثلاثية، يمكن للمدقق تحديد هوية الخادم باستخدام رقم جديد. ومع ذلك، بعد المصافحة، يجب أن يعتمد المدقق على مؤشرات طبقة الشبكة (عناوين IP). وبالتالي، يجب حماية الاتصال بين المدقق والخادم من حقن حركة المرور. ويتم تحقيق ذلك باستخدام الوكيل.

مقارنة أوراكل

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

بلدة منادي المدينة
DECO

أداء
أسرع (0.6 ثانية للانتهاء)
أبطأ (10.50 ثانية لإنهاء البروتوكول)

سلامة
أقل أمنا
أكثر أمنا

كلف
أكثر تكلفة
أرخص

التطبيق العملي
يتطلب أجهزة خاصة
يعمل مع أي خادم يدعم TLS

أداء السرعة: للعمل مع DECO، يلزم إجراء مصافحة ثلاثية الاتجاهات، عند الإعداد عبر شبكة LAN يستغرق الأمر 0.37 ثانية، للتفاعل بعد إنشاء الاتصال، يكون 2PC-HMAC فعالاً (0,13 ثانية لكل كتابة). يعتمد أداء DECO على مجموعات تشفير TLS المتوفرة، وحجم البيانات الخاصة، ومدى تعقيد الأدلة الخاصة بتطبيق معين. استخدام تطبيق الخيار الثنائي من IC3 كمثال: استكمال البروتوكول عبر الشبكة المحلية يستغرق حوالي 10,50 ثانية. بالمقارنة، يستغرق Town Crier حوالي 0,6 ثانية لإكمال تطبيق مماثل، وهو أسرع بحوالي 20 مرة من DECO. في حالة تساوي كل الأمور، سيكون TC أسرع.

أمن: تعمل الهجمات على منطقة Intel SGX (هجمات القناة الجانبية) ويمكن أن تسبب ضررًا حقيقيًا للمشاركين في العقد الذكي. فيما يتعلق بـ DECO، فإن الهجمات المتعلقة بحقن حركة المرور ممكنة، ولكن استخدام الوكيل يقلل من هذه الهجمات إلى لا شيء. ولذلك فإن DECO أكثر أمانًا.

تكلفة: تكلفة المعدات التي تدعم Intel SGX أعلى من تكلفة إعداد البروتوكول في DECO. ولهذا السبب فإن TC أكثر تكلفة.

التطبيق العملي: للعمل مع Town Crier، يلزم وجود معدات خاصة تدعم TEE. على سبيل المثال، يتم دعم Intel SGX في عائلة معالجات Intel Core من الجيل السادس والإصدارات الأحدث. يتيح لك DECO العمل مع أي جهاز، على الرغم من وجود إعداد DECO باستخدام TEE. وفقًا لعملية الإعداد، قد تستغرق المصافحة الثلاثية لـ DECO بعض الوقت، لكن هذا لا يقارن بقيود الأجهزة في TC، لذا فإن DECO أكثر عملية.

اختتام

بالنظر إلى الوحيين بشكل منفصل ومقارنتهما بأربعة معايير، فمن الواضح أن Town Crier أدنى من DECO بثلاث نقاط من أصل أربع. يعد DECO أكثر موثوقية من وجهة نظر أمن المعلومات، وأرخص وأكثر عملية، على الرغم من أن إعداد بروتوكول ثلاثي الأطراف قد يستغرق بعض الوقت وله عيوبه، على سبيل المثال، عمليات إضافية باستخدام مفاتيح التشفير. TC أسرع من DECO، لكن الثغرات الأمنية في هجوم القناة الجانبية تجعله عرضة لفقدان السرية. ويجب الأخذ في الاعتبار أن DECO تم تقديمه في يناير 2020، ولم يمر وقت كافٍ لاعتباره آمنًا. لقد تعرضت Town Crier للهجوم لمدة 4 سنوات وخضعت للعديد من الاختبارات، لذا فإن استخدامها في العديد من المشاريع له ما يبرره.

المصدر: www.habr.com

إضافة تعليق