تحجيم المحتوى: كيفية معالجة مشكلة قابلية تطوير blockchain حقًا.
جلب النظم البيئية الحديثة للتطوير إلى العقود الذكية.

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

لقد ثبت أن هذه المشكلة الشائنة يصعب حلها دون المساومة على الأمن واللامركزية.
قال Piet Hein إن المشكلة الجديرة بالهجوم تثبت قيمتها من خلال المقاومة ، ومن المؤكد أن قابلية تطوير blockchain كانت بمثابة كدمة كبيرة.

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

هناك قيد ثانٍ موجود في Ethereum والذي يجب معالجته لمعالجة مشكلة قابلية التوسع حقًا: وهو قابلية توسعة المحتوى¹. لشرح ما تعنيه قابلية تطوير المحتوى ، سنقتبس مقالة فريدريك هايك الأساسية "استخدام المعرفة في المجتمع":

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

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

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

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

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

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

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

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

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

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

خلاصة القول ، لقد وضعنا Linux وجميع سلاسل أدواته داخل Ethereum. لم يعد المرء مستسلمًا لـ Solidity ، مقيدًا بجهاز كمبيوتر باهظ التكلفة ؛ الآن يمكننا استخدام نظام تطوير بيئي حديث يعمل على جهاز كمبيوتر سريع. لدينا عقود من المحتوى داخل blockchain. يمكننا حقًا استيراد مكتبة ضغط واستخدامها ، ضمن لغة البرمجة المفضلة لدينا للتمهيد. قد تتساءل كيف فعلنا هذا؟ لقد تعمقنا في المقالات السابقة ، Rollups: Cartesi Node and Rollups On-Chain:

https://medium.com/cartesi/rollups-cartesi-node-3000b3ffec74

https://medium.com/cartesi/rollups-on-chain-d749744a9cb3

يوجد أيضًا ورقنا الأبيض هنا.

ونحن لا نقتصر حتى على لينكس. يمكن الاستفادة من أنظمة التشغيل الأخرى مثل seL4 ، وهو نواة مفتوحة المصدر تركز على الأمان مع إثبات شامل لصحة التنفيذ ، من خلال تقنيتنا. يمكننا تطوير عقود ذكية مع Python أو Rust أو OCaml أو JavaScript أو C ++ أو Java أو جميعها ، جنبًا إلى جنب مع جميع النظم البيئية المدمجة والمكتبات الموجودة. يمكننا حتى استخدام قواعد البيانات الفعلية. لا يمكن المبالغة في فوائد ذلك: نحن نستخدم المعرفة التي لا نمتلكها بشكل فردي ، والمدرجة في مترجمين ومترجمين فوريين موثوقين ، ومكتبات ناضجة موجودة مسبقًا ، وأنظمة تشغيل تم اختبارها في المعركة.

من الأمثلة الملموسة التي تُظهر قوة Cartesi هي لعبة Texas HODL’em ، وهي لعبة تكساس هولدم بوكر اللامركزية. إنها تستفيد من مكتبة LibTMCG⁵ لتنفيذ منطق لعبة البطاقة الذهنية. لا يمكن تشغيل خوارزميات مكثفة من هذا النوع على الطبقة الأولى: فالكمبيوتر بطيء جدًا. بالإضافة إلى ذلك ، فإن مجرد نقلها إلى طبقة 2 أسرع لا يكفي. إن تعقيد فهم تعقيدات تشفير البوكر الذهني ، ثم كتابة إعادة تنفيذ قوية لـ LibTMCG في Solidity يجعل هذا التطبيق DApp مستحيلاً. مع مجموعات Cartesi ، من ناحية أخرى ، يمكننا فقط استيراد هذه المكتبة الموجودة بالفعل من لغة البرمجة المفضلة لدينا واستخدامها بشكل طبيعي ، وتشغيل كل شيء على جهاز كمبيوتر سريع.

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