شراء العملات المشفرة
الأسواق
العقود الفورية
العقود الآجلةBTC
مدخرات
مركز الأحداث
مركز المكافآت
المزيد
مهرجان صفر رسوم
Cosmos SDK: ما هو Cosmos SDK؟Cosmos SDK هو إطار عمل برمجي مفتوح المصدر لبناء بلوكشينات مخصصة من الطبقة الأولى (Layer 1)، ودفاتر أستاذ موزعة، وشبكات للعملات المشفرة مخصصة لتطبيقات بعينها.يوفر للمطورين مكونات بلوكشCosmos SDK: ما هو Cosmos SDK؟Cosmos SDK هو إطار عمل برمجي مفتوح المصدر لبناء بلوكشينات مخصصة من الطبقة الأولى (Layer 1)، ودفاتر أستاذ موزعة، وشبكات للعملات المشفرة مخصصة لتطبيقات بعينها.يوفر للمطورين مكونات بلوكش

Cosmos SDK

2026/10/13 15:13
#Advanced
Humanity
H$0.05666-2.56%
PX
PX$0.0113--%
Solayer
LAYER$0.06457-3.82%
Lorenzo Protocol
BANK$0.02537-4.87%
Mintellect
MINT$0.00001016-45.11%

ما هو Cosmos SDK؟

Cosmos SDK هو إطار عمل برمجي مفتوح المصدر لبناء بلوكشينات مخصصة من الطبقة الأولى (Layer 1)، ودفاتر أستاذ موزعة، وشبكات للعملات المشفرة مخصصة لتطبيقات بعينها.

يوفر للمطورين مكونات بلوكشين قابلة لإعادة الاستخدام للحسابات وتحويل التوكنات ورسوم المعاملات والتخزين والحوكمة والمكافآت والتفويض والترقيات وغيرها من الوظائف الشائعة.

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

كُتب Cosmos SDK أساساً بلغة البرمجة Go.

وهو طبقة التطبيق وانتقال الحالة ضمن مجموعة تقنيات Cosmos الأوسع، وليس عملة مشفرة أو بلوكشين بحد ذاته.

يمكن للبلوكشين الذي يُنشأ باستخدام SDK تحديد توكنه الأصلي ونظام المدققين وقواعد المعاملات ونموذج الرسوم وآلية الحوكمة وميزات التطبيق الخاصة به.

يصف الدليل الرسمي لـ Cosmos SDK الإطار بأنه وسيلة لبناء بلوكشينات ودفاتر أستاذ رقمية مخصصة للتطبيقات، باستخدام وحدات جاهزة وأخرى مخصصة.

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

ماذا تعني SDK؟

يرمز SDK إلى حزمة تطوير البرمجيات.

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

يوفر Cosmos SDK لبنات بناء خاصة بالبلوكشين، بحيث لا يحتاج المطورون إلى إنشاء كل ميزة للحسابات والمعاملات والتخزين والحوكمة والتخزين من البداية.

ولا تعني كلمة SDK أن كل بلوكشين يُنشأ باستخدامه يجب أن يتبع القواعد نفسها أو يوفر تجربة المستخدم ذاتها.

يمكن لكل فريق تطوير اختيار وحداته ومعلماته وصلاحياته وتكامل الإجماع وسياسات الترقية.

ما أحدث إصدار من Cosmos SDK؟

يُشار إلى Cosmos SDK v0.54.3 بوصفه أحدث إصدار في المستودع الرسمي حتى يوليو 2026.

صدر هذا الإصدار في 5 مايو 2026 ضمن سلسلة إصدارات v0.54 و2026.1.

ينبغي مراجعة صفحة إصدارات Cosmos SDK الرسمية قبل التطوير، إذ قد تتغير الإصدارات التصحيحية والتحديثات الأمنية مع مرور الوقت.

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

ينبغي ألا يحدّث البلوكشين اعتماده على SDK قبل مراجعة التغييرات غير المتوافقة مع الإصدارات السابقة وإعداد ترقية منسقة للشبكة عند الحاجة.

يوثق دليل الترقية إلى Cosmos SDK v0.54 التغييرات المتعلقة بربط مكونات التطبيق والحوكمة وخطافات دورة حياة وحدة Bank وStore v2 والتسجيل وتبعيات IBC وميزات الأداء التجريبية.

ما هو البلوكشين المخصص لتطبيق بعينه؟

البلوكشين المخصص لتطبيق بعينه هو شبكة صُممت قواعد بروتوكولها لتطبيق أو قطاع أو مجموعة استخدامات محددة.

تعمل وظائفه الأساسية ضمن آلة حالة البلوكشين، بدلاً من الاعتماد كلياً على العقود المنشورة على طبقة تنفيذ مشتركة للأغراض العامة.

يمكن لفريق التطوير تخصيص أنواع المعاملات وصلاحيات الحسابات والرسوم واختيار المدققين وإصدار التوكنات وصلاحيات الحوكمة وهياكل التخزين.

قد يقلل هذا النموذج الاعتماد على القواعد التي تحددها منصة تطبيقات مشتركة لا علاقة لها بالمشروع.

كما أنه يزيد مسؤولية مطوري البلوكشين ومجتمعه عن أمان الإجماع وتشغيل المدققين والترقيات والتصميم الاقتصادي وصيانة البنية التحتية.

يمكن للبلوكشين المخصص لتطبيق بعينه إضافة آلة افتراضية أيضاً عندما يرغب المطورون في دعم العقود الذكية القابلة للبرمجة إلى جانب الوحدات الأصلية.

كيف يعمل Cosmos SDK؟

يتكون بلوكشين Cosmos SDK من محرك تنفيذ ووحدات تطبيقات ومخازن حالة ومعالجات معاملات وواجهات لمحرك إجماع خارجي.

ينشئ المستخدمون معاملات موقعة تتضمن رسالة واحدة أو أكثر لطلب تغييرات في الحالة.

ترتب شبكة الإجماع المعاملات الصحيحة في كتل وترسل معلومات الكتل إلى التطبيق.

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

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

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

الطبقات الرئيسية في بلوكشين Cosmos SDK

الإجماع والشبكات

يوفر CometBFT عادةً الإجماع والشبكات بين الأقران، بدلاً من تنفيذ كل وحدة SDK لهما مباشرةً.

يرتب CometBFT المعاملات، وينسق تصويت المدققين، وينهي الكتل، ويتواصل مع التطبيق عبر واجهة Application Blockchain Interface.

BaseApp

BaseApp هو محرك التنفيذ الرئيسي المضمّن في تطبيق Cosmos SDK.

يتولى فك ترميز المعاملات، والبرمجيات الوسيطة للتوقيع، وتوجيه الرسائل، وحساب الغاز، والاستعلامات، وخطافات الكتل، وإدارة الحالة، والتواصل مع محرك الإجماع.

الوحدات

تتضمن الوحدات منطق تطبيق متخصصاً لوظائف مثل الحسابات وتحويلات التوكنات والتخزين والحوكمة وترقيات البرمجيات.

تخزين الحالة

تخزن كل وحدة حالتها في مساحة أسماء مضبوطة من نوع مفتاح-قيمة ضمن مخزن التطبيق المتعدد (multistore).

واجهات العميل

تتيح أدوات سطر الأوامر وخدمات gRPC ونقاط REST وغيرها من الواجهات للمحافظ والعقد ومستكشفات البلوكشين والتطبيقات إرسال المعاملات أو الاستعلام عن الحالة.

ما هو BaseApp؟

BaseApp هو نوع التطبيق الأساسي الذي ينسق تنفيذ المعاملات وعمل الوحدات في بلوكشين Cosmos SDK.

تصف وثائق BaseApp الرسمية BaseApp بأنه محرك التنفيذ الذي تستخدمه كل سلسلة Cosmos SDK.

ينفذ BaseApp واجهة Application Blockchain Interface المستخدمة للتواصل بين تطبيق البلوكشين وCometBFT.

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

ينشئ الإعداد الرئيسي لتطبيق السلسلة BaseApp ويربطه بالوحدات وKeepers ومخازن الحالة والبرمجيات الوسيطة وخطافات دورة الحياة.

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

ما هي ABCI؟

ترمز ABCI إلى واجهة Application Blockchain Interface.

وهي البروتوكول الذي يتواصل عبره محرك الإجماع مع تطبيق البلوكشين.

تفصل ABCI بين الإجماع والشبكات من جهة، ومنطق انتقال الحالة الخاص بالتطبيق من جهة أخرى.

يمكن لـ CometBFT استخدام استدعاءات ABCI لتهيئة السلسلة والتحقق من المعاملات وإنهاء الكتل واعتماد الحالة والحصول على تحديثات المدققين.

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

تتكون البنية المبسطة من: CometBFT ثم ABCI ثم BaseApp ثم الوحدات ثم حالة التطبيق.

ما هو CometBFT؟

CometBFT هو محرك إجماع يتحمل الأعطال البيزنطية، ويُستخدم عادةً مع تطبيقات Cosmos SDK.

يتولى إدارة الشبكات بين الأقران، ونشر المعاملات، واقتراح الكتل، وتصويت المدققين، وإنهاء الكتل.

يؤدي Cosmos SDK وCometBFT وظيفتين مختلفتين، رغم نشرهما معاً عادةً.

يحدد CometBFT الترتيب النهائي للمعاملات، بينما يحدد تطبيق Cosmos SDK ما تفعله هذه المعاملات.

وقد يؤدي خلل في منطق التطبيق إلى نتائج غير مرغوبة حتى عندما يعمل محرك الإجماع على النحو الصحيح.

لذلك تحتاج السلسلة الآمنة إلى إعداد موثوق للإجماع وإلى تعليمات برمجية آمنة وحتمية للتطبيق.

ما وحدات Cosmos SDK؟

وحدات Cosmos SDK مكونات قابلة لإعادة الاستخدام تدير مجالات محددة من وظائف البلوكشين وحالته.

يمكن لكل وحدة تحديد الرسائل والاستعلامات وKeepers والمعلمات وبيانات التكوين الأولي والأحداث وعمليات دورة حياة الكتل.

يوضح الدليل الرسمي لبنية الوحدات كيفية عزل الوحدات للحالة وإتاحة واجهات مضبوطة للتفاعل بين الوحدات.

يمكن لفريق التطوير تضمين وحدات قياسية أو تعديل ربط مكونات التطبيق أو إنشاء وحدات مخصصة.

تساعد الوحدات على إبقاء البلوكشين منظماً مع إضافة مزيد من الميزات إليه.

ولا تعني البنية المعيارية إمكانية إضافة أي وحدة دون معالجة مسائل التوافق والأمان والترحيل.

وحدات Cosmos SDK الشائعة

وحدة Auth

تحدد وحدة

x/auth
أنواع الحسابات والمعاملات الأساسية وتدعم المصادقة الأساسية للمعاملات.

وتشارك في عمليات التحقق المتعلقة بالتوقيعات وتسلسلات الحسابات والرسوم ومتطلبات المعاملات الأخرى.

توضح مواصفات وحدة المصادقة الرسمية أن الحسابات تتضمن معلومات تُستخدم للمفاتيح العامة والعناوين وأرقام الحسابات والحماية من إعادة تشغيل المعاملات القائمة على التسلسل.

وحدة Bank

تدير وحدة

x/bank
أرصدة العملات متعددة الأصول والتحويلات ومعلومات العرض والقيود المفروضة على بعض تحركات التوكنات.

يمكن للوحدات الأخرى استخدام واجهات Bank Keeper المضبوطة عندما تحتاج إلى سك الأرصدة أو حرقها أو تحويلها أو فحصها.

توضح وثائق وحدة Bank مسؤولياتها المتعلقة بالأرصدة والتحويلات متعددة الأصول.

وحدة Staking

توفر وحدة

x/staking
وظائف إثبات الحصة المتعلقة بالمدققين والتفويضات وفك الارتباط وإعادة التفويض وتحديثات مجموعة المدققين.

وحدة Slashing

يمكن لوحدة

x/slashing
فرض عقوبات على مخالفات المدققين، مثل التوقف المطول أو توقيع كتل متعارضة، وفقاً لمعاملات السلسلة.

وحدة Distribution

تدعم وحدة

x/distribution
توزيع رسوم المعاملات والمكافآت الأخرى بين المدققين والمفوّضين والموارد المجتمعية المحددة.

وحدة Governance

تدعم وحدة

x/gov
المقترحات على السلسلة والإيداعات والتصويت واحتساب الأصوات والتنفيذ المصرح به لرسائل المقترحات المعتمدة.

وحدة Mint

يمكن لوحدة

x/mint
إدارة إصدار التوكنات وفق القواعد الاقتصادية المحددة للبروتوكول وإعدادات التطبيق.

وحدة Upgrade

تنسق وحدة

x/upgrade
ترقيات البرمجيات المجدولة وترحيل الحالة عند ارتفاعات كتل محددة.

وحدة Authorization

تتيح وحدة

x/authz
لحساب منح حساب آخر صلاحية محدودة لتنفيذ أنواع رسائل محددة نيابةً عنه.

وحدة Fee Grant

تتيح وحدة

x/feegrant
لحساب دفع رسوم المعاملات عن حساب آخر ضمن حدود سماح مهيأة.

ما هو Keeper؟

Keeper هو طبقة الوصول إلى الحالة ومنطق الأعمال في وحدة Cosmos SDK.

ويوفر أساليب ذات أنواع محددة لقراءة بيانات الوحدة وكتابتها.

تظل حقول المخزن الأساسي للوحدة خاصة عادةً، كي لا تتمكن التعليمات البرمجية الخارجية من تعديل حالتها مباشرةً.

تستدعي خوادم الرسائل وخوادم الاستعلام وخطافات الكتل أساليب Keeper للتفاعل مع الحالة.

ولا تتلقى الوحدات الأخرى سوى واجهات Keeper والصلاحيات التي يتيحها التطبيق صراحةً.

يجعل هذا النموذج تبعيات الوحدات أوضح ويحد من الوصول غير المقيد إلى حالة البلوكشين المشتركة.

ومع ذلك، قد تكشف واجهة Keeper سيئة التصميم عن صلاحيات خطرة، لذا ينبغي مراجعة حدود الصلاحيات بعناية.

كيف تتواصل وحدات Cosmos SDK؟

تتواصل الوحدات عبر واجهات Keeper محددة صراحةً بدلاً من تعديل مخازن بعضها بعضاً مباشرةً.

قد تستدعي وحدة Staking طريقة معتمدة لدى Bank Keeper عندما يلزم نقل التوكنات المرتبطة بين حسابات الوحدات.

وقد تستدعي وحدة Governance طريقة معتمدة لتحديث المعلمات بعد إقرار مقترح.

وتظل الوحدة المستقبلة مسؤولة عن تطبيق قواعد حالتها.

