Sutarimo algoritmai yra algoritmo tipas, naudojamas siekiant susitarti dėl vienos duomenų vertės tarp paskirstytų procesų ar sistemų. Jie naudojami siekiant užtikrinti, kad visi paskirstytos sistemos mazgai turėtų tuos pačius duomenis ir susitartų dėl sistemos išvesties.
Konsensuso algoritmai yra paskirstytojo skaičiavimo algoritmo tipas, naudojamas siekiant susitarti dėl vienos duomenų vertės tarp paskirstytų procesų ar sistemų. Jie naudojami siekiant užtikrinti, kad visi paskirstytos sistemos dalyviai turėtų vienodą duomenų vaizdą ir kad dėl bet kokių duomenų pakeitimų sutiktų visi dalyviai. Sutarimo algoritmai naudojami paskirstytose sistemose, pvz., blokų grandinės tinkluose, paskirstytose duomenų bazėse ir paskirstytose failų sistemose.
Daugiausia paplitę konsensuso algoritmai yra Bizantijos atsparumas gedimams (BFT), darbo įrodymas (PoW) ir Įstatymo įrodymas (PoS). BFT yra konsensuso algoritmas, naudojamas siekiant užtikrinti, kad visi paskirstytos sistemos dalyviai turėtų vienodą duomenų vaizdą. Jis pagrįstas prielaida, kad kai kurie dalyviai gali būti klaidingi arba piktybiški, ir naudojama balsavimo sistema, užtikrinanti, kad visi dalyviai sutiktų dėl tų pačių duomenų. PoW yra konsensuso algoritmas, naudojamas blokų grandinės tinklui apsaugoti. Norint pridėti naujų blokų į blokų grandinę, kalnakasiams reikia išspręsti sudėtingus matematinius galvosūkius. PoS yra konsensuso algoritmas, naudojamas blokų grandinės tinklui apsaugoti. Norint patvirtinti operacijas ir pridėti naujų blokų į blokų grandinę, naudotojai turi įmesti monetas.
Sutarimo algoritmai yra svarbi paskirstytos sistemos, nes užtikrina, kad visi paskirstytos sistemos dalyviai turėtų vienodą duomenų vaizdą. Jie naudojami siekiant užtikrinti, kad dėl bet kokių duomenų pakeitimų susitartų visi dalyviai, ir jie naudojami blokų grandinės tinklams apsaugoti.