Kapcsolatok

A sha 256 algoritmussal rendelkező kriptovaluták az SHA256 egy kivonatoló algoritmus. Hash dekódolás. Videó a kriptográfiai funkciókról és algoritmusokról

Az SHA 256 egy kriptográfiai utasításkészlet a kriptovaluták bányászatához. Más szóval, megbízhatóan védi az összes tranzakciót a hálózaton, és megnehezíti az elektronikus érmék kinyerését. Ez a rövidítés a Secure Hashing Algorithm rövidítése, ami egy rendkívül népszerű és hatékony kivonatolási módszert jelent.

Az SHA 256 lényege, hogy az információkat értékekké, számokká alakítja. Ez a lánc fix hosszúságú. Ez azt jelenti, hogy a hálózaton belül továbbított minden információ speciális értékekkel - azonosítókkal (ID-k) lesz titkosítva.

A tranzakciók végrehajtásakor az SHA 256 algoritmus összehasonlítja az azonosítót az eredeti adatokkal, amelyeket nem lehet visszakeresni, majd hozzáférést biztosít a tranzakcióhoz. Ezt a protokollt ma már olyan kriptovaluták bányászatánál használják, mint a BTC és a BCH.

Megjelenés története

Hogyan történt, hogy a Bitcoin elkezdte használni az SHA 256-ot? Az egész azzal kezdődött, hogy az algoritmus az SHA-2 család tagjává vált, amelyek hash láncának mérete 224-512 bit.

Őket viszont dédapjuk - SHA-1 - alapján hozták létre, akinek hash-je 160 bit hosszú volt. A technológia 1995-ben jelent meg, és polgári célokra szánták - vagyis hétköznapi, nem államilag fontos információk titkosítására.

Az SHA-2 családot, amelyhez az SHA 256 is tartozik, a Nemzetbiztonsági Ügynökség fejlesztette ki 16 éve - 2002 tavaszán. Ez alapján elmondható, hogy az algoritmus erkölcsileg elavult. Azonban továbbra is ez az egyik legerősebb algoritmus a tranzakciók titkosítására a hálózaton.

Az SHA 256 műszaki paraméterei

Az algoritmust 64 bájt egyenlő részekre osztott adatokra tervezték. Az SHA 256 biztosítja, hogy ezeket összegyűjtsék és egyetlen 256 bites láncba egyesítsék. Ennek a módszernek a fő módszere a titkosítási művelet, amelyet egy ciklusban 64 alkalommal hajtanak végre.

Az SHA 256 algoritmikus utasításainak rövid jellemzői:

  • 64 bites blokkok – a 32 bitesekkel működik a leggyorsabban;
  • a titkosított információlánc csúcshossza 33 bájt;
  • üzenet kivonat mérete - 32 bájt;
  • egy szó szabványosított mérete 4 bájt;
  • a titkosítási ciklus egy műveleti körben 64 bájt;
  • az algoritmus működési sebessége 140 Mbit/s.

Érdemes megjegyezni, hogy az SHA-2 család ezen tagja a Merkle-Damgaard által leírt keretrendszeren alapul. Ez azt jelenti, hogy mielőtt az információt szavakra osztanák, az adatokat blokkokra osztják. A folyamat az adatok keverésével erősíti a titkosítást.

Maga az információgyűjtés 64-80 ismétlés tartományban történik. Minden következő ciklus szavakká alakítja a létrehozott blokkokat. A végeredmény, nevezetesen a hash az összes kezdeti érték összegzésével jön létre.

Kriptovaluták SHA 256 algoritmussal

Mint korábban említettük, nem csak a Bitcoin rendelkezik ilyen utasításokkal, hanem:

  • peercoin, melynek sajátossága, hogy a kódot a dákógolyó alapján hozzák létre, de a PoS a teljes hálózat védelmét szolgálja, a PoW pedig az érmék elosztásáért felel;
  • A namecoin egy digitális valuta, amely a védelem, a titoktartás és a decentralizáció eszközeként működik; unobtanium – rendkívül alacsony az inflációja, legalább 300 évbe telik az összes érme kibányászása;
  • A deutsche eMark egy német mikrohálózat, amelyet eszközök és pénz cseréjére használnak. Maga a folyamat közvetítők nélkül megy végbe; betaCoin - ugyanazon az elven működik, mint a világhírű BitCoin;
  • jouleCoin - szintén a Bitcoin nagypapáján alapul, de gyorsabb tranzakció-visszaigazolást biztosít;
  • A steemit nem is egy külön kripta, hanem egy egész platform a blokkláncon. Fő feladata az érdekes kiadványok jutalmazása.

A Litecoin szintén az SHA 256 algoritmust használja, de nem az egész rendszerben, hanem egy szubrutinban. A Litecoin bányászathoz a Scrypt biztonsági protokollt használják, amely növeli a bányászat összetettségét és csökkenti az ASIC-ek megtérülését.

Kriptovaluta bányászat az SHA 256 algoritmus alapján

Az SHA-2 családon alapuló elektronikus érmék bányászásához nem szükséges speciális eszközök - ASIC - használata. Mind a CPU, mind a GPU alapú farmok jól teljesítenek a bányászatban. Utóbbi sebességben egyértelműen felülmúlja az előbbit.

Pedig az ASIC a legjobb megoldás a kriptovaluták bányászatára. Előnyeit bizonyos mértékig ellensúlyozza a jelentős ára - körülbelül 100 ezer rubel, az erősebb modellek akár az 500 000-et is meghaladják. A bonyolultság növekedésével a megtérülés csökken. Ezért a berendezés nem mindig igazolja magát, bár sokkal nagyobb bányászati ​​​​sebességet biztosít, mint a videokártyákon és különösen a CPU-n lévő farmok.

A GPU bányászat többé-kevésbé jövedelmezőnek tekinthető. Általánosságban elmondható, hogy az egész farm körülbelül 1000-2000 dollárba kerül, plusz további felszerelések – különösen a videokártyák hűtőrendszerei. Érdemes figyelembe venni a helyiségek bérlését, a villanyfizetést és a kiszolgáló személyzet fizetését is.

