SegWit
SegWit (Segregated Witness) to jedno z najważniejszych ulepszeń sieci Bitcoin. Jego kod został wydany w 2015 roku. Ostatecznie pojawił się oficjalnie na Bitcoinie w sierpniu 2017 roku.
SegWit ulepszył Bitcoina i naprawił szereg błędów. Przede wszystkim podwoił pojemność sieci. Oprócz zwiększenia zdolności do przetwarzania transakcji, naprawił poważną lukę, która umożliwiała użytkownikom manipulowanie id transakcji.
Przed SegWit-em, id transakcji można było zmienić, manipulując kodem odblokowującym transakcję (podpis cyfrowy). Po cyfrowym podpisaniu transakcji była ona wysyłana za pośrednictwem kryptograficznej funkcji skrótu Bitcoin, co nadawało jej unikalny identyfikator transakcji.
Jeśli choć jeden znak w podpisie cyfrowym został zmieniony, dawało to zupełnie inny identyfikator transakcji. SegWit przeniósł podpis na koniec danych transakcji, więc identyfikator transakcji jest tworzony ze wszystkiego oprócz podpisu cyfrowego.
W efekcie ta zmiana uniemożliwia zmianę identyfikatora transakcji – gdyby złośliwe węzły mogły manipulować identyfikatorami transakcji, Lightning Network nie byłby możliwy.