CAT20:Fractal BTC上的عملةبروتوكول

هذا المقال مجرد مشاركة تقنية ولا يشكل أي توصية استثمارية.

BTC 上也要有自己的العقد الذكي了?

في البيئة البيئية للبيتكوين مؤخرًا، بعد تجربة العديد من Testnet، أصبح Fractal BTC أخيرًا متاحًا في الشبكة الرئيسية في سبتمبر. واحدة من السمات البارزة لـ Fractal هي قدرتها على العقود الذكية، وتقريباً في نفس الوقت الذي تم إطلاق الشبكة الرئيسية، تم طرح عملة جديدة من البروتوكول CAT 20. فما هي التصميمات الذكية التقنية لـ CAT 20؟ وماذا يمكننا أن نتعلم؟

بيتكوين الفراكتال

قبل أن نتعرف على CAT 20 ، يجب أن نفهم بشكل مبسط Fractal Bitcoin ، حيث أن علاقتهما مشابهة لعلاقة ERC 20 و ETH ، حيث يتم نشر بروتوكول CAT 20 على Fractal Bitcoin.

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

إذا كانت مجرد عملية تداول على شبكة الطبقة الثانية أسرع ، فليس هناك شيء مثير للاهتمام. ومع ذلك ، يتيح Fractal Bitcoin إمكانية أعلى بفضل رمز العملية OP_CAT الذي تم تخليه عنه منذ فترة طويلة بسبب الأمان في BTC. يقول البعض إن OP_CAT يمكن أن يجعل BTC يتمتع بقدرات العقود الذكية ، وبالتالي فإن المجالات التي يمكن التفكير فيها تزداد.

الآن، تم تنفيذ بروتوكول مشابه لـ ERC 20 على بتكوين فراكتال.

حول OP_CAT ولماذا تم التخلي عنه ولكنه يمكن استخدامه في بيتكوين Fractal ، يمكننا التحدث فيما بعد ، هنا نحن نتابع CAT 20.

CAT Protocol النص التالي هو للإشارة فقط: ورقة بيضاء :Introduction | CAT Protocol ()

ومستودع github: GitHub - CATProtocol/cat-token-box: مستودع موحد لحزم تنفيذ بروتوكول CAT ()

بفضل دعم الطبقة السفلية لـ OP_CAT ، تم تطوير بروتوكول CAT المقابل بسرعة. حالياً ، هناك بالفعل بروتوكول CAT 20 في التشغيل ، وتمت إضافة لوحة مطابقة له أيضًا على Unisat.

عندما ترون اسم CAT 20 ، يجب أن يتمكن الجميع من استنتاج أنه يشبه ERC 20. بالمقارنة مع بروتوكول ERC 20 الناجح ، فقد أصبح من السهل جدًا نشر رمز واحد ، فكيف يمكن لـ CAT 20 تحقيق دورة حياة مشابهة لـ ERC 20؟

نشر

قبل النشر ، يحتاج المستخدم إلى تحديد معلومات المحفظة الخاصة به والعنوان الخاص به ومعلومات العملة الأساسية ، ومعلومات العملة الأساسية مشابهة لـ ERC 20:

CAT20:Fractal BTC上的代币协议

سيكون هناك بعض الاختلافات. يمكن لـ CAT 20 تعيين الحفر المسبق وقيود كمية النعناع في كل مرة. بالطبع ، يمكن لـ ERC 20 أيضًا تحقيق هذه القدرات من خلال قدرة العقد.

في مرحلة النشر ، ستتم إجراء معاملتين ، يمكن اعتبارهما مرحلتين: "commit" و "reveal". استنادًا إلى الرسم البياني الرسمي ، فإن مرحلة النشر تتضمن ما يلي:

CAT20:Fractal BTC上的代币协议

في مرحلة "commit"، سيتم كتابة معلومات العملة الأساسية في النص الناتج للصفقة، مثل اسم العملة والرمز، في مرحلة "commit"، سيتم استخدام hashId لصفقة التي تم إطلاقها كعلامة لهذه العملة، وذلك للتمييز بينها وبين العملات الأخرى.

CAT20:Fractal BTC上的代币协议

يمكن رؤية هذه الصفقة 'bc 1 pucq...ashx' هي UTXO المقابلة للتزام. ثم المعاملتين المتبقيتين التي تشير إلى 'bc 1 pszp...rehc 4' ، الصفقة الأولى مخصصة لدفع رسوم الغاز في مرحلة 'الكشف' أدناه ، والأخرى هي الباقي.

