‹ الفصل 16، جميع الدروس

خبير · الفصل 16 · الدرس 1 من 5

البرمجة النصية والترقيات

برمجة البيتكوين النصية

ما هو المكتوب فعليًا في المخرج لقفلها؟ 6 دقيقة

يحمل كل مخرج برنامجًا صغيرًا، وهو نص القفل الخاص به. لإنفاقه، يوفر مدخل جزءًا لفتحه. تقوم العقد بتشغيل الاثنين معًا: إذا انتهى البرنامج بـ "صحيح"، يكون الإنفاق صالحًا.

آلة مكدس

تعمل البرمجة النصية على مكدس: يتم دفع العناصر، وتأخذ العمليات عناصر من الأعلى وتدفع النتائج. قراءة الدفع التقليدي الكلاسيكي هي: OP_DUP OP_HASH160 <public key hash> OP_EQUALVERIFY OP_CHECKSIG. بالكلمات: انسخ المفتاح العام المقدم، قم بتجزئته، تحقق من مطابقته للمفتاح الموجود في المخرج، ثم تحقق من التوقيع مقابله.

محدودة عن قصد

لا تحتوي البرمجة النصية على حلقات ولا ذاكرة عامة. ينتهي كل برنامج بسرعة، ويمكن لكل عقدة التنبؤ بتكلفة التحقق منه. هذا يجعلها أقل تعبيرًا بكثير من لغات سلاسل الكتل الأخرى، وأسهل بكثير في الفهم.

  • تعدد التوقيعات: يتطلب عدة توقيعات من مجموعة مفاتيح.
  • تجزئة الأقفال: تتطلب الكشف عن سر معروف تجزئته، كما تفعل شبكة البرق.
  • أقفال الوقت: تمنع الإنفاق قبل تاريخ أو ارتفاع كتلة معين.

ما ينبغي تذكّره

  • يتم قفل المخرجات بواسطة برامج صغيرة تعتمد على المكدس.
  • لا تحتوي البرمجة النصية على حلقات: كل فحص ينتهي بشكل يمكن التنبؤ به.
  • التوقيعات والتجزئات والأوقات هي لبنات البناء الخاصة بها.

اختبر فهمك

متى يكون الإنفاق صالحًا على مستوى البرمجة النصية؟

لماذا لا تحتوي البرمجة النصية على حلقات؟

برمجة البيتكوين النصية · جامعة بيتكوين