تجعل الواجهات الصريحة اختبار صلاحيات التفاعل بين الوحدات ومراجعتها أمراً أسهل.

وقد تجعل التبعيات الدائرية والصلاحيات المفرطة صيانة التطبيق وتأمينه أكثر صعوبة.

كيف تُخزن الحالة؟

يخزن Cosmos SDK حالة التطبيق في أزواج مفتاح-قيمة ضمن مخازن خاصة بالوحدات.

تُمثَّل المفاتيح والقيم بالبايتات، بينما ترمّز الوحدات البيانات المنظمة وتفك ترميزها وفق قواعد تسلسل محددة.

يوضح دليل الحالة والتخزين في Cosmos SDK أن مخازن الوحدات تُضمّن في مخزن متعدد وتُعتمد معاً.

تتحكم كل وحدة في مساحة الأسماء الخاصة بها، وتصل إليها عادةً عبر مفتاح مخزن ذي نوع محدد وKeeper.

عند اكتمال الكتلة، يحسب التطبيق جذر حالة يمثل الحالة المجمعة للوحدات.

يُعاد جذر الحالة إلى محرك الإجماع ويُدرج في سجل البلوكشين المعتمد.

ما هو المخزن المتعدد في Cosmos SDK؟

المخزن المتعدد هو حاوية تنسق مخازن الحالة المنفصلة التي تستخدمها وحدات التطبيق.

يمكن لكل وحدة الاحتفاظ بمساحة مفاتيح مستقلة، فيما تُعتمد جميع تغييرات الوحدات ضمن جذر حالة واحد للتطبيق.

يفصل هذا التصميم بيانات الوحدات من دون إنشاء بلوكشين منفصل لكل وحدة.

يمكن أن يستخدم تنفيذ المعاملات حالة مخزنة مؤقتاً، بحيث تُهمل تغييرات الرسائل غير الناجحة قبل تحديث الحالة الأساسية.

قد يؤثر تنفيذ المخزن وإعداد قاعدة البيانات في أداء العقدة والتقليم واللقطات ومتطلبات الترحيل.

أدخل Cosmos SDK v0.54 تغييرات في حزم Store v2، ما يتطلب من التطبيقات التي تُرقّى إجراء ترحيل دقيق.

ما هي حالة Genesis؟

حالة Genesis هي الحالة الأولية التي يبدأ منها بلوكشين جديد.

تُمثّل عادةً في ملف

genesis.json
يتضمن إعدادات السلسلة والوحدات.

قد تحدد بيانات Genesis الحسابات الأولية وأرصدة التوكنات والمدققين ومعلمات الوحدات وسجلات بداية أخرى.

أثناء تهيئة السلسلة، يستدعي BaseApp منطق Genesis لكل وحدة للتحقق من حالتها وملئها.

يجب أن تبدأ كل عقدة ببيانات Genesis متوافقة، وإلا فلن تحسب حالة البلوكشين نفسها.

قد تتطلب الأخطاء في العرض الأولي للتوكنات أو العناوين أو مفاتيح المدققين أو المعلمات تصحيحاً منسقاً قبل إطلاق الشبكة.

كيف تعمل معاملات Cosmos SDK؟

معاملة Cosmos SDK هي بنية بيانات موقعة تحتوي على رسالة واحدة أو أكثر ومعلومات المصادقة وحد الغاز ورسوم المعاملة.

تمثل كل رسالة إجراءً مطلوباً، مثل تحويل التوكنات أو تفويض الحصة أو التصويت أو استدعاء وظيفة مخصصة في إحدى الوحدات.

يوقع المستخدم المعاملة بمفتاح خاص مرتبط بالحساب المُرسل.

تفك العقدة ترميز البايتات المقدمة وتتحقق من استيفاء المعاملة لمتطلبات الذاكرة المؤقتة للمعاملات (mempool).

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

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

دورة حياة معاملة Cosmos SDK

إنشاء المعاملة

تنشئ المحفظة أو التطبيق الرسائل وتضيف معلومات الحساب والرسوم والغاز والسلسلة والتوقيع.

التوقيع

يوقع صاحب الحساب بايتات التوقيع المحددة باستخدام المفتاح الخاص المصرح به للحساب.

البث

تُرسل المعاملة المُرمَّزة إلى عقدة عبر واجهة عميل مدعومة.

CheckTx

تجري العقدة فحوصات أولية تشمل التوقيعات وأرقام التسلسل والرسوم وتسعير الغاز وتنسيق المعاملة، قبل قبولها في الذاكرة المؤقتة للمعاملات.

الترتيب عبر الإجماع

يستخدم المدققون عملية الإجماع للاتفاق على كتلة تضم مجموعة مرتبة من المعاملات.

تنفيذ AnteHandler

يشغّل BaseApp البرمجيات الوسيطة السابقة للرسائل للمصادقة ومعالجة التسلسل والرسوم وإعداد الغاز.

تنفيذ الرسائل

تُوجَّه كل رسالة بحسب عنوان URL الخاص بنوعها إلى خادم الرسائل في الوحدة المناسبة.

المعالجة اللاحقة

يمكن للتطبيق إعداد معالجات لاحقة لمنطق يُنفذ بعد معالجة الرسائل.

اعتماد الحالة

تسهم انتقالات الحالة الناجحة في جذر حالة التطبيق الجديد المعتمد للكتلة.

ما هو AnteHandler؟

AnteHandler هو برمجية وسيطة تعمل قبل تنفيذ رسائل المعاملة.

يمكنه التحقق من التوقيعات وفحص تسلسلات الحسابات وخصم الرسوم وإعداد عداد الغاز وتطبيق شروط المعاملات الخاصة بالتطبيق.

إذا رفض AnteHandler معاملة، فلن تُنفذ رسائلها.

وفقاً لوثائق BaseApp الحالية، قد تظل الرسوم وتحديثات التسلسل التي تنفذها معالجة Ante بنجاح معتمدة حتى إذا فشل تنفيذ الرسائل لاحقاً.

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

يجب أن يظل منطق AnteHandler المخصص حتمياً لدى جميع المدققين.

ما هي رسالة Cosmos SDK؟

الرسالة طلب منظم لتنفيذ انتقال محدد في الحالة.

تشمل أمثلتها إرسال التوكنات وإنشاء مدقق وتفويض الحصة وتقديم مقترح حوكمة أو تغيير بيانات مخصصة في التطبيق.

لكل نوع رسالة حقول محددة وقواعد للموقّع ومتطلبات للتحقق وطريقة مرتبطة في خادم الرسائل.

يوجه BaseApp الرسائل وفق عناوين URL لأنواعها المسجلة.

يمكن للتطبيقات وضع عدة رسائل في معاملة واحدة.

تكون تغييرات حالة الرسائل ذرية عموماً، أي إن فشل رسالة يمنع اعتماد كتابات رسائل المعاملة جزئياً.

ما هي الاستعلامات؟

تقرأ الاستعلامات حالة البلوكشين من دون طلب انتقال في الحالة.

يمكن للمحفظة الاستعلام عن الأرصدة وصفقات التخزين ومقترحات الحوكمة ومعلمات الوحدات والمعلومات المتعلقة بالمعاملات.

تكشف وحدات Cosmos SDK عادةً عن خدمات استعلام gRPC يوجهها BaseApp إلى خادم الاستعلام المناسب.

لا تمر الاستعلامات عبر AnteHandler المعتاد للمعاملات، ولا تخصم رسماً لمعاملة بلوكشين بالطريقة نفسها.

قد تختلف نتيجة الاستعلام بين العقد عندما تعرض بيانات ارتفاعات كتل مختلفة أو تكون بياناتها التاريخية غير مكتملة.

ينبغي للتطبيقات تحديد السلسلة المستعلَم عنها وارتفاع الكتلة ومصدر البيانات عندما تؤثر هذه التفاصيل في النتيجة.

ما هو الغاز في Cosmos SDK؟

الغاز مقياس يُستخدم للحد من موارد الحوسبة والتخزين التي يستهلكها تنفيذ المعاملة.

قد تستهلك عمليات مثل التحقق من التوقيع وقراءة الحالة وكتابتها ومعالجة بايتات المعاملة الغاز.

تحدد المعاملة حد الغاز، أي الحد الأقصى للغاز المسموح به لتنفيذها.

تفشل المعاملة التي تستنفد حد الغاز حتى لو كانت الرسالة الأساسية صحيحة من نواحٍ أخرى.

قد تختلف جداول الغاز وتكاليفه بين سلاسل Cosmos SDK، لأن التطبيق يتحكم في معلمات وتفاصيل تنفيذ مهمة.

كيف تُحسب رسوم معاملات Cosmos SDK؟

يحسب نموذج مبسط الرسوم بضرب حد الغاز في سعر الغاز المختار.

رسوم المعاملة = حد الغاز × سعر الغاز

تبلغ رسوم معاملة حد الغاز فيها 200,000 وسعر الغاز فيها 0.025 وحدة لكل غاز 5,000 من أصغر وحدات التوكن.

رسوم المعاملة = 200,000 × 0.025 = 5,000

يمكن للمدققين إعداد حد أدنى لأسعار الغاز يُستخدم لتصفية المعاملات المقدمة إلى عقدهم.

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

ينبغي أن تحدد الرسوم المعروضة فئة التوكن والتحويل العشري الخاص بها.

حسابات Cosmos SDK

يتضمن حساب Cosmos SDK عادةً عنواناً ورقم حساب ورقم تسلسل ومعلومات المفتاح العام، إذا كان هذا المفتاح قد كُشف على السلسلة.

يساعد رقم التسلسل على منع إعادة بث المعاملة الموقعة نفسها مراراً.

قد يؤدي تقديم معاملات برقم تسلسل قديم إلى رفضها.

يمكن للتطبيقات تحديد أنواع حسابات تتجاوز الحساب الأساسي عندما تحتاج إلى استحقاق تدريجي أو توقيعات متعددة أو صلاحيات مرخصة أو سلوك متخصص.

لا يثبت عنوان الحساب الهوية القانونية للشخص أو المؤسسة التي تتحكم في مفتاحه الخاص.

قد يؤدي فقدان المفتاح الخاص أو وسيلة الاسترداد إلى فقدان السيطرة نهائياً إذا لم يوجد نظام تفويض بديل.

تنسيقات عناوين Cosmos SDK

تعرض سلاسل Cosmos SDK العناوين عادةً بترميز Bech32 وبادئة مقروءة خاصة بكل سلسلة.

تساعد البادئة المستخدمين على التمييز بين عناوين الحسابات والمدققين والإجماع في الواجهات المقروءة.

قد تعرض سلسلتان عنوانين مختلفين انطلاقاً من مادة مفاتيح مترابطة، لأنهما تستخدمان بادئتين أو قواعد عناوين مختلفتين.

لا تثبت البادئة وحدها أن العنوان يعود إلى البلوكشين أو المستلم المقصود.

ينبغي للمستخدمين التحقق من معرّف السلسلة ونوع العنوان والوجهة كاملةً ومسار الأصل المدعوم قبل تحويل العملات المشفرة.

التخزين في Cosmos SDK

تتيح وحدة Staking في Cosmos SDK للسلاسل تشغيل نظام مدققين قائم على إثبات الحصة.

يمكن لحاملي التوكن الأصلي تفويض توكنات التخزين إلى المدققين وفق قواعد السلسلة.

قد يعتمد اختيار المدققين على قوة التصويت المرتبطة وعدد المدققين المحدد في الإعدادات.

تحدد مواصفات التخزين في Cosmos SDK الرسمية انتقالات الحالة الخاصة بالمدققين والتفويض وفك الارتباط وإعادة التفويض ومجموعة المدققين.

تستخدم الوحدة حصص التفويض كآلية محاسبية لمجمع التوكنات المفوضة لكل مدقق.

تحدد كل سلسلة معلمات التخزين، مثل فئة التوكن المرتبط وحد المدققين ومدة فك الارتباط والسجلات التاريخية.

المدققون والمفوّضون

يشغل المدقق بنية تحتية تشارك في اقتراح الكتل والتصويت وواجبات الإجماع عندما يكون ضمن مجموعة المدققين النشطة.

يفوض المفوّض قوة التخزين إلى مدقق من دون أن يشغّل بالضرورة بنية المدقق التحتية.

قد يفرض المدققون عمولة على المكافآت الموزعة على المفوّضين إليهم.

يظل المفوّضون معرضين لأداء المدقق وتغييرات العمولة والعقوبات وتأخيرات فك الارتباط وتقلب التوكن ومخاطر البروتوكول.

لا ينقل التفويض الملكية كما يحدث في بيع التوكنات العادي، لكن التوكنات تصبح خاضعة لقواعد وحدة التخزين.

تعتمد الحقوق والمخاطر الدقيقة على إعداد تطبيق السلسلة.

فك الارتباط وإعادة التفويض

يبدأ فك الارتباط عملية إزالة التفويض من التخزين.

قد تظل التوكنات غير متاحة للتحويل خلال فترة فك ارتباط تحددها السلسلة.

وقد تظل معرضة للعقوبات المتعلقة بسلوك المدقق المؤهل الذي وقع أثناء ربطها.

تنقل إعادة التفويض التعرض الناتج عن التخزين من مدقق إلى آخر وفق قواعد البروتوكول.

تتعقب وحدة التخزين عمليات إعادة التفويض غير المكتملة للحد من محاولات تفادي العقوبات عبر التنقل المتكرر بين المدققين.

ينبغي لواجهات المحافظ عرض أوقات الاكتمال والقيود، بدلاً من وصف فك الارتباط بأنه سحب فوري.

العقوبات في Cosmos SDK

العقوبة (Slashing) هي جزاء يفرضه البروتوكول وقد يخفض قيمة الأصول المخزنة أو يخرج المدقق من المشاركة النشطة في الإجماع.

تغطي مواصفات العقوبات في Cosmos SDK مراقبة نشاط المدققين وإيقافهم وتوقيعات الكتل المتعارضة وسلوك الإقصاء النهائي.

يمكن للسلسلة تحديد العقوبات ومتطلبات الكتل الفائتة عبر معلماتها.

قد يتكبد المفوّضون خسائر بسبب العقوبات، لأن توكناتهم تسهم في حصة المدقق.

قد يُوقَف المدقق مؤقتاً عند إخفاقات محددة في البقاء نشطاً.

وقد تؤدي مخالفات الإجماع الجسيمة إلى عقوبات أشد وقيود دائمة وفق قواعد السلسلة.

الحوكمة في Cosmos SDK

تتيح وحدة الحوكمة للمشاركين المؤهلين تقديم مقترحات والتصويت على قرارات البلوكشين.

قد يتضمن المقترح رسالة واحدة قابلة للتنفيذ أو أكثر، لا مجرد توصية نصية غير رسمية.

