WATS Wallet logoWATS Wallet
تقني7 دقيقة قراءة

ERC-20 مقابل SPL مقابل Jetton: لماذا يعمل التوكن "نفسه" بشكل مختلف على كل شبكة

ERC-20 وSPL وJetton كلها تصف "توكن"، لكنها تخزّن الأرصدة في أماكن مختلفة تمامًا. إليك ما يحدث فعليًا خلف الكواليس على Ethereum وSolana وTON، ولماذا يغيّر ذلك طريقة نجاح التحويلات أو فشلها.

ERC-20 وSPL وJetton تجيب على سؤال واحد بثلاث طرق: أين يُخزَّن الرقم الذي يسجّل رصيدك. Ethereum تحتفظ برصيد كل مالك داخل عقد توكن واحد مشترك، وSolana في حساب توكن منفصل لكل مالك، وTON في عقد منفصل لكل مالك. هذا الفارق وحده يفسّر الموافقات والرسوم ومعظم أنماط الفشل، ولماذا يكون الرمز نفسه توكنًا مختلفًا على كل شبكة. والمحافظ التي تغطي الثلاث جميعًا، مثل WATS التي تدعم EVM وSolana وTON دون دعم أصلي لـ Bitcoin، عليها أن تتقن القواعد الثلاث كلها.

ما هو "معيار التوكن" في الحقيقة

معيار التوكن هو واجهة متفق عليها: أسماء دوال وصيغ رسائل وأحداث تعتمد عليها المحافظ والمنصات. وتحته يوجد كود عادي، والطريقة التي تشغّل بها كل شبكة هذا الكود هي ما يحدد ما يمكن أن يكون عليه التوكن.

ERC-20 وSPL وJettons ليست ثلاث لهجات لشيء واحد. إنها تجيب على سؤال واحد بثلاث طرق: أين يعيش الرقم الذي يقول "أنت تملك 500 توكن"؟ Ethereum تحتفظ به داخل عقد واحد مشترك، وSolana في حساب منفصل لكل مالك، وTON في عقد منفصل لكل مالك — نماذج تخزين تفسّر تقريبًا كل خصوصية عملية، فوق البنية التي تمت مقارنتها في EVM وSolana وTON.

ERC-20 على Ethereum: عقد واحد يحتفظ بأرصدة الجميع

توكن ERC-20 هو عقد ذكي واحد على عنوان واحد، يحتفظ بسجل يربط العناوين بالأرقام. أنت لا "تحمل" التوكن؛ العقد يحتفظ بقيد يفيد بأن عنوانك مستحق لمبلغ ما.

التحويل هو استدعاء موجّه إلى عقد التوكن، يخفّض صفًا ويزيد آخر. عنوانك لا يحتاج إلى أي تحضير: يمكنك استقبال أي ERC-20 على عنوان لم يلمس ذلك التوكن قط.

وهذا يفسّر لماذا قد تملك ثروة بتوكن ما وتبقى عاجزًا عن تحريكها: استدعاء عقد يكلّف رسوم غاز، تُسدَّد افتراضيًا بالتوكن الأصلي للشبكة. واعتبارًا من 2026 لم يعد هذا الافتراض مطلقًا — إذ يتيح paymaster ضمن ERC-4337 أن يدفع شخص غير مالك الحساب، ويسمح EIP-7702 لطرف ثالث بإرسال ودفع معاملة النوع الرابع التي تحدد تفويض الحساب، وإن كانت الرعاية بعد ذلك تعتمد على ما ينفذه الكود المفوَّض. الشبكة ما زالت تفرض تكلفة على العمل؛ ما يتغير هو الدافع فقط.

SPL على Solana: حسابات التوكن والإيجار وحساب الـ Mint

Solana تقسّم المهمة إلى جزأين. حساب الـ mint يعرّف التوكن — العرض والخانات العشرية والجهة المخوّلة بالسك أو التجميد. أما الأرصدة فتعيش في حسابات توكن منفصلة. برنامج Token يملك بيانات ذلك الحساب، بينما يسمّي الحساب مالكًا له بصفته صاحب صلاحية الإنفاق؛ ولا شيء يحدّك بحساب واحد لكل mint.

لذلك تتبنى المحافظ معيار حساب التوكن المرتبط (associated token account)، المشتق من عنوان محفظتك ومن الـ mint ومن معرّف برنامج التوكن. ويجب أن يكون موجودًا وممولًا: فإعفاء الإيجار يجمّد مبلغًا صغيرًا وقابلًا للاسترداد من SOL داخل الحساب لإبقائه حيًا.

