اكتمال تورينج: ما معناه، ولماذا احتاجت إليه إيثيريوم، ولماذا اختارت بيتكوين تجنبه
سألني صديق يعمل في مجال التمويل التقليدي ذات مرة عن سبب قدرة إيثيريوم على تشغيل تطبيقات مالية كاملة على سلسلة الكتل الخاصة بها، بينما يقتصر دور بيتكوين أساسًا على إرسال الأموال من عنوان إلى آخر. قال: "كلاهما يعتمد على سلسلة الكتل، فما الفرق الحقيقي بينهما؟"
حاولتُ شرح مفهوم اكتمال تورينج، لكنني لاحظتُ أن عينيه تذبلان. لذا حاولتُ مرة أخرى باستخدام تشبيه. البيتكوين أشبه بآلة بيع. تضع المال، تضغط زرًا، وتحصل على سلعة محددة. إنها تؤدي وظيفتها كما صُممت، لا أكثر. أما الإيثيريوم فهو مطبخٌ فيه طاهٍ. أعطِ الطاهي أي وصفة ومكونات كافية، وسيُبدع أي شيء. حلقات ("قلّب حتى يصبح المزيج كثيفًا")، قرارات ("إذا كان مالحًا جدًا، أضف الماء")، إبداع ("ابتكر حلوى مما تبقى"). يستطيع الطاهي اتباع أي تعليمات. أما آلة البيع فلا تستطيع.
هذا التشبيه ليس دقيقاً تماماً. سيشير عالم حاسوب إلى عدة أمور بسّطتها أكثر من اللازم. لكنه دفع صديقي لطرح السؤال الصحيح: "إذن، لماذا قد يختار أي شخص أن يكون آلة بيع؟"
هذا السؤال هو جوهر نقاش اكتمال تورينج في عالم العملات الرقمية. الأمان مقابل المرونة. القدرة على التنبؤ مقابل القوة. بيتكوين مقابل إيثيريوم. والجواب، للأسف، هو أن كلا الجانبين على حق.
من أين أتت هذه الفكرة ولماذا لا تزال ورقة بحثية في الرياضيات تعود لعام 1936 ذات أهمية
نشر آلان تورينج بحثًا بعنوان "حول الأعداد القابلة للحساب" عام ١٩٣٦، وكان عمره آنذاك ٢٣ عامًا. وصف فيه آلةً بسيطةً للغاية، تبدو وكأنها لعبة. شريط لاصق مُقسّم إلى خلايا، ورأس يقرأ ويكتب الرموز، وقواعد تُملي على الرأس ما يجب فعله بناءً على ما يقرأه. شريط، رأس، قواعد. هذه هي الآلة بأكملها.
هذا هو الجزء الذي لا يزال يُثير فيّ القشعريرة. أثبت تورينج أن هذه الآلة البسيطة للغاية قادرة على حساب أي شيء يمكن لأي حاسوب حسابه على الإطلاق. ليس بعض الأشياء، بل أي شيء. هاتفك يقوم بعمليات قراءة وكتابة على شريط ورأس الآن. وكذلك الخادم الذي يُشغّل برنامج ChatGPT. وكذلك الشريحة الموجودة في سيارتك. أثبت كل هذا في عام 1936، قبل وجود أي حاسوب إلكتروني على وجه الأرض. مضى على البحث ما يقارب 90 عامًا، ولا تزال جميع أقسام علوم الحاسوب في العالم تُدرّسه في الفصل الدراسي الأول.
عندما يُقال إن نظامًا ما "كامل تورينج"، فإن المقصود هو قدرته على محاكاة آلة تورينج الشريطية. فهو قادر على تشغيل الحلقات، واتخاذ القرارات بناءً على البيانات، وتخزين المعلومات في الذاكرة، وتنفيذ أي خوارزمية. حاسوبك المحمول كامل تورينج، بينما الآلة الحاسبة الجيبية ليست كذلك. وإليكم معلومة طريفة أحب مشاركتها: دوائر ريدستون في ماينكرافت كاملة تورينج من الناحية التقنية. فقد بنى اللاعبون حواسيب عاملة داخل اللعبة، ليست حواسيب مفيدة، لكنها حواسيب فعّالة.

كيف ينعكس هذا على البيتكوين: لماذا اختار ساتوشي تحديد القيود؟
بنى ساتوشي بيتكوين باستخدام لغة برمجة تُسمى "بيتكوين سكريبت"، وهي لغة بسيطة عن قصد. فهي تتحقق من التوقيعات، وتتعامل مع محافظ التوقيعات المتعددة، وتُقفل الأموال بشروط زمنية، وهذا كل ما في الأمر. لا توجد حلقات تكرارية، ولا تفرعات معقدة، ولا بيانات تنتقل بين المعاملات.
أدركتُ لأول مرة أهمية هذا الأمر عندما كنتُ أقرأ عن اختراق DAO على إيثيريوم (سأتطرق إلى ذلك لاحقًا). فقد تسبب استدعاء دالة تكرارية في استنزاف 150 مليون دولار من عقد ذكي، لأن الكود كان قادرًا على استدعاء نفسه في حلقة لا نهائية لم يتوقعها المطورون. أما على بيتكوين، فهذا الاختراق مستحيل. ليس مستبعدًا فحسب، بل مستحيل. لا يمكن لـ Bitcoin Script استدعاء نفسه، ولا يمكنه التكرار، ولا يمكنه الاستدعاء الذاتي. فاللغة محدودة للغاية بحيث لا تستطيع التعبير عن هذا النوع من الأخطاء التي كلّفت إيثيريوم 150 مليون دولار.
هذا القيد هو الميزة بحد ذاتها. كل سكربت بيتكوين ينتهي بشكل متوقع. يمكنك قراءته ومعرفة ما سيفعله بالضبط. لا مفاجآت. لا سلوك غير متوقع. عندما تؤمن شبكة تزيد قيمتها عن تريليون دولار، فإن "الرتابة والتوقع" ليسا نقطة ضعف، بل هما خيار تصميمي.
ما بناه فيتاليك ولماذا غيّر كل شيء
كان فيتاليك بوتيرين يبلغ من العمر 19 عامًا عندما نشر الورقة البيضاء لإيثيريوم في عام 2013. كان سؤاله بسيطًا وجذريًا: ماذا لو كان بإمكان سلسلة الكتل نفسها تشغيل أي برنامج؟ ليس فقط "إرسال العملات من أ إلى ب" ولكن أي شيء يمكن لجهاز كمبيوتر القيام به؟
كنتُ في الجامعة عندما صدرت الورقة البيضاء لإيثيريوم. قرأتها في ملف PDF شاركه أحدهم في منتدى بيتكوين. نصف الردود وصفت فيتاليك بالعبقري، بينما قال النصف الآخر إنه كان يبني نظامًا سيُخترق فورًا. وكلا الرأيين كان صحيحًا.
أُطلقت إيثيريوم في عام ٢٠١٥ بمكونين أساسيين جعلاها كاملة تورينج. سوليديتي هي لغة البرمجة لكتابة العقود الذكية، وتتضمن الحلقات، والشروط، وتخزين الحالة، واستدعاءات الدوال. كل ما تحتاجه. تقوم آلة إيثيريوم الافتراضية بتشغيل هذه العقود على جميع عُقد الشبكة في آنٍ واحد. معًا، يُمكّنان المطورين من نشر أي كود برمجي يكتبونه.
يكمن سر وجود التمويل اللامركزي (DeFi) في هذا القرار تحديداً، وفي وجود الرموز غير القابلة للاستبدال (NFTs)، وفي وجود المنظمات اللامركزية المستقلة (DAOs)، وفي تدفق مليارات الدولارات عبر برامج لا تخضع لسيطرة أي شركة بمفردها. فكل تطبيق مثير للاهتمام في عالم العملات الرقمية، من Uniswap إلى Aave إلى OpenSea، لا يمكن تحقيقه إلا بفضل قدرة إيثيريوم على تشغيل أي كود برمجي.
لكن فيتاليك راهن. راهن على أن قوة المرونة ستتفوق على مخاطر التعقيد. وقد اختبر اختراق DAO في عام 2016 هذا الرهان بشدة. وتستمر ثغرات التمويل اللامركزي التي تكلف مليارات الدولارات سنويًا في اختباره. ويستمر مجتمع البيتكوين في الإشارة إلى تلك الخسائر قائلاً: "لهذا السبب حافظنا على البساطة". كلا الجانبين محق.
مشكلة التوقف وسبب وجود رسوم الغاز
هذا هو الجزء الذي أبقاني مستيقظاً طوال الليل عندما فهمته لأول مرة.
أثبت تورينج أمرًا مُقلقًا في بحثه المنشور عام ١٩٣٦: لا يمكن لأي خوارزمية أن تنظر إلى أي برنامج عشوائي وتحدد بدقة ما إذا كان سينتهي من التنفيذ أم سيبقى في حلقة لا نهائية. هذه ليست مشكلة تقنية لم نحلها بعد، بل هي استحالة رياضية. مُثبتة. لا يمكن لأي حاسوب، مهما بلغ من التطور، أن يحل مشكلة التوقف لجميع البرامج.
على حاسوبي المحمول، تُعدّ الحلقة اللانهائية مزعجة. أضغط على Ctrl-C. وتستمر الحياة. أما على سلسلة الكتل، فالحلقة اللانهائية كارثية. كل عقدة تُشغّل كل عقد ذكي. إذا لم يتوقف أحد العقود، تتجمد كل عقدة على هذا الكوكب تُشغّل سلسلة الكتل تلك. وتتوقف الشبكة تمامًا.
حل إيثيريوم بسيط ولكنه فعال: رسوم الغاز. كل عملية حسابية تتطلب رسوم غاز. أنت تُضيف رسوم الغاز إلى معاملتك. عندما تنفد رسوم الغاز، يتوقف البرنامج. لا يهم إن كان قد انتهى أم لا، ولا حتى إن كان في منتصف عملية تحويل أموالك. عندما تصل رسوم الغاز إلى الصفر، يتوقف التنفيذ. لهذا السبب تختلف رسوم الغاز في إيثيريوم. تحويل بسيط: 21,000 رسوم غاز. عملية تبادل معقدة في مجال التمويل اللامركزي: 200,000 رسوم غاز. سك عملة NFT مع عملات فنية على السلسلة: نصف مليون رسوم غاز. أنت تدفع مقابل مقدار العمليات الحسابية التي يجب على كل عقدة القيام بها.
نظرت بيتكوين إلى هذه المشكلة وقالت "لا". لا يمكن كتابة حلقة تكرارية، ولا يمكن أن تتعثر فيها. كل برنامج نصي ينتهي. لا حاجة لآلية رسوم. اللغة محدودة للغاية بحيث لا يمكنها التعبير عن "إلى الأبد".
يونيو 2016: عندما تحولت النظرية إلى 150 مليون دولار في الواقع
كل نقاش حول اكتمال تورينج في العملات المشفرة يصل في النهاية إلى هذه اللحظة.
كانت المنظمة اللامركزية المستقلة (DAO) صندوق استثمار بقيمة 150 مليون دولار أمريكي يعمل على منصة إيثيريوم. تعتمد على العقود الذكية وإدارة المجتمع. يتم إيداع الأموال، وتُحدد الأصوات أوجه إنفاقها. كان الكود معقدًا، إذ احتوى على حلقات تكرارية، وشروط، واستدعاءات بين العقود، وحالة تتغير أثناء التنفيذ. كل ما تسمح به اكتمالية تورينج.
اكتشف أحدهم ثغرة. كانت وظيفة السحب تُرسل الإيثيريوم أولًا ثم تُحدّث الرصيد ثانيًا. استدعى المهاجم أمر السحب، وحصل على المبلغ، وقبل تحديث الرصيد، استدعت الوظيفة نفسها مجددًا. ومرة أخرى. ومرة أخرى. إعادة الدخول. حلقة مفرغة لم يقصدها المطورون، تستنزف الأموال مع كل دورة.
هل يمكن أن يحدث هذا على بيتكوين؟ لا. لا يمكن لبرنامج بيتكوين استدعاء نفسه، ولا يمكنه استدعاء برامج أخرى، ولا يمكنه التكرار. إن ما يجعل بيتكوين مملاً هو نفسه ما يجعل هذا الهجوم تحديداً مستحيلاً.
صوّت مجتمع إيثيريوم على إجراء انقسام حاد في سلسلة الكتل وعكس عملية السرقة. نتج عن هذا الانقسام إيثيريوم كلاسيك. استوعب المطورون الدرس، وأصبحت آليات الحماية من إعادة الدخول معيارًا أساسيًا، وأصبح نمط "الفحوصات - التأثيرات - التفاعلات" مبدأً راسخًا. لكن الحقيقة الأساسية لم تتغير: قد يحتوي الكود الكامل تورينج دائمًا على أخطاء لم يتوقعها مطوروه. هذا ليس عيبًا في إيثيريوم، بل هو نتيجة طبيعية للرياضيات.

