SHA256-dagi tangalar. Bitcoin shifrlash algoritmi nima? Bitcoin xesh algoritmining zaif va kuchli tomonlari

SHA 256 xeshlash funktsiyasi dunyodagi birinchi kriptovalyuta - Bitcoin va ko'plab altkoinlarning asosini tashkil etdi. Bilasizmi, u kriptovalyutalar paydo bo'lishidan ancha oldin yaratilgan va butunlay boshqa maqsadlar uchun mo'ljallangan? Bugun biz algoritm tarixi, uning ishlash printsipi, dolzarb muammolar va qaysi kriptovalyutalar SHA256 dan foydalanishini ko'rib chiqamiz.

Hikoya

SHA 256 algoritmining nomi Secure Hashing Algoritmning qisqartmasi hisoblanadi. Ishlab chiquvchi shunday deb atagan - AQSh Milliy xavfsizlik agentligi. Algoritm xeshlash funktsiyasidir. Bu shuni anglatadiki, uning kiritilishi ixtiyoriy uzunlikdagi ma'lumotlar hajmi, chiqishi esa xesh deb ataladigan qattiq uzunlikdagi belgilar to'plamidir.

Xesh-xesh funksiyalarining asosiy xususiyatlaridan biri bu qaytarilmaslikdir. Biz asl ma'lumotni funksiya orqali o'tkazish orqali xeshni olishimiz mumkin, ammo xeshni bilgan holda, biz asl ma'lumotlarni ololmaydi. Ushbu xususiyat tufayli funktsiya ma'lumotlarni himoya qilish talab qilinadigan turli xizmatlar va ilovalarda keng tarqaldi. Biz har kuni Internetdagi saytlarga tashrif buyurishda SHA 256 algoritmidan foydalanamiz. U saytga xavfsiz ulanishni o'rnatish uchun zarur bo'lgan SSL xavfsizlik sertifikatini o'z ichiga oladi.


Algoritm 1995 yilda paydo bo'lgan SHA-1 asosida ishlab chiqilgan SHA-2 oilasining bir qismidir. Yaratilganidan beri sha256 kriptoanaliz yordamida kuchliligi uchun keng ko'lamli sinovdan o'tkazildi. Kriptanaliz xesh-funksiyalarning ikki asosiy hujum turiga chidamliligini tekshiradi:
  • To'qnashuvlarni topish - turli xil kirish parametrlari bilan bir xil xeshlarni aniqlash. Ushbu hujumning muvaffaqiyat darajasi joriy algoritmdan foydalangan holda raqamli imzo xavfsizligini buzadi.
  • Tasvirni topish - bu asl xabarni uning xesh yordamida shifrini ochish qobiliyati. Ushbu hujum autentifikatsiya paroli xeshlarini saqlash xavfsizligini buzadi.

Tahlil birinchi marta 2003 yilda sinovdan o'tkazildi, ammo o'sha paytda hech qanday zaifliklar topilmadi. Vaqt o'tishi bilan hisoblash quvvati rivojlandi. 2008 yilda SHA-512 va SHA-256 iteratsiyalari uchun to'qnashuvlar topildi. O'sha yilning sentyabr oyida SHA256 ning 31 ta iteratsiyasi va SHA-512 ning 27 ta takrorlanishi uchun to'qnashuvlarni yaratish usuli ishlab chiqilgan.

Shubhasiz, kriptoga chidamli yangi funktsiyani ishlab chiqish vaqti keldi. 2012 yilda NSA SHA-3 ni ixtiro qildi. Asta-sekin, yangilangan algoritm kriptoga chidamliligi kamroq bo'lgan oldingilarini siqib chiqaradi.

SHA 256 da qazib olish

AQSh qonunlari SHA va shunga o'xshash xesh funksiyalaridan ma'lum federal maxfiy bo'lmagan axborot xavfsizligi ilovalarida boshqa protokollar va algoritmlarning bir qismi sifatida foydalanishga ruxsat beradi. SHA-2 xususiy va tijorat tashkilotlari tomonidan ishlatilishi mumkin.

U kriptovalyutalarda qo'llanilganligi ajablanarli emas. Konchilar barcha tranzaktsiyalarni blokga yig'adilar va keyin uni xeshlashni boshlaydilar. Tizim qoidalariga mos keladigan xesh qiymati topilsa, blok blokcheynning oxiriga biriktirishga tayyor deb hisoblanadi. Yangi blokni hash qiymatlarini juda tez hisoblay oladigan kishi topadi. Hisoblash tezligi uskunaning kuchiga bog'liq. Bitkoinni qazib olish uchun uch turdagi uskunadan foydalanish mumkin:

  • CPU (markaziy protsessor);
  • GPU (video kartalar);
  • ASIC (Ilovaga maxsus qurilma).

Bitcoin tarmog'i har bir yangi blok har 10 daqiqada bir marta topilishi kerak bo'lgan tarzda yaratilgan. Tarmoq ishtirokchilari soni doimiy ravishda o'zgarib turadi, lekin vaqt doimiy bo'lib qolishi kerak. Yashash vaqtlari teng bo'lishini ta'minlash uchun tizim konchilar soniga qarab hisoblash qiyinligini sozlaydi. Kriptovalyutalar yaqinda mashhurlikka erishdi va konchilar soni sezilarli darajada oshdi. Bloklarni juda tez topishning oldini olish uchun hisob-kitoblarning murakkabligi ham oshdi.


Bitcoin protsessorlarda qazila boshlandi. Keyin, ularning quvvati etarli bo'lmaganda, ular video kartalarga o'tishdi. Tez orada video kartalar endi bardosh bera olmadi. Keyin ASIC'lar ixtiro qilindi - sha 256 algoritmidan foydalangan holda hisob-kitoblar uchun mo'ljallangan maxsus qurilmalar.Bir ASIC bir nechta video kartalarga qaraganda ancha kuchli va energiya tejamkor.

Tashabbuskor konchilar ASIC-lardan ulkan fermalarni yaratmoqda. Uskunaning yuqori narxiga qo'shimcha ravishda, bunday ferma har oy bir necha o'n minglab dollarlik elektr to'lovlarini oladi. Endi bitkoin qazib olish faqat shunday sanoat fermalarida mantiqiy bo'ladi; uy kompyuteri yoki hatto bir nechta video kartalari bo'lgan ferma ular bilan raqobatlasha olmaydi va hatto elektr energiyasini ham qoplay olmaydi.

Biroq, buni hisoblash oson. Sha256 da kon rentabelligini hisoblash uchun kalkulyatorlar mavjud. Misol uchun, https://www.coinwarz.com/miningprofitability/sha-256. Shaklga uskunangizning xeshreytini (hisoblash quvvati), energiya sarfini va uning narxini kiriting, xizmat sizning foydangizni hisoblab chiqadi.

Altkoinlar SHA-256

Keling, sha 256 da ishlaydigan kriptovalyutalar ro'yxati va ro'yxatini ko'rib chiqaylik.

Bitcoin Cash (BCH)

Undan 2017 yil 1 avgustda ajratilgan. Klassik Bitcoin-da blok hajmi 1 MB ni tashkil qiladi. Tarmoq shunchalik o'sdiki, barcha tranzaktsiyalar endi blokga sig'maydi. Bu tranzaktsiyalar navbatlarining shakllanishiga va to'lovlarni amalga oshirish uchun to'lovlarning oshishiga olib keldi. Jamiyat yangi protokolni joriy etishga qaror qildi, unga ko'ra blok 2 MB ga oshirildi, ba'zi ma'lumotlar blokcheyndan tashqarida saqlana boshladi va murakkablikni qayta hisoblash muddati ikki haftadan bir kungacha qisqartirildi.

Namecoin (NMC)

Bu Bitcoin texnologiyasiga asoslangan nom-qiymat kombinatsiyalarini saqlash va uzatish tizimidir. Uning eng mashhur ilovasi domen nomlarini tarqatish tizimi bo'lib, u ICANN dan mustaqil va shuning uchun domenni qaytarib olishni imkonsiz qiladi. Namecoin 2011 yilda ishga tushirilgan bo'lib, u Namecoin ishlaydigan serverga yuborilgan Bitcoin qazib olish dasturida ishlaydi.

DigiByte (DGB)

