Yangi formatda davom etish uchun: https://uzfor.net/view.php?act=post&id=22672
Postga havola
Webology_uz [5] [off]
Blokcheyn haqida turli maqolalarni o`qib chiqdim, tan olaman men uchun tushunish juda qiyin bo`ldi. U nima va nima uchun kerak ? shu savollarga aniq javob ola olmadim. Bir oz internet olamini titkilaganimdan so`ng, judayam qiziq bir maqolaga ko`zim tushdi. Mazkur maqolada, blokcheyn texnologiyasini metaforik ko`rinishda ta`riflab berishgan va judayam tushunarli qilib. Bu maqolani o`zbek tiliga tarjima qildim(ba`zi kesilgan joylari ham bor) va sizlar bilan baham ko`rmoqchiman.
Maqoladagi barcha ismlar o`zgartirilgan. Tag`in sudlashib o`tirmaylik.
Maqolada quyidagi personajlar bor:
Toxir – adolatli do`st
Ahmad – do`stini soddaligidan foydalanadigan shovvoz
Ahmadning chala xakkerlari – kichik epizoda chiqishadi
Blokcheyn bu — soxtalashtirib bo`lmaydigan kundalik
Tasavvur qiling, Toxir kundalik tutishga qaror qildi. Buning uchun u yon daftar sotib oldi va kunlik ishlarini quyidagi satrlar ko`rinishida yozib borardi:
1.Non sotib oldim
Uyga bordim
…
Axmadga 1000 so`m qarz berdim
Lola bilan ko`rishdim
Uxladim
U kundalikni adolatli ravishda tutishga harakat qilar edi. Agar o`tmishda bo`lib o`tgan hodisa yuzasidan nizo paydo bo`lib qolsa, u darhol kundalikni olib usha odamga yozuvni ko`rsatar edi.
Bir kuni Toxir, Axmadga bergan 1000 so`m qarzi borasida tortishib qolishdi. Axmad “men sendan pul olmaganman” derdi. Tortishuv vaqtida Toxirning kundaligi yonida emasligi pand beradi va u “Ertaga daftarni olib kelib, senga isbotlab beraman” deydi.
Axmad taqdirni sinamasdan, Toxirning uyiga o`g`rilikga tushadi. Uni kundaligini olib bir amallab 132 chi qatorni topadi va “Axmadga 1000 so`m qarz berdim” satrini “Ovqatlandim” ga o`zgartirib qo`yadi.
Ertasi kuni Toxir kundalikni olib qarasa, qarz borasida hech vaqo yo`q. Tushkunlikga tushgan Toxir Axmaddan uzur so`raydi.
Oradan bir yil o`tib, Axmadni vijdoni qiynaladi va insof chaqirib, Toxirga bo`lgan voqeani aytib beradi. Toxir do`stini kechiradi lekin, bu xato takrorlanmasligi uchun, soxtalashtirish qiyin bo`lgan kundalik tutish haqida o`ylab qoladi.
U “Linuks” operatsion tizimida ishlaydigan kompyuterida md5sum nomli dasturni topib oladi. Dastur- har qanday satrni 32 ta harfli tushunarsiz xesh ga aylantirib qo`yar edi. Masalan , dasturga “Salom” so`zini kiritsa, natija : “8b4609d7e974702ff1451220c7ededcf” bo`lar edi. Agar huddi usha so`zni faqat oxiriga bitta bo`sh satr(probel) qo`shsa umuman boshqa xesh: “69ab827825fdb876e709abd3d783dbb6” paydo bo`lar edi.
Ozgina bosh qotirgandan so`ng, Toxir kelajakdagi Axmadlarni “yozuvlar soxtalashtirish” ishini qiyinlashtirish uchun yangi yozuv yozish usulini o`ylab topadi:
Har bir yozuvdan keyin xesh qo`yish. Xeshni esa bunday ko`rinishda olar edi:
Oldingi satr xeshi + Yangi satr matni birlashmasini md5summ dasturidan xeshlash orqali chiqgan natija. Shu orqali kundalikda quyidagi ko`rinishda satrlar yozila boshladi:
0000(boshlang`ich xesh, oson bo`lishi uchun 4 ta simvol ishlatamiz)
1.Non sotib oldim4178 (0000 dan va “Non sotib oldim” birlashmasidan olingan xesh)
Uyga bordim4234(4178 dan va “Uyga bordim” birlashmasidan olingan xesh)
…4492
Axmadga 1000 so`m qarz berdim1010
Lola bilan ko`rishdim8204( 1010 dan va “Axmadga Lola bilan ko`rishdim” birlashmasidan olingan xesh)
Ana endi, qandaydur Axmad 132 chi satrni o`zgartirmoqchi bo`lsa, shu satr xeshi ham o`zgarib qoladi(1010 o`rniga boshqa son bo`lib qoladi). Bu esa o`z navbatida 133.Lola bilan ko`rishdim satrining xeshiga ham ta`sir qiladi(u ham 8204 o`rniga boshqa songa aylanib qoladi) va shu yo`sinda kundalik oxiridagi satrgacha xeshlar o`zgarib ketadi. Axmad birgina satrni o`zgartirish uchun butun boshli kundalikni soxtalashtirishiga to`g`ri kelib qoladi. Bu juda ko`p vaqt talab qilgani bu ishni qilishga urinmaydi ham.
Vaqtlar o`tib, Toxir bank ochadi. U doimgidek , kundalikga “qarz bedim” va “qarz oldim” so`zlarini xeshlar bilan boyitib yozar edi. Bank kattalashadi va u yangi Axmadga million so`m qarz beradi. Ertasi kuni tunda, Axmad va uni 500.000 so`mga yonlagan 10 ta chalaxakeri Toxirni uyiga o`g`rilikga tushib, kundalikdagi “143313. Yangi Axmadga 1000000 qarz berdim” satrini “143313. Yangi Axmadga 10 qarz berdim” ga almashtirib qo`yishadi va hammasi birlashib, kundalikni oxirgi satrigacha xeshlarni qayta hisoblab chiqishadi. Avvaliga iloi yo`qdek tuyilgan ish 11 kishi bilan oson bitadi.
Toxir mo`jizaviy tarzda satr almashganini bilib qoladi va kundalikni ximoya tizmimini yanada takomillashtirishga kirishadi, Endi u, “Har bir yozuv so`ngida qovuslar ichida biron “nons” son yozib qo`yaman. Nons son shunda bo`lsinki, har bir xeshning oxiri 2 ta nol bilan tugasin” deydi. Buni yagona yo`li, kerakli xesh paydo bo`lmaguncha ketma-ket barcha sonlarni “nons” son sifatida sinab chiqish edi.
0000(boshlang`ich xesh, oson bo`lishi uchun 4 ta simvol ishlatamiz)
1.Non sotib oldim(22)4100 (0000 dan va “Non sotib oldim(22)” birlashmasidan olingan xesh)
(xesh ning so`nggi ikki raqami 00 bo`lib tugashi uchun 22 soni maxsus tanlab olingan deb tasavvur qilamiz)
Uyga bordim(14)3100(4100 dan va “Uyga bordim(14)” birlashmasidan olingan xesh)
…4492
Axmadga 1000 so`m qarz berdim(67)9900
Lola bilan ko`rishdim(81)8200( 9900 dan va “Lola bilan ko`rishdim(81)” birlashmasidan olingan xesh)
Endi, yangi satr yozish uchun Toxirga 50 ga yaqin sonni “nons” sifatida tekshirib, xeshga to`g`ri keladigan variantni yozib chiqishi kerak edi. Bu juda qiyin va vaqt talab qiladigan ish, lekin xavfsiz. Endi kimdir kundalikdagi yozuvni soxtalashtiraman desa, undan keyingi satrni soxtalashtirish 50 barobar qiyin bo`ladi. Bu Axmad va uni chalaxakerlarini ham qo`lidan kelmaydi.
Vaqtlar o`tib, Toxir o`ziga yangi sherik oladi va ular baravar kundalik tutishadi. Har bir yangi yozuv uchun ular bir vaqtni o`zida “nons” son izlashar edi. Kim birinchi topsa, usha odam yozuv yozadi. 2 kishilashib “nons” izlash oson bo`lgani sabab, Toxir masalani yanada murakkablashtiradi. Endi xeshlar 2 ta nolda emas 3 ta nolda tugashini talab qiladi.
Ana shu Toxirning mukammal kundaligi – haqiqiy blokcheyn namunasi. Toxir va uni sherigi esa – bir biri bilan bog`langan ko`plab kompyuterlardir. Xeshlarni esa, shunday murakkablashtirish kerakki, ularni aniqlash millionlab komyuterlarga ham qiyin bo`lsin.
Blokcheyn(bloklar zanjiri) – bu ma`lum bir yozuvlardan tashkil topgan kundalik. Ma`lumotlar omborining bir turi. Toxirning har bir yozuvi – bu kichik blokchalar. Har bir blok o`zidan oldingi blok haqida ma`lumotni saqlagani sabab, ular zanjir dek bir biriga bog`lanib Bloklar zanjiri(Blockchain) ni hosil qiladi. Shu sabab, uni soxtalashtirish va taxrirlashni iloji yo`q.
Bu ma`lumotlarning aniq egasi yo`q – ular turli komyuterlarda saqlanadi. Mana shunaqa, butun dunyo ma`lumotlari bir vaqtni o`zida hammaga va hech kimga tegishli emas.
Blokcheyn – blokchalarga bo`lingan ma`lumotlar ba`zasi desa ham bo`ladi.
Bunday ajoyib kundalikga ega bo`la turib, turli xil tizimlarni barpo etsa bo`ladi.
Masalan, bitkoin. Bitkoin — bu ham bir kundalik. Faqat undagi satrlar “Qanchadur pulni X hamyondan Y karmonga o`tkazish” ko`rinishida bo`ladi. Kundalikni soxtalashtirib bo`lmaydi va unda barcha o`tkazmalar tarixi saqlanib qolgani sabab, tizimdagi har bir hamyonda qanchadan mablag` borligini hisoblasa bo`ladi.
Bitkoin shunday qurilganki, tizimda pul tushunchasi bo`lishi uchun, undagi har bir satr “Z tangalar ishlab chiqarish va menga o`tkazish” so`zlari bilan tugaydi. Satrdagi “Menga” so`zi — bu xeshni kerakli nollar bilan ta`minlaydigan “nons” sonni birinchi aniqlagan foydalanuvchi hisoblanadi.
Blokcheyn nima uchun kerak ?
Blokcheyn o`zi nega kerak degan savol sizda paydo bo`lishi aniq.
Oddiy ma`lumotlar omborida barcha ma`lumotlar bitta serverda saqlanadi. Ya`ni asosiy serverda. Asosiy serverni buzilsa yoki undagi ma`lumotlar o`chib ketsa tamom. Yoki, biron xaker ma`lumotlar omborini buzib, undagi ma`lumotni o`zgartirib qo`ysachi ?
Blokcheyn da esa – ma`lumotlar kichik blokchalarda shifrlangan xolda saqlanadi. Eng qizig`i uning asosiy serveri, markazi yo`q. Ma`lumotlar tarmoqdagi barcha kompyuterlarda saqlanadi. Har bir blok o`zidan oldingi blok haqidagi ma`lumotni shifrlangan ko`rinishda saqlagani sabab, uni buzish yoki taxrirlashning iloji yo`q. Bor ana, bitta blokni o`zgartirarsiz, lekin o`zgarish keyingi blokga ta`sir qilishi uchun keyingi blok xeshini ham buzish kerak, uni o`zgartirsangiz undan keyingisi va cheksizlikga qadar o`zgartirasiz. Bunga yillab balki asrlab vaqt ketadi.
Manbaa: Blokcheyn sodda tilda
Maqoladagi barcha ismlar o`zgartirilgan. Tag`in sudlashib o`tirmaylik.
Maqolada quyidagi personajlar bor:
Toxir – adolatli do`st
Ahmad – do`stini soddaligidan foydalanadigan shovvoz
Ahmadning chala xakkerlari – kichik epizoda chiqishadi
Blokcheyn bu — soxtalashtirib bo`lmaydigan kundalik
Tasavvur qiling, Toxir kundalik tutishga qaror qildi. Buning uchun u yon daftar sotib oldi va kunlik ishlarini quyidagi satrlar ko`rinishida yozib borardi:
1.Non sotib oldim
Uyga bordim
…
Axmadga 1000 so`m qarz berdim
Lola bilan ko`rishdim
Uxladim
U kundalikni adolatli ravishda tutishga harakat qilar edi. Agar o`tmishda bo`lib o`tgan hodisa yuzasidan nizo paydo bo`lib qolsa, u darhol kundalikni olib usha odamga yozuvni ko`rsatar edi.
Bir kuni Toxir, Axmadga bergan 1000 so`m qarzi borasida tortishib qolishdi. Axmad “men sendan pul olmaganman” derdi. Tortishuv vaqtida Toxirning kundaligi yonida emasligi pand beradi va u “Ertaga daftarni olib kelib, senga isbotlab beraman” deydi.
Axmad taqdirni sinamasdan, Toxirning uyiga o`g`rilikga tushadi. Uni kundaligini olib bir amallab 132 chi qatorni topadi va “Axmadga 1000 so`m qarz berdim” satrini “Ovqatlandim” ga o`zgartirib qo`yadi.
Ertasi kuni Toxir kundalikni olib qarasa, qarz borasida hech vaqo yo`q. Tushkunlikga tushgan Toxir Axmaddan uzur so`raydi.
Oradan bir yil o`tib, Axmadni vijdoni qiynaladi va insof chaqirib, Toxirga bo`lgan voqeani aytib beradi. Toxir do`stini kechiradi lekin, bu xato takrorlanmasligi uchun, soxtalashtirish qiyin bo`lgan kundalik tutish haqida o`ylab qoladi.
U “Linuks” operatsion tizimida ishlaydigan kompyuterida md5sum nomli dasturni topib oladi. Dastur- har qanday satrni 32 ta harfli tushunarsiz xesh ga aylantirib qo`yar edi. Masalan , dasturga “Salom” so`zini kiritsa, natija : “8b4609d7e974702ff1451220c7ededcf” bo`lar edi. Agar huddi usha so`zni faqat oxiriga bitta bo`sh satr(probel) qo`shsa umuman boshqa xesh: “69ab827825fdb876e709abd3d783dbb6” paydo bo`lar edi.
Ozgina bosh qotirgandan so`ng, Toxir kelajakdagi Axmadlarni “yozuvlar soxtalashtirish” ishini qiyinlashtirish uchun yangi yozuv yozish usulini o`ylab topadi:
Har bir yozuvdan keyin xesh qo`yish. Xeshni esa bunday ko`rinishda olar edi:
Oldingi satr xeshi + Yangi satr matni birlashmasini md5summ dasturidan xeshlash orqali chiqgan natija. Shu orqali kundalikda quyidagi ko`rinishda satrlar yozila boshladi:
0000(boshlang`ich xesh, oson bo`lishi uchun 4 ta simvol ishlatamiz)
1.Non sotib oldim4178 (0000 dan va “Non sotib oldim” birlashmasidan olingan xesh)
Uyga bordim4234(4178 dan va “Uyga bordim” birlashmasidan olingan xesh)
…4492
Axmadga 1000 so`m qarz berdim1010
Lola bilan ko`rishdim8204( 1010 dan va “Axmadga Lola bilan ko`rishdim” birlashmasidan olingan xesh)
Ana endi, qandaydur Axmad 132 chi satrni o`zgartirmoqchi bo`lsa, shu satr xeshi ham o`zgarib qoladi(1010 o`rniga boshqa son bo`lib qoladi). Bu esa o`z navbatida 133.Lola bilan ko`rishdim satrining xeshiga ham ta`sir qiladi(u ham 8204 o`rniga boshqa songa aylanib qoladi) va shu yo`sinda kundalik oxiridagi satrgacha xeshlar o`zgarib ketadi. Axmad birgina satrni o`zgartirish uchun butun boshli kundalikni soxtalashtirishiga to`g`ri kelib qoladi. Bu juda ko`p vaqt talab qilgani bu ishni qilishga urinmaydi ham.
Vaqtlar o`tib, Toxir bank ochadi. U doimgidek , kundalikga “qarz bedim” va “qarz oldim” so`zlarini xeshlar bilan boyitib yozar edi. Bank kattalashadi va u yangi Axmadga million so`m qarz beradi. Ertasi kuni tunda, Axmad va uni 500.000 so`mga yonlagan 10 ta chalaxakeri Toxirni uyiga o`g`rilikga tushib, kundalikdagi “143313. Yangi Axmadga 1000000 qarz berdim” satrini “143313. Yangi Axmadga 10 qarz berdim” ga almashtirib qo`yishadi va hammasi birlashib, kundalikni oxirgi satrigacha xeshlarni qayta hisoblab chiqishadi. Avvaliga iloi yo`qdek tuyilgan ish 11 kishi bilan oson bitadi.
Toxir mo`jizaviy tarzda satr almashganini bilib qoladi va kundalikni ximoya tizmimini yanada takomillashtirishga kirishadi, Endi u, “Har bir yozuv so`ngida qovuslar ichida biron “nons” son yozib qo`yaman. Nons son shunda bo`lsinki, har bir xeshning oxiri 2 ta nol bilan tugasin” deydi. Buni yagona yo`li, kerakli xesh paydo bo`lmaguncha ketma-ket barcha sonlarni “nons” son sifatida sinab chiqish edi.
0000(boshlang`ich xesh, oson bo`lishi uchun 4 ta simvol ishlatamiz)
1.Non sotib oldim(22)4100 (0000 dan va “Non sotib oldim(22)” birlashmasidan olingan xesh)
(xesh ning so`nggi ikki raqami 00 bo`lib tugashi uchun 22 soni maxsus tanlab olingan deb tasavvur qilamiz)
Uyga bordim(14)3100(4100 dan va “Uyga bordim(14)” birlashmasidan olingan xesh)
…4492
Axmadga 1000 so`m qarz berdim(67)9900
Lola bilan ko`rishdim(81)8200( 9900 dan va “Lola bilan ko`rishdim(81)” birlashmasidan olingan xesh)
Endi, yangi satr yozish uchun Toxirga 50 ga yaqin sonni “nons” sifatida tekshirib, xeshga to`g`ri keladigan variantni yozib chiqishi kerak edi. Bu juda qiyin va vaqt talab qiladigan ish, lekin xavfsiz. Endi kimdir kundalikdagi yozuvni soxtalashtiraman desa, undan keyingi satrni soxtalashtirish 50 barobar qiyin bo`ladi. Bu Axmad va uni chalaxakerlarini ham qo`lidan kelmaydi.
Vaqtlar o`tib, Toxir o`ziga yangi sherik oladi va ular baravar kundalik tutishadi. Har bir yangi yozuv uchun ular bir vaqtni o`zida “nons” son izlashar edi. Kim birinchi topsa, usha odam yozuv yozadi. 2 kishilashib “nons” izlash oson bo`lgani sabab, Toxir masalani yanada murakkablashtiradi. Endi xeshlar 2 ta nolda emas 3 ta nolda tugashini talab qiladi.
Ana shu Toxirning mukammal kundaligi – haqiqiy blokcheyn namunasi. Toxir va uni sherigi esa – bir biri bilan bog`langan ko`plab kompyuterlardir. Xeshlarni esa, shunday murakkablashtirish kerakki, ularni aniqlash millionlab komyuterlarga ham qiyin bo`lsin.
Blokcheyn(bloklar zanjiri) – bu ma`lum bir yozuvlardan tashkil topgan kundalik. Ma`lumotlar omborining bir turi. Toxirning har bir yozuvi – bu kichik blokchalar. Har bir blok o`zidan oldingi blok haqida ma`lumotni saqlagani sabab, ular zanjir dek bir biriga bog`lanib Bloklar zanjiri(Blockchain) ni hosil qiladi. Shu sabab, uni soxtalashtirish va taxrirlashni iloji yo`q.
Bu ma`lumotlarning aniq egasi yo`q – ular turli komyuterlarda saqlanadi. Mana shunaqa, butun dunyo ma`lumotlari bir vaqtni o`zida hammaga va hech kimga tegishli emas.
Blokcheyn – blokchalarga bo`lingan ma`lumotlar ba`zasi desa ham bo`ladi.
Bunday ajoyib kundalikga ega bo`la turib, turli xil tizimlarni barpo etsa bo`ladi.
Masalan, bitkoin. Bitkoin — bu ham bir kundalik. Faqat undagi satrlar “Qanchadur pulni X hamyondan Y karmonga o`tkazish” ko`rinishida bo`ladi. Kundalikni soxtalashtirib bo`lmaydi va unda barcha o`tkazmalar tarixi saqlanib qolgani sabab, tizimdagi har bir hamyonda qanchadan mablag` borligini hisoblasa bo`ladi.
Bitkoin shunday qurilganki, tizimda pul tushunchasi bo`lishi uchun, undagi har bir satr “Z tangalar ishlab chiqarish va menga o`tkazish” so`zlari bilan tugaydi. Satrdagi “Menga” so`zi — bu xeshni kerakli nollar bilan ta`minlaydigan “nons” sonni birinchi aniqlagan foydalanuvchi hisoblanadi.
Blokcheyn nima uchun kerak ?
Blokcheyn o`zi nega kerak degan savol sizda paydo bo`lishi aniq.
Oddiy ma`lumotlar omborida barcha ma`lumotlar bitta serverda saqlanadi. Ya`ni asosiy serverda. Asosiy serverni buzilsa yoki undagi ma`lumotlar o`chib ketsa tamom. Yoki, biron xaker ma`lumotlar omborini buzib, undagi ma`lumotni o`zgartirib qo`ysachi ?
Blokcheyn da esa – ma`lumotlar kichik blokchalarda shifrlangan xolda saqlanadi. Eng qizig`i uning asosiy serveri, markazi yo`q. Ma`lumotlar tarmoqdagi barcha kompyuterlarda saqlanadi. Har bir blok o`zidan oldingi blok haqidagi ma`lumotni shifrlangan ko`rinishda saqlagani sabab, uni buzish yoki taxrirlashning iloji yo`q. Bor ana, bitta blokni o`zgartirarsiz, lekin o`zgarish keyingi blokga ta`sir qilishi uchun keyingi blok xeshini ham buzish kerak, uni o`zgartirsangiz undan keyingisi va cheksizlikga qadar o`zgartirasiz. Bunga yillab balki asrlab vaqt ketadi.
Manbaa: Blokcheyn sodda tilda