تشمل إجراءات الحوكمة المحتملة تغيير معلمات الوحدات أو إنفاق موارد مجتمعية مخصصة أو جدولة ترقيات البرمجيات.

قد تتضمن عملية المقترح فترة إيداع وفترة تصويت ومتطلب نصاب وحداً للموافقة وحداً للاعتراض.

يمكن لكل سلسلة إعداد قواعد الحوكمة بطريقة مختلفة.

لا يمكن للموافقة على السلسلة إجبار المدققين على تشغيل برمجيات معيبة أو غير متاحة، لذلك تتطلب الترقيات الرئيسية تنسيقاً تشغيلياً أيضاً.

التفويض في Cosmos SDK

تتيح وحدة التفويض للمانح السماح للممنوح بتنفيذ رسائل محددة نيابةً عنه.

توضح وثائق التفويض في Cosmos SDK الرسمية أن المنح تمثل صلاحيات مرتبطة بأنواع رسائل محددة.

قد يكون المنح واسعاً أو مقيداً بمنطق تفويض مخصص.

يمكن أن يتضمن تفويض إرسال التوكنات حد إنفاق وقائمة اختيارية بالوجهات المعتمدة.

ينبغي للمستخدمين مراجعة نوع الرسالة المسموح بها وتاريخ الانتهاء وحدود الإنفاق وقيود المستلمين قبل إنشاء المنح.

يمكن لحساب مفوّض مخترق إساءة استخدام كل إجراء لا يزال المنح النشط يسمح به.

ترقيات برمجيات Cosmos SDK

قد تغير ترقيات برمجيات البلوكشين منطق الوحدات وتنسيقات التخزين والواجهات والسلوك المتعلق بالإجماع.

تتيح وحدة

x/upgrade
للسلسلة جدولة خطة ترقية عند ارتفاع كتلة محدد.

توضح مواصفات وحدة الترقية كيف يمكن لمقترحات الحوكمة جدولة خطط الترقية أو إلغاؤها.

يجب على مشغلي العقد تثبيت الملف التنفيذي الصحيح والمتوافق قبل سريان الترقية المجدولة.

يمكن لمعالج الترقية تشغيل عمليات ترحيل الوحدات وتحويل البيانات المخزنة إلى التنسيق الذي يتوقعه البرنامج الجديد.

قد يؤدي ضعف التنسيق إلى تعطيل إنتاج الكتل أو تقسيم المشغلين بين إصدارات غير متوافقة.

Cosmos SDK وIBC

IBC بروتوكول يتيح للبلوكشينات المتوافقة التحقق من البيانات عبر السلاسل وتبادلها.

يمكن لسلسلة Cosmos SDK دمج وحدات IBC لدعم تحويلات التوكنات والحسابات عبر السلاسل ورسائل العقود وغيرها من تطبيقات الترابط بين السلاسل.

توضح وثائق IBC-Go الرسمية أن السلاسل المفعّلة لـ IBC يمكنها تبادل البيانات المُرمَّزة بالبايتات عبر اتصالات بروتوكول غير مرخصة.

لا يقتصر IBC على السلاسل المنشأة باستخدام Cosmos SDK، رغم أن تطبيق Go يُدمج عادةً في تطبيقات SDK.

منذ IBC-Go v10، وُجد IBC Classic وIBC v2 كإصدارين منفصلين للبروتوكول ضمن سلسلة الإصدارات.

يستخدم الاتصال البروتوكول ووحدات التطبيق التي يدعمها كلا النظامين المشاركين.

كيف يعمل تحويل التوكنات عبر IBC؟

يبدأ تحويل التوكنات عبر IBC عندما يرسل المستخدم طلب تحويل على السلسلة المصدر.

تحتجز تطبيقات جهة المصدر التمثيل المعني أو تحرقه وفق مسار تحويل الأصل.

تُعتمد حزمة تتضمن بيانات التحويل ثم تُنقل لاحقاً إلى سلسلة الوجهة.

تتحقق سلسلة الوجهة من الإثبات المطلوب وتنشئ تمثيل الأصل المقابل أو تطلقه.

ينقل المرحّلون بيانات الحزم والإثباتات، لكن لا يلزم الوثوق بهم لتغيير محتوى الحزم الصحيحة.

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

هل يدعم Cosmos SDK العقود الذكية؟

يركز Cosmos SDK على وحدات البلوكشين الأصلية، لكن يمكن توسيعه بآلة افتراضية لتنفيذ العقود الذكية.

ويتيح ذلك للسلسلة الجمع بين وحدات على مستوى البروتوكول وتطبيقات قابلة للبرمجة ينشرها المستخدمون.

يمكن لفريق التطوير اختيار آلة افتراضية وفقاً للغة والتوافق والأداء ومتطلبات الأمان.

ولا تُفعّل إمكانية العقود الذكية تلقائياً في كل تطبيق من تطبيقات Cosmos SDK.

يوسع إدراج آلة افتراضية وظائف السلسلة، لكنه يوسع أيضاً مساحة الهجوم وتعقيد العمليات.

Cosmos SDK مقابل العقود الذكية

تعمل وحدة Cosmos SDK كمنطق تطبيق أصلي مضمن في برمجيات البلوكشين التي يستخدمها المدققون.

أما العقد الذكي فيعمل داخل آلة افتراضية يوفرها تطبيق بلوكشين قائم.

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

وغالباً ما يمكن نشر العقود الذكية من دون أن يضطر كل مدقق إلى تثبيت ملف تنفيذي جديد للسلسلة.

عادةً ما يتطلب تحديث منطق الوحدة الأصلية ترقية منسقة للسلسلة.

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

Cosmos SDK مقابل Cosmos Hub

Cosmos SDK برنامج يُستخدم لبناء البلوكشينات، بينما Cosmos Hub بلوكشين محدد بُني باستخدام مجموعة تقنيات Cosmos.

لا يفرض SDK عملة مشفرة أصلية واحدة تشترك فيها جميع السلاسل.

يمكن لكل تطبيق Cosmos SDK تحديد فئات توكناته وقواعد العرض وأصل التخزين وسياسة الرسوم الخاصة به.

لا يتحكم قرار حوكمة تتخذه سلسلة مستقلة تلقائياً في كل سلسلة أخرى مبنية باستخدام SDK.

ينبغي للمطورين عدم التعامل مع معلمات Cosmos Hub بوصفها إعدادات افتراضية عامة لـ Cosmos SDK.

فوائد Cosmos SDK

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

تمنح البنية المخصصة للتطبيق المطورين تحكماً في منطق البروتوكول والرسوم والصلاحيات والحوكمة واقتصاديات التوكن.

قد تجعل حدود حالة الوحدات وواجهات Keeper الصلاحيات أسهل فهماً ومراجعةً.

يمكن أن يوفر دعم IBC الأصلي اتصالاً معيارياً بين السلاسل.

يدعم الإطار كلاً من الوحدات الجاهزة ومنطق التطبيقات المخصص.

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

لكن هذه الفوائد لا تلغي الحاجة إلى تصميم آمن وتدقيق واختبار وتشغيل للمدققين وتحليل اقتصادي.

قيود Cosmos SDK

يتطلب إطلاق سلسلة مستقلة توفير المدققين والعقد والمراقبة والترقيات والحوكمة والصيانة طويلة الأجل.

يجب على الشبكة الجديدة بناء مستوى كافٍ من الأمان الاقتصادي أو القائم على الصلاحيات بما يناسب نموذج التهديد لديها.

