تحليل بحثي أصلي من Web3.com Ventures

0xFishylosopher

مقدمة

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

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

لغة Move

لا يمكنك إجراء تحليل لـ Aptos دون إجراء تحليل للغة Move. في الواقع، يمكن القول إن هذا هو المكان الذي تأتي منه معظم إمكانات Aptos. تم تطوير Move في الأصل بواسطة فريق Libra التابع لـ Meta (والآن يُسمّى Diem) لتوفير نموذج برمجة لعقود ذكية مختلف بشكل جوهري مقارنةً بلغات العقود الذكية الأخرى؛ بدلًا من تبنّي نهج قائم على المعاملات، تتبنى Move نهجاً قائماً على الموارد لتعريف نماذج العقود الذكية [3].

فماذا يعني كل هذا؟ بدءاً من بيتكوين، اعتمدت الغالبية العظمى من سلاسل البلوكشين البارزة نهجاً “أولاً المعاملة” (transaction-first)، حيث تكون كل عملية/إدخال في كتلة البلوكشين عبارة عن معاملة (مثلاً بين أليس وبوب). والمعاملة هي كائن نسبي؛ فلكي توجد معاملة، يجب أن تكون عناوين كل من أليس وبوب موجودة. ولضمان ألا يقوم أليس بـ “الإنفاق المزدوج” لعملة ما في نهج “المعاملة أولاً”، نحتاج إلى التحقق من عدم وجود تعارض مع جميع المعاملات الأخرى؛ وهو أمر مزعج بطبيعته ويؤدي حتماً إلى إبطاء المعاملات.

من ناحية أخرى، يختلف نهج Move “القائم على الموارد” اختلافاً جذرياً. بدلًا من تسجيل سلاسل معاملات من A إلى B، تقوم Move بتسجيل “الكائن” (أو المورد) وهو ينتقل من يد إلى أخرى، ثم تقوم بتحديث السمات وفقاً لذلك فقط. والأهم من ذلك أن الموارد كيانات ذرية — فإن وجود مورد X لا يعتمد على وجود أي مورد آخر، بخلاف حالة المعاملات، حيث تعتمد المعاملة T على وجود كلٍ من الوكيلين السابقين A وB. لذلك، فإن اعتماد نهج قائم على الموارد يسمح ببنية أكثر ذرّية واستقلالية ومحسّنة للتنفيذ المتوازي.

“الموارد” في Move هي في الأساس كائنات لها سمات معينة. وباصطلاحات تقنية، يتم تنفيذها على شكل structs (أي بنية بيانات حاوية) [4]. في هذه المرحلة قد يطرح من لديهم خلفية برمجة في إيثيريوم سؤالاً: لدى Solidity أيضاً structs، وكذلك هياكل بيانات أخرى. ما الذي يجعل الـ structs في Move مميزاً؟ أعتقد أن أهم فرق هو أن الـ structs في Solidity لها دور جانبي نسبياً في اللغة (تستخدم غالباً من أجل الوضوح)، بينما تشكّل الـ structs أساس كل شيء في Move. علاوة على ذلك، تتمتع structs في Move بـ “قدرات” مختلفة، بما في ذلك “copy” و“drop” و“store” و“key”، وهي تحدد ما إذا كان الكائن يمكن نسخه أو تخزينه أو حذفه… إلخ [5]. هذا النوع من تدوين الـ struct مختلف تماماً عن Solidity، أو حتى عن الغالبية العظمى من لغات البرمجة الشائعة (مثل C/C++). ومع ذلك، فإن هذه “القدرات” المختلفة بديهية جداً. هناك أشياء يمكنك “نسخها”، مثل عملة أو توكن. وهناك أشياء يمكنك “drop” أو التخلص منها. وأشياء أخرى، مثل أصل رقمي فريد، قد لا يمكن نسخها. والآن ضع في اعتبارك التعريف الرسمي التالي لـ “المورد” في Move:

“غالباً ما نشير إلى قيم struct باعتبارها موارد إذا كانت لا يمكن نسخها ولا يمكن التخلص منها.” — Structs and Resources، توثيق لغة Move [4]

لذا فإن “الموارد” هي في الأساس “structs” فريدة ستكون موجودة لك دائماً. يا لها من رومانسية.

