سولانا هي منصة بلوكتشين عالية الأداء مصممة لدعم التطبيقات اللامركزية، معروفة بسرعتها وقابليتها للتوسع التي تم تحقيقها من خلال آليات التوافق الفريدة والتصميمات المعمارية. ستقدم هذه المقالة مقدمة موجزة عن ميزات نموذج برمجة العقود الذكية في سولانا، مقارنة بها إلى إيثريوم للسياق.
البرامج العاملة على إيثيريوم تُعرف باسم العقود الذكية، وهي سلسلة من الشفرة (الوظائف) والبيانات (الحالة) الموجودة في عنوان محدد على شبكة إيثيريوم. العقود الذكية هي أيضًا حسابات إيثيريوم، تُشار إليها بحسابات العقود. لديها أرصدة، يمكن أن تكون هدفًا للمعاملات، ولكن لا يمكن التحكم فيها من قبل الأفراد. يتم نشرها على الشبكة لتشغيلها كبرامج.
على العكس، يشار إلى الشفرة التنفيذية التي تعمل على سولانا باسم برامج السلسلة، التي تفسر التعليمات المرسلة مع كل عملية تحويل. يمكن نشر هذه البرامج مباشرة إلى النواة الشبكية كبرامج أصلية أو نشرها من قبل أي شخص كبرامج SPL.
التعليمات: التعليمات هي مصطلحات فريدة لبرامج سولانا على السلسلة الرئيسية. تتكون من تعليمات تنفذ عمليات محددة، تشكل أصغر وحدة تنفيذ لمعاملات سولانا. تحتوي كل معاملة سولانا على تعليمات واحدة أو أكثر تحدد العمليات التي يجب تنفيذها، بما في ذلك استدعاء برامج السلسلة الرئيسية المحددة، وتمرير الحسابات، وقوائم الإدخال، وتوفير مصفوفات البايت. تحتوي التعليمات على حدود حسابية، لذلك يجب تحسين برامج السلسلة الرئيسية لاستخدام وحدات حسابية أقل أو تقسيم العمليات المكلفة إلى تعليمات متعددة.
البرامج الأصلية: توفر الوظائف الأساسية المطلوبة من قبل عقد المحقق. الأكثر شهرة هو برنامج النظام، المسؤول عن إدارة إنشاء حسابات جديدة ونقل SOL بين حسابين.
برامج SPL: تحدد سلسلة من الأنشطة على السلسلة، بما في ذلك إنشاء الرموز الرقمية، والتبادل، والإقراض، وإنشاء حمامات رهن، والحفاظ على خدمات تحليل أسماء النطاق على السلسلة، وأكثر من ذلك. بينها، يُستخدم برنامج SPL Token لعمليات الرموز الرقمية، في حين يُستخدم برامج مثل برنامج Associated Token Account بشكل شائع لكتابة برامج مخصصة أخرى.
أنت تسميها العقود الذكية ، وأنا أسميها برامج على السلسلة. أسماء مختلفة ، لكن كلاهما يشير إلى التعليمات البرمجية التي تعمل على blockchain. تماما مثل كيفية كون Zhang San و Li Si و Wang Ma Zi أسماء ، يجب تقييم جودة الفرد بناء على جوانب أخرى أيضا.
مثل إيثيريوم، سولانا أيضًا عبارة عن بلوكشين مبني على نموذج حسابات، ولكن سولانا توفر نموذج حسابات مختلف عن إيثيريوم، حيث يتم تخزين البيانات بطريقة مختلفة.
في سولانا، يمكن للحسابات أن تحتوي على معلومات المحفظة وبيانات أخرى. الحقول المحددة بواسطة الحساب تشمل Lamports (رصيد الحساب)، Owner (مالك الحساب)، Executable (ما إذا كان الحساب قابلاً للتنفيذ)، و Data (البيانات المخزنة في الحساب). يحدد كل حساب برنامجًا كمالك له لتمييز حالة أي برنامج يخزنه. هذه البرامج على السلسلة الرئيسية هي قراءة فقط أو بدون حالة: حسابات البرنامج (حسابات قابلة للتنفيذ) تخزن فقط بيانات BPF البايت ولا تخزن أي حالة. يقوم البرامج بتخزين حالتها في حسابات مستقلة أخرى (حسابات غير قابلة للتنفيذ). يفصل نموذج البرمجة في سولانا بين الكود والبيانات.
من ناحية أخرى، تعمل حسابات الإثيريوم في الغالب كمراجع لحالة EVM (الجهاز الظاهري لإثيريوم). تحتوي العقود الذكية على إثيريوم على كل من منطق الشفرة وحاجة تخزين بيانات المستخدم. غالبًا ما يُعتبر هذا عيب تصميم موروث من تاريخ EVM.
لا تستهِن بهذا التمييز! عقود Solana الذكية أصعب أساسيًا في التعرض للهجوم مقارنة بالبلوكشينات التي تمتلك نماذج برمجة مرتبطة، مثل Ethereum:
في إيثريوم، "صاحب" عقد ذكي هو متغير عالمي يتوافق مباشرة مع كل عقد ذكي. لذلك، يمكن أن يؤدي استدعاء وظيفة معينة مباشرة إلى تغيير "صاحب" العقد.
في سولانا، ومع ذلك، "المالك" لعقد ذكي هو البيانات المرتبطة بحساب، بدلاً من متغير عالمي. يمكن أن يكون لدى حساب عدة مالكين، بدلاً من الارتباط الأحادي. بالنسبة للمهاجم لاستغلال ثغرة أمان في عقد ذكي، فإنه ليس فقط بحاجة إلى تحديد الوظيفة المشكلة ولكن أيضًا إعداد الحسابات "الصحيحة" لاستدعاء تلك الوظيفة. هذه الخطوة ليست سهلة لأن عقود سولانا الذكية عادة ما تشمل حسابات الإدخال المتعددة وتدير علاقاتها من خلال القيود (مثل account1.owner==account2.key
). العملية من 'إعداد الحسابات الصحيحة' إلى 'شنّ الهجوم' كافية لمراقبي الأمان لاكتشاف المعاملات المشبوهة التي تشمل إنشاء حسابات 'وهمية' مرتبطة بالعقود الذكية بشكل استباقي قبل وقوع الهجوم.
عقود إيثريوم الذكية مثل خزانة آمنة بكلمة مرور فريدة واحدة. بمجرد الحصول على هذه الكلمة السرية، تحصل على ملكية كاملة. أما عن عقود سولانا، فهي كخزانة آمنة بعدة كلمات مرور. للوصول، ليس فقط عليك الحصول على الكلمات السرية ولكن أيضًا فهم المعرفات المقابلة قبل أن تتمكن من فتح الباب.
الصدأ هو لغة البرمجة الأساسية لتطوير العقود الذكية على سولانا. ميزات أدائها وأمانها تجعلها مناسبة لبيئة المخاطر العالية في تكنولوجيا سلسلة الكتل والعقود الذكية. تدعم سولانا أيضًا لغات C و C++ وغيرها (على الرغم من كونها أقل شيوعًا). يتم توفير SDKs الرسمية للصدأ و C لدعم تطوير البرامج على السلسلة. يمكن للمطورين استخدام الأدوات لترجمة البرامج إلى بايت كود برنامج تصفية حزم بركل (ملفات ذات امتداد .so) ونشرها على سلسلة سولانا. يتم تنفيذ منطق العقود الذكية بعد ذلك من خلال تشغيل سلسلة برامج تشغيل العقود الذكية المتوازية.
ومع ذلك، نتيجة لمنحنى التعلم العالي للغة Rust ونقصها من التخصيص لتطوير تقنية السلسلة الكتلية، تنتج العديد من المتطلبات رموزًا متكررة وإعادة اختراع العجلة. لتبسيط التطوير، تستخدم العديد من المشاريع في الإنتاج إطار العمل Anchor الذي أنشأته التعاون بين Backpack و Armani. بالإضافة إلى ذلك، العديد من لغات البرمجة الجديدة المصممة خصيصًا لتطوير تقنية السلسلة الكتلية، مثل Cairo (Starknet) و Move (Sui، Aptos)، تعتمد على Rust.
العديد من المشاريع في الإنتاج يستخدمون إطار الأنكور.
يتم تطوير العقود الذكية في إيثريوم أساسًا باستخدام لغة Solidity، التي تتمتع بنحو يشبه جافا سكريبت، حيث تحتوي ملفات الشيفرة على امتداد .sol. نظرًا لبساطة بنية اللغة وأدوات التطوير الأكثر نضجًا (مثل إطار العمل Hardhat وبيئة تطوير Remix)، يُعتبر إيثريوم عمومًا يوفر تجربة تطوير أبسط وأكثر متعة مقارنة بـ سولانا، التي تتطلب منحنى تعلم أعلى. على الرغم من شعبية سولانا الحالية، إلا أن عدد المطورين على إيثريوم يظل أكبر بكثير من عددهم على سولانا.
في ظروف معينة، سيفوق سيارة سباق من الطبقة العليا سيارة معدلة. الصدأ، مثل سيارة سباق من الطبقة العليا، يضمن بشكل فعال أداء وأمان Solana. ومع ذلك، فإنه ليس مصممًا بشكل أساسي لتطوير البرامج على السلسلة، مما يرفع بالفعل مستوى الصعوبة في القيادة (التطوير). يمكن مقارنة السلاسل العامة التي تعتمد على لغات تعتمد على الصدأ ومخصصة لتطوير البرامج على السلسلة بتعديل هذه السيارة السباق لتكيف أفضل مع ظروف الطريق. Solana تعاني من عدم التفوق في هذا الصدد.
نموذج برمجة العقد الذكي لـ Solana مبتكر. يقدم نهجًا بلا حالة لتطوير العقود الذكية، مع Rust كلغة برمجة أساسية وبنية تفصل بين المنطق والحالة. يوفر هذا بيئة قوية للمطورين لبناء ونشر العقود الذكية، مضمونًا الأمان والأداء، على الرغم من صعوبة التطوير الأكبر. تركز Solana على زيادة الإنتاجية وتقليل التكاليف والتوسعية، مما يجعلها الخيار المثالي للمطورين الذين يسعون لإنشاء تطبيقات لامركزية عالية الأداء.
يتم نسخ هذه المقالة من [panews], العنوان الأصلي “يمكن لجدتي أيضًا فهم: ما هو الفرق بين نموذج البرمجة في Solana و ETH؟”, حقوق النشر تنتمي إلى الكاتب الأصلي [أخبار الرؤية، ألكس ليو], إذا كان لديك أي اعتراض على إعادة الطبع، يرجى الاتصال فريق تعلم جيت, سيتعامل الفريق معه في أقرب وقت ممكن وفقًا للإجراءات ذات الصلة.
إخلاء المسؤولية: تعبر الآراء والآراء المعبر عنها في هذه المقالة فقط عن آراء الكاتب الشخصية ولا تشكل أي نصيحة استثمارية.
يتم ترجمة الإصدارات الأخرى للمقال بفريق بوابة التعلم، وليس يوضع ذكر لهاGate.io, قد لا يتم تكرار الترجمة أو توزيعها أو ارتكاب الانتحال.
سولانا هي منصة بلوكتشين عالية الأداء مصممة لدعم التطبيقات اللامركزية، معروفة بسرعتها وقابليتها للتوسع التي تم تحقيقها من خلال آليات التوافق الفريدة والتصميمات المعمارية. ستقدم هذه المقالة مقدمة موجزة عن ميزات نموذج برمجة العقود الذكية في سولانا، مقارنة بها إلى إيثريوم للسياق.
البرامج العاملة على إيثيريوم تُعرف باسم العقود الذكية، وهي سلسلة من الشفرة (الوظائف) والبيانات (الحالة) الموجودة في عنوان محدد على شبكة إيثيريوم. العقود الذكية هي أيضًا حسابات إيثيريوم، تُشار إليها بحسابات العقود. لديها أرصدة، يمكن أن تكون هدفًا للمعاملات، ولكن لا يمكن التحكم فيها من قبل الأفراد. يتم نشرها على الشبكة لتشغيلها كبرامج.
على العكس، يشار إلى الشفرة التنفيذية التي تعمل على سولانا باسم برامج السلسلة، التي تفسر التعليمات المرسلة مع كل عملية تحويل. يمكن نشر هذه البرامج مباشرة إلى النواة الشبكية كبرامج أصلية أو نشرها من قبل أي شخص كبرامج SPL.
التعليمات: التعليمات هي مصطلحات فريدة لبرامج سولانا على السلسلة الرئيسية. تتكون من تعليمات تنفذ عمليات محددة، تشكل أصغر وحدة تنفيذ لمعاملات سولانا. تحتوي كل معاملة سولانا على تعليمات واحدة أو أكثر تحدد العمليات التي يجب تنفيذها، بما في ذلك استدعاء برامج السلسلة الرئيسية المحددة، وتمرير الحسابات، وقوائم الإدخال، وتوفير مصفوفات البايت. تحتوي التعليمات على حدود حسابية، لذلك يجب تحسين برامج السلسلة الرئيسية لاستخدام وحدات حسابية أقل أو تقسيم العمليات المكلفة إلى تعليمات متعددة.
البرامج الأصلية: توفر الوظائف الأساسية المطلوبة من قبل عقد المحقق. الأكثر شهرة هو برنامج النظام، المسؤول عن إدارة إنشاء حسابات جديدة ونقل SOL بين حسابين.
برامج SPL: تحدد سلسلة من الأنشطة على السلسلة، بما في ذلك إنشاء الرموز الرقمية، والتبادل، والإقراض، وإنشاء حمامات رهن، والحفاظ على خدمات تحليل أسماء النطاق على السلسلة، وأكثر من ذلك. بينها، يُستخدم برنامج SPL Token لعمليات الرموز الرقمية، في حين يُستخدم برامج مثل برنامج Associated Token Account بشكل شائع لكتابة برامج مخصصة أخرى.
أنت تسميها العقود الذكية ، وأنا أسميها برامج على السلسلة. أسماء مختلفة ، لكن كلاهما يشير إلى التعليمات البرمجية التي تعمل على blockchain. تماما مثل كيفية كون Zhang San و Li Si و Wang Ma Zi أسماء ، يجب تقييم جودة الفرد بناء على جوانب أخرى أيضا.
مثل إيثيريوم، سولانا أيضًا عبارة عن بلوكشين مبني على نموذج حسابات، ولكن سولانا توفر نموذج حسابات مختلف عن إيثيريوم، حيث يتم تخزين البيانات بطريقة مختلفة.
في سولانا، يمكن للحسابات أن تحتوي على معلومات المحفظة وبيانات أخرى. الحقول المحددة بواسطة الحساب تشمل Lamports (رصيد الحساب)، Owner (مالك الحساب)، Executable (ما إذا كان الحساب قابلاً للتنفيذ)، و Data (البيانات المخزنة في الحساب). يحدد كل حساب برنامجًا كمالك له لتمييز حالة أي برنامج يخزنه. هذه البرامج على السلسلة الرئيسية هي قراءة فقط أو بدون حالة: حسابات البرنامج (حسابات قابلة للتنفيذ) تخزن فقط بيانات BPF البايت ولا تخزن أي حالة. يقوم البرامج بتخزين حالتها في حسابات مستقلة أخرى (حسابات غير قابلة للتنفيذ). يفصل نموذج البرمجة في سولانا بين الكود والبيانات.
من ناحية أخرى، تعمل حسابات الإثيريوم في الغالب كمراجع لحالة EVM (الجهاز الظاهري لإثيريوم). تحتوي العقود الذكية على إثيريوم على كل من منطق الشفرة وحاجة تخزين بيانات المستخدم. غالبًا ما يُعتبر هذا عيب تصميم موروث من تاريخ EVM.
لا تستهِن بهذا التمييز! عقود Solana الذكية أصعب أساسيًا في التعرض للهجوم مقارنة بالبلوكشينات التي تمتلك نماذج برمجة مرتبطة، مثل Ethereum:
في إيثريوم، "صاحب" عقد ذكي هو متغير عالمي يتوافق مباشرة مع كل عقد ذكي. لذلك، يمكن أن يؤدي استدعاء وظيفة معينة مباشرة إلى تغيير "صاحب" العقد.
في سولانا، ومع ذلك، "المالك" لعقد ذكي هو البيانات المرتبطة بحساب، بدلاً من متغير عالمي. يمكن أن يكون لدى حساب عدة مالكين، بدلاً من الارتباط الأحادي. بالنسبة للمهاجم لاستغلال ثغرة أمان في عقد ذكي، فإنه ليس فقط بحاجة إلى تحديد الوظيفة المشكلة ولكن أيضًا إعداد الحسابات "الصحيحة" لاستدعاء تلك الوظيفة. هذه الخطوة ليست سهلة لأن عقود سولانا الذكية عادة ما تشمل حسابات الإدخال المتعددة وتدير علاقاتها من خلال القيود (مثل account1.owner==account2.key
). العملية من 'إعداد الحسابات الصحيحة' إلى 'شنّ الهجوم' كافية لمراقبي الأمان لاكتشاف المعاملات المشبوهة التي تشمل إنشاء حسابات 'وهمية' مرتبطة بالعقود الذكية بشكل استباقي قبل وقوع الهجوم.
عقود إيثريوم الذكية مثل خزانة آمنة بكلمة مرور فريدة واحدة. بمجرد الحصول على هذه الكلمة السرية، تحصل على ملكية كاملة. أما عن عقود سولانا، فهي كخزانة آمنة بعدة كلمات مرور. للوصول، ليس فقط عليك الحصول على الكلمات السرية ولكن أيضًا فهم المعرفات المقابلة قبل أن تتمكن من فتح الباب.
الصدأ هو لغة البرمجة الأساسية لتطوير العقود الذكية على سولانا. ميزات أدائها وأمانها تجعلها مناسبة لبيئة المخاطر العالية في تكنولوجيا سلسلة الكتل والعقود الذكية. تدعم سولانا أيضًا لغات C و C++ وغيرها (على الرغم من كونها أقل شيوعًا). يتم توفير SDKs الرسمية للصدأ و C لدعم تطوير البرامج على السلسلة. يمكن للمطورين استخدام الأدوات لترجمة البرامج إلى بايت كود برنامج تصفية حزم بركل (ملفات ذات امتداد .so) ونشرها على سلسلة سولانا. يتم تنفيذ منطق العقود الذكية بعد ذلك من خلال تشغيل سلسلة برامج تشغيل العقود الذكية المتوازية.
ومع ذلك، نتيجة لمنحنى التعلم العالي للغة Rust ونقصها من التخصيص لتطوير تقنية السلسلة الكتلية، تنتج العديد من المتطلبات رموزًا متكررة وإعادة اختراع العجلة. لتبسيط التطوير، تستخدم العديد من المشاريع في الإنتاج إطار العمل Anchor الذي أنشأته التعاون بين Backpack و Armani. بالإضافة إلى ذلك، العديد من لغات البرمجة الجديدة المصممة خصيصًا لتطوير تقنية السلسلة الكتلية، مثل Cairo (Starknet) و Move (Sui، Aptos)، تعتمد على Rust.
العديد من المشاريع في الإنتاج يستخدمون إطار الأنكور.
يتم تطوير العقود الذكية في إيثريوم أساسًا باستخدام لغة Solidity، التي تتمتع بنحو يشبه جافا سكريبت، حيث تحتوي ملفات الشيفرة على امتداد .sol. نظرًا لبساطة بنية اللغة وأدوات التطوير الأكثر نضجًا (مثل إطار العمل Hardhat وبيئة تطوير Remix)، يُعتبر إيثريوم عمومًا يوفر تجربة تطوير أبسط وأكثر متعة مقارنة بـ سولانا، التي تتطلب منحنى تعلم أعلى. على الرغم من شعبية سولانا الحالية، إلا أن عدد المطورين على إيثريوم يظل أكبر بكثير من عددهم على سولانا.
في ظروف معينة، سيفوق سيارة سباق من الطبقة العليا سيارة معدلة. الصدأ، مثل سيارة سباق من الطبقة العليا، يضمن بشكل فعال أداء وأمان Solana. ومع ذلك، فإنه ليس مصممًا بشكل أساسي لتطوير البرامج على السلسلة، مما يرفع بالفعل مستوى الصعوبة في القيادة (التطوير). يمكن مقارنة السلاسل العامة التي تعتمد على لغات تعتمد على الصدأ ومخصصة لتطوير البرامج على السلسلة بتعديل هذه السيارة السباق لتكيف أفضل مع ظروف الطريق. Solana تعاني من عدم التفوق في هذا الصدد.
نموذج برمجة العقد الذكي لـ Solana مبتكر. يقدم نهجًا بلا حالة لتطوير العقود الذكية، مع Rust كلغة برمجة أساسية وبنية تفصل بين المنطق والحالة. يوفر هذا بيئة قوية للمطورين لبناء ونشر العقود الذكية، مضمونًا الأمان والأداء، على الرغم من صعوبة التطوير الأكبر. تركز Solana على زيادة الإنتاجية وتقليل التكاليف والتوسعية، مما يجعلها الخيار المثالي للمطورين الذين يسعون لإنشاء تطبيقات لامركزية عالية الأداء.
يتم نسخ هذه المقالة من [panews], العنوان الأصلي “يمكن لجدتي أيضًا فهم: ما هو الفرق بين نموذج البرمجة في Solana و ETH؟”, حقوق النشر تنتمي إلى الكاتب الأصلي [أخبار الرؤية، ألكس ليو], إذا كان لديك أي اعتراض على إعادة الطبع، يرجى الاتصال فريق تعلم جيت, سيتعامل الفريق معه في أقرب وقت ممكن وفقًا للإجراءات ذات الصلة.
إخلاء المسؤولية: تعبر الآراء والآراء المعبر عنها في هذه المقالة فقط عن آراء الكاتب الشخصية ولا تشكل أي نصيحة استثمارية.
يتم ترجمة الإصدارات الأخرى للمقال بفريق بوابة التعلم، وليس يوضع ذكر لهاGate.io, قد لا يتم تكرار الترجمة أو توزيعها أو ارتكاب الانتحال.