Bitcoin va Litecoin ish faoliyatini yaxshilash maqsadida 2013 yilda ishga tushirilgan kriptovalyuta. DigiByte farqlari:

  • Past o'zgaruvchanlikka chiqarilgan tangalarning ko'pligi (21 milliardgacha) tufayli erishiladi, bu ularning arzonligi va hisob-kitoblarda foydalanish qulayligini ta'minlaydi;
  • Har ikki yilda blok hajmini ikki baravar oshirish orqali tezroq tranzaktsiyalar;
  • Kam komissiyalar yoki komissiyasiz;
  • Qazib olish jarayoni bir-biridan mustaqil ravishda tangalarni qazib olish imkonini beruvchi beshta algoritmga bo'lingan. Siz SHA-256 va Scrypt uchun ASIC, Groestl va Skein uchun video kartalar va Qubit uchun protsessordan foydalanishingiz mumkin.

SHA 256 algoritmi kriptovalyutalar orasida eng keng tarqalgan. Bunga Bitcoinning mashhurligi va muvaffaqiyati hamda altkoin ishlab chiquvchilarning shunga o'xshash tangalar yaratish istagi sabab bo'ldi. Hisoblash murakkabligining oshishi konchilarni yanada samarali qazib olish yo'llarini izlashga undadi, bu esa ASIClarning paydo bo'lishiga olib keldi.


