ما هو موف؟

متقدمNov 30, 2022
Move هي لغة بايت وظيفية طورتها Libra (الآن Diem) لحل المشكلات التي تؤثر على البلوكشين. تنفذ Move العقود الذكية وتسمح بتخصيص المعاملات.
ما هو موف؟

مقدمة العملة

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

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

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

ما هي الخطوة؟

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

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

خلفية لغة برمجة Move

تم تطوير Move كلغة برمجة آمنة وبسيطة لـ Diem blockchain التي طورتها شركة Facebook. تم تطوير ليبرا لتكون سلسلة بلوكشين سهلة ورخيصة ومستخدمة بشكل شائع في جميع أنحاء العالم. تم تطويره كأصل رقمي منخفض التكلفة ومرن قائم على blockchain. وبالتالي، تم تصميم Move لإجراء معاملات blockchain والسماح للمطورين بإنشاء تطبيقات متوافقة مع Libra.

قبل نهاية عام 2020، واجهت ليبرا بعض المشكلات وردود الفعل العنيفة من الأعضاء الاقتصاديين من مختلف البلدان ومشكلات تتعلق باسمها وشعارها، مما جعلها تغير اسمها إلى ديم. فشل إطلاق blockchain في يناير 2022 بسبب مخاوف القوى العالمية بشأن قضايا الأمن وغسيل الأموال التي قد يخلقها إطلاق Libra.

تمت كتابة Move باستخدام لغة RUST؛ لغة برمجة شائعة متعددة النماذج سعى إليها المبرمجون بشدة في جميع أنحاء العالم في عام 2018. أعطت لغة برمجة Rust الأولوية لسلامة الذاكرة ومنع سباقات البيانات المتزامنة. تم تطويره من قبل Graydon Hoare في عام 2006 أثناء عمله في Mozilla Research.

نقل أهداف التصميم

كان تصميم Move لـ Diem blockchain يركز بشكل كبير على إتاحة منصة آمنة وقابلة للبرمجة بسهولة. ولإثبات ذلك، كان على Move عرض قوانين Diem blockchain وعملتها بطريقة بسيطة ودقيقة ويمكن التحقق منها.

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

موارد من الدرجة الأولى

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

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

المرونة

سيتم تضمين نصوص المعاملات في كل معاملة Diem (Libra). يتم استخدام نصوص المعاملات هذه في وحدة لإجراء المكالمات وإجراءات الاستدعاء. يمكن أن يتكون الإجراء الرئيسي الوحيد من كود قابل للتخصيص وتعسفي. يمكن لبرنامج نصي واحد للمعاملات استدعاء إجراءات مختلفة.

تمنح وحدات Move المبرمجين المرونة مع فرصة لبناء أكواد آمنة. يمكن تشبيه Move بلغة البرمجة الموجهة للكائنات نظرًا لعلاقتها المتطابقة بين «الفئات والأساليب والكائنات» و «الوحدات والإجراءات والموارد».

قابلية التحقق

يُسمح أيضًا بأدوات التحقق خارج السلسلة على MOVE، على الرغم من أنها تحتوي بالفعل على نظام يتيح التحقق داخل السلسلة. ويرجع ذلك إلى أن التحقق على السلسلة غير مناسب لبلوكشين عالي المستوى. سيؤدي إدخال التحقق خارج السلسلة إلى تقليل العملية المعقدة للتحقق على السلسلة. ولتحقيق ذلك، ستركز لغة برمجة Move على ثلاثة تصميمات متميزة:

لا يوجد إرسال ديناميكي

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

نمطية

MOVE، بمساعدة الوحدات النمطية، قادرة على عزل الوحدات للتحقق الوظيفي. ستساعد وحدات Move في استخراج البيانات وتعريب عمليات الموارد المهمة.

قابلية محدودة للتغيير

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

الأمان

هناك ثلاث خصائص أمان ضرورية في لغة برمجة Move؛ سلامة الكتابة وسلامة الموارد وسلامة الذاكرة. هناك طرق مختلفة ممكنة يمكن لـ Move استخدامها لضمان عدم قبول البرامج التي لا تلتزم بخصائص السلامة هذه.

تتمثل الطريقة الأولى في استخدام Move للغة برمجة عالية المستوى مزودة بمترجم مكلف بالاطلاع على الخصائص.

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

كيف تعمل Move؟

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