A videokártyák közül jól teljesít az Nvidia GTX 1080 Ti. 1400 sikeres művelet sebességét produkálja másodpercenként. Az AMD kissé le van maradva Vega vonalkártyáival - 1200 MH/s. Vannak olcsóbb lehetőségek is, mint a Radeon 7970, de a sebessége nem haladja meg a 800 MH/s-ot.

Az SHA 256 algoritmust, bár régi, még mindig használják a Bitcoinban, a világ első számú kriptovalutájában. A protokollt számos más ígéretes altcoinban is használják. Az SHA256-ot fokozatosan felváltja a Scrypt, de a Bitcoin nem tervezi az átállást. A bányászattal kapcsolatban minden egyszerű - ha van pénze, vegyen magas hash arányú ASIC-eket. Gazdaságosabb megoldást szeretne? Majd építs egy farmot AMD vagy Nvidia videokártyákból.

  • Fordítás

Egy ponton azt akartam kitalálni, hogy milyen gyorsan lehet manuálisan bányászni Bitcoint. Kiderült, hogy a bányászathoz SHA-256 hash-t használnak, és ez meglehetősen egyszerű és számítógép nélkül is kiszámítható. Természetesen a folyamat nagyon lassú és teljesen kivitelezhetetlen. De miután végigment minden lépésen papíron, jól megértheti az algoritmus működésének részleteit.

Egy titkosítási kör

Bányászati

A teljes Bitcoin biztonsági rendszer kulcsfontosságú része a bányászat. Az alapötlet az, hogy a bányászok egy blokkba csoportosítják a Bitcoin-tranzakciókat, amelyekből aztán megszámlálhatatlan számú hash-értéket találnak, hogy találjanak egy nagyon ritka hash értéket, amely speciális feltételekhez tartozik. Ha ilyen értéket talál, a blokk bányászottnak minősül, és belép a blokkláncba. Maga a kivonatolás nem szolgál más hasznos célt, mint hogy megnehezíti a megfelelő blokk megtalálását. Így ez az egyik garancia arra, hogy a meglévő erőforrásokkal egyedül senki ne tudja átvenni az egész rendszer irányítását. A bányászatról bővebben a legutóbbi cikkemben olvashat.

A kriptográfiai kivonatoló funkció egy adatblokkot fogad bemenetként, és kicsi, de kiszámíthatatlan kimenetet állít elő. Úgy tervezték, hogy ne legyen gyors módja a kívánt kimenet elérésének, és addig kell keresnie, amíg meg nem találja a megfelelő értéket. A Bitcoin az SHA-256-ot használja ilyen funkcióként. Ezenkívül az ellenállás fokozása érdekében az SHA-256-ot kétszer alkalmazzák a blokkra, és ezt kettős SHA-256-nak nevezik.

A Bitcoinban a hash érvényességének feltétele, hogy elegendő számú kezdő nulla legyen. Ilyen hash megtalálása ugyanolyan nehéz, mint például egy több nullára végződő autó vagy telefonszám megtalálása. De persze egy hash esetében ez exponenciálisan nehezebb. Jelenleg egy érvényes hash-nek körülbelül 17 kezdő nullát kell tartalmaznia, amit csak 1 az 1,4x10 20-hoz elégít ki. Ha egy analógiát vonunk le, akkor egy ilyen értéket nehezebb megtalálni, mint egy adott részecskét találni a Föld összes homokja között.

A kék blokkolja a nem lineárisan kevert biteket, hogy megnehezítse a kriptográfiai elemzést. Sőt, a még nagyobb megbízhatóság érdekében különböző keverési funkciókat használnak (ha talál egy matematikai kiskaput az érvényes hashek gyors generálásához, akkor átveszi az irányítást a teljes Bitcoin bányászati ​​folyamat felett).

A többségi függvény (Ma blokk) bitenként működik az A, B és C szavakon. Minden bitpozícióhoz 0-t ad vissza, ha az adott pozícióban lévő bemeneti bitek többsége nulla, ellenkező esetben 1-et ad vissza.

A Σ0 blokk elforgatja A-t 2 bittel, majd az eredeti A szót 13 bittel, és hasonlóképpen 22 bittel. A kapott A három eltolt változata bitenkénti modulo 2 ( normál xor, (A ror 2) xor (A ror 13) xor (A ror 22)).

Ch megvalósítja a kiválasztási funkciót. Minden bitpozíciónál ellenőrzik az E-ből származó bitet, ha egyenlő eggyel, akkor ebből a pozícióból az F-ből származó bit kerül kiadásra, egyébként pedig egy bit a G-ből. Így az F és G bitjei az érték alapján keverednek. E.

A Σ1 szerkezetében hasonló a Σ0-hoz, de az E szóval működik, és a megfelelő eltolási állandók a 6, 11 és 25.

A piros blokkok 32 bites összeadást hajtanak végre, új értékeket generálva az A és E kimeneti szavakhoz. A W t értéket a bemeneti adatok alapján állítják elő (ez az algoritmusnak a kivonatolt adatokat fogadó és feldolgozó részében történik túlmutat a hatáskörünkön). K t a saját állandója minden körre.

A fenti diagramon észrevehető, hogy egy kriptográfiai körben csak A és E változik. A fennmaradó szavak nem változnak, hanem eltolódnak a kimeneten - a régi A B kimenetté változik, a régi B pedig új C-vé, és így tovább. Bár az algoritmus egyetlen köre nem sokat változtat az adatokon, 64 kör után a bemeneti információ teljesen titkosítva lesz.

Kézzel bányászunk

A videóban megmutatom, hogyan lehet végigmenni az összes leírt lépésen tollal és papírral. Elvégeztem a kivonatolás első körét a blokk bányászatához. 16 perc 45 másodpercig tartott.


Hadd magyarázzam el egy kicsit, mi történik: A szavakat A-tól H-ig írtam fel hexadecimális formában, és mindegyik alatt készítettem egy bináris formátumú fordítást. Az Ma blokk eredménye a C szó alatt van, az eltolások utáni A értékei és maga a Σ0 kimenet az A-val jelzett sor felett jelenik meg. A kiválasztó függvény G alatt jelenik meg, végül pedig az E megfelelő eltolt változatai és a a Σ1 blokk utáni érték megy az E-vel ellátott vonal fölé. In a jobb alsó sarokban egy összeadást hajtott végre, melynek eredménye mind az új A, mind az új E (az első három piros összegzési blokk) kiszámításában részt vesz. A jobb felső sarokban kiszámoltam az A új értékét, középen pedig az E új értékének kiszámítása. Mindezekről a lépésekről fentebb volt szó, és könnyen nyomon követhetők a diagramon.

A videóban látható körön kívül még egyet lebonyolítottam - az utolsó 64. hash kört egy adott Bitcoin blokkhoz. A képen a hash értéke sárga színnel van kiemelve. A nullák száma megerősíti, hogy ez egy érvényes Bitcoin hash. Vegye figyelembe, hogy a nullák a hash végén találhatók, és nem az elején, ahogy korábban írtam. Ennek az az oka, hogy a Bitcoin egyszerűen átfordítja az SHA-256 által kapott bájtokat.


Az SHA-256 utolsó köre, melynek eredményeként egy sikeresen kibányászott Bitcoin blokk látható

Mit jelent mindez a hardverbányászok tervezése szempontjából?

Az SHA-256 minden lépése nagyon egyszerűnek tűnik a digitális logikában – egyszerű bitműveletek és 32 bites összegek (ha valaha is tanulmányozta az áramkörtervezést, valószínűleg már elképzelte, hogyan nézhet ki ez hardverben). Ezért az ASIC-k nagyon hatékonyan valósítják meg az SHA-256-ot, és több száz SHA-256 körös végrehajtási egységet helyeznek el párhuzamosan. Az alábbi képen egy bányászati ​​chip látható, amely másodpercenként 2-3 milliárd hash-t képes kiszámítani. További fotókat a Zeptobars oldalon láthat.


Szilícium felvétel a Bitfury ASIC chipről, amely másodpercenként 2-3 gigahashes sebességgel képes kitermelni a Bitcoint. Kép a Zeptobarsról. (CC BY 3.0)

A Bitcoinnal ellentétben a Litecoin, a Dogecoin és más hasonló alternatív -coin rendszerek a scrypt hash algoritmust használják, amelyet eleve nehéz hardverben megvalósítani. Ez az algoritmus 1024 különböző hash értéket tárol a memóriában a végrehajtás során, és ezeket kombinálja a kimeneten, hogy megkapja a végeredményt. Ezért sokkal több memóriára és áramkörre van szükség a titkosítási kivonatok kiszámításához, mint az SHA-256 hashekhez. A kivonatolási algoritmus megváltoztatásának hatása jól látható a megfelelő bányászati ​​hardverek összehasonlításakor – a scrypt verziói (Litecoin és mások) ezerszer lassabbak, mint az SHA-256 (Bitcoin) verziói.

Következtetés

Az SHA-256 hirtelen annyira egyszerű volt, hogy akár kézzel is ki lehetett számítani (a Bitcoin-tranzakció aláírására használt elliptikus görbe algoritmus sokkal fájdalmasabb lenne, mivel 32 bájtos számok szorzását foglalja magában). Az SHA-256 egy körének kiszámítása 16 percet 45 másodpercet vett igénybe. Ezzel a teljesítménnyel egy teljes Bitcoin blokk (128 kör) kivonatolása 1,49 napot vesz igénybe, vagyis napi 0,67 hash-t kapunk (sőt, gyakorlással persze felgyorsulna a folyamat). Összehasonlításképpen, a bitcoin-bányászok jelenlegi generációja másodpercenként több terahash-t produkál, ami körülbelül kvintimilliószor gyorsabb, mint én. Azt hiszem, egyértelmű, hogy a kézi Bitcoin bányászat nem túl praktikus.

A reddit olvasója az energiafelhasználásomról érdeklődött. Mivel nem gyakorolok komolyabb fizikai erőfeszítést, feltételezhetjük, hogy az anyagcsere sebessége napi 1500 kilokalória lesz, ezért azt tapasztaljuk, hogy a manuális hash-hez majdnem 10 megajoule-ra van szükség egy vasbányász 1000 magehas, így 10^16-szor kevésbé vagyok energiatakarékos, mint egy speciális vasdarab (10 kvadrillió). 15 cent kilowattóránként, ami 6,7-szer olcsóbb, mint a fánk. Ennek eredményeként az energiaköltség a hash-ben, mint emberi bányász, 67 kvadrillió-szer magasabb még a papír és a toll költségét sem számolva!

Miért jött létre az SHA - 256?

Az SHA 256 – a Secure Hashing Algorithm rövidítése – népszerű kriptográfiai a Nemzetbiztonsági Ügynökség – az Egyesült Államok Nemzetbiztonsági Ügynöksége – által kifejlesztett hash algoritmus. Az SHA - 256 feladata, hogy meghatározott hosszúságú értékeket készítsen egy véletlenszerű adathalmazból, amely kiszolgál azonosító ezt az adatot.

A kapott értéket összehasonlítja az eredeti adatok másolataival, amelyek nem kinyerhetők. Az algoritmus fő alkalmazási köre az információbiztonsággal kapcsolatos különféle alkalmazásokban vagy szolgáltatásokban való felhasználás, ahol a funkció elterjedt. terjed. A kriptovaluták bányászatára szolgáló technológiaként is használják.

Ez az algoritmus az SHA - 2 titkosítási algoritmusok csoportjába tartozik, amelyeket viszont az SHA - 1 algoritmus alapján fejlesztettek ki, amelyet először 1995-ben hoztak létre polgári célokra. Magát az SHA-2-t az Egyesült Államok Nemzetbiztonsági Ügynöksége fejlesztette ki 2002 tavaszán. Az amerikai NSA három éven belül szabadalmat adott ki az SHA technológia polgári projektekben való felhasználására.

2012-ben a National Institute of Standards and Technology elkészítette az algoritmus frissített változatát: SHA - 3. Idővel az új algoritmus kiszorítja a jelenlegi SHA - 2 fő algoritmust és a már elavult, de még mindig használt SHA - 1 algoritmust.

A hash-sum nem a klasszikus értelemben vett adattitkosítási technológia, ami lehetetlenné teszi az adatok ellenkező irányú visszafejtését. Ez egyirányú titkosítás bármilyen adatmennyiséghez. Minden SHA algoritmus a Merkle-Damgaard módszeren alapul: az adatokat egységes csoportokra osztják, amelyek mindegyike egyirányú tömörítési függvényen megy keresztül. Ennek eredményeként az adathossz csökken.

Ennek a módszernek két jelentős előnye van:

  • gyors titkosítási sebesség és szinte lehetetlen visszafejtés kulcsok nélkül;
  • minimális ütközésveszély (azonos képek).

Hol használják még?

Minden internetfelhasználó, akár tudta, akár nem, minden nap SHA-256-ot használ: a minden webhelyet védő SSL biztonsági tanúsítvány tartalmazza az SHA-256 algoritmust. Ez szükséges a webhelyhez való biztonságos kapcsolat létrehozásához és hitelesítéséhez.

Az SHA előnyei - 256

SHA - 256 - a legtöbb gyakori bányászati ​​algoritmus az összes többi között. Bebizonyosodott, hogy ellenáll a feltörésnek (ritka kivételektől eltekintve), és hatékony algoritmus a bányászati ​​és egyéb célokra egyaránt.

Hátrányok SHA - 256

Az SHA-256 fő hátránya az irányíthatóság bányászok: a legnagyobb számítási teljesítménnyel rendelkezők kapják a kriptovaluta többségét, ami kiküszöböli az egyik alapvető a kriptovaluták alapelvei - decentralizálás.

Miután a nagybefektetők elkezdtek befektetni az ipari Bitcoin-bányászat számítási teljesítményébe, a bányászat nehézségei exponenciálisan megnőttek, és rendkívüli számítási teljesítményt igényelt. Ezt a hátrányt más, modernebb és a kriptovaluta bányászatban való használatra „szabott” protokollokban, például a Scryptben kijavították. Annak ellenére, hogy ma az SHA-256 a kriptovaluta piac nagy részét foglalja el, gyengíteni fogja befolyását a biztonságosabb és fejlettebb protokollok javára.

Kicsivel később Az SHA-1 algoritmusok már nem biztosítják a szükséges megbízhatósági szintet az ütközések valószínű előfordulása miatt. Az SHA-256, akárcsak az SHA-512, jobban védett ettől a hibától, de az előfordulás valószínűsége továbbra is fennáll.

Használd kriptovalutákban

Bányászat SHA-n - 256

Az SHA-256-tal végzett bányászat, mint minden más algoritmus esetében, bizonyos komplexumok megoldásának folyamata kriptográfiai olyan feladat, amelyet egy bányászati ​​program generál az előző blokkok adatai alapján.

Háromféleképpen lehet bányászni az SHA-256 funkcióval:

  • CPU (központi feldolgozó egység);
  • GPU (grafikus feldolgozó egység);
  • specializált processzor: ASIC.

A bányászatban a hash mennyiséget használják a meglévő blokkok azonosítójaként és a korábbiak alapján újak létrehozására. A bányászati ​​folyamat „elfogadva f33ae3bc9...”-ként jelenik meg a felületen. Ahol f33ae3bc9 egy hash - az összeg, az adatok része, szándékolt a visszafejtéshez. A fő blokk hatalmas számú hasonló hash összegből áll.

Vagyis az SHA-256 algoritmussal való bányászat az megállás nélküli a helyes hash érték kiválasztása, számok felsorolása új blokk létrehozásához. Minél nagyobb a számítási teljesítmény, annál nagyobb az esély a megfelelő blokk megszerzésére: a különböző hash összegek közötti keresés sebessége a teljesítménytől függ.

Tekintettel arra, hogy a Bitcoin az SHA-256 algoritmusra épül, a kompetitív A rajta való bányászat rendkívül nagy számítási teljesítményt igényel. Ez annak a ténynek köszönhető, hogy a Bitcoin bányászat számára az „ASIC” - alkalmazásspecifikus integrált áramkör, azaz az alkalmazás-specifikus integrált áramkör gyártása már régóta létezik. e. speciális célú integrált áramkör. Az ASIC-ek segítségével sokkal gyorsabban, hatékonyabban és olcsóbban bányászhat bitcoinokat és más kriptovalutákat az SHA-256 algoritmus segítségével.

Mely kriptovaluták használják az SHA-256 algoritmust

Az SHA - 256 a kriptovaluták klasszikus algoritmusa: a fő kriptovaluta - a Bitcoin - erre épül. Ennek megfelelően ezt az algoritmust használják a Bitcoin villákban: Bitcoin Cash, Gold, Diamond.

Rajtuk kívül az SHA - 256-ot a következőkben is használják:

  • Steemit;
  • DigiByte;
  • PeerCoin;
  • NameCoin;
  • TeckCoin;
  • Ocoin;
  • Zetacoin;
  • EmerCoin.

Ezenkívül az SHA-256 algoritmust szubrutinként használják a Litecoin kriptovalutában, és a bányászat fő algoritmusa a Scrypt.

Az SHA 256 hash funkció képezte a világ legelső kriptovalutájának – a Bitcoinnak és sok altcoinnak – az alapját. Tudtad, hogy jóval a kriptovaluták megjelenése előtt hozták létre, és teljesen más célokra szánták? Ma áttekintjük az algoritmus történetét, működési elvét, aktuális problémákat és azt, hogy mely kriptovaluták használják az SHA256-ot.

Sztori

Az SHA 256 algoritmus neve a Secure Hashing Algorithm rövidítése. A fejlesztő így nevezte – az Egyesült Államok Nemzetbiztonsági Ügynökségének. Az algoritmus egy hash-függvény. Ez azt jelenti, hogy a bemenete egy tetszőleges hosszúságú adatmennyiség, a kimenet pedig egy rögzített hosszúságú karakterkészlet, úgynevezett hash.

