في الآونة الأخيرة، شهد نظام بيتكوين مشروعًا يُدعى Fractal BTC الذي تم إطلاقه رسميًا على الشبكة الرئيسية في سبتمبر بعد عدة جولات من اختبار الشبكة. واحدة من أبرز ميزات Fractal هي قدرته على تنفيذ العقود الذكية، وعند إطلاق الشبكة الرئيسية، تم تقديم بروتوكول رمزي جديد يسمى CAT20. فما هي النقاط التقنية الذكية في CAT20؟ وماذا يمكننا أن نتعلم من ذلك؟
مقدمة فركتال بيتكوين
قبل فهم CAT20، نحتاج أولاً إلى فهم Fractal Bitcoin بشكل بسيط. العلاقة بين الاثنين مشابهة لعلاقة ERC20 و ETH، حيث يتم نشر بروتوكول CAT20 على Fractal Bitcoin.
Fractal Bitcoin المعروف أيضًا باسم البيتكوين الفرعي، هو شبكة "طبقة ثانية" متوافقة تمامًا مع BTC. بالمقارنة مع BTC، فإن وقت تأكيد الكتلة أسرع، حيث يحتاج فقط إلى دقيقة واحدة. المبدأ الأساسي ببساطة هو نسخ شبكة BTC عدة مرات، حيث يمكن لكل سلسلة معالجة المعاملات، مما يزيد عدد العقد القادرة على معالجة المعاملات، وبالتالي تزيد السرعة. ومع ذلك، فإن التفاصيل المحددة، مثل طرق الاتصال بين السلاسل المختلفة، ليست واضحة حاليًا، كما أن الشركة الرسمية لم تقدم وثائق تقنية ذات صلة للاطلاع عليها.
إذا كانت المعاملات على سلسلة من الطبقة الثانية أسرع فقط، فإن هذا يبدو غير كافٍ لإثارة الحماس. ومع ذلك، أتاح Fractal استخدام opcode OP_CAT الذي تم التخلي عنه منذ فترة طويلة لأسباب أمنية، مما رفع قدرة Fractal Bitcoin إلى مستوى جديد. يعتقد البعض أن OP_CAT يمكن أن يمنح BTC القدرة على العقود الذكية، مما يوفر مساحة أكبر من الخيال للناس.
حاليًا، لقد قام البعض بتنفيذ بروتوكول مشابه لـ ERC20 على Fractal Bitcoin.
بروتوكول CAT
بدعم من OP_CAT الأساسية، ظهرت قريبًا البروتوكولات المقابلة بروتوكول CAT. البروتوكول الذي يعمل بالفعل هو بروتوكول CAT20.
بالمقارنة مع بروتوكول ERC20 الناضج ، أصبح من السهل للغاية على الجميع نشر توكن. كيف تحقق CAT20 دورة حياة مشابهة لـ ERC20؟
نشر
قبل النشر، يحتاج المستخدم إلى تحديد عنوان محفظته ومعلومات أساسية عن الرمز، وهذه المعلومات مشابهة لـ ERC20. بعض الاختلافات في CAT20 هي أنه يمكن تعيين الحد الأقصى للمعدل المسبق والعدد المحدود لكل عملية Mint. بالطبع، يمكن تحقيق هذه الوظائف أيضًا من خلال قدرة العقود الذكية في ERC20.
ستطلق مرحلة النشر معاملتين، يمكن اعتبارهما مرحلتين: "commit" و"reveal". في مرحلة "commit"، سيتم كتابة المعلومات الأساسية للرمز المميز في نص مخرجات المعاملة، مثل اسم الرمز ورمزه وما إلى ذلك. سيتم استخدام hashId للمعاملة التي تم إطلاقها في مرحلة "commit" كمعرف لهذا الرمز المميز، لتمييزه عن الرموز المميزة الأخرى.
في مرحلة "reveal"، ستقوم المعاملة أولاً بإخراج OP_RETURN، حيث يتم حفظ Hash الحالة الأولية لـ CAT20. بعد ذلك، سيتم إخراج Minter، والذي يلعب دورًا هامًا في عملية Mint اللاحقة، وذلك للحفاظ على تغيرات حالة عملية Mint.
تشمل عملية النشر بأكملها، حيث تتبع "commit" و "reveal" الخطوات التقليدية للتقديم والكشف المستخدمة في blockchain، وهي طريقة شائعة نسبياً لنشر المشاريع.
صك
عند سك الرمز، تتميز المعاملات بالخصائص التالية:
مدخل mint هو minter، والذي يتم إنشاؤه في البداية عند نشره.
كل عملية mint تحتوي على minter واحد فقط كمدخل، ويمكن أن يكون هناك أي عدد من minter كخرج.
كل عملية mint تحتوي على رمز واحد فقط.
هناك متطلبات لترتيب الإخراج، يجب أن يكون token بعد minter.
المُنتِج كخروج لصفقة المينت، يمكن أن يكون 1 أو عدة أو حتى 0. إذا تم تعيين عدد المُنتجين في كل مرة إلى 1، فإن عدد المُنتجين المتاحين في الشبكة بأكملها سيبقى ثابتًا (1 )، مما سيجعل المينت مزدحمًا. لتجنب هذه الحالة، يجب تعيين عدد المُنتجين الخارجين في كل مرة ليكون أكبر من 1، حتى بعد المينت، سيزداد عدد المُنتجين المتاحين للجميع.
ومع ذلك، فإن كل زيادة في عدد المينتر تعني الحاجة لدفع مبلغ إضافي من اليوتوكس. لأسباب اقتصادية، سيجذب المزيد من الناس إلى تعيين المينتر على 0، مما سيؤدي حتمًا إلى تقليص المينتر، مما يتطلب من بعض الأشخاص التبرع طواعية ودفع المينتر الزائد.
في الإصدار V2، يتم إنشاء اثنين من Minter بشكل افتراضي، وسيكون حالة كلاهما قريبة قدر الإمكان.
بناء الصفقة
لماذا يمكن استخدام utxo الخاص بـ minter لبناء المعاملات؟ يتطلب ذلك تحليل شفرة المصدر لـ "العقود الذكية".
خلال عملية الكشف، استخدمت الصفقة مخرجات الصفقة السابقة كمدخل. تم تحقيق ذلك من خلال إعادة كتابة منطق البرنامج بشكل بارع، حيث أن مفاتيح العامة والخاصة المكتوبة في البرنامج هي لعناويننا الخاصة، مما يمكننا من التحكم في مخرجات المعاملات غير المنفقة لعناوين مختلفة.
بالنسبة لـ minter utxo، يمكن للجميع استخدام هذه utxo كمدخلات، وهذا قد يكون بفضل قدرة العقود الذكية التي توفرها OP_CAT، كل minter هو عبارة عن عقد ذكي.
حالة المعاملة (V2)
تم الاحتفاظ بالحالة في minter في مكانين: الأول هو OP_RETURN الخاص بمخرجات المعاملات، والثاني هو التخزين في العقود الذكية.
تخزين Hash الحالة الحالية لمخرجات المعاملات في OP_RETURN، وتخزين عدد Mint المتبقي من Token في العقد. بعد كل عملية Mint، سيكون عدد Mint للـ Minter الجديد مساوياً لعدد Mint المتبقي مقسومًا على اثنين.
بصرف النظر عن أن Minter هو العقود الذكية، فإن الرمز المميز الذي تم إنشاؤه هو أيضًا العقود الذكية، وهو CAT20. يحتوي CAT20 على حالتين أساسيتين: الكمية وعنوان مالك الرمز المميز. من الجدير بالذكر أن CAT20، على عكس BRC20 أو النقوش، لا توجد على UTXO الخاص بعنوانك.
تحويل
عند النقل، يجب أن يتطابق عدد رموز الإدخال والإخراج المستخدمة في بناء المعاملة. يمكن أن تحتوي المعاملة الواحدة على العديد من الرموز المختلفة، بشرط أن يتطابق عدد الإدخال والإخراج لكل رمز مختلف.
حرق
لحرق الرمز المميز، كل ما عليك فعله هو نقل الرمز المميز إلى عنوان عادي.
ملخص
جميع العمليات يتم بناؤها بواسطة المستخدم نفسه، مما يوفر مرونة كبيرة، لذلك يحتاج جزء العقود إلى الكثير من منطق التحقق. بعض الثغرات التي ظهرت حتى الآن هي أيضًا بسبب إهمال منطق التحقق.
هذا التصميم له بعض المزايا:
للعثور على جميع حيازة الرموز، ما عليك سوى عرض utxo للرمز، وليس من الضروري البحث للأعلى.
يمكنك البحث عن المعاملات التي تحتوي على البيانات التي تحمل cat في OP_RETURN للاطلاع على الحالة الحالية لـ mint.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
تسجيلات الإعجاب 25
أعجبني
25
10
مشاركة
تعليق
0/400
MercilessHalal
· 07-09 20:02
هل هناك بروتوكول جديد للقمر؟
شاهد النسخة الأصليةرد0
CodeAuditQueen
· 07-08 23:05
رأيت الكود المصدر، هناك مخاطر في التحقق من مدخلات المعاملات.
شاهد النسخة الأصليةرد0
MainnetDelayedAgain
· 07-08 03:40
وفقًا لقاعدة البيانات ، تم تأجيله لمدة 92 يومًا منذ سبتمبر.
اختراق كبير في نظام BTC البيئي: أطلقت Fractal بروتوكول العقود الذكية CAT20
سيحصل BTC أيضًا على وظيفة العقود الذكية الخاصة به
في الآونة الأخيرة، شهد نظام بيتكوين مشروعًا يُدعى Fractal BTC الذي تم إطلاقه رسميًا على الشبكة الرئيسية في سبتمبر بعد عدة جولات من اختبار الشبكة. واحدة من أبرز ميزات Fractal هي قدرته على تنفيذ العقود الذكية، وعند إطلاق الشبكة الرئيسية، تم تقديم بروتوكول رمزي جديد يسمى CAT20. فما هي النقاط التقنية الذكية في CAT20؟ وماذا يمكننا أن نتعلم من ذلك؟
مقدمة فركتال بيتكوين
قبل فهم CAT20، نحتاج أولاً إلى فهم Fractal Bitcoin بشكل بسيط. العلاقة بين الاثنين مشابهة لعلاقة ERC20 و ETH، حيث يتم نشر بروتوكول CAT20 على Fractal Bitcoin.
Fractal Bitcoin المعروف أيضًا باسم البيتكوين الفرعي، هو شبكة "طبقة ثانية" متوافقة تمامًا مع BTC. بالمقارنة مع BTC، فإن وقت تأكيد الكتلة أسرع، حيث يحتاج فقط إلى دقيقة واحدة. المبدأ الأساسي ببساطة هو نسخ شبكة BTC عدة مرات، حيث يمكن لكل سلسلة معالجة المعاملات، مما يزيد عدد العقد القادرة على معالجة المعاملات، وبالتالي تزيد السرعة. ومع ذلك، فإن التفاصيل المحددة، مثل طرق الاتصال بين السلاسل المختلفة، ليست واضحة حاليًا، كما أن الشركة الرسمية لم تقدم وثائق تقنية ذات صلة للاطلاع عليها.
إذا كانت المعاملات على سلسلة من الطبقة الثانية أسرع فقط، فإن هذا يبدو غير كافٍ لإثارة الحماس. ومع ذلك، أتاح Fractal استخدام opcode OP_CAT الذي تم التخلي عنه منذ فترة طويلة لأسباب أمنية، مما رفع قدرة Fractal Bitcoin إلى مستوى جديد. يعتقد البعض أن OP_CAT يمكن أن يمنح BTC القدرة على العقود الذكية، مما يوفر مساحة أكبر من الخيال للناس.
حاليًا، لقد قام البعض بتنفيذ بروتوكول مشابه لـ ERC20 على Fractal Bitcoin.
بروتوكول CAT
بدعم من OP_CAT الأساسية، ظهرت قريبًا البروتوكولات المقابلة بروتوكول CAT. البروتوكول الذي يعمل بالفعل هو بروتوكول CAT20.
بالمقارنة مع بروتوكول ERC20 الناضج ، أصبح من السهل للغاية على الجميع نشر توكن. كيف تحقق CAT20 دورة حياة مشابهة لـ ERC20؟
نشر
قبل النشر، يحتاج المستخدم إلى تحديد عنوان محفظته ومعلومات أساسية عن الرمز، وهذه المعلومات مشابهة لـ ERC20. بعض الاختلافات في CAT20 هي أنه يمكن تعيين الحد الأقصى للمعدل المسبق والعدد المحدود لكل عملية Mint. بالطبع، يمكن تحقيق هذه الوظائف أيضًا من خلال قدرة العقود الذكية في ERC20.
ستطلق مرحلة النشر معاملتين، يمكن اعتبارهما مرحلتين: "commit" و"reveal". في مرحلة "commit"، سيتم كتابة المعلومات الأساسية للرمز المميز في نص مخرجات المعاملة، مثل اسم الرمز ورمزه وما إلى ذلك. سيتم استخدام hashId للمعاملة التي تم إطلاقها في مرحلة "commit" كمعرف لهذا الرمز المميز، لتمييزه عن الرموز المميزة الأخرى.
في مرحلة "reveal"، ستقوم المعاملة أولاً بإخراج OP_RETURN، حيث يتم حفظ Hash الحالة الأولية لـ CAT20. بعد ذلك، سيتم إخراج Minter، والذي يلعب دورًا هامًا في عملية Mint اللاحقة، وذلك للحفاظ على تغيرات حالة عملية Mint.
تشمل عملية النشر بأكملها، حيث تتبع "commit" و "reveal" الخطوات التقليدية للتقديم والكشف المستخدمة في blockchain، وهي طريقة شائعة نسبياً لنشر المشاريع.
صك
عند سك الرمز، تتميز المعاملات بالخصائص التالية:
المُنتِج كخروج لصفقة المينت، يمكن أن يكون 1 أو عدة أو حتى 0. إذا تم تعيين عدد المُنتجين في كل مرة إلى 1، فإن عدد المُنتجين المتاحين في الشبكة بأكملها سيبقى ثابتًا (1 )، مما سيجعل المينت مزدحمًا. لتجنب هذه الحالة، يجب تعيين عدد المُنتجين الخارجين في كل مرة ليكون أكبر من 1، حتى بعد المينت، سيزداد عدد المُنتجين المتاحين للجميع.
ومع ذلك، فإن كل زيادة في عدد المينتر تعني الحاجة لدفع مبلغ إضافي من اليوتوكس. لأسباب اقتصادية، سيجذب المزيد من الناس إلى تعيين المينتر على 0، مما سيؤدي حتمًا إلى تقليص المينتر، مما يتطلب من بعض الأشخاص التبرع طواعية ودفع المينتر الزائد.
في الإصدار V2، يتم إنشاء اثنين من Minter بشكل افتراضي، وسيكون حالة كلاهما قريبة قدر الإمكان.
بناء الصفقة
لماذا يمكن استخدام utxo الخاص بـ minter لبناء المعاملات؟ يتطلب ذلك تحليل شفرة المصدر لـ "العقود الذكية".
خلال عملية الكشف، استخدمت الصفقة مخرجات الصفقة السابقة كمدخل. تم تحقيق ذلك من خلال إعادة كتابة منطق البرنامج بشكل بارع، حيث أن مفاتيح العامة والخاصة المكتوبة في البرنامج هي لعناويننا الخاصة، مما يمكننا من التحكم في مخرجات المعاملات غير المنفقة لعناوين مختلفة.
بالنسبة لـ minter utxo، يمكن للجميع استخدام هذه utxo كمدخلات، وهذا قد يكون بفضل قدرة العقود الذكية التي توفرها OP_CAT، كل minter هو عبارة عن عقد ذكي.
حالة المعاملة (V2)
تم الاحتفاظ بالحالة في minter في مكانين: الأول هو OP_RETURN الخاص بمخرجات المعاملات، والثاني هو التخزين في العقود الذكية.
تخزين Hash الحالة الحالية لمخرجات المعاملات في OP_RETURN، وتخزين عدد Mint المتبقي من Token في العقد. بعد كل عملية Mint، سيكون عدد Mint للـ Minter الجديد مساوياً لعدد Mint المتبقي مقسومًا على اثنين.
بصرف النظر عن أن Minter هو العقود الذكية، فإن الرمز المميز الذي تم إنشاؤه هو أيضًا العقود الذكية، وهو CAT20. يحتوي CAT20 على حالتين أساسيتين: الكمية وعنوان مالك الرمز المميز. من الجدير بالذكر أن CAT20، على عكس BRC20 أو النقوش، لا توجد على UTXO الخاص بعنوانك.
تحويل
عند النقل، يجب أن يتطابق عدد رموز الإدخال والإخراج المستخدمة في بناء المعاملة. يمكن أن تحتوي المعاملة الواحدة على العديد من الرموز المختلفة، بشرط أن يتطابق عدد الإدخال والإخراج لكل رمز مختلف.
حرق
لحرق الرمز المميز، كل ما عليك فعله هو نقل الرمز المميز إلى عنوان عادي.
ملخص
جميع العمليات يتم بناؤها بواسطة المستخدم نفسه، مما يوفر مرونة كبيرة، لذلك يحتاج جزء العقود إلى الكثير من منطق التحقق. بعض الثغرات التي ظهرت حتى الآن هي أيضًا بسبب إهمال منطق التحقق.
هذا التصميم له بعض المزايا: