تحليل بحثي أصلي لشركة Web3.com Ventures

0x فيشيلوسوفر

مقدمة

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

المبادئ التقنية لـ Sui

يوجد تنوع واسع من الابتكارات التقنية التي تُجريها Sui كمشروع، وكلها تهدف إلى تحسين سرعة المعاملات وقابليتها للتدفق (throughput)، خصوصًا للمعاملات البسيطة من نظير إلى نظير. في هذا القسم، سأركز على ثلاثة من أبرز الابتكارات التقنية: تعديل لغة Move لإنشاء Sui Move، والتعامل مع “المعاملات البسيطة” دون إجماع، ومحرك إجماع Narwhal-Tusk الفريد.

Sui Move

أولًا، بخلاف Aptos وغيرها من مشاريع لغة Move التي تستعمل لغة Move الأصلية لـ Meta Libra “كما هي” مباشرةً (out-of-the-box)، تستخدم Sui نسختها المخصصة الخاصة من لغة Move، وهي Sui Move، لكتابة العقود الذكية. تُعد Move — باعتبارها لغة عقود ذكية قائمة على الموارد (resource-based) ومُنفّذة باستخدام هياكل (structs) مفعّلة بإمكانيات (ability-enabled) — محسّنة طبيعيًا للتنفيذ المتوازي. لكن بينما كانت لغة Diem-Move الأصلية مطوّرة مع وضع “نظام مُرخّص/مصرّح” في الاعتبار حيث يتم فرض التحكم في الوصول بشكل صارم، فإن فكرة Sui الخاصة بالاعتماد الجماهيري تتطلب نظامًا أكثر انفتاحًا من أجل تسريع عملية الإعداد/الالتحاق (onboarding). لهذا الغرض، تنشئ Sui Move دوالًا بدائية أكثر، مثل دالة “transfer”، التي تتيح “إنشاء أصول جماعي بلا احتكاك” [3].

تشمل تعديلات Sui الأخرى على لغة Move أيضًا تنقية أنظمة الترميز/الأنماط (typing systems) في Move لتوفير تجربة برمجة أكثر سلاسة بكثير. ومن خلال السماح بنقل الأصول المدمج/المحدّد نوعيًا (native-typed) وبملكية هذه الأصول، لا يحتاج المطورون إلى استخدام “أنماط الغلاف” (wrapper patterns) كما في لغة Move التقليدية. كما أن تحسين Sui Move لجزء “الترميز/التعريف النوعي” للموارد يتيح تجميع أصول مختلفة الأنواع معًا داخل حاوية أكبر للأصول، وبذلك يوسّع وظائف الأنواع المعرّفة مسبقًا ويتيح بنية تعددية أشكال (polymorphism) أنظف [3].

معاملات بسيطة لـ “كاتب واحد”

يُعد تعامل Sui مع المعاملات البسيطة ذات “الكاتب الواحد” (single-writer) — على نحوٍ ما — أهم ابتكار في المشروع، وهو المفتاح الأساسي لقابلية توسع المشروع. فالمعاملات ذات الكاتب الواحد، كما يوحي اسمها، تشمل معاملات بلوك تشين شائعة مثل المدفوعات من نظير إلى نظير وتحويلات NFTs، حيث يوجد طرف مرسل واحد فقط. وتذكر Sui أنها “تُحسن الكائنات ذات الكاتب الواحد، بما يسمح بتصميم يتخلى عن الإجماع للمعاملات البسيطة” [4]. يبدو هذا متناقضًا مع مبادئ تصميم بلوك تشين — فالإجماع هو الخطوة الحاسمة لضمان أمان البيانات المرسلة عبر بلوك تشين. إذًا، كيف تتعامل Sui مع أمن البيانات دون إجماع؟

يكمن المفتاح هنا في أن Sui تستخدم خوارزمية تُعرف باسم “Byzantine Consistent Broadcast”، وهي خوارزمية أبسط تُزيل عبء التكلفة (overhead) من المقاربات التقليدية للإجماع، لكنها ما تزال تضمن الأمان والحيوية (liveness) في ظروف الخصم البيزنطي (basically the standard security requirement for consensus). وهذه الخوارزمية متشابهة بالفعل إلى حدٍ ما مع خوارزمية طبقة النقل الآمنة (TLS) التي تُستخدم تقليديًا في صفحات الويب لإقامة اتصال آمن [5].

