قناة علوم عظيمة على اليوتيوب

أخرى

البلوكشين تحت الاختبار

هذا المقال يخضع للمعالجة الالية من طرف كشًاف، إذا كانت لديك أي ملاحظات عليه لا تتردد في مراسلتنا.

الأداء Performance Testing-اختبارات العقد Node Testing-اختبارات قابلات التطبيقات API testing-أشهر الأدوات المستخدمة في إجراء الاختبارات على نظام البلوكشين -أداة الاختبار Ethereum Tester -أداة الاختبار Ganache-أداة الاختبار Hyperledger Composer هل تعلم ماذا يعني نظام البلوكشين ذكرت في الموضوع السابق بحتى الكتلة هي الوحدة البنائية لنظام البلوكشين ؛ لأنها تعبير عن قاعدة بيانات تحوي داخلها البيانات المراد تداولها ، كما أنها تحوي الهاش الخاص بالكتلة السابقة لها إضافة للهاش الخاص بها ، والهاش يمثل رقم الهوية الخاص بجميع كتلة...

المحتويات
  • -هل تعلم ماذا يعني نظام البلوكشين
    • -سمات البلوكشين
  • -أنواع البلوكشين
    • -الشبكات المجتمعة Consortium
    • -الشبكات العامة Public
    • -الشبكات الخاصة Private
  • -المكونات الأساسية لنظام البلوكشين
    • -تطبيق خاص بالعقدة Node Application
    • -البيانات الموحدة Shared Ledger
    • -خوارزمية الإجماع Consensus Algorithm
    • -منظومة افتراضية Virtual Machine
  • -كيف من الممكن أن تعمل منظومة البلوكشين
    • -
      • -ميزات البلوكشين
  • -أبرز التحديات التي تقابل أنظمة البلوكشين
  • -مراحل اختبار شبكة البلوكشين
    • -فترة البدء Initiation   
    • -فترة التصميم Design
      • -
        • -فترة الاختبار
  • -الاختبارات الرئيسية التي يتم إجرائها على شبكة البلوكشين
    • -الاختبارات الوظيفية Functional Testing
    • -اختبارات التتام Integration Testing
    • -اختبارت الأداء Performance Testing
    • -اختبارات العقد Node Testing
    • -اختبارات قابلات التطبيقات API testing
  • -أشهر الأدوات المستخدمة في إجراء الاختبارات على نظام البلوكشين
    • -أداة الاختبار Ethereum Tester
    • -أداة الاختبار Ganache
    • -أداة الاختبار Hyperledger Composer
هل تعلم ماذا يعني نظام البلوكشين
ذكرت في الموضوع السابق بحتى الكتلة هي الوحدة البنائية لنظام البلوكشين ؛ لأنها تعبير عن قاعدة بيانات تحوي داخلها البيانات المراد تداولها ، كما أنها تحوي الهاش الخاص بالكتلة السابقة لها إضافة للهاش الخاص بها ، والهاش يمثل رقم الهوية الخاص بجميع كتلة ؛ وذلك يعني بحتى جميع كتلة لها الهاش الخاص بها وحدها لتمييزها عن غيرها .
في هذا الموضوع ؛ يفترض أن نتحدث عن الجزء العملي الخاص بالبلوكشين في النقاط التالية :
  • -هل تعلم ماذا يعني نظام البلوكشين
  • -سمات البلوكشين
  • -أنواع البلوكشين
  • -المكونات الأساسية لنظام البلوكشين
  • -كيف من الممكن أن تعمل منظومة البلوكشين
  • -ميزات البلوكشين
  • -أبرز التحديات التي تقابل أنظمة البلوكشين
  • -مراحل اختبار شبكة البلوكشين
  • -الاختبارات الرئيسية التي يتم إجرائها على شبكة البلوكشين
  • -أشهر الأدوات المستخدمة في إجراء الاختبارات على نظام البلوكشين
