.class="img-fluid clearfix"
الملخص التنفيذي / أبرز النقاط
- المشكلة. تستلزم النقود الرقمية حل مشكلة الإنفاق المزدوج: منع إنفاق الوحدة ذاتها مرتين دون مقاصة موثوقة. حلّ الورقة البيضاء لـ Bitcoin عام 2008 هذه المعضلة باستبدال الوسطاء الموثوقين بالدليل التشفيري والإجماع الموزع (Nakamoto, 2008).
- هيكل البيانات. البلوك تشين هو قائمة مترابطة من الكتل يحتوي رأس كل منها على تجزئة SHA-256 للرأس السابق. تجعل سلسلة التجزئة التاريخَ للإلحاق فقط: تعديل أي كتلة سابقة يُبطل كل تجزئة لاحقة، مما يرغم المهاجم على إعادة تنفيذ proof-of-work بأكمله.
- أشجار Merkle. تُجزَّأ المعاملات داخل الكتلة في شجرة Merkle ثنائية. تتيح تجزئة الجذر المخزّنة في رأس الكتلة التحقق الفعّال من أي معاملة منفردة دون تحميل الكتلة بالكامل — وهو أساس عملاء SPV الخفيفة.
- امتداد Ethereum. قدّمت الورقة الصفراء لـ Ethereum (2014) الـ EVM — آلة مكدس حتمية تعمل على كل عقدة كاملة. العقود الذكية هي شيفرة منشورة على السلسلة؛ تُنفَّذ بالتطابق على جميع العقد وتُسوَّى ذرياً، مستبدلةً الوسطاء الموثوقين بشيفرة تُنفّذ نفسها (Wood, 2014).
- الأهمية العملية. كل أصل مُرمَّز وعملة استقرار وبروتوكول DeFi نُشر منذ 2017 يعمل على هذه الأسس. إن فهم سلسلة التجزئة وشجرة Merkle ونموذج تنفيذ EVM شرط لازم للعمل مع أي نظام قائم على Ethereum.
المشكلة التي حلّها البلوك تشين #
قبل Bitcoin، كانت المدفوعات الرقمية تستلزم وسيطاً موثوقاً — بنكاً أو معالج مدفوعات أو غرفة مقاصة — للحيلولة دون الإنفاق المزدوج. لو أرسلت Alice ملفاً رقمياً يمثّل 10 جنيهات إسترلينية إلى Bob، لما كان في الملف ذاته ما يمنعها من إرسال نسخة مطابقة إلى Carol. كان الحل في كل نظام قائم يتمثل في السجلات المركزية: يُثبت دفتر أستاذ البنك أن المال أُنفق، فلا يمكن إنفاقه مجدداً.
كان إسهام Bitcoin استبدال ذلك الدفتر الموثوق بدفتر موزع تُنسخ فيه سجلات جميع المعاملات عبر آلاف العقد المستقلة. وتحوّل انعدام الثقة المتبادل بين العقد إلى أمان عبر آليتين:
-
الربط التشفيري. تحتوي كل كتلة معاملات على تجزئة الكتلة السابقة. دالة التجزئة هي تعيين حتمي أحادي الاتجاه: لأي مدخل، تنتج الدالة مخرجاً بطول ثابت، وتغيير بتّة واحدة من المدخل ينتج مخرجاً مختلفاً كلياً. يعني هذا أن أي تعديل على كتلة تاريخية يُبطل كل كتلة بعدها.
-
إجماع proof-of-work. يستلزم إضافة كتلة جديدة إيجاد قيمة nonce تجعل تجزئة الكتلة تقع دون عتبة مستهدفة — مكلفة حسابياً في إيجادها، رخيصة للغاية في التحقق منها. يجعل هذا إعادة كتابة التاريخ مكلفةً بما يتناسب مع عمق الكتلة المعدَّلة، إذ يجب على المهاجم إعادة تنفيذ proof-of-work بأسره من تلك الكتلة حتى طرف السلسلة.
يعني هذا التآزر أن السلسلة الأطول ذات أكبر proof-of-work التراكمي هي، بحكم بنيتها، تلك التي يصونها المشاركون الأمناء المنفقون للموارد الحقيقية.
عناصر البناء التشفيرية #
يجمع البلوك تشين ثلاثة بدائل تشفيرية موجودة مسبقاً في بنية جديدة:
دوال تجزئة SHA-256 #
SHA-256 (خوارزمية التجزئة الآمنة بـ256 بت) عضو في عائلة SHA-2 التي وضع معاييرها NIST. تأخذ مدخلاً بطول تعسفي وتنتج مخرجاً بـ256 بت. الخصائص الرئيسية للاستخدام في البلوك تشين:
- الحتمية. المدخل ذاته ينتج دائماً المخرج ذاته.
- مقاومة الصورة المسبقة. إذا أُعطيت مخرج تجزئة، فإن إعادة بناء المدخل غير ممكنة حسابياً.
- تأثير الانهيار الجليدي. تغيير بتّة واحدة في المدخل يغيّر نحو نصف بتات المخرج، مما يجعل البحث بالقوة الغاشمة غير فعّال.
- مقاومة التصادم. إيجاد مدخلَين مختلفَين ينتجان التجزئة ذاتها غير ممكن حسابياً.
تطبّق Bitcoin SHA-256 مرتين (SHA-256d) لمزيد من الأمان ضد هجمات تمديد الطول. تستخدم Ethereum كـKeccak-256، وهو متغيّر من الفائزين في نهائيات SHA-3.
أشجار Merkle #
شجرة Merkle هي شجرة ثنائية من التجزئات. كل عقدة ورقية هي تجزئة معاملة. كل عقدة داخلية هي تجزئة ابنيها. الجذر — جذر Merkle — يلخّص جميع معاملات الكتلة في قيمة واحدة بـ32 بايت مخزّنة في رأس الكتلة.
النتيجة العملية: للتحقق من أن معاملة بعينها مُدرجة في الكتلة، تحتاج فقط إلى log₂(n) من التجزئات، لا إلى جميع n من المعاملات. لكتلة بها 2,000 معاملة، يتطلب التحقق 11 تجزئة لا 2,000 — وهو أساس التحقق المبسّط من الدفع (SPV) في العملاء الخفيفة.
التوقيعات الرقمية (ECDSA) #
يستخدم تفويض المعاملات في Bitcoin وEthereum خوارزمية التوقيع الرقمي بالمنحنى الإهليجي (ECDSA) على منحنى secp256k1. يوقّع المفتاح الخاص على المعاملة؛ وبإمكان أي عقدة التحقق من التوقيع بالمفتاح العام المقابل دون معرفة المفتاح الخاص. يكفل هذا أن صاحب المفتاح الخاص وحده يمكنه تفويض الإنفاق من عنوان ما.
عناوين Ethereum هي آخر 20 بايت من تجزئة Keccak-256 للمفتاح العام — اشتقاق يجعل العناوين مدمجة وقابلة للنقل مع بقائها مرتبطة تشفيرياً بزوج المفاتيح.
كيف تعمل سلسلة كتل Bitcoin #
تحتوي كتلة Bitcoin على ثلاثة مكوّنات منطقية:
رأس الكتلة — 80 بايتاً تتضمن: إصدار البروتوكول، وتجزئة رأس الكتلة السابقة، وجذر Merkle للمعاملات، وطابع توقيت Unix، وهدف الصعوبة الحالي، وقيمة nonce. يكرّر عمّال التعدين قيمة nonce (وأحياناً الطابع الزمني أو nonce الإضافي في معاملة coinbase) حتى تقع تجزئة SHA-256 المزدوجة للرأس دون هدف الصعوبة.
قائمة المعاملات — المجموعة المرتّبة من المعاملات المُدرجة في الكتلة. تُسند معاملة coinbase (الأولى) مكافأة الكتلة ورسوم المعاملات إلى عنوان عامل التعدين.
السلسلة — الترابط بين الرؤوس. يحدّد proof-of-work التراكمي في السلسلة (مجموع العمل المُنجز لإنتاج كل كتلة) أيّ تشعّب هو السلسلة الأصلية. تتبع العقد دائماً السلسلة ذات أكبر عمل تراكمي.
يستهدف وقت الكتلة في Bitcoin عشر دقائق. تتعدّل الصعوبة كل 2,016 كتلة (نحو أسبوعين) للحفاظ على ذلك الهدف مع تغيّر معدل التجزئة الإجمالي للشبكة.
الطبقة القابلة للبرمجة في Ethereum #
عمّمت Ethereum نموذج معاملات Bitcoin من "نقل القيمة" إلى "تنفيذ الشيفرة". الإضافات الرئيسية:
الآلة الافتراضية لـ Ethereum (EVM). آلة افتراضية قائمة على المكدس بكلمات 256 بت تُنفّذ بصورة حتمية على جميع العقد الكاملة. لكل opcode تكلفة gas صريحة. يُقيَّد الحساب بحد gas الكتلة، مما يمنع الحلقات اللانهائية من تعطيل الشبكة. يجب أن تنتج جميع العقد التي تُنفّذ الشيفرة ذاتها على الحالة ذاتها المخرج ذاته — هذا الإجماع على التنفيذ هو ما يجعل العقود الذكية لا تستلزم ثقة.
الحسابات. لدى Ethereum نوعان من الحسابات: الحسابات المملوكة خارجياً (EOAs) التي يتحكم فيها المفاتيح الخاصة، وحسابات العقود التي تُخزَّن شيفرتها على السلسلة. معاملة مُرسَلة إلى عنوان عقد تُشغّل تنفيذ شيفرة العقد.
الحالة. الحالة الكلية لـ Ethereum هي تعيين من العناوين إلى حالات الحسابات (nonce، والرصيد، والتخزين، وتجزئة الشيفرة). جذر الحالة — شجرة Patricia Merkle لجميع حالات الحسابات — مُدرج في كل رأس كتلة، مما يتيح إثباتاً فعّالاً لحالة أي حساب عند أي ارتفاع كتلة.
Gas. يدفع المستخدمون gas (بالـ ETH) مقابل كل عملية EVM. يؤدي Gas وظيفتين: يعوّض عمّال التعدين/المُدققين على الحساب، ويحدّد الموارد التي يمكن لأي معاملة منفردة استهلاكها، مانعاً هجمات حجب الخدمة عبر العمليات المكلفة.
كتابة العقود الذكية بـ Solidity #
Solidity لغة ذات نوع ثابت وموجّهة للعقود، تُترجَم إلى شيفرة بايت EVM. يُوضح عقد رمز أدنى مفاهيم جوهرية:
pragma solidity ^0.8.0;
contract MyToken {
string public name;
string public symbol;
uint8 public decimals;
uint256 public totalSupply;
mapping(address => uint256) public balanceOf;
event Transfer(address indexed from, address indexed to, uint256 value);
constructor(
string memory _name,
string memory _symbol,
uint8 _decimals,
uint256 _totalSupply
) {
name = _name;
symbol = _symbol;
decimals = _decimals;
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
function transfer(address _to, uint256 _value) external returns (bool) {
require(balanceOf[msg.sender] >= _value, "Insufficient balance");
balanceOf[msg.sender] -= _value;
balanceOf[_to] += _value;
emit Transfer(msg.sender, _to, _value);
return true;
}
}
ملاحظات رئيسية: mapping(address => uint256) تخطيط تخزين EVM، ليس بنية بيانات في الذاكرة — القراءة والكتابة تستهلكان gas. require تُعيد المعاملة بأكملها عند الفشل، مُسترجِعةً gas غير المستخدم. event Transfer يُصدر سجلاً تستخدمه مُفهرسات الخارج عن السلسلة لتتبع التحويلات دون إعادة قراءة الحالة الكاملة. constructor يُشغَّل مرة واحدة عند النشر؛ تذهب المكالمات اللاحقة إلى الدوال المُسمّاة.
وضع معيار ERC-20 واجهةً مشتركة للرموز القابلة للاستبدال — transfer، وtransferFrom، وapprove، وallowance، وbalanceOf، وtotalSupply — مما يتيح لأي رمز متوافق مع ERC-20 العمل مع أي بورصة أو محفظة تدعم ERC-20 دون تكامل مخصص.
من دفتر الأستاذ إلى البنية التحتية المالية #
أصبحت البدائل المذكورة هنا — سلاسل التجزئة وأشجار Merkle والـ EVM وERC-20 — أساساً لمجموعة أوسع من التطبيقات المالية بين عامَي 2018 و2026:
التمويل اللامركزي (DeFi). تعمل بروتوكولات الإقراض (Compound، وAave) وصانعو السوق الآليون (Uniswap) ومجمّعات العوائد جميعاً كعقود ذكية EVM. تستبدل وظائف المقاصة والحضانة والتسوية لدى الوسطاء الماليين التقليديين بشيفرة ذاتية التنفيذ وتجمعات سيولة على السلسلة.
الأصول المُرمَّزة. تُجري البنوك المركزية والبنوك التجارية مشاريع تجريبية للودائع المُرمَّزة والسندات المُرمَّزة وصناديق سوق المال المُرمَّزة على متغيّرات محدودة الصلاحيات من السلاسل المتوافقة مع EVM. الآليات الجوهرية — انتقالات الحالة المحمية بالتجزئة والتسوية الذرية وقواعد التحويل القابلة للبرمجة — هي توارث مباشر من بنية Ethereum عام 2014.
العملات الرقمية للبنوك المركزية. يستكشف كل من أبحاث CBDC بالجملة لدى Bank of England وبرنامج اليورو الرقمي للـ ECB ومشروع Agorá بنى DLT مشتقة أو متوافقة مع التصاميم الأساسية في Bitcoin وEthereum. تبقى هياكل الإجماع وسلسلة التجزئة وثيقة الصلة حتى حين يختلف نموذج الصلاحيات والحوكمة اختلافاً جذرياً عن سلاسل الكتل العامة.
تمتد الرحلة من الورقة البيضاء لـ Bitcoin عام 2008 إلى التمويل المُرمَّز عام 2026 عبر عقدين من الزمن، لكنها تسير على نسب تقني متماسك. إن فهم كيفية إنفاذ سلسلة تجزئة SHA-256 للثبات وكيفية تمكين شجرة Merkle من التحقق الفعّال وكيفية تنفيذ EVM للعقود الذكية ذرياً، هو الشرط الأساسي لتقييم أي ادعاء حول ما يمكن للبلوك تشين فعله وما لا يمكنه في الخدمات المالية المنظَّمة.
الأسئلة المتكررة #
ما الفرق بين البلوك تشين وقاعدة البيانات الموزعة؟
تُنسخ بيانات قاعدة البيانات الموزعة التقليدية عبر العقد من أجل التوافر والأداء، لكن الثقة مركزية — يمكن للمسؤول تعديل السجلات. يجعل البلوك تشين التلاعبَ مكلفاً حسابياً عبر سلسلة التجزئة والإجماع: تعديل أي سجل تاريخي يستلزم إعادة تنفيذ كل proof-of-work أو proof-of-stake لاحق وإقناع الشبكة بقبول التشعّب المعدَّل. الخاصية المميّزة هي مقاومة التلاعب المدعومة بالتشفير وتصميم الحوافز بدلاً من ضوابط الوصول.
لماذا تستخدم Ethereum كـ Keccak-256 بدلاً من SHA-256؟
اعتمدت Ethereum Keccak-256 (المرشّح النهائي لـ SHA-3 قبل تعديلات معيار NIST) جزئياً لأن مصمّميها أرادوا الاستقلالية عن نسب SHA-2 الذي يعتمد عليه Bitcoin. لدى Keccak أيضاً خصائص جبرية مختلفة جعلته جذاباً لعمليات EVM بعينها. الأثر العملي على المطورين أن اشتقاق عناوين Ethereum وتجزئة فتحات التخزين يستخدمان Keccak-256 لا SHA-256d كما في Bitcoin.
ما الذي يمنعه "gas" في EVM؟
يمنع gas فئتين من الهجمات. أولاً، يمنع حجب الخدمة عبر العمليات المكلفة حسابياً: كل opcode يستهلك gas، فلا يستطيع المهاجم إرغام الشبكة على تنفيذ حلقات لانهائية بلا تكلفة. ثانياً، يحدّ حدّ gas الكتلة إجمالي الحساب لكل كتلة، مما يضمن بقاء وقت التحقق من صحة الكتلة محدوداً ومتوقعاً للعقد الكاملة. من دون gas، يمكن لاستدعاء عقد واحد تعطيل الشبكة بتنفيذ حساب غير مقيّد.
كيف يغيّر proof-of-stake النموذج الأمني مقارنةً بـ proof-of-work؟
في proof-of-work، يُوفَّر الأمان بالإنفاق على الطاقة: مهاجمة السلسلة تتطلب التحكم في أكثر من 50% من معدل تجزئة الشبكة، أي التحكم في أكثر من 50% من أجهزتها وطاقتها الحقيقية. في proof-of-stake (الذي تستخدمه Ethereum منذ الدمج عام 2022)، يُوفَّر الأمان بالرهان الاقتصادي: يقفل المُدققون ETH ضماناً يُخفَّض إن وقّعوا على كتل متعارضة. يستلزم هجوم بنسبة 51% الحصول على أكثر من 50% من إجمالي ETH المُراهَن وتعريضه للخطر — وهو تكلفة رأسمالية لا تكلفة أجهزة وطاقة. النموذج الأمني مختلف لكنه مُقارَن رياضياً من الناحية الاقتصادية في ظل افتراض أن المُدققين العقلاء يفضّلون دخل الرسوم على تدمير رأس المال.
المراجع #
- Nakamoto, S., (2008). Bitcoin: A Peer-to-Peer Electronic Cash System ⧉.
- Buterin, V., (2014). Ethereum: A Next-Generation Smart Contract and Decentralised Application Platform ⧉.
- Wood, G., (2014). Ethereum: A Secure Decentralised Generalised Transaction Ledger ⧉.
- NIST, (2015). SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions ⧉.
آخر مراجعة .
آخر مراجعة .