Bitcoin shifrlash SHA-256, dastur kodining bir qismi bo'lgan maxsus algoritmga asoslangan. Uning vazifasi kirish ma'lumotlarini ma'lum belgilar to'plamiga (alfavit va raqamli ko'rinishda) aylantirish va ma'lumotni himoya qilishdir. Bunday harakatlar xashing deb ataladi. Ushbu algoritmning nozik tomonlari qanday? Bu nima uchun kerak va u qanday ishlaydi? Qanday afzalliklari va kamchiliklari bor? Biz ushbu va boshqa bir qator fikrlarni batafsil ko'rib chiqamiz.

Bitcoin qanday shifrlash algoritmiga ega va u qayerda ishlatiladi?

Kriptovalyutani, uning ishlashi va qazib olish xususiyatlarini muhokama qilganda, kripto tarmog'i ishtirokchilari muqarrar ravishda Bitcoin shifrlash algoritmi kabi keng tarqalgan ta'rifga duch kelishadi. BTC ishlab chiqilgan kundan boshlab bugungi kungacha (2018 yil 13 avgust) SHA-256 ishlatilgan, bu Bitcoin tarmog'idagi quyidagi muammolarni hal qilish uchun zarur:

  1. BTC manzillarini shakllantirish (tranzaktsiyalar uchun ishlatiladi).
  2. Kon (ish isboti).
  3. Kerakli darajadagi xavfsizlik va anonimlikka erishish.
  4. Raqamli imzo va uni tan olish uchun.
SHA-256 algoritmi nafaqat Bitcoin uchun, balki boshqa tangalar, ya'ni Bitcoin Cash, Mazacoin, Peercoin, Namecoin va boshqa kriptovalyutalar uchun ham tegishli. Bundan tashqari, SHA-2 (SHA-256 asosi) Internetdagi ma'lumotlarni himoya qilish uchun mo'ljallangan ko'plab protokollarni, ya'ni SSL, TSL va boshqalarni yaratish uchun ishlatiladi.

Bitcoin xesh algoritmi ma'lumotni tahlil qilish va noaniqliklarni o'z vaqtida aniqlash orqali nazorat qilish uchun zarurdir. Ma'lumotlar qayta ishlangan va xeshga aylantirilgandan so'ng, ma'lumotni qaytarib olish mumkin emas. Agar siz allaqachon shifrlangan BTC faylini olsangiz, hisob-kitoblarni qayta bajaring va xesh parametrlari bir xil ekanligiga ishonch hosil qiling, asl ma'lumotda hech qanday o'zgarishlar yo'qligiga ishonch hosil qilishingiz mumkin. Agar ma'lumotlar boshqacha bo'lsa, bu tizim buzilganligini ko'rsatadi.

Bitcoin shifrlash algoritmi - bu oddiy so'zlar bilan qanday ishlaydi


SHA-2 Merkle va Damgaard tomonidan yaratilgan ramkaga asoslangan. Kriptografiyada qo'llaniladigan xesh funktsiyasining o'ziga xos xususiyati uning shakllanishiga nostandart yondashuvdir. Kiruvchi ma'lumotlar bir xil o'lchamdagi bloklarga bo'linadi, shundan so'ng yaratilgan elementlar o'n oltilik raqamlarga aylantiriladi. Aynan ular bilan hisob-kitoblar keyinchalik amalga oshiriladi. Olingan qiymatga hash funktsiyasi qo'llaniladi va ishlov berish natijasi chiqishda paydo bo'ladigan xesh summasidir. Bu alifbo va raqamli displeyda taqdim etilgan belgilar to'plamidir. Asosan, bu hash.

Keyingi blok yuqorida tavsiflangan printsipga muvofiq qurilgan. Bunday holda, oldingi element yaratilgandan keyin yangi jarayon boshlanadi. Agar dastlabki ma'lumotlarga o'zgartirish kiritilsa, xesh o'zgaradi. Turli bloklarda bir xil xesh-funksiya parametrlari to'satdan paydo bo'lgan taqdirda, algoritmning ishlashida ziddiyatli vaziyat yuzaga keladi. Bunday nomuvofiqlik yuzaga kelganda, butun blok zanjiri shubha ostiga olinadi.

Shunday qilib, raqamli imzo yaratish uchun xesh funksiyasidan foydalaniladi. Agar yuqorida muhokama qilingan vaziyat yuzaga kelsa, imzolarni qalbakilashtirish ehtimoli yuqori. Bunday nosozliklarni (to'qnashuvlarni) hisoblash uchun ma'lumotlarni sanab o'tishni o'z ichiga olgan maxsus texnika qo'llaniladi, bu esa hash funktsiyasining kuchini oshiradi.

Bitcoin shifrlashning to'g'riligi to'rtta talab bilan nazorat qilinadi:

  1. Kiruvchi ma'lumotlarga o'zgartirish kiritganingizda, xesh miqdori bir xil bo'lib qoladi.
  2. Xeshlash vaqtida individual xesh summasi olinadi (belgilar to'plami noyob bo'lishi kerak).
  3. Hashing yordamida kalit yaratish juda murakkab.
  4. Xeshlar qaytarilmasdir. Bu shuni anglatadiki, kiritilgan ma'lumotlar bilan ishlashga teskari harakatni amalga oshirish imkoniyatisiz ruxsat beriladi.

Bu Bitcoinda qanday qo'llaniladi?

Kriptovalyuta tarmog'i tugunlarining vazifasi ko'plab tranzaktsiyalarda unga har tomonlama mos keladigan birini topishdir. Variantlarni baholashda dastlabki e'tibor komissiya miqdoriga qaratiladi (aytmoqchi, shuning uchun kattaroq komissiya bilan operatsiyalar tezroq yakunlanadi). Keyinchalik, operatsiya tekshiriladi, kirish va chiqish ma'lumotlari o'rganiladi va elektron raqamli imzoning o'ziga xosligi aniqlanadi.

Ko'rib chiqilayotgan ish tugashi bilan, Bitcoin zanjirining keyingi elementi (blok) ma'lum o'lchamda (ko'rib chiqilayotgan kriptovalyuta uchun - 1 megabayt) yaratiladi. Olingan tugunlar versiya, shakllanish vaqti, ikkita xesh (o'tgan blok va kiruvchi tranzaksiyalar), shuningdek, o'ziga xoslikni ta'minlaydigan qo'shimcha parametrlardan (bit va noaniq) iborat. Kompleksda yaratilgan blok ko'p marta xeshlanadi, natijada zanjirning "eski" elementi uchun chiqish va yangisi uchun kirish vazifasini bajaradigan bosh xesh hosil bo'ladi.

Aytaylik, xesh to'plamida ma'lum bir "0" raqami mavjud (masalan, nonce 17). Faqat qiymatlarni sanab o'tish orqali bunday qiymatni tanlash juda qiyin. Aynan mana shu jihat blokcheyn tarmog'idagi ma'lumotlarning ishonchliligini va uning xakerlik hujumlaridan himoyalanishini ta'minlaydi. Xeshni yaratish uchun juda katta kuch talab qilinadi, ularsiz kerakli belgilar to'plamini topib bo'lmaydi. Ushbu ish tugallangandan so'ng va parametr topilgach, u yangi yaratilgan blok va topilgan xesh 17 "0" bilan kripto tarmog'ining elementlariga yuboriladi. Keyinchalik, Bitcoin tarmog'ining barcha ishtirokchilari blokdagi ma'lumotlar bilan belgilar to'plamini birlashtirib, xeshni tekshiradilar. Agar to'qnashuv bo'lmasa, blok zanjirida yangi element paydo bo'ladi.

Bitcoin shifrlash algoritmi qachon paydo bo'ldi - qisqacha tarix


"SHA" atamasi uchta so'zning qisqartmasi: "Secure Hashing Algoritm". Bitcoin SHA-256 dan foydalanadi va yuqorida aytib o'tilgan xesh funktsiyasining "tayanch"i SHA-2 bo'lib, u ko'plab kripto algoritmlarini (shu jumladan 256) o'z ichiga oladi.

SHA-2 yaratuvchilari Amerika Qo'shma Shtatlari NSA, mamlakat milliy xavfsizlik masalalari bilan shug'ullanadigan maxsus agentlikdir. Algoritmni ishlab chiqish va sinovdan o'tkazgandan so'ng, u 2002 yilda ommaga taqdim etildi. Yangi SHA-2, shuningdek, birinchi SHA-1 xesh-funksiyasini o'z ichiga olgan (7 yil oldin - 1995 yilda yaratilgan). SHA-2 joriy etilgandan beri algoritmning ko'plab variantlari chiqarildi, ulardan biri Satoshi Nakamoto tomonidan 2009 yilda Bitcoin yaratishda ishlatilgan.

Ishlab chiquvchilarning maqsadi tasodifiy belgilar to'plamidan ma'lum uzunlikdagi o'ziga xos qiymatni shakllantirishni ta'minlaydigan algoritmni chiqarish edi. Ular buni qilishdi. Kelajakda olingan parametr ma'lumotni aniqlash (tekshirish) uchun ishlatiladi. SHA-2 ning asl maqsadi turli xizmatlar bo'yicha ma'lumotlarni himoya qilishdir va bugungi kunda (2018 yilda) SHA-256 birinchi navbatda tanga qazib olishda ishlatiladigan algoritm sifatida tanilgan.

2012 yilda tizim takomillashtirildi va hash funktsiyasining yangilangan versiyasi paydo bo'ldi - SHA-3. Vaqt o'tishi bilan yangi ishlanma oldingi algoritmlarni siqib chiqaradi, bu esa allaqachon yuqori darajadagi xavfsizlikni yaxshilaydi.

Bitcoin shifrlash algoritmining xususiyatlari


SHA-256 ning mohiyati oddiy. Qo'shilgandan keyin dastlabki xabar bloklarga bo'linadi va ularning har biri 16 so'zdan iborat. Olingan elementlar 64 yoki 80 bosqichni o'z ichiga olgan maxsus tsikllardan o'tadi. Ularning har birida ikkita so'z konvertatsiya qilinadi va qolgan so'zlar orqali transformatsiya varianti hosil bo'ladi. Olingan parametrlar xeshni hosil qilish uchun jamlanadi.

Algoritmning ishlashi davomida 6 ta buyruq ishlatiladi:

  • "xor" - "OR" ni olib tashlaydi.
  • "shr" - indikatorni kerakli bitlar soniga ma'lum bir chastota bilan o'ngga siljitadi.
  • "chiriydi" - indikatorni kerakli bitlar soniga o'ngga siljitadi (ma'lum bir tsikldan foydalanmasdan).
  • "II" - chiziqli tabiatga ega bo'lgan elementlarning ulanishi.
  • "va" - "Va".
  • "+" - kuzatish.
Protokol xususiyatlari:
  1. Xabar davomiyligining yuqori chegarasi 33 B.
  2. Maksimal tezlik parametri 139 MiB/s.
  3. So'z hajmi - 4 B.
  4. Bir tsikldagi takrorlashlar soni 64 ta.
  5. Blok elementining o'lchami 64 B.
  6. Umumiy xesh kodi 32 B ni tashkil qiladi.

Minningda bitkoin shifrlash algoritmi


Konchilikda hisob-kitoblarni amalga oshirayotganda, natijada olingan xesh-kodning to'g'riligi chiziq boshida nol soni bilan aniqlanadi. Misol uchun, agar bu parametr 17 bo'lsa, bunday raqamni topish ehtimoli juda past va 20-chi darajaga 1: 1,4 * 10 atrofida. Bitcoin qazib olish kuchli uskunalar va yuqori energiya xarajatlaridan foydalanishni talab qilishi ajablanarli emas. Shu bilan birga, kerakli xeshni qidirishni optimallashtirish mumkin emas, chunki ma'lumot blokini olgandan so'ng, chiqishda tasodifiy raqam paydo bo'ladi.

Virtual tanga qazib olishning qiyinligi kerakli xeshni topish va keyingi blokni shakllantirishdir. Ushbu maqsadga erishish uchun yuqori samarali uskunalarni talab qiladigan standart qiymatlar ro'yxati qo'llaniladi. Yuqorida aytib o'tilganidek, qidiruv oddiy xesh uchun emas, balki uning oldida ko'p sonli "0" ga ega bo'lgan qiymat uchun.

SHA-256 yordamida kriptovalyutani qazib olish ma'lum bir kripto muammosini hal qilishga qaratilgan chora-tadbirlar majmuidir. Bitcoin holatida qazib olish uchun quyidagi uskunalar qo'llaniladi:

  1. 2009 yilda BTC paydo bo'lganidan beri, shuningdek, 2010 yil o'rtalariga qadar markaziy protsessordan (CPU) foydalanish dolzarb edi.
  2. 2011 yil o'rtalariga qadar konchilar video kartalari (GPU) bo'lgan kompyuterlardan foydalanganlar.
  3. 2013 yil boshiga qadar FGPAlar GPU fermalari kabi mashhur edi.
  4. 2014 yilda ASIClar paydo bo'ldi. Ular ishlashda mavjud uskunalarni ortda qoldirdi. Shunga qaramay, 2017 yil boshiga qadar konchilar GPU xo'jaliklaridan foydalanganlar va hovuzlarda ishlaganlar, ammo 2017 yil oxirigacha va shu kungacha faqat konchilar tegishli. Boshqa uskunalardan foydalanish foydasiz.
Qayd etilgan qurilmalar qiziqishning xesh funktsiyasini tanlash va yangisini yaratish uchun ishlatiladi. Qurilmaning xeshreyti (hisoblash quvvati) qanchalik baland bo'lsa, ma'lumotlar tezroq saralanadi va yechim topish uchun shunchalik kamroq vaqt ketadi.

Raqobatning kuchayishi va yanada samarali konchilarning chiqarilishi va parametrlari har 2 haftada o'zgarib turadi.

Bitcoin xesh algoritmining zaif va kuchli tomonlari


Yuqorida biz Bitcoin xesh algoritmi nima ekanligini va uning xususiyatlari nima ekanligini ko'rib chiqdik. Bu yuqori darajadagi ishonchlilik va nisbatan oddiy ishlash printsipi bilan eng keng tarqalgan algoritm hisoblangan SHA-256. U xakerliklarga juda chidamli va har qanday uskunada (qiyinchilik parametrlariga qarab) tanga qazib olish imkonini beradi.

Bir qator ijobiy fazilatlarga qaramay, Bitcoin xeshlash algoritmi bir qator zaif tomonlarga ega:

  1. BTC qazib olish ishtirokchilari tomonidan nazorat. Bu erda kompaniya ishtirokchilari ma'lum miqdordagi aktsiyalarga ega bo'lgan aktsiyadorlik jamiyatlarida (OAJ) xuddi shunday tamoyil ishlaydi. Kripto-tarmoq konchilarining qo'lida qanchalik ko'p kuch to'plangan bo'lsa, ularning umumiy tizimga ta'siri shunchalik kuchli bo'ladi. Bundan tashqari, 2018 yilda qazib olishning murakkabligi ortib borayotganligi sababli, tog'-kon sanoatining xususiy konchilar qo'lidan virtual tangalarni qazib olish uchun uskunalar yaratish bilan shug'ullanadigan yirik tashkilotlarning nazoratiga o'tish tendentsiyasi sezilarli. Bitkoinlarni olish uchun xususiy konchi ASIC sotib olish uchun katta mablag' sarflashi, hovuzlardan biriga ulanishi va elektr energiyasi uchun to'lashi kerak. Agar siz uskunaga tejamkorlik qilsangiz, ishlab chiqarish rentabellikni yo'qotadi.
  2. Yuqorida muhokama qilingan vaziyatning natijasi shundaki, Bitcoinsning "sherning" ulushi yirik kon kompaniyalari egalari qo'lida to'plangan. Agar olingan bitkoinlarning hammasi ham sotuvga chiqmasligini hisobga olsak, bunday tashkilotlar sarmoyadorlar va tangalarning saqlovchilariga aylanadi. Natijada muomaladagi tangalar soni kamayadi. Bundan tashqari, kriptovalyutaning to'planishi markazsizlashtirishga, shuningdek, savdo jarayonida BTC kursiga ta'sir qilish imkonini beradi.
  3. Mavjud kamchiliklar tufayli SHA-256 algoritmi asta-sekin o'tmishga aylanib bormoqda va uning o'rnini yanada ilg'or loyihalar egallaydi. Masalan, Scrypt, Ethash, Blake-256, Equihash va boshqalar mashhurlikka erishmoqda. Yangi algoritmlar yaxshiroq himoya va xavfsizlik darajalariga ega, bu esa ko'plab kriptovalyutalarni yaratuvchilarni eskirgan SHA-256 dan ilg'or texnologiyalar foydasiga voz kechishga majbur qildi.
  4. Ishlab chiquvchilar tomonidan aniqlangan asosiy xatolarni tuzatishga qaramay, ba'zi zaifliklarni bartaraf etib bo'lmadi (2008 yilda 22 ta takrorlash uchun to'qnashuvlar topilgan). Shuning uchun SHA rivojlanishi davom etdi va ikkinchi versiya SHA-3 bilan almashtirildi.
2009 yilda men SHA-256 dan foydalanishga majbur bo'ldim, chunki kriptovalyutani yaratish vaqtida davlat hukumatlari ushbu protokolni qabul qilishgan. O'sha paytda u ba'zi davlat dasturlarida ma'lumotlarni himoya qilish uchun faol foydalanilgan va tijorat sohasida ham ishlatilgan. Ma'lum bo'lishicha, protokol muayyan muammolarni hal qilish uchun yaratilgan, lekin aslida u butunlay boshqacha tarzda talab qilinadi.

Aniqlik uchun, keling, Bitcoin shifrlash algoritmining ijobiy va salbiy xususiyatlarini jadvalga keltiramiz.

AfzalliklarKamchiliklar
Keng tarqalgan (shu jumladan kriptovalyuta sohasida). SHA protokoli ma'lumotni himoya qilish uchun kundalik hayotda faol qo'llaniladi.Markazsizlashtirishni yo'qotish. Quvvat konchilik kompaniyalari qo'lida to'plangan.
O'g'irlikdan ishonchli himoya.SHA iteratsiyasi oddiy tuzilishga ega, bu esa vaqt o'tishi bilan qazib olish murakkabligining oshishiga olib keldi. 2018 yil avgust holatiga ko'ra, Bitcoinlarni qazib olish uchun faqat yuqori ko'rsatkichlarga ega ASIC'lardan foydalanish mumkin.
Tanga qazib olish nuqtai nazaridan qulaylik, kon uskunalarini tanlashda ko'p qirrali.Murakkab tuzilishga ega bo'lgan yangi algoritmlar paydo bo'ladi.
Ikkinchi versiyada (SHA-2) yaratuvchilar tizimning ishonchliligiga salbiy ta'sir ko'rsatgan bir qator kamchiliklarni bartaraf etishga muvaffaq bo'lishdi.Xatolar ustida faol ish olib borishga qaramay, ko'plab kamchiliklar bartaraf etilmadi. Ishlab chiquvchilar SHA-3 ning yangi versiyasini yaratganligi ajablanarli emas.
Protokol Qo'shma Shtatlarda qonunchilik darajasida qabul qilingan.

Bugungi kunda u yangi kriptovalyutalarni ishlab chiqishda deyarli qo'llanilmaydi. Hali ham SHA-256 dan foydalanadigan tanganing eng yorqin misoli 2017 yil avgust oyida paydo bo'lgan Bitcoin vilkasi Bitcoin Cashdir. Ammo bu tanga bilan bog'liq vaziyatda SHA-dan foydalanish yaratuvchilarning tanlovidan ko'ra ko'proq zaruratdir. Bitkoinning o'ziga kelsak, ushbu seriyali protokoldan foydalanish Satoshi Nakamotodan alternativalarning yo'qligi bilan bog'liq.

Bugungi kunda, 2018-yilda, bu algoritmni takomillashtirish va kriptovalyuta tarmog'iga o'zgartirishlar kiritish haqida ko'p gapiriladi, ammo hozirgacha bunday niyatlar jismoniy amalga oshirilmagan va faqat takliflar shaklida qolmoqda.

Kriptografik funktsiyalar va algoritmlar haqida video:

O'tgan 2017 yil kriptovalyutalarning portlovchi mashhurligi va "asosiy" kriptovalyuta Bitcoin tezligining bir xil tez o'sishi yili bo'ldi. Bu holatlar nafaqat chayqovchilik va konchilikka, balki hodisaning mohiyatiga ham qiziqishni kuchaytirdi. Tobora ko'proq odamlar bularning barchasi qanday ishlashini tushunishni xohlashadimi?

Biz Scrypt, SHA-256, X11 va boshqalar kabi bu sirli qisqartmalar ortida nima turganini eng qulay shaklda tushuntirishga harakat qiladigan bir qator materiallarni ochmoqdamiz. Kriptovalyutalar dunyosi uchun eng muhim (lekin eng yaxshi emas) algoritmi - SHA-256 bilan boshlaylik. Aynan shu narsa Bitcoin rivojlanishi uchun asosdir. Ammo bundan oldin, keling, asosiy terminologiyani aniqlaylik - "kon" va "hash" atamalarining ma'nosini aniqlang.

Kon nima?

Ommabop e'tiqoddan farqli o'laroq, tog'-kon sanoati nafaqat kriptografik banknotlarni qazib olish emas, balki bu kripto valyutasini firibgarlikdan himoya qilish choralaridir. Gap shunchaki qalbakilashtirish haqida emas – bundan ham muhimroq, masalan, bir xil tangalarni bir shaxs tomonidan qayta-qayta ishlatishdan himoya qilish. Yangi kripto tangalarning daromadlari ularning emissiyasi bilan chambarchas bog'liq va qazib olish algoritmi shartlariga javob beradigan yangi blokni topish uchun mukofotdan shakllanadi.

Ya'ni, keyingi kripto tanga "paydo bo'lishi" uchun siz murakkab hisob-kitoblarning butun majmuasini bajarishingiz va o'sha juda orzu qilingan "to'g'ri" blokni topishingiz kerak. Ishqibozlar o'zlarining jihozlari bilan shunday qilishadi. Sxema o'zini qo'llab-quvvatlaydi - kriptovalyutaning xavfsizligini oshirish va yangi birliklarni chiqarish uchun qazib olish kerak va buni amalga oshirish mantiqiy bo'lishi uchun konchilar mukofot olishadi.

Muxtasar qilib aytganda, tog'-kon dasturlari guruhlari ilgari hisoblash operatsiyalarini bitta blokga aylantirgan, keyin esa maxsus turdagi xesh kodini topish uchun aql bovar qilmaydigan ko'p marta aylantiriladi. Algoritm talablariga javob beradigan xesh-kodni topish jarayonda ishtirokchilar qanchalik ko'p ishtirok etsa, shunchalik qiyin bo'ladi. "To'g'ri" xesh juda kam uchraydi va uni topish lotereyani yutib olishga o'xshaydi.

Xesh nima?

Hamma uchun tushunarli bo'lmagan "hash" atamasi yuqorida aytib o'tilgan. Bu umuman shifrlashda va xususan SHA-256 algoritmida asosiy tushunchalardan biridir. Keling, bu nimani anglatishini tushuntiramiz va eng muhim bog'liq fikrlarni ko'rib chiqamiz.

Shunday qilib, xeshlash - bu ixtiyoriy o'lchamdagi kiruvchi ma'lumotlar to'plamini chiquvchi raqamli qatorga aylantirish jarayoni. Ushbu transformatsiya oldindan ishlab chiqilgan algoritm bo'yicha amalga oshiriladi va chiquvchi satr mutlaqo noyob bo'lib, kiruvchi massivning o'ziga xos "barmoq izi" bo'lib xizmat qiladi. Aynan shu satr xesh summasi, xesh kodi yoki oddiygina xesh deb ataladi. Transformatsiya algoritmi esa hash funktsiyasidir.

Keling, misol keltiraylik. Biz xesh funktsiyalarini, aytaylik, A. S. Pushkinning "Yevgeniy Onegin" she'ridagi romanining matnini "oziqlantirishimiz" mumkin va natijada taxminan shunday o'n oltilik kod bo'ladi:. Albatta, bu kodni "ochish" va uni "Eugene Onegin" ga aylantirish mumkin emas. Ammo she'rdagi bitta belgini o'zgartirganingizdan so'ng, hatto bitta bo'sh joy qo'shsangiz ham, hosil bo'lgan xesh tanib bo'lmas darajada o'zgaradi. Ovoz, shuningdek, xesh-kod uzunligiga ta'sir qilmaydi. Shunday qilib, siz funktsiyaga bitta "a" belgisini kiritishingiz mumkin va chiqish aynan bir xil uzunlikdagi psevdo-tasodifiy belgilar to'plami bo'ladi.

Keling, nima uchun bu kerakligini va bu yo'lda qanday qiyinchiliklar paydo bo'lishini batafsil ko'rib chiqaylik. Mavzuga qiziqqan har bir kishi SHA-256 protokolidan foydalangan holda kriptovalyutalarni qazib olish markaziy protsessor, grafik karta yoki ixtisoslashtirilgan ASIC qurilmasi quvvati yordamida amalga oshirilishi mumkinligini biladi. Aslida, Bitcoin kontekstida birinchi usul endi umuman ahamiyatli emas va video kartalar bilan qazib olish o'zining so'nggi kunlarini yashamoqda. Hisob-kitoblarning murakkabligi juda sezilarli darajada oshdi va yarim o'lchovlar endi mos emas.

Kon dasturiy interfeysida bloklarni xesh miqdoriga aylantirish jarayonlari "Qabul qilingan 0aef59a3b" kabi lakonik chiziq sifatida ko'rsatiladi. Blok minglab yoki hatto yuz minglab shunga o'xshash chiziqlardan iborat bo'lishi mumkin, ammo faqat bittasi blokning "imzosi" bo'lib xizmat qilishi mumkin, uni izlash qazib olishning mohiyatidir.

To'g'ri xeshni qidirish juda ko'p muammolarni hal qilish natijalari bo'yicha oddiygina qidirish orqali amalga oshiriladi. SHA-256 algoritmida xeshning "to'g'riligi" xesh yig'indisining boshidagi nollar soni bilan aniqlanadi. Algoritm tomonidan aniqlangan hisob-kitoblar orqali bunday xesh-kodni topish ehtimoli juda kam - millionlab echimlarda bitta imkoniyat. Aniq ehtimollik ma'lum bir kriptovalyutaning markazlashtirilmagan tizimidagi hozirgi qiyinchilik darajasi bilan belgilanadi.

Ajoyib fakt. Har birimiz bir necha bor SHA-256 algoritmi bilan, hatto bilmasdan ham, kriptovalyutani qazib olishni hisobga olmasdan ham shug'ullanganmiz. Biz ko'plab veb-saytlarni himoya qiladigan SSL xavfsizlik sertifikati haqida gapiramiz. Bunday saytga tashrif buyurganingizda, siz avtomatik ravishda SHA-256 bilan o'zaro aloqada bo'lasiz, bu SSL asosida qurilgan.

SHA-256 protokolining xususiyatlari

Birinchidan, bir oz tarix. Dastlab, SHA-256 shifrlash algoritmi, to'g'rirog'i, uning prototipi 2002 yilda "mash'um" NSA (AQSh Milliy xavfsizlik agentligi) devorlari ichida ixtiro qilingan. Bir necha oy ichida u o'zgartirildi va Milliy metrologiya universiteti tomonidan federal darajada rasmiy ravishda taqdim etildi. Ikki yil o'tgach, uning ikkinchi, takomillashtirilgan versiyasi chiqdi.

Keyingi uch yil davomida Agentlik algoritmni takomillashtirish ustida ishladi va oxir-oqibat uning ikkinchi nashri uchun patent berdi. Bu "tinch" maqsadlarda eng so'nggi texnologiyalardan foydalanish imkonini yaratgan rolik huquqisiz litsenziya ostida amalga oshirildi.

Oxir-oqibat, SHA-256 dunyodagi birinchi kriptovalyuta - Bitcoinni yaratish uchun asos bo'ldi. Bunday holda, xavfsizlikni oshirish uchun protokol ikki marta ishlatiladi.

Bitcoin tizimida qazib olishning bir qismi sifatida hisob-kitoblarni amalga oshirayotganda, natijada olingan xesh-kodning muvofiqligi belgisi qatorning boshidagi nollar soni hisoblanadi. 17-yilning oxiri, 18-ning boshi holatiga koʻra, talab qilinadigan bosh nollar soni 17 (+/-) ni tashkil qiladi. Bunday kodni aniqlash ehtimoli taxminan 1 dan 1,4 * 10 20 ga teng. Bu juda kichik raqam bo'lib, tushunishga to'sqinlik qiladi va sayyoramizning barcha qumli plyajlarida ma'lum bir shakldagi qum donini topish ehtimoli bilan taqqoslanadi. Shuning uchun Bitcoin qazib olish juda ko'p hisoblash quvvati va juda ko'p elektr energiyasini talab qiladi.

"To'g'ri" xeshni qidirishni optimallashtirishning hech qanday usuli yo'q. SHA-256 protokolida xesh funktsiyasi ma'lumotlar blokini olib, butunlay oldindan aytib bo'lmaydigan chiqish qiymatini ishlab chiqaradi. Shuning uchun, mos kod topilmaguncha, takrorlashdan keyin takrorlash (takrorlash) kerak, biz yana bir bor ta'kidlaymiz - butunlay tasodifiy.

Endi biz o'quvchini murakkab texnik ma'lumotlar bilan biroz "yuklashga" majburmiz, aks holda SHA-256 haqidagi hikoyamiz to'liq bo'lmaydi. Hech narsa aniq bo'lmasa, maqolaning keyingi qismiga o'ting.

Protokol ma'lumotni har biri 512 bit (yoki 64 bayt, bir xil, chunki 1 bayt = 8 bit) bo'laklarga ajratishni o'z ichiga oladi. Keyin kriptografik "aralashtirish" algoritmga xos bo'lgan sxema bo'yicha sodir bo'ladi va chiqish 256 bit o'lchamdagi xesh-koddir. Xeshlash operatsiyasi 64 iteratsiyada amalga oshiriladi, bu nisbatan kam, ayniqsa paydo bo'lgan yangi kriptografik algoritmlarga nisbatan.

SHA-256 ning asosiy texnik parametrlari quyidagilardan iborat:

  • Blok hajmi: 64 bayt;
  • Maksimal xabar uzunligi: 33 bayt;
  • Olingan xesh-kod hajmi: 32 bayt;
  • Bir turda takrorlashlar soni: 64;
  • Maksimal tezlik: taxminan 140 Mb/s (sekundiga mebibayt).

O'z ishida algoritm taniqli Merkle-Damgard texnikasidan foydalanadi, bu o'zgarishlar kiritilgandan so'ng darhol boshlang'ich ko'rsatkichni bloklarga bo'lishni o'z ichiga oladi. Bloklar, o'z navbatida, har biri 16 ta so'zga bo'lingan.

Ma'lumotlar to'plami 64 ta iteratsiyadan iborat. Ularning har biri blokni tashkil etuvchi so'zlarni xeshlash jarayonini boshlaydi. Juft so'zlar funktsiya tomonidan qayta ishlanadi, shundan so'ng natijalar qo'shiladi va to'g'ri xesh-kod olinadi. Har bir keyingi blok avvalgisining qiymatiga qarab hisoblanadi. Bu uzluksiz jarayon - bloklarni bir-biridan alohida hisoblash mumkin emas.

SHA-256 evolyutsiyasi

Ushbu algoritmning kriptografik qiymatini tushunish uchun tarixga qaytaylik. Ular deyarli yaratilganidan keyin - 2003 yilda uning kuchini jiddiy sinab ko'rishni boshladilar. Bu masala professionallar tomonidan ko'rib chiqildi, ammo hech qanday zaiflik yoki xatolar topilmadi.

To'liq besh yil o'tdi, 2008 yilda hind mutaxassislari hali ham 22 ta takrorlash uchun to'qnashuvlarni aniqlay olishdi. Bir necha oylik mashaqqatli mehnatdan so'ng muammoni muvaffaqiyatli hal qilish taklif qilindi.

Algoritmning funktsional qismining ishlashini tahlil qilish jarayonida uning ikki turdagi xavfsizlik buzilishining mumkin bo'lgan usullariga chidamliligi sinovdan o'tkazildi:

  • preimage orqali: bu faqat xesh-string asosida asl xabarning teskari dekodlanishini anglatadi;
  • to'qnashuvni aniqlash orqali: bu kiruvchi xabarlar boshqacha bo'lsa, chiquvchi ma'lumotlarning mos kelishini nazarda tutadi. Ya'ni, kiruvchi bloklar boshqacha, lekin chiquvchi xesh bir xil - bu sodir bo'lmasligi kerak.

SHA-256 ning birinchi versiyasi ikkinchi mezon bo'yicha muvaffaqiyatsiz sinovlardan so'ng, ishlab chiquvchilar tubdan boshqacha tamoyillarga asoslangan yangi shifrlash mexanizmini yaratishga qaror qilishdi. Bu amalga oshirildi - 2012 yilda yuqorida tavsiflangan kamchiliklardan butunlay mahrum bo'lgan yangi avlod protokoli joriy etildi.

Algoritmning kamchiliklari

Ishlab chiquvchilar o'zlarining xatolarini tuzatishga muvaffaq bo'lishlari, ular SHA-256 ni mukammallikka olib kelishganligini anglatmaydi. Protokol aniq zaifliklardan xalos bo'ldi, ammo uning "mahalliy" kamchiliklari saqlanib qoldi.

Bitkoinning asosi sifatida SHA-256 dan foydalanish AQSh qonunchiligining o'zi ushbu protokolga sodiq bo'lganligi sababli mumkin bo'ldi. Ayrim davlat dasturlarida ma'lumotlarni himoya qilish uchun foydalanishga ruxsat berildi va tijorat sohasida ham foydalanishga ruxsat berildi.

Taqdirning istehzosi shu erdan kelib chiqadi - protokol bir maqsad uchun yaratilgan, ammo uning eng keng qo'llanilishi butunlay boshqalarida topilgan. Va bu birinchi maqsadlar uchun u samaraliroq va mos edi. Ammo kriptovalyutalar uchun bu juda oddiy bo'lib chiqdi. Masalan, Xitoyda hatto fermer xo'jaliklari emas, balki ASIC konchilari bilan to'ldirilgan butun "zavodlar" bo'lsa, bu hazil emas.

Algoritmning har bir iteratsiyasi juda oddiy ko'rinadi - asosiy ikkilik operatsiya va 32 bitli qo'shimcha. Shuning uchun SHA-256-ga asoslangan ASIC-lar juda tez paydo bo'lib, faqat protsessor va bir nechta video kartalar bilan "uy" konchilarning barcha umidlarini nolga ko'paytirdi.

Vaqt va shartlar juda o'zgarib bormoqda va SHA-256 protokoli boshqa ilg'or echimlar ortidan ishonch bilan ergashmoqda. Xuddi shu Scrypt, hisob-kitoblar jarayonida, birinchi navbatda, 1024 xil xesh satrlarni qayd qiladi va shundan keyingina u qo'shishni amalga oshiradi va yakuniy natijani oladi. Bu kriptovalyuta himoyasi va xavfsizligining eng yuqori darajalariga ega bo'lgan taqqoslanmaydigan darajada murakkabroq sxema.

Xulosa

SHA-256 shifrlash algoritmi kriptovalyuta portlashi boshlangunga qadar ancha samarali va ishonchli hisoblangan. Bugungi kunda yangi echimlar fonida u ancha zaif ko'rinishi aniq bo'ldi. Shunday qilib, bu uni chetlab o'tish uchun "o'tkir" maxsus qurilmalarni yaratishga imkon berdi. Bu markaziy protsessorlarda qazib olishni deyarli yo'q qilgan va video kartalarda qazib olishni tugatgan bir xil ASIC konchilari.

Aftidan, buning hech qanday yomon joyi yo'q - sog'lom raqobat, axir. Ammo, aslida, ASIC-lardan foydalanish kriptovalyutani sezilarli darajada markazlashtiradi va shu bilan uning g'oyasini neytrallashtiradi. Bu fakt iqtidorli ishqibozlarni yangi, ilg'or xesh algoritmlarini yaratishga undab qololmadi. Va ular uzoq vaqt kelishmadi.

SHA-256 protokoli hozirda kriptovalyuta bozorining asosiy ulushini egallaydi, biroq yangi alternativlar allaqachon ishonch bilan uni chetga surmoqda. Misol uchun, ikkinchi eng mashhur va "qimmat" crypt, Ethereum, ilgari Dagger deb nomlangan Ethash protokolidan foydalanadi. Protokol shu qadar yaxshiki, Ethereum hanuzgacha maksimal markazsizlashtirishni saqlab kelmoqda va uni qazib olish uchun ASIC konchilari tabiatda hali ham mavjud emas. Ehtimol, Ethash aniq eskirgan SHA-256 ni almashtiradi.

Birinchi muqobil algoritmlardan biri Scrypt bo'lib, unga eng mashhur altkoinlardan biri Litecoin asoslangan. Bu ancha ilg'or yechim bo'lib, endi ASIC-ga bunday shubhasiz afzalliklarni bermaydi. Biroq, konchilikdan olingan super-foyda xitoylik mutaxassislarni Scrypt uchun texnologik echimlarni ishlab chiqishga ko'p kuch sarflashga majbur qildi va bu protokolga asoslangan ASIClar paydo bo'ldi.

Agar konchilikni texnik nuanslarda tajribasiz oddiy odam nuqtai nazaridan ko'rib chiqsak, u Scrypt va SHA-256 algoritmlari o'rtasida hech qanday farqni sezmaydi. Ikkala protokoldagi ASIC-lar deyarli bir xil ko'rinishga ega, taxminan bir xil miqdordagi elektr energiyasini iste'mol qiladi va bir xil fan shovqiniga ega. Yana bir narsa - bu bir xil ASIC-lar ishlab chiqaradigan kriptovalyuta kurslari, ammo bu butunlay boshqacha hikoya.

Ushbu mavzu doirasida biz quyidagi materialni Scrypt muqobil shifrlash protokoliga bag'ishlaymiz.

SHA 256 kriptovalyutalarni qazib olish uchun kriptografik ko'rsatmalar to'plamidir. Boshqacha qilib aytganda, u tarmoqdagi barcha operatsiyalarni ishonchli himoya qiladi va elektron tangalarni qazib olishni murakkablashtiradi. Ushbu qisqartma Secure Hashing Algoritm degan ma'noni anglatadi, bu juda mashhur va samarali xeshlash usulini anglatadi.

SHA 256 ning mohiyati ma'lumotni qiymatlarga, raqamlarga aylantirishdir. Ushbu zanjir belgilangan uzunlikka ega. Bu shuni anglatadiki, siz tarmoq ichida uzatadigan har qanday ma'lumot maxsus qiymatlar - identifikatorlar (IDlar) bilan shifrlanadi.

Tranzaktsiyalarni amalga oshirishda SHA 256 algoritmi identifikatorni asl ma'lumotlar bilan taqqoslaydi, uni olish mumkin emas va keyin tranzaktsiyaga kirishni ta'minlaydi. Ushbu protokol endi BTC va BCH kabi kriptovalyutalarni qazib olishda qo'llaniladi.

Tashqi ko'rinish tarixi

Qanday qilib Bitcoin SHA 256 dan foydalanishni boshladi? Hammasi algoritm 224-512 bit xesh zanjiri o'lchamiga ega bo'lgan SHA-2 oilasining a'zosi bo'lish bilan boshlandi.

Ular, o'z navbatida, ularning katta bobosi - SHA-1 asosida yaratilgan, uning xeshi 160 bit uzunlikda edi. Texnologiya 1995 yilda paydo bo'lgan va fuqarolik maqsadlarida foydalanish uchun mo'ljallangan edi - ya'ni oddiy, nodavlat muhim ma'lumotlarni shifrlash.

SHA 256 tegishli bo'lgan SHA-2 oilasi Milliy xavfsizlik agentligi tomonidan 16 yil avval - 2002 yilning bahorida ishlab chiqilgan.Bundan kelib chiqib aytishimiz mumkinki, algoritm ma'naviy jihatdan eskirgan. Biroq, u hali ham tarmoqdagi tranzaktsiyalarni shifrlash uchun eng kuchli algoritmlardan biri hisoblanadi.

SHA 256 ning texnik parametrlari

Algoritm 64 baytlik teng qismlarga bo'lingan ma'lumotlar uchun mo'ljallangan. SHA 256 ularni to'plash va bitta 256 bitli zanjirga birlashtirishni ta'minlaydi. Ushbu usul uchun asosiy usul shifrlash operatsiyasi bo'lib, u tsiklda 64 marta amalga oshiriladi.

SHA 256 algoritmik ko'rsatmalarining qisqacha tavsiflari:

  • 64 bitli bloklar - 32 bitli bloklar bilan eng tez ishlaydi;
  • shifrlangan axborot zanjirining eng yuqori uzunligi 33 baytni tashkil qiladi;
  • xabar dayjestining hajmi - 32 bayt;
  • bir so'zning standartlashtirilgan hajmi 4 bayt;
  • operatsiyaning bir bosqichida shifrlash sikli 64 bayt;
  • algoritmning ishlash tezligi 140 Mbit/s.

Shuni ta'kidlash kerakki, SHA-2 oilasining ushbu a'zosi Merkle-Damgaard tomonidan tasvirlangan ramkaga asoslangan. Bu shuni anglatadiki, ma'lumotni so'zlarga bo'lishdan oldin ma'lumotlar bloklarga bo'linadi. Jarayon ma'lumotlarni aralashtirish orqali shifrlashni kuchaytiradi.

Ma'lumot to'plashning o'zi 64 dan 80 tagacha takrorlash oralig'ida amalga oshiriladi. Har bir keyingi tsikl yaratilgan bloklarni so'zlarga aylantiradi. Yakuniy natija, ya'ni xesh, barcha boshlang'ich qiymatlarni yig'ish orqali yaratiladi.

SHA 256 algoritmiga ega kriptovalyutalar

Yuqorida aytib o'tilganidek, nafaqat Bitcoin-da bunday ko'rsatmalar mavjud, balki:

  • peercoin, uning o'ziga xos xususiyati shundaki, kod cue to'pi asosida yaratilgan, ammo PoS butun tarmoqni himoya qilish uchun ishlatiladi va PoW tangalarni taqsimlash uchun javobgardir;
  • namecoin - himoya, maxfiylik va markazsizlashtirish vositasi sifatida ishlaydigan raqamli valyuta; unobtanium - juda past inflyatsiyaga ega, barcha tangalarni qazib olish uchun kamida 300 yil kerak bo'ladi;
  • deutsche eMark - aktivlar va pul almashinuvi uchun foydalaniladigan nemis mikrotarmog'i. Jarayonning o'zi vositachilarsiz amalga oshiriladi; betaCoin - dunyoga mashhur BitCoin bilan bir xil printsip asosida ishlaydi;
  • jouleCoin - shuningdek, Bitcoin bobosiga asoslangan, ammo operatsiyalarni tezroq tasdiqlashni ta'minlaydi;
  • steemit hatto alohida kriptografiya emas, balki blokcheyndagi butun platformadir. Uning asosiy vazifasi qiziqarli nashrlarni mukofotlashdir.

Litecoin ham SHA 256 algoritmidan foydalanadi, lekin butun tizimda emas, balki pastki dasturda. Litecoin qazib olish uchun Scrypt xavfsizlik protokoli qo'llaniladi, bu qazib olishning murakkabligini oshiradi va ASIC-larning to'lanishini kamaytiradi.

SHA 256 algoritmiga asoslangan kriptovalyutani qazib olish

SHA-2 oilasiga asoslangan elektron tangalarni qazib olish uchun maxsus vositalar - ASIC-dan foydalanish shart emas. CPU va GPU asosidagi fermalar konchilikda yaxshi ishlaydi. Ikkinchisi tezligi bo'yicha birinchisidan ustun ekanligi aniq.

Va shunga qaramay, ASIC kriptovalyutalarni qazib olish uchun eng yaxshi echimdir. Uning afzalliklari ma'lum darajada uning sezilarli narxi bilan qoplanadi - taxminan 100 ming rubl, kuchliroq modellar hatto 500 000 dan oshadi.Murakkablik oshgani sayin, to'lov kamayadi. Shuning uchun, uskunalar har doim o'zini oqlamaydi, garchi u video kartalardagi fermer xo'jaliklariga qaraganda ancha yuqori kon tezligini ta'minlaydi va ayniqsa, CPU.

GPU qazib olish ko'proq yoki kamroq foydali hisoblanadi. Umuman olganda, butun fermer xo'jaligi taxminan 1000-2000 dollar turadi, shuningdek, qo'shimcha uskunalar - xususan, video kartalar uchun sovutish tizimlari. Shuningdek, binolarni ijaraga olish, elektr to'lovlari va xizmat ko'rsatuvchi xodimlarning ish haqini hisobga olish kerak.

Video kartalar orasida Nvidia-dan GTX 1080 Ti yaxshi ishlaydi. U soniyada 1400 ta muvaffaqiyatli operatsiya tezligini ishlab chiqaradi. AMD Vega liniyasi kartalari bilan biroz orqada - 1200 MH/s. Radeon 7970 kabi arzonroq variantlar ham bor, lekin uning tezligi 800 MH/s dan oshmaydi.

SHA 256 algoritmi, garchi eski boʻlsa-da, dunyoda 1-oʻrinni egallagan kriptovalyuta Bitcoin-da hali ham qoʻllaniladi. Protokol boshqa bir qator istiqbolli altkoinlarda ham qo'llaniladi. SHA256 asta-sekin Scrypt bilan almashtiriladi, ammo Bitcoin unga o'tishni rejalashtirmaydi. Konchilikka kelsak, hamma narsa oddiy - agar pulingiz bo'lsa, yuqori hash darajasi bilan ASIC-larni oling. Yana iqtisodiy yechimni xohlaysizmi? Keyin AMD yoki Nvidia video kartalaridan fermani quring.

  • Tarjima

Bir vaqtning o'zida men Bitcoinlarni qo'lda qazib olish qanchalik tez mumkinligini aniqlamoqchi edim. Ma'lum bo'lishicha, SHA-256 xeshlash konchilik uchun ishlatiladi va u juda oddiy va hatto kompyutersiz ham hisoblanishi mumkin. Albatta, jarayon juda sekin va mutlaqo amaliy emas. Ammo qog'ozdagi barcha bosqichlarni bosib o'tganingizdan so'ng, siz algoritm qanday ishlashi haqida batafsil ma'lumotga ega bo'lishingiz mumkin.

Bitta kripto raund

Konchilik

Butun Bitcoin xavfsizlik tizimining asosiy qismi qazib olishdir. Asosiy g‘oya shundan iboratki, konchilar Bitcoin tranzaktsiyalarini bitta blokga to‘playdilar, keyinchalik ular maxsus sharoitlarga to‘g‘ri keladigan juda kam uchraydigan xesh qiymatini topish uchun behisob sonli xeshlaydilar. Bunday qiymat topilganda, blok qazib olingan deb hisoblanadi va blok zanjiriga kiradi. Hashingning o'zi to'g'ri blokni topish qiyinligini oshirishdan boshqa foydali maqsadga xizmat qilmaydi. Shunday qilib, bu mavjud resurslar to'plami bilan yolg'iz hech kim butun tizimni nazorat qila olmasligi kafolatlaridan biridir. Siz mening oxirgi maqolamda tog'-kon haqida ko'proq o'qishingiz mumkin.

Kriptografik xeshlash funktsiyasi ma'lumotlar blokini kirish sifatida qabul qiladi va kichik, ammo oldindan aytib bo'lmaydigan chiqishni ishlab chiqaradi. U kerakli natijani olishning tezkor usuli bo'lmasligi uchun yaratilgan va siz kerakli qiymatni topmaguningizcha qidirishni davom ettirishingiz kerak. Bitcoin bunday funktsiya sifatida SHA-256 dan foydalanadi. Bundan tashqari, qarshilikni kuchaytirish uchun SHA-256 blokga ikki marta qo'llaniladi va ikki marta SHA-256 deb ataladi.

Bitkoinda xeshning haqiqiy bo'lish mezoni etarli miqdordagi etakchi nolga ega bo'lishdir. Bunday xeshni topish, masalan, bir nechta nol bilan tugaydigan mashina yoki telefon raqamini topish kabi qiyin. Lekin, albatta, hash uchun bu eksponent ravishda qiyinroq. Hozirda yaroqli xesh taxminan 17 ta bosh noldan iborat bo‘lishi kerak, bu esa 1,4x10 20 dan 1 tasigina qoniqtiriladi. Agar biz o'xshashlik qilsak, unda bunday qiymatni topish Yerdagi barcha qumlar orasida o'ziga xos zarrachani topishdan ko'ra qiyinroqdir.

Moviy rang kriptografik tahlilni qiyinlashtirish uchun chiziqli bo'lmagan aralash bitlarni bloklaydi. Bundan tashqari, yanada ishonchli bo'lishi uchun turli xil aralashtirish funktsiyalari qo'llaniladi (agar siz haqiqiy xeshlarni tezda yaratish uchun matematik bo'shliqni topsangiz, butun Bitcoin qazib olish jarayonini nazorat qilasiz).

Ko'pchilik funksiyasi (Ma bloki) A, B va C so'zlari ustida bit bo'yicha ishlaydi. Har bir bit pozitsiyasi uchun, agar ushbu pozitsiyadagi kirish bitlarining aksariyati nolga teng bo'lsa, u 0 ni qaytaradi, aks holda u 1 ni qaytaradi.

Blok S0 A ni 2 bitga aylantiradi, keyin asl so'z A 13 bitga va shunga o'xshash 22 bitga aylantiriladi. Natijada A ning uchta o'zgartirilgan versiyasiga bit moduli 2 qo'shiladi ( normal xor, (A ror 2) xor (A ror 13) xor (A ror 22)).

Ch tanlash funksiyasini amalga oshiradi. Har bir bit pozitsiyasida E dan bir bit tekshiriladi, agar u birga teng bo'lsa, bu holatda F dan bit chiqariladi, aks holda G dan bit. Shunday qilib, F va G dan bitlar qiymatga qarab aralashtiriladi. ning E.

S1 tuzilishi boʻyicha S ga oʻxshaydi, lekin E soʻzi bilan ishlaydi va tegishli siljish konstantalari 6, 11 va 25 ga teng.

Qizil bloklar 32 bitli qo'shimchani amalga oshiradi, A va E chiqish so'zlari uchun yangi qiymatlarni yaratadi. W t qiymati kiritilgan ma'lumotlar asosida hosil bo'ladi (bu algoritmning xeshlangan ma'lumotlarni qabul qiluvchi va qayta ishlaydigan qismida sodir bo'ladi. Bu bizning doiramizdan tashqarida). K t har bir tur uchun o'zining doimiysi hisoblanadi.

Yuqoridagi diagrammada bitta kriptografik turda faqat A va E o'zgarishi seziladi. Qolgan so'zlar o'zgarmaydi, lekin chiqishda siljiydi - eski A B chiqishga, eski B yangi C ga aylanadi va hokazo. Algoritmning bir raundida ma'lumotlar unchalik o'zgarmasa-da, 64 turdan keyin kiritilgan ma'lumotlar to'liq shifrlangan bo'ladi.

Biz qo'lda qazib olamiz

Videoda men qalam va qog'oz bilan tasvirlangan barcha bosqichlardan qanday o'tishingiz mumkinligini ko'rsataman. Men blokni qazib olish uchun birinchi raundni amalga oshirdim. Menga 16 daqiqa 45 soniya vaqt ketdi.


Nima bo'layotganini bir oz tushuntirib beraman: men A dan H gacha bo'lgan so'zlarni o'n oltilik shaklda yozdim va har birining ostida ikkilik shaklga tarjima qildim. Ma blokining natijasi C so'zidan pastda, siljishdan keyin A qiymatlari va S 0 chiqishining o'zi A bilan chiziq ustida joylashgan. Tanlash funksiyasi G dan pastda va nihoyat E va ning mos o'zgartirilgan versiyalari paydo bo'ladi. blokdan keyin qiymat S1 E. bilan chiziqdan yuqoriga o'ting In pastki o'ng burchakda qo'shimcha amalga oshiriladi, uning natijasi ham yangi A, ham yangi E (birinchi uchta qizil yig'indi bloklari) hisoblashda ishtirok etadi. Yuqoridagi o'ng tomonda men A ning yangi qiymatini hisoblab chiqdim va o'rtada E ning yangi qiymatini hisoblash bu barcha qadamlar yuqorida muhokama qilingan va diagrammada osongina kuzatilishi mumkin.