سمات البلوكشين
جميع ميزة عبر ميزات البلوكشين يمكن الاستفادة منها في تطوير الأنشطة الحياتية مثل :
  • -لا مركزية النظام : يمكن الاستفادة عبر ميزة لا مركزية البلوكشين في الأعمال التجارية المتنوعة وعلى رأسها التداول بالبيتكوين والأنشطة العقارية .
  • -درجة الأمان العالية : هذه الميزة تفيد كثيرا في تطوير الأنظمة الأمنية للشركات لا سيما أنظمة المصادقة والتحقق .
  • -الموثوقية : هذه الميزة تشجع الشركات على استخدام البلوكشين في إدارة بياناتها وتعاملاتها .
  • -زيادة سعة الشبكة : قدرة أية عقد على إضافة كتلة جديدة ؛ تحمل كثيرا عبر قدرة الشبكة كجميع على استيعاب كمية هائلة عبر البيانات .
أنواع البلوكشين
تنقسم شبكات البلوكشين إلى ثلاثة أنواع رئيسية هي :
الشبكات المجتمعة Consortium
جميع عقدة في هذه الشبكة تمثل كيانا وليس فردا ؛ بمعنى حتى هذا النوع عبر الشبكات يتكون عبر خلال تجمع بعض الشركات مع بعضها لتكوين شبكة بلوكشين واحدة تدير التعاملات فيما بينها مع الاحتفاظ بلامركزية النظام طبعا .
الشبكات العامة Public
هي شبكة بلوكشين عادية ؛ يمكن لأي إنسان أو كيان المشاركة فيها وجميع بياناتها تظهر للجميع بلا استثناء مع الاحتفاظ بلا مركزية النظام بشجميع تام طبعا .
الشبكات الخاصة Private
هذه الشبكة شبكة لا مركزية جزئية بمعنى أنها شبكة تضم أشخاص ينتمون لكيان محدد وليكن شركة مثلا ومسموح فقط للمنتمين إلى هذه الشركة بإضافة وتعديل البيانات ، لكن البيانات نفسها تصبح معروضة للجميع كذلك ؛ وهذا ما يجعلها نظام لا مركزي جزئي – إذا صحت هذه التسمية أصلا – .

هذا الجدول يعقد مقارنة شاملة بين الأنواع الثلاثة الأشهر لشبكات البلوكشين :
  من يستطيع الاشتراك بالشبكة
العامة أي إنسان
الخاصة الأفراد المنتمين لشركة واحدة
المجتمعة مجموعة شركات
  القيود وهوية المشهجرين
العامة # لا توجد قيود # ليست تابعة لكيان محدد
الخاصة # لا يحق لأحد خارج الشركة المشاركة في الشبكة # تابعة لكيان معروف
المجتمعة # لا يحق سوى للشركات بالاشتراك في الشبكة وفق اتفاق مسبق # تابعة لكيانات معروفة
  الأمان
العامة # تستخدم تقنية إجماع العقد لتأمين محتوياتها # تستخدم كذلك إجراءات مثل Proof Of Work
الخاصة # مسبقة التأمين بفضل تقييد عملية الاشتراك # تستخدم آلية إجماع العقد أيضا
المجتمعة # مسبقة التأمين بفضل تقييد عملية الاشتراك # تستخدم آلية إجماع العقد أيضا
  سرعة التداول
العامة بطيئة
الخاصة سريعة
المجتمعة سريعة
المكونات الأساسية لنظام البلوكشين

