Kuban davlat universiteti


Blockchain qanday ishlaydi


Download 377.08 Kb.
bet2/7
Sana16.01.2023
Hajmi377.08 Kb.
#1095001
1   2   3   4   5   6   7
Bog'liq
razrabotka prilozheniya k tehnologii blockhain (3)

Blockchain qanday ishlaydi


Raqamli yozuvlar "bloklarga" birlashtiriladi, keyinchalik ular kriptografik va xronologik jihatdan murakkab matematik algoritmlardan foydalangan holda "zanjir"ga bog'lanadi. Har bir blok avvalgisiga ulangan va yozuvlar to'plamini o'z ichiga oladi. Yangi bloklar har doim zanjirning oxiriga qo'shiladi . Xeshlash deb nomlanuvchi shifrlash jarayoni bir tarmoqda ishlaydigan ko'p sonli turli xil kompyuterlar tomonidan amalga oshiriladi. Agar ularning hisob-kitoblari natijasida ularning barchasi bir xil natijaga erishsa, u holda blokga noyob raqamli imzo (imzo) beriladi. Ro'yxatga olish kitobi yangilangandan va yangi blok yaratilgandan so'ng, uni endi o'zgartirib bo'lmaydi. Shunday qilib, uni soxtalashtirish mumkin emas. Siz unga faqat yangi yozuvlarni qo'shishingiz mumkin. Ro'yxatga olish kitobi tarmoqdagi barcha kompyuterlarda bir vaqtning o'zida yangilanishini hisobga olish kerak.


Kriptologiyaning klassik vazifalaridan biri "Vizantiya generallarining vazifasi" quyidagicha ifodalangan: "Vizantiya armiyasi shaharni qamal qilmoqda. Generallar g'alabaga olib keladigan yagona harakatlar strategiyasini ishlab chiqishlari kerak, hatto ular orasida o'z bo'linmalarining soni va hujum vaqti haqidagi ma'lumotlarni ataylab buzib ko'rsatadigan xoinlar bo'lsa ham.
Vazifaning asosiy maqsadi - bir maqsad bilan birlashtirilgan, lekin bir-biriga ishonchdan mahrum bo'lgan tizim ishtirokchilarining harakatlarini qanday muvofiqlashtirishni aniqlashdir.
Agar siz matematika vositalaridan foydalanmasangiz, unda aniq yechim tizim ishtirokchilariga olingan ma'lumotlarning ishonchliligini kafolatlaydigan yagona nazorat qiluvchi va tasdiqlovchi organni yaratishdir.
Blokcheyn texnologiyasi tufayli vositachilarga ehtiyoj qolmaydi. Bunga tizimdagi barcha kompyuterlarda bir vaqtning o'zida - taqsimlangan registrlarda yoki ma'lumotlar bazalarida tranzaktsiyalar haqidagi ma'lumotlarni saqlashning maxsus shakli tufayli erishiladi.
2008 yilda Satoshi Nakamoto ijtimoiy konsensusga erishishning yangi usulini ixtiro qildi, bu esa barcha operatsiyalarni uchinchi tomon ishtirokisiz tekshirish imkonini beradi. Buni ko'rsatishning eng oson yo'li bitkoinlardagi o'tkazmalar misolidan foydalanib, blokcheyn texnologiyalari ishining mohiyatini qisqacha tushuntirishdir.
Har bir tranzaksiya onlayn tarzda amalga oshiriladi va ma'lum bir foydalanuvchi ma'lum miqdordagi bitkoinlarni boshqa foydalanuvchiga o'tkazishi haqidagi xabardir. Tranzaktsiya amalga oshirilgandan so'ng, u konchilarga ko'rinadigan bo'ladi .
Bitimlarning hech biri ular blok deb ataladigan narsaga kiritilmaguncha to'liq hisoblanmaydi - konchilar shunday qilishadi. Har bir blokda minglab qayta ishlangan tranzaktsiyalar haqida ma'lumotlar mavjud. Shakllangan deb hisoblanishi uchun konchi hash funktsiyasini hisoblashi kerak - kiruvchi ma'lumotlar qatori aylantiriladigan alfanumerik qator.
Xesh funktsiyasi oldingi blok haqida ma'lumotni o'z ichiga oladi, ya'ni bitcoin valyuta sifatida paydo bo'lganidan beri amalga oshirilgan barcha operatsiyalar haqida. Agar oldingi zanjirdagi ma'lumotni kamida bir oz o'zgartirsangiz, xesh funktsiyasi ham tanib bo'lmaydigan darajada o'zgaradi. Ma'lum bo'lishicha, blokcheyndagi taqsimlangan ma'lumotlar bazasi bloklar zanjiri bo'lib, ularning har biri avvalgisiga tegishli.
Bitkoinlar bilan tranzaktsiyalar tarixini saqlash foydalanuvchi o'zida mavjud bo'lmagan miqdorni kimgadir o'tkazmasligini ta'minlaydi. Blokcheyn texnologiyasi, shuningdek, ikki marta sarf-xarajatlardan qochish imkonini beradi - odam bir xil miqdorda ikki marta sarflashga harakat qiladigan vaziyat. Buning kaliti ko'p sonli foydalanuvchilar va madencilerdir .
Keling, blokcheyn xavfsizligi qurilgan xesh funktsiyasi tushunchasini batafsil tahlil qilaylik.

Xeshlash



Xeshlash - ixtiyoriy uzunlikdagi kirish ma'lumotlari massivini belgilangan uzunlikdagi (chiqish) bit qatoriga aylantirish jarayoni. Masalan, xesh-funksiya har qanday belgilar soniga ega satrni (bitta harf yoki butun adabiy asar) olishi mumkin va chiqishda qat'iy belgilangan belgilar soniga (dijest) ega satrni olishi mumkin.
Xesh bu ma'lumotlarning har bir bitini solishtirishga hojat qoldirmasdan bir ma'lumotni boshqasidan tezda ajratish uchun ishlatiladi. Ushbu ma'lumotlarni bir marta qayta ishlash kifoya (ularning xeshlarini hisoblang ) va siz ularni faqat solishtirishingiz mumkin, bu juda tezroq. Fikr shundan iboratki, agar xeshlar boshqacha bo'lsa, demak, bu, albatta, boshqa ma'lumotlar. Agar xeshlar bir xil bo'lsa, 99,9% ehtimollik bilan bu bir xil ma'lumotlar. Garchi har doim bir xil xeshlarga qaramay, ma'lumotlarning har xil bo'lishi ehtimoli kichik bo'lsa-da .
algoritmiga qo'yiladigan talablar (xesh funktsiyasi):
1) Xuddi shu ma'lumotlar har doim bir xil xeshni berishi kerak. Bu old shart.
2) Turli ma'lumotlar boshqa xeshni berishi kerak.
Yaxshi xesh funksiyasi shunday ishlaydi:
1) Xeshlarning barcha mavjud diapazoni maksimal darajada ishlatiladi. Ya'ni, agar xesh uchun 32 bayt ajratilgan bo'lsa, unda turli xil ma'lumotlar bitlarning mutlaqo har qanday kombinatsiyasi bo'lishi mumkin bo'lgan eng xilma-xil xeshni beradi.
2) Kirish ma'lumotlaridagi har qanday, hatto eng ahamiyatsiz o'zgarishlar boshqa xeshni berishi kerak. Bunday bo'lmasligi kerakki, kichik o'zgarishlar bir xil xeshni beradi. Xuddi shu xesh mutlaqo boshqa ma'lumotlar to'plamidan kelib chiqishi kerak, shunda ikkita bunday ma'lumotlar (bir xil xeshni berish) tasodifan mavjud bo'lish ehtimoli minimal bo'ladi.
Xesh funksiyalari deyarli barcha dasturlash tillarida mavjud. Masalan, ular xesh-jadvallar va to'plamlarni amalga oshirish uchun ishlatiladi ( Java - da HashMap / HashSet , Python - da dict va set , Map , JavaScript -dagi Set va ob'ektlar va boshqalar). Hash funktsiyalarining alohida toifasi kriptografik hash funktsiyalaridir . Ular odatda xesh-jadvallarda ishlatiladigan funktsiyalarga qaraganda ancha qattiqroq talablarga bo'ysunadi. Shuning uchun ular ko'proq "jiddiy" holatlarda, masalan, parollarni saqlash uchun ishlatiladi . Kriptografik xesh funktsiyalari butun dunyo bo'ylab tadqiqotchilar tomonidan ishlab chiqilgan va sinchkovlik bilan sinovdan o'tkaziladi.
Xesh nima uchun? Aytaylik, millionlab turli qatorlar qatori mavjud. Har bir satrda million belgi bor (ya'ni jami 1 terabayt = 1000 gigabayt ma'lumot). Sizga massivingizga ba'zi ma'lumotlarni o'z ichiga olgan qatorni qo'shish buyuriladi, lekin faqat bunday qator mavjud bo'lmasa.
Natijada, vazifa millionlab satrlarda million belgilarni har bir belgi taqqoslashga aylanadi. Shubhasiz, bu ish juda katta mablag' va vaqtni talab qiladi.
Ammo yozishdan oldin ushbu satrlarning oldindan hisoblangan xeshlari mavjud bo'lsa , u holda vazifa million belgi o'rniga 32 belgini taqqoslashga aylanadi (butun massiv uchun 32 megabayt ma'lumot). Agar ro'yxat aynan bir xil xeshga ega ekanligi aniqlansa, to'liq ishonchlilik uchun faqat ushbu satrni belgilar bo'yicha taqqoslash mumkin.
Blokcheynlardagi xash funktsiyalari butun tranzaktsiyalar zanjirining "qaytarib bo'lmaydiganligini" kafolatlaydi. Gap shundaki, tranzaktsiyalarning har bir yangi bloki reestrdagi oldingi blokning xeshiga ishora qiladi. Blokning o'zi blokdagi barcha tranzaktsiyalarga bog'liq, lekin tranzaktsiyalarni xesh funktsiyasiga ketma-ket o'tkazish o'rniga, ular xeshli ikkilik daraxtdan foydalangan holda bitta xesh qiymatiga yig'iladi ( Merkle daraxti ). Shunday qilib, xeshlar umumiy ma'lumotlar tuzilmalarida ko'rsatgichlarni almashtirish sifatida ishlatiladi: bog'langan ro'yxatlar va ikkilik daraxtlar. Xeshlardan foydalanish orqali blokcheynning umumiy holati - barcha amalga oshirilgan operatsiyalar va ularning ketma-ketligi bitta raqamda ifodalanishi mumkin: eng yangi blokning xeshi. Shuning uchun bitta blok xeshining o'zgarmaslik xususiyati butun blokcheynning o'zgarmasligini kafolatlaydi.
Xesh daraxtlari blokcheynlardan tashqari ko'p maqsadlarga ega. Ular fayllarning yaxlitligini tekshirish uchun fayl tizimlarida, nusxalarni tezkor sinxronlashtirish uchun taqsimlangan ma'lumotlar bazalarida va sertifikatlar chiqarilishini ishonchli tarzda qayd etish uchun kalitlarni boshqarishda qo'llaniladi. Git hash daraxtlarini umumlashtirishdan foydalanadi - xeshlarga asoslangan yo'naltirilgan asiklik grafiklar. Blokcheynda xesh daraxtlaridan foydalanish unumdorlik nuqtai nazaridan belgilanadi, chunki ular blokcheyn tranzaktsiyalarining faqat kichik qismini qayta ishlaydigan "engil mijozlar" mavjudligiga imkon beradi.


Download 377.08 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling