Përmbajtje:

Si funksionon në të vërtetë blockchain
Si funksionon në të vërtetë blockchain

Video: Si funksionon në të vërtetë blockchain

Video: Si funksionon në të vërtetë blockchain
Video: Gatishmëri e ushtrisë në vitet ‘80. Në 72 orë 750 mijë ushtarë “nën armë”/ Nga Leonard Veizi 2024, Mund
Anonim

Ky postim synon t'u tregojë të gjithëve pse u shpik blockchain, si funksionojnë kriptovalutat dhe pse është sistemi më i bukur i viteve të fundit nga pikëpamja logjike.

Unë do t'ju paralajmëroj menjëherë se nën prerjen ka një fletë të madhe teksti dhe nëse nuk jeni gati të "mbyllni" njëherë e përgjithmonë pyetjen mbi temën e kriptomonedhave, shtoni një hyrje në të preferuarat tuaja tani dhe rezervoni kohë)

Blockchain është një teknologji, e re, e çuditshme, e pakuptueshme, por duket se po ndryshon botën, në kontrast me këto historitë tuaja. Me sa duket, ajo është me ne për një kohë të gjatë.

Ky postim është shkruar sikur u tregohet njerëzve që janë shumë larg kompjuterëve dhe i njohin vetëm sipërfaqësisht, për shembull, imagjinoni se ai po përgatitej për prindërit tuaj. Unë madje mund t'ua hedh atë tek shokët e mi të shkencave humane dhe të jem i sigurt se ata do ta kuptojnë.

Dhe Oleg do të na ndihmojë të gjithëve në këtë çështje të vështirë. Takohuni!

Nëse nuk të pëlqen Oleg, do ta dëboj.

Bazat: pse na duhet blockchain?

Blockchain u përshkrua në artikullin e Satoshi Nakamoto "Bitcoin: Një Sistem Elektronik i Parave Peer-to-Peer". Atje, në vetëm tetë faqe, autori përshkroi bazat e kriptomonedhës Bitcoin, e cila bazohej në algoritmin Blockchain.

Lista që nuk mund të ndryshohet

Blockchain - një zinxhir blloqesh ose me fjalë të tjera një listë e lidhur. Në një listë të tillë, çdo rekord tjetër i referohet një të mëparshmi, dhe kështu me radhë në zinxhir deri në të parin. Ashtu si vagonët e një treni, secili tërhiqet zvarrë tjetrin. Lidhur me listat, ka një artikull të mirë nga Nikita Likhachev në TJ, ku e njëjta gjë shpjegohet për të sapolindurit. Analogjitë janë marrë pjesërisht prej andej.

Le të marrim një shembull

Miqtë e Oleg vazhdimisht huazojnë para prej tij. Oleg është i sjellshëm, por jashtëzakonisht harrues. Një javë më vonë, ai nuk i kujtohet më se kush nuk ia ktheu borxhin, por ka turp të pyesë të gjithë për këtë. Prandaj, një ditë ai vendosi t'i jepte fund kësaj duke krijuar një listë të miqve në dërrasën e zezë në shtëpinë e tij, të cilëve u kishte marrë para borxh.

Tani Oleg mund të shkojë gjithmonë në bord dhe të sigurohet që Max të kthejë gjithçka, por Vanya nuk jep tashmë 700 rubla. Një ditë Oleg fton Vanya të pijë një pije në shtëpinë e tij. Ndërsa Oleg po shkon në tualet, Vanya fshin hyrjen "Kam huazuar 200 rubla për Vanya" dhe shkruan në vend të saj "Vanya dha 500 rubla".

Oleg, i cili i besoi listës së tij, harron borxhin dhe humbet 700 rubla. Ai vendos të luftojë disi. Vitin e kaluar, Oleg ndoqi një kurs programimi, ku iu tha për hashing. Ai kujton se çdo varg mund të shndërrohet në një grup të paqartë karakteresh - një hash, dhe ndryshimi i çdo karakteri në varg do ta ndryshojë plotësisht atë.

Shtimi i një pike në fund ndryshoi hash-in përfundimtar përtej njohjes - mund ta përdorni.

Oleg merr hash-in e njohur SHA-256 dhe has çdo rekord me të, duke shtuar rezultatin në fund. Tani Oleg mund të sigurohet që askush të mos i ndryshojë rekordet e tij duke i hasur përsëri dhe duke i krahasuar me atë të gjelbër.

Por EVIL IVAN di gjithashtu të përdorë SHA-256 dhe mund të ndryshojë lehtësisht hyrjen së bashku me hash-in e tij. Sidomos nëse hash-i shkruhet pikërisht pranë tij në tabelë.

Prandaj, për siguri më të madhe, Oleg vendos të hash jo vetëm vetë rekordin, por ta shtojë atë së bashku me hash nga rekordi i mëparshëm. Tani të gjitha shënimet e mëposhtme varen nga ato të mëparshme. Nëse ndryshoni të paktën një rresht, do t'ju duhet të rillogaritni hash-et e të gjithë të tjerëve më poshtë në listë.

Por një ditë Ivan del fshehurazi gjatë natës, ndryshon hyrjen që i nevojitet dhe përditëson hash-et për të gjithë listën deri në fund. I duhen disa orë, por Oleg është ende në gjumë të thellë dhe nuk mund të dëgjojë. Në mëngjes, Oleg zbulon një listë absolutisht të saktë - të gjitha haset përputhen. Por Ivani e mashtroi gjithsesi, edhe pse kaloi një natë pa gjumë në të. Si tjetër mund ta mbroni veten nga Nata Ivan?

Oleg vendos të ndërlikojë disi jetën e tij. Tani, për të shtuar një hyrje të re në listë, Oleg do të zgjidhë një problem kompleks të lidhur me të, për shembull, një ekuacion matematikor. Ai do të shtojë përgjigjen në hash përfundimtar.

Oleg është i mirë në matematikë, por duhen edhe dhjetë minuta për të shtuar një hyrje. Përkundër kësaj, koha e kaluar ia vlen, sepse nëse Ivan dëshiron të ndryshojë diçka përsëri, ai do të duhet të rizgjidhë ekuacionet për secilën rresht, dhe mund të ketë dhjetëra prej tyre. Do të duhet shumë kohë, sepse ekuacionet janë unike çdo herë dhe shoqërohen me një rekord specifik.

Por kontrollimi i listës është po aq i thjeshtë: së pari duhet të krahasoni hash-et si më parë, dhe më pas të kontrolloni zgjidhjet e ekuacioneve me zëvendësim të thjeshtë. Nëse gjithçka konvergon, lista nuk ndryshohet.

Në realitet, gjërat nuk janë aq të mira me ekuacionet: kompjuterët i zgjidhin ato shumë mirë dhe ku të ruajnë kaq shumë ekuacione unike. Prandaj, autorët e blockchain dolën me një problem më të bukur: ju duhet të gjeni një numër të tillë (jo) në mënyrë që hash-i përfundimtar i të gjithë rekordit të fillojë me 10 zero. Një nonce e tillë është e vështirë për t'u gjetur, por rezultati mund të kontrollohet gjithmonë vetëm me sy.

Tani Oleg verifikon të gjitha hash-et dhe gjithashtu sigurohet që secili të fillojë me numrin e specifikuar të zerave. Sly Ivan, edhe i armatosur me një laptop të fuqishëm, nuk do të ketë kohë të rillogarisë të gjitha hash-et brenda një nate në mënyrë që ata të plotësojnë kushtin - nuk do të ketë kohë të mjaftueshme.

Një listë e tillë, në fakt, është bllokimi i shtëpisë në gju. Siguria e tij garantohet nga matematikanët, të cilët vërtetuan se këto hash nuk mund të llogariten disi më shpejt, përveçse me forcë brutale. Një numërim i tillë i hasheve për çdo rekord është mining, për të cilin sot do të ketë shumë dhe në detaje.

Centralizimi i besimit

Miqve tanë u pëlqeu ideja për të mbajtur një listë të rreme të "kush kë huazoi". Ata gjithashtu nuk duan të kujtojnë se kush ka paguar për kë në lokal dhe sa i detyrohet akoma - gjithçka është shkruar në mur. Ju diskutuat idenë dhe vendosët që tani keni nevojë për një listë të vetme për të gjithë.

Por kujt duhet t'i besohet një kontabilitet kaq i rëndësishëm? Në fund të fundit, kur bëhet fjalë për paratë, besimi del në pah. Ne nuk do t'i besojmë të panjohurës për të mbajtur paratë tona. Për këtë, paraardhësit tanë shpikën banka, të cilave me kalimin e kohës filluan t'u besohej, sepse ato mbështeten me licencë, ligje dhe sigurime nga Banka Qendrore.

Në rrethin e miqve, të gjithë i besojnë njëri-tjetrit dhe thjesht mund të zgjidhni më të përgjegjshmin për këtë rol. Por, çka nëse pyetja ka të bëjë me të huajt? Një qytet i tërë, një vend, apo e gjithë bota, siç është rasti me Bitcoin? Në përgjithësi, askush nuk mund t'i besojë askujt atje.

Decentralizimi: askush nuk i beson askujt

Kështu ata dolën me një qasje alternative: mbani një kopje të listës për të gjithë. Kështu, një sulmues jo vetëm që do të duhet të rishkruajë një listë, por edhe të futet fshehurazi në çdo shtëpi dhe t'i rishkruajë listat atje. Dhe më pas rezulton se dikush ka mbajtur disa lista në shtëpi, për të cilat askush nuk dinte. Ky është decentralizim.

Ana negative e kësaj qasjeje është se për të bërë hyrje të reja, do t'ju duhet të telefononi të gjithë pjesëmarrësit e tjerë dhe të informoni secilin prej tyre për ndryshimet më të fundit. Por nëse këta pjesëmarrës janë makina pa shpirt, ai pushon së qeni problem fare.