في مرحلة الكشف ، يمكن رؤية هناك اثنين من مدخلات utxo ، التي تتطابق مع الإخراجين الأوليين في مرحلة الارتباط السابقة. ستقوم هذه المعاملة بإخراج OP_RETURN أولاً ، حيث سيتم الاحتفاظ بحالة CAT 20 الأولية في OP_RETURN. سيتم إخراج Minter آخر بعد ذلك ، حيث سيكون له دور هام في عملية الإنتاج المتتالي ، والذي سيسهم في الحفاظ على تغيرات حالة عملية الإنتاج المتتالي.

CAT20:Fractal BTC上的代币协议

عندما ننظر إلى عملية النشر بشكل عام ، فإن عمليتي "commit" و "reveal" تتبعان خطوتين شائعتين في الكتلة داخل السلسلة ، وهما طريقة شائعة لنشر المشاريع ، حيث يتم كشف بعض البيانات الخاصة بالمشروع فقط في مرحلة "reveal".

إصدار العملات

نلقي أولا نظرة على Mint Token، وهذا ما يبدو عليه التداول.

CAT20:Fractal BTC上的代币协议

يمكن رؤية في الشكل أعلاه أن عملية التعدين لديها عدة سمات.

  • إدخال mint هو عبارة عن مينتر ، تم إنشاؤه في البداية أثناء النشر.
  • في كل مرة يتم فيها العملة الجديدة ، يكون هناك مينتر واحد فقط كمدخل ، ويكون هناك أي عدد من المينترات كمخرج (هناك بعض المشاكل)
  • كل عملية mint تحتوي على واحد فقط من الرمز (توجد مشكلة معينة)
  • ترتيب الإخراج مطلوب، يجب أن يكون minter متبوعًا بالرمز

بعد معرفة عملية Mint، يمكننا فعلاً أن نكتشف بعض الحالات الخاصة التي قد تجعل عملية Mint كلها ممتعة.

على سبيل المثال ، كمخرج لصفقة النقاط ، يمكن أن يكون العدد الأدنى للعناصر المحددة للبيع 1 ، والعديد من العناصر ، أو حتى 0. إذا تم تعيين العدد الأدنى للعناصر المحددة للبيع 1 في كل مرة ، فإن عدد العناصر المحددة للبيع المتاحة في الشبكة ستظل ثابتة (1) ، مما يؤدي إلى ازدحام في صفقات النقاط حيث يحتاج الجميع إلى المنافسة على هذه العناصر المحددة للبيع. لتجنب هذا الوضع ، يجب تعيين عدد العناصر المحددة للبيع بأكثر من 1 ، وبذلك بعد الصفقة ، يمكن للجميع استخدام المزيد من العناصر المحددة للبيع.

ومع ذلك ، كلما زاد إخراج minter ، زاد عدد utxo التي يجب عليك دفعها ، ومن الناحية الاقتصادية ، سيكون المزيد من الناس على استعداد لتعيين minter إلى 0 ، مما سيجعل minter لا مفر منه ، وهذا يتطلب بعض الناس للتبرع ، ودفع minter الإضافي بشكل طوعي.

في الإصدار V2 ، يتم إنشاء مينترين بشكل افتراضي، وسيكون حالة كل منهما متشابهة قدر الإمكان.

بناء الصفقة

ربما لاحظ بعض الأصدقاء مشكلة، وهي لماذا يمكن استخدام UTXO الخاص بمينتر لبناء صفقات؟ لفهم هذه المشكلة، يجب تحليل مصدر "العقد".

1、كشف utxo

أولاً، قمنا بتحليل عملية الكشف عن الصفقات، وجدنا أنه استخدم إلتزام الإخراج السابق كمدخل. لماذا يمكن استخدام إدخال صفقة غير UTXO لبناء الصفقة؟

وفقًا للمنطق، المفتاح الخاص يقابله مفتاح عام، وينشأ العنوان من المفتاح العام. عند التحقق من صحة مخرجات التحويل غير المصرح بها (UTXO)، يتم عادةً عن طريق مقارنة توقيع المفتاح العام بفك تشفيره والتحقق مما إذا كان مطابقًا للصفقة الأصلية. يتم كتابة هذا الجزء من المنطق في سيناريو BTC. لذا يمكننا تعديل منطق السيناريو بذكاء، بحيث يكون مفتاحنا العام الذي تم كتابته في السيناريو هو عنواننا الخاص، وبهذه الطريقة يمكننا التحكم في UTXO ذات العناوين المختلفة.

