الإصدار الثاني من Smart ASA على Algorand ينقل تجميد الرمز إلى مكان لا يستطيع حائزه رفعه
يضع ARC-20 قواعد رمز Algorand داخل عقد ذكي. ويحتفظ تطبيقه المرجعي v2.0.0، الصادر في 23 أكتوبر، بتجميد الحسابات في صناديق يملكها العقد، ما يخفض الرصيد المقفل لحائز الرمز إلى 0.1 ALGO. ويذكر بيان الإصدار أن الشيفرة غير مدققة وغير قابلة للترقية.

بات بالإمكان تجميد رمز قبل أن يملك حائزه وحدة واحدة منه، ويبقى التجميد قائماً بعد أن ينصرف الحائز. هذا هو التغيير الذي جاء به Smart ASA v2، التطبيق المرجعي المعاد بناؤه لمعيار ARC-20 على Algorand، والذي نُشر في 23 أكتوبر.
الرمز الذي يقف عقد في وسطه
ASA هو رمز Algorand الأصلي. يُنشأ في معاملة واحدة ويُحتفظ به عبر الاشتراك في الأصل. وتُثبَّت تسميته ووحدته وعدد منازله العشرية والحد الأقصى لمعروضه عند الإنشاء. وتقوم أدواره الأربعة على عناوين، ولا توجد نقطة وصل تتيح قاعدة خاصة بالمُصدر أن تعمل على تحويل بين حائزين.
كان المسار الأقدم لفرض قاعدة ما هو تجميد الأصل وتمرير الوحدات عبر clawback، وهو ما يبدو للحائز كاستيلاء حيث كان ينتظر تحويلاً. أما ARC-20 فيحتفظ بالرمز الأصلي ويسند الأدوار الأربعة إلى عقد. ويُنشأ الأصل مجمَّداً افتراضياً، فلا تصل الوحدات إلى الحائز إلا عبر العقد، وتُفحص كل حركة قبل تنفيذها.
وهذا يجعل ARC-20 صورة معاكسة لـARC-2001، معيار الرموز التعاقدية الآخر على Algorand، حيث يكون الرمز نفسه هو العقد ويتصرف كرمز إيثريوم له أرصدة وموافقات. أما ARC-20 فيُبقي الأصل أصلياً، فتحتفظ به المحافظ والبورصات كما تحتفظ بأي رمز آخر، ويضع دفتر القواعد فوقه.
ما الذي يغيّره الإصدار الثاني
تنتقل تجميدات الحسابات من مخزن الحائز نفسه إلى صناديق فارغة يملكها العقد. ففي التصميم القديم كانت العلامة تقيم في الحالة المحلية للحساب، وكان بإمكان الحائز محوها. ويشير المواصفة2 الآن إلى أن الحالة المخزنة في الصناديق لا يمكن للحائز حذفها، وأن الحائزين ليسوا مضطرين أصلاً إلى الاشتراك في العقد. وينخفض رصيدهم المقفل من 0.2285 إلى 0.13 ALGO.
وتبقى بعض القيود. فيمكن فرض تجميد على عنوان قبل أن يملك أي شيء، وهو ما تحتاجه قائمة عقوبات، ويظل التجميد قائماً إذا غادر الحائز وعاد. وأول تجميد على حساب ينشئ صندوقاً، يُموَّل بإيداع قدره 0.01574 ALGO يُدفع إلى العقد قبل استدعاء التجميد مباشرة ويُردّ عندما يعود الحساب إلى حالته الافتراضية.
وما يوفره ذلك ضيق وحقيقي في آن: يستطيع المُصدر أن يفرض قاعدة على حائز غير متعاون، بينما يقيم سقف المعروض ومنطق الدفع في حالة علنية يمكن لأي أحد قراءتها. وأما إن كان ذلك ميزة أم لا، فيتوقف على الطرف الذي تقف فيه من التجميد.
وما تبقى ترتيبات إدارية لها أثرها. فالإصدار السابق، الذي نُشر قبل ثلاثة أيام، كان يرمّز وسائط الأصل والحساب كأعداد صحيحة وعناوين مجردة، ولذلك 'لم تتطابق محددات دواله مع واجهة ARC-205'. ويستخدم الإصدار الثاني أنواع المعيار نفسه ويطلب من العملاء إعادة التوليد. وتسجّل الاستدعاءات الفاشلة الآن رموز أخطاء ARC-65، فيستطيع المحفظة أن تسمّي السبب بدل عرض رسالة تحقق. وتتيح نقطتا امتداد للمُصدر إضافة فحوص إلى التحويلات العادية وتحديد المعروض المتداول، مع مثال محدود السقف في المستودع.
والتجميدات متعددة الطبقات. فالتجميد الشامل يوقف التحويلات، وتجميد الحساب يوقف حائزاً واحداً؛ وتذكر ملاحظات الإصدار أن أيّاً منهما لا يحجب clawback أبداً، وأن الأدوار التي يحملها عنوان واحد لكل منها تعمل بقواعدها الخاصة.
ما يلزم لاستخدامه
نشر نسخة منه يعني نشر عقد وإنشاء أصل، ثم دفع رسوم عن كل إجراء. وتقدّر قائمة التحقق الخاصة بالترحيل في الإصدار رسوم الإصدار والاسترداد وclawback والتحويل العادي وإعادة ضبط التجميد بضعف الحد الأدنى للرسوم. أما إتلاف رمز فيكلف ثلاثة أمثال ذلك. كما يربط كل حساب مجمَّد إيداعاً قدره 0.01576 ALGO في العقد، يُردّ عند إعادة الضبط.
ومسار التطوير هو AlgoKit وPoetry وشبكة محلية في Docker، وكلها من المستودع7. ولا توجد خدمة مستضافة ولا أي شيء للتسجيل فيه.
ولا يوجد أيضاً ما يفتحه المستخدم العام. فقسم TestNet في بيان الإصدار يصف عرضاً لخمسة معايير لكنه لا يسمّي أي تطبيق أو أصل، خلافاً لملاحظات الإصدار السابق قبل ثلاثة أيام. فالمطور يستطيع قراءة الشيفرة ونشرها محلياً؛ أما القارئ الذي يبحث عن رمز حي من الإصدار الثاني فلا مكان يذهب إليه.
ويعتمد البديل الأوسع على ARC-89، سجل البيانات الوصفية، الذي يورد سجل تبنّيه نفسه أنه منشور على TestNet وأن نشره على MainNet ما زال معلقاً. ويصف أحدث إصدار لهذا السجل نفسه بأنه أول مرشح إصدار للنشر على MainNet. وإلى أن يتحقق ذلك، يبقى البديل الأوسع عملاً على TestNet.
من يبنيه
كتب كوزيمو باسي، الذي ينشر باسم cusma8، مواصفة ARC-20. وهو يتولى صيانة هذا التطبيق وكتب سجل البيانات الوصفية الذي يعتمد عليه. ويقع المستودع تحت مظلة Algorand Foundation، وتضع قائمة إصداراته الإصدار السابق في 20 أكتوبر وهذا الإصدار في 23 أكتوبر. وفي يوم الإصدار طلب من المُصدرين والمحافظ والمستكشفات إبداء ملاحظاتهم.
وكان تطبيق أقدم في algorandlabs/smart-asa9 يؤدي المهمة نفسها منذ 2022. وقد ربط الرمز بعقده بكتابة رقم العقد في حقل عنوان URL الخاص بالرمز، واحتفظ بعلامة التجميد لكل حائز في الحالة المحلية. ويستبدل الإصدار الثاني ذلك الترتيب، وهو الترتيب الذي ما زالت الرموز الحية تتبعه.
المستخدم الحي الوحيد
يسرد ملف تبنّي ARC-20 مشروعاً واحداً بالضبط، هو enel-ebitts، مع تصنيف الجاهزية بمنخفض وإفراغ خانتي المحافظ والمستكشفات والأدوات. وebitts هي خدمة Enel وConio التي تبيع للأسر الإيطالية رموزاً مرتبطة بإنتاج محطتين للطاقة المتجددة وتخصم ذلك الإنتاج من فاتورة الكهرباء؛ وقد غطّى PXke إطلاقها في أكتوبر.
لكل محطة رمزها الخاص المسمّى على اسمها: ebitts Barile Venosa برمز EBT-BVEN، وebitts Piani della Marina برمز EBT-PDM.10 وكلاهما على شبكة Algorand الرئيسية منذ مايو 2026.11 وتقوم أدوار رمز الرياح الأربعة على الحساب الذي يملكه عقده هو، لا على مفتاح شخص، فتمر كل حركة عبر ذلك العقد. وداخل العقد، تُسند هذه الأدوار الأربعة إلى محفظة واحدة. وتحمل الرموز الربط الأقدم في حقول عنوان URL الخاصة بها. كما تشير عقودها إلى تطبيق دفع ورمز مكافأة وتطبيق هوية لا تشير إليها شيفرة عقد هذا الإصدار. وهي تستجيب للواجهة نفسها التي يستجيب لها بناء مخصص، لا لنسخة من الإصدار الثاني.
وهي حية. فقد أرسل عقد رمز الرياح نحو 1,83012 تحويلاً إلى ما يقارب 37013 محفظة منذ 4 مايو، منها 47514 في الثلاثين يوماً المنتهية في 26 أكتوبر، وكلها من عنوان واحد، فهي توزيعات من العقد لا تداولات بين حائزين. ولا يتداول أي من الرمزين على الإطلاق.
ولا يزال معظم المعروضين لدى محفظة واحدة، وهي التي أنشأت العقدين. وتسمّي الحالة المخزنة لكل عقد هذه المحفظة مديراً واحتياطياً وجهة تجميد وجهة clawback. وهي تحتفظ بنحو 97.715% من رمز الرياح ونحو 99.816% من الرمز الشمسي.
ورابط الأدلة في ملف التبنّي يفتح رمزاً آخر من العائلة نفسها، عقده مسمّى REWARD ويخزّن منزلتين عشريتين، وليس أيّاً من رمزي المحطتين. فالسجل يُظهر أن العائلة موجودة؛ لكنه لا يُظهر بذاته أن الوحدات التي تحتفظ بها الأسر مطابقة.
ما قد يخطئ
يقول الإصدار أمرين عن نفسه. فهو ينصح الناشرين ببدء عقد جديد، لأن تطبيقات الإصدار السابق لا يمكن ترقيتها في مكانها. والشيفرة لم تُدقَّق.
وما تبقى يتوقف على المُصدر، والمواصفة تقول ذلك. فالقواعد تصمد فقط ما دام الرمز مجمَّداً افتراضياً، وما دام عنوان clawback الخاص به لدى العقد، وما دام ذلك العقد غير قابل للتحديث أو الحذف أو إعادة تعيين المفاتيح. ويسمّي نصها المنقّح مخرجين. فبإمكان عنوان تجميد الأصل أن يرفع التجميد عن الحيازات، وبإمكان عنوان مديره أن يغيّر clawback، ما لم يكن أي منهما مضبوطاً على العقد أو متروكاً فارغاً.
وقد يضلّل الحائزَ محفظتُه نفسها. فالأصل الأساسي يُبلّغ دائماً عن صفر منازل عشرية وحد أقصى بديل، أياً كان ما ضبطه المُصدر، والمحافظ التي لا تفهم ARC-20 تعرض ذلك بدل الإعداد الحقيقي.
والأوراق تتبدّل هي أيضاً. فقد غيّر المستودع قاعدته للبيانات الوصفية من وجوب أن تكون غير قابلة للتغيير إلى استحسان أن تكون كذلك في يوم الإصدار، ولا تزال نسخة بوابة المطورين تقول بالوجوب، ولا تزال تصف حالة التجميد بأنها في المخزن المحلي للحائز. فمن يتحقق من البوابة يقرأ الإصدار الذي استبدله هذا الإصدار.
وسأل أحد الردود على الإعلان بصراحة عن حالة استخدام لـ smart ASA. والمثال العامل الوحيد في السجل هو فاتورة كهرباء في إيطاليا، وهي تعمل على بناء أقدم.
المصادر
- Release v2.0.0 · algorandfoundation/arc20 · GitHub17
- ARCs/ARCs/arc-0020.md at main · algorandfoundation/ARCs · GitHub2
- github.com7
- Releases · algorandfoundation/arc2018
- Algorand Smart Contract Token Specification | Algorand Developer Portal1
- GitHub - algorandlabs/smart-asa: Smart ASA reference implementation · GitHub9
- raw.githubusercontent.com19
تم التحقق من 11 رقمًا في هذه القصة. قُرئ منها 3 أرقام مباشرة من السلسلة.عرض كل عمليات التحقق
المصادر
- 1ARC-200 dev.algorand.co↩
- 2المواصفة github.com↩
- 7المستودع github.com↩
- 8cusma github.com↩
- 9algorandlabs/smart-asa github.com↩
- 17Release v2.0.0 · algorandfoundation/arc20 · GitHub github.com↩
- 18Releases · algorandfoundation/arc20 github.com↩
- 19raw.githubusercontent.com/algorandfoundation/arc20/main/README.md raw.githubusercontent.com↩