أصبح استخدام البيتكوين أقل تقييدًا: تابروت وبيت في إم
لم يعد الخط الفاصل بين اكتمال تورينج وعدم اكتمال تورينج حادًا كما كان عليه الحال بالنسبة لبيتكوين.
تم إطلاق Taproot في نوفمبر 2021، وقد وسّع نطاق إمكانيات Bitcoin Script. يتضمن ذلك إنفاقًا مشروطًا أكثر تعقيدًا، وحمايةً أفضل للخصوصية من خلال توقيعات Schnorr، وأشجار بناء جملة مجردة مُحسَّنة تُخفي شروط المعاملة حتى تنفيذها. لا يزال غير مكتمل تورينج، ولكنه أكثر تعبيرًا من ذي قبل.
تتجاوز تقنية BitVM، التي طُرحت عام 2023، ذلك بكثير. فهي تصف نظامًا لإجراء عمليات حسابية عشوائية خارج سلسلة الكتل، ثم التحقق من النتيجة على شبكة بيتكوين. تخيل الأمر كالتالي: تتم عملية الحساب الفعلية في مكان آخر، ولا تتدخل بيتكوين إلا إذا اعترض أحدهم على النتيجة. نظريًا، يجعل هذا بيتكوين عمليًا مكتملًا من حيث القدرة على تنفيذ العمليات الحسابية في حالات استخدام محددة دون تغيير لغة البرمجة نفسها.
تحدثتُ مع مطوري بيتكوين حول BitVM، وكانت ردود أفعالهم مثيرة للاهتمام. فهم متحمسون للإمكانيات، لكنهم يخشون المخاطر. قال لي أحدهم: "لن نتسرع في هذا الأمر. الناس يستثمرون تريليونات الدولارات في هذا النظام. إذا أفسدناه أثناء محاولتنا تطويره، فلن يغفر لنا أحد". هذا الحذر مُحبط لمن يرغب في استخدام التمويل اللامركزي لبيتكوين غدًا، ولكنه مُطمئن لمن يملك تريليونات الدولارات في النظام.
يتجه التوجه نحو مزيد من التعبيرية بغض النظر عن أي شيء. لقد وسّع تابروت بالفعل نطاق الإمكانيات، وسيُوسّعها بيت في إم أكثر. لكن لا تتوقع أن يصبح بيتكوين مثل إيثيريوم، فالثقافتان مختلفتان للغاية.
لماذا اختارت كل سلسلة كتل جديدة اكتمال تورينج على أي حال؟
هذا ما حسم الجدل عمليًا: لم يعد أحد يبني سلاسل كتل غير مكتملة تورينج. سولانا، كاردانو، بولكادوت، أفالانش، بي إن بي تشين. جميعها مكتملة تورينج. جميعها قادرة على تشغيل برامج عشوائية. قرر السوق أن قابلية البرمجة هي الفيصل، والسؤال الوحيد الآن هو كيفية جعل الأنظمة المكتملة تورينج أسرع وأرخص وأكثر أمانًا.
اتخذت كل سلسلة من سلاسل العملات الرقمية خيارات مختلفة. اختارت إيثيريوم آلة إيثيريوم الافتراضية (EVM) ولغة سوليديتي (أكبر نظام بيئي، وأعلى رسوم على طبقة L1). أما سولانا، فقد طورت منصة Sealevel للتنفيذ المتوازي باستخدام لغة رست (سريعة، ولكن تطويرها أصعب). واختارت كاردانو لغة هاسكل والتحقق الرسمي (دقيقة رياضياً، ولكن اعتمادها أبطأ). لكن جميعها وافقت على شرط اكتمال تورينج لأنها أرادت تشغيل العقود الذكية، والتمويل اللامركزي (DeFi)، والرموز غير القابلة للاستبدال (NFTs)، والمنظمات اللامركزية المستقلة (DAOs)، وكل ما يتطلب منطقًا مخصصًا.
المشاكل الأمنية حقيقية. فثغرات التمويل اللامركزي تُكلّف مليارات الدولارات سنويًا. وكان اختراق منظمة DAO مجرد البداية. لكن القطاع خلص إلى أن فوائد قابلية البرمجة تفوق المخاطر. حتى بيتكوين، السلسلة الأصلية ذات النطاق المحدود عمدًا، تتجه نحو مزيد من المرونة مع Taproot وBitVM.
لقد انخرطتُ في عالم العملات الرقمية لفترة كافية لاستخدام كلا نوعي سلاسل الكتل على نطاق واسع. أرسلتُ معاملات بيتكوين تم تأكيدها بدقة كما هو متوقع في كل مرة. كما قمتُ بنشر عقود ذكية على منصة إيثيريوم قامت بأمور لم أتوقعها، لأن لغة سوليديتي تتيح لك كتابة أكواد معقدة بما يكفي لتُفاجئ نفسك. وقد ساهمت هاتان التجربتان في تشكيل وجهة نظري.
لا يدور النقاش حول ما إذا كانت خاصية اكتمال تورينج جيدة أم سيئة، بل حول ما تحتاجه. إذا كنت ترغب في نظام دفع رقمي يتمتع بأقصى درجات الأمان والتنبؤ، فإن تصميم بيتكوين منطقي. أما إذا كنت ترغب في بناء تطبيقات مالية، أو ألعاب، أو أنظمة هوية، أو أي شيء يتطلب منطقًا مخصصًا، فأنت بحاجة إلى خاصية اكتمال تورينج. إن معظم ما يجعل العملات الرقمية مثيرة للاهتمام اليوم لم يكن ليتحقق لولا أن شابًا في التاسعة عشرة من عمره قرر أن المخاطرة تستحق العناء.
أفكر في هذا الأمر في كل مرة أستخدم فيها Uniswap أو Aave أو أي بروتوكول تمويل لامركزي. كل عملية تبادل أقوم بها هي عبارة عن كود يُنفذ على آلة افتراضية كاملة تورينج. كل معاملة تحمل في طياتها خطرًا نظريًا يتمثل في احتمال أن يتسبب خطأ ما لم يتوقعه أحد في استنزاف العقد بالكامل. مع ذلك، أستخدم هذه البروتوكولات لأن فائدتها تستحق المخاطرة بالنسبة لي. لكنني لا أنسى أبدًا وجود هذا الخطر. ولا أنسى أبدًا أن البيتكوين اختار مسارًا مختلفًا، ولهذا المسار حكمته الخاصة. آلة البيع لا تسرق أموالك أبدًا. الطاهي قد يحرق المطبخ.