تخيل هذا: أنت في مطبخ مزدحم حيث يجب على الطهاة الانتظار حتى ينتهي أحدهم من تقطيع الخضار قبل أن يبدأ التالي في خبز البطاطس. يبدو بطيئا بشكل محبط وغير فعال ، أليس كذلك؟ هذا ما يشبه التنفيذ المتزامن في الحوسبة و blockchain: يجب الانتهاء من مهمة واحدة قبل بدء المهمة التالية. الآن ، تخيل مطبخا منسقا جيدا حيث يعمل كل طاه على أجزاء مختلفة من أطباق متعددة في وقت واحد ، وإعداد المكونات والطهي والطلاء مرة واحدة. هذا تنفيذ غير متزامن - يتم تشغيل المهام بشكل متزامن ، مما يؤدي إلى إنشاء سير عمل أكثر كفاءة وأسرع.
عند تقاطع تطور تقنية البلوكشين ، أصبح القابلية للتركيب المتزامنة مصطلحًا يتردد لأنه يبدو أنه يقدم حلاً لتوحيد طبقة الدفتر المرجعي المتناثرة 2s على شبكة Ethereum. تتناول هذه النهج التجربة المستخدم الكارثية وتجربة المطور حيث يمكن أن يكلف حتى تحويل بسيط بين 2s دولارًا ويستغرق حتى 7 أيام.المشاركة في فيتاليكالمشاورات تبرز أن عدم تزامن العالمية ليس ضروريًا لحل هذه المسائل. نحن نتفق على أن تنفيذ الترجمة الفعالة لا يحتاج بالضرورة إلى التزامن ، وهناك تكاليف حقيقية لبناء وصيانة البنية التحتية المتزامنة. نحن نعتقد أنه ليس خيارًا ثنائيًا بين كل شيء متزامن أو غير متزامن. يمكن أن يتعايش الاثنان بشكل مؤقت ، مع احتمال التحول نحو الأخير.
في سعيها لتحقيق أداء متنامي في تكنولوجيا البلوكشين، حظي تنفيذ العقود الذكية الفرديّة بانتباه كبير. في الأساليب التقليدية، كان أداء كل عقد ذكي مقيدًا بقدرات جهاز افتراضي واحد (EVM)، حتى مع ظهور أنظمة السلاسل المتعددة أو الطبقة 2. تقدم الآلات الافتراضية المتوازية حلاً واعدًا، يسمح بتنفيذ معاملات عقد ذكي واحد بشكل متزامن، مما يستفيد من المزيد من أنوية وحدة المعالجة المركزية لتحسين الأداء.
البنية المعممة لتنفيذ التتابع المتوازي (PREDA) هي نموذج برمجة موزع ووظيفي وموجه نحو النطاق وذو مستوى عالٍ مصمم للعقود الذكية العامة المتوازية بشكل طبيعي على أنظمة سلسلة كتل متعددة EVM. من منظور النظام، يجعل PREDA EVMs المتوازية قابلة للتفكيك وغير متزامنة، مما يتيح التوازي الكامل لوظيفة العقد وتعظيم توازي المجموعة من المعاملات. يضمن هذا أن يمكن استخدام معظم حالات EVMs، محققًا الأداء والتوسعة الأمثل.
قبل الغوص في تفاصيل الأمور الدقيقة، دعونا نوضح أولاً ما يشير عدة مصطلحات رئيسية إلى في هذه القطعة:
Tx1= المعاملة 1
Tx2 = المعاملة 2
نحن نفترض أن,
تنفيذ Tx1 يحتاج إلى تغيير الحالة A والحالة B والحالة C
تنفيذ Tx2 يحتاج إلى تغيير الحالة A والحالة D والحالة E
أساليب التوازي الحديثة لـ EVMs¹، مثل تلك المنفذة بواسطة Sei، Aptos، و Sui، تحاول تنفيذ جميع الخطوات في كل معاملة بشكل متزامن. تخيل التكبير على مشهد معاملة واحدة، في هذه الأنظمة يتم تنفيذ معاملة داخل ارتفاع كتلة واحد، بغض النظر عن طبيعة تبعيات البيانات المبعثرة (أي الوصول إلى قطع مختلفة من حالات العقد). نتيجة لذلك، إذا كان أي خطوة من حالات العقد التي تم الوصول إليها مشتركة أو تم تحديثها بين معاملتين، فإنها تُعرف على أنها تتعارض القراءة-الكتابة أو الكتابة-الكتابة ولا يمكن تنفيذها بشكل متوازي، معوقةً الإنتاجية وقابلية التوسع الكلية للنظام. تزداد هذه الحالة سوءًا بشكل كبير عندما ترتفع نشاطات السلسلة الرئيسية فجأة.
PREDA يتبع نهجًا جديدًا ومختلفًا عن الأنظمة المذكورة أعلاه. يعتمد نموذج تنفيذ العقد الذكي على تقسيم غير متزامن لخطوات المعاملة وفقًا لتبعيات الوصول إلى البيانات الخاصة بها، مما يتيح تنفيذ الخطوات بشكل غير متزامن. يؤدي نموذج تنفيذ PREDA إلى زيادة الكفاءة وتوسع غير محدود نظريًا. سننغمس فيما يقوم به PREDA ونقدم نتائج تجريبية لدعم هذه المطالبة.
تتم إعادة تشغيل معاملات نقل الرمز المميز ETH التاريخية لتقييم Sei (V2) و Aptos و Sui و PREDA ، من خلال الإنتاجية وقابلية التوسع. لاحظ أن تقييمنا يستخدم معاملات نقل رمز ETH التاريخية في العالم الحقيقي بدلا من إنشاء مجموعة من معاملات التحويل بين أزواج عشوائية من العناوين. ستنتج المعاملات العشوائية نتيجة تجريبية بشكل مفرط على الأداء في حالات الكلمات الحقيقية لأن معاملات العالم الحقيقي تتضمن عناوين مرتبطة بطريقة أو بأخرى ، والتي تقدم قدرا كبيرا من تبعيات البيانات.
تمثيلات التجارب كالتالي:
تؤكد المقارنة في الشكل 1 ضرورة اعتماد نموذج برمجة PREDA لتحقيق تحسينات كبيرة في الإنتاجية. يظهر PREDA 3.3 مرة - 28.2 مرة أعلى TPS من Aptos لعمليات التحويل التاريخية الحقيقية على شبكة Ethereum.
نظرًا لتنفيذ هذه الأنظمة بلغات مختلفة (بما في ذلك Go و Rust و C++) وآلات افتراضية مختلفة، نقوم بتقييم قابلية التوسع لأنظمة مختلفة بناءً على الزيادة النسبية في الأداء عن القاعدة باستخدام EVM واحد، لاستبعاد تأثير تنفيذ النظام المختلف.
الشكل 1. أرقام الإنتاجية المطلقة في TPS لعقود التحويل المكافئة التي تم تنفيذها على Sei و Aptos و Sui و PREDA
الشكل 2. تسارع نسبي لـ Aptos و Sui و Sei و PREDA على أساسها الخاص
لتسهيل فهم بريدا لأي شخص ملم بـEVM الموازي، يوجد نوعان نموذجيان من آليات التوازي في أنظمة سلسلة الكتل EVM الموازية في الوقت الحاضر¹.
كلا الطريقتين تتبعان هندسة المشاركة في كل شيء وتعامل المعاملة ككل في التحكم التزامني؛ جميع الخطوات (مثل الوصول إلى حالات العقد المختلفة) لا يمكن تفكيكها ويجب تنفيذها بشكل متزامن. يقترح نموذج PREDA @devteam_48518/crystality-the-parallel-evm-model-implementing-shared-nothing-architecture-8d82fc0a836a">الهندسة المعمارية المشتركة لعدم الاعتماد على الحالة لكسر الاعتمادات الحالية وضمان عدم وصول مثيلات EVM المختلفة إلى نفس الجزء من حالة العقد، مما يجنب تضارب الكتابة تمامًا.
في جوهرها، يقدم PREDA نطاقات العقد القابلة للبرمجة لتفكيك حالة العقد إلى قطع غير تداخلية وقابلة للتوازي مع حبيبات دقيقة، وريلي الوظيفية الغير متزامنة لوصف تبديل تدفق التنفيذ عبر مختلف EVMs.
لتوضيح معنى هذه المفاهيم بشكل أفضل، يتم تفكيك وظيفة العقد في PREDA إلى خطوات متعددة مرتبة، حيث تعتمد كل خطوة على جزء واحد قابل للتوازن من الحالة دون تعارضات. يتم توجيه عملية النقل التي يبدؤها المستخدم إلى EVM يحتوي على حالات عنوان المستخدم بطريقة حاسمة، مثل استخدام طريقة تعيين عنوان المستخدم إلى EVM. خلال تنفيذ العملية، يمكن لتدفق التنفيذ الانتقال من EVM واحد إلى آخر يحتوي على حالات العقد المطلوبة عن طريق إصدار عملية إعادة توجيه. بهذه الطريقة، يحافظ PREDA على ثبات البيانات أثناء تحريك تدفق التنفيذ حول EVMs وفقًا للاعتمادات البيانات.
في كل EVM ، يتم ترتيب وتنفيذ المعاملات التي يبدأها المستخدم والمعاملات الباقية بشكل متتالٍ ، بينما تُنفذ المعاملات على EVM مختلفة بشكل متزامن لأنه لا توجد تبعيات بيانات بين EVMs. يتجنب هذا الآلية إعادة تنفيذ المتعلقة بالصراع في الأساليب المعتمدة على التوازي التفاؤلي وحاجة تحليل تبعية حالة التشغيل والتكلفة الإضافية للقفل / فتح العمليات في الأساليب المعتمدة على التوازي التشاؤمي. وبالتالي ، يوفر PREDA هندسة معمارية متوازية وغير مشتركة لأنظمة البلوكشين ، مختلفة عن الهندسة المتسلسلة والمشتركة في كل من Solidity و Move ، والتي قد تسبب تكلفة معالجة التحكم المتزامنة الكبيرة.
قمنا بتنفيذ نموذج البرمجة PREDA كلغة تشبه Algo، مشابهة لـ C/C++ و Javascript. يلي وظيفة نقل الرمز المبسطة في كل من Solidity ولغة PREDA.
يتضمن الكود Solidity في الشكل (أ) حالة العقد (الأرصدة) التي تمثل أرصدة العناوين ووظيفة النقل لنقل كمية محددة من الرموز من مرسل المعاملة (msg.sender) إلى المستلم (payee).
في تنفيذ PREDA الموضح في الشكل (ب)، الكلمة المفتاحية @addressيحدد نطاقات العقود البرمجية ، حيث يتم تقسيم حالات العقد التابعة لمتغير العقد (الرصيد) حسب العنوان ويتم تشتيتها وإدارتها بواسطة EVMs. يحدد الكلمة المفتاحية relay ريليه وظيفيًا غير متزامن.
هناك ثلاثة أجزاء في تنفيذ PREDA. في الجزء (1)، الكلمة الرئيسية @addressيحدد أرصدة المستخدمين، ويوفر وصفًا دقيقًا وقابلًا للفصل للحالة. المتغير المدى عنوان الرصيد لديه مثيل فريد لكل عنوان مستخدم. يتم الوصول إلى مثيلات عناوين المستخدم المختلفة وصيانتها بواسطة EVMs مختلفة غير متداخلة. تم تحديد وظيفة التحويل في نطاق العنوان نفسه في الجزء (2)، وتتم استدعاؤها عن طريق توفير عنوان المدفوع كنطاق هدف عند تهيئة عملية التحويل بواسطة المستخدم. في الجزء (3)، لمتابعة عملية الإيداع للمستفيد بعد سحب ناجح، يتم بدء إعادة التوجيه بعنوان المستفيد كنطاق هدف، وإضافة الأموال إلى رصيد المستفيد وتنفيذها بواسطة EVM يستضيف مثيل الرصيد لعنوان المستفيد.
تدفق التنفيذ لعملية نقل الرمز في PREDA
توضح الشكل أعلاه تدفق تنفيذ عملية تحويل الرمز في نظام PREDA EVM المتوازي. يبدأ بوب عملية تحويل لاستدعاء وظيفة النقل، التي سيتم توجيهها إلى EVM الذي يحتفظ برصيد بوب ويتم تنفيذ السحب هناك. بعد ذلك، يتم إصدار عملية توجيه وتوجيهها إلى EVM الذي يحتفظ برصيد أليس ويتم تنفيذ الوديعة. يحدث التوازي بطريقتين:
PREDA يمثل تقدمًا رئيسيًا في أداء تقنية البلوكشين و، الأهم من ذلك، قابلية التوسع. من خلال تنفيذ التجزئة الغير متزامنة، يتيح المعالجة الفعالة للمعاملات دون العوائق المتعلقة بنماذج التوزيع المتزامن التقليدية. يقوم هذا النهج بتجزئة المعاملات إلى مايكرو معاملات وفقًا لتبعيات البيانات، مما يسمح بحدوث تغييرات متزامنة في الحالة وتجنب تعارضات الكتابة تمامًا.
تتجاوز عمومية PREDA استخدامها لـ@addressتقسيم حالات العقد حسب العنوان. يسمح بأنواع التقسيم المخصصة باستخدام كلمات مفتاحية مثل@type، حيث يمكن أن يكون النوع أي نوع أولي في Solidity مثل @uint. بالإضافة إلى ذلك، يدعم PREDA حالات العقود غير المجزأة مع @global، مما يضمن أن كل وحدة تنفيذ ظاهرة تعاقدية (EVM) تحافظ على قيم متسقة لمثل هذه الحالات. يعزز هذا المرونة في تجزئة الحالة من قدرة النموذج على التكيف والفعالية عبر عقود ذكية متنوعة.
تُظهر تجاربنا أن PREDA تفوق بشكل كبير على أساليب التوازي الأخرى، محققة إنتاجية وقابلية توسع أعلى. ستنغمس مقالات فريق PREDA القادمة بشكل أعمق في النتائج التي حققناها، مقدمة مقارنات شاملة أكثر مع أنواع مختلفة من العقود الذكية وتحليلات عميقة لنموذج ولغة برمجة PREDA. ترقبوا هذه الاستكشافات المفصلة.
تخيل هذا: أنت في مطبخ مزدحم حيث يجب على الطهاة الانتظار حتى ينتهي أحدهم من تقطيع الخضار قبل أن يبدأ التالي في خبز البطاطس. يبدو بطيئا بشكل محبط وغير فعال ، أليس كذلك؟ هذا ما يشبه التنفيذ المتزامن في الحوسبة و blockchain: يجب الانتهاء من مهمة واحدة قبل بدء المهمة التالية. الآن ، تخيل مطبخا منسقا جيدا حيث يعمل كل طاه على أجزاء مختلفة من أطباق متعددة في وقت واحد ، وإعداد المكونات والطهي والطلاء مرة واحدة. هذا تنفيذ غير متزامن - يتم تشغيل المهام بشكل متزامن ، مما يؤدي إلى إنشاء سير عمل أكثر كفاءة وأسرع.
عند تقاطع تطور تقنية البلوكشين ، أصبح القابلية للتركيب المتزامنة مصطلحًا يتردد لأنه يبدو أنه يقدم حلاً لتوحيد طبقة الدفتر المرجعي المتناثرة 2s على شبكة Ethereum. تتناول هذه النهج التجربة المستخدم الكارثية وتجربة المطور حيث يمكن أن يكلف حتى تحويل بسيط بين 2s دولارًا ويستغرق حتى 7 أيام.المشاركة في فيتاليكالمشاورات تبرز أن عدم تزامن العالمية ليس ضروريًا لحل هذه المسائل. نحن نتفق على أن تنفيذ الترجمة الفعالة لا يحتاج بالضرورة إلى التزامن ، وهناك تكاليف حقيقية لبناء وصيانة البنية التحتية المتزامنة. نحن نعتقد أنه ليس خيارًا ثنائيًا بين كل شيء متزامن أو غير متزامن. يمكن أن يتعايش الاثنان بشكل مؤقت ، مع احتمال التحول نحو الأخير.
في سعيها لتحقيق أداء متنامي في تكنولوجيا البلوكشين، حظي تنفيذ العقود الذكية الفرديّة بانتباه كبير. في الأساليب التقليدية، كان أداء كل عقد ذكي مقيدًا بقدرات جهاز افتراضي واحد (EVM)، حتى مع ظهور أنظمة السلاسل المتعددة أو الطبقة 2. تقدم الآلات الافتراضية المتوازية حلاً واعدًا، يسمح بتنفيذ معاملات عقد ذكي واحد بشكل متزامن، مما يستفيد من المزيد من أنوية وحدة المعالجة المركزية لتحسين الأداء.
البنية المعممة لتنفيذ التتابع المتوازي (PREDA) هي نموذج برمجة موزع ووظيفي وموجه نحو النطاق وذو مستوى عالٍ مصمم للعقود الذكية العامة المتوازية بشكل طبيعي على أنظمة سلسلة كتل متعددة EVM. من منظور النظام، يجعل PREDA EVMs المتوازية قابلة للتفكيك وغير متزامنة، مما يتيح التوازي الكامل لوظيفة العقد وتعظيم توازي المجموعة من المعاملات. يضمن هذا أن يمكن استخدام معظم حالات EVMs، محققًا الأداء والتوسعة الأمثل.
قبل الغوص في تفاصيل الأمور الدقيقة، دعونا نوضح أولاً ما يشير عدة مصطلحات رئيسية إلى في هذه القطعة:
Tx1= المعاملة 1
Tx2 = المعاملة 2
نحن نفترض أن,
تنفيذ Tx1 يحتاج إلى تغيير الحالة A والحالة B والحالة C
تنفيذ Tx2 يحتاج إلى تغيير الحالة A والحالة D والحالة E
أساليب التوازي الحديثة لـ EVMs¹، مثل تلك المنفذة بواسطة Sei، Aptos، و Sui، تحاول تنفيذ جميع الخطوات في كل معاملة بشكل متزامن. تخيل التكبير على مشهد معاملة واحدة، في هذه الأنظمة يتم تنفيذ معاملة داخل ارتفاع كتلة واحد، بغض النظر عن طبيعة تبعيات البيانات المبعثرة (أي الوصول إلى قطع مختلفة من حالات العقد). نتيجة لذلك، إذا كان أي خطوة من حالات العقد التي تم الوصول إليها مشتركة أو تم تحديثها بين معاملتين، فإنها تُعرف على أنها تتعارض القراءة-الكتابة أو الكتابة-الكتابة ولا يمكن تنفيذها بشكل متوازي، معوقةً الإنتاجية وقابلية التوسع الكلية للنظام. تزداد هذه الحالة سوءًا بشكل كبير عندما ترتفع نشاطات السلسلة الرئيسية فجأة.
PREDA يتبع نهجًا جديدًا ومختلفًا عن الأنظمة المذكورة أعلاه. يعتمد نموذج تنفيذ العقد الذكي على تقسيم غير متزامن لخطوات المعاملة وفقًا لتبعيات الوصول إلى البيانات الخاصة بها، مما يتيح تنفيذ الخطوات بشكل غير متزامن. يؤدي نموذج تنفيذ PREDA إلى زيادة الكفاءة وتوسع غير محدود نظريًا. سننغمس فيما يقوم به PREDA ونقدم نتائج تجريبية لدعم هذه المطالبة.
تتم إعادة تشغيل معاملات نقل الرمز المميز ETH التاريخية لتقييم Sei (V2) و Aptos و Sui و PREDA ، من خلال الإنتاجية وقابلية التوسع. لاحظ أن تقييمنا يستخدم معاملات نقل رمز ETH التاريخية في العالم الحقيقي بدلا من إنشاء مجموعة من معاملات التحويل بين أزواج عشوائية من العناوين. ستنتج المعاملات العشوائية نتيجة تجريبية بشكل مفرط على الأداء في حالات الكلمات الحقيقية لأن معاملات العالم الحقيقي تتضمن عناوين مرتبطة بطريقة أو بأخرى ، والتي تقدم قدرا كبيرا من تبعيات البيانات.
تمثيلات التجارب كالتالي:
تؤكد المقارنة في الشكل 1 ضرورة اعتماد نموذج برمجة PREDA لتحقيق تحسينات كبيرة في الإنتاجية. يظهر PREDA 3.3 مرة - 28.2 مرة أعلى TPS من Aptos لعمليات التحويل التاريخية الحقيقية على شبكة Ethereum.
نظرًا لتنفيذ هذه الأنظمة بلغات مختلفة (بما في ذلك Go و Rust و C++) وآلات افتراضية مختلفة، نقوم بتقييم قابلية التوسع لأنظمة مختلفة بناءً على الزيادة النسبية في الأداء عن القاعدة باستخدام EVM واحد، لاستبعاد تأثير تنفيذ النظام المختلف.
الشكل 1. أرقام الإنتاجية المطلقة في TPS لعقود التحويل المكافئة التي تم تنفيذها على Sei و Aptos و Sui و PREDA
الشكل 2. تسارع نسبي لـ Aptos و Sui و Sei و PREDA على أساسها الخاص
لتسهيل فهم بريدا لأي شخص ملم بـEVM الموازي، يوجد نوعان نموذجيان من آليات التوازي في أنظمة سلسلة الكتل EVM الموازية في الوقت الحاضر¹.
كلا الطريقتين تتبعان هندسة المشاركة في كل شيء وتعامل المعاملة ككل في التحكم التزامني؛ جميع الخطوات (مثل الوصول إلى حالات العقد المختلفة) لا يمكن تفكيكها ويجب تنفيذها بشكل متزامن. يقترح نموذج PREDA @devteam_48518/crystality-the-parallel-evm-model-implementing-shared-nothing-architecture-8d82fc0a836a">الهندسة المعمارية المشتركة لعدم الاعتماد على الحالة لكسر الاعتمادات الحالية وضمان عدم وصول مثيلات EVM المختلفة إلى نفس الجزء من حالة العقد، مما يجنب تضارب الكتابة تمامًا.
في جوهرها، يقدم PREDA نطاقات العقد القابلة للبرمجة لتفكيك حالة العقد إلى قطع غير تداخلية وقابلة للتوازي مع حبيبات دقيقة، وريلي الوظيفية الغير متزامنة لوصف تبديل تدفق التنفيذ عبر مختلف EVMs.
لتوضيح معنى هذه المفاهيم بشكل أفضل، يتم تفكيك وظيفة العقد في PREDA إلى خطوات متعددة مرتبة، حيث تعتمد كل خطوة على جزء واحد قابل للتوازن من الحالة دون تعارضات. يتم توجيه عملية النقل التي يبدؤها المستخدم إلى EVM يحتوي على حالات عنوان المستخدم بطريقة حاسمة، مثل استخدام طريقة تعيين عنوان المستخدم إلى EVM. خلال تنفيذ العملية، يمكن لتدفق التنفيذ الانتقال من EVM واحد إلى آخر يحتوي على حالات العقد المطلوبة عن طريق إصدار عملية إعادة توجيه. بهذه الطريقة، يحافظ PREDA على ثبات البيانات أثناء تحريك تدفق التنفيذ حول EVMs وفقًا للاعتمادات البيانات.
في كل EVM ، يتم ترتيب وتنفيذ المعاملات التي يبدأها المستخدم والمعاملات الباقية بشكل متتالٍ ، بينما تُنفذ المعاملات على EVM مختلفة بشكل متزامن لأنه لا توجد تبعيات بيانات بين EVMs. يتجنب هذا الآلية إعادة تنفيذ المتعلقة بالصراع في الأساليب المعتمدة على التوازي التفاؤلي وحاجة تحليل تبعية حالة التشغيل والتكلفة الإضافية للقفل / فتح العمليات في الأساليب المعتمدة على التوازي التشاؤمي. وبالتالي ، يوفر PREDA هندسة معمارية متوازية وغير مشتركة لأنظمة البلوكشين ، مختلفة عن الهندسة المتسلسلة والمشتركة في كل من Solidity و Move ، والتي قد تسبب تكلفة معالجة التحكم المتزامنة الكبيرة.
قمنا بتنفيذ نموذج البرمجة PREDA كلغة تشبه Algo، مشابهة لـ C/C++ و Javascript. يلي وظيفة نقل الرمز المبسطة في كل من Solidity ولغة PREDA.
يتضمن الكود Solidity في الشكل (أ) حالة العقد (الأرصدة) التي تمثل أرصدة العناوين ووظيفة النقل لنقل كمية محددة من الرموز من مرسل المعاملة (msg.sender) إلى المستلم (payee).
في تنفيذ PREDA الموضح في الشكل (ب)، الكلمة المفتاحية @addressيحدد نطاقات العقود البرمجية ، حيث يتم تقسيم حالات العقد التابعة لمتغير العقد (الرصيد) حسب العنوان ويتم تشتيتها وإدارتها بواسطة EVMs. يحدد الكلمة المفتاحية relay ريليه وظيفيًا غير متزامن.
هناك ثلاثة أجزاء في تنفيذ PREDA. في الجزء (1)، الكلمة الرئيسية @addressيحدد أرصدة المستخدمين، ويوفر وصفًا دقيقًا وقابلًا للفصل للحالة. المتغير المدى عنوان الرصيد لديه مثيل فريد لكل عنوان مستخدم. يتم الوصول إلى مثيلات عناوين المستخدم المختلفة وصيانتها بواسطة EVMs مختلفة غير متداخلة. تم تحديد وظيفة التحويل في نطاق العنوان نفسه في الجزء (2)، وتتم استدعاؤها عن طريق توفير عنوان المدفوع كنطاق هدف عند تهيئة عملية التحويل بواسطة المستخدم. في الجزء (3)، لمتابعة عملية الإيداع للمستفيد بعد سحب ناجح، يتم بدء إعادة التوجيه بعنوان المستفيد كنطاق هدف، وإضافة الأموال إلى رصيد المستفيد وتنفيذها بواسطة EVM يستضيف مثيل الرصيد لعنوان المستفيد.
تدفق التنفيذ لعملية نقل الرمز في PREDA
توضح الشكل أعلاه تدفق تنفيذ عملية تحويل الرمز في نظام PREDA EVM المتوازي. يبدأ بوب عملية تحويل لاستدعاء وظيفة النقل، التي سيتم توجيهها إلى EVM الذي يحتفظ برصيد بوب ويتم تنفيذ السحب هناك. بعد ذلك، يتم إصدار عملية توجيه وتوجيهها إلى EVM الذي يحتفظ برصيد أليس ويتم تنفيذ الوديعة. يحدث التوازي بطريقتين:
PREDA يمثل تقدمًا رئيسيًا في أداء تقنية البلوكشين و، الأهم من ذلك، قابلية التوسع. من خلال تنفيذ التجزئة الغير متزامنة، يتيح المعالجة الفعالة للمعاملات دون العوائق المتعلقة بنماذج التوزيع المتزامن التقليدية. يقوم هذا النهج بتجزئة المعاملات إلى مايكرو معاملات وفقًا لتبعيات البيانات، مما يسمح بحدوث تغييرات متزامنة في الحالة وتجنب تعارضات الكتابة تمامًا.
تتجاوز عمومية PREDA استخدامها لـ@addressتقسيم حالات العقد حسب العنوان. يسمح بأنواع التقسيم المخصصة باستخدام كلمات مفتاحية مثل@type، حيث يمكن أن يكون النوع أي نوع أولي في Solidity مثل @uint. بالإضافة إلى ذلك، يدعم PREDA حالات العقود غير المجزأة مع @global، مما يضمن أن كل وحدة تنفيذ ظاهرة تعاقدية (EVM) تحافظ على قيم متسقة لمثل هذه الحالات. يعزز هذا المرونة في تجزئة الحالة من قدرة النموذج على التكيف والفعالية عبر عقود ذكية متنوعة.
تُظهر تجاربنا أن PREDA تفوق بشكل كبير على أساليب التوازي الأخرى، محققة إنتاجية وقابلية توسع أعلى. ستنغمس مقالات فريق PREDA القادمة بشكل أعمق في النتائج التي حققناها، مقدمة مقارنات شاملة أكثر مع أنواع مختلفة من العقود الذكية وتحليلات عميقة لنموذج ولغة برمجة PREDA. ترقبوا هذه الاستكشافات المفصلة.