المؤلف: Three Sigma، شركة تدقيق blockchain المصدر: X، @threesigmaxyz الترجمة: Shan Ouba، Golden Finance
يوفر دمج ZK Rollup وتجريد الحساب بُعدًا جديدًا من قابلية التوسع والمرونة لحلول الطبقة الثانية. اليوم سنتعمق في zkSync وكيفية تنفيذ تجريد الحساب ضمن البروتوكول.
ما هو zkSync
تم تطوير @zkSync بواسطة @the_matter_labs لـ Ethereum وهو قابل للتطوير وغير موثوق به بروتوكول للمعاملات منخفضة التكلفة يستفيد من تقنية zk-rollup لتخفيف الازدحام عن طريق تجميع المعاملات المنفذة خارج السلسلة.
تدمج بنية zkSync بين zk-rollup وValidium، اللذين تم تعريفهما على التوالي باسم zkEVM للعقود الذكية وzkPorter لتوفير البيانات خارج السلسلة.
تعرف على المزيد حول بنية البروتوكول هنا:
ما هو تجريد الحساب
تجريد الحساب هو تقنية تلغي الحاجة إلى EOA (الحسابات المملوكة خارجيًا) من خلال استخدام العقود الذكية كمحافظ، وبالتالي توفير تجربة مستخدم أكثر أمانًا وأفضل، وإنشاء تجربة blockchain ممتازة.
في سير عمل ERC-4337 AA المعروف، يرسل المستخدمون العمليات إلى مجموعة ذاكرة مخصصة.
سيقوم المجمع بتجميع هذه العمليات في معاملة واحدة وإرسالها إلى عقد EntryPoint، الذي سيقوم بتنفيذ هذه العمليات بعد التحقق من صحة كل حساب باستخدام "validateUserOp".
p> p>
كيف يستخدم zkSync تجريد الحساب (AA)
zkSync Era هو أول تطبيق أصلي لـ سلسلة متوافقة مع EVM لتجريد الحساب، والتي تُحدث ثورة في عمليات الحساب من خلال تقديم مكونين رئيسيين: الحسابات الذكية والدافعين.
الحساب الذكي
يتم تمثيل الحساب الذكي من خلال واجهة IAccount، والتي تحتوي على 5 طرق:
validateTransaction(): تحقق مما إذا كانت المعاملة تتوافق مع قواعد الحساب. إذا لم يكن الأمر كذلك، فسيتم التراجع عنه.
executeTransaction(): قم بتشغيل المعاملة بعد خصم الرسوم.
payForTransaction(): إذا لم يتم استخدام الدافع، يتم دفع الرسوم مباشرة.
prepareForPaymaster(): قم بتعيين الدافع لدفع الرسوم.
executeTransactionFromOutside(): يسمح ببدء المعاملات من الخارج.
يمكنك رؤية رمز IACCOUNT أدناه
< img src="https://img.jinse.cn/7204205_watermarknone.png" title="7204205" alt="jeUYpzUdy7dPpBkwP7qgAVWcxuWrItDzDmWrcYSM.png">
الدافع h2>
مثل EIP4337، يدعم تجريد حساب zkSync أيضًا جهات الدفع، وهي حسابات يمكنها تعويض الحسابات الأخرى عن تنفيذ المعاملة.
يجب على كل دافع تنفيذ واجهة IPaymaster التي تحتوي على الطريقتين التاليتين:
validateAndPayForPaymasterTransaction(): يؤكد ما إذا كان الدافع يوافق على دفع رسوم المعاملة وإرسال الأموال إلى المشغل.
postTransaction(): يتعامل مع إجراءات ما بعد المعاملة، اعتمادًا على نتيجة المعاملة واسترداد الرسوم.
راجع الكود أدناه:
تجريد حساب zkSync (AA) ) يشبه البروتوكول EIP4337 إلى حد كبير، لكن بروتوكول zkSync به بعض الاختلافات لتحسين الكفاءة وتجربة المستخدم.
الاختلافات الرئيسية بين تجريد الحساب الأصلي لـ zkSync وEthereum's EIP 4337:
التنفيذ: يقوم zkSync بدمج AA في البروتوكول، بينما يتجنب EIP4337 التغييرات على مستوى البروتوكول.
نوع الحساب: يتعامل zkSync مع العقود الذكية والدافعين على قدم المساواة؛ ويميزهم EIP4337.
معالجة المعاملات: يستخدم zkSync مجموعة ذاكرة موحدة لجميع الحسابات، والتي تختلف عن عملية الفصل لـ EIP4337.
الدافع: يدعم zkSync الدافعين لجميع الحسابات، بينما يقتصر EIP4337 على العقود الذكية.
كيفية إنشاء حساب ذكي على zkSync
لإنشاء حساب ذكي على zkSync، يرجى استخدام IAccount لتنفيذ الطرق الأساسية، واستخدام IPaymaster لتنفيذ دفعات الرسوم المعتمدة على الدافع.
من المفيد أيضًا التأكد من أن حسابك يدعم EIP-1271 للتحقق من التوقيع.
بعد إكمال هذه الخطوات، ما عليك سوى نشر حسابك باستخدام طريقة createAccount الخاصة بـ zkSync!
يدمج zkSync حاليًا محفظتين للعقود الذكية:
✦ HoldstationW
✦ Pier_wallet