Iné

Touto publikáciou začíname sériu krátkych článkov, ktoré budú publikované v najbližších dňoch. Obsah tejto série článkov sa zameria najmä na rôzne typy šifrovacích algoritmov. Poskytneme vám úplné pochopenie toho, čo sú krypto-algoritmy, čo znamenajú, ktoré digitálne mince ako prvé prišli s myšlienkou implementácie týchto algoritmov a odpovieme na množstvo ďalších otázok. Dnes začneme SHA-256, s ktorým sa už pravdepodobne stretla väčšina, ak nie všetci, naši milí čitatelia.

Čo je teda SHA-256? Ako už bolo spomenuté, ide o algoritmus. Presnejšie povedané, ide o kryptografickú hašovaciu funkciu, ktorú vyvinuli vaši „priatelia“ a moja, Národná bezpečnostná agentúra USA. Počkajte, neunáhlite sa, nie je sa čoho obávať. Buďte trochu trpezliví, sľubujem, že sa určite nebudete nudiť.

Ako všetci vieme, pri ťažbe mincí SHA-256 riešime problém pomocou CPU alebo GPU. Procesy konverzie sú zobrazené v rozhraní ťažobného programu, napríklad ako riadok „Accepted 0aef41a3b“. Hodnota 0aef41a3b je hash. Predstavuje časť dát, ktorá sa má dekódovať, čomu zodpovedá výsledný hash kód. Ešte jednoduchšie povedané, ide o krátky reťazec dešifrovaných údajov, pričom hlavný kus (alebo blok) údajov pozostáva z niekoľkých tisícok, ak nie miliónov, podobných reťazcov.

To tiež vysvetľuje, prečo zvyčajne musíte vyriešiť veľa problémov, kým nájdete ten správny blok svojej mince. Máte šancu jedna ku tisíc, desaťtisíc, stotisíc alebo dokonca milión, že dekódovaný reťazec bude mať PRESNU hodnotu potrebnú na jeho odomknutie, alebo to budú moje (alebo blokované) údaje. Je to ako hrať v lotérii, ale so strojmi, ktoré dokážu vypočítať výhernú kombináciu rýchlejšie a lepšie ako ktokoľvek z nás.

Myslíte si, že na riešenie problémov s hashovaním pomocou protokolu SHA-256 budete potrebovať výkonný hardvér? Toto dáva nejaký zmysel. Čím viac výpočtového výkonu sa použije, tým lepšie, keďže šance na ťažbu coinov sa zvyšujú. Majte však na pamäti, že nie ste jediný, kto ťaží. Sú ľudia, ktorí majú výkonnejší hardvér. Nenechajte sa odradiť, máte všetky šance na výhru. Je to ako hrať v lotérii, nikdy neviete, kedy budete mať šťastie!

Teraz sa vráťme k algoritmu SHA-256. Kryptomena nie je jediným príkladom, kde sa používa SHA-256. Existuje niekoľko protokolov, o ktorých ste s najväčšou pravdepodobnosťou počuli a ktoré fungujú podľa podobného algoritmu. Týmito protokolmi sú SSL, SSH, PGP a mnohé ďalšie. Zakaždým, keď pristupujete na zabezpečenú webovú stránku pomocou certifikátu SSL, používa sa SHA-256. Stavím sa, že si o tom nepremýšľal, však? Všetci sa časom naučíme niečo nové!

Poďme sa teda baviť o protokole SHA-256! Pravdepodobne máte Bitcoin, ktorý je dnes najznámejšou alternatívnou menou. Ale to nie je dôvod, aby ste sa tam zastavili. V poslednej dobe došlo k nárastu nových SHA-256 coinov: Zetacoin, Ocoin, Tekcoin atď. Ale nemôžeme zabudnúť ani na tie coiny, ktoré boli uvedené na trh skôr, napríklad NameCoin atď.

V nasledujúcom článku sa pozrieme na funkcie algoritmu Scrypt!

SHA256 - skratka pre Secure Hash Algorithm - je aktuálny hashovací algoritmus vytvorený Národnou bezpečnostnou agentúrou - Národnou bezpečnostnou agentúrou USA. Úlohou tohto algoritmu je vykonávať určité hodnoty z náhodnej množiny údajov s pevnou dĺžkou. Táto dĺžka je identifikátor. Výsledná hodnota sa porovná s duplikátmi pôvodných údajov, ktoré nie je možné získať.

Hlavná oblasť využitia algoritmu SHA256 je v rôznych aplikáciách alebo službách, ktoré súvisia s ochranou informačných dát, kde sa rozšíril algoritmus Secure Hashing Algorithm. Algoritmus tiež ťaží digitálne meny.

SHA-256 je kryptografická hašovacia funkcia.
Ako všetci vieme, pri ťažbe krypto mincí riešime pôvodný problém pomocou procesorov CPU alebo GPU. Procesy sa odrážajú v programovom rozhraní pre jazdný pruh, napríklad vo forme riadku „Akceptované 0aef41a3b“. 0aef41a3b je hash. Toto sú informácie o dekódovaní, ktoré zodpovedajú hašovanému kódu, ktorý bude prijatý. Inak povedané, ide o riadok dešifrovaných údajov, zatiaľ čo hlavný virtuálny blok údajov obsahuje tisíce alebo dokonca milióny takýchto riadkov.

kód
To môže vysvetliť situáciu, keď potrebujete vyriešiť obrovské množstvo problémov, kým nájdete požadovaný blok svojej kryptomeny. Ukazuje sa, že existuje jediná šanca na 1, 10, 100 tisíc alebo dokonca milión rozhodnutí, že reťazec, ktorý sa dešifruje, bude mať presnú hodnotu potrebnú na odstránenie zámku, alebo to budú osobné údaje (alebo blok). Je to ako tombola, hra, ale s vybavením, ktoré dokáže vypočítať víťaznú kombináciu rýchlejšie a lepšie ako ktorýkoľvek baník.

Mnoho ľudí si myslí, že na vyriešenie problémov súvisiacich s hashom pri používaní protokolu SHA256 budete potrebovať výkonný hardvér?

Hardvér

Áno, je to tak. Čím viac výpočtového výkonu sa použije, tým lepšie, keďže sa zvyšuje šanca na ťažbu kryptomeny (miner SHA256). Je však dôležité pochopiť, že obrovské množstvo baníkov zarába mince na SHA256. Sú takí, ktorí majú najvýkonnejší hardvér. Ale nemali by ste byť naštvaní, každý má šancu vyhrať. Je to ako žreb v lotérii, nedá sa predpovedať, kedy sa šťastie usmeje! Ťažba SHA256 je zábavný a zaujímavý proces, ktorý vám umožňuje zarábať virtuálne mince.

Technický princíp algoritmu
Zetacoin
Algoritmus SHA256 je v súčasnosti implementovaný vo všetkých ASIC mineroch pôsobiacich na trhovej platforme, zatiaľ čo ASIC vybavenie pre ostatné ťažobné hašovacie funkcie je stále len vo fáze vývoja.
Okrem bitcoinu sa bane využívajúce algoritmus SHA256 používajú v mnohých ďalších virtuálnych klonových menách. Používajú ho napríklad altcoiny Peircoin a Namecoin. Mnoho ľudí sa zaujíma o používanie SHA256, ktoré kryptomeny sa používajú.

Najrelevantnejšie sú tieto:

Ocoin.
Tekcoin.
Zetacoin a ďalšie
Sha256 a Scrypt sú algoritmy. Každý, kto rozumie ťažbe virtuálnych volút, chápe, že na získanie akejkoľvek mince je potrebné ju vyťažiť (teda stiahnuť softvér, spustiť ho a počkať, kým začne fungovať výpočtová technika). Celý zmysel ťažby teda spočíva v tom, že PC rieši najzložitejšie problémy (hashovacie funkcie) a čím viac bude počítačové vybavenie fungovať, tým viac meny sa bude ťažiť.

A úlohy, ktoré PC rieši, nemusia byť štruktúrované rovnakým spôsobom – niektoré sú založené na algoritme SHA256 a iné na Scrypte (iné boli vyvinuté, ale tieto sú medzi baníkmi najrelevantnejšie). Napríklad známy bitcoin sa získava pomocou algoritmu Sha256 a kryptomena DogeCoin sa ťaží pomocou Scrypt. Inak povedané, rôzne digitálne meny používajú rôzne algoritmy. z akého dôvodu?

A tu je dôvod, prečo sa ukázalo, že Sha256 nie je ťažké a dnes sa objavilo veľké množstvo špeciálnych zariadení (nazývajú sa ASIC), ktoré riešia problémy pomocou tohto algoritmu veľmi rýchlo, rýchlejšie ako štandardné výkonné procesory, takže tieto ASIC prinášajú baníkom veľa krát viac kryptomeny ako bežné počítačové vybavenie. Nižšie je video, v ktorom môžete pochopiť technický princíp algoritmu.