يستخدم Move نظامًا من النوع الثابت يحدد المتغيرات في لغة البرمجة كنوع معين (أي رقم أو كلمة.) لا يزال Move يحافظ على سلامة الموارد ولكنه يترك مساحة كافية لاستخدامها مثل أي مورد آخر غير من الدرجة الأولى. يمكن تخزينها بسهولة داخل هياكل البيانات أو تمريرها كقيم في العمليات الحسابية.

هذا يعني أن الموارد في Move مؤمنة للغاية وفي نفس الوقت قادرة على الأداء دون قيود. يوفر الرمز مستوى من الأمان ولكن يمكن استخدامه أيضًا لجميع العمليات الأخرى بسهولة. يعد هذا مزيجًا مثاليًا لبرامج blockchain لأنه يحل مشكلات الأمان وقابلية التوسع التي تواجهها معظم سلاسل البلوكشين.

ما الذي يجعل Move فريدًا؟

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

  • تتضمن لغة النقل سياسات التحكم في الوصول المضمنة في دلالات اللغة.
  • لا تفرض Move نظامًا من النوع الافتراضي للأصول الرقمية مثل Ether أو Bitcoin.
  • في اللغة بأكملها، يمكنك تحديد موقع أصل واحد للتمثيل. يجب فحص أي نوع من الأصول المخصصة، مثل رموز ERC20، بحثًا عن ميزات الأمان المحددة من قبل المبرمج الذي أنشأ الرموز.
  • Move خالية من مشكلات القيود

مكونات MOVE

ميزات Move الفريدة ليست كل ما يجعل لغة البرمجة تعمل. كما أنها تضم العديد من المكونات المصممة خصيصًا لعمليات البرنامج. فيما يلي بعض المكونات التي يمكن للمستخدمين العثور عليها في MOVE.

الأنواع

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

هيكل

هناك نوعان من الهياكل. الأول يسمى Kind، والذي يشير إلى هياكل الموارد. يشير الثاني، المسمى غير المقيد، إلى الهيكل العام.

الإجراءات

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

أداة التحقق من رمز البايت

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

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

مترجم البايت كود

بمجرد اكتمال عملية التحقق، يجب أن تمر جميع البرامج من خلال المترجم. يمكن تشبيه تنفيذ البرامج بـ Ethereum نظرًا لأن كلا النظامين يستخدمان معايير الغاز، مما يضمن عمليات تنفيذ الحلقات اللانهائية.

نقل الجهاز الافتراضي

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

السر وراء شعبية Move الأخيرة

كان المرء يتوقع أن تصبح Move لغة برمجة شائعة الآن، ولكن بسبب المشكلات التي واجهتها Diem (Libra سابقًا)، تم قطع نموها. لقد اكتسبت مؤخرًا طعم الأضواء بفضل Aptos.

Aptos عبارة عن سلسلة بلوكشين من الطبقة الأولى تم إنشاؤها باستخدام لغة برمجة Move. وقد تم تطويره من قبل مطوري ميتا الذين قرروا تطوير بلوكتشين الخاص بهم بعد أن أسقطت ميتا مشروع بلوكتشين ديم (ليبرا سابقًا). فهو يجمع بين المعاملات المتوازية ولغة برمجة Move لإنتاج سرعة معاملات نظرية تبلغ 100,00 معاملة في الثانية.

أدى قرار Aptos باستخدام لغة برمجة Move إلى إنشاء منصة يمكنها نظريًا تحقيق سرعات معاملات عالية وقابلية التوسع دون التخلي عن سلامة blockchain. قامت Aptos بإعداد نفسها بمكونات من شأنها أن تساعد بلوكتشين على التميز عن البقية.

Move ولغات البرمجة الأخرى

