Elkülönített Tanú

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]

Történelem

A méretezhetőség problémája

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]

Tranzakció plaszticitása

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 születésnapi támadás

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] .

Elkülönített tanú

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]

Aktiválás

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]

Előnyök

Hátrányok

Továbbfejlesztés

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]

Jegyzetek

  1. 1 2 3 4 5 6 7 8 9 10 11 A SegWit hosszú útja: Hogyan vált valósággá a Bitcoin legnagyobb protokollfrissítése ? Letöltve: 2017. december 14. Az eredetiből archiválva : 2017. december 14..
  2. A Satoshi legjobban őrzött titka: Miért van 1 MB-os korlát a Bitcoin blokk méretére ? Letöltve: 2017. december 24. Az eredetiből archiválva : 2017. december 24..
  3. Egy vitatott Bitcoin-alternatíva keresi a visszatérést . Letöltve: 2017. december 24. Az eredetiből archiválva : 2017. december 1..
  4. A Bitcoin Cash és a Bitcoin közötti különbségek . Letöltve: 2017. december 24. Az eredetiből archiválva : 2017. december 24..
  5. 1 2 3 Tranzakció alakíthatóság magyarázata
  6. Bitcoin-tranzakciós alakíthatósági elmélet a gyakorlatban . Letöltve: 2017. december 14. Az eredetiből archiválva : 2017. december 14..
  7. Bitcoin fejlesztői útmutató . Letöltve: 2017. december 25. Az eredetiből archiválva : 2017. december 28..
  8. A folyamatban lévő tranzakciós alakíthatósági támadás ki, mit, miért és hogyan . Letöltve: 2017. december 24. Az eredetiből archiválva : 2017. december 24..
  9. Megjelent a Bitcoin Core 0.10.0 verziója . Letöltve: 2017. december 24. Az eredetiből archiválva : 2017. november 24..
  10. Tanulmány: Mt. A Gox mindössze 386 BTC-t veszíthetett a tranzakció alakíthatósága miatt . Letöltve: 2017. december 23. Az eredetiből archiválva : 2017. december 23..
  11. A Bitcoin Cash hálózat támadás alatt áll
  12. Script - Bitcoin Wiki . hu.bitcoin.it . Letöltve: 2021. február 5. Az eredetiből archiválva : 2021. február 4..
  13. 1 2 3 4 5 6 7 8 9 10 11 Elkülönített tanúk juttatásai . Letöltve: 2017. december 13. Az eredetiből archiválva : 2018. április 26..
  14. 1 2 Pieter Wuille: Elkülönült szemtanú és hatása a méretezhetőségre @ SF Bitcoin Devs
  15. A szegregált tanú aktiválódik a Bitcoinon: Ez az, amire számíthatsz . Letöltve: 2017. december 23. Az eredetiből archiválva : 2017. december 1..
  16. New York-i megállapodás . Letöltve: 2017. december 22. Az eredetiből archiválva : 2017. augusztus 7..
  17. 1 2 3 A tanúk elkülönített költségei és kockázatai . Letöltve: 2017. december 24. Az eredetiből archiválva : 2018. február 21..
  18. SPV bányászat . Letöltve: 2017. december 14. Az eredetiből archiválva : 2017. december 29.
  19. 2x lehívás: A Bitcoin Hard Fork felfüggesztése konszenzus hiánya miatt . Letöltve: 2017. december 22. Az eredetiből archiválva : 2018. január 3..
  20. Inside MAST: A kevéssé ismert terv a Bitcoin intelligens szerződéseinek előmozdítására . Letöltve: 2017. december 22. Az eredetiből archiválva : 2017. december 23.

Irodalom

Linkek