إعادة توجيه العنوان الأصلي '小学生也能看懂!Solana 的编程模型,究竟和 ETH 有啥区别?'
Solana عبارة عن منصة blockchain عالية الأداء مصممة الدعم dApps. وهي معروفة بسرعتها وقابليتها للتوسع ، والتي تتحقق من خلال آلية إجماع فريدة وتصميم معماري. تستخدم هذه المقالة إثيريوم ككائن مقارنة لتقديم خصائص نموذج برمجة العقود الذكية Solana بإيجاز.
تسمى البرامج التي تعمل على إثيريوم العقود الذكية، وهي سلسلة من الرموز (الوظيفة) الموجودة في عنوان محدد على إثيريوم والبيانات (الحالة). (أوه ، يتم إقران الكود والبيانات) العقود الذكية هي أيضا حسابات إثيريوم ، والتي تسمى حسابات العقود. لديهم أرصدة ويمكن أن يصبحوا كائنات معاملات ، ولكن لا يمكن التحكم فيها من قبل البشر ويتم نشرها على الشبكة لتشغيلها كبرامج.
تسمى الرموز القابلة للتنفيذ التي تعمل على Solana برامج داخل السلسلة ، ويمكنها تفسير التعليمات المرسلة في كل معاملة. يمكن نشر هذه البرامج مباشرة في نواة الشبكة كبرامج أصلية ، أو نشرها من قبل أي شخص كبرامج SPL.
أنت تسميهم العقود الذكية ، وأنا أسميهم داخل السلسلة البرامج. مصطلحات مختلفة ، لكن كلاهما يشير إلى الكود الذي يعمل على blockchain. تماما مثل أليس وبوب وجون كلها أسماء ، ويجب تقييم صفاتهم الفعلية من خلال جوانب أخرى.
غرار إثيريوم ، 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 عالية الأداء.
إعادة توجيه العنوان الأصلي '小学生也能看懂!Solana 的编程模型,究竟和 ETH 有啥区别?'
Solana عبارة عن منصة blockchain عالية الأداء مصممة الدعم dApps. وهي معروفة بسرعتها وقابليتها للتوسع ، والتي تتحقق من خلال آلية إجماع فريدة وتصميم معماري. تستخدم هذه المقالة إثيريوم ككائن مقارنة لتقديم خصائص نموذج برمجة العقود الذكية Solana بإيجاز.
تسمى البرامج التي تعمل على إثيريوم العقود الذكية، وهي سلسلة من الرموز (الوظيفة) الموجودة في عنوان محدد على إثيريوم والبيانات (الحالة). (أوه ، يتم إقران الكود والبيانات) العقود الذكية هي أيضا حسابات إثيريوم ، والتي تسمى حسابات العقود. لديهم أرصدة ويمكن أن يصبحوا كائنات معاملات ، ولكن لا يمكن التحكم فيها من قبل البشر ويتم نشرها على الشبكة لتشغيلها كبرامج.
تسمى الرموز القابلة للتنفيذ التي تعمل على Solana برامج داخل السلسلة ، ويمكنها تفسير التعليمات المرسلة في كل معاملة. يمكن نشر هذه البرامج مباشرة في نواة الشبكة كبرامج أصلية ، أو نشرها من قبل أي شخص كبرامج SPL.
أنت تسميهم العقود الذكية ، وأنا أسميهم داخل السلسلة البرامج. مصطلحات مختلفة ، لكن كلاهما يشير إلى الكود الذي يعمل على blockchain. تماما مثل أليس وبوب وجون كلها أسماء ، ويجب تقييم صفاتهم الفعلية من خلال جوانب أخرى.
غرار إثيريوم ، 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 عالية الأداء.