يتكون أي نظام بلوكشين عبر أربعة ركائز أساسية هي :
تطبيق خاص بالعقدة Node Application
يجب أنقد يحدث هناك تطبيقا موحدا مثبتا على جميع عقدة مشهجرة في الشبكة ؛ حتى تتمكن عبر التعامل مع شبكة البلوكشين .
البيانات الموحدة Shared Ledger
جميع عقدة تقوم بتثبيت التطبيق ؛ تتمكن تلقائيا عبر فتح البيانات ( الكتل ) الموجودة على الشبكة وجميع العقد تمتلك نسخة تامة عبر البيانات الموجودة على الشبكة .
خوارزمية الإجماع Consensus Algorithm
خوارزمية تمكن جميع العقد المتواجدة على الشبكة عبر إجراء عملية المصادقة عند إضافة كتلة جديدة أو تعديل الكتل الموجودة .
منظومة افتراضية Virtual Machine
لكي تتم لإدارة شبكة معقدة كهذه ؛ لابد عبر وجود منظومة إدارة متتامة تتمتع بذكاء اصطناعي عالي يستطيع ربط العقد ببعضها ويكون مرتبطا بالتطبيق المثبت على العقد .
كيف من الممكن أن تعمل منظومة البلوكشين
الشجميع التالي يوضح آلية عمل منظومة البلوكشين كجميع في ضوء ما تقدم عبر ذكر مكونات نظام البلوكشين

ميزات البلوكشين

