الطريق إلى حساب كارتيزي

اعتبارًا من عام 2022 ، تمت إعادة تسمية Descartes الآن باسم Cartesi Compute (حساب كارتيزي).

كيف ظهرت Cartesi Compute (حساب كارتيزي) ، وإلى أين تتجه من هنا فى المستقبل؟

حساب كارتيزي Cartesi Compute SDK والمقصود بي SDK هى ادوات وعدة تطوير البرمجيات التي تم إطلاقها مؤخرًا.
هي أول مجموعة أدوات لتطوير البرامج لـ التطبيقات اللامركزية التي تكشف عن تقنية كارتيزي الأساسية من خلال واجهة برمجة سيجد مطورو التطيبقات اللامركزية أنها سهلة الاستخدام.

باستخدام Cartesi Compute ، يمكن لمطوري التطيبقات اللامركزية أن يفهموا بسرعة وسهولة ما يعنيه زيادة عقود إيثريم (Ethereum) الخاصة بهم بوظائف خارج السلسلة خالية من التقييدات وقائمة على نظام تشغيل Linux.

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

إثبات مفهوم كارتيزي: كريبتس.

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

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

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

وبالتالي ، في الربع الثاني من عام 2020 ، عندما كنا نقوم بتوثيق واجهة كارتيزي API الحالية للمطورين من الخارج، واجهتنا صعوبات غير متوقعة في شرحها لهم.
بطريقة ما ، تعمل واجهة برمجة تطبيقات Cartesi SDK بشكل قوي ومرن وقابل للتخصيص ومعياري ، مع تصميم داخلي قوي جدًا له مسار تطوري واضح خاص به. ولكن عندما نحاول وضعها في كلمات مكتوبة ، في مادة تعليمية ، فجأة يبدو وكأنه عمل ضخم ، ولا يمكن التوقف عليه وفهم تمامًا. لذلك كان علينا أن نتوقف قليلاً ونفكر فيما يجري.

عبقرية أكثر من اللازم

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

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

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

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

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

إذا كنت تعتقد أنني أبالغ في حديثي عن "العبقرية" ، ففكر للحظة في أن شركة كارتيزي قد تأسست على يد اثنين من الأساتذة من معهد الرياضيات البحتة والتطبيقية (IMPA) ، وهو في الأساس النسخة البرازيلية من معهد ماساتشوستس للتكنولوجيا (MIT). ومثل معهد ماساتشوستس للتكنولوجيا ، تم أيضًا إسقاط IMPA في الأدب الشعبي.
تم ذكر IMPA في الموسم الأول من سلسلة Netflix "Reality Z" كطريقة لإثبات أن الشخصية ذكية. لذا ، نعم ، هذا ليس مبالغ في الواقع. إنها حالة فعلية. ومثل أي حالة أخرى في العالم ، فهي ميزة رائعة ، ولكنها أيضًا تقلل من القوة البدنية. هبة ونقمة. وإذا قمت بالاطلاع على قائمة كارتيزي بأكملها ، فلن يتحسن الوضع العام.

من Cartesi SDK إلى Cartesi Compute SDK

لذلك ، قررت الشركة أن "[Cartesi] SDK" ستصبح بدلاً من ذلك مجموعة من مجموعات SDK ، ولكل منها مجموعة مختارة من المكونات الأساسية والبرمجيات الوسيطة لخدمة ملف تعريف تطبيق معين. وسيتم تعميد الأول بعد عالم الرياضيات والفيلسوف رينيه ديكارت ، الذى سميت تيمناً به فيما بعد.

على الرغم من أن Cartesi SDK كما هي موجودة في مستودعات المصادر المفتوحة اليوم يمكن اعتمادها ودمجها من قبل أي شركة ممولة تمويلًا جيدًا ترغب في بناء منتج حديث على قمة كارتيزي ، إلا أنه لا يمكن الوصول إليه حقًا بجهود التطوير المعهودة. وبالتالي ، فإن عرض Cartesi Compute SDK يركز على إمكانية الوصول ، وعلى أن تكون مفيدة وقابلة للتعلم على الفور. ويتم إجراء المقايضة المعتادة لإمكانية الوصول للمطورين: تتعدى طبقة البرامج الوسيطة بشكل أقل في مساحة التطبيق ، مما يترك المزيد من الأشياء التي يتعين على مبرمج التطبيق (أو البرامج الوسيطة ذات المستوى الأعلى) القيام بها.

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

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

ما هو Cartesi Compute SDK وما لا يمكنه

تكمن تحديات التصميم والتنفيذ المركزية لأي عرض للبرامج الوسيطة لأي مكدس قائم على Cartesi في تحديد كيفية التعامل مع "الكود خارج السلسلة".

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

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

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

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

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

الطريق التقني إلى الأمام

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

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

الخاتمة

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

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

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

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

شكراً جزيلاً لجميع مشجعينا ، و ... دعونا نواصل السير في هذا الطريق!

يمكنك الذهاب إلى المقالة الأساسية من هنا!