A Segregated Witness (rövidítve SegWit) egy implementált protokollfrissítés, amelynek célja a Bitcoin blokklánc -tranzakciók plaszticitása problémájának megoldása , valamint az átviteli sebesség növelése . Hasonló frissítést hajtottak végre néhány más kriptovalutánál is, mint például a Litecoin , a DigiByte , a Groestlcoin és a Vertcoin . [egy]
A SegWit egy " soft villa ", és lehetővé teszi a hálózat korábbi működését. Változik azonban a blokkban lévő adattárolás szerkezete és a teljes értékű hálózati csomópontok tranzakcióinak ellenőrzési mechanizmusa. Az aláírások és a szkriptek mostantól egy különálló struktúrába vannak szétválasztva, amelyet elkülönített tanúnak neveznek . Ez lehetővé teszi, hogy a fő blokk több tranzakciót fogadjon el, és kiküszöböli ugyanazon tranzakció azonosítójának változékonyságát. [egy]
2010 -ben Satoshi Nakamoto 1 megabájtos blokkméret-korlátozást vezetett be . A korlátozás javította a hálózati csomópontok kompatibilitását, valamint csökkentette a DDoS támadások hatékonyságát, de a maximális hálózati átviteli sebességet másodpercenként 3-7 tranzakcióra csökkentette. Ez utóbbi további negatív hatással volt a hálózat méretezési képességére. A felhasználói bázis és az átutalások számának növekedésével a késések is növekedni kezdtek – egyes tranzakciók több napig is sorban álltak. Ez magasabb átutalási díjakat is eredményezett, ami drasztikusan csökkentette a Bitcoin vonzerejét kis fizetéseknél. [2]
Javasolták a blokk méretének növelését, amelyet olyan Bitcoin forkokban valósítottak meg, mint a Bitcoin XT , Bitcoin Classic , Bitcoin Unlimited , Lightning Bitcoin és a legsikeresebb Bitcoin Cash . [3] [4]
A Bitcoin hálózat másik akut problémája az úgynevezett tranzakciós plaszticitás volt . A Bitcoin-tranzakciók normál szerkezete tartalmaz egy kriptográfiai aláírást , amely lehetővé teszi a hálózat többi résztvevőjének, hogy ellenőrizze, hogy a bitcoin tulajdonosa valóban el akarta-e költeni. Az aláírás kiszámítása az egyes tranzakciók privát kulcsa alapján történik , amely kizárja magának a tranzakciónak az adatainak megváltoztatását. A tranzakcióazonosító a hash , amely a teljes tranzakciós blokk alapján kerül kiszámításra. A tranzakció legkisebb változása megváltoztatja annak azonosítóját. [5] Valójában lehetőség van egy tranzakció módosítására úgy, hogy az érvényes marad (például opcionális segédprogram-konstansok hozzáadásával az aláíráshoz, amelyek nem változtatják meg jelentősen a szkriptet). [6] Ezzel egyidejűleg az azonosítója is megváltozik, ami azt jelenti, hogy a módosított tranzakció teljesen újnak minősül, ráadásul más hálózati csomópontok által is ellenőrizhetővé válik. [5]
A hálózat bármely csomópontja módosíthatja a tranzakciót és sugározhatja azt másoknak. Ha a módosított tranzakció az eredeti előtti fő ágblokkban szerepel, vagy később egy hosszabb ágban jelenik meg, akkor az eredeti tranzakciót elutasítjuk, mivel az a használt kimenetre fog hivatkozni (és az arra hivatkozók is elutasítandó). [7] Ez sok problémát okoz, mivel egyes rendszerek ellenőrizték, hogy az azonosító alapján történt-e a fizetés. Bonyolítja a Bitcoin blokkláncon alapuló magasabb szintű technológiák megvalósítását is . [5]
A fejlesztők már korábban is próbálták megoldani ezt a problémát, de a SegWit frissítésig soha nem sikerült teljesen kijavítani. [8] [9]
Feltételezik, hogy a tranzakció plaszticitása révén 64 564 BTC-t vontak ki „illegálisan” az egykor népszerű MtGox platformról [10] . A Bitcoin Cash hálózat hatalmas támadást szenvedett a tranzakciók alakíthatósága ellen röviddel a „ kemény villa ” után. [tizenegy]
A Bitcoin multisig címek P2SH-t használnak, és HASH160-zal vannak biztosítva ( SHA-256 hash a RIPEMD-160- on belül [12] ). Ha egy támadónak legalább 1 kulcsa van a többaláírásos listáról, akkor a hash ütközést figyelembe véve 280-ra csökkentheti a keresési lehetőségek számát , ami a modern számítástechnikai rendszerekben már megvalósítható [13] .
Mindkét fent említett probléma megoldása érdekében javasolták az elkülönített tanúk frissítését. A lényeg az, hogy a tranzakciós aláírásokat egy azonos nevű szerkezetbe helyezzük a fő blokkon kívül, ami jelentősen tehermentesíti az utóbbit, mivel az aláírás mérete a teljes tranzakciós blokk méretének több mint 50%-a volt. Megoldja a tranzakciós plaszticitás problémáját is, mivel az aláírások már nem befolyásolják a hash azonosítót. [1] [14]
Most azonban az összes tranzakció ellenőrzéséhez a csomópontnak le kell töltenie a kiterjesztett blokkot (fő blokk + leválasztott tanú). A csomópont kifejezetten tájékoztatja szomszédait, hogy készen áll a kiterjesztett blokk elfogadására. A fennmaradó csomópontok 1 MB-os építőelemeket fogadnak el, feltételezve, hogy a tranzakciókat nem kell aláírni. Az aláírási blokk a főlánchoz kapcsolódik a blokk fejlécében található Merkle-fa segítségével. Az összes aláírásból, valamint az összes tranzakcióból a hash-ek figyelembevételre kerülnek, és bekerülnek a fába. Az aláírások teljes hash-e hozzáadódik az első tranzakció (coinbase-tranzakció) hashéhez a Merkle-tranzakciófában. [1] [14]
Egy kiterjesztett blokk elméletileg 4 megabájtra korlátozódik, de a tényleges maximális blokkméret alig kevesebb, mint 2 MB. [tizenöt]
A SegWit SHA256 által védett P2WSH-t használ P2SH helyett a MultiSig pénztárcák védelmére . Ez megnehezíti a "születésnapi" támadást 2128 -ra . [13]
A szegregált tanú létrehozását Pieter Wuille javasolta 2015 végén. A megjelenésre 2016 októberében került sor – 6 hónappal a tervezett időpont előtt. Az aktiválásnak a frissítés támogatását jelző résztvevők 95%-os küszöbének túllépése után kellett volna megtörténnie. De a hálózat egyes tagjai azt mondták, hogy csak akkor támogatják a frissítést, ha a fő blokk méretének növelését is hozzáadják (a kínai készletek blokkolhatták a SegWit bevezetését.). [1] 2017. május 23-án a bányászok és a fejlesztők aláírták a New York-i Megállapodást [16] , amely a fő blokk méretének 6 hónapon belüli 2 MB-ra történő növelését írta elő (a frissítés neve SegWit2x). A SegWit aktiválása 2017. augusztus 24-én történt. [egy]
Néhány altcoin a SegWit bevezetése mellett döntött. Mivel sok altcoin a Bitcoin kódján alapul, ez nem volt túl nehéz a fejlesztők számára. Az első közülük 2017 januárjában aktiválta a Groestlcoin frissítést. [egy]
November 8-án a SegWit2x " hard forkja" határozatlan ideig késett a konszenzus hiánya miatt . [19]
A SegWit frissítés sokkal könnyebbé teszi a kiegészítők fejlesztését és bevezetését, ugyanakkor növeli azok biztonságát és hatékonyságát. [1] A Lightning Network a tervek szerint hamarosan indul . [13] Megoldás fejlesztés alatt áll a Merklized Abstract Syntax Tree (MAST) intelligens szerződések rugalmasságának növelésére, amely a méretezhetőséget és a magánélet védelmét is javítja. [húsz]
Kriptovaluták | |
---|---|
SHA-2 alapú PoW | |
Scrypt alapú PoW | |
PoW CryptoNote alapú | |
Egyéb PoW algoritmusok | |
PoS algoritmusok | |
Egyéb technológiák | |
Kapcsolódó témák |
|
bitcoin | ||
---|---|---|
Szervezetek | ||
Emberek | ||
Technológia | ||
Csereszolgáltatások |