whitepaper / bitcoin

الورقة البيضاء لبيتكوين: شرح مبسّط لفكرة ساتوشي ناكاموتو

سمير سليمان الشويكان
Bitcoin: A Peer-to-Peer Electronic Cash System نظام الدفع الإلكتروني للنظراء — تسع صفحات، نُشرت عام 2008، وهي الورقة التي شرحت التصميم الأساسي لعملة البيتكوين.

أولًا: ما الفكرة التي أراد ساتوشي حلها؟

لفهم فكرة البيتكوين، يجب أن نبدأ بسؤال بسيط:

"هل يمكن لشخص إرسال أموال إلكترونية إلى شخص آخر بشكل مباشر، دون اللجوء إلى بنك أو أي مؤسسة مالية وسيطة بينهما؟" هذا السؤال هو جوهر البحث الذي بدأ ساتوشي ناكاموتو من خلاله ورقته.

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

أراد ساتوشي بناء نظام مختلف: إرسال أموال من شخص إلى شخص مباشرة، بدل إرسالها من شخص إلى بنك أو وسيط يقوم بتحويلها بعد التحقق. وهذا هو المعنى الحقيقي لفكرة Peer to Peer (P2P).

القضية الكبرى: كيف نمنع مشكلة الإنفاق المزدوج؟

تخيل أن لديك ملفًا رقميًا يمثل ريالًا رقميًا، بحيث يمكنك أن ترسل هذا الملف إلى أخيك. وبما أن الملف رقمي، فما المانع من نسخ المعلومات نفسها وإرسال نفس المال لأختك أيضًا؟ في العالم الحقيقي، عندما أمنحك ورقة نقدية بقيمة 100 ريال، فإن هذه الورقة لن تكون موجودة في أي مكان آخر سوى معك، ولا يمكنني نسخها أبدًا لأمنحها لشخص آخر. لكن في العالم الرقمي يمكننا نسخ البيانات — وهذه العملية تُسمى الإنفاق المزدوج (Double Spending): محاولة استخدام نفس القيمة أكثر من مرة.

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

الحل الأول: التوقيع الرقمي

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

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

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

الحل الثاني: الختم الزمني (Timestamp) وإثبات العمل

تقدّم الورقة مفهوم Timestamp Server: خادم أو نظام يضع ختمًا زمنيًا على مجموعة من البيانات. تتم العملية بجمع مجموعة من العمليات في مجموعات تُدعى كتلة (Block)، ثم حساب شفرة Hash لتلك الكتلة (البصمة الرقمية للبيانات)، بحيث إذا تغيّرت البيانات تتغيّر الشفرة تبعًا لذلك، وترتبط كل مجموعة جديدة بالبصمة السابقة. فتصبح لدينا سلسلة من بيانات المعاملات المجمّعة المترابطة فيما بينها، ما يجعل تغيير البيانات المكتوبة صعبًا، لأن تغيير بيانات قديمة يعني إعادة بناء جميع البيانات التي بعدها.

لكن من يقرر أي مجموعة صالحة للإضافة إلى السلسلة؟ خصوصًا أنه ليس هناك مدير مركزي. فقد يحدث أن يقترح جهازان مجموعة بيانات مختلفة في نفس الوقت، فأيّ منها نعتمد؟ هنا يبرز أهم اختراعات الورقة: إثبات العمل (Proof of Work). تطلب الشبكة من المشاركين حل لغز حسابي يتطلب قدرًا كبيرًا من العمل، ليس لتقديم معلومة مفيدة بحد ذاتها، بل لإثبات أن صاحب البيانات بذل قدرًا حقيقيًا من العمل الحسابي، الأمر الذي يؤهله ليكون جديرًا بالثقة ليقوم مقام الوسيط بين الأطراف المتبادلة للقيمة.

يعمل اللغز عن طريق تغيير قيمة تُسمى Nonce مرارًا وتكرارًا حتى تُنتج Hash مطابقة للمواصفات المطلوبة — يضع الجهاز رقمًا في خانة Nonce، ويقارن قيمة Hash الناتجة بالقيمة المطلوبة، فإن لم تتطابق يجرّب الرقم التالي، ويستمر حتى يصل للنتيجة المطلوبة. الميزة أن التحقق من الحل أسهل بكثير من العثور عليه.

لماذا هذا العمل الحسابي بالذات؟ لأن شبكة البيتكوين تحتاج لطريقة اتخاذ قرار جماعي دون أن ترتكز السلطة على شخص أو جهة بحد ذاتها. تخيل 1000 شخص، وكل واحد يستطيع إنشاء آلاف الهويات الوهمية — فلو كان لكل جهاز صوت واحد، يمكن لشخص إنشاء عدد هائل من الأجهزة الوهمية والحصول على أغلبية الأصوات. لهذا لا يعتمد نظام التصويت على عدد الهويات، بل على كمية العمل الحسابي المبذول، والسلسلة التي تحمل أكبر قدر من إثبات العمل هي التي تعتبرها الشبكة الصحيحة — وهذا هو مفهوم Longest Chain.

وبذلك، يمكن اختصار فكرة البلوكتشين بالكامل: تُجمع المعاملات بين الأطراف في كتلة Block، ترتبط بالكتلة السابقة التي اعتُمدت سابقًا، بعد تنفيذ إثبات العمل، وبعد نجاح العملية بالحصول على Hash المناسبة تُضاف الكتلة إلى السلسلة، ثم تأتي كتلة جديدة وترتبط بنفس الطريقة. المهم أن نستوعب أن البلوكتشين في شبكة البيتكوين ليست مجرد قاعدة بيانات موزعة، بل جزء من حل أكبر لمشكلة محددة: كيف نجعل مجموعة من الأشخاص يتفقون على سجل واحد للمعاملات دون وجود جهة مركزية؟

مبدأ عمل شبكة البيتكوين

شرح ساتوشي في ورقته خطوات عمل الشبكة عبر ست مراحل:

  1. إنشاء معاملة: يرغب الطرف الأول بإرسال قيمة للطرف الثاني، فيقوم بعملية بث Broadcast لهذه المعاملة إلى الشبكة.
  2. جمع المعاملات: تسمح الشبكة للمشاركين المتطوعين بجمع مجموعة من المعاملات في كتلة Block.
  3. تفعيل إثبات العمل: يحاول كل مشارك إيجاد رقم Nonce ينتج Hash مطابقة للمطلوب.
  4. إيجاد الحل: عندما يجد أحدهم الحل، يعلن بيانات الكتلة عن طريق بثها على الشبكة.
  5. التحقق من الصحة: يتأكد المشاركون من صحة المعاملات وعدم استخدامها سابقًا.
  6. استكشاف الكتلة التالية: يبدأ المشاركون العمل على الكتلة الجديدة اعتمادًا على Hash الكتلة الحالية.

ماذا لو ظهرت كتلتان في نفس الوقت؟

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

ماذا يستفيد المشاركون المتطوعون من هذه العملية؟

لتحفيز الأشخاص حول العالم على المساهمة بأجهزتهم ومواردهم، تقترح الورقة أن يحصل من ينجح بإنشاء كتلة صحيحة على مكافأة تؤدي وظيفتين: تشجيع المشاركين على دعم الشبكة، وإدخال عملات جديدة إلى التداول (بما أن النظام لا يملك بنكًا مركزيًا يصدر العملات). وهنا يظهر مفهوم التعدين (Mining) — ليس استخراج عملات من الأرض، بل استخدام القدرة الحاسوبية للمنافسة على إنشاء الكتلة الجديدة والحصول على المكافأة.

المصدر الآخر للحافز هو رسوم المعاملات (Transaction Fees): إذا كانت القيمة الداخلة في المعاملة أكبر من القيمة الخارجة، يمثل الفرق رسومًا يحصل عليها منشئ الكتلة، مع تصوّر مستقبلي بأن تصبح رسوم المعاملات مصدرًا رئيسيًا للحافز بعد دخول عدد محدد من العملات إلى التداول.

هل يتم تخزين كل شيء في الشبكة إلى الأبد؟

تقدّم الورقة فكرة Merkle Tree — طريقة ذكية لترتيب بصمات المعاملات داخل الكتلة، بحيث يُبنى هيكل من الـHashes ينتهي بقيمة واحدة تُسمى Merkle Root تُدرج في رأس الكتلة. هذا يسمح بالتخلص من بعض البيانات القديمة مع الاحتفاظ بما يكفي لإثبات أن معاملة معيّنة كانت جزءًا من الكتلة.

