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

معرّف المعاملة: ما هو؟

معرّف المعاملة (Transaction ID, TxID) هو رمز فريد يتكون من تسلسل محدد من الحروف والأرقام. يتم إسناده لكل معاملة في سلسلة الكتل وهو عبارة عن تجزئتها (هاش) — قيمة فريدة يتم توليدها باستخدام خوارزمية تشفير تعتمد على المعلومات الموجودة داخل المعاملة. يتم استخدام الهاش الناتج للتعرّف على المعاملات وضمان أمان المدفوعات في سلسلة الكتل.

لماذا نحتاج TxID

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

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

الشروط لإنشاء TxID

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

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

وبذلك، يتم إنشاء معرّف المعاملة في اللحظة التي يرسل فيها المستخدم المعاملة، وقبل وقت استلام التأكيد في سلسلة الكتل.

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

يمكن للمستخدم إعادة إنشاء التحويل ببيانات مصححة، وعندها سيحصل على معرّف فريد جديد. سيتم إرسال هذه المعاملة إلى الشبكة للتأكد بنفس الطريقة، ويمكن تتبعها عبر TxID الجديد.

عملية إنشاء TxID

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

لكل شبكة عملات مشفرة طريقة تجزئة خاصة بها. على سبيل المثال، في البيتكوين يتم استخدام خوارزمية SHA-256 (Secure Hash Algorithm 256-bit). تستقبل البيانات التي يجب تجزئتها وتُرجع قيمة تجزئة بطول 256 بت من 64 حرفًا تقريبًا بهذا الشكل:

0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098

يمكن تصور هذه العملية على أنها خطوات على النحو التالي:

  1. تستلم دالة التجزئة بيانات الإدخال — معلومات المعاملة.

  2. ومن هذه البيانات، تقوم دالة التجزئة بتوليد رمز تجزئة فريد — مجموعة رموز بطول ثابت (في البيتكوين 256 بت).

  3. يتم حفظ رمز التجزئة الناتج في سلسلة الكتل، حيث يصبح جزءًا من سلسلة كتل فريدة.

  4. في التحويل التالي، يتم استخدام قيمة التجزئة للمعاملة السابقة لإنشاء تجزئة جديدة، والتي تصبح جزءًا من الكتلة الجديدة ضمن السلسلة.

وبذلك، تلعب قيمة الهاش دورًا مهمًا في ضمان أمن شبكة العملات المشفرة، لأن أي تغيير في بيانات المعاملة يتطلب تغيير قيمة الهاش المقابلة، وهذا يؤدي فورًا إلى رفض المعاملة.

كيف يتم إنشاء المعاملة

معاملة العملات المشفرة هي عملية نقل العملات من حساب إلى آخر. تتضمن معلومات عن مبلغ الدفع وعناوين المرسل والمستلم، إضافة إلى بيانات أخرى قد تختلف اعتمادًا على سلسلة الكتل.

على سبيل المثال، في شبكة البيتكوين تُستخدم ثلاثة أنواع من البيانات لإنشاء قيمة التجزئة:

  • مدخلات المعاملة؛

  • مخرجات المعاملة؛

  • التوقيع.

إن سلسلة الكتل بأكملها هي عبارة عن تركيب متسلسل من هذه المعلومات. بدونها، لا يمكن إرسال العملات المشفرة.

مدخلات المعاملة

المدخلات هي العملات التي تم الحصول عليها من المعاملات الواردة ولم يتم استخدامها في المعاملات الصادرة بعد، أي أنها ما تزال موجودة في الحساب.

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

هذه الصفحة تحتوي على المعلومات التالية:

  • معرّف الخروج (الـ Out) الذي يُستخدم الآن كإدخال؛

  • عنوان المرسل؛

  • عنوان المستلم؛

  • المبلغ.

عند إنشاء دفعة جديدة، يمكن للمرسل تحديد مدخل واحد أو أكثر. على سبيل المثال، إذا كان لدى المحفظة مدخلان — عند 3 و4 BTC — يمكن استخدامهما معًا لتحويل 7 BTC إلى العنوان الجديد.

مخرجات المعاملات

