مقدمة تقنية في البيتكوين والبلوكتشين

تاريخ النشر: 03/06/2018

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

نبذة تاريخية

مؤسس البيتكوين هو شخص (أو مجموعة أشخاص) نشروا تقرير(1) يعرض فكرة النظام (يطلق عليها ورقة بيضاء white paper) تحت اسم فردي وهمي "ساتوشي ناكاموتو" عام ٢٠٠٨. هذه الورقة شرحت الأفكار الأساسية للنظام ومدى جدواها في حدود ٨ صفحات. العجيب أن هذا من يختفي تحت هذا الاسم الوهمي لا أحد يعرفه قطعا حتى تاريخ كتابتي لهذه التدوينة!!
تم بعد ذلك إطلاق النظام وتداول أول عملاته في سنة ٢٠٠٩ تقريبا. نظام البيتكوين هو برنامج مفتوح المصدر (بإمكان أي أحد الاطلاع عليه وتعديله) (2) يتم تشغيله على أنظمه موزعة (distributed systems). أي ببساطة برنامج يتم تشغيله على أكثر من جهاز حاسب تتواصل فيما بينها عن طريق شبكة الإنترنت، وهذه الأجهزة تتعاون على حفظ نسخة كاملة وتحديث قاعدة بيانات التحويلات لعملة بيتكوين (البلوكتشين).
الورقة والنظام المقترح كان فيه أفكار مبتكرة بالفعل، جذبت اهتمام الكثيرين، وزاد بعدها المجتمع المهتم بالموضوع، ابتدأ معه التداول والمتاجرة بعملة بيتكوين على نطاق واسع. هذا الاهتمام، خلال آخر سنتين تقريبا، جذب معه المجتمع الأكاديمي، وابتدأوا بتدريس تفاصيل هذا النظام، ومناقشته كتقنية مستقبلها واعد، وواعد جدا.

بيتكوين Bitcoin 


البيتكوين تطلق على نوع من العملات الافتراضية، كما تطلق على النظام التقني والشبكة التي يقوم عليها انتقال هذه العملة بين المستخدمين.
عملة البيتكوين هي رصيد افتراضي بحت وليس له وجود حسي أو حتى برمجي. هذا الرصيد الافتراضي يتم تعيينه ابتداءً من قِبَل شبكة البيتكوين لمستخدمين معينين تحت ظروف معينة (سأحاول شرحها لاحقا). وبناء على هذا الرصيد المكتسب، يستطيع المستخدم حامل البيتكوين تحويله لأشخاص آخرين. ومن ثم تُتداول هذه العملة كما يتم تداول العملات الحقيقية.
مع تقدم الزمن وزيادة المستخدمين والمتداولين بشكل مهول، أضحى البيتكوين له قيمة حقيقية عالية، ويمكن لحامله استبداله بعملة الدولار مثلا (قيمة ١ بيتكوين يساوي ٣١ ألف ريال سعودي تقريبا لحظة كتابتي لهذا السطر).

بلوكتشين Blockchain 


البلوكتشين هي وعاء لحفظ البيانات data-structure، يتم تحديثه وحفظه بطريقة فريدة. للتبسيط: بالإمكان وصفها كقاعدة بيانات. قاعدة البيانات هذه، في حالة استخدامها في منظومة بيتكوين، تحتوي على تاريخ التحويلات الكامل لعملة بيتكوين بين جميع متداوليها، منذ نشأتها. 


بماذا يختلف البلوكتشين عن قواعد البيانات الكلاسيكية؟ ما الجديد في البلوكتشين؟


البلوكتشين ليست وليدة الصدفة أو اللحظة، بل هي نتيجة تراكمية لأبحاث أكاديمية، ومن ثم تطبيق واقعي استمر لعقود، لأفكار قدمت في مجال التشفير cryptography والأنظمة الموزعة distributed systems منذ تسعينيات القرن الماضي تقريبا.


التحويل Transaction 


التحويل هو المفهوم الأهم في منظومة بيتكوين، والنظام قائم على حفظ تاريخ التحويلات بين المستخدمين. التحويل هو أمر لنقل كمية معينة من عملة بيتكوين، إلى مستخدم يحمل عنوان معين (أو مجموعة عناوين/مستخدمين). يتم إنشاء هذا الأمر إما من منظومة بيتكوين نفسها (أي صنع كمية جديدة من عملة بيتكوين)، أو من مستخدم لديه رصيد مكتسب من عملة بيتكوين. تقريبا كل عملية تحويل يفرض عليها رسوم بسيطة.
شبكة البيتكوين تعتمد على التشفير في التحقق من مصداقية طلب التحويلات، وأن صاحب العنوان المحول إليه هو فقط يستطيع التصرف بقيمة التحويل وليس أي شخص آخر. التشفير يتم باستخدام مفهوم شهير في علم التشفير، وهو استخدام المفتاح العام والمفتاح السري (3)public and private keys . 


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

