الخوارزمية هي تسلسل محدود من التعليمات خطوة بخطوة مُصمَّم لحل مشكلة محددة أو إجراء عملية حسابية من خلال تحويل بيانات الإدخال إلى مخرجات.
في علوم الكمبيوتر، تتكوّن الخوارزميات من تعليمات واضحة تُوجِّه برامج الكمبيوتر لتنفيذ مجموعة كبيرة من المهام. ويمكن أن تتراوح هذه المهام من عمليات بسيطة مثل فرز قائمة من الأرقام إلى عمليات أكثر تعقيدًا مثل إيجاد أقصر مسار بين موقعين جغرافيين. تُعدّ الخوارزميات أساسًا للحوسبة ومعالجة البيانات واتخاذ القرارات بشكل تلقائي.
لكل خوارزمية نقطة بداية ونقطة نهاية محددتان، وتُنتج مخرجات بناءً على مدخلات وخطوات مُحددة مسبقًا. ويمكن دمج عدة خوارزميات لتنفيذ مهام أكثر تعقيدًا، رغم أن زيادة التعقيد تتطلب عادةً موارد حوسبة أكبر.
يمكن تقييم الخوارزميات وفق معيارين رئيسيين: الدقة والكفاءة. تشير الدقة إلى ما إذا كانت الخوارزمية تحل المشكلة التي صُمِّمت من أجلها بدقة. وترتبط الكفاءة بمقدار الموارد الحاسوبية والوقت الذي تحتاج إليه الخوارزمية لإكمال مهمتها.
غالبًا ما يستخدم علماء الكمبيوتر تقنية تحليل رياضي تُسمّى التحليل المقارب لمقارنة الخوارزميات المختلفة بغض النظر عن لغة البرمجة أو الأجهزة التي تعمل عليها. يساعد هذا النهج على تحديد الخوارزميات التي تتوسع بشكل أفضل مع زيادة حجم بيانات الإدخال.
يجب أن تستوفي الخوارزميات الصالحة عدة خصائص أساسية. يجب أن تكون محدودة، أي أنها تنتهي في النهاية. ويجب أن تكون محددة، بحيث تكون كل واحدة من التعليمات دقيقة وواضحة، كما يجب أن تكون فعّالة، فتُنتج المخرجات الصحيحة لجميع المدخلات الصالحة.
قد تستخدم شبكات البلوكشين المختلفة أساليب خوارزمية مختلفة حسب أهداف تصميمها، مثل إعطاء الأولوية للسرعة أو الأمان أو كفاءة استهلاك الطاقة. ويمكن أن يؤثر اختيار الخوارزمية بشكل كبير في أداء الشبكة ولامركزيتها.
السرعة التي يستطيع بها الكمبيوتر حساب قيم تجزئة جديدة.
هيئة تحرير أكاديمية Binance