687 / 736BK71

Building Bitcoin in Rust

⁦Lukáš Hozda⁩: فهم ⁦Bitcoin⁩ ببناء نموذج عملي

ماذا يحدث بين إصدار أمر في المحفظة وقبول الدفعة؟ يستكشف ⁦Lukáš Hozda⁩ آلية ⁦Bitcoin⁩ من خلال البرمجة بلغة ⁦Rust⁩. يبني القارئ نظامًا تعليميًا ويتعرّف تدريجيًا إلى مسؤولية كل جزء منه.

⁦Building Bitcoin in Rust⁩ كتاب تعليمي قائم على المشاريع، نشرته ⁦Braiins⁩. يشرح أفكار ⁦Bitcoin⁩ ولغة ⁦Rust⁩ عبر تنفيذ مبسّط، وليس دليلًا لحفظ بيتكوين حقيقي بأمان.

لا يلزمك معرفة كيفية تواصل البرامج لكي ترسل دفعة من محفظة. لكن إذا أردت فهم ما يجري في الداخل، يقترح ⁦Lukáš Hozda⁩ تجاوز قراءة التعريفات إلى بناء أجزاء من النظام بنفسك. نشرت ⁦Braiins⁩ الكتاب عام ⁦2024⁩، وتذكر ⁦Daniela Brozzoni⁩ و⁦Luukas Pörtfors⁩ ضمن المساهمين. ويتوجه أساسًا إلى الطلاب والعاملين في تقنية المعلومات الذين يرغبون في فهم ⁦Bitcoin⁩ أثناء كتابة الشيفرة. [1]

تصف الجهة الناشرة مسارًا يبدأ من ⁦Whitepaper⁩، أي الشرح الأصلي لتصميم ⁦Bitcoin⁩، ثم أساسيات ⁦Rust⁩ وصولًا إلى مكتبة برمجية وبرنامج تعدين وعقدة ومحفظة تُدار بأوامر نصية. توفر المكتبة مكونات مشتركة، ويبحث برنامج التعدين عن كتلة مناسبة، وتشارك العقدة في التحقق من البيانات وتمريرها. أما المحفظة فتتعامل مع المفاتيح وتجهّز الدفعات. يستخدم برنامج التعدين ⁦CPU⁩ معالج الحاسوب؛ وهو هنا وسيلة للتعلّم، لا وعدًا بدخل من التعدين. [3]

يصف المستودع المصاحب، وهو مجموعة شيفرة مصدرية متاحة للعامة، المشروع بأنه تنفيذ تعليمي مبسّط. يتيح النموذج تتبّع العلاقات التي قد تضيع بين تفاصيل برنامج كبير. لكن عنوان الكتاب لا يعني أن النتيجة بديل عن ⁦Bitcoin Core⁩. وقدرة النموذج على تبادل معاملاته الخاصة لا تثبت توافقه مع شبكة ⁦Bitcoin⁩ الحقيقية، ولا ملاءمته لحفظ الأموال. [4]

يحتاج البرنامج إلى ذاكرة لحفظ البيانات. وقد يسبب استخدامها بعد تحرير تلك الذاكرة أخطاء. تساعد ⁦Rust⁩ على تجنب ذلك بقواعد ownership، التي تحدد أي جزء من البرنامج يملك قيمةً ومتى يمكن استخدامها. يفحص المترجم، الذي يحوّل الشيفرة المصدرية إلى برنامج قابل للتنفيذ، هذه القواعد قبل التشغيل. لكنه لا يعرف تلقائيًا إن كانت قواعد الدفع قد كُتبت على نحو صحيح. لذلك لا يثبت نجاح الترجمة صحة النظام كله. [5]

تخيّل تمرينًا من إعدادك: تجهّز دفعة وتوقّعها، ثم تغيّر المبلغ الذي شمله التوقيع. يفترض أن يربط التوقيع الرقمي الموافقة ببيانات محددة؛ لذا ينبغي أن يفشل التحقق من التوقيع الأصلي باستخدام البيانات المعدّلة. لا يكفي إذن ظهور الدفعة على الشاشة، بل يجب اختبار رفض المدخلات غير الصحيحة أيضًا. هذا مثال نطرحه لتوضيح التفكير في الاختبارات، وليس وصفًا لسلوك تحققنا منه في شيفرة الكتاب. [4] [5] [6]

يفصل المستودع بين المكتبة وبرنامج التعدين والعقدة والمحفظة. ويعرض ملف التعريف ⁦README⁩ طريقة بناء البرامج وتشغيلها، مما يساعد على تتبّع أدوارها المختلفة. نُشرت الشيفرة تحت ترخيص ⁦ISC⁩، الذي يتيح الاستخدام والتعديل مع الالتزام بشروطه. ويستثني الملف نفسه نص الكتاب صراحةً من هذا الترخيص. لذلك لا تعني إتاحة الشيفرة للعامة أن نسخ الكتاب بأكمله مسموح تلقائيًا. [4]

إذا لم تكتب برنامجًا من قبل، فابدأ بفهم المعاملة والمفتاح والعقدة والتعدين، وتعلّم أساسيات البرمجة بالتوازي. ثم تقدم بخطوات صغيرة: ماذا يجب أن تفعل هذه الخطوة، وكيف تنفذها الشيفرة، وكيف تكتشف الخطأ؟ هذه طريقتنا المقترحة للدراسة. تكمن قيمة الكتاب في وصل الفكرة بتجربة ملموسة، لا في الحصول السريع على محفظة جاهزة. لا تستخدم مدخرات حقيقية أو مفاتيحها في هذه التمارين. [1] [3]

يذكر فهرس ⁦Braiins⁩ عددًا قدره ⁦432⁩ صفحة، بينما يذكر المتجر ⁦429⁩. لم نقارن نسخة ورقية، ولذلك لا ندّعي حسم الاختلاف. يستند العرض إلى معلومات الناشر وتقديم المشروع وملف ⁦README⁩ ووثائق ⁦Rust⁩ حول ownership. وهو ليس مراجعة للكتاب كاملًا ولا تدقيقًا أمنيًا لشيفرته؛ كذلك لم نتحقق من نجاح بناء الأمثلة أو تشغيلها. توضح المصادر توجّه المشروع وحدوده، لكنها لا تقدم ضمانًا لتشغيله. [1] [2] [3] [4] [5] [6]

للحصول على صورة أوضح، اقرأ هذا المدخل مع Bitcoin Core, التعدين, Bitcoin, Braiins.

01هل أحتاج إلى معرفة سابقة بالبرمجة؟

يستهدف الكتاب أساسًا الطلاب والعاملين في تقنية المعلومات، ويقدم ⁦Rust⁩ أيضًا. ننصح المبتدئ تمامًا بتعلّم أساسيات البرمجة ومعاني المعاملة والمفتاح والعقدة أولًا، كي لا يبني دراسته على مفاهيم لا يعرفها.

02هل أستطيع استخدام المحفظة الناتجة لبيتكويني؟

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

DOC · 001Braiins — book recordمصدر أولي DOC · 002Braiins Store — paperbackمصدر أولي DOC · 003Braiins — learning projectمصدر أولي DOC · 004Braiins — companion repositoryمصدر أولي DOC · 005Rust — ownershipمصدر أولي DOC · 006Satoshi Nakamoto — Whitepaper: signatures and verificationمصدر أولي
تمت المراجعة: المصادر أولًا · ليست نصيحة استثمارية