سلسلة أمان Web3: هل يمكن إنقاذ الأموال التي تم تحويلها عن طريق الخطأ إلى سلسلة أخرى؟

ETH‎-0.52%

في عالم العملات الرقمية، قد تؤدي نقرة خاطئة إلى حدوث “كارثة رقمية”. أحد أكثر الكوابيس شيوعًا هو إرسال الأصول إلى عنوان blockchain خاطئ. على سبيل المثال، كنت أريد إرسال ETH إلى عنوان على شبكة اختبار Sepolia الخاصة بـ Ethereum، لكنني أرسلتها عن غير قصد إلى عنوان على شبكة Ethereum الرئيسية. في مثل هذه الحالة، هل يمكن استرداد الأموال التي أرسلتها عن طريق الخطأ من الشبكة الرئيسية لإيثيريوم؟ وهل يمكن استرجاع الأصول أم لا، يعتمد الأمر بشكل رئيسي على نوع عنوان المستلم. ستتم التحليلات في هذا المقال حسب الحالات المختلفة.

1. السيناريو الأول: عنوان الاستلام هو EOA

EOA ( الحساب المملوك خارجيًا ) هو ببساطة عنوان محفظة عادي يتم التحكم فيه بواسطة المفتاح الخاص أو عبارة الاسترداد.

متطلبات استرداد الأصول:

  • قمت بتحويل الأصول إلى عنوان EOA.
  • تمتلك المفتاح الخاص أو عبارة الاسترداد لهذا العنوان المستهدف (عادةً هو عنوان محفظة آخر خاص بك، أو عنوان صديق، وهو مستعد للمساعدة).
  • السلسلة المستهدفة هي سلسلة متوافقة مع EVM.

طريقة استرداد الأصول:

مالك عنوان EOA المستلم يمكنه ببساطة سحب الأموال مباشرة على الشبكة المستهدفة.

2. السيناريو الثاني: عنوان الاستلام هو عقد ذكي

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

ومع ذلك، في بعض الحالات، هناك أمل ضئيل. سنقوم ببناء سيناريو حيث يتم قفل ETH في شبكة إيثيريوم الرئيسية، ثم نشرح كيف يمكن إنقاذ الأموال.

2.1. مقدمة السيناريو

باختصار، في هذا السيناريو، كان المستخدم ينوي استدعاء عقد على شبكة اختبار Sepolia، وتحويل ETH إلى العقد لعمل نسخة من التوكنات، لكنه أثناء إجراء المعاملة، اتصل بالشبكة الرئيسية عن غير قصد، مما أدى إلى قفل ETH في عقد على الشبكة الرئيسية. التفاصيل كما يلي:

1. على شبكة إيثيريوم Sepolia، قام فريق المشروع (EOA) بنشر عقد تنفيذ، ويفترض أن الوظيفة الأساسية لهذا العقد هي استقبال ETH من المستخدمين، لعمل نسخة من AToken، والكود المبدئي كالوظيفة mintTokens. العنوان الذي تم نشره هو A. من المهم ملاحظة أن، لا يوجد في A دالة تسمح مباشرة بسحب ETH.

2. على شبكة إيثيريوم Sepolia، قام فريق المشروع (EOA) بنشر عقد مصنع (factory contract)، ووظيفته هي نشر عقد وكيل (Proxy) باستخدام تقنية النسخ (Clones) استنادًا إلى عنوان العقد التنفيذي (implementation contract) و salt، بحيث يتم إنشاء عقد وكيل يشير إلى العقد التنفيذي (كما في دالة deployProxyByImplementation). العنوان المنشور هو B. هنا، استدعينا deployProxyByImplementation مع تمرير عنوان العقد A كـ _implementation، مما أدى إلى إنشاء عقد وكيل يشير إلى A، والعنوان الخاص به هو C.

3. المستخدم يريد على شبكة اختبار Sepolia، استدعاء عقد proxy C عبر تحويل ETH، بحيث يتم استدعاء وظيفة mintTokens في العقد A عبر الوكيل. عادةً، سيكون عقد الوكيل C ينفذ استدعاء إلى العقد A لتنفيذ العملية. لكن المستخدم قام أثناء ذلك بالاتصال بالشبكة الرئيسية (Mainnet) عن غير قصد. لذا، قام بتحويل ETH مباشرة إلى عنوان C على الشبكة الرئيسية. في الوقت الحالي، لا يوجد عقد على عنوان C في الشبكة الرئيسية، ولا يملك أحد المفتاح الخاص لهذا العنوان، لذلك، الأموال الآن مقفلة في عنوان C على الشبكة الرئيسية.