Në një sistem të tillë, nuk ka asnjë pikë të vetme besimi, dhe rrjedhimisht mundësia e ryshfetit dhe mashtrimit. Të gjithë pjesëmarrësit në sistem veprojnë sipas një rregulli të vetëm: askush nuk i beson askujt. Të gjithë besojnë vetëm informacionin që ka në dispozicion. Ky është ligji kryesor i çdo rrjeti të decentralizuar.

Transaksionet

Kur blini një tenxhere në një dyqan, ju vendosni kodin pin nga karta juaj, duke i lejuar dyqanit të pyesë bankën nëse keni 35 rubla në llogarinë tuaj. Me fjalë të tjera, ju nënshkruani një transaksion për 35 rubla me kodin tuaj pin, të cilin banka e konfirmon ose e refuzon.

Të dhënat tona të llojit "Kam huazuar Vanya 500 rubla" janë gjithashtu transaksione. Por ne nuk kemi një bankë që autorizon autorin e transaksioneve. Si mund të kontrollojmë që Ivan nuk ka shtuar në heshtje hyrjen "Max i detyrohet Oleg 100.500 rubla"?

Blockchain përdor mekanizmin e çelësave publikë dhe privatë për këtë; specialistët e IT i kanë përdorur prej kohësh për autorizim në të njëjtën SSH. E shpjegova në gishta në postimin "Siguria, enkriptimi, cyberpunk" në seksionin "Hyrje në enkriptim".

Shkurtimisht se si funksionon kjo matematikë komplekse, por e bukur: ju gjeneroni një palë numrash të thjeshtë të gjatë në kompjuterin tuaj - një çelës publik dhe një çelës privat. Çelësi privat konsiderohet super sekret sepse mund të deshifrojë atë që është e koduar në publik.

Por funksionon edhe e kundërta. Nëse ndani çelësin publik me të gjithë miqtë tuaj, ata do të jenë në gjendje të kodojnë çdo mesazh për ta në mënyrë që vetëm ju të mund ta lexoni atë, pasi ju zotëroni atë privat.

Por përveç kësaj, çelësi publik ka një efekt të dobishëm - me të mund të kontrolloni që të dhënat janë të koduara me çelësin tuaj privat, pa i deshifruar vetë të dhënat. Të gjitha këto veti janë përshkruar mirë në "Librin e Shifrave".

Jemi në një internet të decentralizuar ku nuk mund t'i besohet askujt. Transaksioni nënshkruhet me një çelës privat dhe, së bashku me çelësin publik, dërgohet në një ruajtje të veçantë - një grup transaksionesh të pakonfirmuara. Pra, çdo anëtar i rrjetit mund të verifikojë se keni qenë ju që e keni nisur atë, dhe jo dikush tjetër dëshiron të paguajë me paratë tuaja.

Kjo siguron hapjen dhe sigurinë e rrjetit. Nëse bankat e mëparshme ishin përgjegjëse për këtë, atëherë në blockchain, matematikanët janë përgjegjës për këtë.

Për përdoruesit e zakonshëm që nuk duan të kuptojnë se si të lëshojnë dhe ruajnë çelësat privatë, shërbimet e portofolit në internet do të ndihmojnë. Për të kopjuar çelësat publikë të gjatë, aty bëhen kode të përshtatshme QR. Për shembull, Blockchain Wallet, sepse ka një aplikacion të përshtatshëm celular dhe mbështet dy kriptovalutat kryesore - BTC dhe ETH.

Mungesa e konceptit të "ekuilibrit"

Ashtu si bordi ynë, blockchain në thelb përbëhet vetëm nga historia e transaksioneve. Nuk ruan bilancin e secilës portofol, përndryshe do të na duhej të shpiknim metoda shtesë mbrojtjeje.

Vetëm çelësi privat konfirmon pronësinë e portofolit. Por si mund të sigurohen që anëtarët e tjerë të rrjetit të kem para të mjaftueshme për të blerë?

Meqenëse nuk kemi bilanc, duhet ta vërtetoni. Prandaj, një transaksion blockchain përfshin jo vetëm nënshkrimin tuaj dhe sa dëshironi të shpenzoni, por edhe lidhje me transaksionet e mëparshme në të cilat keni marrë shumën e kërkuar të parave.

Kjo do të thotë, nëse doni të shpenzoni 400 rubla, ju kaloni në të gjithë historinë tuaj të të ardhurave dhe shpenzimeve dhe i bashkëngjitni transaksionit tuaj ato të ardhura ku ju janë dhënë 100 + 250 + 50 rubla, duke vërtetuar kështu që i keni këto 400 rubla.

Çdo anëtar i rrjetit do të jetë edhe një herë i sigurt për të kontrolluar që ju nuk keni bashkangjitur të ardhurat dy herë. Se ato 300 rubla që Maksi dha javën e kaluar, vërtet nuk i keni shpenzuar ende.

Të ardhura të tilla të lidhura me një transaksion quhen inpute në blockchain dhe të gjithë marrësit e parave quhen outpute. Shuma e të gjitha hyrjeve është rrallë saktësisht e njëjtë me atë që dëshironi të transferoni në të njëjtën kohë - prandaj, një nga rezultatet më së shpeshti do të jeni ju. Me fjalë të tjera, transaksioni në blockchain duket si "Më janë dhënë 3 dhe 2 BTC, dua të transferoj 4 BTC prej tyre dhe të kthej 1 BTC të mbetur prapa".

Bukuria e blockchain është se inputet nuk duhet të vijnë nga një portofol. Në fund të fundit, kontrollohet vetëm çelësi. Nëse e dini çelësin privat të të gjitha hyrjeve, atëherë mund t'i bashkëngjitni lehtësisht transaksionit tuaj dhe të paguani me këto para. Sikur të paguani në një supermarket me disa karta nga të cilat dini kodin pin.

Sidoqoftë, nëse humbni çelësin tuaj privat, disku juaj vdes ose laptopi juaj vidhet, bitcoin-ët tuaj do të humbasin përgjithmonë. Askush nuk mund t'i përdorë ato si inpute për transaksione të reja.

Kjo shumë do të jetë e paarritshme për të gjithë botën përgjithmonë - sikur të digjni një pako me kartëmonedha. Nuk ka asnjë bankë të vetme ku mund të shkruani një kërkesë me një kopje të pasaportës tuaj dhe ai do ta printojë atë. Kjo kërkon një lëshim shtesë të bitcoin-eve të reja "nga ajri".

Problem me shpenzimet e dyfishta

Më lart thashë se transaksionet i shtohen një "peshinë transaksionesh të pakonfirmuara" të veçantë. Pse na duhet një lloj entiteti i ndërmjetëm, nëse tashmë kemi, në fakt, transaksione të gatshme të nënshkruara? Pse të mos i shkruani ato drejtpërdrejt në blockchain?

Sepse sinjalet nga pika A në pikën B shkojnë gjithmonë me vonesë. Dy transaksione mund të shkojnë në mënyra krejtësisht të ndryshme. Dhe transaksioni që është nisur i pari mund të arrijë te marrësi më vonë, sepse mori një rrugë më të gjatë.

Kjo rezulton në shpenzime të dyfishta, kur të njëjtat para u dërgoheshin dy adresuesve njëherësh, gjë që ata as nuk do ta merrnin me mend. Kjo nuk është për të dorëzuar faturat nga dora në dorë.

Për një rrjet të decentralizuar në të cilin askush nuk mund t'i besohet, ky problem është veçanërisht i mprehtë. Ja se si siguroheni që një transaksion ishte patjetër para një tjetri? Kërkojini dërguesit të qepë kohën e dërgimit në të, apo jo? Por mbani mend - nuk mund t'i besoni askujt, madje as dërguesit.

Koha në të gjithë kompjuterët domosdoshmërisht do të ndryshojë dhe nuk ka asnjë mënyrë të garantuar për t'i sinkronizuar ato. Një kopje e blockchain ruhet në çdo kompjuter në rrjet dhe secili pjesëmarrës i beson vetëm atij.

Si mund të siguroheni që një transaksion ishte më i hershëm se një tjetër?

Përgjigja është e thjeshtë: është e pamundur. Nuk ka asnjë mënyrë për të konfirmuar kohën e një transaksioni në një rrjet të decentralizuar. Dhe zgjidhja e këtij problemi është ideja e tretë e rëndësishme e blockchain që Satoshi shpiku dhe e cila, çuditërisht, është e shkruar pikërisht në emrin e tij - blloqe.

Blloqet janë shtylla kurrizore e blockchain

Çdo kompjuter që funksionon në rrjet zgjedh çdo transaksion që i pëlqen nga grupi i përgjithshëm. Zakonisht vetëm për komisionin më të lartë që ai mund të fitojë në të. Pra, ai mbledh transaksione për vete derisa madhësia totale e tyre të arrijë kufirin e negociuar. Në Bitcoin, ky kufi i madhësisë së bllokut është 1 MB (pas SegWit2x do të jetë 2 MB), dhe në Bitcoin Cash - 8 MB.

I gjithë blockchain është në thelb një listë e blloqeve të tilla, ku secili i referohet atij të mëparshmit. Mund të përdoret për të gjurmuar çdo transaksion në të gjithë historinë, duke zbërthyer blockchain deri në rekordin e parë.

Është kjo listë që tani peshon qindra gigabajt dhe duhet të shkarkohet plotësisht në të gjithë kompjuterët që duan të marrin pjesë në rrjet (por kjo nuk është e nevojshme për të krijuar thjesht transaksione dhe për të transferuar para). Ai shkarkohet në të njëjtën mënyrë nga të gjithë kompjuterët më të afërt në rrjet, sikur po shkarkoni një seri nga torrentët, në të dalin vetëm episode të reja të reja çdo 10 minuta.

Duke shtypur transaksione nga pishina për vete, kompjuteri fillon të hartojë prej tyre të njëjtën listë të pafalsifikuar siç bëmë në fillim të postimit në tabelën në shtëpi.

Vetëm ai e bën atë në formën e një peme - hash rekordet në çifte, pastaj rezultati është përsëri në çifte dhe kështu me radhë derisa të mbetet vetëm një hash - rrënja e pemës, e cila i shtohet bllokut. Pse pikërisht me një pemë - nuk e gjeta përgjigjen, por supozoj se është thjesht më e shpejtë në këtë mënyrë. Lexoni më shumë në wiki: Pema Merkle.

Meqenëse blockchain aktual është shkarkuar tashmë, kompjuteri ynë e di saktësisht se cili është blloku i fundit në të. Ai thjesht duhet të shtojë një lidhje me të në kokën e bllokut, t'i hash të gjitha dhe t'u thotë të gjithë kompjuterëve të tjerë në rrjet "shikoni, unë bëra një bllok të ri, le ta shtojmë atë në zinxhirin tonë të bllokut".

Pjesa tjetër duhet të kontrollojë që blloku është ndërtuar sipas të gjitha rregullave dhe se ne nuk kemi shtuar transaksione të panevojshme atje, dhe më pas t'i shtojmë ato në zinxhirët tanë. Tani të gjitha transaksionet në të janë konfirmuar, blockchain është rritur me një bllok dhe gjithçka po shkon mirë, apo jo?

Por jo. Mijëra kompjuterë janë duke punuar njëkohësisht në rrjet dhe sapo mbledhin një bllok të ri, ata pothuajse njëkohësisht nxitojnë të informojnë të gjithë se blloku i tyre është krijuar i pari. Dhe nga seksioni i mëparshëm, ne tashmë e dimë se në një rrjet të decentralizuar është e pamundur të vërtetohet se kush ishte me të vërtetë i pari.

Ashtu si në shkollë, kur të gjithë zgjidhin një test të vështirë, rrallë ndodhte që edhe nxënësit e shkëlqyer t'i merrnin përgjigjet në të njëjtën kohë.

Por nëse për një person është një detyrë e vështirë të planifikojë një pushim në mënyrë që ai të marrë pushimet e majit, dhe biletat për në det janë të lira, atëherë për një kompjuter është të shtoni një numër të tillë (jo) në fund të bllokoni në mënyrë që si rezultat, hash-i SHA-256 për të gjithë bllokun të fillojë le të themi 10 zero. Ky është problemi që duhet zgjidhur për të shtuar një bllok në rrjetin Bitcoin. Për rrjetet e tjera, detyrat mund të ndryshojnë.

Kështu vijmë te koncepti i minierave, pas të cilit të gjithë kanë qenë kaq të fiksuar vitet e fundit.

Minierat

Minierat e Bitcoin nuk janë një lloj sakramenti i shenjtë. Minierat nuk kanë të bëjnë me gjetjen e bitcoin-eve të reja diku në thellësi të internetit. Miniera është kur mijëra kompjuterë në mbarë botën gumëzhinin nëpër bodrume, duke kaluar miliona numra në sekondë, duke u përpjekur të gjejnë një hash që fillon me 10 zero. Ata as nuk kanë nevojë të jenë në linjë për ta bërë këtë.

Kartat video me qindra bërthama paralele e zgjidhin këtë problem më shpejt se çdo CPU.

Pse pikërisht 10 zero? Dhe ashtu si kjo, nuk ka kuptim. Kështu doli Satoshi. Sepse ky është një nga ato probleme për të cilat ka gjithmonë një zgjidhje, por sigurisht që nuk mund të gjendet më shpejt se një numërim i gjatë monoton opsionesh.

Kompleksiteti i minierave varet drejtpërdrejt nga madhësia e rrjetit, domethënë nga fuqia totale e tij. Nëse krijoni blockchain-in tuaj dhe e përdorni vetë në shtëpi në dy laptopë, atëherë detyra duhet të jetë më e thjeshtë. Për shembull, në mënyrë që hash-i të fillojë vetëm me një zero, ose në mënyrë që shuma e shifrave çift të jetë e barabartë me shumën e atyre tek.

Do të duhen disa dekada që një kompjuter të gjejë një hash që fillon me 10 zero. Por nëse kombinoni mijëra kompjuterë në një rrjet të vetëm dhe kërkoni paralelisht, atëherë, sipas teorisë së probabilitetit, ky problem zgjidhet mesatarisht në 10 minuta. Kjo është koha kur një bllok i ri shfaqet në blockchain bitcoin.

Çdo 8-12 minuta, dikush në tokë gjen një hash të tillë dhe merr privilegjin të shpallë zbulimin e tij për të gjithë, duke shmangur kështu problemin se kush ishte i pari.

Për të gjetur një përgjigje, kompjuteri (që nga viti 2017) merr 12,5 BTC - kjo është shuma e shpërblimit që gjenerohet nga sistemi bitcoin "nga ajri i hollë" dhe zvogëlohet çdo katër vjet.

