ترجمة آلية لم تُراجَع بعد. النص الإنجليزي هو المرجع في حال الاختلاف.
الملخص
bitcoinjs-lib هي مكتبة JavaScript لـ Bitcoin لـ Node.js والمتصفحات. من الإصدار 2.3.0 حتى 5.2.1 و 6.1.8 و 7.0.2، تقوم الدالة fastMerkleRoot بحشو مستويات شجرة ميركل الفردية عن طريق تجزئة العقدة الأخيرة مع نفسها ولكنها لا تبلغ عن التجزئات المكررة المتجاورة. تم تقديم محقق جذر الكتلة المتأثر باسم Block.checkMerkleRoot() إلى جانب Block.calculateMerkleRoot()، بينما تعرض الإصدارات الأحدث التحقق من خلال checkTxRoots() و __checkMerkleRoot؛ يمكن مسارات التحقق هذه من قبول جذر معاد حسابه دون التحقق من الطفرة. يمكن لنظير إلحاق معاملات مكررة بحيث تحتفظ قائمة معاملات مختلفة بجذر ميركل الأصلي، وراس الكتلة، وإثبات العمل، ومُعرّف الكتلة. يمكن للمستهلكين الذين يعتمدون على التحقق من جذر الكتلة، بما في ذلك مستكشفو الكتل، أو مفهرسو البورصات، أو عملاء SPV، معالجة معاملة مكررة مرتين أو وضع تجزئة الكتلة المشتركة في القائمة السوداء ورفض الكتلة السليمة. تم إصلاح هذه المشكلة في الإصدارات 5.2.1 و 6.1.8 و 7.0.2.
المعالجة
المراجع
- مرجعhttps://github.com/bitcoinjs/bitcoinjs-lib/commit/009f165edfbf925cad8964b2dce478d18dd19449
- مرجعhttps://github.com/bitcoinjs/bitcoinjs-lib/commit/b79c7714c0687473dc6e25c69fc5fc597302c7a0
- مرجعhttps://github.com/bitcoinjs/bitcoinjs-lib/commit/f3434d1e4bb5e0784fe769c4cd08a243576232a1
- مرجعhttps://github.com/bitcoinjs/bitcoinjs-lib/security/advisories/GHSA-8vv3-6qpc-gpw6