2.2. النقاط الأساسية

قبل شرح خطة الإنقاذ بالتفصيل، نُعطي لمحة عن المفاهيم الأساسية التي نحتاجها في عملية الإنقاذ.

2.2.1. create & create2

create و create2 هما طريقتان شائعتان لنشر العقود في Solidity.

  • create ينشئ عقدًا، ويعتمد عنوان العقد على عنوان المرسل وعدد المعاملات (nonce)، ولا يعتمد على محتوى العقد.
  • create2 لا يعتمد على nonce، بل يعتمد على أربعة عوامل:
    • 0xff
    • عنوان العقد المنشئ (address))
    • القيمة المشوشة (salt)
    • الشيفرة الابتدائية (init_code) للعقد المراد إنشاؤه

2.2.2. العقود الوكيل الصغيرة (Clones)

https://docs.openzeppelin.com/contracts/4.x/api/proxy#clones

العقد الوكيل الصغيرة، أو المعروفة أيضًا باسم العقود المستنسخة (Clones)، تعتمد على فكرة بسيطة: نشر عقد وكيل منخفض التكلفة (Gas) يشير إلى عقد تنفيذي محدد. يمكن نشرها باستخدام create أو create2، مثلاً من خلال دالة cloneDeterministic التي تستخدم create2.

في دالة cloneDeterministic، يكون الكود الخاص بالعقد الوكيل الناتج قصير جدًا، ويكون بصيغة: 0x363d3d373d3d3d363d73<عنوان العقد التنفيذي>5af43d82803e903d91602b57fd5bf3، حيث يتم تضمين عنوان العقد التنفيذي مباشرة في الكود، ويقوم كل استدعاء لهذا الوكيل بتنفيذ delegatecall إلى العقد التنفيذي.

كما أن دالة cloneDeterministic تستخدم create2، ونتيجة ذلك، فإن عنوان الوكيل الناتج يعتمد على عنوان المنشئ، و salt، والعقد التنفيذي، وليس على محتوى الكود الخاص بالعقد التنفيذي.

2.3. خطة الإنقاذ

الآن، سنشرح كيف يمكن إنقاذ ETH الموجودة على العنوان C في الشبكة الرئيسية. الفكرة الأساسية هي نشر كود عقد على عنوان العنوان C في الشبكة الرئيسية، بحيث يتم التحكم في العنوان، ويُسحب ETH منه. خطوة بخطوة:

1. نشر عقد مصنع (factory contract) على الشبكة الرئيسية بنفس العنوان B، نفس عنوان المصنع ضروري لأنه عند استدعاء دالة cloneDeterministic لنشر عقد الوكيل، حساب العنوان يعتمد على عنوان المصنع. من خلال مراجعة المعاملة التي أنشأت عقد المصنع على شبكة Sepolia، يمكن معرفة nonce الخاص بالمشروع (EOA) عند نشره. ثم، على الشبكة الرئيسية، ندفع nonce الخاص بالمشروع إلى نفس القيمة، وننشر عقد المصنع، وبما أن عنوان المنشئ و nonce مطابقان، فإن العنوان الناتج للعقد هو B نفسه.

2. نشر عقد تنفيذي (implementation contract) على الشبكة الرئيسية بنفس العنوان A، كما في جزء #最小代理合约(Clones)#، حيث أن حساب عنوان الوكيل باستخدام cloneDeterministic يعتمد على salt، والعقد التنفيذي، وليس على محتوى الكود. لذلك، يمكن نشر عقد واحد على عنوان A، ويجب أن يكون وظيفته استرجاع ETH. الكود أدناه كمثال.

بالنسبة لشبكة الاختبار،، العقد A يُنشر بواسطة فريق المشروع، لذا، عنوانه يعتمد فقط على المرسل و nonce الخاص به. من خلال مراجعة معاملات نشر العقد، يمكن معرفة nonce، ثم دفع عنوان المرسل إلى nonce المطلوب، ونشر العقد A.

3. نشر عقد وكيل على الشبكة الرئيسية بنفس العنوان C، من خلال مراجعة المعاملة التي أنشأت الوكيل C على شبكة الاختبار، نأخذ salt، ثم نستدعي دالة deployProxyByImplementation مع عنوان العقد A و salt، لنشر الوكيل على عنوان C في الشبكة الرئيسية.

4. استدعاء وظيفة السحب (withdraw) على عقد الوكيل C في الشبكة الرئيسية. يقوم مالك العقد (EOA) باستدعاء وظيفة withdraw، وتحديد المستلم، وبالتالي يتم سحب ETH المجمّد في العقد الوكيل C وإعادته للمستخدم.

2.4. الخلاصة

كما يظهر من خطة الإنقاذ أعلاه، إمكانية استرجاع الأموال تتطلب شروطًا عديدة، مثل أن يكون للمنشئ على الشبكة الهدف nonce غير مستخدم، وأن يحتوي العقد المغلق على وظيفة سحب، أو أن يكون من الممكن نشر وظيفة سحب عبر طرق مختلفة (مثل ترقية العقد أو باستخدام Clones).

لذا، عند إجراء المعاملات، يجب أن تكون حذرًا جدًا، وتتحقق من كل معاملة قبل تنفيذها مع العقود، ويمكنك استخدام أداة ZAN AI SCAN لفحص أمان العقود. وإذا حدث ووقعت في مشكلة قفل الأموال، فلا تقلق، يمكنك التواصل مع فريق تدقيق أمان العقود الخاص بـ ZAN لمحاولة إنقاذ أموالك.

تم كتابة هذا المقال بواسطة فريق ZAN (@zan_team)، وAntChain OpenLabs (@AntChainOpenLab)، وCara (@Cara6289).

إخلاء المسؤولية: قد تكون المعلومات الواردة في هذه الصفحة من مصادر خارجية ولا تمثل آراء أو مواقف Gate. المحتوى المعروض في هذه الصفحة هو لأغراض مرجعية فقط ولا يشكّل أي نصيحة مالية أو استثمارية أو قانونية. لا تضمن Gate دقة أو اكتمال المعلومات، ولا تتحمّل أي مسؤولية عن أي خسائر ناتجة عن استخدام هذه المعلومات. تنطوي الاستثمارات في الأصول الافتراضية على مخاطر عالية وتخضع لتقلبات سعرية كبيرة. قد تخسر كامل رأس المال المستثمر. يرجى فهم المخاطر ذات الصلة فهمًا كاملًا واتخاذ قرارات مدروسة بناءً على وضعك المالي وقدرتك على تحمّل المخاطر. للتفاصيل، يرجى الرجوع إلى إخلاء المسؤولية.

مقالات ذات صلة

主要 CEX 在英国推出加密资产作抵押借贷服务,支持以 BTC、ETH 和 cbETH 进行 USDC 借款

一家集中式交易所在英国推出以加密资产作抵押的借贷服务,允许使用 BTC、ETH 和 cbETH 作为抵押进行即时 USDC 贷款,由 Morpho 提供支持。自该服务于 2025 年 1 月在美国上线以来,已发放的贷款总额超过 21.7 亿美元。

GateNewsمنذ 7 د

新加坡OCBC银行将在以太坊和Solana上推出实物黄金基金代币

OCBC和Lion Global Investors正在以GOLDX Token为代号,在以太坊和Solana区块链上推出实物黄金基金代币,其中OCBC负责设计,Lion Global Investors负责投资与治理。

GateNewsمنذ 7 د

ارتفاع ETH بنسبة 1.22% خلال 15 دقيقة: تزامن نشاط قطاع DeFi وانفجار أحجام التداول لدفع السوق

