Mundarija:

Blockchain aslida qanday ishlaydi
Blockchain aslida qanday ishlaydi

Video: Blockchain aslida qanday ishlaydi

Video: Blockchain aslida qanday ishlaydi
Video: Eronda hukumatga qarshi namoyishlar kuchaydi 2024, May
Anonim

Ushbu post barchaga blokcheyn nima uchun ixtiro qilingani, kriptovalyutalar qanday ishlashi va nega u mantiq nuqtai nazaridan so'nggi yillardagi eng chiroyli tizim ekanligini aytib berish uchun mo'ljallangan.

Men darhol sizni ogohlantiramanki, kesma ostida katta matn varag'i bor va agar siz kriptovalyutalar mavzusidagi savolni bir marta va umuman "yopishga" tayyor bo'lmasangiz, hoziroq sevimlilaringizga yozuv qo'shing va vaqtni zaxiralang)

Blokcheyn - bu yangi, g'alati, tushunarsiz texnologiya, ammo bu sizning hikoyalaringizdan farqli o'laroq, dunyoni o'zgartirayotganga o'xshaydi. Ko'rinishidan, u uzoq vaqt biz bilan birga.

Bu post kompyuterdan juda uzoqda bo'lgan va ularni faqat yuzaki biladigan odamlarga aytilayotgandek yozilgan, masalan, u sizning ota-onangizga tayyorgarlik ko'rayotganini tasavvur qiling. Men buni hatto gumanitar fanlar bo'yicha hamkasblarimga topshirishim mumkin va ular tushunishlariga aminman.

Va Oleg bu qiyin masalada barchamizga yordam beradi. Tanishing!

Agar senga Oleg yoqmasa, men uni haydab yuboraman.

Asoslar: nima uchun bizga blokcheyn kerak?

Blokcheyn haqida Satoshi Nakamotoning "Bitcoin: peer-to-peer elektron pul tizimi" maqolasida tasvirlangan. U erda atigi sakkiz sahifada muallif Blockchain algoritmiga asoslangan Bitcoin kriptovalyutasi asoslarini tasvirlab berdi.

O'zgartirib bo'lmaydigan ro'yxat

Blokcheyn - bloklar zanjiri yoki boshqacha qilib aytganda, bog'langan ro'yxat. Bunday ro'yxatda har bir keyingi yozuv avvalgisiga tegishli va shunga o'xshash zanjir bo'ylab birinchi bo'lib davom etadi. Poyezdning vagonlari singari, har biri keyingisini sudrab boradi. Ro'yxatlarga kelsak, Nikita Lixachevning TJ-da yaxshi maqolasi bor, unda bu butunlay yangi boshlanuvchilar uchun tushuntirilgan. Analogiyalar qisman u yerdan olingan.

Keling, bir misol keltiraylik

Olegning do'stlari undan doimiy ravishda qarz olishadi. Oleg mehribon, lekin juda unutuvchan. Oradan bir hafta o‘tgach, u qarzni kim qaytarmaganini endi eslay olmaydi, lekin bu haqda hammadan so‘rashga uyaladi. Shu bois, bir kuni u uyidagi doskada qarz olgan do'stlari ro'yxatini tuzib, bunga chek qo'yishga qaror qildi.

Endi Oleg har doim taxtaga borib, Maks hamma narsani qaytarib berganiga ishonch hosil qilishi mumkin, ammo Vanya allaqachon 700 rubl bermaydi. Bir kuni Oleg Vanyani uyiga ichishga taklif qiladi. Oleg hojatxonaga ketayotganda, Vanya "Men Vanya uchun 200 rubl qarz oldim" yozuvini o'chiradi va uning o'rniga "Vanya 500 rubl berdi" deb yozadi.

Uning ro'yxatiga ishongan Oleg qarzni unutib, 700 rublni yo'qotadi. U qandaydir tarzda u bilan kurashishga qaror qiladi. O'tgan yili Oleg dasturlash kursida qatnashdi, u erda unga xeshing haqida aytib berishdi. U har qanday satrni bir ma’noli belgilar to‘plamiga – xeshga aylantirish mumkinligini eslaydi va satrdagi istalgan belgini o‘zgartirish uni butunlay o‘zgartiradi.

Oxirida nuqta qo'shish yakuniy xeshni tanib bo'lmas darajada o'zgartirdi - siz undan foydalanishingiz mumkin.

Oleg taniqli SHA-256 xeshini oladi va u bilan har bir yozuvni xeshlaydi va natijani oxirida qo'shadi. Endi Oleg hech kim o'z yozuvlarini o'zgartirmaganligiga ishonch hosil qilishi mumkin, ularni yana xeshlash va yashil bilan solishtirish.

Ammo EVIL IVAN SHA-256 dan qanday foydalanishni ham biladi va yozuvni xesh bilan birga osongina o'zgartirishi mumkin. Ayniqsa, agar xesh doskada uning yonida yozilgan bo'lsa.

Shuning uchun, xavfsizlikni oshirish uchun Oleg nafaqat yozuvning o'zini, balki uni oldingi yozuvdagi xesh bilan birga qo'shishga qaror qiladi. Endi keyingi barcha yozuvlar avvalgilariga bog'liq. Agar siz kamida bitta qatorni o'zgartirsangiz, quyida keltirilgan ro'yxatdagi barcha boshqalarining xeshlarini qayta hisoblashingiz kerak bo'ladi.