Teknikisht, kjo do të thotë që çdo minator gjithmonë shton një transaksion tjetër në bllokun e tij - "krijoni 12.5 BTC dhe dërgojini në portofolin tim". Kur dëgjoni "numri i bitcoin-ve në botë është i kufizuar në 21 milionë, tani ata kanë punësuar tashmë 16 milionë" - këto janë shpërblimet e gjeneruara nga rrjeti.

Shkoni shikoni një bllok real të Bitcoin në një nga faqet e dedikuara. Ekzistojnë gjithashtu transaksione me hyrje dhe dalje, dhe deri në 18 zero në fillim dhe të gjitha hash-et e përshkruara më sipër.

Janë minatorët ata që shtojnë transaksionet e reja në blockchain. Pra, nëse dikush ju thotë se do të "bëjë një blockchain për ***", pyetja e parë që duhet t'i përgjigjet është se kush do ta përdorë atë dhe pse. Më shpesh, përgjigjja e saktë është "të gjithë do, sepse për minierat ne japim monedhat tona, të cilat do të rriten dhe është fitimprurëse për minatorët". Por kjo nuk vlen për të gjitha projektet.

Për shembull, një Ministri e Shëndetësisë nesër krijon bllokun e saj të mbyllur për mjekët (dhe ata e duan atë), kush do ta minojë atë? Terapistët e fundjavës?

Por cili do të jetë përfitimi për minatorët më vonë, kur shpërblimet të zhduken ose të bëhen të pakta?

Sipas idesë së Krijuesit, deri në atë kohë njerëzit do të duhet të besojnë në realitetin e bitcoin dhe minierat do të fillojnë të paguajnë me shumën e tarifave të përfshira në çdo transaksion. Këtu shkon gjithçka: në vitin 2012, të gjitha komisionet ishin zero, minatorët e minuar vetëm për shpërblime nga blloqet. Sot, një transaksion me komision zero mund të varet në pishinë për disa orë, sepse ka konkurrencë dhe njerëzit janë të gatshëm të paguajnë për shpejtësinë.

Kjo do të thotë, thelbi i minierave është në zgjidhjen e problemeve të pakuptimta. A nuk mund të përdoret e gjithë kjo fuqi për diçka më të dobishme - kërkimin e një kure për kancerin, për shembull?

Thelbi i minierave është të zgjidhë çdo problem llogaritës. Kjo detyrë duhet të jetë mjaft e thjeshtë që pjesëmarrësit e rrjetit të kenë një probabilitet të qëndrueshëm për të gjetur një përgjigje - përndryshe, transaksionet do të konfirmohen përgjithmonë. Imagjinoni që në arkë në një dyqan duhet të prisni gjysmë ore çdo herë që banka të konfirmojë transaksionin tuaj. Askush nuk do të përdorë një bankë të tillë.

Por detyra duhet të jetë në të njëjtën kohë e vështirë, në mënyrë që të gjithë përdoruesit e rrjetit të mos e gjejnë përgjigjen menjëherë. Sepse në këtë rast ata do të shpallin shumë blloqe me të njëjtat transaksione në rrjet dhe do të ketë mundësi për “dyfish waste”, që përmenda. Ose edhe më keq - ndarja e një blockchain të vetëm në disa degë, në të cilat askush nuk mund të kuptojë se cili transaksion është konfirmuar dhe cili jo.

Nëse një shpërblim prej 12.5 BTC shpërndahet vetëm një herë në 10 minuta dhe vetëm një person që ka gjetur bllokun, rezulton se më duhet të humbas kartat video për disa vite me shpresën se një ditë do të heq 40,000 dollarë (në kursi aktual i këmbimit)?

Ky është pikërisht rasti për bitcoin. Por nuk ishte gjithmonë kështu. Më parë, rrjeti ishte më i vogël, kompleksiteti është më i ulët, që do të thotë se probabiliteti për të gjetur vetëm një hash për një bllok të ri është më i lartë. Por atëherë bitcoin nuk ishte aq i shtrenjtë.

Tani askush nuk po minon bitcoin i vetëm. Tani pjesëmarrësit janë bashkuar në grupe të veçanta - pishina minierash, ku të gjithë së bashku po përpiqen të gjejnë hash-in e duhur.

Nëse të paktën njëri nga grupi gjen, atëherë i gjithë shpërblimi ndahet ndërmjet pjesëmarrësve, në varësi të kontributit të tyre në punën e përbashkët. Rezulton se jeni duke minuar dhe merrni një qindarkë nga pjesa totale çdo javë.

Por minierat solo janë mjaft të mundshme në rrjete të tjera. Deri vonë, ishte e lehtë për të minuar Ethereum, ku blloqet gjenden çdo 10 sekonda. Shpërblimi i bllokut është shumë më i ulët atje, por probabiliteti për të fituar një qindarkë të bukur është më i lartë.

Pra, do të djegim kot mijëra karta video dhe nuk ka rrugëdalje?

Po, por ka ide. Minierat që përshkrova është klasike dhe quhet Proof-of-Work (prova e punës). Kjo do të thotë, secila makinë dëshmon se ka punuar në dobi të rrjetit duke zgjidhur probleme të pakuptimta me një probabilitet të caktuar.