يمكننا معرفة ما حدث عندما نلقي نظرة على الشفرة المصدرية:

CAT20:Fractal BTC上的代币协议

هنا سيكون لدينا مشكلة أخرى، وهي أن المفتاح الخاص يقابل مفتاحًا عامًا، فلماذا يكون عنوان الارتباط الذي تم إنشاؤه مختلفًا عن عنواننا؟ يمكن رؤيته هنا في الشيفرة المصدرية

CAT20:Fractal BTC上的代币协议

وبمعنى آخر، سيتم تعديل مفتاح العام الخاص بنا وفقًا لـ ISSUE_PUBKEY، وهذه هي وظيفة عنوان P 2 TR.

2、مينتر utxo

خلال عملية الكشف، استخدمنا مدخلات UTXO مختلفة ، ولكن في الواقع كانت المفتاح السري للتشفير نفسه ، وهو مفتاح المستخدم الخاص. ولكن في مرحلة Minter ، يمكن للجميع استخدام هذه المدخلات UTXO كمدخلات ، فكيف يتم ذلك؟

هذا الجزء أفترض أنه قدرة OP_CAT التي تم ذكرها سابقًا، وهي قدرة العقود الذكية، حيث يعتبر كل minter عقد ذكي. ومع ذلك، لا توجد حالياً مصادر مفتوحة لهذا الجزء، ولا نعرف حالياً كيف تم تنفيذه بالضبط.

حالة المعاملة (V2)

في minter ، لا يزال هناك حالة. هذه الحالة موجودة في مكانين: أحدهما هو OP_RETURN في ناتج المعاملة ، والآخر هو مخزن في العقود الذكية ، وهو المشار إليه أعلاه بواسطة Minter و Token.

يتم تخزين تجزئة حالة الإخراج الحالية في OP_RETURN ، وسيتم تخزين عدد مرات الإصدار المتبقي للرمز في العقد الذكي. بعد كل Mint ، سيكون عدد Mint الجديد الذي تم إنشاؤه مساويًا للكمية المتبقية التي يمكن إصدارها مقسومة على اثنين. تمثيل بالرسوم البيانية:

CAT20:Fractal BTC上的代币协议

عندما تم الانتهاء أخيرًا ، بلغت الكمية المتبقية من Minter 0.

عد إلى الشكل الأول، بالإضافة إلى أن Minter هو العقد الذكي، فإن الرمز المولد أيضًا هو العقد الذكي، وهو CAT 20. يحتوي CAT 20 على حالتين أساسيتين: الكمية ومالك الرمز العقاري. يمكن ملاحظة أن CAT 20 الخاص بك ليس مثل BRC 20 أو النقش السابق، حيث ليس في UTXO الخاص بك.

نقل

عند التحويل، يجب أن يتم الحفاظ على تطابق كمية الرموز في الإدخال والإخراج عند بناء المعاملة. بالطبع، يمكن أن تحتوي نفس المعاملة على العديد من الرموز المختلفة، ولكن من الكافي الحفاظ على تطابق كمية الإدخال والإخراج لكل رمز مختلف.

CAT20:Fractal BTC上的代币协议

حرق

إذا كنت ترغب في حرق الرمز المميز TOKEN ، فما عليك سوى تحويل الرمز المميز إلى عنوان عادي 01928374656574839201.

الخلاص

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

هذا التصميم يمكن أن يكون له بعض الفوائد:

  • إذا كنت ترغب في العثور على جميع حالات حيازة الرمز، فقط قم بالبحث في حالة حيازة الرمز utxo، ولا داعي للمتابعة في البحث.
  • إذا كنت تريد أن ترى الوضع الحالي للنعناع ، يمكنك البحث عن المعاملات مع القط في OP \ _RETURN.

ZAN بدون حد أدنى لاستلام المياه قادم!

نصيحة: يمكنك الحصول على 0.01 ETH مجانًا كرمز اختبار الشبكة كل 24 ساعة، لدعم تجربتك واختبارك لمشاريع Web3 داخل بيئة إثيريوم. انقر للحصول عليها على الفور:

سيتم دعم المزيد من السلاسل العامة قريبًا

هذا النص من تأليف فريق ZAN (الحساب X: @zan_team) بواسطة Yeezo (الحساب X: @GaoYeezo 75065)

شاهد النسخة الأصلية
  • أعجبني
  • 1
  • مشاركة
تعليق
0/400
لا توجد تعليقات
تداول العملات الرقمية في أي مكان وفي أي وقت
امسح لتنزيل تطبيق Gate.io
المنتدى
بالعربية
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)