Ammo bir kuni Ivan tunda yashirincha keladi, kerakli yozuvni o'zgartiradi va butun ro'yxat uchun xeshlarni oxirigacha yangilaydi. Unga bir necha soat ketadi, lekin Oleg hali ham qattiq uxlab yotibdi va eshitmaydi. Ertalab Oleg mutlaqo to'g'ri ro'yxatni topadi - barcha xeshlar mos keladi. Ammo Ivan tunni uyqusiz o'tkazgan bo'lsa ham, baribir uni aldadi. Tungi Ivandan yana qanday qilib o'zingizni himoya qilishingiz mumkin?

Oleg qandaydir tarzda hayotini murakkablashtirishga qaror qiladi. Endi ro'yxatga yangi yozuv qo'shish uchun Oleg u bilan bog'liq murakkab masalani, masalan, matematik tenglamani hal qiladi. U javobni yakuniy xeshga qo'shadi.

Oleg matematikani yaxshi biladi, lekin yozuv qo'shish uchun hatto o'n daqiqa kerak bo'ladi. Shunga qaramay, sarflangan vaqt bunga arziydi, chunki agar Ivan yana biror narsani o'zgartirmoqchi bo'lsa, u har bir qator uchun tenglamalarni qayta echishi kerak bo'ladi va ularning o'nlablari bo'lishi mumkin. Bu juda ko'p vaqtni oladi, chunki tenglamalar har safar o'ziga xos va ma'lum bir yozuv bilan bog'liq.

Ammo ro'yxatni tekshirish juda oddiy: avval siz avvalgidek xeshlarni solishtirishingiz kerak, so'ngra oddiy almashtirish orqali tenglamalarning echimlarini tekshirishingiz kerak. Agar hamma narsa bir-biriga yaqinlashsa, ro'yxat o'zgarmaydi.

Aslida, tenglamalar bilan hamma narsa unchalik yaxshi emas: kompyuterlar ularni juda yaxshi hal qiladi va juda ko'p noyob tenglamalarni qaerda saqlash kerak. Shu sababli, blokcheyn mualliflari yanada chiroyli muammoni o'ylab topishdi: butun rekordning yakuniy xeshi 10 noldan boshlanishi uchun shunday raqamni (nonance) topishingiz kerak. Bunday noaniqlikni topish qiyin, ammo natijani har doim faqat ko'z bilan tekshirish mumkin.

Endi Oleg barcha xeshlarni tekshiradi va qo'shimcha ravishda ularning har biri belgilangan nol sonidan boshlanishiga ishonch hosil qiladi. Ayyor Ivan, hatto kuchli noutbuk bilan qurollangan bo'lsa ham, shartni qondirish uchun bir kechada barcha xeshlarni qayta hisoblashga vaqt topolmaydi - vaqt etarli bo'lmaydi.

Bunday ro'yxat, aslida, tizzada joylashgan uy blokcheynidir. Uning xavfsizligini matematiklar kafolatlaydi, ular bu xeshlarni qo'pol kuchdan tashqari qandaydir tezroq hisoblash mumkin emasligini isbotladilar. Har bir rekord uchun xeshlarning bunday ro'yxati konchilikdir, bu haqda bugungi kunda juda ko'p va batafsil bo'ladi.

Ishonchni markazlashtirish

Do'stlarimizga "kim kimdan qarz olgan" soxta ro'yxatini yuritish g'oyasi yoqdi. Ular, shuningdek, barda kim kimga pul to'laganini va hali qancha qarzdorligini eslashni xohlamaydilar - hamma narsa devorga yozilgan. Siz fikrni muhokama qildingiz va endi hamma uchun yagona ro'yxat kerak, deb qaror qildingiz.

Ammo bunday muhim buxgalteriya hisobini kimga topshirish kerak? Axir pul haqida gap ketganda ishonch birinchi o'ringa chiqadi. Biz noma'lumlarga pulimizni saqlashiga ishonmaymiz. Buning uchun ota-bobolarimiz vaqt o'tishi bilan ishonchli bo'la boshlagan banklarni ixtiro qildilar, chunki ular Markaziy bankning litsenziyasi, qonunlari va sug'urtasi bilan ta'minlangan.

Do'stlar doirasida hamma bir-biriga ishonadi va siz ushbu rol uchun eng mas'uliyatli narsani tanlashingiz mumkin. Ammo savol begonalar haqida bo'lsa-chi? Bitkoin bilan bo'lgani kabi butun bir shahar, mamlakat yoki butun dunyo? Umuman olganda, u erda hech kim hech kimga ishonmaydi.

Markazsizlashtirish: hech kim hech kimga ishonmaydi

Shuning uchun ular muqobil yondashuvni o'ylab topishdi: ro'yxatning nusxasini hamma uchun saqlang. Shunday qilib, tajovuzkor nafaqat bitta ro'yxatni qayta yozishi, balki har bir uyga yashirincha kirib, u erdagi ro'yxatlarni qayta yozishi kerak bo'ladi. Va keyin ma'lum bo'lishicha, kimdir uyda hech kim bilmagan bir nechta ro'yxatlarni saqlagan. Bu markazsizlashtirish.

Ushbu yondashuvning salbiy tomoni shundaki, yangi yozuvlarni kiritish uchun siz barcha boshqa ishtirokchilarga qo'ng'iroq qilishingiz va ularning har biriga so'nggi o'zgarishlar haqida xabar berishingiz kerak bo'ladi. Ammo agar bu ishtirokchilar ruhsiz mashinalar bo'lsa, bu hech qanday muammo bo'lib qolmaydi.