إن إعادة تعريف Move الكاملة لـ “struct” تتيح لها استخدام بنية بيانات واحدة لتعريف الرموز وNFTs والعقود الذكية والأصول الرقمية الأخرى بطريقة نظيفة ووحدوية ومُعيّنة بدقة [6]. وهذا شيء لا يمكن لـ EVM في إيثيريوم مقارنته به؛ فكل من لديه بعض الخبرة في تطوير باستخدام الـ EVM يعرف كم يكون الأمر مُحبِطاً للتعامل مع structs (والـ structs المتداخلة) في Solidity.

والأهم من ذلك، أن النهج القائم على الموارد في Move يدعم ضمانات الأمان الخاصة بها. وكما تذكر ورقة Move البيضاء، ففي كثير من البرامج توجد تمثيلات غير مباشرة للأصول، مما يعني أن الندرة والتحكم في الوصول ليست قابلة للتوسع. فعلى سبيل المثال، رغم أن ندرة Ether مدمجة في النظام ومحمية بواسطة EVM، فإن توكنات ERC-20 الأخرى “لا ترث هذه الحمايات، ويجب أن تكون حذرة كي لا تُدخل أخطاء تسمح بتكرار الأصول أو إعادة استخدامها أو فقدانها”، [4]. ضع في اعتبارك هجوم reentrancy الكلاسيكي. لقد ابتليت به مشاريع EVM طويلاً، وغالباً ما يتسبب في خسارة ملايين وملايين الدولارات [7]. وبسبب نهج Move القائم على الموارد، يصبح هجوم reentrancy مستحيلاً على Move. لذلك، يمكن القول إن عتبة الدخول لكتابة كود Move تكون أقل بكثير من EVM — وهو عامل حاسم للانتشار الواسع.

Aptos — مبادئ تقنية

يمكن القول إن أكبر إنجاز لـ Aptos هو مجرد وضع Move كلغة في السوق. ****في الواقع، تم أخذ جزء كبير من تصميم Aptos مباشرة من سلسلة بلوكتشين Diem (Libra) التي طورتها Meta. تذكر أن Aptos هي سلسلة تركز على قابلية التوسع والأمان. هناك تنفيذان تقنيان رئيسيان لتحقيق ذلك. الأول في طبقة الإجماع، أي آلية إجماع AptosBFT. والثاني في طبقة التنفيذ، أي مُحرّك تنفيذ Block-STM. لنفحص هاتين النقطتين بالترتيب.

أولاً، يعد AptosBFT آلية إجماع متسامحة مع أخطاء البيزنطية؛ وهذا يعني في الأساس أنه يمكنه مواصلة ضمان الأمان طالما لم يكن أكثر من 1/3 من العقد على الشبكة جهات خبيثة [8]. وهذه ممارسة قياسية: فإن إثبات العمل لدى بيتكوين، وإثبات الحصة لدى إيثيريوم… كلها متسامحة مع أخطاء البيزنطية. فكيف يطبّق AptosBFT آلية الإجماع فعلياً؟ مثل سلاسل إثبات الحصة الأخرى، يعتمد Aptos على عقد مُتحقِّق “مُرهَنة”. كما يطبّق نسخة من خوارزمية إجماع HotStuff، وهي خوارزمية حديثة لإثبات الحصة توفر بروتوكول اتصالات أنظف بكثير بين العقد مقارنةً بالنماذج الأقدم (مثل pBFT) عبر جعل العقد تتواصل مع “قائد دوّار” بدلاً من أن تتواصل مع كل عقدة أخرى [9]. وعلى الرغم من أن Aptos يقدّم عدة تحسينات فوق HotStuff، وأبرزها “آلية تدوير المفاتيح” (تعزيزاً للأمان) وتقليل الإشراف/الهدر (تعزيزاً للتوسع)، إلا أنه لا توجد تغييرات بنيوية كبيرة في التصميم الخاص بإثبات الحصة لدى HotStuff [10].

من ناحية أخرى، يُعد مُحرّك التنفيذ المتوازي Block-STM تصميمًا أصليًا بكثير، ويمكن القول إنه الاختراق التقني الأساسي للمشروع [11]. تذكّر أن الموارد تكون ذرّية — فإن انتقال ملكية مورد معيّن X لا يعتمد على أي مورد آخر. ومن خلال تجميع المعاملات في كتل (مثل قطع الليغو)، يمكننا الاستفادة من قدر هائل من التوازي في تنفيذ معاملات الموارد، ما يمنح زيادة قدرها 20x في سرعة الحوسبة مقارنةً بإيثيريوم [11].

لكن كيف يقارن ذلك بسولانا ومحركات تنفيذ متوازية أخرى؟ كانت الابتكار الأساسي في سولانا هو تضمين جميع تبعيات العقود الذكية بشكل ثابت (Hardcode) لكي يتمكن من إجراء عمليات تنفيذ متوازية. وبما أن التبعيات معروفة سلفاً، يمكن لمحرك تنفيذ سولانا أن يُقفل التبعيات اللازمة قبل وقت التشغيل. في المقابل، يدير Aptos التبعيات “على الفور” (في أثناء التنفيذ)، بحيث يقوم أولاً بتشغيل جميع المعاملات بشكل “متفائل”، وإذا حدث فشل، يعيد تشغيل تلك المعاملات المحددة التي فشلت فقط [12].

لِنستخدم تشبيهاً بسيطاً لشرح ما سبق. إيثيريوم عبارة عن طريق أحادي الحارة حيث يجب على جميع السيارات أن تسير في صف واحد خلف بعضها البعض، بينما كلٌ من سولانا وAptos هما طرق سريعة بأربع حارات. وهذا بالطبع يسرّع الأمور. لكن السؤال هو: كيف تتحرك السيارات على الطريق السريع؟ في حالة سولانا، تُسند لكل سيارة حارة محددة في الأساس، وستسير دائماً ضمن تلك الحارة. هذا سريع وفعّال للغاية في أفضل الحالات، لكن إذا سارت عملية الإسناد بشكل خاطئ فستحصل على أسوأ سيناريو كارثي جداً. في المقابل، في حالة Aptos، تُسند السيارات أولاً بعض الحارات، لكن إذا لم ينجح ذلك، يُسمح للسيارات بالانحراف إلى حارات أخرى لتفادي الحوادث. لذلك، حتى إذا لم يكن Aptos سريعاً مثل سولانا في أفضل سيناريو، فإنه أكثر موثوقية من سولانا، وله سيناريو أسوأ أفضل [13].

التقييم — الإمكانات والقيود

يُعد Aptos حالياً أول سلسلة L1 كبيرة قائمة على Move — والأولى والوحيدة — التي أطلقت الشبكة الرئيسية. وبهذا، فإن إطلاق الشبكة الرئيسية لـ Aptos حدث رمزي للغاية؛ فالأموال والاهتمام الإعلامي اللذان اجتذبهما Aptos لا يعكسان بالضرورة حجماً مماثلاً للابتكار التقني الجوّهري الذي يتمتع به.

كما ذُكر أعلاه، يتمثل الابتكار التقني الأساسي الذي قدمه Aptos في مُحرّك التنفيذ المتوازي Block-STM. أمّا معظم الجوانب التقنية الأخرى، بما في ذلك آلية الإجماع واستخدام لغة Move، فهي محسّنة بشكل هامشي لمنتجات إرثية تم توريثها من Meta [14]. وبخصوص مُحرّك التنفيذ المتوازي Block-STM، فمن غير الواضح ما إذا كان سيؤدي ذلك إلى فرق نوعي بين تجربة المستخدم على Aptos وتجربة المستخدم على سولانا؛ فإذا كانت تجربة المستخدم نفسها، فلن يهتم المستخدمون بكيفية تنفيذها تقنياً على مستوى المحرك.

كما هو الحال مع أي مشروع بنية تحتية، تعتمد نجاحات Aptos على المدى الطويل على نوع المشاريع التي تختار البناء عليه. حالياً، فإن المشاريع ضمن منظومته، مثل Liquidswap DEX وسوق Topaz NFT وخدمة Aptos Names، رغم أنها منتجات ضرورية في أي منظومة بلوكتشين، ليست فريدة بما يكفي لتصميم Aptos [15]. هذه المشاريع تشبه متجر البقالة ومدرسة ومستشفى في قرية صغيرة. فمع أنها ضرورية لعمل القرية، فإنها لا تضفي على القرية طابعاً فريداً لا يوجد في أي قرية أخرى.

عند النظر إلى الوراء، قد يُعزى جزء من نجاح سولانا إلى مشاريع مثل StepN التي استطاعت بالفعل الاستفادة من ميزة سولانا في التوازي. غالباً ما تتضمن مشاريع GameFi وSocialFi كميات كبيرة من البيانات المتوازية التي تكون منعزلة نسبياً. وبالتالي، فإن هذه التطبيقات تكون مؤهلة بشكل فريد لمحركات التنفيذ المتوازي، مثل Aptos وسولانا، كما أنها قادرة على جذب قاعدة مستخدمين كبيرة وحجم معاملات مرتفع. بالفعل، في مرحلة ما، كانت StepN وحدها تمثل حوالي ~20% من مستخدمي سولانا الذين يدفعون الرسوم [16].