Por disa djem kanë filluar të bëjnë blockchain me lloje të tjera të minierave. Tani koncepti i dytë më popullor është Prova-of-Stake (prova e aksioneve). Në këtë lloj minierash, sa më shumë "monedha" të ketë një pjesëmarrës i rrjetit në llogarinë e tij, aq më shumë ka gjasa që ai të fusë bllokun e tij në blockchain. Si djali më i zhurmshëm në fshat.

Ju mund të mendoni për lloje të tjera të minierave. Siç është sugjeruar tashmë, të gjithë kompjuterët në rrjet mund të kërkojnë një kurë për kancerin, vetëm ju duhet të kuptoni se si, në këtë rast, të regjistroni kontributin e tyre në sistem. Në fund të fundit, unë mund të deklaroj se jam gjithashtu pjesëmarrës, por fik kartën time video dhe nuk llogaris asgjë.

Si e vlerësoni kontributin e secilit pjesëmarrës në gjetjen e një kure për kancerin? Nëse e gjeni atë - guxoni të shkurtoni CancerCoin-in tuaj, një zhurmë në media është e garantuar për ju.

Blockchain

Imagjinoni një situatë në të cilën, me gjithë teorinë tonë të probabilitetit, dy minatorë ende arritën të gjenin përgjigjen e duhur në të njëjtën kohë. Ata fillojnë të dërgojnë dy blloqe absolutisht të sakta në rrjet.

Këto blloqe garantohen të jenë të ndryshëm, sepse edhe nëse ata zgjodhën për mrekulli të njëjtat transaksione nga pishina, bënin pemë absolutisht identike dhe merrnin me mend të njëjtin numër të rastësishëm (nonce), hash-et e tyre do të jenë përsëri të ndryshëm, pasi secili do të shkruajë numrin e portofolit të tij në blloku për shpërblim.

Tani kemi dy blloqe të vlefshme dhe përsëri lind problemi se kush duhet të merret parasysh i pari. Si do të sillet rrjeti në këtë rast?

Algoritmi blockchain thotë se pjesëmarrësit e rrjetit thjesht pranojnë përgjigjen e parë të saktë që u arrin. Pastaj ata jetojnë në bazë të pamjes së tyre të botës.

Të dy minatorët do të marrin shpërblimin e tyre, dhe të gjithë të tjerët fillojnë të minojnë, duke u mbështetur në bllokun e fundit që kanë marrë personalisht, duke hedhur poshtë të gjitha të tjerat janë të korrigjuara përsëri. Dy versione të blockchain-it të saktë shfaqen në rrjet. I tillë është paradoksi.

Kjo është një situatë rutinë në të cilën teoria e probabilitetit ndihmon përsëri. Rrjeti funksionon në një gjendje kaq të dyfishtë derisa njëri nga minatorët të gjejë bllokun tjetër të njërit prej këtyre zinxhirëve.

Sapo një bllok i tillë gjendet dhe futet në zinxhir, ai bëhet më i gjatë dhe përfshihet një nga marrëveshjet e rrjetit blockchain: në çdo kusht, blockchain më i gjatë pranohet si i vetmi i vërtetë për të gjithë rrjetin.

Zinxhiri i shkurtër, me gjithë korrektësinë e tij, refuzohet nga të gjithë pjesëmarrësit në rrjet. Transaksionet prej tij kthehen në pishinë (nëse nuk janë konfirmuar në një tjetër), dhe përpunimi i tyre fillon përsëri. Minatori humbet shpërblimin e tij sepse blloku i tij nuk ekziston më.

Me rritjen e rrjetit, rastësi të tilla nga "shumë e pamundur" hyjnë në kategorinë "epo, ndonjëherë ndodh". Të vjetrit thonë se ka pasur raste kur një zinxhir prej katër blloqesh është rrëzuar menjëherë.

Për shkak të kësaj, janë shpikur tre rregullat e pasigurisë së zinxhirit:

1. Shpërblimet për minierat mund të përdoren vetëm pas 20 blloqeve të tjera të konfirmuara pas marrjes. Për Bitcoin, kjo është rreth tre orë.

2. Nëse ju janë dërguar bitcoin, mund t'i përdorni ato si hyrje në transaksionet e reja vetëm pas 1-5 blloqeve.

3. Rregullat 1 dhe 2 janë vetëm të shkruara në cilësimet e secilit klient. Askush nuk e monitoron respektimin e tyre. Por ligji i zinxhirit më të gjatë do të fshijë të gjitha transaksionet tuaja nëse përpiqeni të mashtroni sistemin për të mos i zbatuar ato.

Përpjekja për të mashtruar blockchain

Tani që dini gjithçka rreth minierave, pajisjes së blockchain dhe rregullit të zinxhirit më të gjatë, mund të keni një pyetje: a është e mundur të kapërceni disi në mënyrë specifike blockchain duke bërë vetë zinxhirin më të gjatë, duke konfirmuar kështu transaksionet tuaja të rreme.