Bunday tizimda yagona ishonch nuqtasi yo'q va shuning uchun poraxo'rlik va aldash ehtimoli mavjud. Tizimning barcha ishtirokchilari yagona qoidaga muvofiq harakat qilishadi: hech kim hech kimga ishonmaydi. Har bir inson faqat o'z ixtiyorida bo'lgan ma'lumotlarga ishonadi. Bu har qanday markazlashtirilmagan tarmoqning asosiy qonunidir.

Bitimlar

Do'konda qozon sotib olayotganda, siz kartangizdan pin kodini kiritasiz, bu do'konga sizning hisobingizda 35 rubl bor-yo'qligini so'rashiga imkon beradi. Boshqacha qilib aytganda, siz o'zingizning pin kodingiz bilan 35 rubllik tranzaktsiyani imzolaysiz, bank buni tasdiqlaydi yoki rad etadi.

"Men Vanya 500 rubl qarz oldim" turidagi yozuvlarimiz ham bitimlardir. Lekin bizda tranzaktsiyalar muallifiga ruxsat beruvchi bank yo'q. Ivanning "Maks Olegga 100 500 rubl qarzi bor" yozuvini jimgina qo'shmaganligini qanday tekshirish mumkin?

Blockchain buning uchun ochiq va shaxsiy kalitlar mexanizmidan foydalanadi; IT mutaxassislari uzoq vaqtdan buyon bir xil SSHda avtorizatsiya qilish uchun ulardan foydalanishadi. Men buni "Shifrlashga kirish" bo'limidagi "Xavfsizlik, shifrlash, kiberpunk" postida barmoqlarim bilan tushuntirdim.

Ushbu murakkab, ammo chiroyli matematikaning qanday ishlashi haqida qisqacha: siz kompyuteringizda bir juft uzun tub sonlarni hosil qilasiz - umumiy va shaxsiy kalit. Maxfiy kalit o'ta maxfiy hisoblanadi, chunki u ommaviy ravishda shifrlangan narsalarni parolini hal qila oladi.

Ammo buning aksi ham ishlaydi. Agar siz ochiq kalitni barcha do'stlaringiz bilan baham ko'rsangiz, ular har qanday xabarni faqat siz o'qiy olishingiz uchun shifrlashi mumkin, chunki shaxsiy kalit sizda.

Ammo bundan tashqari, ochiq kalit foydali ta'sirga ega - uning yordamida siz ma'lumotlarning o'zini shifrlamasdan, shaxsiy kalitingiz bilan shifrlanganligini tekshirishingiz mumkin. Bu xususiyatlarning barchasi "Shifrlar kitobi" da yaxshi tasvirlangan.

Biz hech kimga ishonib bo'lmaydigan markazlashtirilmagan internetdamiz. Tranzaktsiya shaxsiy kalit bilan imzolanadi va ochiq kalit bilan birga maxsus saqlashga - tasdiqlanmagan tranzaktsiyalar puliga yuboriladi. Shunday qilib, tarmoqning har qanday a'zosi buni sizning mablag'ingiz bilan to'lashni xohlamasligini va uni tashabbuskor qilganingizni tekshirishi mumkin.

Bu tarmoqning ochiqligi va xavfsizligini ta'minlaydi. Agar ilgari banklar buning uchun javobgar bo'lgan bo'lsa, blokcheynda matematiklar buning uchun javobgardir.

Shaxsiy kalitlarni qanday chiqarish va saqlashni bilishni istamaydigan oddiy foydalanuvchilar uchun onlayn hamyon xizmatlari yordam beradi. Uzoq ochiq kalitlarni nusxalash uchun u erda qulay QR kodlari ishlab chiqariladi. Masalan, Blockchain Wallet, chunki u qulay mobil ilovaga ega va ikkita asosiy kriptovalyutani qo'llab-quvvatlaydi - BTC va ETH.

"Muvozanat" tushunchasining yo'qligi

Bizning kengashimiz singari, blokcheyn ham faqat tranzaktsiyalar tarixidan iborat. U har bir hamyonning balansini saqlamaydi, aks holda biz qo'shimcha himoya usullarini ixtiro qilishimiz kerak edi.

Faqat shaxsiy kalit hamyonning egaligini tasdiqlaydi. Ammo tarmoqning boshqa a'zolari menda sotib olish uchun etarli pul borligiga qanday ishonch hosil qilishlari mumkin?

Bizda muvozanat yo'qligi sababli, buni isbotlashingiz kerak. Shuning uchun, blokcheyn tranzaksiyasi nafaqat sizning imzoingiz va qancha pul sarflamoqchisiz, balki kerakli miqdordagi pulni olgan oldingi operatsiyalarga havolalarni ham o'z ichiga oladi.

Ya'ni, agar siz 400 rubl sarflamoqchi bo'lsangiz, siz o'zingizning daromad va xarajatlaringiz tarixini ko'rib chiqasiz va sizga 100 + 250 + 50 rubl berilgan daromadlarni tranzaktsiyangizga qo'shasiz va shu bilan sizda ushbu 400 rubl borligini isbotlaysiz.

Tarmoqning har bir a'zosi yana ikki marta daromad qo'shmaganligingizni tekshirishga ishonch hosil qiladi. Maks o'tgan hafta bergan 300 rublni siz hali sarflamagansiz.

