استكشاف نموذج البرمجة Solana العقد الذكي

مبتدئJun 11, 2024
Solana عبارة عن منصة blockchain عالية الأداء مصممة الدعم dApps. وهي معروفة بسرعتها وقابليتها للتوسع ، والتي تتحقق من خلال آلية إجماع فريدة وتصميم معماري. تستخدم هذه المقالة إثيريوم ككائن مقارنة لتقديم خصائص نموذج برمجة العقود الذكية Solana بإيجاز.
استكشاف نموذج البرمجة Solana العقد الذكي

إعادة توجيه العنوان الأصلي '小学生也能看懂!Solana 的编程模型,究竟和 ETH 有啥区别?'

Solana عبارة عن منصة blockchain عالية الأداء مصممة الدعم dApps. وهي معروفة بسرعتها وقابليتها للتوسع ، والتي تتحقق من خلال آلية إجماع فريدة وتصميم معماري. تستخدم هذه المقالة إثيريوم ككائن مقارنة لتقديم خصائص نموذج برمجة العقود الذكية Solana بإيجاز.

العقود الذكية وبرامج داخل السلسلة:

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

تسمى الرموز القابلة للتنفيذ التي تعمل على Solana برامج داخل السلسلة ، ويمكنها تفسير التعليمات المرسلة في كل معاملة. يمكن نشر هذه البرامج مباشرة في نواة الشبكة كبرامج أصلية ، أو نشرها من قبل أي شخص كبرامج SPL.

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

  1. البرامج الأصلية: هذه هي البرامج التي توفر الوظائف اللازمة للتحقق من صحة العقد. أبرزها هو برنامج النظام ، المسؤول عن إدارة إنشاء حسابات جديدة ونقل SOL بين حسابين.
  2. برامج SPL: تحدد هذه سلسلة من الأنشطة داخل السلسلة ، بما في ذلك إنشاء الرموز المميزة تبادل وإقراضها ، بالإضافة إلى إنشاء مجمعات Staking وصيانة خدمات تحليل اسم النطاق داخل السلسلة. من بين هؤلاء ، يتم استخدام برنامج SPL عملة لعمليات الرمز المميز ، بينما يستخدم برنامج حساب عملة المرتبط بشكل شائع لكتابة برامج مخصصة أخرى.

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

Account model, data decoupling:

على

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

في Solana ، يمكن للحسابات حفظ معلومات المحفظة والبيانات الأخرى. تتضمن الحقول المعرفة بالحساب Lamports (رصيد الحساب) والمالك (الحساب المالك) والملف التنفيذي (سواء كان الحساب قابل للتنفيذ) والبيانات (البيانات المخزنة في الحساب). يعين كل الحساب برنامجا كمالك له لتمييز البرنامج الذي يتم استخدام الحساب كمتجر حكومي له. هذه البرامج داخل السلسلة للقراءة فقط أو عديمة الحالة: الحساب البرنامج (الحساب القابل للتنفيذ) يخزن bytecode BPF فقط ولا يخزن أي حالة. سيقوم البرنامج بتخزين الحالة في حسابات مستقلة أخرى (حسابات غير قابلة للتنفيذ). أي أن نموذج برمجة Solana يفصل الكود والبيانات.

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

لا تقلل من شأن هذا التمييز! Solana العقود الذكية أكثر صعوبة في الهجوم بشكل أساسي مقارنة بسلاسل الكتل ذات نموذج البرمجة المقترن مثل إثيريوم.

في إثيريوم ، "مالك" العقد الذكي هو متغير عالمي يتوافق مع واحد لواحد مع العقد الذكي. لذلك ، قد يؤدي استدعاء وظيفة إلى تغيير العقد مباشرة "المالك".

ومع ذلك ، في Solana ، فإن "مالك" العقد الذكي هو البيانات المرتبطة بمتغير الحساب وليس متغيرا عالميا. يمكن أن يكون ل الحساب مالكون متعددون ، بدلا من جمعية فردية. لكي يستغل المهاجم ثغرة أمنية في عقد ذكي ، لا يحتاج فقط إلى العثور على الوظيفة الإشكالية ولكن يحتاج أيضا إلى إعداد الحسابات "الصحيحة" لاستدعاء هذه الوظيفة. هذه الخطوة ليست سهلة لأن Solana العقود الذكية تتضمن عادة حسابات إدخال متعددة وتدير علاقاتها من خلال القيود (مثل account1.owner == account2.key). تمنح العملية من "إعداد الحسابات الصحيحة" إلى "شن هجوم" موظفي المراقبة الأمنية وقتا كافيا للكشف بشكل استباقي عن المعاملات المشبوهة المتعلقة بإنشاء حسابات "مزيفة" مرتبطة بالعقد الذكي قبل حدوث الهجوم.

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

لغة البرمجة

Rust هي لغة البرمجة الأساسية لتطوير العقود الذكية على Solana. نظرا لميزات الأداء والأمان ، فهي مناسبة للبيئة عالية المخاطر ل blockchain و العقود الذكية. يدعم Solana أيضا C و C ++ و (بشكل غير عادي للغاية) لغات أخرى. يتم توفير SDK الرسمي ل Rust و C الدعم تطوير برامج داخل السلسلة. يمكن للمطورين استخدام الأدوات لتجميع البرنامج في Berkley Packet Filter (BPF) bytecode (يحتوي الملف على امتداد .so) ، ثم نشره في سلسلة Solana ، وتنفيذ منطق العقد الذكي من خلال وقت تشغيل العقد الذكي الموازي لمستوى البحر.

نظرا لأن لغة Rust نفسها يصعب البدء بها ولا يتم تخصيصها لتطوير blockchain ، فإن العديد من المتطلبات تتطلب إعادة اختراع العجلة والتعليمات البرمجية الزائدة عن الحاجة. (تستخدم العديد من المشاريع في الإنتاج إطار عمل Anchor الذي أنشأه أرماني ، المؤسس المشارك لحقيبة الظهر ، لتبسيط التطوير) تعتمد العديد من لغات البرمجة التي تم إنشاؤها حديثا والمخصصة لتطوير blockchain على Rust ، مثل Cairo (Starknet) و Move (Sui و Aptos).

تستخدم العديد من المشاريع في الإنتاج إطار عمل Anchor

يتم تطوير إثيريوم العقود الذكية بشكل أساسي بلغة Solidity (يشبه بناء الجملة جافا سكريبت ، ويحتوي ملف الكود على امتداد .sol). نظرا لبناء الجملة البسيط نسبيا وأدوات التطوير الأكثر نضجا (إطار عمل Hardhat ، Remix IDE ...) ، نعتقد عموما أن تجربة تطوير إثيريوم أبسط وأكثر انتعاشا ، في حين أن Solana التطوير أكثر صعوبة في البدء. لذلك على الرغم من أن Solana تحظى بشعبية كبيرة الآن ، إلا أن عدد المطورين على إثيريوم لا يزال في الواقع أكثر بكثير من Solana.

في ظل ظروف معينة على الطريق ، لا تكون سيارات السباق العليا بنفس سرعة السيارات المعدلة. يشبه الصدأ سيارة سباق عالية المستوى ، والتي تضمن بشكل فعال أداء وسلامة Solana. ومع ذلك ، لم يتم تصميمه لتطوير هذا المسار لبرامج داخل السلسلة ولكنه يتسبب بدلا من ذلك في زيادة صعوبة القيادة (التطوير). إن استخدام سلسلة عامة تعتمد على Rust وتطوير لغة مخصصة للسلسلة يعادل تعديل سيارة السباق لجعلها أكثر ملاءمة لظروف الطريق. Solana في وضع غير مؤات هنا.

ملخص

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

إخلاء المسؤولية:

  1. تمت إعادة طبع هذه المقالة من [Foresight News]. جميع حقوق الطبع والنشر تنتمي إلى المؤلف الأصلي [أليكس ليو]. إذا كانت هناك اعتراضات على إعادة الطبع هذه ، فيرجى الاتصال بفريق Gate Learn ، وسيقومون بالتعامل معها على الفور.
  2. إخلاء المسؤولية: الآراء ووجهات النظر الواردة في هذه المقالة هي آراء المؤلف فقط ولا تشكل أي نصيحة استثمارية.
  3. تتم ترجمة المقالة إلى لغات أخرى من قبل فريق Gate Learn. يحظر نسخ المقالات المترجمة أو توزيعها أو سرقتها، ما لم يذكر ذلك.

