Segregated Witness (zkráceně SegWit) je implementovaná aktualizace protokolu navržená k vyřešení problému plasticity bitcoinových blockchainových transakcí a také ke zvýšení jejich propustnosti . Podobná aktualizace byla implementována pro některé další kryptoměny jako Litecoin , DigiByte , Groestlcoin a Vertcoin . [jeden]
SegWit je „ soft fork “ a umožňuje síti fungovat jako dříve. Mění se však struktura ukládání dat v bloku a mechanismus ověřování transakcí pro plnohodnotné síťové uzly. Podpisy a skripty jsou nyní rozděleny do samostatné struktury zvané segregovaný svědek . To umožňuje hlavnímu bloku pojmout více transakcí a také eliminuje variabilitu ID stejné transakce. [jeden]
V roce 2010 zavedl Satoshi Nakamoto limit velikosti bloku 1 MB . Omezení zlepšilo kompatibilitu síťových uzlů a také snížilo efektivitu DDoS útoků, ale snížilo maximální propustnost sítě na 3-7 transakcí za sekundu. Ten měl dále negativní dopad na schopnost sítě škálovat. S růstem uživatelské základny a počtem převodů začala narůstat i zpoždění - některé transakce čekaly ve frontě i několik dní. To také vedlo k vyšším poplatkům za převod, což drasticky snížilo atraktivitu Bitcoinu pro malé platby. [2]
Bylo navrženo zvýšit velikost bloku, což bylo implementováno v bitcoinových forcích, jako jsou Bitcoin XT , Bitcoin Classic , Bitcoin Unlimited , Lightning Bitcoin a nejúspěšnější Bitcoin Cash . [3] [4]
Dalším akutním problémem bitcoinové sítě byla takzvaná transakční plasticita . Normální struktura bitcoinové transakce obsahuje kryptografický podpis , který umožňuje ostatním účastníkům sítě zkontrolovat, zda vlastník bitcoinů skutečně zamýšlel utratit. Podpis je vypočítán na základě soukromého klíče pro každou transakci, což vylučuje změnu dat samotné transakce. ID transakce je její hash , který se vypočítá na základě celého bloku transakce. Sebemenší změna v transakci změní její identifikátor. [5] Ve skutečnosti je možné transakci upravit a přitom ji ponechat platnou (například přidáním volitelných obslužných konstant do podpisu, které výrazně nemění skript). [6] Zároveň se změní její identifikátor, což znamená, že upravená transakce bude považována za zcela novou a navíc bude moci být ověřena jinými uzly sítě. [5]
Jakýkoli uzel v síti může transakci upravit a vysílat ji ostatním. Pokud je upravená transakce zahrnuta do hlavního větevního bloku před původní, nebo pokud se později objeví v delší větvi, pak bude původní transakce odmítnuta, protože bude odkazovat na použitý výstup (a ty, které na ni odkazují, budou také být odmítnut). [7] To vytváří mnoho problémů, protože některé systémy kontrolovaly skutečnost, že platba byla provedena identifikátorem. To také komplikuje implementaci technologií vyšší úrovně, které jsou založeny na bitcoinovém blockchainu . [5]
Vývojáři se snažili tento problém vyřešit již dříve, ale nikdy nebyl zcela vyřešen až do aktualizace SegWit. [8] [9]
Předpokládá se, že pomocí plasticity transakce bylo „ilegálně“ staženo 64 564 BTC z kdysi populární platformy MtGox [10] . Síť Bitcoin Cash utrpěla masivní útok na tvárnost transakcí krátce po „ hard forku “. [jedenáct]
Bitcoinové multisig adresy používají P2SH a jsou zabezpečeny pomocí HASH160 ( SHA-256 hash uvnitř RIPEMD-160 [12] ). Pokud útočník vlastní alespoň 1 klíč ze seznamu více podpisů, může s přihlédnutím ke kolizi hash snížit počet možností vyhledávání na 280 , což je již možné pro moderní výpočetní systémy [13] .
K vyřešení obou výše uvedených problémů byla navržena aktualizace Segregated Witness. Základem je umístit transakční podpisy do stejnojmenné struktury mimo hlavní blok, což výrazně odlehčí ten druhý, protože velikost podpisu byla více než 50 % velikosti celého transakčního bloku. Řeší také problém plasticity transakce, protože podpisy již neovlivňují hash identifikátor. [1] [14]
Ale nyní, aby bylo možné ověřit všechny transakce, musí uzel stáhnout rozšířený blok (hlavní blok + oddělený svědek). Uzel konkrétně informuje své sousedy o své připravenosti přijmout rozšířený blok. Zbývající uzly přijímají stavební bloky o velikosti 1 MB za předpokladu, že transakce není nutné podepisovat. Blok podpisu je propojen s hlavním řetězcem pomocí stromu Merkle umístěného v záhlaví bloku. Ze všech podpisů, stejně jako ze všech transakcí, jsou brány v úvahu a zadávány do stromu. Celkový hash podpisů je přidán k hash první transakce (coinbase transakce) ve stromu transakcí Merkle. [1] [14]
Rozšířený blok je teoreticky omezen na 4 megabajty, ale skutečná maximální velikost bloku je těsně pod 2 MB. [patnáct]
SegWit používá k zabezpečení peněženek MultiSig P2WSH zabezpečený SHA256 namísto P2SH . Tím je útok "narozeniny" těžší než 2128 . [13]
Segregated Witness navrhl Pieter Wuille na konci roku 2015. Vydání proběhlo v říjnu 2016 - 6 měsíců před plánovaným termínem. K aktivaci mělo dojít po překročení 95% prahu účastníků signalizujících podporu upgradu. Někteří členové sítě však uvedli, že budou podporovat upgrade pouze v případě, že k němu bude přidáno zvýšení velikosti hlavního bloku (čínské fondy možná zablokovaly zavedení SegWitu.). [1] Dne 23. května 2017 podepsali těžaři a vývojáři Newyorskou dohodu [16] , která počítala se zvýšením velikosti hlavního bloku na 2 MB do 6 měsíců (tato aktualizace se jmenovala SegWit2x). SegWit byl aktivován 24. srpna 2017. [jeden]
Některé altcoiny se také rozhodly implementovat SegWit. Protože mnoho altcoinů je založeno na kódu bitcoinu, nebylo to pro vývojáře příliš obtížné. První z nich aktivoval aktualizaci Groestlcoin v lednu 2017. [jeden]
8. listopadu byl „ hard fork “ SegWit2x odložen na neurčito kvůli nedostatku konsensu . [19]
Aktualizace SegWit výrazně usnadňuje vývoj a implementaci doplňků a zároveň zvyšuje jejich bezpečnost a efektivitu. [1] Brzy je naplánováno spuštění Lightning Network . [13] Vyvíjí se řešení pro zvýšení flexibility chytrých kontraktů Merklized Abstract Syntax Tree (MAST), což také zlepšuje škálovatelnost a zvyšuje soukromí. [dvacet]
Kryptoměny | |
---|---|
PoW založené na SHA-2 | |
PoW založené na Scrypt | |
PoW založené na CryptoNote | |
Další algoritmy PoW | |
PoS algoritmy | |
Jiné technologie | |
související témata |
|
bitcoin | ||
---|---|---|
Organizace | ||
Lidé | ||
Technika | ||
Směnárenské služby |