Le të themi se keni kompjuterin më të fuqishëm në tokë. Qendrat e të dhënave të Google dhe Amazon të vënë së bashku në dispozicionin tuaj dhe po përpiqeni të llogaritni një zinxhir të tillë që do të bëhet blockchain më i gjatë në rrjet.

Ju nuk mund të merrni dhe llogaritni menjëherë disa blloqe të zinxhirit, sepse çdo bllok tjetër varet nga ai i mëparshmi. Pastaj ju vendosni sa më shpejt që të jetë e mundur të numëroni çdo bllok në qendrat tuaja të mëdha të të dhënave paralelisht me mënyrën se si të gjithë pjesëmarrësit e tjerë vazhdojnë të rrisin zinxhirin kryesor të bllokut. A është e mundur t'i kapërceni ato? Ndoshta po.

Nëse fuqia juaj llogaritëse është më shumë se 50% e fuqisë së të gjithë pjesëmarrësve në rrjet, atëherë me një probabilitet 50% do të jeni në gjendje të ndërtoni një zinxhir më të gjatë më shpejt se të gjithë të tjerët së bashku. Kjo është një mënyrë teorikisht e mundshme për të mashtruar blockchain duke llogaritur një zinxhir më të gjatë transaksionesh. Atëherë të gjitha transaksionet e rrjetit real do të konsiderohen të pavlefshme, dhe ju do të mblidhni të gjitha shpërblimet dhe do të filloni një moment historik të ri në historinë e kriptomonedhës, i cili quhet "ndarja e bllokut". Një herë, për shkak të një gabimi në kod, ky ishte rasti me Ethereum.

Por në realitet, asnjë qendër e të dhënave nuk mund të krahasohet për sa i përket fuqisë me të gjithë kompjuterët në botë. Një miliard e gjysmë kinezë me akull, një miliard e gjysmë të tjerë indianë të uritur me ferma minerare dhe energji elektrike të lirë - kjo është një fuqi e madhe kompjuterike. Askush në botë ende nuk mund të konkurrojë vetëm me ta, madje as Google.

Është si të dalësh në rrugë dhe të përpiqesh të bindësh çdo person në botë se dollari tani vlen 1 rubla dhe të jesh në kohë përpara se media t'ju ekspozojë. Dhe nëse arrini të bindni të gjithë, mund të shembet ekonomia botërore. Në teori, a nuk është e mundur? Por në praktikë, për disa arsye, askush nuk ia doli.

Blockchain gjithashtu mbështetet në këtë probabilitet. Sa më shumë pjesëmarrës-minatorë, aq më shumë siguri dhe besim në rrjet. Prandaj, kur një fermë tjetër e madhe minerare mbulohet në Kinë, norma bie. Të gjithë kanë frikë se diku në botë ekzistonte një gjeni i keq që kishte mbledhur tashmë një grup minatorësh me kapacitet ~ 49%.

konkluzioni

Blockchain nuk është një grup algoritmesh i përcaktuar rreptësisht. Është një strukturë për ndërtimin e një rrjeti të rremë mes pjesëmarrësve, ku askush nuk mund t'i besojë askujt. Gjatë leximit, me siguri keni menduar më shumë se një herë se "mund ta bëni kështu dhe do të jetë edhe më e dobishme". Kjo do të thotë që ju e kuptoni blockchain, urime.

Disa djem në botë gjithashtu e kuptuan atë dhe donin të përmirësoheshin ose përshtateshin për disa detyra specifike. Kriptovalutat nuk janë të njëjta, megjithëse ka edhe shumë prej tyre. Këtu është një listë e shkurtër e disa prej ideve dhe projekteve që kanë fituar njëfarë popullariteti falë rishikimit të idesë së blockchain.

Ethereum

"Ethers" është fjala e dytë më e njohur që dëgjoni në lajmet kripto-hipe, pas Bitcoin. Për njerëzit e zakonshëm, kjo është një tjetër kriptomonedhë dhe një mënyrë për të bërë gjënë më trendi të quajtur ICO. Zhvilluesit në sit e përshkruajnë Ethereum si "një ndërtues blockchain për nevojat tuaja". Kjo është gjithashtu e mundur, po.

Por nëse gërmoni edhe më thellë, eteri nuk është thjesht një rrjet monedhash. Kjo është një makinë e madhe kompjuterike globale, ku përdoruesit ekzekutojnë kodin e programeve të njerëzve të tjerë (kontratat inteligjente), duke marrë një shpërblim për çdo linjë të ekzekutuar. Dhe e gjithë kjo është e decentralizuar, e pathyeshme dhe me të gjitha garancitë e blockchain.

Mund të flasim për Ethereum dhe kontratat inteligjente për aq kohë sa do të mjaftojë për një tjetër postim të tillë. Prandaj, ne do të veprojmë në stilin e blogerëve kryesorë: nëse ky postim ripostohet dhe ribotohet në mënyrë aktive, dhe deri të premten merr të paktën 1500 shikime unike, unë do të shkruaj një vazhdim për Ethereum dhe kontratat inteligjente.

Recommended: