في المقالة السابقة، «هيكل مكونات Arbitrum الذي تم تفسيره من قبل السفير الفني السابق لـ Arbitrum (الجزء الأول)»، قدمنا أدوار المكونات الرئيسية في Arbitrum، بما في ذلك المنظم، والمدقق، وعقد البريد الوارد الخاص بالمسلسل، وكتلة التجميع، ودور براهين الاحتيال غير التفاعلية. في مقال اليوم، سنركز على شرح المكونات المتعلقة بتمرير الرسائل عبر السلاسل وإدخال معاملات مكافحة الرقابة في المكونات الأساسية لـ Arbitrum.
النص الرئيسي: ذكرنا في المقالات السابقة أن عقد Sequencer Inbox مصمم خصيصًا لتلقي دفعات بيانات المعاملات المنشورة من قبل المنظم على الطبقة الأولى. في الوقت نفسه، أشرنا إلى أن صندوق الوارد الخاص بـ Sequencer يشار إليه أيضًا باسم «الصندوق السريع»، وعلى النقيض من ذلك، هناك «الصندوق البطيء» أو البريد الوارد المتأخر (يشار إليه باسم البريد الوارد). أدناه، سنقدم تفسيرًا تفصيليًا للمكونات المتعلقة بتمرير الرسائل عبر السلاسل، بما في ذلك البريد الوارد المتأخر.
يمكن تقسيم المعاملات عبر السلاسل إلى معاملات من L1 إلى L2 (إيداع) ومعاملات من L2 إلى L1 (السحب). من المهم ملاحظة أن مصطلحي «الإيداع» و «السحب» هنا قد لا ينطويان بالضرورة على نقل الأصول عبر السلاسل؛ يمكن أن يشيرا إلى تمرير الرسالة دون نقل الأصول مباشرة. لذلك، تمثل هذه المصطلحات فقط اتجاهين للإجراءات المتعلقة بالسلاسل المتقاطعة.
بالمقارنة مع معاملات L2 الخالصة، تتضمن المعاملات عبر السلاسل تبادل المعلومات بين نظامين مختلفين، L1 و L2، مما يجعل العملية أكثر تعقيدًا.
بالإضافة إلى ذلك، عندما نتحدث عن الإجراءات عبر السلاسل، فإنها تشير عادةً إلى العبور بين شبكتين غير مرتبطتين تمامًا باستخدام جسر عبر السلاسل في نموذج موحد. يعتمد أمن مثل هذه العمليات عبر السلاسل على مشغل الجسر المتقاطع، ومن الناحية التاريخية، كانت حوادث السرقة متكررة في الجسور المتقاطعة القائمة على الشهود.
من ناحية أخرى، تختلف الإجراءات عبر السلاسل بين Rollup وشبكة ETH الرئيسية اختلافًا جوهريًا عن العمليات عبر السلاسل المذكورة أعلاه. هذا لأن حالة Layer2 يتم تحديدها من خلال البيانات المسجلة على Layer1. طالما أنك تستخدم جسر Rollup الرسمي عبر السلاسل، فهو آمن من الناحية الهيكلية في عملياته.
يسلط هذا الضوء على جوهر Rollup، والذي يظهر، من منظور المستخدم، كسلسلة مستقلة، ولكن في الواقع، فإن ما يسمى بـ «Layer2" هو مجرد نافذة عرض سريعة تفتحها Rollup للمستخدمين، ولا يزال هيكلها الحقيقي الشبيه بالسلسلة مسجلاً على Layer1. لذلك، يمكننا اعتبار L2 بمثابة نصف سلسلة أو «سلسلة تم إنشاؤها على Layer1".
يرجى ملاحظة أن المعاملات عبر السلاسل غير متزامنة وغير ذرية. على عكس المعاملات في سلسلة واحدة، لا يمكن إكمال المعاملة وتأكيد النتيجة بعد معاملة واحدة على سلسلة واحدة في المعاملات عبر السلاسل. ليس هناك أيضًا أي ضمان بحدوث شيء محدد على الجانب الآخر في وقت معين. لذلك، قد تفشل المعاملات عبر السلاسل بسبب بعض المشكلات البسيطة، ولكن مع استخدام التقنيات المناسبة، مثل التذاكر القابلة لإعادة المحاولة، لن تحدث مشكلات صعبة مثل تجميد الأموال.
التذاكر القابلة لإعادة المحاولة هي أدوات أساسية تستخدم في جسر Arbitrum الرسمي أثناء الإيداع، وتنطبق على كل من ودائع ETH و ERC20. تتكون دورة الحياة من ثلاث خطوات:
علاوة على ذلك، فيما يتعلق بعملية السحب على جسر Arbitrum الرسمي، على الرغم من وجود تشابه متماثل معين في العملية مقارنة بالإيداعات، لا يوجد مفهوم للتذاكر القابلة لإعادة المحاولة. يمكن فهم ذلك من منظور بروتوكول Rollup نفسه، ويمكن تسليط الضوء على بعض الاختلافات:
يعد التسلسل المتقاطع لأصول ERC-20 أمرًا معقدًا. يمكننا التفكير في العديد من الأسئلة:
لن نجيب على كل هذه الأسئلة لأنها معقدة للغاية بحيث لا يمكن الكشف عنها. تُستخدم هذه الأسئلة فقط لتوضيح مدى تعقيد سلسلة ERC20 المتقاطعة.
حاليًا، تستخدم العديد من حلول التحجيم حلول القائمة البيضاء والقائمة اليدوية لتجنب العديد من المشكلات المعقدة والشروط الحدودية.
يستخدم Arbitrum نظام البوابة لحل معظم المشاكل العالقة في سلسلة ERC20 المتقاطعة. يحتوي على الميزات التالية:
لنأخذ سلسلة WETH المتقاطعة البسيطة نسبيًا كمثال لتوضيح ضرورة تخصيص البوابة.
يُعد WETH مكافئًا لـ ERC20 لعملة ETH. باعتبارها العملة الرئيسية، لا يمكن لـ Ether تنفيذ وظائف معقدة في العديد من dApps، لذلك هناك حاجة إلى مكافئ ERC20. قم بتحويل بعض ETH إلى عقد WETH، وسيتم قفلها في العقد، وسيتم توليد نفس الكمية من WETH.
وبنفس الطريقة، يمكن أيضًا حرق WETH وسحب ETH. من الواضح أن نسبة تداول WETH و ETH المقفل هي دائمًا 1:1.
إذا قمنا الآن بنقل WETH مباشرة إلى L2، فسنجد بعض المشكلات الغريبة:
من الواضح أن هذا ينتهك مبادئ تصميم WETH. ومن ثم، عندما تكون WETH متقاطعة، سواء كانت إيداعًا أو سحبًا، يجب فكها إلى ETH أولاً، ثم عبورها إلى الجانب الآخر، ثم تغليفها في WETH. هذا هو دور بوابة WETH.
وينطبق الشيء نفسه على الرموز الأخرى ذات المنطق الأكثر تعقيدًا، والتي تتطلب بوابة أكثر تعقيدًا ومصممة بعناية للعمل بشكل صحيح في بيئة متعددة السلاسل. ترث بوابة Arbitrum المخصصة منطق الاتصال عبر السلاسل للبوابة العادية وتسمح للمطورين بتخصيص السلوك عبر السلاسل المرتبط بمنطق الرمز المميز، والذي يمكن أن يلبي معظم الاحتياجات.
النظير للبريد الوارد السريع، المعروف باسم Sequencer Inbox، هو البريد الوارد البطيء (المسمى بالكامل البريد الوارد المتأخر). لماذا نميز بين السريع والبطيء؟ هذا لأن البريد الوارد السريع مخصص لاستقبال مجموعات من معاملات L2 المنشورة من قبل المنظم، وأي معاملات لم تتم معالجتها مسبقًا بواسطة المنظم داخل شبكة L2 يجب ألا تظهر في عقد البريد الوارد السريع.
تتمثل الوظيفة الأولى للبريد الوارد البطيء في التعامل مع عملية الإيداع من L1 إلى L2. يبدأ المستخدمون عمليات الإيداع من خلال البريد الوارد البطيء، وبمجرد أن يلاحظ المنظم ذلك، ينعكس ذلك على L2. في النهاية، يتم تضمين سجل الإيداع هذا في تسلسل معاملات L2 بواسطة المنظم وإرساله إلى عقد البريد الوارد السريع (Sequencer Inbox).
في هذا السيناريو، من غير المناسب للمستخدمين إرسال معاملات الإيداع مباشرة إلى البريد الوارد السريع (Sequencer Inbox) لأن المعاملات المرسلة إلى البريد الوارد السريع قد تعطل ترتيب المعاملات العادي في Layer2، مما يؤثر على تشغيل جهاز التسلسل.
الوظيفة الثانية للبريد الوارد البطيء هي مقاومة الرقابة. يتم تجميع المعاملات التي يتم إرسالها مباشرة إلى عقد البريد الوارد البطيء بشكل عام في البريد الوارد السريع في غضون 10 دقائق بواسطة المنظم. ومع ذلك، إذا تجاهل منظم التسلسل طلبك بشكل ضار، فإن البريد الوارد البطيء يحتوي على ميزة التضمين القسري:
إذا تم إرسال المعاملة إلى صندوق الوارد المؤجل، وبعد 24 ساعة، ظلت غير مدمجة في تسلسل المعاملات بواسطة المُسلسِل، يمكن للمستخدمين تشغيل وظيفة تضمين القوة يدويًا على Layer1. يجبر هذا الإجراء المعاملات التي يتجاهلها المُسلسِل على تجميعها بالقوة في البريد الوارد السريع (Sequencer Inbox). بعد ذلك، سيتم اكتشافها بواسطة جميع عقد Arbitrum One وإدراجها بقوة في تسلسل معاملات Layer2.
لقد ذكرنا للتو أن البيانات الموجودة في البريد الوارد السريع تمثل كيان البيانات التاريخي لـ L2. لذلك، في حالات الرقابة الضارة، يسمح استخدام البريد الوارد البطيء بتضمين تعليمات المعاملات في نهاية المطاف في دفتر الأستاذ L2، والذي يغطي سيناريوهات مثل عمليات السحب القسري للهروب من Layer2.
من هذا المنطلق، يمكن ملاحظة أنه بالنسبة لأي اتجاه ومستوى من المعاملات، لا يمكن للمُسلسل في النهاية فرض رقابة دائمة عليك.
العديد من الوظائف الأساسية للبريد الوارد البطيء (البريد الوارد):
ومع ذلك، من المهم ملاحظة أن وظيفة تضمين القوة موجودة بالفعل في عقد البريد الوارد السريع. لسهولة الفهم، قمنا بشرح ذلك جنبًا إلى جنب مع البريد الوارد البطيء.
يرتبط Outbox فقط بعمليات السحب ويمكن فهمه كنظام تسجيل وإدارة لسلوكيات السحب:
أدناه سنأخذ ETH كمثال لشرح عملية الإيداع والسحب بشكل كامل. الفرق الوحيد بين ERC20 و ETH هو أن الأول يستخدم Gateway. لن نوضحها بالتفصيل.
يستدعي المستخدم وظيفة DepositETH () الخاصة بالمربع البطيء.
ستستمر هذه الوظيفة في استدعاء 'bridge.enqueueDelayedMessage () '، سجل الرسالة في عقد الجسر، وأرسل ETH إلى عقد الجسر. يتم الاحتفاظ بجميع أموال إيداع ETH في العقد المرحلي، وهو ما يعادل عنوان الإيداع.
يراقب جهاز التسلسل رسائل الإيداع في المربع البطيء ويعكس عملية الإيداع في قاعدة بيانات L2. يمكن للمستخدمين رؤية الأصول التي قاموا بإيداعها على شبكة L2.
يقوم المنظم بتضمين سجل الإيداع في دفعة المعاملة وإرساله إلى عقد الصندوق السريع على L1.
يستدعي المستخدم وظيفة withDraweth () لعقد ArbSys على L2، ويتم حرق الرقم المقابل من ET على L2.
يرسل المنظم طلب السحب إلى المربع السريع.
تقوم عقدة Validator بإنشاء مجموعة Rollup Block جديدة استنادًا إلى تسلسل المعاملات في المربع السريع، والذي سيحتوي على معاملات السحب المذكورة أعلاه.
بعد مرور Rollup Block بفترة التحدي التي تم تأكيدها أيضًا، يمكن للمستخدم استدعاء وظيفة Outbox.execute Transaction () على L1 لإثبات أن المعلمات مقدمة في عقد ArbSys المذكور أعلاه.
بعد التأكد من صحة عقد Outbox، سيتم إلغاء قفل الكمية المقابلة من ETH في الجسر وإرسالها إلى المستخدم.
عند استخدام جسر Optiatism Rollup الرسمي لسحب النقود، ستكون هناك مشكلة في انتظار فترة التحدي. يمكننا استخدام جسر خاص متعدد السلاسل تابع لجهة خارجية لإزالة هذه المشكلة:
يتم استخدام وظيفة Force Inclusion () لمقاومة رقابة جهاز التسلسل. يمكن تنفيذ أي معاملة محلية من L2 ومعاملة L1 إلى L2 ومعاملة من L2 إلى L1 باستخدام هذه الوظيفة. تؤثر الرقابة الخبيثة على جهاز التسلسل بشكل خطير على تجربة المعاملة. في معظم الحالات، سنختار سحب الأموال وترك L2. لذلك، يستخدم ما يلي السحب القسري كمثال لتقديم استخدام ForceInclusion.
إذا نظرنا إلى الوراء في خطوات سحب ETH، فإن الخطوتين 1 و 2 فقط تتضمنان رقابة التسلسل، لذلك يجب تغيير هاتين الخطوتين فقط:
يمكن للمستخدمين النهائيين سحب الأموال في Outbox، وبقية الخطوات هي نفس عمليات السحب العادية.
بالإضافة إلى ذلك، هناك أيضًا دروس تفصيلية حول استخدام Arb SDK في دروس التحكيم لتوجيه المستخدمين حول كيفية إجراء معاملات L2 المحلية ومعاملات L2 إلى L1 من خلال وظيفة forceInclusion ().
في المقالة السابقة، «هيكل مكونات Arbitrum الذي تم تفسيره من قبل السفير الفني السابق لـ Arbitrum (الجزء الأول)»، قدمنا أدوار المكونات الرئيسية في Arbitrum، بما في ذلك المنظم، والمدقق، وعقد البريد الوارد الخاص بالمسلسل، وكتلة التجميع، ودور براهين الاحتيال غير التفاعلية. في مقال اليوم، سنركز على شرح المكونات المتعلقة بتمرير الرسائل عبر السلاسل وإدخال معاملات مكافحة الرقابة في المكونات الأساسية لـ Arbitrum.
النص الرئيسي: ذكرنا في المقالات السابقة أن عقد Sequencer Inbox مصمم خصيصًا لتلقي دفعات بيانات المعاملات المنشورة من قبل المنظم على الطبقة الأولى. في الوقت نفسه، أشرنا إلى أن صندوق الوارد الخاص بـ Sequencer يشار إليه أيضًا باسم «الصندوق السريع»، وعلى النقيض من ذلك، هناك «الصندوق البطيء» أو البريد الوارد المتأخر (يشار إليه باسم البريد الوارد). أدناه، سنقدم تفسيرًا تفصيليًا للمكونات المتعلقة بتمرير الرسائل عبر السلاسل، بما في ذلك البريد الوارد المتأخر.
يمكن تقسيم المعاملات عبر السلاسل إلى معاملات من L1 إلى L2 (إيداع) ومعاملات من L2 إلى L1 (السحب). من المهم ملاحظة أن مصطلحي «الإيداع» و «السحب» هنا قد لا ينطويان بالضرورة على نقل الأصول عبر السلاسل؛ يمكن أن يشيرا إلى تمرير الرسالة دون نقل الأصول مباشرة. لذلك، تمثل هذه المصطلحات فقط اتجاهين للإجراءات المتعلقة بالسلاسل المتقاطعة.
بالمقارنة مع معاملات L2 الخالصة، تتضمن المعاملات عبر السلاسل تبادل المعلومات بين نظامين مختلفين، L1 و L2، مما يجعل العملية أكثر تعقيدًا.
بالإضافة إلى ذلك، عندما نتحدث عن الإجراءات عبر السلاسل، فإنها تشير عادةً إلى العبور بين شبكتين غير مرتبطتين تمامًا باستخدام جسر عبر السلاسل في نموذج موحد. يعتمد أمن مثل هذه العمليات عبر السلاسل على مشغل الجسر المتقاطع، ومن الناحية التاريخية، كانت حوادث السرقة متكررة في الجسور المتقاطعة القائمة على الشهود.
من ناحية أخرى، تختلف الإجراءات عبر السلاسل بين Rollup وشبكة ETH الرئيسية اختلافًا جوهريًا عن العمليات عبر السلاسل المذكورة أعلاه. هذا لأن حالة Layer2 يتم تحديدها من خلال البيانات المسجلة على Layer1. طالما أنك تستخدم جسر Rollup الرسمي عبر السلاسل، فهو آمن من الناحية الهيكلية في عملياته.
يسلط هذا الضوء على جوهر Rollup، والذي يظهر، من منظور المستخدم، كسلسلة مستقلة، ولكن في الواقع، فإن ما يسمى بـ «Layer2" هو مجرد نافذة عرض سريعة تفتحها Rollup للمستخدمين، ولا يزال هيكلها الحقيقي الشبيه بالسلسلة مسجلاً على Layer1. لذلك، يمكننا اعتبار L2 بمثابة نصف سلسلة أو «سلسلة تم إنشاؤها على Layer1".
يرجى ملاحظة أن المعاملات عبر السلاسل غير متزامنة وغير ذرية. على عكس المعاملات في سلسلة واحدة، لا يمكن إكمال المعاملة وتأكيد النتيجة بعد معاملة واحدة على سلسلة واحدة في المعاملات عبر السلاسل. ليس هناك أيضًا أي ضمان بحدوث شيء محدد على الجانب الآخر في وقت معين. لذلك، قد تفشل المعاملات عبر السلاسل بسبب بعض المشكلات البسيطة، ولكن مع استخدام التقنيات المناسبة، مثل التذاكر القابلة لإعادة المحاولة، لن تحدث مشكلات صعبة مثل تجميد الأموال.
التذاكر القابلة لإعادة المحاولة هي أدوات أساسية تستخدم في جسر Arbitrum الرسمي أثناء الإيداع، وتنطبق على كل من ودائع ETH و ERC20. تتكون دورة الحياة من ثلاث خطوات:
علاوة على ذلك، فيما يتعلق بعملية السحب على جسر Arbitrum الرسمي، على الرغم من وجود تشابه متماثل معين في العملية مقارنة بالإيداعات، لا يوجد مفهوم للتذاكر القابلة لإعادة المحاولة. يمكن فهم ذلك من منظور بروتوكول Rollup نفسه، ويمكن تسليط الضوء على بعض الاختلافات:
يعد التسلسل المتقاطع لأصول ERC-20 أمرًا معقدًا. يمكننا التفكير في العديد من الأسئلة:
لن نجيب على كل هذه الأسئلة لأنها معقدة للغاية بحيث لا يمكن الكشف عنها. تُستخدم هذه الأسئلة فقط لتوضيح مدى تعقيد سلسلة ERC20 المتقاطعة.
حاليًا، تستخدم العديد من حلول التحجيم حلول القائمة البيضاء والقائمة اليدوية لتجنب العديد من المشكلات المعقدة والشروط الحدودية.
يستخدم Arbitrum نظام البوابة لحل معظم المشاكل العالقة في سلسلة ERC20 المتقاطعة. يحتوي على الميزات التالية:
لنأخذ سلسلة WETH المتقاطعة البسيطة نسبيًا كمثال لتوضيح ضرورة تخصيص البوابة.
يُعد WETH مكافئًا لـ ERC20 لعملة ETH. باعتبارها العملة الرئيسية، لا يمكن لـ Ether تنفيذ وظائف معقدة في العديد من dApps، لذلك هناك حاجة إلى مكافئ ERC20. قم بتحويل بعض ETH إلى عقد WETH، وسيتم قفلها في العقد، وسيتم توليد نفس الكمية من WETH.
وبنفس الطريقة، يمكن أيضًا حرق WETH وسحب ETH. من الواضح أن نسبة تداول WETH و ETH المقفل هي دائمًا 1:1.
إذا قمنا الآن بنقل WETH مباشرة إلى L2، فسنجد بعض المشكلات الغريبة:
من الواضح أن هذا ينتهك مبادئ تصميم WETH. ومن ثم، عندما تكون WETH متقاطعة، سواء كانت إيداعًا أو سحبًا، يجب فكها إلى ETH أولاً، ثم عبورها إلى الجانب الآخر، ثم تغليفها في WETH. هذا هو دور بوابة WETH.
وينطبق الشيء نفسه على الرموز الأخرى ذات المنطق الأكثر تعقيدًا، والتي تتطلب بوابة أكثر تعقيدًا ومصممة بعناية للعمل بشكل صحيح في بيئة متعددة السلاسل. ترث بوابة Arbitrum المخصصة منطق الاتصال عبر السلاسل للبوابة العادية وتسمح للمطورين بتخصيص السلوك عبر السلاسل المرتبط بمنطق الرمز المميز، والذي يمكن أن يلبي معظم الاحتياجات.
النظير للبريد الوارد السريع، المعروف باسم Sequencer Inbox، هو البريد الوارد البطيء (المسمى بالكامل البريد الوارد المتأخر). لماذا نميز بين السريع والبطيء؟ هذا لأن البريد الوارد السريع مخصص لاستقبال مجموعات من معاملات L2 المنشورة من قبل المنظم، وأي معاملات لم تتم معالجتها مسبقًا بواسطة المنظم داخل شبكة L2 يجب ألا تظهر في عقد البريد الوارد السريع.
تتمثل الوظيفة الأولى للبريد الوارد البطيء في التعامل مع عملية الإيداع من L1 إلى L2. يبدأ المستخدمون عمليات الإيداع من خلال البريد الوارد البطيء، وبمجرد أن يلاحظ المنظم ذلك، ينعكس ذلك على L2. في النهاية، يتم تضمين سجل الإيداع هذا في تسلسل معاملات L2 بواسطة المنظم وإرساله إلى عقد البريد الوارد السريع (Sequencer Inbox).
في هذا السيناريو، من غير المناسب للمستخدمين إرسال معاملات الإيداع مباشرة إلى البريد الوارد السريع (Sequencer Inbox) لأن المعاملات المرسلة إلى البريد الوارد السريع قد تعطل ترتيب المعاملات العادي في Layer2، مما يؤثر على تشغيل جهاز التسلسل.
الوظيفة الثانية للبريد الوارد البطيء هي مقاومة الرقابة. يتم تجميع المعاملات التي يتم إرسالها مباشرة إلى عقد البريد الوارد البطيء بشكل عام في البريد الوارد السريع في غضون 10 دقائق بواسطة المنظم. ومع ذلك، إذا تجاهل منظم التسلسل طلبك بشكل ضار، فإن البريد الوارد البطيء يحتوي على ميزة التضمين القسري:
إذا تم إرسال المعاملة إلى صندوق الوارد المؤجل، وبعد 24 ساعة، ظلت غير مدمجة في تسلسل المعاملات بواسطة المُسلسِل، يمكن للمستخدمين تشغيل وظيفة تضمين القوة يدويًا على Layer1. يجبر هذا الإجراء المعاملات التي يتجاهلها المُسلسِل على تجميعها بالقوة في البريد الوارد السريع (Sequencer Inbox). بعد ذلك، سيتم اكتشافها بواسطة جميع عقد Arbitrum One وإدراجها بقوة في تسلسل معاملات Layer2.
لقد ذكرنا للتو أن البيانات الموجودة في البريد الوارد السريع تمثل كيان البيانات التاريخي لـ L2. لذلك، في حالات الرقابة الضارة، يسمح استخدام البريد الوارد البطيء بتضمين تعليمات المعاملات في نهاية المطاف في دفتر الأستاذ L2، والذي يغطي سيناريوهات مثل عمليات السحب القسري للهروب من Layer2.
من هذا المنطلق، يمكن ملاحظة أنه بالنسبة لأي اتجاه ومستوى من المعاملات، لا يمكن للمُسلسل في النهاية فرض رقابة دائمة عليك.
العديد من الوظائف الأساسية للبريد الوارد البطيء (البريد الوارد):
ومع ذلك، من المهم ملاحظة أن وظيفة تضمين القوة موجودة بالفعل في عقد البريد الوارد السريع. لسهولة الفهم، قمنا بشرح ذلك جنبًا إلى جنب مع البريد الوارد البطيء.
يرتبط Outbox فقط بعمليات السحب ويمكن فهمه كنظام تسجيل وإدارة لسلوكيات السحب:
أدناه سنأخذ ETH كمثال لشرح عملية الإيداع والسحب بشكل كامل. الفرق الوحيد بين ERC20 و ETH هو أن الأول يستخدم Gateway. لن نوضحها بالتفصيل.
يستدعي المستخدم وظيفة DepositETH () الخاصة بالمربع البطيء.
ستستمر هذه الوظيفة في استدعاء 'bridge.enqueueDelayedMessage () '، سجل الرسالة في عقد الجسر، وأرسل ETH إلى عقد الجسر. يتم الاحتفاظ بجميع أموال إيداع ETH في العقد المرحلي، وهو ما يعادل عنوان الإيداع.
يراقب جهاز التسلسل رسائل الإيداع في المربع البطيء ويعكس عملية الإيداع في قاعدة بيانات L2. يمكن للمستخدمين رؤية الأصول التي قاموا بإيداعها على شبكة L2.
يقوم المنظم بتضمين سجل الإيداع في دفعة المعاملة وإرساله إلى عقد الصندوق السريع على L1.
يستدعي المستخدم وظيفة withDraweth () لعقد ArbSys على L2، ويتم حرق الرقم المقابل من ET على L2.
يرسل المنظم طلب السحب إلى المربع السريع.
تقوم عقدة Validator بإنشاء مجموعة Rollup Block جديدة استنادًا إلى تسلسل المعاملات في المربع السريع، والذي سيحتوي على معاملات السحب المذكورة أعلاه.
بعد مرور Rollup Block بفترة التحدي التي تم تأكيدها أيضًا، يمكن للمستخدم استدعاء وظيفة Outbox.execute Transaction () على L1 لإثبات أن المعلمات مقدمة في عقد ArbSys المذكور أعلاه.
بعد التأكد من صحة عقد Outbox، سيتم إلغاء قفل الكمية المقابلة من ETH في الجسر وإرسالها إلى المستخدم.
عند استخدام جسر Optiatism Rollup الرسمي لسحب النقود، ستكون هناك مشكلة في انتظار فترة التحدي. يمكننا استخدام جسر خاص متعدد السلاسل تابع لجهة خارجية لإزالة هذه المشكلة:
يتم استخدام وظيفة Force Inclusion () لمقاومة رقابة جهاز التسلسل. يمكن تنفيذ أي معاملة محلية من L2 ومعاملة L1 إلى L2 ومعاملة من L2 إلى L1 باستخدام هذه الوظيفة. تؤثر الرقابة الخبيثة على جهاز التسلسل بشكل خطير على تجربة المعاملة. في معظم الحالات، سنختار سحب الأموال وترك L2. لذلك، يستخدم ما يلي السحب القسري كمثال لتقديم استخدام ForceInclusion.
إذا نظرنا إلى الوراء في خطوات سحب ETH، فإن الخطوتين 1 و 2 فقط تتضمنان رقابة التسلسل، لذلك يجب تغيير هاتين الخطوتين فقط:
يمكن للمستخدمين النهائيين سحب الأموال في Outbox، وبقية الخطوات هي نفس عمليات السحب العادية.
بالإضافة إلى ذلك، هناك أيضًا دروس تفصيلية حول استخدام Arb SDK في دروس التحكيم لتوجيه المستخدمين حول كيفية إجراء معاملات L2 المحلية ومعاملات L2 إلى L1 من خلال وظيفة forceInclusion ().