simple-blockchain · 03
كيف نتحقق من السلسلة؟
بعد ما صار عندي بلوكات، السؤال المهم: كيف أعرف أن السلسلة سليمة؟ التحقق عندي يعتمد على شيئين: هل هاش كل بلوك صحيح؟ وهل كل بلوك يشير فعلًا للبلوك اللي قبله؟
فكرة التحقق
أمشي على السلسلة من البلوك الثاني. أعيد حساب الهاش للبلوك الحالي، وأقارنه بالهاش
المخزن. بعدها أتأكد أن previousHash يطابق هاش البلوك السابق.
function validate(chain) {
for (let i = 1; i < chain.length; i++) {
const current = chain[i];
const previous = chain[i - 1];
if (current.hash !== calculateHash(current)) return false;
if (current.previousHash !== previous.hash) return false;
}
return true;
}
وش أتعلم من هذا؟
البلوك تشين مو “سحر”. هو ربط صارم بين البيانات. إذا تغير شيء في المنتصف، الأثر يبان في الحلقات اللي بعدها. هذا الجزء خلاني أفهم أن الثقة هنا طالعة من الحسابات، مو من الكلام.