توفير الوقت : لا يستغرق إجراء المعاملة المالية داخل شبكة البلوكشين بضعة دقائق ؛ رغم حتى هذا النوع عبر المعاملات يستغرق أياما لإنجازه ؛ وذلك لأنه لا يوجد نظام مركزي يقوم بعمليات المصادقة والتحويلات والذي يستغرق وقتا طويلا .
تقليل التجميعفة : بسبب عدم وجود طرف ثالث يأخذ نسبة عبر العمولة ؛ يمكن للجميع توفير الكثير عبر الأموال لقاء المعاملة الواحدة ، وبسبب امتلاك جميع عقدة لسجل تام بكافة المعاملات ؛ فإذا هذا يوفر على صاحبها الكثير عبر الأموال التي قد ينفقها في الترويج لنفسه أو التحقق عبر مصداقية الطرف الآخر .
درجة الأمان العالية : بسبب الهيجميعية الأمنية الفريدة التي يتمتع بها نظام البلوكشين ؛ نجده واحدا عبر أكثر الأنظمة أمانا على شبكة الإنترنت ، إذا لم يكن أكثرهم أمانا على الإطلاق .  
أبرز التحديات التي تقابل أنظمة البلوكشين
فهم آلية العمل Understanding the Technology : باعتبار حتى البلوكشين شبكة حديثة نوعا ما ؛ فإذا الكثيرين يرتابون في مصداقيتها ودرجة أمانها ، إضافة طبعا إلى تعقد آلية عملها جدا بدرجة تقاسي على الكثيرين فهم آلية عملها أساسا ؛ وهذه المشجميعة تقابل أغلب عبر يريد الترويج للبلوكشين .
عدم وجود أدوات لاختبار كفاءة تطبيقات البلوكشين Lack of Blockchain Testing Tools : بما حتى نظام البلوكشين ليس معتمدا بكثرة لدى الكثير عبر الجهات ؛ فإذا أغلب أدواته وتطبيقاته لا سيما التطبيقات الخاصة بالعقد ؛ تفتقر إلى الأدوات التي يمكن استخدامها للتحقق عبر كفاءة تلك التطبيقات ، ولا يوجد جهات كذلك قامت بفحص تلك التطبيقات ونشر تقارير عن كفاءة تلك التطبيقات .
عدم وجود استراتيجية واضحة لاختبار كفاءة النظام Defining Test Strategy : هذه نتيجة طبيعية جدا لافتقار مستخدمي البلوكشين للأدوات والتقارير التي تمكنهم عبر تحديد استراتيجية واضحة لفحص كفاءة نظام البلوكشين وإدارة التعاملات داخل النظام .
حجم الكتلة الواحدة وحجم سلسلة الكتل جميعها Block and Chain Size : تشجميع هذه المشجميعة معضلة حقيقية تقابل أغلب مستخدمي البلوكشين ؛ لأنه عبر القاسي جدا وضع حد أدنى وحد أعلى للحجم الذي لا يجب حتى تتخطاه شبكة البلوكشين أو الكتلة ؛ وذلك لحتى أية عقدة تستطيع إضافة أي عدد عبر الكتل ترغبه وبأي حجم ؛ وهذا طبعا يرجع لعدم وجود سلطة مركزية تنظم مثل تلك الأمور ، وهذه المشجميعة تؤثر بشجميع كبير على التطبيقات التي تستخدمها العقد للتعامل مع شبكة البلوكشين ؛ لحتى عدم وجود حجم واضح للشبكة ؛ يمكن حتى يتسبب في عدم اختيار التطبيق المناسب للتعامل مع الشبكة .
فحص تتام النظام Integration Testing : هذه مشجميعة كبيرة أيضا ؛ لأنه عبر القاسي جدا التأكد تماما عبر عمل جميع مكونات الشبكة بالشجميع السليم ؛ لأنه عبر القاسي معهدة أين يكمن الخلل أصلا ؛ خصوصا لو تعرضت إحدى الكتل للاختراق ؛ وهو ما يتسبب في تعطيل النظام بتامه لا سيما الكتل التالية لها ، تزداد هذه المهمة صعوبة ؛ نظرا للافتقار إلى الأدوات التي يمكن استخدامها في فحص التطبيقات والكتل وجميع مكونات النظام كما ذكرت أعلاه .
الأداء والأحمال Performance and Load : الفحص الدقيق لهذين المتغيرين يعطي في النهاية شيئا أشبه بمؤشر الأداء الذي يمكن الرجوع إليه في حالة حدوث مشجميعة للشبكة .
الأمان Security : الأمان هو الركيزة الأساسية لأي نظام عمل في العالم ؛ إذ بدون وجود نظام أمني قوي ؛ يمكن حتى تحدث الكثير عبر المشاجميع في شبكة البلوكشين وقدقد يحدث لتلك المشاجميع مردود كارثي إذا كانت شبكة البلوكشين تستخدم في بعض القطاعات الحساسة مثل الصحة والاقتصاد .
مراحل اختبار شبكة البلوكشين
تمر عملية اختبار كفاءة شبكة البلوكشين بأربعة مراحل رئيسية هي : 
فترة البدء Initiation   
يتم إجراء هذه الخطوة على خطوتين هما :
فهم متطلبات النظام : قبل إنشاء شبكة البلوكشين ؛ يجب أولا تحديد الهدف عبر إنشائها ؛ لتحديد متطلباتها بدقة عبر حيث التطبيق الذي ستستخدمه العقد وآليات فحص كفاءة الشكبة وغيرها عبر تلك الأمور .
تحديد استراتيجية فحص كفاءة الشبكة : بعد تحديد الهدف بدقة ؛ وتحديد المتطلبات بدقة كذلك ؛ يجب اعتماد استراتيجية فحص متتامة لكفاءة الشبكة أثناء العمل ؛ وذلك قبل إنشائها أساسا .
فترة التصميم Design
تتكون هذه الخطوة عبر أربعة خطوات رئيسية هي :
إنشاء حالة الاختبار : يقوم فريق ضمان الجودة بكتابة تقرير مشروح بخصوص مراحل وأدوات وطرق إجراء الاختبارات بجميع دقة وحملها لخبير تحليل الأعمال Business Analyst(BA) ؛ عبر أجل اعتماد الخطة بشجميع نهائي .
إنشاء بيانات الاختبار : بيانات الاختبار هذه هي المعايير والمقاييس وجميع المعلومات التي يحتاجها الفريق لإجراء الاختبار ؛ وقد تتم عملية إنشاء البيانات بشجميع يدوي أو آلي .
إنشاء بيئة العمل : يتم بناء نموذج أولي للشبكة قبل استخدامها ؛ لتحديد مدى كفاءتها ومدى كفاءة طرق الاختبار المتبعة .
مؤشرات الأداء : أية اختبارات أنت بحاجة إلى وجود مؤشرات للأداء والتي تمثل المرجعية المستخدمة لتحديد نجاح أو فشل المنظومة كجميع .
فترة الاختبار
يتم إجراء اختبارات لجميع مكونات النظام وعلى كافة المستويات على النحو التالي :
اختبار قابلة برمجة التطبيقات API : يتم اختبار التطبيقات أولا للتأكد عبر ملاءمتها لبيئة العمل التي تم تصميمها مسبقا .
اختبار الكتل Block : يجب اختبار جميع كتلة على حدة ؛ لضمان عدم حدوث مشاجميع في النظام مستقبلا ؛ لحتى الكتلة هي المكون الرئيس لنظام البلوكشين بتامه .
الاختبار الوظيفي Functional Testing : يتم إجراء الاختبار أيضا على جميع التعاملات التي تجري على الشبكة مثل إجراء الاختبارات على العقود الذكية .
اختبار الأداء Performance : يضم اختبار نقل البيانات عبر الشبكة وسرعة إجراء المعاملات المتنوعة وسهولة إضافة الكتل الجديدة ومدى دقة عمليات المصادقة والتحقق وفقا لحجم الشبكة .
الاختبار الأمني Security : هذا الاختبار يهدف إلى التحقق عبر مدى كفاءة النظام في التعامل مع التهديدات التي يتعرض لها ومدى قدرته على حماية البيانات عبر تلك الأخطار والتهديدات ومقدار ما يتعرض له النظام عبر عمليات اختراق وقرصنة ومقدار كفاءة النظام في التصدي لها .
اختبار التتام Integration : يهدف هذا الاختبار إلى التحقق عبر مدى تتام عناصر النظام مع بعضها وسهولة التجاوب فيما بينها والتأكد كذلك عبر عدم حدوث أية مشاجميع أثناء تعامل تلك المكونات مع بعضها .
اختبار العقود الذكية Smart Contract : تعتمد فكرة هذا الاختبار على فحص آلية عمل العقود الذكية ومدى ملاءمتها للشبكة ومقدار توافقها مع مكونات الشبكة خصوصا العقد .
التقرير النهائي
بعد الانتهاء عبر تطبيق المشروع ؛ يجب حمل تقرير نهائي بخصوص جميع ما تم إنجازه في المشروع لا سيما تقارير الاختبارات التي تم إجراؤها على المشروع وتضم :
  • -ملخص المشروع : يتم سرد جميع ما يمت للمشروع بصلة بإيجاز شديد مثل سرد التكاليف ومدة التطبيق مع ذكر تفاصيل العمل بإيجاز شديد .
  • -تقرير اختبارات العقود الذكية : تعبير عن تقرير يصف جميع ما يخص العقود الذكية مثل بيانات تلك العقود ومقدار المعاملات المالية التي تتم باستخدام تلك العقود .
  • - تقرير اختبارات الأمان : يتم سرد نتائج اختبارات الأمان بشجميع تفصيلي مع حمل تقرير مشروح أيضا عن أكثر البيانات تعرضا للتهديد ، وعرضها على العقد وإدارة البلوكشين .
  • -تقرير اختبارات الأداء والكفاءة : في هذا التقرير يتم التطرق إلى ذكر التفاصيل الخاصة بالتطبيقات المستخدمة على الشبكة مثل ذكر سرعة أداء تلك التطبيقات ومقدار موثوقيتها وكذلك قدرتها على إدارة البيانات والتعامل مع التهديدات .
الاختبارات الرئيسية التي يتم إجرائها على شبكة البلوكشين
الاختبارات الوظيفية Functional Testing
تكمن أبرزية إجراء الاختبار الوظيفي في أنه يساعد على تحديد متطلبات المشروع بدقة شديدة ؛ لأنه يعنى بفحص المكونات الرئيسية للشبكة مثل :
1 – حجم الكتلة الواحدة وحجم الشبكة كجميع .
2 – إضافة الكتل .
3 – عملية نقل البيانات .
اختبارات التتام Integration Testing
بما حتى البلوكشين يستخدم في مجالات عديدة ويخدم قطاعات كثيرة ؛ يجب أولا حتى يتم تقييم مقدار تتام مكونات النظام بتامه مع بعضها ؛ حيث حتى التتام بين تلك المكونات والذي يعني عمل كافة المكونات مع بعضها بشجميع متناسق دون مشاجميع تذكر يمثل حجر الزاوية في نجاح النظام كجميع ؛ لحتى التوافق بين مكونات النظام هي عماد آلية عمل أي نظام .  
اختبارت الأداء Performance Testing
يساهم إجراء اختبارات الأداء لمكونات النظام في تحديد المشاجميع التي تعتري التطبيقات قبل بدء المشروع ، وبالتالي تجنب حدوث مشاجميع أثناء تشغيل الشبكة ؛ وهذا بدوره سيفيد كثيرا في تسقط التكاليف الخاصة بتشغيل التطبيقات بشجميع دقيق جدا .
اختبارات العقد Node Testing
مثلما يتم اختبار الكتل والتطبيقات ؛ يتم أيضا اختبار العقد بالتبعية ؛ لحتى التتام والتعاون والتواصل المباشر فيما بينها هو الضامن لنجاح الشبكة بتامها .
اختبارات قابلات التطبيقات API testing
تمثل التطبيقات حلقة الوصل بين كافة مكونات الشبكة ؛ وبالتالي يجب فحصها بشجميع دوري وبالأخص فحص سرعة استجابة التطبيقات لمتغيرات الشبكة ؛ ضمانا لعدم حدوث مشاجميع في الشبكة .
أشهر الأدوات المستخدمة في إجراء الاختبارات على نظام البلوكشين
سأتناول بإيجاز شديد ذكر طائفة عبر أشهر الأدوات التي يحتاجها جميع مستخدمي نظام البلوكشين ؛ لإجراء الاختبارات المطلوبة مثل :
أداة الاختبار Ethereum Tester
هذه الأداة مصممة خصيصا لاختبار العملات الرقمية مثل عملة Ethereum  وهي تعبير عن تطبيق مفتوح المصدر وهذا التطبيق موجود على منصة GitHub ويمكن تخصيص هذه الأداة باستخدام قابلة التطبيقات API المتواجدة على شبكة  البلوكشين .
أداة الاختبار Ganache
هذه الأداة كانت تدعى سابقا باسم Testrpc ؛ وهي تعبير عن مخطة رقمية كبيرة مصممة لفحص العقود الذكية التي تتم باستخدام عملة Ethereum  ؛ وتعتمد فكرة عمل هذه الاداة على إنشاء شبكة بلوكشين موازية تمكن مستخدمها عبر الوصول إلى الحسابات المستخدمة في إجراء الاختبار .
أداة الاختبار Hyperledger Composer
تستخدم هذه الأداة المفتوحة المصدر لإنشاء تطبيقات البلوكشين ؛ وكذلك تستخدم لإجراء ثلاثة أنواع رئيسية عبر الاختبارات هي :
  • -اختبارات درجة التفاعل interactive Testing .
  • -اختبارات الوحدة الآلية automated unit .
  • -اختبارات النظام System testing .
الوسوم
العملات الرقمية بتكوين بلوكشين عملات رقمية
السابق
أوزباكستان: بدء علاج مرضى السل عبر مكالمات الفيديو بسبب الإغلاق العام | بوبيولار ساينس - العلوم للعموم
التالي
بالأدوية والأعشاب: إليكِ طرق التخلص من ألم الدورة الشهرية | بوبيولار ساينس - العلوم للعموم

0 تعليقات

أضف تعليقا

اترك تعليقاً