[Move ليست لغة البرمجة الوحيدة المتاحة؛ تتم مقارنتها كثيرًا بالصلابة والوضوح. لغات البرمجة الثلاث هذه هي الأكثر استخدامًا عبر منصات مختلفة في مساحة blockchain. فيما يلي تحليل لمقارنة Move مقارنة بالاثنين الآخرين.

التحرك مقابل الصلابة

Solidity هي لغة برمجة مصممة فقط لإنشاء عقود ذكية على شبكة Ethereum. على هذا النحو، جعل الأعضاء الذين يقفون وراء سلسلة Ethereum blockchain Solidity الخيار الرئيسي لتنفيذ العقود الذكية لأجهزة Ethereum الافتراضية بالإضافة إلى منصات تطوير blockchain المتوافقة مع EVM. استمدت اللغة عالية المستوى ذات الأقواس المجعدة الإلهام من لغات البرمجة الأخرى مثل Javascript و C ++ و Python.

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

مثل Solidity، تم إنشاء Move مع وضع شبكات مختلفة في الاعتبار. كانت الشبكة الرئيسية لتطبيق لغة Move هي Diem، والتي تم حلها في النهاية. من ناحية أخرى، تم تطوير Solidity لبلوكشين إيثريوم الشهير، والذي لا يزال يعمل حتى اليوم.

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

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

التحرك مقابل الوضوح

Blockstack هي عبارة عن منصة تعمل على تطوير الإنترنت الخاص بها وتوفير خدمات ومرافق العقود الذكية. ولتسهيل ذلك، قدمت بلوكستك كلاريتي كلغة برمجة العقود الذكية لسلسلة Stacks Blockchain الخاصة بها. Clarity هي لغة برمجة تسمح للمستخدمين بتطوير شروطهم الخاصة للعقد بدلاً من الشروط المبرمجة مسبقًا.

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

تعتمد Move على Diem، وهي سلسلة بلوكشين قابلة للتطوير وآمنة ومرنة بدرجة كبيرة، بينما تعتمد Clarity على Stack 2.0، وهي شبكة مفتوحة المصدر لمختلف dApps التي تستخدم شبكة Ethereum لإنشاء شبكات جديدة.

كما أن تجميع Move يميزه عن Clarity. يستخدم Move برنامج التحويل البرمجي لتنفيذ رموزه. على عكس Move، لا يستخدم Clarity برنامج التحويل البرمجي أثناء تنفيذ التعليمات البرمجية.

الخاتمة

أظهرت Move أنها نوع خاص من لغات البرمجة التي ستحدث ثورة في صناعة blockchain ككل. وحتى الآن، جذبت الشركة انتباه بلوكتشين الجديدة Aptos، والوقت وحده هو الذي سيحدد مدى نجاح هذا الدمج.

المؤلف: Tamilore
المترجم: piper
المراجع (المراجعين): Hugo、Edward、Ashely、Joyce
* لا يُقصد من المعلومات أن تكون أو أن تشكل نصيحة مالية أو أي توصية أخرى من أي نوع تقدمها منصة Gate.io أو تصادق عليها .
* لا يجوز إعادة إنتاج هذه المقالة أو نقلها أو نسخها دون الرجوع إلى منصة Gate.io. المخالفة هي انتهاك لقانون حقوق الطبع والنشر وقد تخضع لإجراءات قانونية.

ما هو موف؟

متقدمNov 30, 2022
Move هي لغة بايت وظيفية طورتها Libra (الآن Diem) لحل المشكلات التي تؤثر على البلوكشين. تنفذ Move العقود الذكية وتسمح بتخصيص المعاملات.
ما هو موف؟

مقدمة العملة

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

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

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

ما هي الخطوة؟

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

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

خلفية لغة برمجة Move

تم تطوير Move كلغة برمجة آمنة وبسيطة لـ Diem blockchain التي طورتها شركة Facebook. تم تطوير ليبرا لتكون سلسلة بلوكشين سهلة ورخيصة ومستخدمة بشكل شائع في جميع أنحاء العالم. تم تطويره كأصل رقمي منخفض التكلفة ومرن قائم على blockchain. وبالتالي، تم تصميم Move لإجراء معاملات blockchain والسماح للمطورين بإنشاء تطبيقات متوافقة مع Libra.

قبل نهاية عام 2020، واجهت ليبرا بعض المشكلات وردود الفعل العنيفة من الأعضاء الاقتصاديين من مختلف البلدان ومشكلات تتعلق باسمها وشعارها، مما جعلها تغير اسمها إلى ديم. فشل إطلاق blockchain في يناير 2022 بسبب مخاوف القوى العالمية بشأن قضايا الأمن وغسيل الأموال التي قد يخلقها إطلاق Libra.

تمت كتابة Move باستخدام لغة RUST؛ لغة برمجة شائعة متعددة النماذج سعى إليها المبرمجون بشدة في جميع أنحاء العالم في عام 2018. أعطت لغة برمجة Rust الأولوية لسلامة الذاكرة ومنع سباقات البيانات المتزامنة. تم تطويره من قبل Graydon Hoare في عام 2006 أثناء عمله في Mozilla Research.

نقل أهداف التصميم

كان تصميم Move لـ Diem blockchain يركز بشكل كبير على إتاحة منصة آمنة وقابلة للبرمجة بسهولة. ولإثبات ذلك، كان على Move عرض قوانين Diem blockchain وعملتها بطريقة بسيطة ودقيقة ويمكن التحقق منها.

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

موارد من الدرجة الأولى

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

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

المرونة

سيتم تضمين نصوص المعاملات في كل معاملة Diem (Libra). يتم استخدام نصوص المعاملات هذه في وحدة لإجراء المكالمات وإجراءات الاستدعاء. يمكن أن يتكون الإجراء الرئيسي الوحيد من كود قابل للتخصيص وتعسفي. يمكن لبرنامج نصي واحد للمعاملات استدعاء إجراءات مختلفة.

تمنح وحدات Move المبرمجين المرونة مع فرصة لبناء أكواد آمنة. يمكن تشبيه Move بلغة البرمجة الموجهة للكائنات نظرًا لعلاقتها المتطابقة بين «الفئات والأساليب والكائنات» و «الوحدات والإجراءات والموارد».

قابلية التحقق

يُسمح أيضًا بأدوات التحقق خارج السلسلة على MOVE، على الرغم من أنها تحتوي بالفعل على نظام يتيح التحقق داخل السلسلة. ويرجع ذلك إلى أن التحقق على السلسلة غير مناسب لبلوكشين عالي المستوى. سيؤدي إدخال التحقق خارج السلسلة إلى تقليل العملية المعقدة للتحقق على السلسلة. ولتحقيق ذلك، ستركز لغة برمجة Move على ثلاثة تصميمات متميزة:

لا يوجد إرسال ديناميكي

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

نمطية

MOVE، بمساعدة الوحدات النمطية، قادرة على عزل الوحدات للتحقق الوظيفي. ستساعد وحدات Move في استخراج البيانات وتعريب عمليات الموارد المهمة.

قابلية محدودة للتغيير

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

الأمان

هناك ثلاث خصائص أمان ضرورية في لغة برمجة Move؛ سلامة الكتابة وسلامة الموارد وسلامة الذاكرة. هناك طرق مختلفة ممكنة يمكن لـ Move استخدامها لضمان عدم قبول البرامج التي لا تلتزم بخصائص السلامة هذه.

تتمثل الطريقة الأولى في استخدام Move للغة برمجة عالية المستوى مزودة بمترجم مكلف بالاطلاع على الخصائص.

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

كيف تعمل Move؟

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

يستخدم Move نظامًا من النوع الثابت يحدد المتغيرات في لغة البرمجة كنوع معين (أي رقم أو كلمة.) لا يزال Move يحافظ على سلامة الموارد ولكنه يترك مساحة كافية لاستخدامها مثل أي مورد آخر غير من الدرجة الأولى. يمكن تخزينها بسهولة داخل هياكل البيانات أو تمريرها كقيم في العمليات الحسابية.

هذا يعني أن الموارد في Move مؤمنة للغاية وفي نفس الوقت قادرة على الأداء دون قيود. يوفر الرمز مستوى من الأمان ولكن يمكن استخدامه أيضًا لجميع العمليات الأخرى بسهولة. يعد هذا مزيجًا مثاليًا لبرامج blockchain لأنه يحل مشكلات الأمان وقابلية التوسع التي تواجهها معظم سلاسل البلوكشين.

ما الذي يجعل Move فريدًا؟

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

  • تتضمن لغة النقل سياسات التحكم في الوصول المضمنة في دلالات اللغة.
  • لا تفرض Move نظامًا من النوع الافتراضي للأصول الرقمية مثل Ether أو Bitcoin.
  • في اللغة بأكملها، يمكنك تحديد موقع أصل واحد للتمثيل. يجب فحص أي نوع من الأصول المخصصة، مثل رموز ERC20، بحثًا عن ميزات الأمان المحددة من قبل المبرمج الذي أنشأ الرموز.
  • Move خالية من مشكلات القيود

مكونات MOVE

ميزات Move الفريدة ليست كل ما يجعل لغة البرمجة تعمل. كما أنها تضم العديد من المكونات المصممة خصيصًا لعمليات البرنامج. فيما يلي بعض المكونات التي يمكن للمستخدمين العثور عليها في MOVE.

الأنواع

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

هيكل

هناك نوعان من الهياكل. الأول يسمى Kind، والذي يشير إلى هياكل الموارد. يشير الثاني، المسمى غير المقيد، إلى الهيكل العام.

الإجراءات

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

أداة التحقق من رمز البايت

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

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

مترجم البايت كود

بمجرد اكتمال عملية التحقق، يجب أن تمر جميع البرامج من خلال المترجم. يمكن تشبيه تنفيذ البرامج بـ Ethereum نظرًا لأن كلا النظامين يستخدمان معايير الغاز، مما يضمن عمليات تنفيذ الحلقات اللانهائية.

نقل الجهاز الافتراضي

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

السر وراء شعبية Move الأخيرة

كان المرء يتوقع أن تصبح Move لغة برمجة شائعة الآن، ولكن بسبب المشكلات التي واجهتها Diem (Libra سابقًا)، تم قطع نموها. لقد اكتسبت مؤخرًا طعم الأضواء بفضل Aptos.

Aptos عبارة عن سلسلة بلوكشين من الطبقة الأولى تم إنشاؤها باستخدام لغة برمجة Move. وقد تم تطويره من قبل مطوري ميتا الذين قرروا تطوير بلوكتشين الخاص بهم بعد أن أسقطت ميتا مشروع بلوكتشين ديم (ليبرا سابقًا). فهو يجمع بين المعاملات المتوازية ولغة برمجة Move لإنتاج سرعة معاملات نظرية تبلغ 100,00 معاملة في الثانية.

أدى قرار Aptos باستخدام لغة برمجة Move إلى إنشاء منصة يمكنها نظريًا تحقيق سرعات معاملات عالية وقابلية التوسع دون التخلي عن سلامة blockchain. قامت Aptos بإعداد نفسها بمكونات من شأنها أن تساعد بلوكتشين على التميز عن البقية.

Move ولغات البرمجة الأخرى

[Move ليست لغة البرمجة الوحيدة المتاحة؛ تتم مقارنتها كثيرًا بالصلابة والوضوح. لغات البرمجة الثلاث هذه هي الأكثر استخدامًا عبر منصات مختلفة في مساحة blockchain. فيما يلي تحليل لمقارنة Move مقارنة بالاثنين الآخرين.

التحرك مقابل الصلابة

Solidity هي لغة برمجة مصممة فقط لإنشاء عقود ذكية على شبكة Ethereum. على هذا النحو، جعل الأعضاء الذين يقفون وراء سلسلة Ethereum blockchain Solidity الخيار الرئيسي لتنفيذ العقود الذكية لأجهزة Ethereum الافتراضية بالإضافة إلى منصات تطوير blockchain المتوافقة مع EVM. استمدت اللغة عالية المستوى ذات الأقواس المجعدة الإلهام من لغات البرمجة الأخرى مثل Javascript و C ++ و Python.

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

مثل Solidity، تم إنشاء Move مع وضع شبكات مختلفة في الاعتبار. كانت الشبكة الرئيسية لتطبيق لغة Move هي Diem، والتي تم حلها في النهاية. من ناحية أخرى، تم تطوير Solidity لبلوكشين إيثريوم الشهير، والذي لا يزال يعمل حتى اليوم.

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

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

التحرك مقابل الوضوح

Blockstack هي عبارة عن منصة تعمل على تطوير الإنترنت الخاص بها وتوفير خدمات ومرافق العقود الذكية. ولتسهيل ذلك، قدمت بلوكستك كلاريتي كلغة برمجة العقود الذكية لسلسلة Stacks Blockchain الخاصة بها. Clarity هي لغة برمجة تسمح للمستخدمين بتطوير شروطهم الخاصة للعقد بدلاً من الشروط المبرمجة مسبقًا.

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

تعتمد Move على Diem، وهي سلسلة بلوكشين قابلة للتطوير وآمنة ومرنة بدرجة كبيرة، بينما تعتمد Clarity على Stack 2.0، وهي شبكة مفتوحة المصدر لمختلف dApps التي تستخدم شبكة Ethereum لإنشاء شبكات جديدة.

كما أن تجميع Move يميزه عن Clarity. يستخدم Move برنامج التحويل البرمجي لتنفيذ رموزه. على عكس Move، لا يستخدم Clarity برنامج التحويل البرمجي أثناء تنفيذ التعليمات البرمجية.

الخاتمة

أظهرت Move أنها نوع خاص من لغات البرمجة التي ستحدث ثورة في صناعة blockchain ككل. وحتى الآن، جذبت الشركة انتباه بلوكتشين الجديدة Aptos، والوقت وحده هو الذي سيحدد مدى نجاح هذا الدمج.

المؤلف: Tamilore
المترجم: piper
المراجع (المراجعين): Hugo、Edward、Ashely、Joyce
* لا يُقصد من المعلومات أن تكون أو أن تشكل نصيحة مالية أو أي توصية أخرى من أي نوع تقدمها منصة Gate.io أو تصادق عليها .
* لا يجوز إعادة إنتاج هذه المقالة أو نقلها أو نسخها دون الرجوع إلى منصة Gate.io. المخالفة هي انتهاك لقانون حقوق الطبع والنشر وقد تخضع لإجراءات قانونية.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!