كيفية إنشاء تطبيق لامركزي يتوسع؟ استخدم كميات أقل من تقنية blockchain

لا، إطلاق تطبيق لامركزي (dapp) على blockchain لن يؤدي إلى نجاح الأعمال. في الواقع، لا يفكر معظم المستخدمين حتى فيما إذا كان التطبيق يعمل على تقنية blockchain - فهم ببساطة يختارون منتجًا أرخص وأسرع وأبسط.

لسوء الحظ، حتى لو كانت تقنية blockchain لها ميزاتها وفوائدها الفريدة، فإن معظم التطبيقات التي تعمل عليها تكون أكثر تكلفة وأبطأ وأقل سهولة من منافسيها المركزيين.

كيفية إنشاء تطبيق لامركزي يتوسع؟ استخدم كميات أقل من تقنية blockchain

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

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

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

دعونا أولاً نلقي نظرة على نهج أكثر تقليدية، والذي يستخدم blockchain كوسيط مباشر بين مستخدمي التطبيق، والذي لا يتوسع بشكل جيد.

النهج رقم 1: Blockchain كواجهة خلفية

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

في أي موقف نريد فيه هزيمة مثل هذا الوسيط باستخدام هذا النهج، سنحاول تكرار منطق أعماله باستخدام العقود الذكية على blockchain مثل Ethereum.

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

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

كيفية إنشاء تطبيق لامركزي يتوسع؟ استخدم كميات أقل من تقنية blockchain

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

هناك جانبان لمشكلة قابلية التوسع في هذا النهج. أولاً، الحد الأقصى لعدد المعاملات في الثانية. ثانيا، كمية البيانات التي يمكن تخزينها على blockchain.

دعونا نفعل بعض الحسابات التقريبية. يقول موقع Booking.com أن لديهم ما يقرب من 2 مليون فندق مسجل لديهم. لنفترض أن الفندق العادي يحتوي على 10 غرف ويتم حجز كل منها 20 مرة فقط في السنة - وهذا يعطينا متوسط ​​13 حجزًا في الثانية.

ولوضع هذا الرقم في منظوره الصحيح، تجدر الإشارة إلى أن إيثريوم يمكنه معالجة ما يقرب من 15 معاملة في الثانية.

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

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

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

لذلك، يجب على مطوري التطبيقات اللامركزية تقييم ما إذا كانت كل ميزة تستخدم blockchain تحتاج حقًا إلى التوزيع وعدم قابلية الكتابة.

على سبيل المثال: ما الفائدة من توزيع بيانات كل فندق عبر مئات الأجهزة حول العالم وتخزينها هناك بشكل دائم؟ هل من المهم حقًا أن يتم دائمًا تضمين البيانات التاريخية المتعلقة بأسعار الغرف ومدى توفرها في blockchain؟ على الاغلب لا.

إذا بدأنا بطرح أسئلة كهذه، فسنبدأ في رؤية أننا لا نحتاج بالضرورة إلى جميع ميزات blockchain باهظة الثمن لجميع وظائفنا. إذن، ما هو البديل؟

النهج رقم 2: الهندسة المعمارية المستوحاة من Blockstack

على الرغم من التركيز الرئيسي Blockstack في التطبيقات التي يكون فيها المستخدمون مالكي بياناتهم (على سبيل المثال، مثل نص جوي, بنتن ساوند, محسن الصورة أو الجرافيت)، لدى blockstack أيضًا فلسفة استخدام blockchain بخفة - فقط عند الضرورة القصوى. حجتهم الرئيسية هي أن blockchain بطيء ومكلف، وبالتالي يجب استخدامه فقط للمعاملات الفردية أو غير المتكررة. أما بقية التفاعل مع التطبيقات فيجب أن يتم من خلال نظام نظير إلى نظير، أي. يجب على مستخدمي التطبيقات اللامركزية مشاركة البيانات مباشرة مع بعضهم البعض، وليس من خلال blockchain. بعد كل شيء، تم إنشاء التطبيقات اللامركزية الأقدم والأكثر نجاحًا مثل BitTorrent والبريد الإلكتروني وTor قبل ظهور مفهوم blockchain نفسه.

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

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

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

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

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

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

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

كيفية إنشاء تطبيق لامركزي يتوسع؟ استخدم كميات أقل من تقنية blockchain

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

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

اختتام

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

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

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

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

المصدر: www.habr.com

إضافة تعليق