استكشاف نموذج البرمجة Solana العقد الذكي

مبتدئJun 11, 2024
Solana عبارة عن منصة blockchain عالية الأداء مصممة الدعم dApps. وهي معروفة بسرعتها وقابليتها للتوسع ، والتي تتحقق من خلال آلية إجماع فريدة وتصميم معماري. تستخدم هذه المقالة إثيريوم ككائن مقارنة لتقديم خصائص نموذج برمجة العقود الذكية Solana بإيجاز.
استكشاف نموذج البرمجة Solana العقد الذكي

إعادة توجيه العنوان الأصلي '小学生也能看懂!Solana 的编程模型,究竟和 ETH 有啥区别?'

Solana عبارة عن منصة blockchain عالية الأداء مصممة الدعم dApps. وهي معروفة بسرعتها وقابليتها للتوسع ، والتي تتحقق من خلال آلية إجماع فريدة وتصميم معماري. تستخدم هذه المقالة إثيريوم ككائن مقارنة لتقديم خصائص نموذج برمجة العقود الذكية Solana بإيجاز.

العقود الذكية وبرامج داخل السلسلة:

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

تسمى الرموز القابلة للتنفيذ التي تعمل على Solana برامج داخل السلسلة ، ويمكنها تفسير التعليمات المرسلة في كل معاملة. يمكن نشر هذه البرامج مباشرة في نواة الشبكة كبرامج أصلية ، أو نشرها من قبل أي شخص كبرامج SPL.

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

  1. البرامج الأصلية: هذه هي البرامج التي توفر الوظائف اللازمة للتحقق من صحة العقد. أبرزها هو برنامج النظام ، المسؤول عن إدارة إنشاء حسابات جديدة ونقل SOL بين حسابين.
  2. برامج SPL: تحدد هذه سلسلة من الأنشطة داخل السلسلة ، بما في ذلك إنشاء الرموز المميزة تبادل وإقراضها ، بالإضافة إلى إنشاء مجمعات Staking وصيانة خدمات تحليل اسم النطاق داخل السلسلة. من بين هؤلاء ، يتم استخدام برنامج SPL عملة لعمليات الرمز المميز ، بينما يستخدم برنامج حساب عملة المرتبط بشكل شائع لكتابة برامج مخصصة أخرى.

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

Account model, data decoupling:

على

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

في Solana ، يمكن للحسابات حفظ معلومات المحفظة والبيانات الأخرى. تتضمن الحقول المعرفة بالحساب Lamports (رصيد الحساب) والمالك (الحساب المالك) والملف التنفيذي (سواء كان الحساب قابل للتنفيذ) والبيانات (البيانات المخزنة في الحساب). يعين كل الحساب برنامجا كمالك له لتمييز البرنامج الذي يتم استخدام الحساب كمتجر حكومي له. هذه البرامج داخل السلسلة للقراءة فقط أو عديمة الحالة: الحساب البرنامج (الحساب القابل للتنفيذ) يخزن bytecode BPF فقط ولا يخزن أي حالة. سيقوم البرنامج بتخزين الحالة في حسابات مستقلة أخرى (حسابات غير قابلة للتنفيذ). أي أن نموذج برمجة Solana يفصل الكود والبيانات.

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

لا تقلل من شأن هذا التمييز! Solana العقود الذكية أكثر صعوبة في الهجوم بشكل أساسي مقارنة بسلاسل الكتل ذات نموذج البرمجة المقترن مثل إثيريوم.

في إثيريوم ، "مالك" العقد الذكي هو متغير عالمي يتوافق مع واحد لواحد مع العقد الذكي. لذلك ، قد يؤدي استدعاء وظيفة إلى تغيير العقد مباشرة "المالك".

ومع ذلك ، في Solana ، فإن "مالك" العقد الذكي هو البيانات المرتبطة بمتغير الحساب وليس متغيرا عالميا. يمكن أن يكون ل الحساب مالكون متعددون ، بدلا من جمعية فردية. لكي يستغل المهاجم ثغرة أمنية في عقد ذكي ، لا يحتاج فقط إلى العثور على الوظيفة الإشكالية ولكن يحتاج أيضا إلى إعداد الحسابات "الصحيحة" لاستدعاء هذه الوظيفة. هذه الخطوة ليست سهلة لأن Solana العقود الذكية تتضمن عادة حسابات إدخال متعددة وتدير علاقاتها من خلال القيود (مثل account1.owner == account2.key). تمنح العملية من "إعداد الحسابات الصحيحة" إلى "شن هجوم" موظفي المراقبة الأمنية وقتا كافيا للكشف بشكل استباقي عن المعاملات المشبوهة المتعلقة بإنشاء حسابات "مزيفة" مرتبطة بالعقد الذكي قبل حدوث الهجوم.

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