A hash-kivonatoló függvények egyik legfontosabb jellemzője a visszafordíthatatlanság. A hash-t úgy kaphatjuk meg, hogy az eredeti adatokat átadjuk a függvényen, de a hash ismeretében nem fogjuk tudni megszerezni az eredeti adatokat. Ennek a tulajdonságnak köszönhetően a funkció széles körben elterjedt a különböző szolgáltatásokban és alkalmazásokban, ahol adatvédelem szükséges. Minden nap az SHA 256 algoritmust használjuk, amikor internetes oldalakat látogatunk. Tartalmaz egy SSL biztonsági tanúsítványt, amely a webhelyhez való biztonságos kapcsolat létrehozásához szükséges.


Az algoritmus az SHA-2 család része, amelyet az 1995-ben megjelent SHA-1 alapján fejlesztettek ki. Megalakulása óta az sha256 erősségét alaposan tesztelték kriptoanalízis segítségével. A kriptoanalízis a hash függvények két fő típusú támadással szembeni ellenállását teszteli:
  • Ütközések keresése – azonos hash-ek észlelése különböző bemeneti paraméterekkel. A támadás sikerességi aránya veszélyezteti a digitális aláírás biztonságát a jelenlegi algoritmus használatával.
  • Az előkép megtalálása az eredeti üzenet visszafejtésének képessége a hash használatával. Ez a támadás veszélyezteti a hitelesítési jelszókivonatok tárolásának biztonságát.

Az elemzést először 2003-ban tesztelték, de akkor nem találtak sebezhetőséget. Az idő múlásával a számítási teljesítmény fejlődött. 2008-ban ütközéseket találtak az SHA-512 és SHA-256 iterációknál. Ugyanezen év szeptemberében az SHA256 31 iterációjára és az SHA-512 27 iterációjára dolgoztak ki egy eljárást az ütközések létrehozására.

Nyilvánvalóan eljött az idő egy új kriptorezisztens funkció kifejlesztésére. 2012-ben az NSA feltalálta az SHA-3-at. A frissített algoritmus fokozatosan kiszorítja a kevésbé kripto-ellenálló elődeit.

Bányászat az SHA 256-on

Az Egyesült Államok törvényei megengedik az SHA és hasonló hash függvények használatát más protokollok és algoritmusok részeként bizonyos nem titkos szövetségi információbiztonsági alkalmazásokban. Az SHA-2-t magán- és kereskedelmi szervezetek használhatják.

Nem meglepő, hogy kriptovalutákban használták. A bányászok az összes tranzakciót egy blokkba gyűjtik, majd elkezdik kivonatolni. Ha a rendszer szabályainak megfelelő hash értéket talál, a blokk készen áll a blokklánc végéhez való csatolásra. Az új blokkot olyan valaki találja meg, aki nagyon gyorsan ki tudja számítani a hash értékeket. A számítások sebessége a berendezés teljesítményétől függ. Háromféle berendezés használható Bitcoin bányászatához:

  • CPU (központi feldolgozó egység);
  • GPU (videokártyák);
  • ASIC (Application Specific Device).

A Bitcoin hálózatot úgy alakították ki, hogy minden új blokkot 10 percenként egyszer meg kell találni. A hálózat résztvevőinek száma folyamatosan változik, de az időnek állandónak kell maradnia. Az egyenlő tartózkodási idők biztosítása érdekében a rendszer a bányászok számától függően módosítja a számítási nehézséget. A kriptovaluták az utóbbi időben népszerűvé váltak, és a bányászok száma drámaian megnőtt. A blokkok túl gyors megtalálásának elkerülése érdekében a számítások bonyolultsága is megnőtt.


A Bitcoint processzorokon kezdték bányászni. Aztán amikor már nem volt elég az erejük, videokártyákra váltottak. Hamarosan a videokártyák már nem tudtak megbirkózni. Aztán feltalálták az ASIC-eket - a sha 256 algoritmussal történő számításokhoz tervezett speciális eszközöket.

A vállalkozó szellemű bányászok hatalmas farmokat hoznak létre ASIC-ekből. Magának a berendezésnek a magas költségein túlmenően egy ilyen gazdaság havonta több tízezer dolláros villanyszámlát kap. Most már csak az ilyen ipari farmokon van értelme a bitcoin-bányászatnak, egy otthoni számítógép vagy akár egy több videokártyával rendelkező farm sem lesz képes felvenni velük a versenyt, és még az áramot sem fogja megtéríteni.

Ezt azonban könnyű kiszámítani. Vannak számológépek a bányászat jövedelmezőségének kiszámításához sha256-on. Például: https://www.coinwarz.com/miningprofitability/sha-256. Írja be az űrlapba a berendezése hashrate-jét (számítási teljesítményét), az energiafogyasztást és annak költségét, a szolgáltatás kiszámítja a nyereségét.

Altcoins SHA-256

Nézzük meg a sha 256-on működő kriptovaluták listáját és listáját.

Bitcoin Cash (BCH)

2017. augusztus 1-jén elvált tőle. A klasszikus Bitcoin blokkmérete 1 MB. A hálózat olyan nagyra nőtt, hogy már nem fér el minden tranzakció egy blokkba. Ez tranzakciós sorok kialakulásához és a fizetési díjak emelkedéséhez vezetett. A közösség egy új protokoll bevezetése mellett döntött, melynek értelmében a blokkot 2 MB-ra növelték, bizonyos információkat a blokkláncon kívül kezdtek el tárolni, és a komplexitás újraszámításának időkeretét két hétről egy napra csökkentették.

Namecoin (NMC)

Ez egy Bitcoin technológián alapuló rendszer név-érték kombinációk tárolására és továbbítására. Leghíresebb alkalmazása a domain név elosztó rendszer volt, amely független az ICANN-tól, így lehetetlenné teszi a domain visszavételét. A Namecoin 2011-ben indult, Bitcoin bányászati ​​szoftveren fut, amelyet továbbítottak arra a szerverre, ahol a Namecoin fut.

DigiByte (DGB)

Egy 2013-ban elindított kriptovaluta, amelynek célja a Bitcoin és a Litecoin teljesítményének javítása. DigiByte különbségek:

  • Alacsony volatilitás érhető el a kibocsátott érmék hatalmas száma (akár 21 milliárd darab) miatt, ami biztosítja azok alacsony költségét és könnyű használhatóságát a számításokban;
  • Gyors tranzakciók a blokk méretének kétévente történő megduplázásával;
  • Alacsony jutalék vagy nincs jutalék;
  • A bányászati ​​folyamat öt algoritmusra oszlik, amelyek lehetővé teszik az érmék egymástól függetlenül történő bányászását. Az SHA-256-hoz és a Scrypt-hez ASIC-ket, a Groestl-hez és a Skein-hez videokártyákat, a Qubithez pedig processzort használhat.

Az SHA 256 algoritmus a legelterjedtebb a kriptovaluták között. Ezt a Bitcoin népszerűsége és sikere okozta, valamint az altcoin fejlesztők vágya, hogy hasonló érméket hozzanak létre. A számítási bonyolultság növekedése arra késztette a bányászokat, hogy keressenek módokat a hatékonyabb bányászathoz, ami az ASIC-ek megjelenéséhez vezetett.


A Bitcoin titkosítása az SHA-256-on alapul, egy speciális algoritmuson, amely a programkód része. Feladata a bemeneti adatok meghatározott karakterkészletté alakítása (ábécé és numerikus ábrázolásban), valamint az információ védelme. Az ilyen műveleteket kivonatolásnak nevezik. Mik ennek az algoritmusnak a finomságai? Miért van rá szükség és hogyan működik? Mik az előnyei és a hátrányai? Ezeket és számos más szempontot részletesen megvizsgálunk.

Milyen titkosítási algoritmusa van a Bitcoinnak, és hol használják?

A kriptovalutáról, működésének és bányászatának jellemzőiről beszélve a kriptohálózat résztvevői elkerülhetetlenül olyan széles körben elterjedt meghatározással találkoznak, mint a Bitcoin titkosítási algoritmusa. A BTC kifejlesztésének napjától a mai napig (2018. augusztus 13-ig) az SHA-256-ot használták, amely a következő problémák megoldásához szükséges a Bitcoin hálózatban:

  1. BTC-címek kialakítása (tranzakciókhoz használatos).
  2. Bányászat (munka igazolása).
  3. A szükséges biztonság és anonimitás elérése.
  4. A digitális aláíráshoz és annak felismeréséhez.
Az SHA-256 algoritmus nem csak a Bitcoin, hanem más érmék esetében is releváns, nevezetesen a Bitcoin Cash, Mazacoin, Peercoin, Namecoin és más kriptovaluták esetében. Ezenkívül az SHA-2 (az SHA-256 alapja) számos olyan protokoll létrehozására szolgál, amelyek az interneten található adatok védelmére szolgálnak, nevezetesen az SSL, TSL és mások.

A Bitcoin-kivonatoló algoritmus szükséges az információk ellenőrzéséhez az elemzésével és a pontatlanságok időben történő azonosításával. Az adatok feldolgozása és hash-vé alakítása után lehetetlen visszaszerezni az információkat. Ha vesz egy már titkosított BTC fájlt, végezze el újra a számításokat, és győződjön meg arról, hogy a hash paraméterek megegyeznek, akkor biztos lehet benne, hogy az eredeti információban nincs változás. Ha az adatok eltérnek, ez rendszerfeltörést jelez.

Bitcoin titkosítási algoritmus – hogyan működik egyszerű szavakkal


Az SHA-2 a Merkle és Damgaard által létrehozott keretrendszeren alapul. A kriptográfiában használt hash függvény sajátossága a nem szabványos megközelítés kialakítása. A beérkező adatokat azonos méretű blokkokra osztjuk, majd a létrehozott elemeket hexadecimális számokká alakítjuk. Velük történik a későbbi számítások elvégzése. A kapott értékre hash függvényt alkalmazunk, és a feldolgozás eredménye a kimenetben megjelenő hash összeg. Ez egy karakterkészlet, amely alfabetikus és numerikus kijelzőn jelenik meg. Lényegében ez egy hash.

A következő blokk a fent leírt elv szerint épül fel. Ebben az esetben az előző elem létrehozása után egy új folyamat indul el. Ha módosítják az eredeti adatokat, a hash megváltozik. Abban az esetben, ha különböző blokkokban hirtelen azonos hash függvény paraméterek jelennek meg, konfliktushelyzet lép fel az algoritmus működésében. Ilyen eltérés esetén a teljes blokklánc-lánc megkérdőjeleződik.

Így egy hash függvényt használnak a digitális aláírás létrehozására. Ha a fent tárgyalt helyzet bekövetkezik, nagy a valószínűsége az aláírás-hamisításnak. Az ilyen hibák (ütközések) kiszámításához egy speciális technikát használnak, amely magában foglalja az adatok keresését, ami növeli a hash függvény erejét.

A Bitcoin titkosítás helyességét négy követelmény szabályozza:

  1. Amikor módosítja a bejövő adatokat, a hash összege változatlan marad.
  2. A kivonatolás során egyedi hash összeget kapunk (a karakterkészletnek egyedinek kell lennie).
  3. A kulcs létrehozása hash segítségével rendkívül bonyolult.
  4. A hashek visszafordíthatatlanok. Ez azt jelenti, hogy a bemeneti adatokkal végzett munka megengedett fordított művelet végrehajtásának lehetősége nélkül.

Hogyan érvényesül ez a Bitcoinban?

A kriptovaluta hálózat csomópontjainak feladata, hogy számos tranzakcióban megtalálják azt, amelyik minden szempontból megfelel neki. Az opciók értékelésekor a kezdeti figyelem a jutalék nagyságára irányul (egyébként emiatt a nagyobb jutalékos tranzakciók gyorsabban teljesülnek). Ezt követően ellenőrizzük a működést, megvizsgáljuk a bemeneti és kimeneti adatokat, és tisztázzuk a digitális aláírás eredetiségét.

Amint a tervezett munka befejeződik, a Bitcoin lánc következő eleme (blokk) létrejön egy bizonyos mérettel (a kérdéses kriptovalutához - 1 megabájt). Az eredményül kapott csomópontok a verzióból, a formálási időből, két hash-ből (múltbeli blokk és bejövő tranzakciók), valamint az egyediséget biztosító további paraméterekből (bitek és nonce) állnak. A komplexumban a létrehozott blokkot sokszor kivonatolja, aminek eredményeként egy head hash jön létre, amely a lánc „régi” elemének kimeneteként, az újnak pedig bemeneteként működik.

Tegyük fel, hogy a hash halmaz egy adott „0” számot tartalmaz (például a nonce 17). Rendkívül nehéz ilyen értéket kiválasztani pusztán az értékek felsorolásával. Ez a szempont biztosítja a blokklánc-hálózatban lévő információk megbízhatóságát és a hackelés elleni védelmet. A hash létrehozásához óriási erőre van szükség, amely nélkül lehetetlen megtalálni a szükséges karakterkészletet. Ha ez a munka befejeződött és a paramétert megtalálta, akkor az újonnan létrehozott blokkal és a talált hash-sel 17 „0-val” kerül elküldésre a kriptográfiai hálózat elemeinek. Ezután a Bitcoin hálózat összes résztvevője ellenőrzi a hash-t, kombinálva a karakterkészletet a blokkból származó információkkal. Ha nincs ütközés, új elem jelenik meg a blokklánc láncban.

Mikor jelent meg a Bitcoin titkosítási algoritmusa - rövid történet


Az "SHA" kifejezés három szó rövidítése: "Secure Hashing Algorithm". A Bitcoin az SHA-256-ot használja, az említett hash-függvény „alapja” pedig az SHA-2, amely számos kriptoalgoritmust tartalmaz (köztük 256).

Az SHA-2 megalkotói az Egyesült Államok NSA, az ország nemzetbiztonsági kérdéseivel foglalkozó speciális ügynökség. Az algoritmus kifejlesztése és tesztelése után 2002-ben megjelent a nyilvánosság számára. Az új SHA-2 tartalmazta az első SHA-1 hash funkciót is (7 évvel korábban, 1995-ben). Az SHA-2 bevezetése óta az algoritmus számos változata megjelent, amelyek közül az egyiket Satoshi Nakamoto használta a Bitcoin 2009-es létrehozásakor.

A fejlesztők célja az volt, hogy kiadjanak egy olyan algoritmust, amely egy véletlenszerű karakterkészletből biztosítaná egy bizonyos hosszúságú meghatározott érték kialakítását. Megcsinálták. A jövőben az eredményül kapott paramétert az információk azonosítására (ellenőrzésére) fogják használni. Az SHA-2 eredeti célja a különböző szolgáltatásokon található adatok védelme, ma (2018-ban) az SHA-256 elsősorban az érmebányászatban használt algoritmusként ismert.

2012-ben a rendszert továbbfejlesztették, és megjelent a hash funkció frissített verziója - SHA-3. Vélhetően idővel az új fejlesztés kiszorítja a korábbi algoritmusokat, ami javítja az amúgy is magas fokú biztonságot.

A Bitcoin titkosítási algoritmus jellemzői


Az SHA-256 lényege egyszerű. Az összeadás utáni kezdeti üzenet blokkra van osztva, és mindegyik 16 szóból áll. Az így kapott elemek speciális ciklusokon mennek keresztül, amelyek 64 vagy 80 szakaszból állnak. Mindegyiknél két szó konvertálódik, és az átalakítási lehetőséget a fennmaradó szavak alkotják. Az eredményül kapott paramétereket összeadva egy hash keletkezik.

Az algoritmus működése során 6 parancsot használnak:

  • "xor" - eltávolítja az "OR"-t.
  • „shr” - az indikátort a kívánt számú bittel jobbra tolja egy adott frekvenciával.
  • „rothad” - a jelzőt a kívánt számú bittel jobbra tolja (adott ciklus használata nélkül).
  • „II” - lineáris jellegű elemek kapcsolata.
  • "ésés".
  • „+” - követés.
A protokoll jellemzői:
  1. Az üzenet időtartamának felső határa 33 B.
  2. A maximális sebesség paraméter 139 MiB/s.
  3. Szóméret - 4 B.
  4. Egy ciklusban az ismétlések száma 64.
  5. A blokk elem mérete 64 B.
  6. A teljes hash kód 32 B.

Bitcoin titkosítási algoritmus a bányászatban


A bányászaton belüli számítások végzésekor a kapott hash kód helyességét a sor elején lévő nullák száma határozza meg. Például, ha ez a paraméter 17, akkor egy ilyen szám megtalálásának valószínűsége rendkívül alacsony, és valahol 1:1,4*10 körül van a 20. hatványig. Nem meglepő, hogy a Bitcoin bányászatához erős berendezések és magas energiaköltségek szükségesek. A keresett hash keresésének optimalizálása ugyanakkor lehetetlen, mert egy információblokk vétele után egy véletlen szám jelenik meg a kimeneten.

A virtuális érme bányászatának nehézsége a szükséges hash megtalálása és a következő blokk létrehozása. E cél elérése érdekében az értékek szabványos felsorolását használják, amely nagy teljesítményű berendezéseket igényel. Mint említettük, nem egyszerű hash-re kell keresni, hanem olyan értékre, amely előtt nagy számú „0” van.

A kriptovaluta bányászata az SHA-256 segítségével egy adott kriptográfiai probléma megoldását célzó intézkedések összessége. Bitcoin esetében a következő berendezéseket használják a bányászathoz:

  1. A BTC 2009-es megjelenése óta, valamint 2010 közepéig releváns volt a központi feldolgozó egység (CPU) használata.
  2. 2011 közepéig a bányászok videokártyás (GPU) számítógépeket használtak.
  3. 2013 elejéig az FGPA-k népszerűek voltak, akárcsak a GPU-farmok.
  4. 2014-ben megjelentek az ASIC-ek. Teljesítményükben elhomályosították a meglévő berendezéseket. Ennek ellenére 2017 elejéig a bányászok GPU-farmot használtak és poolban dolgoztak, de 2017 végére és a mai napig csak a -bányászok relevánsak. Más berendezések használata veszteséges.