مثال توضيحي:  سأحاول شرح المثال في الصورة السابقة، والتي تستعرض تفاصيل تحويلين (افتراضيين) في شبكة بيتكوين:

الحزمة block 

(4)


معنى البلوكتشين blockchain الحرفي هي سلسلة من الكتل أو الحزم chain of blocks. الحزمة block تحتوي على مجموعة من التحويلات transactions. يتم تحديث البلوكتشين عن طريق إضافة بلوك (حزمة) جديدة تقريبا كل ١٠ دقائق، تحتوي على تحويلات جديدة لم يتم إدراجها من قبل.
نأتي هنا لعملية مهمة، والتي من خلالها يتم إنشاء عملة بيتكوين جديدة، من العدم، وتعيينها لمستخدمين معينين. يطلق على هذه العملية التعدين mining.


التعدين mining 

 كما ذكرت سابقا، عملة البيتكوين هي افتراضية بحتة. يتم صنع كمية جديدة منها دوريا، وتعيينها (على شكل مكافأة) لمستخدم معين في كل مرة. هذا المستخدم سعيد الحظ، هو من يقوم بإضافة حزمة جديدة block، إلى قاعدة البيانات (البلوكتشين)، ومن ثم نشرها في الشبكة. ومكافأة له، يتم إعطائه كمية جديدة من عملة بيتكوين، بالإضافة إلى مجموع رسوم التحويل لجميع التحويلات المدرجة في الحزمة المضافة.  
عملية التعدين هذه يتنافس عليها الجميع، لسبب بسيط: المكافأة المالية المجزية. لهذه العملية شرط مهم، يجب على المستخدم الذي يقدم حزمة جديدة block أن يجيب على لغز برمجي يطلق عليه proof of work. إيجاد جواب لهذا اللغز يعتمد عن نوع من الحظ؛ لأن المستخدم يضطر لتجريب عدد كبير جدا من الإجابات المحتملة حتى يصل لجواب مقبول يحقق الشرط. (هي عملية برمجية بحتة). يجب ملاحظة أن عملية التجريب هذه قد تكون اعتباطية نوعا ما.  بمعنى أنه من يحصل على هذه المكافأة لا يخرج عن حالتين:-


بقي أن أذكر أن الحد الأعلى من كمية البيتكوين التي ينشئها النظام هو ٢١ مليون بيتكوين تقريبا. هذا الحد الأعلى تم فرضه رياضيا، عن طريق تقليل مكافأة التعدين مع مرور الوقت، لأسباب مختلفة، إحداها مقاومة التضخم. 

بناء على المعطيات الرياضية، في سنة ٢١٤٠ ميلادي تقريبا سيتم التوقف عن إصدار عملة بيتكوين جديدة. والمكافأة من عملية التعدين ستقتصر على رسوم التحويل المجمعة.

نقاط توضيحية متفرقة


وفي النهاية يجب التذكير أن البيتكوين، حسب ما وصفها مؤسسها (أو مؤسسوها) هي عملة  (تجريبية). بمعنى أنها غير ناضجة تماما، وهي في مجال تطوير مستمر.
انتهى بحمد الله. في حال أعجبك المقال يرجى تكرما إبلاغي بذلك، فذلك يزيدني حرصاً على كتابة تدوينات أخرى في مجالات اهتمامي التقنية.
ما ذُكر في هذه التدوينة يشمل ترجمة مباشرة، أو ترجمة غير حرفية، أو شرح أفكار تمت مناقشتها في المصادر المذكورة في الأسفل. (5) (6) (7)



  • (1) رابط الورقة البيضاء: https://bitcoin.org/bitcoin.pdf

  • (2) https://github.com/bitcoin/bitcoin

  • (3) صفحة ويكيبيديا: https://ar.wikipedia.org/wiki/تشفير_باستخدام_المفتاح_العام

  • (4) مصدر الصورة: https://gist.github.com/insp3ctre/403b8cb99eae2f52565874d8547fbc94

  • (5)Mastering bitcoin book: https://github.com/bitcoinbook/bitcoinbook

  • (6) Bitcoin from distributed system point of view: https://cs.brown.edu/courses/csci2952-a/papers/perspective.pdf

  • (7) http://learnmeabitcoin.com