وبالتالي فإن استقبال توكن SPL جديد هو حدث على السلسلة، وإن كانت معظم التحويلات تضمّ إنشاء الحساب ضمنها. واعتبارًا من 2026، يضيف Token-2022 رسوم تحويل اختيارية وأرصدة سرية وخطافات تحويل؛ ولأن معرّف برنامجه يدخل ضمن بذور الاشتقاق، فإن حسابات الـ mint الخاصة به تشتق حساب توكن مرتبطًا مختلفًا عن الحسابات القديمة.

Jettons على TON: كل مالك يحصل على عقده الخاص

TON تدفع هذا التقسيم إلى أقصاه. الـ jetton له عقد رئيسي (master) يحمل البيانات الوصفية والعرض، وكل مالك يحصل على عقد محفظة jetton خاص به يخزّن رصيده فقط لذلك التوكن وحده.

التحويلات رسائل غير متزامنة، لا استدعاءات داخل سجل مشترك: عقد محفظة الـ jetton خاصتك يرسل رسالة إلى عقد المستقبِل، الذي يقيّد الرصيد. ولأن TON مجزأة إلى شاردات، فإن ذلك يُحسم عبر كتل متتالية بدل خطوة ذرية واحدة.

وكل رسالة يجب أن تحمل ما يكفي من TON للحوسبة التي تطلقها لاحقًا، بما في ذلك نشر محفظة jetton الخاصة بالمستقبِل عند الحاجة؛ فإذا أرفقت أقل من اللازم فقد ترتد أو تتعطل. هذا التوجه (TEP-74، اعتبارًا من 2026) يتيح لـ TON التوسّع أفقيًا، ويوقع في الخطأ كود التحويل الساذج المكتوب لبيئة EVM.

الموافقات والرسوم وأنماط الفشل: حيث تفترق الثلاثة

الموافقات هي أوضح نقاط الافتراق. لدى ERC-20 نمط الـ allowance: تمنح عقدًا إذنًا بتحريك حد معين من توكناتك، ويظل قائمًا حتى تُلغيه، ولهذا يمكن لتوقيع واحد متسرّع أن يستنزف محفظة بعد أشهر — انظر شرح موافقات التوكن وpermit وكيفية إلغاء موافقات التوكن.

وSolana ليست الترياق: فعملية approve في SPL تعيّن مفوَّضًا (delegate) على حساب التوكن الخاص بك يبقى بعد انتهاء المعاملة، كما يمكن لـ setAuthority أن تعيد إسناد الحساب بالكامل — وكلاهما ناقلا هجوم معروفان لدى برامج الاستنزاف. صحيح أن معاملة Solana تسرد كل حساب ستلمسه، لكن ذلك يقيّد المعاملة الموقّعة فقط، لا الأذونات الدائمة. أما TON فليس فيها allowance على طريقة ERC-20.

وتفترق الرسوم أيضًا: EVM تسعّر الغاز لكل وحدة حوسبة، وSolana تفرض رسمًا أساسيًا ثابتًا لكل توقيع إضافة إلى رسم أولوية اختياري، وTON تحسب لكل رسالة. وكذلك أنماط الفشل: على EVM، توكنات عالقة في عقد لا يستطيع التعامل معها؛ وعلى Solana، حساب توكن مفقود؛ وعلى TON، قيمة مرفقة أقل من اللازم.

لماذا لا يكون الرمز نفسه هو التوكن نفسه عبر الشبكات

أصلان يتشاركان الرمز لا يتشاركان شيئًا من الناحية التقنية. USDC على Ethereum هو عنوان عقد، وعلى Solana عنوان mint؛ وعلى TON تقف عملة مستقرة مُصدَرة أصليًا مثل USDT خلف عقد jetton رئيسي خاص بها. كل واحد كائن مستقل على السلسلة له عرضه الخاص، والنسخة المجسورة مطالبة مختلفة تمامًا.

