Der Unterschied zwischen Hard- und Softfork scheint ja laut Bitcoinwiki zu sein, dass ein Hardfork Transaktionen, die vorher dem Protokoll widersprachen, kompatibel mit dem Protokoll macht; während es beim Softfork nicht der Fall ist. Bei der Erhöhung von 1 auf 2 MB ist es auch für Laien ersichtlich, dass es ein "Hardfork" wäre. Aber die angedachten Segwit-Transaktionen sind doch auch Transaktionen, die derzeit nicht mit dem Protokoll kompatibel sind, oder irre ich mich irgendwo?
Beste Erklärung, die ich bisher gefunden habe:
http://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-forkVereinfacht gesagt, im Softfork sind die neuen Blöcke eine Untermenge der alten Blöcke.
Haben diese neuen Blöcke irgendwann eine "natürliche Mehrheit", werden alte Blöcke dennoch ungültig.
Im Hardfork sind die alten Blöcke eine Untermenge der neuen Blöcke.
Damit werden alte Blöcke sofort ungültig.
Weil dieses "alte Blöcke sofort ungültig" so gravierend ist, wird man einen Hardfork immer künstlich mit einer Aktivierungsphase umsetzen, d.h. er wird erst aktiv, wenn tatsächlich eine große Mehrheit dazu in der Lage ist. Das ist beim Softfork so nicht notwendig, weil sich das Netzwerk aufgrund seiner klassischen Mehrheitsregeln (längere Blockchain gewinnt) selbst den Zeitpunkt sucht, ab dem der Softfork "aktiv wird".
Warum ist nun Segwit ein Softfork? Weil die Blöcke, die damit erzeugt werden, prinzipiell kompatibel zur alten Blockchain sind. Sobald aber eine deutliche Mehrheit der Blöcke Segwit nutzt, werden "veraltete" Wallets die aktuell gültige Blockchain nicht mehr verarbeiten können.
Noch einfacher gesagt: ein Hardfork muss an einem bestimmten Zeitpunkt aktiviert werden und ist ab diesem Moment exklusiv gültig. Ein Softfork kann aktiviert werden und wird erst dann wirklich zur Norm, wenn das Netzwerk in Masse nach den neuen Regeln arbeitet.