لغة البرمجة

Rust هي لغة البرمجة الأساسية لتطوير العقود الذكية على Solana. نظرا لميزات الأداء والأمان ، فهي مناسبة للبيئة عالية المخاطر ل blockchain و العقود الذكية. يدعم Solana أيضا C و C ++ و (بشكل غير عادي للغاية) لغات أخرى. يتم توفير SDK الرسمي ل Rust و C الدعم تطوير برامج داخل السلسلة. يمكن للمطورين استخدام الأدوات لتجميع البرنامج في Berkley Packet Filter (BPF) bytecode (يحتوي الملف على امتداد .so) ، ثم نشره في سلسلة Solana ، وتنفيذ منطق العقد الذكي من خلال وقت تشغيل العقد الذكي الموازي لمستوى البحر.

نظرا لأن لغة Rust نفسها يصعب البدء بها ولا يتم تخصيصها لتطوير blockchain ، فإن العديد من المتطلبات تتطلب إعادة اختراع العجلة والتعليمات البرمجية الزائدة عن الحاجة. (تستخدم العديد من المشاريع في الإنتاج إطار عمل Anchor الذي أنشأه أرماني ، المؤسس المشارك لحقيبة الظهر ، لتبسيط التطوير) تعتمد العديد من لغات البرمجة التي تم إنشاؤها حديثا والمخصصة لتطوير blockchain على Rust ، مثل Cairo (Starknet) و Move (Sui و Aptos).

تستخدم العديد من المشاريع في الإنتاج إطار عمل Anchor

يتم تطوير إثيريوم العقود الذكية بشكل أساسي بلغة Solidity (يشبه بناء الجملة جافا سكريبت ، ويحتوي ملف الكود على امتداد .sol). نظرا لبناء الجملة البسيط نسبيا وأدوات التطوير الأكثر نضجا (إطار عمل Hardhat ، Remix IDE ...) ، نعتقد عموما أن تجربة تطوير إثيريوم أبسط وأكثر انتعاشا ، في حين أن Solana التطوير أكثر صعوبة في البدء. لذلك على الرغم من أن Solana تحظى بشعبية كبيرة الآن ، إلا أن عدد المطورين على إثيريوم لا يزال في الواقع أكثر بكثير من Solana.

في ظل ظروف معينة على الطريق ، لا تكون سيارات السباق العليا بنفس سرعة السيارات المعدلة. يشبه الصدأ سيارة سباق عالية المستوى ، والتي تضمن بشكل فعال أداء وسلامة Solana. ومع ذلك ، لم يتم تصميمه لتطوير هذا المسار لبرامج داخل السلسلة ولكنه يتسبب بدلا من ذلك في زيادة صعوبة القيادة (التطوير). إن استخدام سلسلة عامة تعتمد على Rust وتطوير لغة مخصصة للسلسلة يعادل تعديل سيارة السباق لجعلها أكثر ملاءمة لظروف الطريق. Solana في وضع غير مؤات هنا.

ملخص

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

إخلاء المسؤولية:

  1. تمت إعادة طبع هذه المقالة من [Foresight News]. جميع حقوق الطبع والنشر تنتمي إلى المؤلف الأصلي [أليكس ليو]. إذا كانت هناك اعتراضات على إعادة الطبع هذه ، فيرجى الاتصال بفريق Gate Learn ، وسيقومون بالتعامل معها على الفور.
  2. إخلاء المسؤولية: الآراء ووجهات النظر الواردة في هذه المقالة هي آراء المؤلف فقط ولا تشكل أي نصيحة استثمارية.
  3. تتم ترجمة المقالة إلى لغات أخرى من قبل فريق Gate Learn. يحظر نسخ المقالات المترجمة أو توزيعها أو سرقتها، ما لم يذكر ذلك.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!