هل التحويلات غير المؤكدة (Unconfirmed/0-confirmation) امنة؟
اعترضني هذا السؤال على صفحة فايسبوك مختصة في بيع و شراء البيتكوين و ما راعني الا عدد الاجابات من أشخاص يتعاملون يوميا بالبيتكوين و يؤكدون على أن هذه المعاملات امنة.
الجواب الصحيح هو لااذا لم يتم تأكيد المعاملة بعدد كاف من البلوكات بعدها فهي تعتبر غير امنة و لا تستطيع القول أن العملات التي أرسلت لمحفظتك صارت ملكك.
كتأكيد بسيط لكلامي قبل أن نناقش الموضوع من جانب تقني, يوجد عديد الحالات,خاصة عند ازدحام الشبكة, أين بقيت بعض المعاملات عالقة لأيام قبل أن يتم اسقاطها و بالتالي لا تتم عملية التحويل.
كذلك مثال المتاجر و منصات التبادل التي لا تعتبر التحويل نهائي الا بعد الحصول على 6 تأكيدات.
ما سبب هذا الاعتقاد الخاطئ؟هذا الاعتقاد ناتج أساسا عن الخلط بين المعاملات غير المؤكدة و الانفاق المزدوج.
في تقنية البلوكتشاين الانفاق المزدوج أو Double Spending من شبه المستحيل أن يحدث لكن الأمر هنا مختلف.
الانفاق المزدوج هو أن تقوم باستعمال نفس المدخلات في أكثر من معاملة و يتم تأكيد المعاملات و اضافتها للبلوكتشاين أي أنك ترسل نفس المبلغ أكثر من مرة.
ما هي التأكيدات و كيف يتم احتساب عددها؟التأكيد هو أن يتم حل البلوك و انشائه و اضافته للبلوكتشاين.
أما عدد التأكيدات فهو عدد البلوكات التي تم ايجاده بعد البلوك الخاص بك. كل بلوك يساوي 1 تأكيد و كلما زاد عدد التأكيدات كلما أصبح الغاء المعاملة أو التلاعب بها أصعب.
يعتبر عدد 6 تأكيدات عدد كاف لكن بالنسبة للمبلغ الصغرى يمكن الاكتفاء ب 3 تأكيدات.
ما هي مخاطر التحويلات غير المؤكدة؟مثلا في صفحة الفايسبوك التي ذكرتها, الأعضاء يقومون بارسال المال للبائع بمجرد أن يقوم بنشر المعاملة للشبكة دون أن ينتظروا أن يتم تأكيدها.
ما يمكن أن يحدث:
- في حال كانت الشبكة تشهد ازدحاما و ارتفاع العمولةة اذا تم اضافة عمولة صغيرة من المحتمل أن تبقى المعاملة عالقة لفترة طويلة ثم يتم الغاؤها فلا يحصل الشاري على البيتكوين بل يبقى في محفظة البائع.
- اذا كان للبائع معرفة كافية, يمكنه استغلال هذه الوضعية باعادة استعمال نفس المدخلات و ارسالها لنفسه مع اضافة عمولة أكبر ليتمكن من تأكيد المعاملة الثانية و الغاء الأولى.
يوجد عديد الاحتياطات لمنع وقوع ذلك مثل منع بعض المحافظ لاستعمال نفس المدخلات في أكثر من معاملة, كذلك العقد لا تقبل مثل هذه المعاملات. لكن كل هذه الاحتياطات غير كافية و يمكن تجاوزها.
الخلاصة: اي عملية تحويل غير مؤكدة هي غير امنة و لا يمكنك اعتبار أن المبلغ المحول قد صار ملكك الا بعد حصوله على عدد كاف من التأكيدات.