SegWit je zkratka pro Segregated Witness. Jednalo se o dosud největší aktualizaci bitcoinového protokolu, která zabalila několik vylepšení a oprav do jednoho.
Další čtení: Co je to bitcoin?
Jaké jsou výhody SegWit?
Jako pravděpodobně nejpozoruhodnější oprava se SegWit zbavil tvárnosti transakcí. Před SegWitem se díky kryptografickým podpisům bitcoinu stalo to, že transakce mohly být vylepšeny tak, aby „vypadaly“ jinak, dokonce i lidmi, kteří sami transakci nevytvořili. I když by transakce nebyla neplatná nebo by se nezměnilo to, co provedla – stále by to posílalo stejné množství mincí ze stejných adres na stejné adresy – vážně to komplikovalo nasazení protokolů druhé vrstvy, jako je Lightning Network.
SegWit tento problém vyřešil přesunutím „svědectví“ údajů o transakci, které zahrnuje podpis, do nové části bitcoinového bloku. Jako takový připravil cestu pro Lightning Network a další protokoly dvou vrstev.
Další čtení: Co je to Lightning Network
Jako další bonus SegWit také nabídl mírné zvýšení limitu velikosti bloku na teoretické čtyři megabajty nebo realističtější limit dvou megabajtů v závislosti na typech transakcí zahrnutých do bloků. (Abych byl přesný: Limit velikosti bloku byl nahrazen limitem jednotek hmotnosti čtyř milionů, což představilo nový způsob „počítání“ údajů o transakcích.) To znamená, že uživatelé s peněženkami podporujícími SegWit platí nižší transakční poplatky.
Další čtení: Co je limit velikosti bloku bitcoinů?
Navíc prostřednictvím technického triku zvaného „verze skriptu“ SegWit také usnadnil nasazení dalších upgradů na bitcoinový protokol. Jedním z těchto nadcházejících upgradů by mohly být podpisy Schnorr, nový podpisový algoritmus, který by dále zvýšil programovatelnost a flexibilitu protokolu Bitcoin..
V neposlední řadě to všechno bylo možné bez nutnosti zpětně nekompatibilního upgradu protokolu hard fork. (Upgrade soft fork vyžaduje podporu pouze většiny hash power, aby nedocházelo k rozdělení sítě, zatímco hard forky vyžadují shodu v celé síti.)
Další čtení: Co jsou bitcoinové vidlice?
Kdo vyvinul SegWit?
Verze SegWit byla poprvé vyvinuta společností Blockstream pro projekt vedlejšího řetězce Blockstream Elements. Poté, co přispěvatel Bitcoin Core Luke-jr přišel na to, jak by mohl být SegWit nasazen na hlavní bitcoinový protokol prostřednictvím zpětně kompatibilní aktualizace soft forku, byl vyvinut vývojovým týmem Bitcoin Core. Konkrétně autorem příslušného návrhu na vylepšení bitcoinů (BIP) je Eric Lombrozo, Johnson Lau a Pieter Wuille, kteří také většinu kódování provedli. Zbytek týmu během celého procesu pomáhal různými způsoby, včetně kontroly a testování.
Pseudonymní vývojář litecoinů Shaolinfry a inženýr Bitmain Warranty James Hilliard se zasloužili o vývoj alternativních aktivačních řešení pro soft fork. (Více o tom níže.)
Byl SegWit kontroverzní?
V rámci technické komunity bitcoinu nebyl SegWit kontroverzní.
Mimo technickou komunitu bitcoinů však někteří upřednostňovali jiné řešení škálování pro bitcoiny nebo nevěřili, že by samotný SegWit jako řešení škálování stačil. To mělo za následek proměnu návrhu SegWit na něco jako vyjednávací čip v mnohem širším sporu plném kontroverzí. Jiní se pokusili SegWit úplně zdiskreditovat.
Jediným sporným bodem, který pro něj (pravděpodobně) měl určitou platnost, je, že by bylo „čistší“, pokud jde o kód, nasadit upgrade jako hard fork místo soft fork, protože by to ponechalo méně technických pochyb protokol. Nasazení SegWitu jako hard forku by však mělo své vlastní problémy, o nichž si většina vývojářů a zastánců SegWitu myslela, že by byly mnohem větší.
Některé z dalších kontroverzí kolem SegWitu – některé například tvrdily, že by těžařům umožňovaly ukrást finanční prostředky – jsou prostě nesmysly. (Ukázkový příklad: SegWit funguje už léta a žádní těžaři nedokázali ukrást žádné mince.)
Další čtení: Co je těžba bitcoinů?
Jak a kdy se SegWit aktivoval?
SegWit aktivován v srpnu 2017.
Jak se to aktivovalo, je dlouhý příběh. I když to bylo poprvé veřejně navrženo a zahrnuto do plánu bitcoinového jádra v prosinci 2015, a kód byl připraven o necelý rok později, spuštění aktualizace protokolu trvalo do léta 2017.
Je to z velké části proto, že někteří významní bitcoinoví horníci odmítli aktivovat upgrade protokolu. (Jak bylo původně navrženo, SegWit by šel do provozu v síti, pokud by nadpoloviční většina horníků signalizovala podporu v blocích, které těžili.) O motivacích těchto horníků se stále spekuluje, ale zdá se, že buď použili SegWit jako vyjednávací čip, nebo „Zablokovali“ upgrade, protože byl nekompatibilní s optimalizací těžby (zvanou „AsicBoost“), kterou tajně používali – nebo obojí.
Ať tak či onak, do roku 2017 se pohyb občanů uživatelů bitcoinů shromáždil kolem myšlenky, kterou poprvé navrhl pseudonymní vývojář litecoinů Shaolinfry. Tito uživatelé, kteří se nazývají User Activated Soft Fork (UASF), oznámili, že do léta aktivují upgrade na svých vlastních bitcoinových uzlech, bez ohledu na to, co budou horníci dělat. Pokud by tito uživatelé prošli svým původním plánem, mohlo by to rozdělit bitcoinovou síť na verzi se SegWit a verzi bez.
Jen několik dní před „termínem“ UASF aktivovali horníci nakonec SegWit. Technicky vzato to dokázali prostřednictvím ještě dalšího aktivačního mechanismu, který navrhl inženýr Bitmain Warranty James Hilliard.
Úplný popis této kapitoly v historii bitcoinů najdete také Dlouhá cesta k Segwitu: Jak se stala největší aktualizace protokolu bitcoinů realitou.
Jak mohu použít SegWit?
SegWit používáte pomocí peněženky, která má integrovaný SegWit. Tato peněženka by vám měla generovat adresy SegWit a při provádění platby z takové adresy bude poplatek, který budete muset zaplatit, nižší, než kdybyste SegWit nepoužívali.
Existují dva typy adres SegWit. Jeden typ („P2SH“) začíná „3“ – i když ne všechny adresy, které začínají 3, jsou adresy Segwit. Druhý („bech32“) začíná „bc1“ a vždy jde o adresu SegWit. P2SH SegWit adresy jsou ve skutečnosti trochu řešením; zatímco transakce SegWit z těchto adres jsou levnější než transakce jiné než SegWit, transakce z adres bech32 jsou nejlevnější.
Adresy, které začínají číslicí „1“, nikdy nejsou adresami SegWit.
Některé peněženky, které mají integrovaný SegWit, zahrnují Bitcoin Core, Electrum, Green, Trezor, Ledger a řadu dalších.
Proč ne každý používá SegWit?
Více než dva roky po aktivaci SegWit využívá méně než polovina všech transakcí v bitcoinové síti SegWit. Z individuálního pohledu existují pravděpodobně dva důvody, proč SegWit nepoužívat.
Prvním důvodem je, že implementace SegWit vyžaduje upgrade a někteří lidé to dělají jednoduše pomalu. U velkých společností to může vyžadovat značné množství času a úsilí, protože migrace celých systémů bude možná zapotřebí. Podobně některé peněženky a další aplikace dosud SegWit ještě neintegrovaly, pravděpodobně proto, že mají jiné priority.
Druhým důvodem by byl „politický“: Někteří lidé mají podezření, že určité společnosti neprovádějí upgrade na SegWit jako druh protestu. Upřednostňovali by různá řešení škálování nebo více řešení škálování. Možná se dokonce snaží zvýšit transakční poplatky za bitcoiny, aby motivovali uživatele k migraci na altcoiny.
Stojí za zmínku, že i když každý upgraduje na SegWit, ti, kdo upgradují, mají výhody bez ohledu na to. I když celková úroveň poplatků může být pro uživatele SegWit o něco nižší, pokud by SegWit měli používat také všichni ostatní, další výhoda úplné migrace je malá. Navíc, pokud méně lidí používá SegWit, bitcoinové bloky jsou menší, což má také výhody.