2026-04-20 07:15 إلى 07:30 (UTC)، حقق عائد ETH قصير الأجل +1.22%، حيث امتد نطاق السعر من 2285.19 إلى 2332.62 USDT، والتذبذب 2.07%. خلال الفترة، ارتفع اهتمام السوق بشكل واضح، وتفاقمت التقلبات بشكل ملحوظ، وقفز حجم المعاملات على السلسلة بالتزامن، كما تضخّمت مؤشرات النشاط على السلاسل الرئيسية بشكل ملحوظ على أساس تسلسلي. تتمثل المحركات الرئيسية لهذا التذبذب في زيادة نشاط المعاملات المرتبطة ببروتوكولات DeFi، ما أدى إلى ارتفاع حصة استهلاك الغاز على السلسلة، إلى جانب الزيادة المفاجئة في إجمالي حجم المعاملات على السلسلة خلال فترة قصيرة. زادت سيناريوهات DeFi مثل منصات التداول اللامركزية وبروتوكولات الإقراض الطلب المباشر على ETH بشكل كبير، ما دفع الأموال إلى التدفق بسرعة إلى السوق. بالإضافة إلى ذلك، ارتفعت متوسطات رسوم الغاز وأسعار الغاز على شبكة ETH بشكل متتابع خلال هذه النافذة، ما يزيد من تأكيد تسارع التداول عالي التردد وتدفق السيولة النشطة إلى الداخل، وتعزيز مشاعر المراكز الشرائية القصيرة الأجل. ثانيًا، تُظهر بيانات السلسلة أيضًا أن سيولة العملات المستقرة وأصول ERC20 قد تضخّمت بدرجة ما، ما عزز قوة الشراء في السوق. كانت محافظ “الحيتان” التاريخية مثل Wilcke لا تزال تحتفظ بكميات كبيرة من ETH بعد أوائل مارس، لكن هذه الدورة لم تُفعّل تحويلات غير طبيعية أو عمليات بيع كبيرة. وفي الوقت نفسه، لم يظهر هيكل حيازات ETH الرئيسي ظاهرة التخلص السلبي من الرافعة أو التصفية المركزة؛ ومع تضافر عوامل متعددة، اتسع رد السوق العالمي على عمليات الشراء، وارتفعت كذلك تقلبات ETH قصيرة الأجل أكثر. يجب الانتباه إلى مخاطر استمرار السيولة بعد الزيادة في أحجام التداول عالي التردد ورسوم الغاز؛ فإذا افتقدت الفترات اللاحقة لطلبات شراء إضافية أو انخفضت حماسة السوق على السلسلة، فقد يواجه ETH ضغطًا على تراجع قصير الأجل. راقب ديناميكيات الحيازات الكبيرة، والتغيرات غير الطبيعية في رسوم الشبكة، وتقلبات السيولة على السلسلة لبروتوكولات DeFi. في الوقت الحالي، لا توجد مؤشرات على حوادث تتعلق بأمان العقود والبروتوكولات الرئيسية، لكن لا تزال الاضطرابات في السيولة قصيرة الأجل تتطلب مراقبة وثيقة. استمر في متابعة اتجاه تدفق الأموال وبنية السلسلة، حتى تتمكن من الإحاطة بالتغيرات اللاحقة في السوق بسرعة.

GateNewsمنذ 51 د

محفظة خاملة مرتبطة بـ CEXt تسحب 14.5 مليون دولار من ETH بعد خمول لمدة عام

رسالة أخبار Gate، عنوان محفظة 0x3CEE المرتبط بـ CEXt سحب 6,382.5 ETH بقيمة 14.5 مليون دولار من بورصة مركزية خلال الساعة الماضية. يشير ذلك إلى أن هذه المحفظة أظهرت نشاطها الأول بعد بقائها خاملة لمدة عام. بعد عملية السحب، تحتفظ المحفظة حاليًا بإجمالي 18,383 ETH، بقيمة تقارب 41.75 مليون دولار.

GateNewsمنذ 1 س

Spark 审慎的 ETH 借贷策略被证明合理:当 Aave 在多条链上遭遇流动性危机

斯帕克的策略负责人在用户迁移到 Aave 之后,仍为维持 SparkLend 上较高的借贷利率辩护,并称这是基于当前的市场状况。Aave 正面临流动性问题,这引发了对若 ETH 价格大幅下跌可能产生潜在坏账的担忧。

GateNewsمنذ 1 س

مسك يطلق علامات ذكية على X، ويُحرك 1 مليار دولار من أحجام التداول عالميًا خلال 3 أيام

منصة المجتمع التابعة لـ Musk على X أطلقت في 15 أبريل (يوم الثلاثاء من الأسبوع الماضي) مساءً ميزة جديدة بعنوان "Smart Cashtags" (الوسوم الذكية)، أعلن مسؤول منتج X نيكيتا بير في 17 أبريل أن هذه الميزة خلال 3 أيام فقط ولّدت نحو 1 مليار دولار من حجم التداول للأسواق العالمية، مع مصدر البيانات هو المعلومات المجمعة من برنامج تجربة تداول X.

MarketWhisperمنذ 1 س
تعليق
0/400
لا توجد تعليقات