Videoda ko'rsatilgan turga qo'shimcha ravishda men yana bitta - ma'lum bir Bitcoin bloki uchun so'nggi 64-hashing raundini o'tkazdim. Suratda xesh qiymati sariq rangda ta'kidlangan. Nollar soni uning haqiqiy Bitcoin xeshi ekanligini tasdiqlaydi. E'tibor bering, nollar avval yozganimdek, xeshning boshida emas, oxirida joylashgan. Sababi, Bitcoin shunchaki SHA-256 tomonidan qabul qilingan baytlarni aylantiradi.


SHA-256 ning so'nggi bosqichi, buning natijasida muvaffaqiyatli qazib olingan Bitcoin bloki ko'rinadi

Bularning barchasi apparat konchilari dizayni uchun nimani anglatadi?

SHA-256-dagi har bir qadam raqamli mantiqda juda oddiy ko'rinadi - oddiy bit operatsiyalari va 32-bitli summalar (agar siz elektron dizaynni o'rgangan bo'lsangiz, bu apparatda qanday ko'rinishini allaqachon tasavvur qilgan bo'lsangiz kerak). Shu sababli, ASIClar SHA-256-ni juda samarali amalga oshiradilar, yuzlab SHA-256 dumaloq ijro birliklarini parallel ravishda joylashtiradilar. Quyidagi fotosuratda sekundiga 2-3 milliard xeshni hisoblay oladigan kon chipi ko'rsatilgan. Siz Zeptobars-da ko'proq fotosuratlarni ko'rishingiz mumkin.


Bitfury ASIC chipining kremniy surati, u Bitcoinni soniyasiga 2-3 gigahash tezlikda qazib olishi mumkin. Zeptobarsdan olingan surat. (CC BY 3.0)

Bitcoin, Litecoin, Dogecoin va shunga o'xshash boshqa muqobil -coin tizimlaridan farqli o'laroq, apparatda amalga oshirish qiyin bo'lgan scrypt xesh algoritmidan foydalanadi. Ushbu algoritm bajarilish vaqtida xotirada 1024 xil xesh qiymatlarini saqlaydi va yakuniy natijaga erishish uchun ularni chiqishda birlashtiradi. Shuning uchun, SHA-256 xeshlariga nisbatan scrypt xeshlarini hisoblash uchun ko'proq xotira va sxemalar talab qilinadi. Xeshlash algoritmini o'zgartirishning ta'siri tegishli kon apparatlarini solishtirganda aniq ko'rinadi - scrypt uchun versiyalar (Litecoin va boshqalar) SHA-256 (Bitcoin) versiyalariga qaraganda minglab marta sekinroq.

Xulosa

SHA-256 to'satdan shu qadar sodda ediki, uni hatto qo'lda hisoblash mumkin edi (Bitcoin tranzaksiyasini imzolash uchun ishlatiladigan elliptik egri algoritmi ancha og'riqli bo'lar edi, chunki u 32 baytli raqamlarni ko'paytirishni o'z ichiga oladi). SHA-256 ning bir raundini hisoblash menga 16 daqiqa 45 soniya vaqtni oldi. Ushbu ko'rsatkich bilan butun Bitcoin blokini (128 tur) xeshlash 1,49 kun davom etadi, ya'ni biz kuniga 0,67 xesh tezligini olamiz (aslida, amaliyot bilan jarayon tezlashadi). Taqqoslash uchun, Bitcoin konchilarining hozirgi avlodi soniyada bir necha terahash ishlab chiqaradi, bu mendan kvintilion marta tezroq. Menimcha, qo'lda Bitcoin qazib olish juda amaliy emasligi aniq.

Reddit o'quvchisi mening energiya sarfim haqida so'radi.Men jiddiy jismoniy kuch sarflamaganim uchun metabolizm tezligi kuniga 1500 kilokaloriya bo'ladi deb taxmin qilishimiz mumkin, keyin qo'lda xeshlash har bir xesh uchun deyarli 10 megajoul talab qilishini aniqlaymiz.Odatda iste'mol qilinadigan energiya. temir konchi uchun har bir joul uchun 1000 magehash. Shunday qilib, men ixtisoslashtirilgan temir bo'lagiga qaraganda 10 ^ 16 marta (10 kvadrillion) energiya tejamkorligim kam. 200 kilokaloriya uchun tsent.Menda elektr quvvati har bir kilovatt-soat uchun 15 tsent, bu donutlardan 6,7 baravar arzon.Natijada, inson konchi sifatida men uchun hash nuqtai nazaridan energiya narxi 67 kvadrillion baravar yuqori. Ha, men buni olmasligim aniq Bitcoinni qo'lda qazib olishda omad tilaymiz va bu hatto qog'oz va qalam narxini hisobga olmaydi!