في آلية إجماع تقليدية، توجد طريقة “أرسل ثم اختفِ” (fire-and-forget) للمرسل: إذ بعد إرسال معاملة إلى المدققين، لا يقوم المرسل بأي شيء إضافي بالمعاملة، بينما يقوم المدققون بكل العمل [6]. والسبب هو أن المدققين يحتاجون إلى التحقق من أن المعاملة لا تتعارض مع المعاملات الأخرى التي يرسلها عملاء آخرون. لكن في حالة عملية “كاتب واحد” بسيطة، نحن نعرف مسبقًا أنه لن توجد عمليات كتابة متعارضة أخرى من مرسلين آخرين. لذلك، يمكننا إلقاء العبء الحسابي المتمثل في جمع الأصوات (tallying votes) على المرسل، بدلًا من استهلاك قدر كبير من حسابات المدققين الثمينة.

وبشكل أدق، تمر المعاملات البسيطة بالأربع خطوات التالية [6]:

  1. يرسل المرسل بيانات المعاملة إلى المدققين، ويحتفظ بسجل يثبت أنه قام بإرسال هذه المعاملة

  2. يقوم المدققون بإرسال أصواتهم (مرجّحة حسب إثبات الحصة) مرة أخرى إلى المرسل

  3. يجمع المرسل كل الأصوات التي تلقاها من المدققين، وبمجرد أن تتجاوز عتبة التحقق (validation threshold)، يقوم بإنشاء “شهادة تحقق” (verification certificate) يتم إرسالها إلى المدققين

  4. يتلقى المدققون هذه الشهادة، ويتحققون من صحتها ويقومون فورًا بإنهاء/اعتماد هذه المعاملة

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

والأهم من ذلك، أن هذه الخوارزمية قابلة للتوسع بشكل كبير. وبسبب هذه الخوارزمية الذكية، لا تملك شبكة Sui — نظريًا — حدًا أعلى لعدد المعاملات البسيطة التي يمكنها معالجتها. وبما أن المهمة الرئيسية المتمثلة في تجميع أصوات المدققين تتم على جانب العميل، فإنه كلما زاد عدد الأشخاص الذين يستخدمون شبكة Sui، لا يضطر المدققون إلى مواجهة ضغط حوسبي مماثل للذي تواجهه Ethereum أو Solana أو حتى Aptos (حيث يقوم المستخدمون فعليًا بعمل الحوسبة بأنفسهم). ولذلك، يروّج منشئو Sui للبلوك تشين على أنها مختلفة نوعيًا عن سلاسل بلوك تشين أخرى لأنها تستخدم استراتيجية “التوسع الأفقي” (horizontal scaling) [7].

محرك إجماع Narwhal-Tusk

بالطبع، في حين قد تقوم Sui بتحسين المعاملات البسيطة ذات الكاتب الواحد، فإن لديها أيضًا آلية إجماع عالمية “أكثر تقليدية” تُستخدم للمعاملات الأكثر تعقيدًا، وكذلك لعمل نقاط تحقق دورية (checkpointing) لحالة البلوك تشين العالمية. ويُعد محرك الإجماع هذا — بالاعتماد على هياكل بيانات على شكل رسم بياني (Graph)، وبشكل أدق DAG — آلية إجماع متقدمة بذاتها أيضًا. يوجد مكوّنان أساسيان لمحرك إجماع Sui [8]:

  1. Narwhal، مُخزن المعاملات غير المؤكدة (mempool) في Sui، أو بمعنى ما خادم/مساعد (butler) يحافظ على المعاملات التي لم يتم إجماعها بعد تحت السيطرة

  2. Tusk (ومرحلته السابقة Bullshark)، بروتوكولات تضمن ترتيب معاملات الإجماع

يقوم Narwhal في الأساس بأخذ مجموعة من المعاملات المعلّقة و”تحويلها إلى شكل رسم بياني” (graph-ifies) أثناء انتظارها للمعالجة [9]. بدلًا من تجميع المعاملات داخل كتل تأكيد (confirmation blocks) كما في إجماع بلوك تشين تقليدي، يقوم Narwhal بوضع طابع زمني للمعاملات مع رقم إصدار، وكذلك مع مؤشرات (pointers) إلى أرقام إصدارات المعاملات السابقة، وبذلك ينشئ مخططًا لا دوريًا موجهًا (DAG)، وهو شبيه بدرجة ما بإنشاء شجرة ملفات (file tree). تشبه بنية الـ DAG هذه إلى حدٍ ما فكرة “blockweave” لدى Arweave، والتي تُحوّل البنية الخطية أحادية البعد الشبيهة بقائمة مرتبطة (LinkedList-like) في “blockchain” إلى بنية رسومية على شكل شجرة ملفات بحيث تسمح بتخزين البيانات بكفاءة أكبر [10].

يُعد Tusk أيضًا في الأساس نسخة معدلة من بروتوكول إجماع HotStuff، مُحسّنة لبنية DAG التي يوفرها Narwhal، ومركزة على تقليل عبء التواصل بين المدققين على الشبكة. وعند استخدام Narwal وTusk معًا، يمكنهما تحقيق ما يصل إلى “160,000 tx/sec مع حوالي 3 ثوانٍ من زمن الكمون (latency)” ضمن شروط التحمل للأخطاء البيزنطية التقليدية (BFT) [9]. وهكذا، فإن كفاءة معاملات Narwal-Tusk هي بالفعل على مستوى متقدم جدًا حتى دون النظر في التحسين الإضافي الذي تطبقه Sui للمعاملات ذات الكاتب الواحد باستخدام خوارزمية Byzantine Consistent Broadcast المذكورة أعلاه.

اقتصاديات توكنات Sui

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

كما هو موضح في المخطط، فإن نموذج اقتصاديات توكنات Sui هو في الأساس نموذج اقتصاديات التوكنات التقليدي لسلسلة تعتمد إثبات الحصة (Proof-of-Stake)، مع إضافة “صندوق التخزين” كالتواء. إذًا، ما الذي يحله “صندوق التخزين”؟ تعتبر البلوك تشين في جوهرها بنية بيانات لا تسمح إلا بإلحاق البيانات (append-only)، ويجب أن تضمن أنه بمجرد كتابة البيانات على البلوك تشين، ستظل هناك دائمًا. لنفترض أن لدينا مستخدمين: A وB. يستخدم المستخدم A Sui منذ البداية. وبما أنه لا توجد “بيانات تراثية” كثيرة يتعين على المدققين أخذها بعين الاعتبار، يمكن للمستخدم A الاستمتاع برسوم غاز منخفضة جدًا. من ناحية أخرى، لا يستخدم المستخدم B Sui إلا بعد أن ينضج الشبكة وتوجد كمية كبيرة من البيانات على السلسلة. وبما أن المدققين يحتاجون إلى صيانة كل هذه البيانات التراثية، فإن المستخدم B يحتاج إلى دفع رسوم أعلى بكثير من رسوم المستخدم A. “صندوق التخزين” هو ببساطة طريقة لتسوية هذه المشكلة، بحيث يدفع المستخدم A رسومًا أكبر حتى يتمكن المستخدمان من استخدام الشبكة بمستوى رسوم متقارب [12].

يدفع صندوق التخزين لدى Sui إلى المدققين في النظام، أو أولئك الذين يقومون فعليًا بتخزين بيانات البلوك تشين و”أعمال الصيانة” للحفاظ على البيانات. ومع ازدياد أعمال الصيانة، تزداد أيضًا مدفوعات المدققين، بحيث يتم تحفيز مزيد من الأشخاص ليصبحوا مدققين في النظام بدلًا من أن يكونوا مفوضين للتوكنات (token delegators) يقومون برهن العملة وينسون أمرها [13]. ومع أن يصبح المزيد من الناس مدققين، تزداد أيضًا إجمالي كمية مساحة التخزين المتاحة.

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

التقييم

من البث المتسق البيزنطي (Byzantine Consistent Broadcast) وآلية إجماع Narwhal-Tusk، إلى لغة Sui-Move وصندوق التخزين (Storage-Fund Tokenomics)، فإن Sui مشروع يضم ابتكارات كبيرة في كل جزء من أجزاء مشروع البلوك تشين—وهو وضعٌ مميّز حتى مقارنةً بسلاسل L1 جديدة أخرى مثل Aptos. تتراكم كل هذه الابتكارات معًا لتشكّل سردًا متماسكًا — تحسين شامل للنهاية إلى النهاية من أجل التبني الجماعي للبلوك تشين بمقياس وسائل التواصل الاجتماعي الحديثة وغيرها من مشاريع Web 2.

ومن بين كل نطاق الابتكارات التقنية، ربما يكون أبرز ما يميز Sui تقنيًا هو ما يزال “حدها غير المحدود” للمعاملات ذات الكتابة الواحدة (single-write) (بسبب خوارزمية Byzantine Consistent Broadcast). لذلك، فإن المشاريع التي تعتمد بقوة على المعاملات ذات الكتابة الواحدة ستتحقق بالتأكيد من أكبر مكاسب في قابلية التوسع عبر استخدام شبكة Sui.

تقدم Sui عدة أمثلة على تطبيقات DApps لـ “الكاتب الواحد” (single-writer)، بما في ذلك معاملات توكنات من نظير إلى نظير عادية (peer-to-peer) ومع لوحة إعلانات عامة (public bulletin board)، ورسائل خاصة، وكذلك الإنتاح/السكّ الشامل وتوزيع أصول الألعاب على نطاق واسع [14]. في الأساس، يعني تحسين المعاملات ذات الكاتب الواحد أن الوظائف الأكثر شيوعًا لتطبيقات وسائل التواصل الاجتماعي يمكن نقلها إلى Sui دون أي قلق من جانب قابلية التوسع، كما يمكن إطلاق التأثيرات الشبكية الكاملة لهذه التطبيقات بفضل حلول قابلية التوسع في Sui. مثال على ذلك هو ComingChat، الذي يحاول إنشاء خدمة مراسلة فورية شاملة، مثل Telegram وWhatsApp مع تكامل المحفظة، مع خطط للنشر على Sui وAptos [15].

علاوة على ذلك، تُمكّن التصاميم التقنية لدى Sui أيضًا من تحقيق الإمكانات الكاملة للـ NFTs كسلع جماهيرية. في البداية، تحل Sui بالكامل مشكلة ارتفاع السعر/القفزات السعرية الشائعة مع التوزيع الجماعي لـ NFTs على Ethereum (مثل BAYC). لكن بالذهاب إلى أبعد من ذلك، ومن خلال جعل السكّ الجماعي ميسور التكلفة وقابلًا للتوسع، تفتح Sui المجال لـ NFTs ذات قيمة جوهرية منخفضة لكن لها غرض اجتماعي مرتفع. من قسائم الخصم (on-chain coupons) إلى الهويات اللامركزية (decentralized IDs)، وصولًا إلى بطاقات الائتمان وبطاقات الصعود، كل ما يمكن أن تحمله Apple Wallet أو أي محفظة مادية أخرى يمكن وضعه على السلسلة كـ NFTs بفضل حلول قابلية التوسع لدى Sui.

وخطوة إضافية إلى الأمام، يمكن لـ Sui حتى أن تعمل كنسخة بلوك تشين دائمة من MongoDB. تذكّر أن ميزات لغة Sui Move تسمح بتعريف “الموارد” (resources) لأنواع مخصّصة مختلفة بشكل واضح جدًا وإجراء المعاملات عليها، كما تتيح قدرًا كبيرًا من تعدد الأشكال (polymorphism) والتنميطية/الوحدوية (modularity). ويمكن استخدام هذه فعليًا لبناء كيانات/مخرجات شبيهة بملفات MongoDB، وإتاحة طريقة جديدة مبتكرة لهيكلية تخزين الكائنات على بلوك تشين، مع كل ضمانات الأمان والديمومة الخاصة بالبلوك تشين.

أعتقد أن أكبر مساهمة لـ Sui في هذا المجال هي في بناء مخطط (blueprint) قابل للتطبيق لبلوك تشين من المستوى الأول (L1) يمكنه التعامل مع قابلية توسع بمستوى Web 2. والأهم من ذلك، أعتقد أن تطوير Sui يرمز إلى النضج المتزايد لـ Web 3، وإلى تنامي الثقة في المجال بأن المستقبل يحمل وعدًا بحجم مستخدمين يصل إلى مليار. وبهذا المعنى، مهما إذا كان نظام Sui البيئي قادرًا على الازدهار على المدى الطويل، فأنا أعتقد أن المشروع نفسه، فضلًا عن إعادة تصوّره المبتكرة للبلوك تشين، يمثل نجاحًا مُدوّيًا بالفعل.

🐦 @0xfishylosopher

📅 9 نوفمبر 2022

شكرًا جزيلاً لـ Web3.com Ventures على الاستشارة والبرعاية لهذا المقال.

المراجع

[1] https://sui.io/resources-sui/raise-announcement/

[2] https://medium.com/mysten-labs/recap-7-21-sui-ama-unlocking-opportunities-on-sui-with-adeniyi-abiodun-f4fa96a15d7c

[3] https://sui.io/resources-move/why-we-created-sui-move/

[4] https://docs.sui.io/learn/how-sui-works

[5] https://www.cloudflare.com/learning/ssl/transport-layer-security-tls/

[6] https://docs.sui.io/learn/how-sui-works#simple-transactions

[7] https://boxmining.com/sui-blockchain/

[8] https://docs.sui.io/learn/architecture/consensus

[9] https://arxiv.org/abs/2105.11827

[10] https://www.arweave.org/technology

[11] https://docs.sui.io/learn/tokenomics

[12] https://docs.sui.io/learn/tokenomics/storage-fund

[13] المزيد حول المفوضين والمدققين: https://coinguides.org/validators-delegators-staking/

[14] قائمة بأمثلة تطبيقات الكاتب الواحد: https://docs.sui.io/learn/single-writer-apps

[15] https://coming.chat/