Tranzaksiyaga biriktirilgan bunday daromadlar blokcheyndagi kirishlar, barcha pul oluvchilar esa chiqishlar deb ataladi. Barcha kirishlar yig'indisi kamdan-kam hollarda siz bir vaqtning o'zida o'tkazmoqchi bo'lganingiz bilan bir xil bo'ladi - shuning uchun chiqishlardan biri ko'pincha o'zingiz bo'ladi. Boshqacha qilib aytganda, blokcheyndagi tranzaksiya "Menga 3 va 2 BTC berildi, men ulardan 4 BTC o'tkazmoqchiman va qolgan 1 BTCni qaytarib bermoqchiman" kabi ko'rinadi.

Blokcheynning go‘zalligi shundaki, ma’lumotlar bitta hamyondan kelishi shart emas. Axir, faqat kalit tekshiriladi. Agar siz barcha ma'lumotlarning shaxsiy kalitini bilsangiz, ularni tranzaksiyangizga osongina biriktirishingiz va shu pul bilan to'lashingiz mumkin. Go'yo siz supermarketda pin kodini biladigan bir nechta kartalar bilan to'layotgandeksiz.

Biroq, shaxsiy kalitingizni yo'qotib qo'ysangiz, diskingiz o'lib qolsa yoki noutbukingiz o'g'irlansa, bitkoinlaringiz abadiy yo'qoladi. Hech kim ularni yangi tranzaktsiyalar uchun kirish sifatida ishlata olmaydi.

Bu miqdor butun dunyo uchun abadiy yetib bo'lmaydigan bo'lib qoladi - go'yo siz bir dasta banknotlarni yoqib yuborgandek. Pasportingiz nusxasi bilan ariza yozishingiz mumkin bo'lgan yagona bank yo'q va u uni chop etadi. Buning uchun yangi bitkoinlarning “havodan tashqari” qo‘shimcha chiqarilishi talab etiladi.

Ikki marta sarflash muammosi

Yuqorida men tranzaktsiyalar maxsus "tasdiqlanmagan operatsiyalar havzasi" ga qo'shilganligini aytdim. Agar bizda allaqachon imzolangan bitimlar mavjud bo'lsa, nima uchun bizga qandaydir oraliq shaxs kerak? Nega ularni to'g'ridan-to'g'ri blokcheynga yozmaslik kerak?

Chunki A nuqtadan B nuqtaga signallar doimo kechikish bilan ketadi. Ikki tranzaktsiya butunlay boshqacha yo'l bilan borishi mumkin. Avval boshlangan tranzaksiya esa keyinroq qabul qiluvchiga etib borishi mumkin, chunki u uzoqroq yo‘lni bosib o‘tgan.

Bu ikki marta sarflanishiga olib keladi, bir xil pul bir vaqtning o'zida ikkita adresatga yuborilganda, ular buni hatto taxmin qilishmaydi. Bu veksellarni qo'ldan qo'lga topshirish emas.

Hech kimga ishonib bo'lmaydigan markazlashtirilmagan tarmoq uchun bu muammo ayniqsa keskin. Bitta tranzaktsiya boshqasidan oldin bo'lganiga qanday ishonch hosil qilasiz? Yuboruvchidan unga jo'natish vaqtini tikishini so'rang, to'g'rimi? Ammo esda tuting - siz hech kimga, hatto jo'natuvchiga ham ishonolmaysiz.

Barcha kompyuterlardagi vaqt har xil bo'ladi va ularni sinxronlashtirishning kafolatlangan usuli yo'q. Blockchain nusxasi tarmoqdagi har bir kompyuterda saqlanadi va har bir ishtirokchi faqat unga ishonadi.

Bitta tranzaktsiya boshqasidan oldinroq bo'lganiga qanday ishonch hosil qilish mumkin?

Javob oddiy: bu mumkin emas. Markazlashtirilmagan tarmoqda tranzaksiya vaqtini tasdiqlashning hech qanday usuli yo'q. Va bu muammoni hal qilish - bu Satoshi ixtiro qilgan uchinchi muhim blokcheyn g'oyasi va g'alati darajada uning nomi bilan yozilgan bloklar.

Bloklar blokcheynning asosidir

Tarmoqdagi har bir ishlaydigan kompyuter umumiy puldan o'ziga yoqqan har qanday tranzaktsiyalarni tanlaydi. Odatda, u eng yuqori komissiya olishi mumkin. Shunday qilib, u o'zi uchun tranzaktsiyalarni ularning umumiy hajmi kelishilgan chegaraga yetguncha yig'adi. Bitcoin-da bu blok hajmi chegarasi 1 MB (SegWit2x-dan keyin u 2 MB bo'ladi), Bitcoin Cash-da esa - 8 MB.

Butun blokcheyn mohiyatan bunday bloklarning ro'yxati bo'lib, ularning har biri avvalgisiga tegishli. U butun tarixdagi har qanday tranzaksiyani kuzatish uchun ishlatilishi mumkin, blokcheynni hatto birinchi rekordgacha ochib beradi.