قد تتضمن الوحدات المخصصة عيوباً خطيرة في المنطق أو التفويض أو ترحيل الحالة.

قد تؤدي ترقيات الوحدات والتبعيات إلى تغييرات غير متوافقة في ربط مكونات التطبيق.

ويضيف الاتصال عبر السلاسل مخاطر تتعلق بالعملاء والمرحّلين والتوجيه وسلسلة الوجهة.

قد تؤدي مرونة التطبيقات المخصصة إلى تعقيد، لأن سلسلتين مبنيتين على SDK قد تستخدمان معلمات ووحدات مختلفة جداً.

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

أمان Cosmos SDK

يعتمد الأمان على إصدار SDK وشيفرة التطبيق المخصصة وإعداد الإجماع وبنية المدققين وإدارة المفاتيح والحوكمة والبروتوكولات المتصلة.

يجب أن يكون كل انتقال للحالة حتمياً وأن يخضع للتحقق من المدخلات غير المصرح بها.

ينبغي ألا تكشف Keepers إلا عن الصلاحيات التي تحتاج إليها الوحدات الأخرى.

ينبغي توثيق الصلاحيات الإدارية ومفاتيح الترقية وسلطات الحوكمة وضوابط الطوارئ واختبارها.

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

توفر صفحة تدقيق Cosmos Stack الرسمية روابط إلى مراجعات أمنية منشورة للمكونات الأساسية.

وتوفر سياسة مكافآت اكتشاف الأخطاء في Cosmos Stack عملية منسقة للإبلاغ عن الثغرات بسرية.

مخاطر الأمان الشائعة في Cosmos SDK

التنفيذ غير الحتمي

قد تؤدي الشيفرة التي تعتمد على الوقت المحلي أو التكرار غير المتوقع أو الخدمات الخارجية أو السلوك العددي غير المتسق إلى احتساب المدققين لحالات مختلفة.

أخطاء صلاحيات Keeper

قد تسمح واجهة Keeper واسعة الصلاحيات لوحدة بإجراء تغييرات غير مصرح بها في وحدة أخرى.

التفويض غير الصحيح للرسائل

قد ينفذ معالج الرسائل تغييرات غير مصرح بها في الحالة إذا لم يتحقق من الموقّع أو الجهة المخولة الصحيحة.

أخطاء Genesis

قد تؤثر الأرصدة غير الصالحة أو السجلات المكررة أو بيانات المدققين غير الصحيحة أو المعلمات غير الآمنة في السلسلة قبل إنتاج أول كتلة.

إخفاقات الترقية

قد يؤدي منطق الترحيل غير الصحيح إلى إفساد الحالة أو منع العقد من إعادة التشغيل عند ارتفاع الكتلة المحدد للترقية.

إخفاقات التصميم الاقتصادي

قد يعمل البرنامج كما هو مكتوب، في حين تتسبب الحوافز غير الآمنة أو التضخم أو قواعد الضمانات أو عتبات الحوكمة في خسائر اقتصادية.

اختراق مفاتيح المدققين

قد تؤدي سرقة مفاتيح المدققين أو إعدادها على نحو غير صحيح إلى تعطيل العمليات أو التسبب في سلوك إجماع قد يستوجب العقوبة.

ثغرات التبعيات

قد ترث السلسلة نقاط ضعف أمنية من تبعيات قديمة في SDK أو الإجماع أو IBC أو التشفير أو قواعد البيانات أو الشبكات.

كيفية إنشاء بلوكشين باستخدام Cosmos SDK

تحديد الغرض من السلسلة

ينبغي للفريق تحديد المستخدمين والأصول وأنواع المعاملات وافتراضات الأمان وهيكل الحوكمة والمتطلبات التنظيمية.

اختيار إصدار SDK

ينبغي أن يبدأ التطبيق بإصدار مدعوم، مع تثبيت إصدارات متوافقة من التبعيات.

اختيار الوحدات القياسية

يمكن للفريق اختيار وحدات للحسابات والتحويلات والتخزين والحوكمة والمكافآت والتفويض والترقيات.

تطوير وحدات مخصصة

يمكن للوحدات المخصصة تعريف الرسائل وkeepers والاستعلامات والأحداث والمعلمات ومنطق التكوين الأولي (genesis) وخطافات دورة الحياة.

إعداد توصيل مكونات التطبيق

يجب ربط المخازن وkeepers وتبعيات الوحدات والبرمجيات الوسيطة وخدمات الرسائل وخدمات الاستعلام وترتيب الخطافات على نحو صحيح.

تعريف Genesis

يجب إنشاء الحالة الأولية للسلسلة والتحقق منها ومراجعتها وتوزيعها باستمرار على مشغلي العُقد.

اختبار الحتمية وانتقالات الحالة

يمكن لاختبارات الوحدات والاختبارات التكاملية والمحاكاة واختبارات fuzzing وشبكات الاختبار متعددة العُقد أن تكشف مشكلات المنطق والإجماع.

مراجعة الأمان

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

إطلاق شبكة اختبار

تتيح شبكة الاختبار للمشغلين والمطورين التدرب على إعداد Genesis والمعاملات وتغييرات المدققين والأعطال والترقيات.

تنسيق إطلاق الشبكة الإنتاجية

يجب أن يستخدم المدققون ملفات ثنائية وملفات Genesis وإعدادات شبكة وإجراءات تشغيلية متوافقة.

تطوير وحدات Cosmos SDK

تحدد الوحدة المخصصة عادةً نموذج الحالة قبل تنفيذ رسائل المعاملات.يمكن لملفات Protocol Buffer تعريف هياكل الرسائل والاستعلامات وGenesis والبيانات.يوفر keeper وصولاً مضبوطاً إلى الحالة ومنطق أعمال قابلاً لإعادة الاستخدام.يتحقق خادم الرسائل من طلبات المعاملات ويستدعي عمليات keeper.يوفر خادم الاستعلام وصولاً للقراءة فقط إلى حالة الوحدة.يمكن للوحدة تسجيل الخدمات والواجهات والمخازن ومعالجات Genesis والترحيلات وخطافات الكتل في التطبيق.ينبغي للمطورين اختبار الحالات الفاشلة والاستدعاءات غير المصرح بها، لا الاكتفاء باختبار المعاملات الناجحة.

خطافات دورة حياة الكتلة

يمكن لوحدات Cosmos SDK تنفيذ منطق محدد في مراحل مختلفة من تنفيذ الكتلة.يعمل منطق PreBlock قبل BeginBlock، ويمكنه إعداد الحالة اللازمة للكتلة.يعمل منطق BeginBlock قرب بداية تنفيذ الكتلة، ويمكنه تنفيذ مهام مجدولة للوحدة.بعد ذلك، تُعالَج المعاملات بالترتيب المتفق عليه.يعمل منطق EndBlock بعد تنفيذ المعاملات، ويمكنه إعداد تحديثات المدققين أو إتمام حسابات الوحدة.يتولى ModuleManager تنسيق ترتيب الخطافات، وقد يؤدي الترتيب غير الصحيح إلى أخطاء في التطبيق أو إلى حالة غير متوقعة.

الأحداث والفهرسة

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

حوكمة Cosmos SDK ومعلماته

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

أداء Cosmos SDK

