Over het algemeen zijn er twee soorten forks: 'Soft Fork' en 'Hard Fork'
Een 'Soft Fork' verwijst naar een methode voor het upgraden van een blockchain die compatibel is met eerdere versies; dat wil zeggen, de nieuwe versie van de blockchain kan nog steeds transacties van de oude versie herkennen en valideren. Transacties van de nieuwe versie worden echter mogelijk niet herkend door de oude. Dit betekent dat gebruikers van de oude versie nog steeds kunnen deelnemen aan het valideren van transacties, maar ze lopen het risico de regels van de nieuw bijgewerkte blockchain te overtreden, wat hun transacties kan ongeldig maken.
Aan de andere kant vertegenwoordigt een 'Hard Fork' een permanente afwijking van de vorige versie van de blockchain, en nodes die eerdere versies uitvoeren, worden niet langer geaccepteerd door de nieuwere versie. Dit betekent dat een volledige upgrade van de software vereist is. In de meeste gevallen wordt een hard fork geïmplementeerd om beveiligingsrisico's te herstellen die in oudere versies van de software zijn gevonden, om nieuwe functionaliteit toe te voegen, of om transacties terug te draaien (zoals de DAO hard fork in de Ethereum blockchain).
De noodzaak voor een fork kan ontstaan door verschillende redenen, zoals:
De implementatie van een fork, hetzij een soft fork of een hard fork, beïnvloedt de gemeenschap van de betreffende cryptocurrency en gaat daarom meestal door een proces van discussie en consensus voordat het wordt uitgevoerd. Dit helpt ervoor te zorgen dat een meerderheid van de gemeenschap aan boord is met de voorgestelde veranderingen, en daardoor fragmentatie en conflict binnen de gemeenschap tot een minimum beperkt.