تُظهر المخرجات معلومات عن العملات التي تم استخدامها للتحويلات الخارجية. يحتوي كل مخرج على المعلومات التالية:

  • رابط إلى المدخل الذي تم إنشاؤه منه؛

  • حول أي العناوين سيتم إرسال العملة المشفرة؛

  • حول مبلغ التحويل.

في الوقت نفسه، يمكن للمرسل تقسيم المدخل إلى أجزاء. على سبيل المثال، يمكن إنشاء مخرج بقيمة 3 BTC من مدخل بقيمة 10 BTC. أما المبلغ المتبقي البالغ 7 BTC فهو مخرج غير مُنفق (Unspent Transaction Outputs - UTXO). كما يمكن للمرسل أيضًا تحويل العملة المشفرة إلى عدة عناوين في آن واحد.

التوقيع

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

وبذلك، فإن معلومات المعاملة تشكل أساس أمان سلسلة الكتل.

مبدأ بناء سلسلة المدخلات والمخرجات

كمثال، يمكن النظر في عملية تفاعل ثلاثة حسابات: A وB وC، تقوم فيما بينها بتبادل العملة X.

إذا أراد مالك الحساب A إنشاء معاملة (T1)، يجب عليه تحديد:

  • المستلم (مثلًا الحساب B)؛

  • عدد العملات (مثلًا 1X).

يتم تشفير هذه المعلومات وتخزينها في معرّف المعاملة T1.

عند لحظة إرسال هذا التحويل، تكتسب الخصائص التالية:

  • تُصبح مخرَجًا من حساب A — امتدادًا للإيداعات السابقة؛

  • تُصبح مدخلًا في حساب B.

طالما بقيت العملة 1X على حساب B، تُعتبر المعاملة T1 مدخلًا.

وبالمثل، إذا أراد مالك الحساب B تحويل 1X إلى الحساب C، فعليه تحديد (T2):

  • المستلم — الحساب C؛

  • عدد العملات — 1X.

عند لحظة إرسال التحويل T2، تكتسب الخصائص التالية:

  • تُصبح مخرجًا من حساب B — امتدادًا للمعاملة T1؛

  • تُصبح مدخلًا في حساب C.

طالما بقيت العملة 1X على حساب C، تُعتبر المعاملة T2 مدخلًا.

كيف يمكن استخدام معرّفات المعاملات

يمكن للمستخدمين استخدام المعرّف يدويًا لأغراض أخرى. على سبيل المثال، باستخدام TxID يمكن للطرف المقابل مراقبة التحويلات:

  • يمكن للمرسل التأكد من أن دفعتَه قد وصلت بنجاح إلى سلسلة الكتل؛

  • يمكن للمستلم التأكد من أن التحويل تم إرساله إلى حسابه.

بالإضافة إلى ذلك، يتيح TxID مشاهدة معلومات إضافية:

  • المبلغ؛

  • العملة (عملة أو توكن)؛

  • الحالة: مكتمل، غير مكتمل، قيد الانتظار، قيد التنفيذ… إلخ؛

  • رقم الكتلة التي تم حفظ المعاملة فيها؛

  • وقت تنفيذ التحويل؛

  • العمولة… إلخ.

تختلف دقة وشكل هذه المعلومات اعتمادًا على سلسلة الكتل والخدمة المستخدمة للتحقق.

توجد مستكشفات مختلفة لسلاسل بلوكشين مختلفة:

  • Bitcoin — blockchain.info؛

  • Ethereum — etherscan.io؛

  • BNB — bscscan.com؛

  • TRON — tronscan.org؛

  • Polkadot — explorer.polkascan.io.

السجل العام متاح للجميع للمشاهدة، لكن حجمه هائل. على سبيل المثال، تعالج سلسلة بلوكشين BNB أكثر من 5 ملايين معاملة في اليوم. للعثور على الجزء المطلوب ضمن هذه البيانات، يلزم وجود كود تشفير مناسب. لا يمكن البحث عن المعلومات باستخدام المعرّف فقط، بل أيضًا باستخدام العنوان أو الكتلة أو التوكن… إلخ.

يمكن مشاهدة البيانات المتعلقة بالتشفير فقط. لا أحد يعرف من أرسل الدفع لمن ولماذا — وبذلك يتم في الوقت نفسه ضمان علانية الشبكة وإخفاء هوية المستخدمين.