والإرسال بين الأنظمة البيئية — توكن EVM إلى عنوان على Solana أو TON — غير قابل للاسترداد عادةً؛ ويوضح مقال أرسلت العملات إلى الشبكة الخاطئة وكيفية الاسترداد ما يمكن إنقاذه. أما من EVM إلى EVM فغالبًا ما يكون متسامحًا: فالحساب المملوك خارجيًا، بما في ذلك المفوَّض عبر EIP-7702، يتحكم فيه المفتاح نفسه على العنوان نفسه في كل شبكة، والحساب الذكي بنمط ERC-4337 غير المنشور على شبكة الوجهة يمكن عادةً إعادة نشره هناك بالمصنع (factory) وكود التهيئة ذاتهما. وصيغ العناوين دليل مفيد، وقد تناولناها في شرح صيغ عناوين العملات الرقمية؛ أما ما إذا كان عرض واحد قانوني هو ما ينتقل أم أن مطالبة جديدة تُسك، فهذا هو الفارق بين التوكنات متعددة السلاسل والتوكنات المغلَّفة أو المجسورة.

ماذا يعني هذا لمحفظتك (وكيف تتعامل WATS معه)

المحفظة متعددة الشبكات عليها أن تتقن القواعد الثلاث جميعها، ومن المفترض ألا ترى أنت الفرق أبدًا — لكن الرسوم تتسرب إلى السطح، لأن كل شبكة تتوقع توكن الغاز الأصلي الخاص بها. واعتبارًا من 2026 صار هذا التوقع قابلًا للتفاوض، إذا كانت المحفظة مبنية لذلك.

وهذا بالضبط ما تفعله WATS Hot Wallet: كل إجراء — التحويلات والمبادلات والستيكينغ — يُحتسب بتوكن واحد، ATS، بدلًا من غاز الشبكة الأصلي، عبر paymaster بمعيار ERC-4337 على EVM وعبر آلية دافع رسوم ومُرحِّل مكافئة على Solana وTON، لأن ERC-4337 يخص EVM حصرًا. وATS هو توكن OFT من LayerZero، فرصيد واحد يعمل عبر EVM وSolana وTON. هذا لا يغيّر ما تفرضه الشبكة — إذ تتتبع رسوم ATS تكلفة الشبكة الحية — بل يغيّر التوكن الذي تُسوّى به تلك التكلفة. وما يُجمع من ATS يُحرق، من 100 مليون نحو حد أدنى قدره 30 مليونًا. وتبقى غير حافظة: أنت تحتفظ بمفاتيحك وWATS لا تحتفظ بأي مفتاح أبدًا. وWATS هي المحفظة الأولى والوحيدة التي تجمع بين ERC-4337 ورسوم بتوكن واحد بنمط OFT، تُحتسب بدلًا من الغاز الأصلي، مع ذلك الحرق.

الأسئلة الشائعة

لماذا يكلّف استقبال توكن SPL شيئًا على Solana بينما لا يكلّف شيئًا على Ethereum؟

على Ethereum، رصيدك مجرد صف داخل عقد التوكن نفسه، لذا فالاستقبال مجاني للمستقبِل ولا يحتاج إلى أي إعداد. أما على Solana، ففي أول مرة تستقبل فيها mint معينًا يجب أن يوجد حساب توكن خاص به، وإبقاء ذلك الحساب على السلسلة يتطلب وديعة صغيرة لإعفاء الإيجار بعملة SOL يمكن استردادها عند إغلاق الحساب. وعمليًا، تقوم معاملة المرسِل عادةً بإنشاء ذلك الحساب وتمويله في الخطوة نفسها، فتقع التكلفة على المرسِل ولا يراها المستقبِل إطلاقًا.

ما الذي يجعل تحويل jetton على TON مختلفًا عن تحويل ERC-20؟

الـ jetton يمنح كل مالك عقدًا ذكيًا خاصًا به يخزّن رصيده هو فقط. والتحويل رسالة غير متزامنة من عقد محفظة الـ jetton خاصتك إلى عقد المستقبِل، تُحسم عبر كتل متتالية بدل استدعاء ذري واحد. وكل رسالة يجب أن تحمل ما يكفي من TON لدفع تكلفة العمل الذي تطلقه، وإلا فقد ترتد.

هل USDC على Ethereum هو التوكن نفسه مثل USDC على Solana؟

لا. إنهما كائنان منفصلان على السلسلة لهما عناوين وأرصدة عرض ومعايير منفصلة، حتى لو تشاركا الرمز والجهة المُصدِرة. وإرسال أحدهما إلى عنوان على الشبكة الأخرى غير قابل للاسترداد عادةً، كما أن النسخ المجسورة من رمز ما تختلف عن النسخ المُصدَرة أصليًا.