هل يحتاج كل شخص إلى تشغيل الشبكة كاملة؟

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

كيف يتم تقسيم الأموال ودمجها؟

تقترح الورقة أن تحتوي المعاملة على مدخلات Inputs ومخرجات Outputs. مثلًا، لديك قيمة سابقة مقدارها 10 وتريد إرسال 7:

10 ← 7 للطرف الآخر + 3 تعود إليك

وهذا هو مفهوم الباقي، كما يمكن جمع عدة مدخلات صغيرة لإنتاج مبلغ كبير.

ماذا عن الخصوصية؟

نقطة مهمة جدًا: لا تعتمد شبكة البيتكوين على إخفاء المعاملات — بل على العكس، تكون المعاملات معلنة على الشبكة، لكن الهوية الحقيقية لا تظهر بالضرورة بشكل مباشر. بدل "اسم الطرف الأول ← اسم الطرف الثاني"، نرى شيئًا أقرب إلى "عنوان/مفتاح عام ← عنوان/مفتاح عام". تتحدث الورقة عن استخدام مفاتيح جديدة لكل معاملة لخفض إمكانية ربط المعاملات ببعضها، مع الاعتراف بأن عمليات الربط يمكن أن تحدث، خصوصًا عند تعدد المدخلات.

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

ماذا لو حاول شخص التأثير على الشبكة وخداعها؟

لنفترض أن شخصًا أرسل لك بيتكوين، وبعد استلام السلعة حاول إنشاء سلسلة بديلة يقول فيها إنه لم يرسل شيئًا. نظريًا يمكنه المحاولة، لكن عليه إعادة تنفيذ العمل الحسابي للكتلة التي تحتوي معاملته، ثم كل الكتل التي أُضيفت بعدها، ثم اللحاق بالسلسلة الصحيحة وتجاوزها — وكلما أُضيفت كتل جديدة بعد المعاملة، ازداد الأمر صعوبة. وهذا هو السبب خلف أهمية التأكيدات (Confirmations): فكلما زاد عدد الكتل التي تأتي بعد معاملتك، زادت صعوبة تغيير تاريخها.

خصص ساتوشي القسم الحادي عشر من ورقته لشرح حساب احتمالية نجاح المهاجم رياضيًا. الفكرة الأساسية دون معادلات: إذا كانت قدرة الشبكة الصادقة أكبر من قدرة المهاجم، يصبح المهاجم في وضع أسوأ كلما زاد عدد الكتل التي تفصله عن السلسلة الصحيحة. فمثلًا، عند حصة مهاجم بـ10% من القدرة الحاسوبية، تنخفض احتمالية نجاحه بسرعة كبيرة، لتصل إلى أقل من 0.1% بعد 5 كتل فقط. لكن كلما ارتفعت قدرة المهاجم، ارتفعت معها الحاجة لعدد أكبر من التأكيدات.

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

ما هو الاختراع الحقيقي لعملة البيتكوين؟

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

وبذلك، نحصل على نظام يمكنه العمل دون الاعتماد على بنك أو جهة مركزية لإدارة سجل المدفوعات.

سيناريو مبسّط لفهم الورقة

تخيل أننا نحن الاثنين نريد إنشاء نظام نقد إلكتروني عالمي، بحيث يمكنني إرسال قيمة مباشرة لك، لكن أمامنا خمس مشكلات:

وهنا تكتمل الصورة.

الخلاصة

شبكة البيتكوين هي محاولة لبناء نظام نقد إلكتروني، يسمح لشخص بإرسال قيمة إلى شخص آخر بشكل مباشر، دون الحاجة إلى الاعتماد على مؤسسة مالية لإدارة سجل المعاملات. ولحل مشكلة الإنفاق المزدوج، تقترح الورقة نشر المعاملات على شبكة موزعة، وتجميعها في كتل Blocks مرتبطة ببعضها باستخدام Hash، ثم استخدام Proof of Work للوصول إلى اتفاق حول ترتيب هذه الكتل. وكلما تمت إضافة كتل جديدة، يصبح تغيير المعاملات السابقة أكثر تكلفة حسابيًا، بينما تُوفَّر المكافآت كحوافز للمشاركين للمساهمة في تشغيل الشبكة.

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

→ رجوع للمدونة تواصل معي