Vlastnosti protokolu SHA-256

SHA256 má oproti iným algoritmom určité výhody. Toto je najpopulárnejší algoritmus ťažby spomedzi všetkých existujúcich. Ukázalo sa, že je spoľahlivý pri hackovaní (čo sa nestáva často) a ako efektívny algoritmus pre problémy s ťažbou aj iné účely.

Existujú aj nevýhody:

Hlavnou nevýhodou meny SHA256 je kontrola zo strany ťažiarov.
Tí s enormným výpočtovým výkonom dostávajú väčšinu kryptomien, čo eliminuje jeden z hlavných princípov virtuálnych peňazí – decentralizáciu.

Keď sa začali investovať do výpočtového výkonu pre priemyselnú bitcoinovú baňu, náročnosť ťažby sa výrazne zvýšila a začala si vyžadovať výnimočný výpočtový výkon. Toto mínus je opravené v iných protokoloch, najinovatívnejších a „šitých na mieru“ pre používanie digitálnych mien v bani, ako je Script.

Aj keď SHA256 v týchto dňoch dominuje kryptotrhu, oslabí svoj vplyv v prospech najrobustnejších a najmodernejších protokolov. Bazény SHA256 stratia pôdu pod nohami. Algoritmy SHA-1 už teda neposkytujú požadovanú úroveň ochrany v dôsledku pravdepodobného vývoja kolízií.

Kryptomeny SHA256, podobne ako SHA512, sú najviac chránené pred týmto negatívnym bodom, ale stále existuje možnosť rozvoja rizika. Miner na SHA256, ako aj na akomkoľvek inom hashovaní, je proces riešenia nejakého zložitého kryptografického problému, ktorý generuje ťažobný program na základe informácií získaných z blokov.

Ťažbu pomocou hašovacej funkcie SHA256 je možné vykonávať 3 spôsobmi:

CPU.
GPU
ASIC.
V bani sa hash suma používa ako identifikátor blokov, ktoré už existujú, a vytváranie nových na základe tých, ktoré sú k dispozícii. Proces jazdného pruhu sa v rozhraní odráža ako „akceptované f33ae3bc9...“. Kde f33ae3bc9 je hashovaná suma, časť údajov, ktorá je potrebná na dešifrovanie. Hlavný blok obsahuje obrovské množstvo hashových súm tohto druhu. To znamená, že ťažba pomocou algoritmu SHA256 znamená výber správnej hodnoty hashovanej sumy bez zastavenia, vymenovanie čísel, aby sa vytvoril ďalší blok. Čím je zariadenie výkonnejšie, tým väčšia je šanca stať sa vlastníkom toho správneho bloku: rýchlosť triedenia rôznych druhov množstiev závisí od kapacity. Pretože je bitcoin postavený na algoritme SHA256, konkurencieschopná baňa na ňom vyžaduje extrémne veľký výpočtový výkon.

Je to spôsobené tým, že na ťažbu kryptomeny stačí výroba ASIC, konkrétne špeciálneho obvodu na špeciálny účel. ASICS umožňujú ťažiť bitcoiny a iné kryptomeny pomocou hashovacej funkcie SHA-256 rýchlejšie, efektívnejšie a lacnejšie.

Aké ďalšie kryptomeny SHA–256 možno ťažiť? SHA-256 je klasika pre digitálne meny: je na ňom postavená hlavná virtuálna mena Bitcoin. Preto sa tento hash používa v bitcoinových forkoch: v bitcoinovej hotovosti, zlate, diamante.

Okrem nich sa SHA-256 používa aj v:

Para.
Digibyte.
Peercoin.
Namecoin.
Tikkoin.
Ocoin.
Zetacoin.
Emircoin.
Algoritmus sa používa aj ako podprogram v digitálnej mene Litecoin a hlavným algoritmom pre baňu bude Scrypt.

Pseudokód hash: funkcie
Pseudokód
Pseudokód.
Scypt-Jane sa odlišuje tým, že podporuje viac ako 3 rôzne prúdové šifrovacie systémy. A aby ste jasne pochopili algoritmus, mali by ste sa oboznámiť s charakteristikami funkčnosti. Hlavné funkcie:

Salsa20/8.
ChaCha20.
Salsa6420/8.
V prvom rade tu máme Salsu20/8. Ide o pomerne jednoduchú funkciu, ktorej hlavnou úlohou je prijať 192-bajtový reťazec (čísel a písmen) a následne ho previesť na 64-bajtový reťazec Salsa20 (x).

Salsa20/8
Salsa20/8.
Salsa20 je dvojzložkový: prúdové šifrovanie na šifrovanie dát a kompresná funkcia (algoritmus Rumba20), ktorá je potrebná na kompresiu 192-bajtového reťazca na 64-bajtový. Inak povedané: riadok môže byť väčší ako 64 bajtov, kým sa nestane 192 bajtom, a riadok bude komprimovaný na 64 bajtov. ChaCha20 má miernu podobnosť so Salsa20: je to tiež šifrovanie prúdu, ale poskytuje niektoré ďalšie funkcie, napríklad zvýšenú odolnosť voči kryptoanalýze.

Chacha20 tiež zvyšuje miešanie údajov za kolo. Inými slovami, pri ťažbe digitálnych mincí ako súčasti poolu si všimnete, že jedno kolo ťažby môže zahŕňať krátke alebo dlhé časové obdobie. Čas, ktorý ťažobný fond potrebuje na nájdenie jedného bloku, je čiastočne určený lepším mixovaním, ktoré ponúka Chacha20 zo Skript-Jane.

Mimochodom, rôzne faktory ovplyvňujú zníženie času kola. Ďalšou dôležitou funkciou na miešanie informácií v Script Jane je Salsa6420/8. Je to vylepšená verzia Salsa20/8 a umožňuje pracovať s najvyššími bajtovými blokmi. Okrem týchto funkcií podporuje Jane's Script aj množstvo hashov, vrátane SHA256. Algoritmus podporuje aj jeho najinovatívnejšiu verziu, SHA512.

Príklad hashovania
Schéma
Schéma.
čo je hashovanie? Myšlienka hashu je založená na distribúcii kľúčov v štandardnom poli H. Distribúcia nastáva výpočtom hašovanej funkcie h pre každý kľúč prvku. Na základe kľúča pomáha získať celé číslo n, ktoré bude slúžiť ako index pre pole H. Je jasné, že by ste mali prísť s hašovanou funkciou, ktorá by dávala rôzne kódy pre rôzne objekty. Napríklad, ak by sa reťazce mali použiť ako kľúč hašovanej tabuľky, môžete vybrať hašovanú funkciu, ktorá je založená na nasledujúcom algoritme (príklad v C): int hash(char* str) (int h = 0; pre (int i=0; i
Kde m je veľkosť hašovanej tabuľky, C je konštanta väčšia ako akákoľvek ord(c) a ord() je funkcia, ktorá vracia kód znaku (číslo). Môžete si vytvoriť vlastnú hašovaciu funkciu pre konkrétny typ údajov. Základné požiadavky na funkciu však boli vyvinuté: musí usporiadať kľúče medzi bunkami hašovanej tabuľky čo najjednotnejšie a musí sa dať ľahko nájsť. Nižšie je tabuľka. Je možné pochopiť, že indexy kľúčov v hašovanej tabuľke sú výsledkom funkcie h, ktorá je aplikovaná na kľúč.

kľúč
kľúč.
Obrázok tiež ukazuje jeden z hlavných problémov. Pri pomerne nízkej hodnote m (veľkosť hašovanej tabuľky) vzhľadom na n (počet kľúčov) alebo pri zlej funkcii sa môže stať, že do spoločnej bunky poľa H sa hašujú 2 kľúče. kolízia.

Dobré funkcie majú tendenciu znižovať pravdepodobnosť kolízií na nulu, ale vzhľadom na to, že priestor všetkých možných kľúčov môže byť väčší ako veľkosť hash tabuľky H, stále sa im nedá vyhnúť. Odborníci však vyvinuli množstvo technológií na riešenie kolízií. Nastavenie fondu SHA256 na ťažbu mincí je zobrazené vo videu. Môžete pochopiť, ako ťažiť kryptomenu.

SHA 256 - skratka pre Secure Hashing Algorithm - je populárny kryptografický hašovací algoritmus vyvinutý Národnou bezpečnostnou agentúrou. Účelom SHA-256 je vytvoriť určité hodnoty s pevnou dĺžkou z náhodnej množiny údajov, ktoré budú slúžiť ako identifikátor týchto údajov.

Výsledná hodnota sa porovnáva s duplikátmi pôvodných údajov, ktoré nie je možné extrahovať. Hlavnou oblasťou použitia algoritmu je použitie v rôznych aplikáciách alebo službách súvisiacich s informačnou bezpečnosťou, kde sa funkcia rozšírila. Používa sa aj ako technológia na ťažbu kryptomien.

Tento algoritmus patrí do skupiny šifrovacích algoritmov SHA-2, ktoré sú zase vyvinuté na základe algoritmu SHA-1, ktorý bol prvýkrát vytvorený v roku 1995 na použitie na civilné účely. Samotný SHA-2 bol vyvinutý americkou národnou bezpečnostnou agentúrou na jar roku 2002. Do troch rokov americká NSA vydala patent na použitie technológie SHA v civilných projektoch.

V roku 2012 vytvoril Národný inštitút pre štandardy a technológie aktualizovanú verziu algoritmu: SHA-3. Postupom času nový algoritmus nahradí súčasný hlavný algoritmus SHA-2 aj už zastaraný, ale stále používaný SHA-1.

Hash sum nie je technológiou šifrovania údajov v klasickom zmysle, čo znemožňuje dešifrovanie údajov v opačnom smere. Toto je jednosmerné šifrovanie pre akékoľvek množstvo údajov. Všetky SHA algoritmy sú založené na Merkle-Damgaardovej metóde: dáta sú rozdelené do jednotných skupín, z ktorých každá prechádza jednosmernou kompresnou funkciou. Výsledkom je skrátenie dĺžky dát.

Táto metóda má dve významné výhody:

vysoká rýchlosť šifrovania a takmer nemožné dešifrovanie bez kľúčov;
minimálne riziko kolízií (identické obrázky).
Kde sa ešte používa?
Každý používateľ internetu, či už o tom vie alebo nie, používa každý deň SHA-256: bezpečnostný certifikát SSL, ktorý chráni každú webovú stránku, obsahuje algoritmus SHA-256. Je to potrebné na vytvorenie a overenie bezpečného pripojenia k lokalite.

Výhody SHA-256
SHA-256 je najbežnejší ťažobný algoritmus spomedzi všetkých ostatných. Ukázalo sa, že je odolný voči hackerom (až na zriedkavé výnimky) a je účinným algoritmom pre ťažbu aj iné účely.

Nevýhody SHA-256
Hlavnou nevýhodou SHA-256 je jeho ovládateľnosť baníkmi: tí s najväčším výpočtovým výkonom dostávajú väčšinu kryptomeny, čo vylučuje jeden zo základných princípov kryptomeny – decentralizáciu.

Po tom, čo veľkí investori začali investovať do výpočtového výkonu pre priemyselnú ťažbu bitcoínov, náročnosť ťažby sa exponenciálne zvýšila a začala si vyžadovať výnimočný výpočtový výkon. Táto nevýhoda bola opravená v iných protokoloch, modernejších a „šitých na mieru“ na použitie pri ťažbe kryptomien, ako je napríklad Scrypt. Napriek tomu, že dnes SHA-256 zaberá veľkú časť trhu s kryptomenami, oslabí svoj vplyv v prospech bezpečnejších a pokročilejších protokolov.

Po určitom čase už algoritmy SHA-1 neposkytovali požadovanú úroveň spoľahlivosti kvôli pravdepodobnému výskytu kolízií. SHA-256, podobne ako SHA-512, sú pred touto chybou viac chránené, ale možnosť výskytu je stále prítomná.

Použitie v kryptomenách

Ťažba pomocou SHA-256, rovnako ako pri akomkoľvek inom algoritme, je proces riešenia nejakého zložitého kryptografického problému, ktorý je generovaný ťažobným programom na základe údajov z predchádzajúcich blokov.

Prehľad šifrovacieho algoritmu SHA-256

Existujú tri spôsoby ťažby pomocou funkcie SHA-256:

CPU (centrálna procesorová jednotka);
GPU (jednotka grafického spracovania);
špecializovaný procesor: ASIC.
Pri ťažbe sa hash suma používa ako identifikátor existujúcich blokov a vytváranie nových na základe predchádzajúcich. Proces ťažby sa v rozhraní zobrazí ako „akceptované f33ae3bc9...“. Kde f33ae3bc9 je súčet hash, časť údajov, ktorá sa má dešifrovať. Hlavný blok pozostáva z obrovského množstva podobných hashových súm.

To znamená, že ťažba pomocou algoritmu SHA-256 je nepretržitý výber správnej hodnoty hash, vymenovanie čísel na vytvorenie nového bloku. Čím väčší je váš výpočtový výkon, tým väčšie sú vaše šance na získanie správneho bloku: rýchlosť prehľadávania rôznych hashových súm závisí od výkonu.

Vzhľadom na to, že Bitcoin je postavený na algoritme SHA-256, konkurenčná ťažba na ňom vyžaduje extrémne veľký výpočtový výkon. Je to spôsobené tým, že pre ťažbu bitcoínov je už dlhú dobu zavedená výroba „ASIC“ - aplikačne špecifických integrovaných obvodov, t.j. špeciálneho integrovaného obvodu. ASICS vám umožňuje ťažiť bitcoiny a iné kryptomeny pomocou algoritmu SHA-256 oveľa rýchlejšie, efektívnejšie a lacnejšie.

Ktoré kryptomeny používajú algoritmus SHA-256
SHA-256 je klasický algoritmus pre kryptomeny: je na ňom postavená hlavná kryptomena, Bitcoin. V súlade s tým sa tento algoritmus používa v bitcoinových forkoch: Bitcoin Cash, Gold, Diamond.

Okrem toho sa SHA-256 používa aj v:

Steemit;
DigiByte;
PeerCoin;
NameCoin;
TeckCoin;
ocoín;
zetacoin;
EmerCoin.
Algoritmus SHA-256 sa tiež používa ako podprogram v kryptomene Litecoin a hlavným algoritmom na ťažbu je Scrypt.

SHA je skratka pre Secure Hashing Algorhitm. Ide o populárny kryptografický hašovací algoritmus vyvinutý americkou NSA (National Security Agency).
Tento algoritmus patrí do rodiny šifrovacích algoritmov SHA-2 s veľkosťou hash 224-512 bitov, ktoré boli vyvinuté na základe hashovacieho algoritmu SHA-1 s veľkosťou hash 160 bitov, ktorý bol prvýkrát vytvorený v roku 1995 na použitie v civilné účely (federálny štandard spracovania informácií FIPS PUB 180-1).

Samotnú rodinu SHA-2 vyvinula americká Národná bezpečnostná agentúra na jar 2002 (FIPS PUB 180-2, ktorá zahŕňala SHA-1). Do troch rokov vydal NBÚ patent na využitie technológie SHA aj v civilných projektoch (vo februári 2004 bola do FIPS PUB 180-2 pridaná hašovacia funkcia SHA-224). V októbri 2008 bolo vydané nové vydanie štandardu FIPS PUB 180-3. V marci 2012 vyšlo najnovšie vydanie FIPS PUB 180-4, do ktorého boli pridané funkcie SHA-512/256 a SHA-512/224 založené na hašovacom algoritme SHA-512 (vzhľadom na skutočnosť, že dňa 64. -bitové architektúry, funkcia SHA-512 je oveľa rýchlejšia ako štandardná SHA-256, navrhnutá pre 32 bitov).

V roku 2012 vytvoril Národný inštitút pre štandardy a technológie aktualizovanú verziu algoritmu: SHA-3 (Keccak). SHA-3 je hašovací algoritmus s premenlivou šírkou. Bol vyvinutý a publikovaný v roku 2008 skupinou autorov pod vedením Yoana Dymena, spoluautora Rijndaela, autora algoritmov a šifier MMB, SHARK, Noekeon, SQUARE a BaseKing. Dňa 2. októbra 2012 vyhrala SHA-3 súťaž kryptografických algoritmov NIST (National Institute of Standards and Technology). Samotná súťaž bola vyhlásená v novembri 2007, vznikla a konala sa s cieľom doplniť a ďalej nahradiť už zastarané rodiny hašovacích funkcií SHA-1 a SHA-2. 5. augusta 2015 bol nový algoritmus zverejnený a schválený ako nový štandard FIPS 202. V implementácii SHA-3 tvorcovia uvádzajú, že pri spustení na bežnom PC s procesorom podobným Intelu vyžaduje iba 12,5 cyklu na bajt. Core2Duo. V skutočnosti sa však Keccak po implementácii do hardvéru ukázal byť oveľa rýchlejší ako ostatní finalisti súťaže. Postupom času nový hašovací algoritmus nahradí už zastaraný, ale stále niekedy používaný SHA-1 a základný algoritmus, ktorým je SHA-2.

Ako a prečo sa používa SHA-256?
Účelom tohto algoritmu je vytvoriť určité hodnoty s pevnou dĺžkou zo sady náhodných údajov, ktoré budú slúžiť ako identifikátor týchto údajov. Výsledná hodnota sa porovnáva s duplikátmi pôvodných dát, ktoré nie je možné žiadnym spôsobom extrahovať (dešifrovať). Hlavným využitím SHA-256 je jeho využitie v rôznych službách či aplikáciách súvisiacich so šifrovaním/dešifrovaním, ako aj informačnou bezpečnosťou, kde je táto funkcia veľmi využívaná. Algoritmus SHA-256 sa používa aj ako technológia na ťažbu niekoľkých populárnych kryptomien (Bitcoin, Steemit, DigiByte, PeerCoin, NameCoin a niektoré ďalšie), ale o tom nižšie.

Hash sum nie je technológiou šifrovania údajov v klasickom zmysle, čo znemožňuje dešifrovanie údajov v opačnom smere. Toto je v princípe jednosmerné šifrovanie pre akékoľvek množstvo údajov a akýkoľvek typ údajov. Všetky algoritmy SHA sú založené na metóde Merkla-Damgard: najprv sa dáta rozdelia do homogénnych skupín, potom každá z týchto skupín prejde ireverzibilnou a jednosmernou kompresnou funkciou, v dôsledku čoho sa výrazne zníži dĺžka dát.

Metóda má dve významné výhody:

Vysoká rýchlosť šifrovania a takmer nemožné dešifrovanie bez kľúčov
Minimálne riziko kolízií (identické obrázky).
Kde sa ešte používa SHA-256?
Každý deň, každý používateľ internetu, či už o tom vie alebo nie, používa SHA-256 takmer každý deň: bezpečnostný certifikát SSL, ktorý chráni takmer všetky webové stránky, je založený na použití algoritmu SHA-256. Je to potrebné na vytvorenie a overenie bezpečného a zabezpečeného pripojenia k lokalite.

Výhody SHA-256

SHA-256 je najbežnejší inteligentný šifrovací algoritmus spomedzi všetkých ostatných. Ukázalo sa, že je odolný voči hackerom (až na zriedkavé výnimky) a je efektívnym algoritmom pre úlohy ťažby kryptomien, ako aj pre iné účely.

Nevýhody SHA-256

Hlavnou nevýhodou algoritmu v prípade ťažby je jeho prílišná kontrola zo strany ťažiarov: väčšinu vyťaženej kryptomeny dostávajú majitelia najväčšej výpočtovej sily (hlavne Čína), čo vylučuje decentralizáciu ako jeden zo základných princípov. takmer všetkých kryptomien.

Ťažba založená na algoritme SHA-256
Ťažba SHA-256, podobne ako ťažba založená na akomkoľvek inom šifrovacom algoritme, je procesom riešenia akéhokoľvek zložitého kryptografického problému vytvoreného ťažobným programom na základe údajov z predchádzajúcich blokov.

Pomocou SHA-256 môžete ťažiť tromi rôznymi spôsobmi:

CPU (centrálna procesorová jednotka) - najpomalšia a najnevýhodnejšia metóda
Jednotka grafického spracovania (GPU)
ASIC (dedikovaný procesor alebo integrovaný obvod) je jedným z najrýchlejších a cenovo najefektívnejších spôsobov
Počas procesu ťažby sa hash suma používa ako identifikátor existujúcich blokov a vytváranie nových blokov na základe predchádzajúcich. Hlavný blok pozostáva z obrovského množstva podobných hashových súm. Ťažba pomocou algoritmu SHA-256 je teda nepretržitý proces výberu správnej hodnoty hash a vyhľadávania hodnôt na vytvorenie nového bloku. Čím väčší je výpočtový výkon vášho zariadenia, tým väčšia je šanca na získanie správneho bloku: rýchlosť vyhľadávania hashových súm priamo závisí od schopností zariadenia.

Vzhľadom na to, že ťažba bitcoínov, podobne ako niektoré iné kryptomeny, je založená na algoritme SHA-256, je pre konkurenčnú ťažbu potrebný extrémne vysoký výpočtový výkon. Dôvodom je skutočnosť, že ASIC a (Application Specific Integrated Circuits) sa už dlho používajú na ťažbu bitcoínov, to znamená, že špeciálne integrované obvody, ktoré sú navrhnuté len pre jeden konkrétny šifrovací algoritmus, umožňujú ťažiť bitcoiny rýchlejšie a efektívnejšie (a lacnejšie) iná kryptomena, ktorej ťažba je založená na algoritme SHA-256.

SHA-256 možno právom nazvať klasickým kryptomenovým algoritmom, pretože je na ňom založené „digitálne zlato“ - Bitcoin, ako aj všetky jeho mnohé forky (Bitcoin Cash, Gold, Diamond a ďalšie).

SHA-256 sa používa aj ako súčasť programového kódu v Litecoine, jednej z najpopulárnejších kryptomien, ale hlavným ťažobným algoritmom je stále Scrypt.

Pôvodnú verziu algoritmu SHA-256 vytvorila americká Národná bezpečnostná agentúra na jar roku 2002. O niekoľko mesiacov neskôr Národná metrologická univerzita zverejnila novovyrazený šifrovací protokol vo federálne akceptovanom bezpečnostnom štandarde FIPS PUB 180-2. V zime 2004 bol doplnený o druhú verziu algoritmu.

Počas nasledujúcich 3 rokov NSA uvoľnila patent na druhú generáciu SHA v rámci licencie Royalty-free. Práve to viedlo k využívaniu technológií v civilných oblastiach.

Venujte pozornosť! Celkom zaujímavý fakt: každý používateľ World Wide Web, bez toho, aby o tom vedel, používa tento protokol počas svojich ciest po internete. Návšteva akéhokoľvek webového zdroja chráneného bezpečnostným certifikátom SSL automaticky spustí spustenie algoritmu SHA-256.

Tento protokol pracuje s informáciami rozdelenými na časti 512 bitov (alebo inými slovami 64 bajtov). Vykoná ich kryptografické „zmiešanie“ a potom vytvorí 256-bitový hash kód. Algoritmus pozostáva z relatívne jednoduchého kola, ktoré sa opakuje 64-krát.

Okrem toho má SHA-256 celkom dobré technické parametre:
Indikátor veľkosti bloku (bajty) – 64.
Maximálna povolená dĺžka správy (bajtov) je 33.
Špecifikácia veľkosti súhrnu správ (bajty) – 32.
Štandardná veľkosť slova (bajty) je 4.
Parameter dĺžky vnútornej pozície (bajty) – 32.

Počet iterácií v jednej slučke je iba 64.
Rýchlosť dosiahnutá protokolom (MiB/s) je približne 140.
Činnosť algoritmu SHA-256 je založená na Merkle-Damgaardovej konštrukčnej metóde, podľa ktorej je počiatočný indikátor ihneď po vykonaní zmeny rozdelený na bloky a tie zase na 16 slov.

Súbor údajov prechádza slučkou 80 alebo 64 iterácií. Každá fáza je charakterizovaná spustením hashovania zo slov, ktoré tvoria blok. Niekoľko z nich má na starosti prístrojové vybavenie funkcie. Potom sa spočítajú výsledky konverzie, výsledkom čoho je správny hash kód. Na vygenerovanie nasledujúceho bloku sa použije hodnota predchádzajúceho. Nebude možné ich previesť oddelene od seba.
Za zmienku stoja aj 6-bitové operácie, na ktorých protokol funguje:
„a“ - bitová operácia „AND“;

„shr“ - posunie hodnotu o požadovaný počet bitov doprava;
„hniloby“ - príkaz podobný v činnosti ako predchádzajúci, s jediným rozdielom, že sa vykonáva cyklický posun;
"||" alebo zreťazenie - operácia spájania častí lineárnej konštrukcie, najčastejšie strún;
„xor“ je príkaz, ktorý odstraňuje „ALEBO“;
„+“ je bežná operácia sčítania.

Ako vidíte, ide o pomerne typický súbor operácií pre akýkoľvek šifrovací algoritmus.

Kryptografický význam SHA-256

Aby bolo možné určiť hodnotu tohto algoritmu, je potrebné prejsť na kryptoanalýzu. Táto disciplína nájde metódy na dešifrovanie informácií bez použitia špecializovaného kľúča.

Prvé štúdie SHA-256 na prítomnosť zraniteľných miest začali odborníci vykonávať v roku 2003. Vtedy sa v protokole nenašli žiadne chyby.

Avšak už v polovici roku 2008 sa skupine expertov z Indie podarilo nájsť kolízie pre 22 iterácií architektúr rodiny SHA. O niekoľko mesiacov neskôr bola navrhnutá metóda na vývoj kolízií pre skrátenú verziu protokolu a potom pre 31 iterácií hashovania samotného SHA-256.

Pri analýze konvolučnej funkcie sa testuje jej odolnosť voči 2 typom útokov:
Prítomnosť predobrazu je dešifrovanie počiatočnej správy pomocou jej hash kódu. Odolnosť voči tomuto typu vplyvu zaručuje spoľahlivú ochranu výsledkov konverzie.
Hľadanie kolízií – podobné výstupné dáta s rôznymi vstupnými charakteristikami. Bezpečnosť elektronického podpisu pomocou súčasného protokolu priamo závisí od odolnosti voči tomuto typu útoku.
Tvorcovia druhej generácie algoritmu SHA sa rozhodli, že nový šifrovací mechanizmus bude fungovať na úplne iných princípoch. Tak sa na jeseň 2012 zrodil protokol tretej série – Keccak.

Praktická aplikácia a certifikácia technológie

Zákony Spojených štátov amerických umožňujú použitie SHA-256 a iných podobných hašovacích metód v určitých vládnych programoch na ochranu informácií. Algoritmus môžu navyše využívať komerčné spoločnosti.

Dôležité! Preto nie je prekvapujúce, že tento protokol bol použitý v prvej digitálnej mene. Vydávanie nových bitcoinových mincí sa uskutočňuje hľadaním reťazcov na základe ich špecifikovanej architektúry SHA-256.

Ako to ovplyvní špecializované zariadenia na ťažbu kryptomien? Každý krok v tomto algoritme má pomerne jednoduchú formu - primitívnu bitovú operáciu a 32-bitové sčítanie (ktokoľvek, kto je oboznámený so základmi obvodov, si ľahko predstaví, ako to vyzerá v hardvéri). Preto, aby baníci ASIC pracovali efektívne, potrebujete mať iba tucet blokov na vykonanie fáz algoritmu.

Na rozdiel od Bitcoinu, Litecoin, Dogecoin a ďalšie podobné „coiny“ používajú šifrovací protokol Scrypt, ktorý je vybavený funkciou pre zvýšenie zložitosti. Tento algoritmus počas svojej činnosti ukladá 1024 rôznych hodnôt hašovacích funkcií a na výstupe ich spája a získava transformovaný výsledok. Vďaka tomu si implementácia protokolu vyžaduje neporovnateľne väčší výpočtový výkon.

Protokol SHA-256 sa ukázal ako príliš jednoduchý a dnes už existuje množstvo špecializovaných zariadení (tzv. minerov), ktoré ho úspešne obchádzajú. S ich príchodom nebolo potrebné ťažiť na procesore alebo zostavovať farmy z grafických kariet, pretože zariadenia ASIC umožňujú svojim majiteľom zarobiť oveľa viac. Má to však aj háčik. Používanie minerov príliš centralizuje kryptomenu, čo znamená, že je potrebné zaviesť nové hashovacie protokoly. Tento algoritmus sa stal Scryptom - oveľa pokročilejším bezpečnostným mechanizmom, ktorý vyžaduje značný výkon, a preto teoreticky pripravuje špeciálne zariadenia o špeciálnu výhodu.

Z pohľadu bežného používateľa nie je medzi protokolmi SHA-256 a Scrypt žiadny rozdiel. Digitálnu menu môžete ťažiť pomocou počítača alebo farmy pomocou ktoréhokoľvek z týchto protokolov.

Algoritmus SHA-256 v súčasnosti predstavuje viac ako 40% celkového trhu, ale nepochybne existujú aj iné. A čoskoro nahradia svojho slávneho predchodcu. Z tých relatívne nedávnych je teda potrebné spomenúť najmä „miner-rezistentný“ protokol Dagger, ktorý sa chystá využiť v decentralizovanej platforme Ethereum. Možno to bude on, kto prevezme štafetu lídra v oblasti hashovania a nahradí SHA-256.

Od svojho uvedenia na trh bol sha256 rozsiahlo testovaný na svoju silu pomocou kryptoanalýzy. Kryptoanalýza testuje odolnosť hašovacích funkcií voči dvom hlavným typom útokov:

Hľadanie kolízií – detekcia identických hashov s rôznymi vstupnými parametrami. Miera úspešnosti tohto útoku ohrozuje bezpečnosť digitálneho podpisu pomocou súčasného algoritmu.
Nájdenie predobrazu je schopnosť dešifrovať pôvodnú správu pomocou jej hash. Tento útok ohrozuje bezpečnosť ukladania hash autentifikačných hesiel.

Analýza bola prvýkrát testovaná v roku 2003, no vtedy sa nenašli žiadne slabé miesta. Postupom času sa rozvíjala výpočtová sila. V roku 2008 boli zistené kolízie pre iterácie SHA-512 a SHA-256. V septembri toho istého roku bola vyvinutá metóda na vytváranie kolízií pre 31 iterácií SHA256 a 27 iterácií SHA-512.

Je zrejmé, že nastal čas vyvinúť novú funkciu odolnú voči kryptomenám. V roku 2012 NSA vynašiel SHA-3. Aktualizovaný algoritmus postupne nahradí svojich menej kryptoodolných predchodcov.

Ťažba na SHA 256
Zákony USA povoľujú používanie SHA a podobných hashovacích funkcií ako súčasť iných protokolov a algoritmov v určitých federálnych aplikáciách na zabezpečenie informácií, ktoré nie sú tajné. SHA-2 môžu používať súkromné ​​a komerčné organizácie.

Nie je žiadnym prekvapením, že bol použitý v kryptomenách. Baníci zhromažďujú všetky transakcie do bloku a potom ho začnú hashovať. Keď sa nájde hodnota hash, ktorá zodpovedá systémovým pravidlám, blok sa považuje za pripravený na pripojenie ku koncu blockchainu. Nový blok nájde niekto, kto dokáže veľmi rýchlo vypočítať hodnoty hash. Rýchlosť výpočtov závisí od výkonu zariadenia. Na ťažbu bitcoínov možno použiť tri typy zariadení:

CPU (centrálna procesorová jednotka);
GPU (grafické karty);
ASIC (Application Specific Device).
Bitcoinová sieť je navrhnutá tak, že každý nový blok musí byť nájdený raz za 10 minút. Počet účastníkov siete sa neustále mení, ale čas musí zostať konštantný. Na zabezpečenie rovnakých časov zotrvania systém upravuje výpočtovú náročnosť v závislosti od počtu baníkov. Kryptomeny si v poslednej dobe získali popularitu a počet baníkov sa výrazne zvýšil. Aby sa bloky nenachádzali príliš rýchlo, zvýšila sa aj zložitosť výpočtov.

Bitcoin sa začal ťažiť na procesoroch. Potom, keď ich výkon nestačil, prešli na grafické karty. Čoskoro to grafické karty už nezvládali. Potom boli vynájdené ASIC - špeciálne zariadenia určené na výpočty pomocou algoritmu sha 256 Jeden ASIC je oveľa výkonnejší a energeticky úspornejší ako niekoľko grafických kariet.

Podnikaví baníci vytvárajú obrovské farmy z ASIC. Okrem vysokých nákladov na samotné zariadenie dostáva takáto farma každý mesiac účty za elektrinu vo výške niekoľkých desiatok tisíc dolárov. Teraz má ťažba bitcoínov zmysel iba na takýchto priemyselných farmách, domáci počítač alebo dokonca farma s niekoľkými grafickými kartami im nebude môcť konkurovať a dokonca ani vrátiť elektrinu.

To sa však dá ľahko vypočítať. Existujú kalkulačky na výpočet ziskovosti ťažby na sha256. Napríklad https://www.coinwarz.com/miningprofitability/sha-256. Do formulára zadajte hashrate vášho zariadenia (výpočtový výkon), spotrebu energie a jej náklady, služba vám vypočíta zisk.

Altcoiny SHA-256
Pozrime sa na zoznam a zoznam kryptomien, ktoré fungujú na sha 256.

Bitcoin Cash (BCH)
Fork Bitcoinu, ktorý sa od neho oddelil 1. augusta 2017. Veľkosť bloku v klasickom bitcoine je 1 MB. Sieť sa rozrástla natoľko, že všetky transakcie sa už nezmestia do bloku. To viedlo k vytváraniu radov transakcií a zvýšeniu poplatkov za uskutočňovanie platieb. Komunita sa rozhodla zaviesť nový protokol, podľa ktorého sa blok zväčšil na 2 MB, niektoré informácie sa začali ukladať mimo blockchainu a skrátil sa časový rámec na prepočet zložitosti z dvoch týždňov na deň.

Namecoin (NMC)
Ide o systém na ukladanie a prenos kombinácií mena a hodnoty založený na technológii Bitcoin. Jeho najznámejšou aplikáciou je distribučný systém doménových mien, ktorý je nezávislý od ICANN, a preto znemožňuje opätovné privlastnenie domény. Namecoin bol spustený v roku 2011 a beží na softvéri na ťažbu bitcoinov, ktorý bol odovzdaný na server, kde beží Namecoin.

DigiByte (DGB)
Kryptomena uvedená na trh v roku 2013 s cieľom zlepšiť výkonnosť bitcoínov a litecoinov. Rozdiely DigiByte:

Nízka volatilita je dosiahnutá vďaka obrovskému počtu vydaných mincí (až 21 miliárd), čo zabezpečuje ich nízku cenu a jednoduchosť použitia pri výpočtoch;
Rýchlejšie transakcie zdvojnásobením veľkosti bloku každé dva roky;
nízke alebo žiadne provízie;

Proces ťažby je rozdelený do piatich algoritmov, ktoré vám umožňujú ťažiť mince nezávisle od seba. Môžete použiť ASIC pre SHA-256 a Scrypt, grafické karty pre Groestl a Skein a procesor pre Qubit.
Algoritmus SHA 256 je najbežnejší medzi kryptomenami. Spôsobila to popularita a úspech Bitcoinu a túžba vývojárov altcoinov vytvárať podobné mince. Nárast výpočtovej zložitosti podnietil baníkov, aby hľadali spôsoby efektívnejšej ťažby, čo malo za následok vznik ASIC.

Majitelia obrovských ASIC fariem získali výhodu v ťažbe a tých, ktorí nechcú investovať do drahého vybavenia, pripravili o zmysel a chuť ťažiť. Celá ťažba je sústredená v rukách niekoľkých gigantov. Hlavný princíp kryptomien – decentralizácia – je ohrozený. Vývojári kryptomien tomu rozumejú lepšie ako ktokoľvek iný, preto sa snažia vo svojich blockchainoch používať algoritmy, pre ktoré by nebolo možné vytvoriť ASIC. Úspešnými príkladmi sú Ethereum a Monero.

Protokol je určený pre dáta, ktoré sú rozdelené na časti, každá s veľkosťou 64 bajtov. Algoritmus poskytuje konsolidáciu, v dôsledku čoho sa objaví 256-bitový kód. Technológia šifrovania je založená na relatívne jednoduchom kole, ktorého cyklickosť je 64-krát.

Veľkosť bloku 64 bajtov.
Maximálna dĺžka šifrovaného kódu je 33 bajtov.
Parametre súhrnu správ – 32 bajtov.
Predvolená veľkosť slova je 4 bajty.
Počet opakovaní v rámci jedného cyklu je 64.
Rýchlosť algoritmu je 140 Mbit/s.
Ako už bolo spomenuté, protokol SHA-256 je založený na koncepte Merkle-Damgaard, čo znamená, že je najskôr rozdelený na bloky a až potom na jednotlivé slová.

Súbor informácií prechádza rozsahom opakovaní - 64 alebo 80. Každý cyklus je sprevádzaný transformáciou bloku slov. Konečný hash kód sa vygeneruje sčítaním počiatočných hodnôt.

Parametre SHA

Kryptomeny s algoritmom SHA-256
Zoberme si digitálne meny, ktorých ťažba sa vykonáva podľa princípov algoritmu SHA-256:

Bitcoin, mena, ktorú netreba ďalej predstavovať, zostáva najobľúbenejším kryptografickým aktívom.
Peercoin – jedinečnosť spočíva v tom, že kód je vytvorený na báze Bitcoinu, no na ochranu siete sa používa mechanizmus PoS a na distribúciu coinov sa používa PoW.
Namecoin je open source technológia, ktorá výrazne zlepšuje bezpečnosť, súkromie a decentralizáciu.
Unobtanium – vyznačuje sa minimálnym vystavením inflácii. Ťažba unobtánových mincí bude trvať asi 300 rokov.
Deutsche eMark je digitálna sieť na prevod rôznych aktív, ako sú peniaze. Výmena sa vykonáva bez sprostredkovateľov.
BetaCoin je medzinárodný platobný prostriedok, ktorý funguje na rovnakom princípe ako systém Bitcoin.

Joulecoin – poskytuje najrýchlejšie možné potvrdenie transakcií na základe bitcoinu.
IXCoin je ďalší open source projekt založený na sieti peer-to-peer.
Steemit je blockchainová platforma, ktorá odmeňuje používateľov za publikovanie jedinečného obsahu.
Za zmienku tiež stojí, že algoritmus SHA-256 sa používa v systéme Litecoin, ale iba v podprograme. Na ťažbu sa používa protokol Scrypt.

Ťažba kryptomien pomocou algoritmu SHA-256
Začnime tým, že mince, ktorých systémy fungujú pomocou tohto protokolu, môžete ťažiť tromi spôsobmi:

CPU;
GPU;
ASIC.
Schéma ťažby

Náročnosť ťažby priamo závisí od toho, o akej kryptomene hovoríme. V každom prípade sú to však zariadenia ASIC, ktoré sa vyznačujú najväčšou účinnosťou, ktorých hlavnou nevýhodou je ich príliš vysoká cena.

V priemere stojí ASIC baník asi 100 tisíc rubľov (Asic Miner AVALON 821), ale môžete si kúpiť aj drahšie modely, ktorých cena dosahuje pol milióna rubľov (Asic Miner BITFURY B8 16NM 50 TH/S).

Čo sa týka ťažby kryptomeny na procesoroch, táto metóda sa považuje za najmenej efektívnu. Najmä pokiaľ ide o digitálnu menu Bitcoin.

Najvhodnejším riešením je farma grafických kariet. V priemere sa náklady na ziskovú farmu pohybujú od 1 000 do 2 000 USD. Ktorú grafickú kartu si mám vybrať na ťažbu kryptomeny pomocou algoritmu SHA-256?

Ak hovoríme o Nvidii, najlepším riešením by bola grafická karta GTX 1080 Ti (1400 MH/s). Prirodzene, priamy konkurent AMD tiež nezaostáva, absolútne všetky karty série Vega sú vhodné na ťažbu. Grafický adaptér Radeon RX Vega poskytuje ťažbu rýchlosťou 1200 MH/S. Toto je druh vybavenia, ktorý by sa mal uprednostňovať.

Ak hľadáte lacnejšiu možnosť, môžete si kúpiť Radeon 7970, takéto zariadenie je schopné dodávať až 800 MH/s. Nezabudnite, že na prevádzku farmy je okrem grafických kariet potrebné aj ďalšie vybavenie, napríklad chladiace radiátory, napájanie, RAM atď.

To je všetko, čo baníci potrebujú vedieť o algoritme SHA-256. Samozrejme, mnoho moderných kryptomien používa protokol Scrypt, ale ťažba najpopulárnejších mincí (BTC) sa stále vykonáva podľa tohto princípu.

  • Preklad

V jednej chvíli som chcel prísť na to, ako rýchlo je možné ťažiť Bitcoiny manuálne. Ukázalo sa, že na ťažbu sa používa hash SHA-256, ktorý je pomerne jednoduchý a dá sa vypočítať aj bez počítača. Samozrejme, proces je veľmi pomalý a úplne nepraktický. Ale po prejdení všetkých krokov na papieri môžete dobre pochopiť podrobnosti o tom, ako algoritmus funguje.

Jedno krypto kolo

Baníctvo

Kľúčovou súčasťou celého bezpečnostného systému Bitcoinu je ťažba. Základnou myšlienkou je, že ťažiari zoskupujú bitcoinové transakcie do jedného bloku, ktorý potom hašujú nevyčísliteľné množstvo, aby našli veľmi vzácnu hašovaciu hodnotu, ktorá spadá za špeciálnych podmienok. Keď sa takáto hodnota nájde, blok sa považuje za vyťažený a vstupuje do reťazca blokov. Hašovanie samo o sebe neslúži žiadnemu užitočnému účelu okrem zvýšenia obtiažnosti nájdenia správneho bloku. Toto je teda jedna zo záruk, že nikto sám s akýmkoľvek existujúcim súborom zdrojov nebude schopný prevziať kontrolu nad celým systémom. Viac o ťažbe si môžete prečítať v mojom poslednom článku.

Kryptografická hašovacia funkcia prijíma blok údajov ako vstup a vytvára malý, ale nepredvídateľný výstup. Je navrhnutý tak, že neexistuje žiadny rýchly spôsob, ako získať požadovaný výstup, a musíte pokračovať v hľadaní, kým nenájdete správnu hodnotu. Bitcoin používa SHA-256 ako takú funkciu. Navyše na zvýšenie odolnosti sa SHA-256 aplikuje na blok dvakrát a nazýva sa double SHA-256.

V bitcoinoch je kritériom platnosti hashu dostatočný počet úvodných núl. Nájsť takýto hash je rovnako náročné ako napríklad nájsť auto alebo telefónne číslo končiace niekoľkými nulami. Ale samozrejme pre hash je to exponenciálne ťažšie. V súčasnosti musí platný hash obsahovať približne 17 úvodných núl, čo je splnené iba 1:1,4x1020. Ak nakreslíme analógiu, nájdenie takejto hodnoty je ťažšie ako nájdenie konkrétnej častice medzi všetkým pieskom na Zemi.

Modré bloky nelineárne zamiešajú bity, aby sa kryptografická analýza sťažila. Navyše, pre ešte väčšiu spoľahlivosť sa používajú rôzne funkcie miešania (ak nájdete matematickú medzeru na rýchle generovanie platných hashov, prevezmete kontrolu nad celým procesom ťažby bitcoínov).

Väčšinová funkcia (blok Ma) funguje bitovo so slovami A, B a C. Pre každú bitovú pozíciu vráti 0, ak väčšina vstupných bitov na tejto pozícii je nula, inak vráti 1.

Blok Σ0 otočí A o 2 bity, potom sa pôvodné slovo A otočí o 13 bitov a podobne o 22 bitov. Výsledné tri posunuté verzie A sú pridané bitovým modulom 2 ( normálne xor, (Aror 2) xor (Aror 13) xor (Aror 22)).

Ch implementuje funkciu výberu. Na každej bitovej pozícii sa skontroluje bit z E, ak sa rovná jednej, tak sa na výstup dostane bit z F z tejto pozície, inak bit z G. Teda bity z F a G sa zmiešajú na základe hodnoty z E.

Σ1 má podobnú štruktúru ako Σ0, ale pracuje so slovom E a zodpovedajúce posunové konštanty sú 6, 11 a 25.

Červené bloky vykonávajú 32-bitové sčítanie a generujú nové hodnoty pre výstupné slová A a E. Hodnota W t sa generuje na základe vstupných údajov (toto sa deje v časti algoritmu, ktorá prijíma a spracováva hašované údaje . Kt je jeho vlastná konštanta pre každé kolo.

Vo vyššie uvedenom diagrame je zrejmé, že iba A a E sa menia v jednom kryptografickom kole. Zvyšné slová sa nemenia, ale sú posunuté na výstupe – staré A sa zmení na výstup B, staré B na nové C atď. Aj keď jedno kolo algoritmu veľmi nezmení dáta, po 64 kolách budú vstupné informácie úplne zašifrované.

Ťažíme ručne

Vo videu ukazujem, ako môžete prejsť všetkými popísanými krokmi s perom a papierom. Vykonal som prvé kolo hašovania, aby som vydoloval blok. Trvalo mi to 16 minút, 45 sekúnd.


Trochu vysvetlím, čo sa deje: Slová od A po H som si zapísal v šestnástkovej sústave a pod každým som urobil preklad do binárnej podoby. Výsledok bloku Ma je ​​pod slovom C a hodnoty A po posunoch a samotný výstup Σ0 sú umiestnené nad čiarou s A. Funkcia select sa objaví pod G a nakoniec zodpovedajúce posunuté verzie E a hodnota za blokom Σ1 prejde nad čiaru s E. V pravom dolnom rohu sa vykoná sčítanie, ktorého výsledok sa podieľa na výpočte nového A aj nového E (prvé tri červené sčítacie bloky). Vpravo hore som vypočítal novú hodnotu A a v strede je výpočet novej hodnoty E. Všetky tieto kroky boli diskutované vyššie a dajú sa ľahko sledovať v diagrame.

Okrem kola zobrazeného vo videu som vykonal ešte jedno – posledné 64. kolo hashovania pre konkrétny blok Bitcoinu. Na fotografii je hodnota hash zvýraznená žltou farbou. Počet núl potvrdzuje, že ide o platný bitcoinový hash. Všimnite si, že nuly sa nachádzajú na konci hashu a nie na začiatku, ako som už napísal. Dôvodom je, že Bitcoin jednoducho prevráti bajty prijaté SHA-256.


Posledné kolo SHA-256, v dôsledku čoho je viditeľný úspešne vyťažený bitcoinový blok

Čo to všetko znamená pre dizajn hardvérových baníkov?

Každý krok v SHA-256 vyzerá v digitálnej logike veľmi jednoducho – jednoduché bitové operácie a 32-bitové súčty (ak ste niekedy študovali návrh obvodov, pravdepodobne ste si už predstavili, ako by to mohlo vyzerať v hardvéri). Preto ASIC implementujú SHA-256 veľmi efektívne a paralelne umiestňujú stovky okrúhlych jednotiek SHA-256. Fotografia nižšie zobrazuje ťažobný čip, ktorý dokáže vypočítať 2 až 3 miliardy hashov za sekundu. Viac fotiek si môžete pozrieť na Zeptobaroch.


Silikónová snímka čipu Bitfury ASIC, ktorý dokáže ťažiť bitcoiny rýchlosťou 2-3 gigahashe za sekundu. Obrázok zo Zeptobars. (CC BY 3.0)

Na rozdiel od bitcoinov, litecoinov, dogecoinov a iných podobných alternatívnych -coinových systémov používajú scrypt hashovací algoritmus, ktorý je vo svojej podstate ťažko implementovateľný do hardvéru. Tento algoritmus počas vykonávania ukladá do pamäte 1024 rôznych hašovacích hodnôt a kombinuje ich na výstupe, aby sa získal konečný výsledok. Preto je na výpočet hash scrypt potrebné oveľa viac pamäte a obvodov v porovnaní s hodnotami hash SHA-256. Vplyv zmeny hashovacieho algoritmu je jasne viditeľný pri porovnaní zodpovedajúceho ťažobného hardvéru - verzie pre scrypt (Litecoin a iné) sú tisíckrát pomalšie ako verzie pre SHA-256 (Bitcoin).

Záver

SHA-256 bol zrazu taký jednoduchý, že sa dal vypočítať aj ručne (algoritmus eliptických kriviek používaný na podpísanie bitcoinovej transakcie by bol oveľa bolestivejší, pretože zahŕňa množstvo násobení 32-bajtových čísel). Výpočet jedného kola SHA-256 mi trval 16 minút, 45 sekúnd. S týmto výkonom bude hashovanie celého bitcoinového bloku (128 kôl) trvať 1,49 dňa, to znamená, že dostaneme rýchlosť hashovania 0,67 hashov za deň (v skutočnosti by sa tento proces, samozrejme, zrýchlil praxou). Pre porovnanie, súčasná generácia bitcoinových baníkov produkuje niekoľko teraashov za sekundu, čo je asi kvintiliónkrát rýchlejšie ako ja. Myslím, že je jasné, že manuálna ťažba bitcoínov nie je veľmi praktická.

Čitateľ z reddit sa pýtal na môj energetický výdaj Keďže nevyvíjam žiadnu vážnu fyzickú námahu, môžeme predpokladať, že rýchlosť metabolizmu bude 1500 kcal za deň, potom zistíme, že ručné hashovanie si vyžaduje takmer 10 megajoulov na hash pre baníka na železo je 1000 magegášov za joule, takže som 10-16-krát menej energeticky efektívny (10 kvadriliónov). 15 centov za kilowatthodinu, čo je 6,7-krát lacnejšie ako šišky V dôsledku toho sú náklady na energiu v prepočte na hash pre mňa, ako ľudského baníka, 67 kvadriliónkrát vyššie, veľa šťastia s manuálnou ťažbou bitcoínov a to ani pri zohľadnení nákladov na papier a perá!

Technický základ kryptomeny v súčasnosti zaujíma mnohých, ktorí sa o to zaujímajú. Nie každý pozná pojem „kryptografia“. Je veľmi ťažké pochopiť podstatu toho, čo sa deje v takzvanom Bitcoin protokole. Ale aj tak sa o to pokúsime. Najprv sa pozrime na algoritmus SHA-256 pre ťažbu.

SHA-256 - klasický algoritmus
Poznámka: každý používateľ, ktorý pracuje s internetom, netuší, že s týmto algoritmom pracuje každý deň, každú sekundu. Každý internetový zdroj je chránený certifikátom SSL a jeho návšteva je možná iba pri práci s algoritmom SHA-256.

Klasický algoritmus SHA-256 vytvára všetku ťažbu bitcoínov. Odtiaľ pochádza ťažba iných kryptografických mien (altcoinov).

DEFINÍCIA: SHA-256 je kryptografická hašovacia funkcia. Vyvinutý Národnou bezpečnostnou agentúrou USA.

Hlavná úloha: hašovanie údajov (ľubovoľná množina) na určitú dĺžkovú hodnotu („odtlačok prsta“ alebo inú hodnotu – „strávenie“).

Pomocou ťažby kryptomien SHA-256 je problém vyriešený pomocou špecializovaného procesora alebo CPU/GPU. Používatelia pomocou programového rozhrania sledujú transformačné procesy. Algoritmus skutočne nájde správnu hodnotu hash.

Náročnosť ťažby spočíva práve v tom, že výber správneho hashu (vyriešenie konkrétneho problému) je možný len prehľadávaním množiny problémov. Budete musieť nájsť nielen nejaký hash, ale hneď na začiatku číslo s určitým počtom núl. Šanca, že hodnota bude správna, je veľmi, veľmi malá. To znamená, že kľúčovým parametrom je obtiažnosť, ktorú nastavuje mining pool.

Zložitosť algoritmu SHA-256
Na pochopenie zložitosti hašovania v protokole SHA-256 nemusíte byť odborníkom. V súlade s tým musia ťažiari používať neuveriteľne výkonné vybavenie na ťažbu kryptomien (ktoré budú schopné vyriešiť vyššie uvedené problémy).

Čím väčší výpočtový výkon je zapojený, tým väčšia je pravdepodobnosť/rýchlosť ťažby digitálnych mincí v akejkoľvek cloudovej ťažobnej službe.

Samostatne stojí za zmienku, že ťažba je funkcia, ktorú vykonávajú mnohí špecialisti. A samozrejme, ich softvér môže byť oveľa produktívnejší. Nemali by ste byť naštvaní, pretože proces hashovania je niekedy skôr lotériou. Kedy budete mať šťastie? Neznámy.

Algoritmus ťažby SHA-256 je implementovaný na každom baníkovi ASIC. Ale vybavenie ASIC pre iné algoritmy, ktoré si tiež všimneme na tejto stránke, sa práve vyvíja.

Algoritmus SHA-256 je prítomný v procese ťažby nielen bitcoínov, ale aj iných kryptomien.

Kryptomeny implementované na základe algoritmu SHA-256 si dnes veľmi aktívne získavajú popularitu: Tekcoin, Ocoin, Zetacoin.

Fungovanie algoritmu SHA-256 je ťažko pochopiteľné, takže ideálnou možnosťou je sústrediť sa na spôsoby/účinné stratégie ťažby kryptomien, než sa snažiť analyzovať algoritmus a pochopiť, ako funguje.

Alexander Markov

Skratka SHA 256 znamená Secure Hash Algorithm – populárny hashovací mechanizmus vytvorený špecialistami z NSA. Kľúčovou úlohou algoritmu je previesť náhodné informácie na hodnoty s pevnou dĺžkou, v budúcnosti sa bude používať na identifikáciu týchto informácií.

História vzhľadu

Okamžite si všimnime, že ide o algoritmus druhej generácie, vytvorený na základe svojho predchodcu - SHA-1, ktorý bol vyvinutý v roku 1995 výlučne na použitie na civilné účely. Aktualizovanú verziu dnes populárneho algoritmu vytvorili pracovníci Národnej bezpečnostnej agentúry v roku 2002.

O tri roky neskôr sa objavil patent umožňujúci použitie algoritmu na civilné účely. Tretia verzia populárneho mechanizmu sa objavila v roku 2012, jej vývoj vykonali špecialisti z Národnej agentúry pre normalizáciu. Postupom času SHA-3 úplne nahradil svojich predchodcov.

Nie je možné dešifrovať konvertované údaje, pretože hash súčet sa v klasickej interpretácii tohto procesu nepovažuje za šifrovací proces. Jednosmerný šifrovací algoritmus spracováva neobmedzené množstvo informácií.

Stojí za zmienku, že absolútne všetky existujúce verzie algoritmu Secure Hashing Algorithm boli vytvorené podľa princípu Merkle-Damgaard: informácie sú rozdelené do jednotných kategórií. Každá skupina sa podrobuje jednosmernej kompresii, čo vedie k výraznému zníženiu dĺžky údajov.

Táto metóda šifrovania má mnoho výhod:

  • kompresia údajov sa vykonáva rýchlo;
  • nie je možné vrátiť proces konverzie bez kľúčov;
  • pravdepodobnosť kolízií sa zníži na nulu.

Technické parametre

Protokol je určený pre dáta, ktoré sú rozdelené na časti, každá s veľkosťou 64 bajtov. Algoritmus poskytuje konsolidáciu, v dôsledku čoho sa objaví 256-bitový kód. Technológia šifrovania je založená na relatívne jednoduchom kole, ktorého cyklickosť je 64-krát.

  • Veľkosť bloku 64 bajtov.
  • Maximálna dĺžka šifrovaného kódu je 33 bajtov.
  • Parametre súhrnu správ – 32 bajtov.
  • Predvolená veľkosť slova je 4 bajty.
  • Počet opakovaní v rámci jedného cyklu je 64.
  • Rýchlosť algoritmu je 140 Mbit/s.

Ako už bolo spomenuté, protokol SHA-256 je založený na koncepte Merkle-Damgaard, čo znamená, že je najskôr rozdelený na bloky a až potom na jednotlivé slová.

Súbor informácií prechádza rozsahom opakovaní - 64 alebo 80. Každý cyklus je sprevádzaný transformáciou bloku slov. Konečný hash kód sa vygeneruje sčítaním počiatočných hodnôt.

Kryptomeny s algoritmom SHA-256

Zoberme si digitálne meny, ktorých ťažba sa vykonáva podľa princípov algoritmu SHA-256:

  • Bitcoin, mena, ktorú netreba ďalej predstavovať, zostáva najobľúbenejším kryptografickým aktívom.
  • Peercoin - jedinečnosť spočíva v tom, že kód je vytvorený na báze Bitcoinu, ale mechanizmus sa používa na ochranu siete a PoW sa používa na distribúciu coinov.
  • Namecoin je open source technológia, ktorá výrazne zlepšuje bezpečnosť, súkromie a decentralizáciu.
  • Unobtanium – vyznačuje sa minimálnym vystavením inflácii. Ťažba unobtánových mincí bude trvať asi 300 rokov.
  • Deutsche eMark je digitálna sieť na prevod rôznych aktív, ako sú peniaze. Výmena sa vykonáva bez sprostredkovateľov.
  • BetaCoin je medzinárodný platobný prostriedok, ktorý funguje na rovnakom princípe ako systém Bitcoin.
  • Joulecoin – poskytuje najrýchlejšie možné potvrdenie transakcií na základe bitcoinu.
  • IXCoin je ďalší open source projekt založený na sieti peer-to-peer.
  • – Blockchain platforma, ktorá odmeňuje používateľov za publikovanie jedinečného obsahu.

Za zmienku tiež stojí, že algoritmus SHA-256 sa používa v systéme Litecoin, ale iba v podprograme. Na ťažbu sa používa protokol Scrypt.

Ťažba kryptomien pomocou algoritmu SHA-256

Začnime tým, že mince, ktorých systémy fungujú pomocou tohto protokolu, môžete ťažiť tromi spôsobmi:

  • ASIC.

Náročnosť ťažby priamo závisí od toho, o akej kryptomene hovoríme. V každom prípade sú to však zariadenia ASIC, ktoré sa vyznačujú najväčšou účinnosťou, ktorých hlavnou nevýhodou je ich príliš vysoká cena.

V priemere stojí ASIC baník asi 100 tisíc rubľov (Asic Miner AVALON 821), ale môžete si kúpiť aj drahšie modely, ktorých cena dosahuje pol milióna rubľov (Asic Miner BITFURY B8 16NM 50 TH/S).

Čo sa týka ťažby kryptomeny na procesoroch, táto metóda sa považuje za najmenej efektívnu. Najmä pokiaľ ide o digitálnu menu Bitcoin.

Najvhodnejšie riešenie je z grafických kariet. V priemere sa náklady na ziskovú farmu pohybujú od 1 000 do 2 000 USD. Ktorú grafickú kartu si mám vybrať na ťažbu kryptomeny pomocou algoritmu SHA-256?

Ak hovoríme o Nvidii, najlepším riešením by bola grafická karta (1400 MH/s). Prirodzene, priamy konkurent AMD tiež nezaostáva, absolútne všetky karty série Vega sú vhodné na ťažbu. Grafický adaptér Radeon RX Vega poskytuje ťažbu rýchlosťou 1200 MH/S. Toto je druh vybavenia, ktorý by sa mal uprednostňovať.

Ak hľadáte lacnejšiu možnosť, môžete si kúpiť Radeon 7970, takéto zariadenie je schopné dodávať až 800 MH/s. Nezabudnite, že na prevádzku farmy je okrem grafických kariet potrebné aj ďalšie vybavenie, napríklad chladiace radiátory, napájanie, RAM atď.

Záver

To je všetko, čo baníci potrebujú vedieť o algoritme SHA-256. Samozrejme, mnoho moderných kryptomien používa protokol Scrypt, ale ťažba najpopulárnejších mincí (BTC) sa stále vykonáva podľa tohto princípu.