يعتمد الأداء على منطق التطبيق وإعدادات قاعدة البيانات وتعقيد المعاملات والأجهزة وظروف الشبكة وإعدادات الإجماع وحجم الحالة.لا يستهلك التحويل البسيط الموارد نفسها التي تستهلكها معاملة معقدة تشمل وحدات متعددة.يجب على كل مدقق إتمام التنفيذ الحتمي ضمن افتراضات التوقيت الخاصة بالشبكة.قد يؤدي نمو الحالة بمرور الوقت إلى زيادة تكاليف التخزين واللقطات والمزامنة والاستعلامات.يمكن أن تؤثر قياسات الغاز والتقليم والفهارس والتخزين المؤقت ومنطق keeper الفعال في أداء العقدة.يتضمن Cosmos SDK v0.54 دعماً تجريبياً لـ Block-STM لتنفيذ المعاملات بالتوازي، لكن اعتماده في بيئة الإنتاج يتطلب اختبارات دقيقة للتوافق والصحة.

ما هو Block-STM؟

Block-STM نهج تجريبي للتنفيذ يحاول معالجة المعاملات المتوافقة بالتوازي مع الحفاظ على نتيجة نهائية حتمية.

تشرح وثائق Cosmos SDK لـ Block-STM التنفيذ المتوازي التفاؤلي أثناء إنهاء الكتلة.

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

تشغيل عُقد Cosmos SDK

تخزن العقدة الكاملة حالة البلوكشين وتتواصل مع الأقران وتتحقق من الكتل وتوفر الواجهات المُعدّة.وتتولى عقدة المدقق أيضاً مهام توقيع الإجماع عندما يكون المدقق نشطاً.يجب على المشغلين تأمين المفاتيح الخاصة وحماية الواجهات البعيدة ومراقبة استخدام القرص وتثبيت الترقيات المتوافقة والحفاظ على اتصال موثوق بالشبكة.ينبغي أن تستخدم خدمات استدعاء الإجراءات عن بُعد (RPC) العامة حدوداً للمعدل وضوابط وصول مناسبة لنموذج التهديدات الخاص بها.ينبغي أن تحمي النسخ الاحتياطية الإعدادات وبيانات الاسترداد اللازمة من دون إنشاء نسخ إضافية من مفاتيح التوقيع النشطة.ينبغي لنظام المراقبة اكتشاف الكتل الفائتة وتعطل العمليات وفقدان الأقران ونفاد مساحة القرص ومشكلات مزامنة الحالة والسلوك غير المعتاد للتطبيق.

كيفية تقييم بلوكشين مبني باستخدام Cosmos SDK

تحقق من إصدارات SDK وCometBFT وIBC والوحدات المستخدمة في السلسلة.راجع ما إذا كان التطبيق يتضمن وحدات مخصصة مهمة أو منطقاً يتحكم فيه المسؤولون.افحص توزيع المدققين والمشاركة في الإجماع وتركيز التخزين وممارسات إدارة المفاتيح.اطّلع على معلمات حوكمة السلسلة وعملية الترقية والصلاحيات الطارئة.حدد نماذج الأصول الأصلية والأصول المنقولة عبر الجسور والجهات المخولة بسك التوكنات أو تجميدها أو تقييدها.راجع عمليات التدقيق الأمني والثغرات المعلنة وتغطية الاختبارات وسجل الحوادث.تحقق مما إذا كانت مسارات IBC أو عملاؤه أو السلاسل المتصلة تضيف افتراضات أمنية خارجية.لا يحدد استخدام Cosmos SDK وحده ما إذا كانت شبكة مشفرة معينة آمنة أو مناسبة للمستخدم.

مفاهيم خاطئة شائعة عن Cosmos SDK

من المفاهيم الخاطئة الشائعة اعتبار Cosmos SDK بلوكشين واحداً، بدلاً من كونه إطاراً لإنشاء سلاسل بلوكشين مستقلة.ومن المفاهيم الخاطئة أيضاً افتراض أن جميع السلاسل المبنية على SDK تشترك في مجموعة المدققين نفسها.تحافظ السلاسل المستقلة عادةً على أمنها وحوكمتها الخاصين، ما لم تعتمد تصميماً محدداً للأمن المشترك.يفترض بعض المستخدمين أن كل أصل قائم على SDK يمكن نقله عبر IBC تلقائياً.تتطلب تحويلات IBC وحدات متوافقة وعملاء نشطين ومسارات صالحة ومرحّلات عاملة.ومن الأخطاء الأخرى افتراض أن الوحدات القياسية لا يمكن تخصيصها من خلال منطق التطبيق أو المعلمات أو اختيار الإصدار.وقد يخلط المستخدمون أيضاً بين التوكن الأصلي للسلسلة وإطار البرامج المستخدم لإنشائها.

الأسئلة الشائعة

ما أبسط تعريف لـ Cosmos SDK؟

Cosmos SDK إطار عمل مفتوح المصدر بلغة Go لإنشاء بلوكشينات Layer 1 ودفاتر أستاذ موزعة قابلة للتخصيص.

هل Cosmos SDK بلوكشين؟

لا، إنه برنامج يُستخدم لإنشاء البلوكشينات، وليس بلوكشيناً بحد ذاته.

هل Cosmos SDK عملة مشفرة؟

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

ما لغة البرمجة التي يستخدمها Cosmos SDK؟

يُطوَّر Cosmos SDK أساساً بلغة Go.

ما أحدث إصدار من Cosmos SDK؟

يشير المستودع الرسمي إلى أن v0.54.3 هو أحدث إصدار حتى يوليو 2026.

ما هو BaseApp؟

BaseApp محرك التنفيذ الذي يربط استدعاءات الإجماع بمعالجة المعاملات والوحدات وحالة البلوكشين.

ما هو ABCI؟

ABCI هي الواجهة التي يتواصل عبرها محرك الإجماع مع تطبيق البلوكشين.

ما هو CometBFT؟

CometBFT محرك للإجماع والشبكات يُستخدم عادةً لترتيب المعاملات وإنهائها في تطبيقات Cosmos SDK.

ما هي وحدة Cosmos SDK؟

الوحدة مكوّن تطبيقي قابل لإعادة الاستخدام، يتولى جزءاً محدداً من منطق البلوكشين وحالته.

ما هو keeper؟

keeper طبقة مضبوطة للوصول إلى الحالة ومنطق الأعمال في الوحدة.

هل يمكن للمطورين إنشاء وحدات مخصصة لـ Cosmos SDK؟

نعم، يمكن للمطورين إنشاء وحدات برسائل وحالات واستعلامات ومعلمات وأحداث وخطافات دورة حياة مخصصة.

ما هي وحدة bank؟

تدير وحدة bank أرصدة العملات المشفرة والتحويلات متعددة الأصول ومعلومات العرض وبعض القيود على التوكنات.

ما هي وحدة auth؟

تحدد وحدة auth أنواع الحسابات والمعاملات الأساسية وتشارك في مصادقة المعاملات.

ما هي وحدة staking؟

تدير وحدة staking المدققين والتفويضات وفك التخزين وإعادة التفويض وتحديثات مدققي إثبات الحصة.

ما هي وحدة slashing؟

تعاقب وحدة slashing أخطاء المدققين المحددة، مثل التوقف عن العمل أو توقيع رسائل إجماع متعارضة.

ما هي وحدة governance؟

تدير وحدة governance المقترحات والإيداعات والتصويت والفرز والتنفيذ المصرح به للإجراءات الموافق عليها.

ما هي وحدة upgrade؟

تجدول وحدة upgrade تغييرات البرامج المنسقة وترحيلات الحالة عند ارتفاعات كتل محددة.

ما معاملة Cosmos SDK؟

