تنطوي ولادة البيتكوين والبلوك تشين على مشكلتين طويلتين في العملة الرقمية: مشكلة الإنفاق المزدوج ومشكلة الجنرالات البيزنطيين
بالمقارنة مع العملة المادية في الحياة اليومية، فإن أكبر صعوبة في تطوير النقد الإلكتروني هي كيفية التغلب على «مشكلة الثقة». السبب في إمكانية استخدام الأصداف القديمة والمعادن الثمينة كمكافئات عامة هو أنها تعاني من ندرة معينة، وتعتمد الأوراق النقدية المادية اللاحقة على مصداقية الدولة لحل مشكلة الثقة.
كانت هذه العملات المادية ذات قيمة وتمكنت من إكمال تحويل القيمة على الفور. في العصر الرقمي، يكون أي محتوى في الأساس مزيجًا من الرموز 0 و 1، ويمكن نسخ الأموال الرقمية إلى نسختين وإصدارها إلى مستلمين مختلفين في نفس الوقت، وهو ما يسمى بـ «مشكلة الإنفاق المزدوج». لا تتمتع الإنترنت نفسها بالقدرة على تمثيل القيمة، لذلك كان على الأشخاص سابقًا استخدام نظام حساب مركزي مع خادم مركزي، مثل البنك، من أجل استخدام بطاقات الائتمان وأنواع أخرى من النقود الإلكترونية.
ولكن ما إذا كان هناك طرف ثالث موثوق به حقًا هو سؤال. هناك خطر حدوث نقطة واحدة من الفشل، مثل الهجمات على الخوادم المركزية، وحتى الحكومات قد تجمع «Seigniorage» عن طريق الإفراط في إصدار الأموال. الحل المقترح من بيتكوين هو التخلي عن وسطاء الطرف الثالث وبناء دفتر الأستاذ الموزع حيث يكون الجميع في مركز دفتر الأستاذ.
ولنتأمل هنا قرية لا يوجد فيها سوى «رئيس» واحد مسؤول عن حفظ دفتر الأستاذ، ويتم تسجيل جميع نفقات أعضاء القرية لدى رئيس القرية، الذي يعد محور نظام دفتر الأستاذ. يمكن للنظام أن يعمل بشكل جيد إذا كان رئيس القرية جديرًا بالثقة؛ ومع ذلك، إذا كان الرئيس، الذي هو مركز النظام، لصًا، فقد يكون من الصعب على الآخرين اكتشافه.
فكر في قرية «لامركزية» يمتلك فيها كل عضو دفتر الأستاذ نفسه. عندما يرغب أحد الأعضاء في إجراء تغيير على دفتر الأستاذ، يجب عليه إخطار الأعضاء الآخرين عبر «البث» حتى يتمكنوا من تأكيد الإدخالات ونسخها إلى دفاتر الأستاذ الخاصة بهم. لا تكتمل عملية المعاملة حتى يقوم جميع الأعضاء بتأكيد وتحديث دفاتر الأستاذ الخاصة بهم. هذه هي الطريقة التي تعمل بها شبكة Bitcoin بشكل أساسي.
ابتكرت Bitcoin نوعًا جديدًا من النظام الرقمي لتسجيل معاملات الأصول المعروفة باسم دفتر الأستاذ الموزع. وعلى النقيض من التسجيل المركزي، حيث يتم تخزين البيانات على خوادم مركزية، فإن بلوكتشين هي قاعدة بيانات لامركزية، حيث تعمل كل عقدة في الشبكة كحامل لقاعدة البيانات والمشرف عليها.
كانت بيتكوين أول تطبيق واسع النطاق لبلوكتشين، والبلوك تشين هي الأساس الأساسي لبيتكوين.
يمكن تقسيم نظام Bitcoin إلى ثلاث طبقات: طبقة البيانات وطبقة البروتوكول وطبقة التطبيق. لنبدأ بـ «دفتر الأستاذ» (طبقة البيانات) التي يمتلكها كل عضو في نظام Bitcoin.
إن البلوكشين هو في الأساس دفتر الأستاذ الموزع الذي تحتفظ به جميع العقد في الشبكة، حيث تقوم كل عقدة بتخزين بيانات البلوكشين بأكملها. «سلسلة» الكتلة المخزنة بواسطة العقدة هي سلسلة مرتبة من الكتل المتصلة معًا، والكتلة نفسها عبارة عن بنية غير قابلة للتغيير من البيانات تحتفظ بها خوارزمية Cryptographic Hash.
تعد دالة التجزئة (SHA-256 وRIPEMD160) خوارزمية تشفير مهمة في بيتكوين يمكنها تحويل قيمة إدخال ذات طول تعسفي إلى مخرجات قيمة ذات طول ثابت مع ميزات عشوائية وخالية من التصادمات. ومن الصعب تخمين قيمة الإدخال لدالة التجزئة من مخرجاتها. يمكن أن يؤدي تغيير بسيط في الإدخال إلى مخرجات مختلفة بشكل كبير. يمكن اشتقاق مخرجات دالة التجزئة بسهولة من المدخلات، ولكن استنتاج المدخلات من المخرجات يتطلب تعداد القوة الغاشمة، الأمر الذي يستغرق قدرًا كبيرًا من الوقت وقوة الحوسبة. يعمل الاستخدام المتكرر لوظائف الهاش على تبسيط وتحديد بنية بيانات بيتكوين.
تتكون كتلة بيتكوين من جزأين: جسم الكتلة ورأس الكتلة. يحتوي نص الكتلة على جميع معلومات المعاملات على تلك الكتلة، والتي يتم تجزئتها عدة مرات لتشكيل بنية تعرف باسم شجرة Merkle، والتي تشكل جسم الكتلة. تُعرف رسالة المعاملة الأولى على كل من هذه الكتل أيضًا باسم معاملة coinbase وهي المعاملة التي تولد عملات بيتكوين جديدة وتكافئها للمُعدِّن، في حين أن جميع المعاملات الأخرى عبارة عن تحويلات بين المستخدمين لبعضهم البعض.
تخضع هذه المعاملات لعمليات تجزئة متعددة للوصول أخيرًا إلى قيمة تسمى Merkle Hash، وهي مجموع جميع بيانات المعاملات. يشكل Merkle Hash، جنبًا إلى جنب مع Nunce والطوابع الزمنية وتجزئات الكتلة الأصلية والبيانات الأخرى، رأس الكتلة، ويمكن أن يؤدي حساب قيمة التجزئة لرأس الكتلة إلى الحصول على Block Hash لهذه الكتلة. نظرًا لأن رأس الكتلة لكل كتلة يحتوي على قيمة التجزئة الخاصة بالكتلة الأصلية، فإن جميع الكتل متصلة بسلسلة. الكتل متشابكة، وأي تغيير في بيانات الكتلة سيؤدي إلى تغيير تجزئة الكتلة، مما سيؤدي إلى كسر السلسلة.
بعد تقديم «دفتر الأستاذ» (طبقة البيانات) التي تحتفظ بها كل عقدة، دعنا ننتقل إلى طبقة إجماع بيتكوين، المسؤولة عن أمان الشبكة.
قبل الخوض في الإجماع الموزع، من الضروري فهم مشكلة «الجنرالات البيزنطيين».
تعود مشكلة الجنرالات البيزنطيين إلى فترة القرون الوسطى عندما اعتمد الجيش البيزنطي على الرسل لنقل المعلومات بسبب مساحة بيزنطة الشاسعة. إذا قام الخائن عن عمد بتشويه المعلومات التشغيلية للجهات العليا، فسيؤدي ذلك إلى خطط تشغيلية غير متسقة، مما يؤدي إلى «مشكلة الجنرالات البيزنطيين».
تتكون شبكة بيتكوين من عدد من العقد اللامركزية، كل منها عبارة عن «هيئة» مستقلة ومستقلة ومتساوية. تمتلك كل عقدة في الشبكة نسختها الفريدة من بيانات blockchain، وكلها تريد أن تكون أول من يحزم المعاملات ويكسب مكافآت البيتكوين. إذن، ما هي العقدة التي ستنجح في الحصول على حقوق دفتر الأستاذ وإقناع الشبكة بأكملها بالتوصل إلى توافق في الآراء لتعديل بيانات بلوكتشين؟
إجابة بيتكوين هي آلية إجماع إثبات العمل (PoW)، والمعروفة عمومًا باسم «التعدين»، وهي عملية حوسبة رقمية تقوم بها العقد، حيث تحصل العقدة الأولى التي تجد «الإجابة» على حقوق دفتر الأستاذ. على وجه التحديد، تحتاج العقدة إلى الاستمرار في محاولة تغيير سرعة رأس الكتلة، وحساب تجزئة الكتلة، وأخيرًا الحصول على تجزئة الكتلة حيث تكون البتات القليلة الأولى صفرًا.
في هذه المرحلة، تكون قيمة Nunce هي الإجابة على السؤال. بعد العثور على الإجابة، ستقوم العقدة ببثها إلى عقد الشبكة الأخرى، وبعد التحقق من الإجابة، ستأخذ العقد الأخرى الكتلة بسرعة باعتبارها العقدة الأصلية الجديدة وتستمر في الجولة التالية من عمليات التعدين.
يمثل ذلك مشكلة تتمثل في أن البيانات تستغرق وقتًا للبث بين العقد، ومن الممكن تمامًا أن تكتشف عقدتان أو أكثر إجابة اللغز في نفس الوقت قبل أن يتوصل المجتمع ككل إلى اتفاق. ومع ذلك، نظرًا لأن العقدتين تحملان معاملات Coinbase مختلفة، ينتج عن ذلك كتلتان صالحتان متميزتان. نظرًا لتسلسلات الإشارات المختلفة، ستعمل عقد التعدين على كلا سلسلتي الشوكات. وفي هذه المرحلة، ستتبع شبكة بيتكوين «قاعدة السلسلة الأطول»، حيث ستتعامل مع سلسلة الانقسام التي تحتوي على أكبر عدد من الكتل باعتبارها سلسلة بلوكتشين الوحيدة المعترف بها. عادةً ما يتم إكمال مسابقة التفرع هذه في أقل من 6 كتل، ويتم إلغاء جميع المعاملات على السلسلة المهجورة الأخرى.
يمكن لعُقد بيتكوين مزامنة التحديثات إلى دفتر الأستاذ الموزع عن طريق التعدين وقاعدة السلسلة الأطول للوصول إلى توافق في الآراء. هذا السجل الموزع القائم على الإجماع يجعل أيضًا العملات الرقمية من نظير إلى نظير مثل Bitcoin ممكنة.
تستخدم العملات الإلكترونية التقليدية نظام حساب مركزي حيث يتم إنشاء حسابات لكل مستخدم على خادم مركزي، ويتم تخزين بيانات الرصيد لجميع الحسابات. بعد كل معاملة، يتم زيادة رصيد الحساب أو إنقاصه بالترتيب الزمني. من ناحية أخرى، تستخدم بيتكوين نموذج UXTO، الذي يمثل ناتج المعاملات غير المنفقة.
يتم استخدام التشفير غير المتماثل لتأمين معاملات البيتكوين. يجب أن يكون لدى كل مستخدم بيتكوين زوج من المفاتيح العامة والخاصة، على غرار الحساب وكلمة المرور. يجب على المستخدم توقيع بيانات المعاملة باستخدام المفتاح الخاص، ونشر بيانات المعاملة والتوقيع والمفتاح العام معًا. ومع ذلك، في كل معاملة، لا يقوم المستخدم بتحويل رصيد الحساب مباشرة ولكنه يستخدم «المبلغ غير المنفق» للمعاملات السابقة المتعددة، أي أوتكسو.
في نظام بيتكوين، لا يوجد مفهوم للحساب أو رصيد الحساب، فقط UTXO لجميع المعاملات في السجل التاريخي. يمكن لمحافظ بيتكوين مسح بيانات جميع المعاملات السابقة وحساب إجمالي UTXO لعنوان معين (أي المفتاح العام) لتحديد رصيد الحساب. علاوة على ذلك، عند بدء المعاملة، يمكن لمحافظ البيتكوين تلقائيًا مطابقة UTXO بالرصيد الصحيح لإكمال التحويل.
تنطوي ولادة البيتكوين والبلوك تشين على مشكلتين طويلتين في العملة الرقمية: مشكلة الإنفاق المزدوج ومشكلة الجنرالات البيزنطيين
بالمقارنة مع العملة المادية في الحياة اليومية، فإن أكبر صعوبة في تطوير النقد الإلكتروني هي كيفية التغلب على «مشكلة الثقة». السبب في إمكانية استخدام الأصداف القديمة والمعادن الثمينة كمكافئات عامة هو أنها تعاني من ندرة معينة، وتعتمد الأوراق النقدية المادية اللاحقة على مصداقية الدولة لحل مشكلة الثقة.
كانت هذه العملات المادية ذات قيمة وتمكنت من إكمال تحويل القيمة على الفور. في العصر الرقمي، يكون أي محتوى في الأساس مزيجًا من الرموز 0 و 1، ويمكن نسخ الأموال الرقمية إلى نسختين وإصدارها إلى مستلمين مختلفين في نفس الوقت، وهو ما يسمى بـ «مشكلة الإنفاق المزدوج». لا تتمتع الإنترنت نفسها بالقدرة على تمثيل القيمة، لذلك كان على الأشخاص سابقًا استخدام نظام حساب مركزي مع خادم مركزي، مثل البنك، من أجل استخدام بطاقات الائتمان وأنواع أخرى من النقود الإلكترونية.
ولكن ما إذا كان هناك طرف ثالث موثوق به حقًا هو سؤال. هناك خطر حدوث نقطة واحدة من الفشل، مثل الهجمات على الخوادم المركزية، وحتى الحكومات قد تجمع «Seigniorage» عن طريق الإفراط في إصدار الأموال. الحل المقترح من بيتكوين هو التخلي عن وسطاء الطرف الثالث وبناء دفتر الأستاذ الموزع حيث يكون الجميع في مركز دفتر الأستاذ.
ولنتأمل هنا قرية لا يوجد فيها سوى «رئيس» واحد مسؤول عن حفظ دفتر الأستاذ، ويتم تسجيل جميع نفقات أعضاء القرية لدى رئيس القرية، الذي يعد محور نظام دفتر الأستاذ. يمكن للنظام أن يعمل بشكل جيد إذا كان رئيس القرية جديرًا بالثقة؛ ومع ذلك، إذا كان الرئيس، الذي هو مركز النظام، لصًا، فقد يكون من الصعب على الآخرين اكتشافه.
فكر في قرية «لامركزية» يمتلك فيها كل عضو دفتر الأستاذ نفسه. عندما يرغب أحد الأعضاء في إجراء تغيير على دفتر الأستاذ، يجب عليه إخطار الأعضاء الآخرين عبر «البث» حتى يتمكنوا من تأكيد الإدخالات ونسخها إلى دفاتر الأستاذ الخاصة بهم. لا تكتمل عملية المعاملة حتى يقوم جميع الأعضاء بتأكيد وتحديث دفاتر الأستاذ الخاصة بهم. هذه هي الطريقة التي تعمل بها شبكة Bitcoin بشكل أساسي.
ابتكرت Bitcoin نوعًا جديدًا من النظام الرقمي لتسجيل معاملات الأصول المعروفة باسم دفتر الأستاذ الموزع. وعلى النقيض من التسجيل المركزي، حيث يتم تخزين البيانات على خوادم مركزية، فإن بلوكتشين هي قاعدة بيانات لامركزية، حيث تعمل كل عقدة في الشبكة كحامل لقاعدة البيانات والمشرف عليها.
كانت بيتكوين أول تطبيق واسع النطاق لبلوكتشين، والبلوك تشين هي الأساس الأساسي لبيتكوين.
يمكن تقسيم نظام Bitcoin إلى ثلاث طبقات: طبقة البيانات وطبقة البروتوكول وطبقة التطبيق. لنبدأ بـ «دفتر الأستاذ» (طبقة البيانات) التي يمتلكها كل عضو في نظام Bitcoin.
إن البلوكشين هو في الأساس دفتر الأستاذ الموزع الذي تحتفظ به جميع العقد في الشبكة، حيث تقوم كل عقدة بتخزين بيانات البلوكشين بأكملها. «سلسلة» الكتلة المخزنة بواسطة العقدة هي سلسلة مرتبة من الكتل المتصلة معًا، والكتلة نفسها عبارة عن بنية غير قابلة للتغيير من البيانات تحتفظ بها خوارزمية Cryptographic Hash.
تعد دالة التجزئة (SHA-256 وRIPEMD160) خوارزمية تشفير مهمة في بيتكوين يمكنها تحويل قيمة إدخال ذات طول تعسفي إلى مخرجات قيمة ذات طول ثابت مع ميزات عشوائية وخالية من التصادمات. ومن الصعب تخمين قيمة الإدخال لدالة التجزئة من مخرجاتها. يمكن أن يؤدي تغيير بسيط في الإدخال إلى مخرجات مختلفة بشكل كبير. يمكن اشتقاق مخرجات دالة التجزئة بسهولة من المدخلات، ولكن استنتاج المدخلات من المخرجات يتطلب تعداد القوة الغاشمة، الأمر الذي يستغرق قدرًا كبيرًا من الوقت وقوة الحوسبة. يعمل الاستخدام المتكرر لوظائف الهاش على تبسيط وتحديد بنية بيانات بيتكوين.
تتكون كتلة بيتكوين من جزأين: جسم الكتلة ورأس الكتلة. يحتوي نص الكتلة على جميع معلومات المعاملات على تلك الكتلة، والتي يتم تجزئتها عدة مرات لتشكيل بنية تعرف باسم شجرة Merkle، والتي تشكل جسم الكتلة. تُعرف رسالة المعاملة الأولى على كل من هذه الكتل أيضًا باسم معاملة coinbase وهي المعاملة التي تولد عملات بيتكوين جديدة وتكافئها للمُعدِّن، في حين أن جميع المعاملات الأخرى عبارة عن تحويلات بين المستخدمين لبعضهم البعض.
تخضع هذه المعاملات لعمليات تجزئة متعددة للوصول أخيرًا إلى قيمة تسمى Merkle Hash، وهي مجموع جميع بيانات المعاملات. يشكل Merkle Hash، جنبًا إلى جنب مع Nunce والطوابع الزمنية وتجزئات الكتلة الأصلية والبيانات الأخرى، رأس الكتلة، ويمكن أن يؤدي حساب قيمة التجزئة لرأس الكتلة إلى الحصول على Block Hash لهذه الكتلة. نظرًا لأن رأس الكتلة لكل كتلة يحتوي على قيمة التجزئة الخاصة بالكتلة الأصلية، فإن جميع الكتل متصلة بسلسلة. الكتل متشابكة، وأي تغيير في بيانات الكتلة سيؤدي إلى تغيير تجزئة الكتلة، مما سيؤدي إلى كسر السلسلة.
بعد تقديم «دفتر الأستاذ» (طبقة البيانات) التي تحتفظ بها كل عقدة، دعنا ننتقل إلى طبقة إجماع بيتكوين، المسؤولة عن أمان الشبكة.
قبل الخوض في الإجماع الموزع، من الضروري فهم مشكلة «الجنرالات البيزنطيين».
تعود مشكلة الجنرالات البيزنطيين إلى فترة القرون الوسطى عندما اعتمد الجيش البيزنطي على الرسل لنقل المعلومات بسبب مساحة بيزنطة الشاسعة. إذا قام الخائن عن عمد بتشويه المعلومات التشغيلية للجهات العليا، فسيؤدي ذلك إلى خطط تشغيلية غير متسقة، مما يؤدي إلى «مشكلة الجنرالات البيزنطيين».
تتكون شبكة بيتكوين من عدد من العقد اللامركزية، كل منها عبارة عن «هيئة» مستقلة ومستقلة ومتساوية. تمتلك كل عقدة في الشبكة نسختها الفريدة من بيانات blockchain، وكلها تريد أن تكون أول من يحزم المعاملات ويكسب مكافآت البيتكوين. إذن، ما هي العقدة التي ستنجح في الحصول على حقوق دفتر الأستاذ وإقناع الشبكة بأكملها بالتوصل إلى توافق في الآراء لتعديل بيانات بلوكتشين؟
إجابة بيتكوين هي آلية إجماع إثبات العمل (PoW)، والمعروفة عمومًا باسم «التعدين»، وهي عملية حوسبة رقمية تقوم بها العقد، حيث تحصل العقدة الأولى التي تجد «الإجابة» على حقوق دفتر الأستاذ. على وجه التحديد، تحتاج العقدة إلى الاستمرار في محاولة تغيير سرعة رأس الكتلة، وحساب تجزئة الكتلة، وأخيرًا الحصول على تجزئة الكتلة حيث تكون البتات القليلة الأولى صفرًا.
في هذه المرحلة، تكون قيمة Nunce هي الإجابة على السؤال. بعد العثور على الإجابة، ستقوم العقدة ببثها إلى عقد الشبكة الأخرى، وبعد التحقق من الإجابة، ستأخذ العقد الأخرى الكتلة بسرعة باعتبارها العقدة الأصلية الجديدة وتستمر في الجولة التالية من عمليات التعدين.
يمثل ذلك مشكلة تتمثل في أن البيانات تستغرق وقتًا للبث بين العقد، ومن الممكن تمامًا أن تكتشف عقدتان أو أكثر إجابة اللغز في نفس الوقت قبل أن يتوصل المجتمع ككل إلى اتفاق. ومع ذلك، نظرًا لأن العقدتين تحملان معاملات Coinbase مختلفة، ينتج عن ذلك كتلتان صالحتان متميزتان. نظرًا لتسلسلات الإشارات المختلفة، ستعمل عقد التعدين على كلا سلسلتي الشوكات. وفي هذه المرحلة، ستتبع شبكة بيتكوين «قاعدة السلسلة الأطول»، حيث ستتعامل مع سلسلة الانقسام التي تحتوي على أكبر عدد من الكتل باعتبارها سلسلة بلوكتشين الوحيدة المعترف بها. عادةً ما يتم إكمال مسابقة التفرع هذه في أقل من 6 كتل، ويتم إلغاء جميع المعاملات على السلسلة المهجورة الأخرى.
يمكن لعُقد بيتكوين مزامنة التحديثات إلى دفتر الأستاذ الموزع عن طريق التعدين وقاعدة السلسلة الأطول للوصول إلى توافق في الآراء. هذا السجل الموزع القائم على الإجماع يجعل أيضًا العملات الرقمية من نظير إلى نظير مثل Bitcoin ممكنة.
تستخدم العملات الإلكترونية التقليدية نظام حساب مركزي حيث يتم إنشاء حسابات لكل مستخدم على خادم مركزي، ويتم تخزين بيانات الرصيد لجميع الحسابات. بعد كل معاملة، يتم زيادة رصيد الحساب أو إنقاصه بالترتيب الزمني. من ناحية أخرى، تستخدم بيتكوين نموذج UXTO، الذي يمثل ناتج المعاملات غير المنفقة.
يتم استخدام التشفير غير المتماثل لتأمين معاملات البيتكوين. يجب أن يكون لدى كل مستخدم بيتكوين زوج من المفاتيح العامة والخاصة، على غرار الحساب وكلمة المرور. يجب على المستخدم توقيع بيانات المعاملة باستخدام المفتاح الخاص، ونشر بيانات المعاملة والتوقيع والمفتاح العام معًا. ومع ذلك، في كل معاملة، لا يقوم المستخدم بتحويل رصيد الحساب مباشرة ولكنه يستخدم «المبلغ غير المنفق» للمعاملات السابقة المتعددة، أي أوتكسو.
في نظام بيتكوين، لا يوجد مفهوم للحساب أو رصيد الحساب، فقط UTXO لجميع المعاملات في السجل التاريخي. يمكن لمحافظ بيتكوين مسح بيانات جميع المعاملات السابقة وحساب إجمالي UTXO لعنوان معين (أي المفتاح العام) لتحديد رصيد الحساب. علاوة على ذلك، عند بدء المعاملة، يمكن لمحافظ البيتكوين تلقائيًا مطابقة UTXO بالرصيد الصحيح لإكمال التحويل.