Witness sa oddelil od základnej serializácie
Serializácia je presný zápis transakcie do bajtov. BIP 141 pridal ku každému vstupu osobitnú witness štruktúru. Tá nesie podpisy a ďalšie údaje na splnenie SegWit podmienky. txid sa počíta bez witnessu. wtxid ho naopak zahŕňa.
Witness nie je uložený mimo blockchainu. Blok obsahuje záväzok ku koreňu wtxid v coinbase transakcii. Záväzok je kryptografický dôkaz, že údaje patria do bloku. Aktualizovaný plný uzol witness prijme, overí a bez platného podpisu transakciu odmietne.
SegWit obmedzil nechcenú zmenu txid
Pri starom formáte mohla tretia strana niekedy upraviť podobu podpisových údajov. Cieľ a suma platby sa nezmenili, zmenilo sa však txid. Taká meniteľnosť sa nazýva transakčná malleability. Nadväzujúca nepotvrdená transakcia potom mohla odkazovať na nesprávne txid.
Witness SegWit vstupu nie je súčasťou txid, preto ho tretia strana úpravou witnessu nezmení. Pri transakcii so všetkými vstupmi zo SegWit výstupov je reťazenie spoľahlivejšie. Neznamená to úplnú nemennosť každej podoby. Samotní podpisujúci môžu niekedy vytvoriť inú transakciu, ak to sighash povoľuje.
Váha oceňuje witness lacnejšie
SegWit zaviedol váhu transakcie a bloku. Vzorec je základná veľkosť krát tri plus celková veľkosť. Limit bloku je štyri milióny váhových jednotiek. Witness bajt preto váži menej než základný bajt, ale nie je bezplatný. Vbyte je štvrtina váhy zaokrúhlená nahor.
Starší uzol nepozná nové pravidlá witness programu. Podľa svojich pravidiel však nový blok stále prijme. Aktualizované uzly pridávajú prísnejšie kontroly. Taká spätne kompatibilná zmena sa volá soft fork. Pre bezpečnosť je dôležité, aby nové pravidlá overovali ekonomicky významní účastníci.
SegWit zlepšil aj podpisovanie
BIP 143 zmenil podpisový digest pre SegWit verzie 0. Digest je odtlačok údajov, ktorý sa podpisuje. Nový výpočet zahŕňal aj hodnotu míňaného výstupu. To pomohlo hardvérovým peňaženkám bezpečnejšie určovať sumu. Pri bežných prípadoch odstránil aj opakované kvadratické hashovanie.
SegWit vytvoril verzie witness programov. Tie pripravili priestor na ďalšie pravidlá bez zmeny starých formátov. Witness verzia 1 sa neskôr stala Taprootom. Aktualizácia teda riešila identifikátory, podpisovanie, kapacitu aj budúce rozšírenia.