
المعالجة غير المتزامنة هي أسلوب في تصميم الأنظمة حيث لا تعيق المهام بعضها البعض ولا يشترط تنفيذها بتسلسل محدد. يمكن بدء مهمة وتركها تعمل في الخلفية بينما تستمر العمليات الأخرى بشكل مستقل. مثال واقعي بسيط هو تشغيل غسالة الملابس أثناء إعداد وجبة الطعام، حيث تستمر كلتا العمليتين دون انتظار إحداهما للأخرى حتى تنتهي.
في أنظمة Web3، يُعتبر السلوك غير المتزامن هو القاعدة وليس الاستثناء. معظم العمليات على البلوكشين لا تُنفذ فوراً. بعد إرسال المستخدم للمعاملة على السلسلة، يجب أن تقوم الشبكة أولاً بنشرها، تضمينها في كتلة، ثم التحقق منها عبر الإجماع. التفاعلات عبر السلاسل تتطلب تمرير الرسائل بين شبكات مستقلة. الوصول إلى البيانات خارج السلسلة يعتمد على تحديثات الأوركل التي تصل في أوقات محددة وليس لحظة التنفيذ. فهم هذه التأخيرات ضروري لتحديد الوقت المناسب لتقديم تغذية راجعة للمستخدم ومتى يجب تنفيذ الخطوات التالية في سير العمل.
البلوكشين أنظمة موزعة تتطلب إجماع الشبكة بأكملها قبل تثبيت البيانات. هذا التصميم يركز على الأمان واللامركزية، لكنه يفرض بطبيعة الحال فترة انتظار. تنتقل المعاملة من مرحلة البث إلى التأكيد فقط بعد المرور عبر الميمبول، ثم تضمينها في كتلة، والحصول على تأكيدات إضافية.
تشير مقاييس الشبكة إلى أن Bitcoin لديها متوسط إنتاج كتلة يقارب 10 دقائق، بينما تنتج Ethereum الكتل كل حوالي 12 ثانية. عدد التأكيدات المطلوبة يختلف حسب التطبيق، لكنه غالباً يتراوح بين 1 و12 كتلة. زيادة عدد التأكيدات ترفع من نهائية المعاملة ومقاومتها لإعادة تنظيم السلسلة، لكنها تزيد أيضاً من وقت الانتظار.
الاعتماد على عناصر خارج السلسلة يعزز السلوك غير المتزامن. الأوركل التي توفر بيانات خارجية للبلوكشين تعمل وفق جداول تحديث محددة. هذا يعني أن العقود الذكية لا يمكنها الحصول على بيانات العالم الحقيقي فور التنفيذ، مما يضيف طبقة أخرى من عدم التزامن لتطبيقات التمويل اللامركزي.
داخل العقد الذكي، التنفيذ نفسه يكون متزامناً. جميع التعليمات في المعاملة تُنفذ بشكل متسلسل ضمن كتلة واحدة، وتُطبق تغييرات الحالة فور نجاح التنفيذ. لا يمكن للعقد الذكي إيقاف التنفيذ أثناء المعاملة بانتظار رد خارجي.
يظهر السلوك غير المتزامن عندما تتفاعل العقود مع أنظمة خارجية:
على سبيل المثال، في بروتوكول الإقراض، لا تُجلب أسعار الأصول في الوقت الفعلي أثناء الإيداع. بدلاً من ذلك، ينشر الأوركل تحديثات الأسعار بشكل دوري. تستمع التطبيقات لهذه التحديثات لإجراء تقييمات المخاطر أو عمليات التصفية أو تقييم الضمانات.
المعالجة المتزامنة تتطلب إتمام كل خطوة قبل بدء التالية. مثال شائع هو الانتظار في طابور الأمن، حيث لا يحدث تقدم إلا عند انتهاء الخطوة السابقة. المعالجة غير المتزامنة تسمح بالتقدم دون انتظار، مثل حجز مكان في الطابور والعودة لاحقاً عند استدعائك.
| المجال | متزامن | غير متزامن |
|---|---|---|
| تدفق التنفيذ | كل خطوة تمنع التالية | الخطوات تتقدم بشكل مستقل |
| تجربة المستخدم | الانتظار واضح ومستمر | تحديثات الحالة تحدث في الخلفية |
| استخدام البلوكشين | توقيع المعاملة وإرسالها | التأكيدات، التحويلات بين السلاسل، الفهرسة |
في تصميم المنتجات، التدفقات المتزامنة مناسبة للإجراءات المتسلسلة مثل توقيع المعاملة وحساب الرسوم. التدفقات غير المتزامنة أفضل لتأكيد المعاملات، التسوية، والعمليات بين السلاسل حيث تكون أوقات الانتظار متغيرة وتكون إشعارات المستخدم ضرورية.
الأنظمة العابرة للسلاسل وهندسات Layer 2 تعزز السلوك غير المتزامن. حلول Layer 2 تُعالج المعاملات خارج السلسلة الرئيسية ثم تُسوي النتائج بشكل دوري على السلسلة، مما يضيف فترات انتظار إضافية.
التجميعات المتفائلة تتطلب عادة نافذة تحدي قبل أن تُصبح عمليات السحب نهائية على السلسلة الرئيسية، وغالباً ما تستمر عدة أيام. التجميعات القائمة على الأدلة المعرفة الصفرية تعتمد على توليد الأدلة وتقديم الدُفعات، مع أوقات سحب تتراوح بين دقائق وساعات حسب التنفيذ. جسور التحويل بين السلاسل يجب أن تنقل الرسائل بين سلاسل مستقلة، مما يعني أن إضافة الأصول ليست فورية.
يجب على المستخدمين الذين ينقلون الأموال بين السلاسل أو من Layer 2 إلى Layer 1 توقع نوافذ انتظار غير متزامنة محددة بوضوح. التطبيقات المصممة جيداً تعرض تقديرات للمدة، مؤشرات تقدم، وتحديثات حالة واضحة طوال هذه العمليات.
تعتمد تدفقات العمل غير المتزامنة الفعالة على التنسيق بين العقود الذكية، خدمات البنية التحتية، وواجهات المستخدم.
الخطوة 1. إرسال المعاملة وتسجيل معرف المعاملة الذي يحدد العملية بشكل فريد على السلسلة.
الخطوة 2. مراقبة أحداث العقد أو تغييرات الحالة باستخدام اشتراكات العقدة أو خدمات الفهرسة لاكتشاف نتائج التنفيذ.
الخطوة 3. تتبع تأكيدات الكتل وتقدير الوقت المتبقي بناءً على متوسط فترات إنتاج الكتل وعدد التأكيدات المطلوبة.
الخطوة 4. التعامل مع التأخيرات، وإعادة المحاولة، والإخفاقات. إذا بقيت المعاملة معلقة بسبب الرسوم المنخفضة، قد يُطلب من المستخدمين استبدالها. إذا تأخرت الرسائل بين السلاسل، يتم توفير خيارات تصعيد أو دعم.
الخطوة 5. تقديم تغذية راجعة شفافة للمستخدم. يجب تصنيف الحالات بوضوح مثل "تم الإرسال"، "بانتظار التأكيد"، و"مكتمل"، والتواصل بتوقعات زمنية واقعية.
توضح عمليات الإيداع والسحب هذه المبادئ بوضوح. في صفحات الإيداع على Gate، تُضاف الأموال عادة بعد الوصول إلى العدد المطلوب من تأكيدات الكتل. تظهر طلبات السحب بحالة معلقة حتى اكتمال التأكيد على السلسلة وإجراء فحوصات المخاطر الداخلية.
تُدخل الأنظمة غير المتزامنة حالة من عدم اليقين يجب إدارتها بنشاط.
بالنسبة للعمليات المالية، تحقق دائماً من عناوين الوجهة، لا تفصح مطلقاً عن المفتاح الخاص أو العبارة الاستذكاربة، وكن يقظاً ضد التصيد والإشعارات الاحتيالية.
تُعد المعالجة غير المتزامنة أساساً لمعظم أنشطة البلوكشين، بما في ذلك تأكيد المعاملات، تحديثات الأوركل، رسائل التحويل بين السلاسل، وعمليات السحب من Layer 2. الفصل الواضح بين تنفيذ العقود الذكية المتزامن والعمليات الخارجية غير المتزامنة ضروري للموثوقية وثقة المستخدم. تهدف التطورات مثل تقليل أوقات إنتاج الكتل، وجود مجمعين مشتركين، وتحسين تصميم الجسور إلى تقليل التأخيرات، لكن ضمانات الإجماع والأمان ستظل دائماً تتطلب نهائية زمنية. يبقى التصميم وفق عدم التزامن مطلباً أساسياً لأنظمة Web3 القوية.
لا. المعالجة غير المتزامنة لا تتطلب تعدد المسارات. تعني فقط استمرار التنفيذ دون انتظار اكتمال العملية. يمكن لحلقات الأحداث أحادية المسار دعم تدفقات العمل غير المتزامنة بكفاءة مثل الأنظمة متعددة المسارات.
غير متزامن تعني عدم حدوث الأمور في نفس الوقت أو عدم التزامن. في الحوسبة، تصف الأنظمة التي تستمر في التنفيذ أثناء انتظار اكتمال عمليات أخرى.
يجب نشر المعاملات، تضمينها في الكتل، والتحقق منها عبر الإجماع. إجراء هذه الخطوات بشكل متزامن سيؤدي إلى تجميد واجهات المستخدم لفترات طويلة. يسمح التأكيد غير المتزامن للمستخدمين بالحصول على معرف المعاملة فوراً بينما تستمر عملية التثبيت في الخلفية.
نعم. تشير الحالة المعلقة إلى أن المعاملة تم إرسالها لكنها لم تُؤكد بعد. تقوم برامج المحفظة بمراقبة تغييرات حالة البلوكشين بشكل غير متزامن وتحديث الحالة عند اكتمال التأكيد.