لذلك، لكي ينجح Aptos كمشروع بنية تحتية، يجب أن توجد مجموعة فريدة من المشاريع التي تستفيد إلى حد كبير من مُحرّك التنفيذ المتوازي لدى Aptos — مشاريع لا يمكن تنفيذها على إيثيريوم أو حتى على سولانا. ومع التصميم الجديد لـ Block-STM لدى Aptos، قد تتخذ هذه المشاريع شكل فئة جديدة من مشاريع SocialFi حيث يتفاعل المستخدمون في مجموعات صغيرة (مثل محادثات المجموعات). وبما أن هذه المجموعات يمكن أن تكون مرنة وديناميكية، مع أنها مستقلة نسبياً عن بعضها، فهي أكثر ملاءمة بكثير لمحرك التنفيذ المتوازي لدى Aptos من سولانا أو إيثيريوم. لكن بالطبع، هذا مجرد تخمين تجريدي.

ومع ذلك، يظل إطلاق الشبكة الرئيسية لـ Aptos حدثاً مهماً للغاية ورمزياً في عالم العملات المشفرة. إنه يجسد حصيلة سنوات من جهود مهندسي Meta في تجسيد نموذج مختلف نوعياً لحل عنق الزجاجة في قابلية التوسع لدى إيثيريوم. تعني الميزات اللغوية الفريدة لدى Move أنه لا محالة ستظهر DApps يكون من الأفضل تنفيذها على Move بدلاً من Solidity أو لغات العقود الذكية الأخرى. لكن هل سيتم بالضرورة تنفيذ تلك المشاريع داخل منظومة Aptos؟ لا أحد يعلم. قد تستفيد Aptos من بعض مزايا السبق بقدرتها على إدخال Move إلى الإنتاج وربط اسمها بلغة Move. لكن في الوقت نفسه، قد تتعرض أيضاً لمصير شبيه بمصير MySpace بوصفها صاحبة السبق.

على الأقل شيء واحد مؤكد: إن Aptos قد تكون أول تجربة في السوق مع Move، لكنها بالتأكيد لن تكون الأخيرة [17].

🐦 @0xfishylosopher

📅 22 أكتوبر 2022

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

المراجع

[1] انظر الصفحة الرئيسية لـ Aptos Labs: https://aptoslabs.com/

[2] مقدمة إلى سولانا: https://www.forbes.com/advisor/investing/cryptocurrency/what-is-solana/

[3] ورقة Move Language البيضاء: https://diem-developers-components.netlify.app/papers/diem-move-a-language-with-programmable-resources/2020-05-26.pdf

[4] توثيق مطوري Move للـ Structs والموارد: https://github.com/move-language/move/blob/main/language/documentation/book/src/structs-and-resources.md

[5] تفاصيل قدرات Struct: https://move-language.github.io/move/abilities.html

[6] انظر دليل Move التعليمي: https://101blockchains.com/move-programming-language-tutorial/

[7] https://blog.chain.link/reentrancy-attacks-and-the-dao-hack/

[8] تفاصيل حول التسامح مع أخطاء البيزنطية: https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained

[9] نموذج إجماع HotStuff: https://hackernoon.com/hotstuff-the-consensus-protocol-behind-safestake-and-facebooks-librabft

[10] إجماع AptosBFT: https://blog.pontem.network/aptosbft-all-you-need-to-know-about-the-bft-consensus-in-aptos-ff4cf22c7a80

[11] انظر الورقة الفنية لـ Block-STM: https://arxiv.org/abs/2203.06871

[12] مقارنة Aptos مقابل Solana لمحرك التنفيذ: https://www.gofyeo.com/post/aptos-vs-solana-a-technical-comparison-part-1

[13] تحليل أسوأ حالة في Aptos على أنه O(n²)، وسولانا على أنه O(n⁴). التفاصيل: https://antiape.substack.com/p/cf40447d-d674-4454-9e09-f003517de6de?s=r

[14] انظر الورقة البيضاء لـ Aptos: https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf

[15] منظومة Aptos: https://coinmarketcap.com/alexandria/article/what-is-aptos-the-ultimate-guide-to-the-aptos-ecosystem

[16] من تغريدات Messari Crypto على تويتر: https://twitter.com/MessariCrypto/status/1567880625218019333

[17] انظر Sui، لغة أخرى قائمة على Move: https://sui.io/