معاملة Cosmos SDK بنية موقعة تتضمن رسائل وبيانات مصادقة الحساب وحداً للغاز ورسومًا.

ما الرسالة في Cosmos SDK؟

الرسالة طلب منظم لتنفيذ انتقال معين في حالة البلوكشين بواسطة إحدى الوحدات.

هل يمكن أن تتضمن معاملة واحدة رسائل متعددة؟

نعم، يمكن أن تتضمن المعاملة الواحدة عدة رسائل تُعالَج بالتتابع.

ماذا يحدث عند فشل إحدى الرسائل؟

تُعاد عادةً كتابة الحالة الناتجة عن الرسائل إلى ما كانت عليه بصورة ذرية، رغم استمرار آثار المعالجة السابقة للتنفيذ، مثل الرسوم وتغييرات التسلسل.

ما هو AnteHandler؟

AnteHandler برمجية وسيطة تسبق التنفيذ، وتتحقق من التوقيعات والتسلسلات والرسوم والغاز وغير ذلك من متطلبات المعاملات.

ما الغاز في Cosmos SDK؟

يقيس الغاز موارد الحوسبة والتخزين التي يستهلكها تنفيذ المعاملة ويضع حداً لها.

كيف تُحتسب رسوم المعاملات؟

تضرب الحسبة المبسطة حد الغاز للمعاملة في سعر الغاز الذي اختاره المستخدم.

هل تفرض جميع سلاسل Cosmos SDK الرسوم نفسها؟

لا، إذ يمكن للسلاسل استخدام توكنات رسوم وأسعار غاز وحدود دنيا وسياسات رسوم مختلفة.

ما حالة Genesis؟

حالة Genesis هي البيانات الأولية للحسابات والتوكنات والمدققين والمعلمات والوحدات التي تبدأ منها السلسلة الجديدة.

هل يدعم Cosmos SDK إثبات الحصة؟

نعم، يمكن لوحدتي التخزين والعقوبات فيه دعم نظام مدققين قابل للإعداد قائم على إثبات الحصة.

هل يضمن التفويض تحقيق أرباح من التخزين؟

لا، فقد تتغير المكافآت، كما يواجه المفوِّضون تقلب التوكنات والعمولات والتوقف عن العمل والعقوبات ومخاطر البروتوكول.

ما فترة فك التخزين؟

فترة فك التخزين هي المدة التي تحددها السلسلة قبل أن تصبح التوكنات المؤهلة التي أُزيل تخزينها قابلة للتحويل مجدداً.

هل يمكن لسلاسل Cosmos SDK التواصل فيما بينها؟

يمكنها التواصل عند تطبيقها بروتوكولات وتطبيقات وعملاء ومسارات IBC متوافقة.

ما هو IBC؟

IBC بروتوكول للتواصل الموثق للبيانات بين سلاسل بلوكشين مستقلة ومتوافقة.

هل يتطلب IBC مرحّلات موثوقة؟

تنقل المرحّلات البيانات، بينما تتحقق السلاسل المستقبلة من إثباتات البروتوكول بدلاً من الثقة بالمرحّلات لتحديد الحالة الصالحة.

هل يلغي IBC مخاطر التعامل عبر السلاسل؟

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

هل يدعم Cosmos SDK العقود الذكية؟

نعم، يمكن للسلسلة إضافة آلة افتراضية متوافقة لتنفيذ العقود الذكية.

ما الفرق بين الوحدة والعقد الذكي؟

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

هل Cosmos SDK هو نفسه Cosmos Hub؟

لا، Cosmos SDK إطار تطوير، بينما Cosmos Hub إحدى سلاسل البلوكشين التي أُنشئت باستخدام منظومة Cosmos.

هل تشترك جميع سلاسل Cosmos SDK في المدققين؟

لا، فعادةً ما تعمل السلاسل المستقلة بمجموعات مدققين منفصلة، إلا إذا اعتمدت عمداً ترتيبات للأمن المشترك.

هل يمكن استخدام الرمز نفسه لأي توكن على سلاسل SDK مختلفة؟

نعم، فالرموز ليست فريدة على مستوى جميع الشبكات؛ لذا ينبغي للمستخدم التحقق من السلسلة والفئة والقيمة ومسار التحويل.

ما هو Store v2؟

Store v2 حزمة التخزين المحدّثة في Cosmos SDK، والمضمنة في متطلبات الترحيل إلى v0.54.

ما هو Block-STM؟

Block-STM نظام تجريبي للتنفيذ المتوازي الحتمي للمعاملات المتوافقة أثناء إنهاء الكتلة.

هل كل بلوكشين مبني على Cosmos SDK آمن؟

لا، إذ يعتمد الأمان على الشيفرة ونظام المدققين والإعدادات والحوكمة والتبعيات والعمليات والتصميم الاقتصادي.

هل يمكن أن تتضمن الشيفرة المخصصة لـ Cosmos SDK ثغرات؟

نعم، فقد تتضمن الوحدات المخصصة عيوباً في التفويض أو المحاسبة أو الحتمية أو الترحيل أو التصميم الاقتصادي.

كيف ينبغي ترقية سلسلة Cosmos SDK؟

ينبغي للمشغلين مراجعة التغييرات غير المتوافقة واختبار عمليات الترحيل وتنسيق ارتفاع الكتلة المحدد للترقية وتثبيت ملفات ثنائية متوافقة قبل التفعيل.

ما الذي ينبغي للمستخدمين التحقق منه قبل استخدام سلسلة مبنية على SDK؟

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

ما أهم فائدة لـ Cosmos SDK؟

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

ما أهم قيود Cosmos SDK؟

تضع مرونته مسؤولية كبيرة على كل سلسلة لتأمين شبكتها وتشغيلها وحوكمتها وترقيتها والحفاظ على استدامتها الاقتصادية.

الخلاصة

Cosmos SDK إطار عمل مفتوح المصدر بلغة Go لإنشاء بلوكشينات Layer 1 ودفاتر أستاذ موزعة وشبكات مشفرة مخصصة للتطبيقات وقابلة للتخصيص.يوفر وحدات قابلة لإعادة الاستخدام للحسابات وتحويلات التوكنات والرسوم والتخزين والحوكمة والتفويض والمكافآت وترقيات البرامج.ينسق BaseApp تنفيذ المعاملات وعمليات دورة حياة الوحدات والاستعلامات والغاز والحالة، ويتواصل مع محرك الإجماع عبر ABCI.تعزل الوحدات حالاتها وتوفر واجهات keeper مضبوطة لمنطق الأعمال والتواصل بين الوحدات.يتيح تكامل IBC لسلاسل البلوكشين المستقلة والمتوافقة تبادل البيانات الموثقة مع احتفاظها بحالة التطبيق والحوكمة الخاصة بها.تتيح مرونة SDK تصميم بلوكشين متخصصاً، لكنها لا تضمن الأمان أو اللامركزية أو قابلية التشغيل البيني أو النجاح الاقتصادي.ينبغي للمطورين اختبار التنفيذ الحتمي وأذونات keeper وحالة Genesis والترحيلات وعمليات المدققين والبروتوكولات المتصلة بعناية.ينبغي للمستخدمين الذين يقيّمون بلوكشيناً مبنياً باستخدام Cosmos SDK تحليل وحدات الشبكة المحددة ومعلماتها ومدققيها وحوكمتها وترقياتها وضوابط أصولها وسجلها الأمني، بدلاً من الحكم عليها استناداً إلى إطار العمل الذي تستخدمه فحسب.
BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?