Az említett eszközök segítségével kiválasztható a kívánt hash függvény, és újat generálhatunk. Minél nagyobb az eszköz hashrate-je (számítási teljesítménye), annál gyorsabban rendeződnek az adatok, és annál kevesebb időbe telik a megoldás megtalálása.

A verseny fokozódásával és a termelékenyebb bányászok megjelenésével, és növekszik, amelynek paramétere 2 hetente változik.

A Bitcoin hash algoritmus gyengeségei és erősségei


Fentebb megnéztük, hogy mi az a Bitcoin hash algoritmus és mik a jellemzői. Ez az SHA-256, amelyet a legelterjedtebb algoritmusnak tekintenek, magas szintű megbízhatósággal és viszonylag egyszerű működési elvvel. Nagyon ellenáll a hackelésnek, és lehetővé teszi az érmék bányászását bármilyen berendezésen (a nehézségi paraméterektől függően).

Számos pozitív tulajdonsága ellenére a Bitcoin hash algoritmusának számos gyenge pontja van:

  1. A BTC bányászat résztvevői által végzett irányítás. Itt ugyanaz az elv működik, mint a részvénytársaságoknál (JSC), amikor a társasági résztvevők bizonyos számú részvényt birtokolnak. Minél több hatalom összpontosul a kriptohálózati bányászok kezében, annál erősebb a hatásuk az egész rendszerre. Ezenkívül a bányászat 2018-ban egyre bonyolultabbá válása miatt észrevehető tendencia, hogy a bányászat magánbányászok kezéből a virtuális érmék bányászatára szolgáló berendezések létrehozásában részt vevő nagy szervezetek irányítása alá kerül. Bitcoinok fogadásához egy magánbányásznak nagy összegeket kell költenie ASIC-ek vásárlására, csatlakoznia kell az egyik medencéhez, és fizetnie kell az áramért. Ha spórol a berendezésen, a termelés veszít a jövedelmezőségből.
  2. A fentebb tárgyalt helyzet következménye, hogy a bitcoinok „oroszlánrésze” nagy bányavállalatok tulajdonosai kezében összpontosul. Ha figyelembe vesszük, hogy nem minden kapott Bitcoin kerül értékesítésre, az ilyen szervezetek befektetőkké és érmék letétkezelőjévé válnak. Ennek eredményeként csökken a forgalomban lévő érmék száma. Ezenkívül a kriptovaluta felhalmozása lehetővé teszi a decentralizáció, valamint a BTC árfolyamának befolyásolását a kereskedési folyamat során.
  3. A meglévő hiányosságok miatt az SHA-256 algoritmus fokozatosan a múlté, és fejlettebb projektek veszik át a helyét. Például a Scrypt, az Ethash, a Blake-256, az Equihash és mások egyre népszerűbbek. Az új algoritmusok jobb védelmi és biztonsági szinttel rendelkeznek, ami arra kényszerítette számos kriptovaluta készítőjét, hogy elhagyják az elavult SHA-256-ot a fejlettebb technológiák javára.
  4. A fejlesztők által azonosított főbb hibák kijavítása ellenére néhány sebezhetőséget nem sikerült eltávolítani (2008-ban 22 iteráció során találtak ütközéseket). Ezért folytatódott az SHA fejlesztése, és a második verziót az SHA-3 váltotta fel.
2009-ben kénytelen voltam az SHA-256-ot használni, mert a kriptovaluta létrehozásakor az államok kormányai elfogadták ezt a protokollt. Akkoriban egyes kormányzati programokban aktívan használták adatvédelemre, és a kereskedelmi szektorban is alkalmazták. Kiderült, hogy a protokollt bizonyos problémák megoldására hozták létre, de a valóságban teljesen más módon van rá igény.

Az egyértelműség kedvéért táblázatba foglaljuk a Bitcoin titkosítási algoritmus pozitív és negatív tulajdonságait.

ElőnyökHibák
Széles körben elterjedt (beleértve a kriptovaluta szektort is). Az SHA protokollt aktívan használják a mindennapi életben az információk védelmére.A decentralizáció elvesztése. A hatalom a bányavállalatok kezében összpontosul.
Megbízható betörésvédelem.Az SHA iteráció egyszerű felépítésű, ami idővel a bányászat bonyolultságának növekedéséhez vezetett. 2018 augusztusától csak nagy teljesítményű ASIC-k használhatók Bitcoinok bányászatára.
Kényelem az érmék bányászatában, sokoldalúság a bányászati ​​​​berendezések kiválasztásában.Új algoritmusok jelennek meg, amelyek fejlettebb szerkezettel rendelkeznek.
A második verzióban (SHA-2) az alkotóknak sikerült kiküszöbölniük számos olyan hiányosságot, amelyek negatívan befolyásolták a rendszer megbízhatóságát.A hibákkal kapcsolatos aktív munka ellenére sok hiányosságot nem sikerült megszüntetni. Nem meglepő, hogy a fejlesztők létrehozták az SHA-3 új verzióját.
A jegyzőkönyvet törvényhozási szinten fogadták el az Egyesült Államokban.

Ma szinte nem használják új kriptovaluták fejlesztésére. A még mindig SHA-256-ot használó érmék legszembetűnőbb példája a Bitcoin Cash, a Bitcoin villája, amely 2017 augusztusában jelent meg. De ebben az érmében az SHA használata inkább szükségszerűség, mintsem az alkotók döntése. Ami magát a Bitcoint illeti, ennek a sorozatnak a használata a Satoshi Nakamoto alternatívák hiányának köszönhető.

Ma, 2018-ban sok szó esik ennek az algoritmusnak a fejlesztéséről és a kriptovaluta hálózat módosításáról, de ez idáig ezek a szándékok nem találtak fizikai megvalósításra, és csak javaslatok formájában maradnak meg.

Videó a kriptográfiai funkciókról és algoritmusokról:



Tetszett a cikk? Oszd meg