Aynan shu ro'yxat hozirda yuzlab gigabaytlarni tashkil etadi va tarmoqda ishtirok etishni istagan barcha kompyuterlarga to'liq yuklab olinishi kerak (lekin bu shunchaki tranzaktsiyalar yaratish va pul o'tkazish uchun kerak emas). U xuddi shu tarzda tarmoqdagi barcha eng yaqin kompyuterlardan yuklab olinadi, go'yo siz torrentlardan serial yuklab olayotgandek, unda har 10 daqiqada faqat yangi yangi epizodlar chiqariladi.

Hovuzdan tranzaktsiyalarni o'zi uchun yozgandan so'ng, kompyuter biz uyda doskadagi postning boshida qilganimizdek, ulardan bir xil tuzatib bo'lmaydigan ro'yxatni tuzishni boshlaydi.

Faqat u uni daraxt shaklida qiladi - yozuvlarni juft-juft qilib xeshlaydi, so'ngra natija yana juft bo'ladi va hokazo, faqat bitta xesh qolmaguncha - blokga qo'shilgan daraxtning ildizi. Nima uchun aynan daraxt bilan - men javob topa olmadim, lekin menimcha, bu shunchaki tezroq. Vikida ko'proq o'qing: Merkle daraxti.

Joriy blokcheyn allaqachon yuklab olinganligi sababli, bizning kompyuterimiz undagi oxirgi blok nima ekanligini aniq biladi. U shunchaki blok sarlavhasida unga havola qo'shishi, barchasini xeshlashi va tarmoqdagi barcha boshqa kompyuterlarga "qarang, men yangi blok yaratdim, keling, uni blokcheynimizga qo'shamiz" deb aytishi kerak.

Qolganlari blokning barcha qoidalarga muvofiq qurilganligini va biz u erda keraksiz operatsiyalarni qo'shmaganimizni tekshirib ko'rishlari kerak va keyin ularni zanjirlarimizga qo'shishlari kerak. Endi undagi barcha tranzaksiyalar tasdiqlandi, blokcheyn bir blokga oshirildi va hammasi yaxshi ketyapti, shunday emasmi?

Lekin yoq. Minglab kompyuterlar bir vaqtning o'zida tarmoqda ishlaydi va ular yangi blokni yig'ish bilanoq, ular deyarli bir vaqtning o'zida hammaga birinchi bo'lib o'z bloklari yaratilgani haqida xabar berishga shoshilishadi. Va oldingi bo'limdan biz allaqachon bilamizki, markazlashtirilmagan tarmoqda kim birinchi bo'lganligini isbotlash mumkin emas.

Maktabda bo'lgani kabi, hamma qiyin testni yechayotganda, hatto a'lochi o'quvchilar ham bir vaqtning o'zida javoblarni olishlari kamdan-kam uchraydi.

Ammo agar odam uchun may oyidagi ta'tilga chiqishi uchun ta'tilni rejalashtirish qiyin ish bo'lsa va dengizga chiptalar arzon bo'lsa, kompyuter uchun bunday raqamni (bir marta emas) oxiriga qo'shish kerak. bloklang, natijada butun blok uchun SHA-256 xeshi boshlanadi, aytaylik 10 nol. Bu Bitcoin tarmog'iga blok qo'shish uchun hal qilinishi kerak bo'lgan muammo. Boshqa tarmoqlar uchun vazifalar boshqacha bo'lishi mumkin.

Shunday qilib, biz so'nggi yillarda hamma juda ko'p ovora bo'lgan tog'-kon kontseptsiyasiga keldik.

Konchilik

Bitcoin qazib olish qandaydir muqaddas marosim emas. Tog'-kon - bu Internetning tubida biron bir joyda yangi bitkoinlarni topish emas. Mining - bu butun dunyo bo'ylab minglab kompyuterlarning yerto'lalarda g'uvillab turishi, soniyada millionlab raqamlardan o'tib, 10 noldan boshlanadigan xeshni topishga harakat qilishdir. Buning uchun ular hatto onlayn bo'lishlari shart emas.

Yuzlab parallel yadroli video kartalar bu muammoni har qanday protsessorga qaraganda tezroq hal qiladi.

Nega aynan 10 ta nol? Va xuddi shunga o'xshash, bu hech qanday ma'noga ega emas. Shunday qilib, Satoshi o'ylab topdi. Chunki bu har doim yechim topadigan muammolardan biri, ammo uni uzoq vaqt monoton variantlar ro'yxatidan tezroq topib bo'lmaydi.

Tog'-kon ishlarining murakkabligi to'g'ridan-to'g'ri tarmoq hajmiga, ya'ni uning umumiy quvvatiga bog'liq. Agar siz o'zingizning blokcheyningizni yaratsangiz va uni o'zingiz uyda ikkita noutbukda boshqarsangiz, vazifa oddiyroq bo'lishi kerak. Masalan, xesh faqat bitta noldan boshlanishi yoki juft raqamlar yig'indisi toq raqamlar yig'indisiga teng bo'lishi uchun.

Bitta kompyuter 10 noldan boshlanadigan xeshni topish uchun bir necha o'n yillar kerak bo'ladi. Ammo minglab kompyuterlarni bitta tarmoqqa birlashtirib, parallel ravishda qidirsangiz, ehtimollik nazariyasiga ko'ra, bu muammo o'rtacha 10 daqiqada hal qilinadi. Bu bitcoin blokcheynida yangi blok paydo bo'ladigan vaqt.

Har 8-12 daqiqada er yuzida kimdir bunday xeshni topadi va o'z kashfiyoti haqida hammaga e'lon qilish sharafiga ega bo'ladi va shu bilan kim birinchi bo'lganligi muammosidan qochadi.

Javobni topish uchun kompyuter (2017 yil holatiga ko'ra) 12,5 BTC oladi - bu bitcoin tizimi tomonidan "havodan tashqarida" ishlab chiqariladigan va har to'rt yilda bir marta kamayib boruvchi mukofot miqdori.

Texnik jihatdan bu shuni anglatadiki, har bir konchi har doim o'z blokiga boshqa tranzaktsiyani qo'shadi - "12,5 BTC yarating va ularni mening hamyonimga yuboring". “Dunyoda bitkoinlar soni 21 million bilan cheklangan, endi ular 16 millionni ishga olishgan” degan gapni eshitganingizda – bular tarmoq tomonidan yaratilgan mukofotlardir.

Maxsus saytlardan birida haqiqiy jonli Bitcoin blokini ko'ring. Bundan tashqari, kirish va chiqishlar bilan tranzaktsiyalar va boshida 18 ta nol va yuqorida tavsiflangan barcha xeshlar mavjud.

Blockchain-ga paydo bo'ladigan tranzaktsiyalarni qo'shadigan konchilar. Shunday qilib, agar kimdir sizga "**** uchun blokcheyn yasashini" aytsa, u javob berishi kerak bo'lgan birinchi savol - bu kim va nima uchun qazib oladi. Ko'pincha, to'g'ri javob "hamma bo'ladi, chunki biz konchilik uchun tangalarimizni beramiz, ular o'sadi va konchilar uchun foydalidir". Ammo bu barcha loyihalarga taalluqli emas.

Misol uchun, ertaga ba'zi Sog'liqni saqlash vazirligi shifokorlar uchun o'zining yopiq blokcheynini yaratadi (va ular buni xohlashadi), kim uni qazib oladi? Dam olish kunlari terapevtlari?

Ammo keyinchalik, mukofotlar yo'qolganda yoki kam bo'lib qolsa, konchilarga qanday foyda bo'ladi?

Yaratganning fikriga ko'ra, o'sha vaqtga kelib odamlar bitkoin haqiqatiga ishonishlari kerak bo'ladi va konchilik har bir tranzaksiyaga kiritilgan to'lovlar miqdori bilan to'lashni boshlaydi. Bu erda hamma narsa ketadi: 2012 yilda barcha komissiyalar nolga teng edi, konchilar faqat bloklardan olingan mukofotlar uchun qazib olishdi. Bugun, nol komissiyasi bilan bitim bir necha soat davomida hovuzda osilib mumkin, chunki raqobat bor va odamlar tezlik uchun to'lashga tayyor.

Ya'ni, konchilikning mohiyati ma'nosiz muammolarni hal qilishdadir. Bu kuchning barchasini foydaliroq narsaga - masalan, saraton kasalligiga davo izlash uchun ishlatib bo'lmaydimi?

Konchilikning mohiyati har qanday hisoblash muammosini hal qilishdir. Ushbu vazifa tarmoq ishtirokchilari javob topishning barqaror ehtimoliga ega bo'lishi uchun etarlicha sodda bo'lishi kerak - aks holda tranzaktsiyalar abadiy tasdiqlanadi. Tasavvur qiling-a, do'kondagi kassada siz bank operatsiyangizni tasdiqlash uchun har safar yarim soat kutishingiz kerak. Hech kim bunday bankdan foydalanmaydi.

Ammo vazifa bir vaqtning o'zida qiyin bo'lishi kerak, shunda barcha netizenlar birdaniga javob topa olmaydi. Chunki bu holda ular tarmoqqa bir xil tranzaksiyalarga ega bo'lgan ko'plab bloklarni e'lon qiladilar va men aytib o'tgan "ikki marta chiqindilar" ehtimoli paydo bo'ladi. Yoki undan ham yomoni - bitta blokcheynni bir nechta filiallarga bo'lish, unda hech kim qaysi tranzaksiya tasdiqlangan va qaysi biri tasdiqlanmaganligini aniqlay olmaydi.

Agar 12,5 BTC mukofoti har 10 daqiqada bir marta va faqat bitta blokni topgan odamga topshirilsa, men bir kun kelib 40 000 dollarni tashlab qo'yaman degan umidda bir necha yil video kartalarni isrof qilishim kerak. joriy valyuta kursi)?

Bitkoin uchun aynan shunday holat. Lekin har doim ham shunday emas edi. Ilgari tarmoq kichikroq edi, murakkabligi pastroq edi, ya'ni yangi blok uchun xeshni bir qo'l bilan topish ehtimoli yuqoriroq. Ammo keyin bitkoin unchalik qimmat emas edi.

Endi hech kim yakka o'zi bitcoins qazmaydi. Endi ishtirokchilar maxsus guruhlarga - kon hovuzlariga birlashtirilgan, bu erda hamma birgalikda to'g'ri xeshni topishga harakat qilmoqda.

Agar guruhning hech bo'lmaganda bittasi topsa, butun mukofot umumiy ishga qo'shgan hissasiga qarab ishtirokchilar o'rtasida taqsimlanadi. Ma'lum bo'lishicha, siz qazib olasiz va har hafta umumiy ulushdan bir tiyin olasiz.

Ammo yakkaxon qazib olish boshqa tarmoqlarda juda mumkin. Yaqin vaqtgacha har 10 soniyada bloklar topiladigan Ethereumni qazib olish oson edi. U erda blok mukofoti ancha past, ammo juda yaxshi tiyin olish ehtimoli yuqori.

Shunday qilib, biz minglab video kartalarni behuda yoqib yuboramiz va hech qanday yo'l yo'qmi?

Ha, lekin fikrlar bor. Men ta'riflagan kon klassik va Proof-of-Work (ish isboti) deb ataladi. Ya'ni, har bir mashina ma'lum bir ehtimollik bilan ma'nosiz masalalarni yechish orqali tarmoq manfaati uchun ishlaganligini isbotlaydi.

Ammo ba'zi bolalar boshqa turdagi qazib olish bilan blokcheynlarni yaratishni boshlaydilar. Endi ikkinchi eng mashhur kontseptsiya bu Proof-of-Stake (stake of stake). Ushbu turdagi konda tarmoq ishtirokchisi o'z hisobida qanchalik ko'p "tanga" bo'lsa, u o'z blokini blokcheynga kiritish ehtimoli shunchalik yuqori bo'ladi. Qishloqdagi eng baland ovozda odam kabi.

Siz qazib olishning boshqa turlari haqida o'ylashingiz mumkin. Yuqorida aytib o'tilganidek, tarmoqdagi barcha kompyuterlar saraton kasalligini davolashni izlashlari mumkin, faqat siz bu holda tizimga o'z hissasini qanday qayd etishni aniqlashingiz kerak. Axir, men ham ishtirok etayotganimni e'lon qila olaman, lekin video kartamni o'chiring va hech narsani hisoblamang.

Har bir ishtirokchining saraton kasalligiga davo topishdagi hissasini qanday baholaysiz? Agar siz buni o'ylab topsangiz - CancerCoin-ni kesishga jur'at eting, ommaviy axborot vositalaridagi shov-shuv sizga kafolatlanadi.

Blokcheyn

Bizning barcha ehtimollik nazariyamizga qaramay, ikkita konchi bir vaqtning o'zida to'g'ri javobni topishga muvaffaq bo'lgan vaziyatni tasavvur qiling. Ular tarmoq orqali ikkita mutlaqo to'g'ri bloklarni yuborishni boshlaydilar.

Ushbu bloklar har xil bo'lishi kafolatlanadi, chunki ular mo''jizaviy ravishda hovuzdan bir xil tranzaktsiyalarni tanlagan bo'lsalar ham, mutlaqo bir xil daraxtlarni yasasalar va bir xil tasodifiy raqamni taxmin qilsalar ham (nontime), ularning xeshlari har xil bo'ladi, chunki har biri o'z hamyon raqamini yozadi. mukofot uchun blok.

Endi bizda ikkita to'g'ri blok bor va yana kim birinchi bo'lib ko'rib chiqilishi kerakligi muammosi paydo bo'ladi. Bu holatda tarmoq o'zini qanday tutadi?

Blokcheyn algoritmida aytilishicha, tarmoq ishtirokchilari ularga yetib kelgan birinchi to‘g‘ri javobni qabul qilishadi. Keyin ular dunyoning o'zlarining rasmlari asosida yashaydilar.

Ikkala konchilar ham o'z mukofotlarini oladilar, qolganlari esa o'zlari olgan so'nggi blokga tayanib, qolganlarini tashlab, qaytadan to'g'rilangan holda qazib olishni boshlaydilar. Tarmoqda to'g'ri blokcheynning ikkita versiyasi paydo bo'ladi. Paradoks shunday.

Bu ehtimollik nazariyasi yana yordam beradigan odatiy holat. Tarmoq konchilardan biri ushbu zanjirlardan birining keyingi blokini topmaguncha, bunday ikkilangan holatda ishlaydi.

Bunday blok topilib, zanjirga kiritilishi bilan u uzunroq bo'ladi va blokcheyn tarmog'ining kelishuvlaridan biri kiritiladi: har qanday sharoitda eng uzun blokcheyn butun tarmoq uchun yagona haqiqiy deb qabul qilinadi.

Qisqa zanjir, barcha to'g'riligiga qaramay, tarmoqning barcha ishtirokchilari tomonidan rad etiladi. Undan olingan operatsiyalar hovuzga qaytariladi (agar ular boshqasida tasdiqlanmagan bo'lsa) va ularni qayta ishlash yangidan boshlanadi. Konchi o'z mukofotini yo'qotadi, chunki uning bloki endi mavjud emas.

Tarmoqning o'sishi bilan "juda dargumon" dan bunday tasodiflar "yaxshi, ba'zida shunday bo'ladi" toifasiga kiradi. Qadimgi odamlarning aytishicha, bir vaqtning o'zida to'rt blokli zanjir tushib ketgan holatlar bo'lgan.

Shu sababli, zanjirning uchta oxiri xavfsizlik qoidalari ixtiro qilindi:

1. Minning uchun mukofotlar olingandan keyin faqat 20 ta tasdiqlangan blokdan keyin foydalanish mumkin. Bitcoin uchun bu taxminan uch soat.

2. Agar sizga bitkoinlar yuborilgan bo'lsa, siz ularni faqat 1-5 blokdan keyin yangi tranzaktsiyalarda kirish sifatida ishlatishingiz mumkin.

3. 1 va 2-qoidalar faqat har bir mijoz sozlamalarida yozilgan. Ularning bajarilishini hech kim nazorat qilmaydi. Ammo eng uzun zanjir qonuni, agar siz tizimni ularni bajarmaslik uchun aldashga harakat qilsangiz, barcha tranzaktsiyalaringizni yo'q qiladi.

Blokcheynni aldashga urinish

Endi siz qazib olish, blokcheyn qurilmasi va eng uzun zanjir qoidasi haqida hamma narsani bilganingizdan so'ng, sizda savol tug'ilishi mumkin: eng uzun zanjirni o'zingiz yasash orqali blokcheyndan qandaydir tarzda o'tib ketish va shu bilan soxta tranzaktsiyalaringizni tasdiqlash mumkinmi?

Aytaylik, sizda dunyodagi eng kuchli kompyuter bor. Google va Amazon ma'lumotlar markazlari sizning ixtiyoringizdadir va siz tarmoqdagi eng uzun blokcheynga aylanadigan bunday zanjirni hisoblashga harakat qilyapsiz.

Siz zanjirning bir nechta bloklarini olib, darhol hisoblay olmaysiz, chunki har bir keyingi blok avvalgisiga bog'liq. Keyin siz o'zingizning ulkan ma'lumotlar markazlaringizdagi har bir blokni boshqa barcha ishtirokchilar asosiy blokcheynni qanday oshirishda davom etayotganiga parallel ravishda hisoblashni imkon qadar tezroq hal qilasiz. Ularni bosib o'tish mumkinmi? Ehtimol, ha.

Agar sizning hisoblash quvvatingiz tarmoqning barcha ishtirokchilari kuchining 50% dan ortig'ini tashkil qilsa, 50% ehtimollik bilan siz boshqa barcha birlashganidan ko'ra tezroq uzunroq zanjirni qurishingiz mumkin bo'ladi. Bu uzoqroq tranzaktsiyalar zanjirini hisoblash orqali blokcheynni aldashning nazariy jihatdan mumkin bo'lgan usuli. Shunda real tarmoqning barcha tranzaksiyalari haqiqiy emas deb topiladi va siz barcha mukofotlarni yig‘ib, kriptovalyuta tarixida “blokcheyn bo‘linishi” deb ataladigan yangi bosqichni boshlaysiz. Bir marta, koddagi xatolik tufayli, bu Ethereum bilan sodir bo'ldi.

Lekin, aslida, hech bir ma'lumot markazini quvvat jihatidan dunyodagi barcha kompyuterlar bilan taqqoslab bo'lmaydi. Bir yarim milliard xitoylik icics bilan, yana bir yarim milliard och hindular konchilik fermalari va arzon elektr energiyasi bilan - bu juda katta hisoblash kuchi. Dunyoda hali hech kim ular bilan yolg'iz raqobatlasha olmaydi, hatto Google ham.

Bu xuddi ko‘chaga chiqib, dunyodagi har bir odamni dollar hozir 1 rubl ekaniga ishontirishga va OAV sizni fosh qilishdan oldin o‘z vaqtida bo‘lishga o‘xshaydi. Va agar hammani ishontira olsang, jahon iqtisodiyotini qulashing mumkin. Nazariy jihatdan, bu mumkin emasmi? Lekin amalda negadir hech kim muvaffaqiyatga erisha olmadi.

Blokcheyn ham shu ehtimolga tayanadi. Ishtirokchilar-konchilar qanchalik ko'p bo'lsa, tarmoqqa ko'proq xavfsizlik va ishonch. Shuning uchun, Xitoyda yana bir yirik tog'-kon fermasi qoplanganida, stavka pasayadi. Hamma dunyoning biron bir joyida yovuz daho borligidan qo'rqadi, u allaqachon ~ 49% quvvatga ega konchilar hovuzini to'plagan.

Xulosa

Blokcheyn - bu qat'iy belgilangan algoritmlar to'plami emas. Bu ishtirokchilar o'rtasida soxta tarmoq qurish uchun tuzilma bo'lib, unda hech kim hech kimga ishonmaydi. O'qiyotganingizda, ehtimol siz bir necha bor "siz buni shunday qilishingiz mumkin va bu yanada foydali bo'ladi" degan fikrni o'ylab topdingiz. Bu siz blokcheynni tushunasiz degan ma'noni anglatadi, tabriklaymiz.

Dunyodagi ba'zi bolalar ham buni tushunishdi va muayyan vazifalarni yaxshilashni yoki moslashishni xohlashdi. Kriptovalyutalar bir xil emas, garchi ularning ko'pi ham bor. Bu erda blokcheyn g'oyasini qayta ko'rib chiqish tufayli mashhurlikka erishgan ba'zi g'oyalar va loyihalarning qisqacha ro'yxati keltirilgan.

Ethereum

“Eterlar” kripto-hayp yangiliklarida Bitcoindan keyin eshitadigan ikkinchi eng mashhur soʻzdir. Oddiy odamlar uchun bu yana bir kriptovalyuta va ICO deb nomlangan eng zamonaviy ishni qilish usuli. Saytdagi ishlab chiquvchilar Ethereumni "sizning ehtiyojlaringiz uchun blokcheyn quruvchisi" deb ta'riflaydilar. Bu ham mumkin, ha.

Ammo agar siz chuqurroq qazsangiz, efir shunchaki tangalar tarmog'i emas. Bu ulkan global hisoblash mashinasi bo'lib, u erda foydalanuvchilar boshqa odamlarning dasturlari (aqlli kontraktlar) kodini bajaradilar va har bir bajarilgan qator uchun mukofot oladilar. Va bularning barchasi markazlashtirilmagan, buzilmaydi va blokcheynning barcha kafolatlari bilan.

Biz Ethereum va aqlli shartnomalar haqida shunchalik uzoq vaqt gapirishimiz mumkinki, bu boshqa post uchun etarli bo'ladi. Shuning uchun, biz eng yaxshi bloggerlar uslubida harakat qilamiz: agar ushbu post faol ravishda repost qilinsa va retvit qilinsa va juma kuniga qadar u kamida 1500 noyob ko'rishga ega bo'lsa, men Ethereum va aqlli shartnomalar haqida davomini yozaman.

Tavsiya: