على الرغم من أننا نعلم أن توقيع المعاملات مع عدد كبير جدًا من UTXOS يمكن أن يتسبب في فشل الجهاز، إلا أن هذا البيان العام لا يزال يترك بعض الأسئلة: هل هناك عدد محدد من UTXOS الذي قد يتسبب في فشل محفظة الأجهزة أثناء التوقيع؟ هل يمكن أن تسبب بعض UTXOS صعوبات أكثر من غيرها؟
أثناء البحث عن إجابات لهذه الأسئلة، اكتشفت أن الوقت والجهد اللذين تتطلبهما محفظة الأجهزة لتوقيع معاملة لا يعتمدان فقط على عدد UTXOS التي يتم إرسالها وعدد عناوين الاستلام. يعتمد ذلك أيضًا على التفاصيل المماثلة المحيطة بالمعاملات السابقة التي جاءت منها كل UTXO، وهي ظاهرة أسميها «كتلة التوقيع». لست على علم بأي منشورات أخرى تشير إلى هذا المفهوم.
بعبارة أخرى، يمكن أن تكون UTXOS ذات كتلة التوقيع الأكبر - الموضحة بمزيد من التفصيل أدناه - أكثر صعوبة في التوقيع من غيرها. على الرغم من أن اثنين من UTXOS قد يستخدمان نفس الكمية من البيانات على بلوكتشين، إلا أنه يمكن للمرء أن يحتاج إلى مزيد من المعالجة للتوقيع باستخدام محفظة الأجهزة.
تمتد هذه الحقيقة إلى ما هو أبعد من أنواع العناوين ونصاب تعدد التوقيع؛ يمكن أن يتطلب UTXO واحد على عنوان 2 من 3 multisig جهدًا أكبر بكثير للتوقيع مقارنة بـ UTXO آخر على نفس العنوان (أو عنوان مكافئ، وحتى إذا كانت مبالغ البيتكوين وعناوين الوجهة هي نفسها تمامًا).
ولفهم السبب وراء إمكانية وجود مجموعات توقيع مختلفة بشكل كبير بين نظامي UTXOS ذوي المظهر المماثل، عليك أن تفهم الطريقة الدوّارة التي تستخدمها محافظ الأجهزة للتحقق من كميات الإدخال دون اتصال بالإنترنت وكيف يمكن أن يختلف تعقيد المعاملات بين الطرق المختلفة لاستلام بيتكوين إلى محفظتك.
بالنسبة لأي معاملة بيتكوين، يعد التحقق من كميات المدخلات أمرًا مهمًا؛ وإلا فقد يتم دفع كميات كبيرة من البيتكوين عن طريق الخطأ إلى عمال المناجم. لماذا؟ لأن الرسوم التي يتقاضاها عمال المناجم لا يتم ذكرها بشكل صريح _ في المعاملة، ولكن يتم حسابها _ ضمنيًا بطرح قيمة المخرجات من قيمة المدخلات. لذلك، إذا كان هناك فرق كبير بين الرقمين، فستكون الرسوم المفروضة كبيرة أيضًا.
على سبيل المثال، إذا كان لديك UTXOS يبلغ مجموعها 0.8 BTC واستخدمتها لإرسال 0.3 BTC إلى مكان ما، وإذا لم ترسل ما تبقى من 0.5 BTC إلى نفسك كتغيير، فيمكن للمُعدِّن في الكتلة الآن المطالبة بـ 0.5 BTC كجزء من الرسوم المكتسبة.
لا تقلق! تتضمن جميع أدوات البيتكوين الحديثة والمحترمة آليات أمان تلقائية، لذا فإن ارتكاب هذا الخطأ سيكون صعبًا جدًا (إن لم يكن مستحيلًا). يمكن أن تكون العملية بسيطة مثل البحث في البلوكشين للتحقق من كمية المدخلات ثم مقارنة مجموعها مع مجموع المخرجات المختارة لتحديد ما إذا كانت الرسوم معقولة.
ولكن بالطبع، تم تصميم محافظ الأجهزة لتعمل بشكل مستقل عن الإنترنت، وهو ما يتضح بشكل خاص للأجهزة ذات الفجوات الهوائية. بدون الإنترنت أو اتصال العقدة، لا يمكن ملاحظة البلوكشين. لذلك، يجب أن تستخدم معظم محافظ الأجهزة طريقة بديلة ملتوية للتحقق من كميات الإدخال. بشكل أساسي، لا يحتاج الجهاز فقط إلى استيراد المعلومات التي تصف المعاملة التي سيوقعها، ولكن يجب عليه أيضًا استيراد سجل مصدر كل إدخال.
بعبارة أخرى، بالنسبة لكل UTXO يتم نقله، سيرغب الجهاز في التحقق مرة أخرى من تفاصيل المعاملة مباشرةً مسبقًا، مما أدى إلى إنشاء UTXO. إذا كانت هذه المعاملة معقدة، فستتضمن استيراد المزيد من البيانات، الأمر الذي سينعكس في شيء مثل حجم ملف PSBT. دعونا نلقي نظرة على تعقيد المعاملات.
يتلقى معظم الأشخاص عملة البيتكوين في محفظتهم بإحدى الطرق الثلاث التالية: من البورصة، أو من مجمع التعدين، أو مباشرة من شخص آخر في معاملة نظير إلى نظير (P2P). عادةً ما تحتوي معاملات نظير إلى نظير على تعقيد منخفض جدًا، وستكون UTXOS الناتجة ذات كتلة توقيع صغيرة نسبيًا.
ومع ذلك، تميل البورصات ومجمعات التعدين إلى توزيع الأموال على دفعات، وإرسال البيتكوين إلى العديد من الأشخاص في وقت واحد ضمن نفس المعاملة. هذه المعاملات أكثر تعقيدًا، وستحصل UTXOS الناتجة على كتلة توقيع أكبر.
لقد قمت بالتحقيق في اتجاهات التوزيع للعديد من مجمعات التعدين والبورصات المشهورة في أمريكا، ويتم عرض النتائج التي توصلت إليها في الرسم البياني أدناه. يشير عدد المخرجات إلى عدد الأشخاص الذين يرسلون عادةً بيتكوين داخل كل توزيع. الرقم الأعلى يعني المزيد من تعقيد المعاملات وعبء التوقيع الجماعي الأكبر على المستلمين.
هذه الأرقام تقريبية في وقت كتابة هذا التقرير وتخضع للتغيير وفقًا لكيفية تنفيذ كل تجمع أو بورصة للتوزيعات في المستقبل.
لاحظ أن توزيعات مجمعات التعدين أكبر عمومًا من البورصات، وأن بعض مجمعات التعدين مثل F2Pool تستخدم توزيعات كبيرة للغاية. وبالتالي، إذا تلقيت UTXO مباشرةً من مدفوعات F2Pool، فمن المرجح أن يتسبب UTXO في مواجهة بعض محافظ الأجهزة لصعوبات في التوقيع.
في عام 2017، حدثت عملية الانقسام الجزئي للشهود، وتم تغيير عملية التوقيع لمعاملات SegWit. تم تقديم مطلب لتضمين كميات الإدخال في البيانات التي يلتزم بها المستخدمون بالتوقيع. ونتيجة لذلك، كان يُعتقد أنه سيتم منع أي محاولة لخداع مستخدم أو جهاز للتوقيع عن غير قصد على معاملة برسوم عالية بشكل سخيف. تصرفت معظم الشركات المصنعة لمحفظة الأجهزة وفقًا لذلك، حيث قامت بإزالة فحوصات سلامة كمية الإدخال وتبسيط عملية التوقيع لمعاملات SegWit.
ومع ذلك، في منتصف عام 2020، تم العثور على ثغرة أمنية في BIP 143، مما دفع العديد من الشركات المصنعة لمحفظة الأجهزة إلى إعادة إدخال فحوصات سلامة كمية المدخلات لمعاملات SegWit. في وقت كتابة هذا التقرير، تظل عمليات التحقق من سلامة كمية الإدخال عملية عادية أثناء توقيع محفظة الأجهزة. هناك بعض النقاش في المجتمع حول التغييرات المستقبلية التي يمكن أن تزيل بشكل أكثر فعالية الحاجة إلى فحوصات سلامة كمية المدخلات، مثل جعل الرسوم صريحة داخل كل معاملة بدلاً من أن تكون ضمنية.
تعني الاختلافات في كتلة التوقيع أنه عندما تحاول سحب البيتكوين من محفظة التخزين البارد الخاصة بك، فهناك بعض الصلة بكيفية حصولك على البيتكوين في المقام الأول. يمكن للطرق التي تستخدمها للحصول على البيتكوين أن تخلق اختلافات عندما يحين وقت الموافقة على التحويلات.
إذا كنت تمتلك UTXO تم نقلها من محفظة مختلفة تتحكم فيها أو تم استلامها من معاملة نظير إلى نظير، فمن المحتمل أن تكون المعاملة بسيطة نسبيًا. سيكون لدى UTXO كتلة توقيع أصغر وسيكون من الأسهل التوقيع عليها أثناء الإنفاق المستقبلي. من ناحية أخرى، إذا تلقيت UTXO مباشرة من مجمع التعدين، أو بشكل خاص من تجمع التعدين الذي يقوم بتوزيعات كبيرة جدًا (كما هو موضح في الرسم البياني السابق)، فيمكنك توقع أن يكون توقيع UTXO أكثر صعوبة.
لحسن الحظ، إذا فشلت محفظة الأجهزة الخاصة بك في التوقيع لأنك تحاول نقل عدد كبير جدًا من UTXOS عالية الكتلة في وقت واحد، فإن هذا لا يعني أن عملة البيتكوين الخاصة بك عالقة بشكل دائم. الحل السريع والسهل هو تقسيم معاملتك إلى عدة معاملات، ونقل البيتكوين الخاص بك إلى أجزاء. سيحتوي كل مقطع على جزء صغير فقط من البيانات، ومن المرجح أن يوفر جهازك توقيعًا بنجاح.
هناك إستراتيجية أخرى تتمثل في منع حالات فشل التوقيع في المقام الأول من خلال التحكم في عدد UTXOS التي تحتفظ بها وكتلة التوقيع الخاصة بـ UTXOS. على الرغم من أنه لا يمكنك تغيير كيفية توزيع مجمعات التعدين والبورصات للأموال، فمن الضروري أن تتذكر أن كتلة توقيع UTXO يتم تحديدها من خلال المعاملة التي تسبق ذلك مباشرة، وليس أي سجل معاملات قبل ذلك. وهذا يعني أنه يمكنك استلام UTXO من مجمع التعدين ونقله على الفور إلى محفظة أخرى أو عنوان تتحكم فيه، محاكيًا معاملة نظير إلى نظير. سيكون لـ UTXO الناتج في العنوان الجديد كتلة توقيع صغيرة بدلاً من كتلة كبيرة.
من المهم التأكيد على أن التوقيع الجماعي يؤثر فقط على الوقت والجهد الذي تتطلبه محفظة الأجهزة لتوقيع المعاملة، وليس رسوم الشبكة التي ستدفعها. ويرجع ذلك إلى أن مجموعة التوقيع تكون ذات صلة فقط أثناء عملية التوقيع، ولن تتسبب في أن تستهلك معاملتك المزيد من البيانات على بلوكتشين.
هذا يعني أنك لن تدفع بالضرورة المزيد من رسوم المعاملات إذا تلقيت بيتكوين من مجموعة تعدين مثل F2Pool، ولن يتم تخفيض رسوم المعاملات الخاصة بك عن طريق اختيار خدمة تستخدم مخرجات أقل لتوزيعاتها.
على الرغم من أننا نعلم أن توقيع المعاملات مع عدد كبير جدًا من UTXOS يمكن أن يتسبب في فشل الجهاز، إلا أن هذا البيان العام لا يزال يترك بعض الأسئلة: هل هناك عدد محدد من UTXOS الذي قد يتسبب في فشل محفظة الأجهزة أثناء التوقيع؟ هل يمكن أن تسبب بعض UTXOS صعوبات أكثر من غيرها؟
أثناء البحث عن إجابات لهذه الأسئلة، اكتشفت أن الوقت والجهد اللذين تتطلبهما محفظة الأجهزة لتوقيع معاملة لا يعتمدان فقط على عدد UTXOS التي يتم إرسالها وعدد عناوين الاستلام. يعتمد ذلك أيضًا على التفاصيل المماثلة المحيطة بالمعاملات السابقة التي جاءت منها كل UTXO، وهي ظاهرة أسميها «كتلة التوقيع». لست على علم بأي منشورات أخرى تشير إلى هذا المفهوم.
بعبارة أخرى، يمكن أن تكون UTXOS ذات كتلة التوقيع الأكبر - الموضحة بمزيد من التفصيل أدناه - أكثر صعوبة في التوقيع من غيرها. على الرغم من أن اثنين من UTXOS قد يستخدمان نفس الكمية من البيانات على بلوكتشين، إلا أنه يمكن للمرء أن يحتاج إلى مزيد من المعالجة للتوقيع باستخدام محفظة الأجهزة.
تمتد هذه الحقيقة إلى ما هو أبعد من أنواع العناوين ونصاب تعدد التوقيع؛ يمكن أن يتطلب UTXO واحد على عنوان 2 من 3 multisig جهدًا أكبر بكثير للتوقيع مقارنة بـ UTXO آخر على نفس العنوان (أو عنوان مكافئ، وحتى إذا كانت مبالغ البيتكوين وعناوين الوجهة هي نفسها تمامًا).
ولفهم السبب وراء إمكانية وجود مجموعات توقيع مختلفة بشكل كبير بين نظامي UTXOS ذوي المظهر المماثل، عليك أن تفهم الطريقة الدوّارة التي تستخدمها محافظ الأجهزة للتحقق من كميات الإدخال دون اتصال بالإنترنت وكيف يمكن أن يختلف تعقيد المعاملات بين الطرق المختلفة لاستلام بيتكوين إلى محفظتك.
بالنسبة لأي معاملة بيتكوين، يعد التحقق من كميات المدخلات أمرًا مهمًا؛ وإلا فقد يتم دفع كميات كبيرة من البيتكوين عن طريق الخطأ إلى عمال المناجم. لماذا؟ لأن الرسوم التي يتقاضاها عمال المناجم لا يتم ذكرها بشكل صريح _ في المعاملة، ولكن يتم حسابها _ ضمنيًا بطرح قيمة المخرجات من قيمة المدخلات. لذلك، إذا كان هناك فرق كبير بين الرقمين، فستكون الرسوم المفروضة كبيرة أيضًا.
على سبيل المثال، إذا كان لديك UTXOS يبلغ مجموعها 0.8 BTC واستخدمتها لإرسال 0.3 BTC إلى مكان ما، وإذا لم ترسل ما تبقى من 0.5 BTC إلى نفسك كتغيير، فيمكن للمُعدِّن في الكتلة الآن المطالبة بـ 0.5 BTC كجزء من الرسوم المكتسبة.
لا تقلق! تتضمن جميع أدوات البيتكوين الحديثة والمحترمة آليات أمان تلقائية، لذا فإن ارتكاب هذا الخطأ سيكون صعبًا جدًا (إن لم يكن مستحيلًا). يمكن أن تكون العملية بسيطة مثل البحث في البلوكشين للتحقق من كمية المدخلات ثم مقارنة مجموعها مع مجموع المخرجات المختارة لتحديد ما إذا كانت الرسوم معقولة.
ولكن بالطبع، تم تصميم محافظ الأجهزة لتعمل بشكل مستقل عن الإنترنت، وهو ما يتضح بشكل خاص للأجهزة ذات الفجوات الهوائية. بدون الإنترنت أو اتصال العقدة، لا يمكن ملاحظة البلوكشين. لذلك، يجب أن تستخدم معظم محافظ الأجهزة طريقة بديلة ملتوية للتحقق من كميات الإدخال. بشكل أساسي، لا يحتاج الجهاز فقط إلى استيراد المعلومات التي تصف المعاملة التي سيوقعها، ولكن يجب عليه أيضًا استيراد سجل مصدر كل إدخال.
بعبارة أخرى، بالنسبة لكل UTXO يتم نقله، سيرغب الجهاز في التحقق مرة أخرى من تفاصيل المعاملة مباشرةً مسبقًا، مما أدى إلى إنشاء UTXO. إذا كانت هذه المعاملة معقدة، فستتضمن استيراد المزيد من البيانات، الأمر الذي سينعكس في شيء مثل حجم ملف PSBT. دعونا نلقي نظرة على تعقيد المعاملات.
يتلقى معظم الأشخاص عملة البيتكوين في محفظتهم بإحدى الطرق الثلاث التالية: من البورصة، أو من مجمع التعدين، أو مباشرة من شخص آخر في معاملة نظير إلى نظير (P2P). عادةً ما تحتوي معاملات نظير إلى نظير على تعقيد منخفض جدًا، وستكون UTXOS الناتجة ذات كتلة توقيع صغيرة نسبيًا.
ومع ذلك، تميل البورصات ومجمعات التعدين إلى توزيع الأموال على دفعات، وإرسال البيتكوين إلى العديد من الأشخاص في وقت واحد ضمن نفس المعاملة. هذه المعاملات أكثر تعقيدًا، وستحصل UTXOS الناتجة على كتلة توقيع أكبر.
لقد قمت بالتحقيق في اتجاهات التوزيع للعديد من مجمعات التعدين والبورصات المشهورة في أمريكا، ويتم عرض النتائج التي توصلت إليها في الرسم البياني أدناه. يشير عدد المخرجات إلى عدد الأشخاص الذين يرسلون عادةً بيتكوين داخل كل توزيع. الرقم الأعلى يعني المزيد من تعقيد المعاملات وعبء التوقيع الجماعي الأكبر على المستلمين.
هذه الأرقام تقريبية في وقت كتابة هذا التقرير وتخضع للتغيير وفقًا لكيفية تنفيذ كل تجمع أو بورصة للتوزيعات في المستقبل.
لاحظ أن توزيعات مجمعات التعدين أكبر عمومًا من البورصات، وأن بعض مجمعات التعدين مثل F2Pool تستخدم توزيعات كبيرة للغاية. وبالتالي، إذا تلقيت UTXO مباشرةً من مدفوعات F2Pool، فمن المرجح أن يتسبب UTXO في مواجهة بعض محافظ الأجهزة لصعوبات في التوقيع.
في عام 2017، حدثت عملية الانقسام الجزئي للشهود، وتم تغيير عملية التوقيع لمعاملات SegWit. تم تقديم مطلب لتضمين كميات الإدخال في البيانات التي يلتزم بها المستخدمون بالتوقيع. ونتيجة لذلك، كان يُعتقد أنه سيتم منع أي محاولة لخداع مستخدم أو جهاز للتوقيع عن غير قصد على معاملة برسوم عالية بشكل سخيف. تصرفت معظم الشركات المصنعة لمحفظة الأجهزة وفقًا لذلك، حيث قامت بإزالة فحوصات سلامة كمية الإدخال وتبسيط عملية التوقيع لمعاملات SegWit.
ومع ذلك، في منتصف عام 2020، تم العثور على ثغرة أمنية في BIP 143، مما دفع العديد من الشركات المصنعة لمحفظة الأجهزة إلى إعادة إدخال فحوصات سلامة كمية المدخلات لمعاملات SegWit. في وقت كتابة هذا التقرير، تظل عمليات التحقق من سلامة كمية الإدخال عملية عادية أثناء توقيع محفظة الأجهزة. هناك بعض النقاش في المجتمع حول التغييرات المستقبلية التي يمكن أن تزيل بشكل أكثر فعالية الحاجة إلى فحوصات سلامة كمية المدخلات، مثل جعل الرسوم صريحة داخل كل معاملة بدلاً من أن تكون ضمنية.
تعني الاختلافات في كتلة التوقيع أنه عندما تحاول سحب البيتكوين من محفظة التخزين البارد الخاصة بك، فهناك بعض الصلة بكيفية حصولك على البيتكوين في المقام الأول. يمكن للطرق التي تستخدمها للحصول على البيتكوين أن تخلق اختلافات عندما يحين وقت الموافقة على التحويلات.
إذا كنت تمتلك UTXO تم نقلها من محفظة مختلفة تتحكم فيها أو تم استلامها من معاملة نظير إلى نظير، فمن المحتمل أن تكون المعاملة بسيطة نسبيًا. سيكون لدى UTXO كتلة توقيع أصغر وسيكون من الأسهل التوقيع عليها أثناء الإنفاق المستقبلي. من ناحية أخرى، إذا تلقيت UTXO مباشرة من مجمع التعدين، أو بشكل خاص من تجمع التعدين الذي يقوم بتوزيعات كبيرة جدًا (كما هو موضح في الرسم البياني السابق)، فيمكنك توقع أن يكون توقيع UTXO أكثر صعوبة.
لحسن الحظ، إذا فشلت محفظة الأجهزة الخاصة بك في التوقيع لأنك تحاول نقل عدد كبير جدًا من UTXOS عالية الكتلة في وقت واحد، فإن هذا لا يعني أن عملة البيتكوين الخاصة بك عالقة بشكل دائم. الحل السريع والسهل هو تقسيم معاملتك إلى عدة معاملات، ونقل البيتكوين الخاص بك إلى أجزاء. سيحتوي كل مقطع على جزء صغير فقط من البيانات، ومن المرجح أن يوفر جهازك توقيعًا بنجاح.
هناك إستراتيجية أخرى تتمثل في منع حالات فشل التوقيع في المقام الأول من خلال التحكم في عدد UTXOS التي تحتفظ بها وكتلة التوقيع الخاصة بـ UTXOS. على الرغم من أنه لا يمكنك تغيير كيفية توزيع مجمعات التعدين والبورصات للأموال، فمن الضروري أن تتذكر أن كتلة توقيع UTXO يتم تحديدها من خلال المعاملة التي تسبق ذلك مباشرة، وليس أي سجل معاملات قبل ذلك. وهذا يعني أنه يمكنك استلام UTXO من مجمع التعدين ونقله على الفور إلى محفظة أخرى أو عنوان تتحكم فيه، محاكيًا معاملة نظير إلى نظير. سيكون لـ UTXO الناتج في العنوان الجديد كتلة توقيع صغيرة بدلاً من كتلة كبيرة.
من المهم التأكيد على أن التوقيع الجماعي يؤثر فقط على الوقت والجهد الذي تتطلبه محفظة الأجهزة لتوقيع المعاملة، وليس رسوم الشبكة التي ستدفعها. ويرجع ذلك إلى أن مجموعة التوقيع تكون ذات صلة فقط أثناء عملية التوقيع، ولن تتسبب في أن تستهلك معاملتك المزيد من البيانات على بلوكتشين.
هذا يعني أنك لن تدفع بالضرورة المزيد من رسوم المعاملات إذا تلقيت بيتكوين من مجموعة تعدين مثل F2Pool، ولن يتم تخفيض رسوم المعاملات الخاصة بك عن طريق اختيار خدمة تستخدم مخرجات أقل لتوزيعاتها.