تحليل تجريد الحساب متعدد السلاسل: استكشاف مستقبل البنية التحتية للتشفير
من 8 إلى 11 يوليو 2024، ستعقد مؤتمر مجتمع الإيثيريوم (EthCC) في بروكسل، بلجيكا، وهو أكبر حدث سنوي للإيثيريوم في أوروبا، مع التركيز على التقنية والمجتمع.
في مؤتمر مجتمع الإيثيريوم لهذا العام (EthCC 7)، ألقى أكثر من 350 من قادة الرأي النشطين في صناعة blockchain خطابات، وقد تمت دعوة أحد مطوري blockchain للمشاركة، وألقى خطابًا بعنوان "كشف المستقبل: تحليل تجريد الحساب متعدد السلاسل".
نظرة سريعة على ملخص الخطاب:
تجريد الحساب(AA) يشمل نقطتين رئيسيتين: تجريد التوقيع وتجريد الدفع. يتيح تجريد التوقيع للمستخدمين اختيار أي آلية تحقق يفضلونها، بينما يسمح تجريد الدفع باستخدام خيارات دفع متعددة. توفر هذه المرونة تجربة مستخدم أكثر أمانًا وكفاءة.
في ERC-4337 و AA الأصلية، فإن دالة نقطة الدخول في مرحلة "التحقق" ثابتة، بينما في مرحلة "التنفيذ"، فإن نقطة الدخول ثابتة فقط في AA الأصلية. توجد قيود في التحقق من المعاملات وخطوات تنفيذ المعاملات تتميز كل منها بخصائص وقيود خاصة بها في التنفيذات المختلفة.
تنفيذ ERC-4337 على سلاسل متوافقة مع EVM، هناك اختلافان رئيسيان: الاختلافات في البروتوكول في تصميم Rollup واختلاف طرق حساب العناوين، مما يؤدي إلى ظهور تفاصيل تطوير يصعب ملاحظتها عند تنفيذ ERC-4337 بين L1 و L2.
فيما يلي النص الكامل للخطاب:
مرحبًا بالجميع، اليوم سأقدم لكم مفهوم ERC-4337 و Native AA، وسأناقش الفروق بينها، وسأحلل بشكل رئيسي الفروق الرئيسية بين معيار 4337 على L1 و L2.
تجريد التوقيع: يمكن للمستخدمين اختيار أي آلية تحقق يفضلونها، وليس فقط بعض خوارزميات التوقيع الرقمي مثل ECDSA(.
تجريد الدفع: يمكن للمستخدمين استخدام خيارات دفع متعددة، مثل استخدام أصول ERC-20 بدلاً من الأصول الأصلية للدفع، أو السماح لطرف ثالث برعاية المعاملات.
تقدم هذه المرونة تجربة مستخدم أكثر أمانًا وأفضل. الهدف من تجريد الحساب هو تحقيق هذين النقطتين الرئيسيتين بطرق متعددة.
2. ما هو ERC-4337
حالياً، توجد بعض القيود على الحسابات المملوكة خارجياً في بروتوكول الإيثيريوم )EOA(، مثل طريقة التوقيع الثابتة وتصميم الدفع. يقوم ERC-4337 بحل هذه المشكلات من خلال تقديم إدارة حسابات ومعالجة معاملات أكثر مرونة.
هيكل userOp: في ERC-4337، يقوم المستخدم بإرسال هيكل userOp إلى Bundler. يقوم Bundler بجمع عدة userOp، ثم يرسلها إلى عقد EntryPoint من خلال استدعاء دالة handleOps.
عقد EntryPoint: هذا العقد يعالج المعاملات مثل نظام التشغيل، وتشمل الوظائف الرئيسية ما يلي:
استدعاء دالة validate في عقد الحساب، لضمان حصول userOp على تفويض من مالك الحساب.
تحصيل الرسوم.
استدعاء دالة execute في عقد الحساب، لتنفيذ العملية المستهدفة userOp.
3. ما هو AA الأصلي
في الإيثريوم، يتم تقسيم الحسابات إلى EOA وحسابات العقود. ومع ذلك، في AA الأصلية، كل حساب هو عقد، وآلية معالجة المعاملات مدمجة مباشرة في بروتوكول blockchain.
تصميم AA في شبكات البلوكشين المختلفة:
تجريد حساب ERC-4337: Ethereum ، Arbitrum ، التفاؤل ، القاعدة ، Linea ، التمرير ، Polygon PoS
تجريد الحساب الأصلي يتبع ERC-4337: عصر StarkNet و zkSync
تجريد الحساب الأصلي المصمم بخصوصية: Aztec
إذا كنت مهتمًا بـ Aztec Native AA أو EIP-3074 و EIP-7702، فسوف نركز اليوم على AA الأصلية بعد ERC-4337.
![التشفير البنية التحتية للمستقبل؟ تجريد الحسابات متعددة السلاسل])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) الفرق بين ERC-4337 و تجريد الحساب الأصلي
1. دور نظام التشغيل
AA OS يحتاج إلى الإجابة على الأسئلة التالية:
من يقرر سعر الغاز؟
من يقرر ترتيب المعاملات؟ أين توجد ذاكرة الوصول العشوائي؟
من الذي قام بتفعيل دالة نقطة الدخول؟
ما الذي يحدد عملية معالجة المعاملات؟
في ERC-4337، تُكمل هذه الأدوار من خلال Bundler و EntryPoint Contract بالتعاون.
في AA الأصلي، يرسل المستخدمون userOps الخاصة بهم إلى مشغل/مرتب الخادم الرسمي بدلاً من Bundler و EntryPoint Contract.
في StarkNet، يتولى Sequencer مسؤولية معالجة جميع هذه المهام.
في zkSync، يكمن الاختلاف الرئيسي بين Era وغيرها من تطبيقات AA في أن المشغل يحتاج إلى العمل بالتعاون مع عقد النظام bootloader###. يفتح Bootloader كتلة جديدة، ويحدد معاييرها( بما في ذلك معايير الكتلة ومعايير الغاز الأخرى)، ويتلقى المعاملات من المشغل للتحقق منها.
2. واجهة العقد
نظرًا لوجود ثلاث خطوات، فإن واجهة عقد الحساب متشابهة في تنفيذاتها المختلفة، ولا يمكن استدعاء هذه الدوال المدخلة إلا من قبل AA OS:
ERC-4337: التحقق من عمليات المستخدم
zkSync: التحقق من المعاملات، دفع المعاملات، تنفيذ المعاملات
StarkNet: تنفيذ، تحقق، تحقق_إعلان، تحقق_نشر
في ERC-4337 و AA الأصلية، فإن دالة نقطة الدخول في مرحلة "التحقق" ثابتة، بينما في مرحلة "التنفيذ"، فإن نقطة الدخول ثابتة فقط في AA الأصلية.
3. قيود خطوات التحقق
نظرًا لعدم وجود قيود تكلفة للتحقق من المعاملات(، فإن التحقق من المعاملات هو في الأساس استدعاء دالة العرض)، يمكن للمهاجمين تنفيذ هجوم DoS على تجمع الذاكرة، مما يؤدي إلى تدمير المجمع(EIP-4337) أو المشغل/الفرز(AA الأصلية).
تعريف EIP-4337 العمليات المحظورة وكيفية تقييد الوصول إلى التخزين. خففت zkSync Era من استخدام بعض أكواد العمليات:
منطق العقد يمكنه فقط الوصول إلى槽 التخزين الخاصة به. إذا كان عنوان عقد الحساب هو العنوان A، يمكنه الوصول إلى:
فتحة التخزين التابعة للعنوان A
فتحة التخزين الخاصة بعنوان A الآخر
تخزين أي عنوان آخر keccak256(A || X): هذا يعني استخدام العنوان مباشرة كمفتاح في الخريطة ( على سبيل المثال، الخريطة )address => value((، يعادل الوصول إلى الخزانة keccak256)A || X). على سبيل المثال، رصيد الأصول في عقد ERC-20.
منطق العقد الذكي لا يمكنه الوصول إلى المتغيرات العالمية، مثل رقم الكتلة. كما أن StarkNet لا يسمح باستدعاء العقود الخارجية.
4. قيود خطوات التنفيذ
في zkSync، يتطلب تنفيذ استدعاءات النظام تأكيد وجود علامات النظام. على سبيل المثال، فإن الطريقة الوحيدة لزيادة nonce هي التفاعل مع NonceHolder، بينما يتطلب نشر العقد التفاعل مع ContractDeployer. تضمن علامات النظام أن مطوري الحسابات يتفاعلون بوعي مع العقود النظامية.
في ERC-4337 و StarkNet، لا توجد قيود خاصة في مرحلة التنفيذ.
5. الرقم العشوائي
في ERC-4337، يميز تصميم رقم العشوائية لنقطة الدخول بين قيمة مفتاح بطول 192 بت وقيمة عشوائية بطول 64 بت.
في zkSync، تدير عقدة نظام NonceHolder قيمة nonce، مما يضمن زيادة صارمة، أي زيادة الرقم العشوائي بمقدار 1.
في StarkNet، يكون nonce أيضًا في تزايد صارم، ولكن لا يوجد nonce مجرد يتم إدارته بواسطة عقد محدد.
6. استخدام المعاملة الأولى للنشر
يحتوي ERC-4337 على حقل initcode في هيكل userOp، لنشر عقد حساب المرسل ( في أول userOp له ).
في StarkNet و zkSync، يجب على المستخدمين إرسال المعاملة الأولى إلى المشغل/المرتب لنشر عقد الحساب.
7. التصميم الخاص في zkSync
إذا قمت بنقل ETH مباشرة من EOA الإيثيريوم إلى zkSync، دون الحاجة إلى نشر عقد حساب مخصص، ستتلقى حسابًا افتراضيًا بنفس العنوان. يمكن أن يعمل هذا الحساب مثل EOA الإيثيريوم، ويتم التحكم فيه أيضًا بواسطة المفتاح الخاص المقابل لـ EOA الإيثيريوم.
هذا النوع من الحسابات هو الإصدار None وليس الإصدار version1. لا يمكنك استدعاء دالة DefaultAccount لأنه لم يتم نشر أي كود في مساحة النواة.
( الفرق بين 4337 في L1 و 4337 في L2
هناك اختلافان رئيسيان في تنفيذ ERC-4337 على سلاسل متوافقة مع EVM: اختلافات البروتوكول واختلافات العنوان.
1. اختلافات البروتوكول
في تصميم Rollup، يحتاج L2 إلى رفع البيانات إلى L1 من أجل الأمان والتسوية. في سياق ERC-4337، يجب أن تشمل الرسوم المتعلقة بهذه العملية، مثل رسوم الأمان L1 ورسوم blob، في غاز التحقق المسبق. يعد تحديد رسوم الرفع المناسبة في غاز التحقق المسبق تحديًا كبيرًا.
2. اختلاف العناوين
تختلف طريقة ترميز العنوان في دالة create الخاصة بـ zkSync ERA عن تلك المستخدمة في Ethereum و OP. بالإضافة إلى ذلك، تستخدم StarkNet دالة تجزئة فريدة لحساب العناوين. في سياق ERC-4337 على سلاسل متوافقة مع EVM، نفترض عادةً أن حساب العناوين يكون متسقًا عبر جميع السلاسل. ومع ذلك، هناك تفاصيل يصعب ملاحظتها قد تؤدي إلى اختلاف في عنوان عقد الحساب بين تنفيذ ERC-4337 في Ethereum و L2.
المسألة الرئيسية هي إضافة تعليمات جديدة في الانقسام الصلب. على سبيل المثال، إذا كانت سلسلة L2 لا تدعم الانقسام الصلب لشنتشن، ولم يتم تحديد إصدار EVM أثناء الترجمة، فإن إدخال push0 سيؤدي إلى تغيير في الشيفرة البايتية، حتى لو كانت شيفرة Solidity هي نفسها.
) خاتمة
هذه بعض المعلومات حول تجريد الحساب. إذا كان لديك أي استفسارات، يمكنك العثور عليّ على تويتر.
![مستقبل البنية التحتية للتشفير؟ تحليل تجريد الحسابات المتعددة]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp###
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
مقارنة تجريد الحساب متعدد السلاسل: الفرق بين ERC-4337 و AA الأصلي والفروق في تنفيذ L1/L2
تحليل تجريد الحساب متعدد السلاسل: استكشاف مستقبل البنية التحتية للتشفير
من 8 إلى 11 يوليو 2024، ستعقد مؤتمر مجتمع الإيثيريوم (EthCC) في بروكسل، بلجيكا، وهو أكبر حدث سنوي للإيثيريوم في أوروبا، مع التركيز على التقنية والمجتمع.
في مؤتمر مجتمع الإيثيريوم لهذا العام (EthCC 7)، ألقى أكثر من 350 من قادة الرأي النشطين في صناعة blockchain خطابات، وقد تمت دعوة أحد مطوري blockchain للمشاركة، وألقى خطابًا بعنوان "كشف المستقبل: تحليل تجريد الحساب متعدد السلاسل".
نظرة سريعة على ملخص الخطاب:
فيما يلي النص الكامل للخطاب:
مرحبًا بالجميع، اليوم سأقدم لكم مفهوم ERC-4337 و Native AA، وسأناقش الفروق بينها، وسأحلل بشكل رئيسي الفروق الرئيسية بين معيار 4337 على L1 و L2.
تجريد الحساب
1. ما هو تجريد الحساب
تجريد الحساب(AA) يتضمن نقطتين رئيسيتين: تجريد التوقيع وتجريد الدفع.
تقدم هذه المرونة تجربة مستخدم أكثر أمانًا وأفضل. الهدف من تجريد الحساب هو تحقيق هذين النقطتين الرئيسيتين بطرق متعددة.
2. ما هو ERC-4337
حالياً، توجد بعض القيود على الحسابات المملوكة خارجياً في بروتوكول الإيثيريوم )EOA(، مثل طريقة التوقيع الثابتة وتصميم الدفع. يقوم ERC-4337 بحل هذه المشكلات من خلال تقديم إدارة حسابات ومعالجة معاملات أكثر مرونة.
3. ما هو AA الأصلي
في الإيثريوم، يتم تقسيم الحسابات إلى EOA وحسابات العقود. ومع ذلك، في AA الأصلية، كل حساب هو عقد، وآلية معالجة المعاملات مدمجة مباشرة في بروتوكول blockchain.
تصميم AA في شبكات البلوكشين المختلفة:
إذا كنت مهتمًا بـ Aztec Native AA أو EIP-3074 و EIP-7702، فسوف نركز اليوم على AA الأصلية بعد ERC-4337.
![التشفير البنية التحتية للمستقبل؟ تجريد الحسابات متعددة السلاسل])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) الفرق بين ERC-4337 و تجريد الحساب الأصلي
1. دور نظام التشغيل
AA OS يحتاج إلى الإجابة على الأسئلة التالية:
في ERC-4337، تُكمل هذه الأدوار من خلال Bundler و EntryPoint Contract بالتعاون.
في AA الأصلي، يرسل المستخدمون userOps الخاصة بهم إلى مشغل/مرتب الخادم الرسمي بدلاً من Bundler و EntryPoint Contract.
في StarkNet، يتولى Sequencer مسؤولية معالجة جميع هذه المهام.
في zkSync، يكمن الاختلاف الرئيسي بين Era وغيرها من تطبيقات AA في أن المشغل يحتاج إلى العمل بالتعاون مع عقد النظام bootloader###. يفتح Bootloader كتلة جديدة، ويحدد معاييرها( بما في ذلك معايير الكتلة ومعايير الغاز الأخرى)، ويتلقى المعاملات من المشغل للتحقق منها.
2. واجهة العقد
نظرًا لوجود ثلاث خطوات، فإن واجهة عقد الحساب متشابهة في تنفيذاتها المختلفة، ولا يمكن استدعاء هذه الدوال المدخلة إلا من قبل AA OS:
في ERC-4337 و AA الأصلية، فإن دالة نقطة الدخول في مرحلة "التحقق" ثابتة، بينما في مرحلة "التنفيذ"، فإن نقطة الدخول ثابتة فقط في AA الأصلية.
3. قيود خطوات التحقق
نظرًا لعدم وجود قيود تكلفة للتحقق من المعاملات(، فإن التحقق من المعاملات هو في الأساس استدعاء دالة العرض)، يمكن للمهاجمين تنفيذ هجوم DoS على تجمع الذاكرة، مما يؤدي إلى تدمير المجمع(EIP-4337) أو المشغل/الفرز(AA الأصلية).
تعريف EIP-4337 العمليات المحظورة وكيفية تقييد الوصول إلى التخزين. خففت zkSync Era من استخدام بعض أكواد العمليات:
4. قيود خطوات التنفيذ
في zkSync، يتطلب تنفيذ استدعاءات النظام تأكيد وجود علامات النظام. على سبيل المثال، فإن الطريقة الوحيدة لزيادة nonce هي التفاعل مع NonceHolder، بينما يتطلب نشر العقد التفاعل مع ContractDeployer. تضمن علامات النظام أن مطوري الحسابات يتفاعلون بوعي مع العقود النظامية.
في ERC-4337 و StarkNet، لا توجد قيود خاصة في مرحلة التنفيذ.
5. الرقم العشوائي
6. استخدام المعاملة الأولى للنشر
7. التصميم الخاص في zkSync
إذا قمت بنقل ETH مباشرة من EOA الإيثيريوم إلى zkSync، دون الحاجة إلى نشر عقد حساب مخصص، ستتلقى حسابًا افتراضيًا بنفس العنوان. يمكن أن يعمل هذا الحساب مثل EOA الإيثيريوم، ويتم التحكم فيه أيضًا بواسطة المفتاح الخاص المقابل لـ EOA الإيثيريوم.
هذا النوع من الحسابات هو الإصدار None وليس الإصدار version1. لا يمكنك استدعاء دالة DefaultAccount لأنه لم يتم نشر أي كود في مساحة النواة.
( الفرق بين 4337 في L1 و 4337 في L2
هناك اختلافان رئيسيان في تنفيذ ERC-4337 على سلاسل متوافقة مع EVM: اختلافات البروتوكول واختلافات العنوان.
1. اختلافات البروتوكول
في تصميم Rollup، يحتاج L2 إلى رفع البيانات إلى L1 من أجل الأمان والتسوية. في سياق ERC-4337، يجب أن تشمل الرسوم المتعلقة بهذه العملية، مثل رسوم الأمان L1 ورسوم blob، في غاز التحقق المسبق. يعد تحديد رسوم الرفع المناسبة في غاز التحقق المسبق تحديًا كبيرًا.
2. اختلاف العناوين
تختلف طريقة ترميز العنوان في دالة create الخاصة بـ zkSync ERA عن تلك المستخدمة في Ethereum و OP. بالإضافة إلى ذلك، تستخدم StarkNet دالة تجزئة فريدة لحساب العناوين. في سياق ERC-4337 على سلاسل متوافقة مع EVM، نفترض عادةً أن حساب العناوين يكون متسقًا عبر جميع السلاسل. ومع ذلك، هناك تفاصيل يصعب ملاحظتها قد تؤدي إلى اختلاف في عنوان عقد الحساب بين تنفيذ ERC-4337 في Ethereum و L2.
المسألة الرئيسية هي إضافة تعليمات جديدة في الانقسام الصلب. على سبيل المثال، إذا كانت سلسلة L2 لا تدعم الانقسام الصلب لشنتشن، ولم يتم تحديد إصدار EVM أثناء الترجمة، فإن إدخال push0 سيؤدي إلى تغيير في الشيفرة البايتية، حتى لو كانت شيفرة Solidity هي نفسها.
) خاتمة
هذه بعض المعلومات حول تجريد الحساب. إذا كان لديك أي استفسارات، يمكنك العثور عليّ على تويتر.
![مستقبل البنية التحتية للتشفير؟ تحليل تجريد الحسابات المتعددة]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp###