Tartalomjegyzék:

Hogyan működik a blokklánc valójában
Hogyan működik a blokklánc valójában

Videó: Hogyan működik a blokklánc valójában

Videó: Hogyan működik a blokklánc valójában
Videó: Bonus Army: US military attacks demonstrating American War Veterans 2024, Lehet
Anonim

Ez a bejegyzés azt a célt szolgálja, hogy mindenki elmesélje, miért találták fel a blokkláncot, hogyan működnek a kriptovaluták és miért ez az elmúlt évek legszebb rendszere logikai szempontból.

Azonnal figyelmeztetlek, hogy a kivágás alatt egy HATALMAS szöveglap van, és ha még nem állsz készen arra, hogy végleg "lezárd" a kérdést a kriptovaluták témájában, akkor már most adj egy bejegyzést a kedvenceidhez és foglalj időt)

A blokklánc egy technológia, új, furcsa, érthetetlen, de úgy tűnik, ez megváltoztatja a világot, ellentétben ezekkel a történeteiddel. Úgy tűnik, régóta velünk van.

Ezt a bejegyzést úgy írták, mintha olyan embereknek mondanák, akik nagyon távol állnak a számítógépektől, és csak felületesen ismerik őket, például képzelje el, hogy a szüleire készült. Akár a bölcsésztársaimnak is kidobhatom, és biztos lehetek benne, hogy megértik.

És Oleg segíteni fog mindannyiunknak ebben a nehéz ügyben. Találkozik!

Ha nem szereted Olegot, kirúgom.

Az alapok: miért van szükségünk a blokkláncra?

A blokkláncot Satoshi Nakamoto „Bitcoin: A Peer-to-Peer Electronic Cash System” című cikkében írta le. Ott mindössze nyolc oldalon a szerző ismertette a Bitcoin kriptovaluta alapjait, amely a Blockchain algoritmuson alapult.

Nem módosítható lista

Blockchain - blokkok láncolata vagy más szóval összekapcsolt lista. Egy ilyen listában minden következő rekord egy előzőre hivatkozik, és így tovább a láncon a legelsőig. Mint egy vonat kocsija, mindegyik vonszolja a következőt. A listákkal kapcsolatban van Nikita Likhachev jó cikke a TJ-n, ahol ugyanezt magyarázzák a teljesen újoncoknak. Az analógiákat részben onnan vettük.

Vegyünk egy példát

Oleg barátai folyamatosan pénzt kölcsönöznek tőle. Oleg kedves, de rendkívül feledékeny. Egy héttel később már nem emlékszik rá, hogy ki nem adta vissza neki a tartozást, de kínosan kér mindenkit erről. Ezért egy nap úgy döntött, hogy véget vet ennek azáltal, hogy otthonában felállít egy listát azokról a barátokról a táblára, akiknek pénzt kölcsönzött.

Most Oleg mindig odamehet a táblához, és megbizonyosodhat arról, hogy Max mindent visszaadott, de Vanya már nem ad 700 rubelt. Egy nap Oleg meghívja Ványát egy italra az otthonába. Amíg Oleg vécére megy, Ványa kitörli a „200 rubelt kértem Ványáért” bejegyzést, és a helyére azt írja, hogy „Ványa 500 rubelt adott”.

Oleg, aki megbízott a listájában, megfeledkezik az adósságról, és 700 rubelt veszít. Elhatározza, hogy valahogy küzd ellene. Tavaly Oleg részt vett egy programozói tanfolyamon, ahol a hashelésről meséltek neki. Emlékszik arra, hogy bármilyen karakterláncot egyértelmű karakterkészletté lehet alakítani - hash-vé, és a karakterlánc bármely karakterének megváltoztatása teljesen megváltoztatja azt.

Egy pont hozzáadása a végére a felismerhetetlenségig megváltoztatta a végső hash-t – használhatja.

Oleg veszi a jól ismert SHA-256 hash-t, és minden rekordot kivonat vele, az eredményt hozzáadva a végére. Oleg most megbizonyosodhat arról, hogy senki sem változtatta meg a rekordjait, ha újra kivonatolja őket, és összehasonlítja a zölddel.

De az EVIL IVAN is tudja, hogyan kell használni az SHA-256-ot, és könnyen módosíthatja a bejegyzést a hash-lel együtt. Főleg, ha a hash közvetlenül mellé van írva a táblán.

Ezért a nagyobb biztonság érdekében Oleg úgy dönt, hogy nem csak magát a rekordot kivonatolja, hanem hozzáadja az előző rekord hash-jéhez. Most az összes következő bejegyzés az előzőektől függ. Ha módosít legalább egy sort, újra kell számolnia a listában szereplő összes többi hash-ét.

Ám egy nap Ivan éjszaka besurran, megváltoztatja a szükséges bejegyzést, és a végére frissíti a teljes lista hash-ét. Több óráig tart, de Oleg még mindig mélyen alszik, és nem hall. Reggel Oleg egy teljesen helyes listát fedez fel – minden hash megegyezik. De Iván így is becsapta, pedig egy álmatlan éjszakát töltött rajta. Hogyan védekezhetsz másként Night Ivan ellen?

Oleg úgy dönt, hogy valahogy megnehezíti az életét. Most, hogy új bejegyzést adjon a listához, Oleg megold egy ehhez kapcsolódó összetett problémát, például egy matematikai egyenletet. Hozzáadja a választ a végső hashhez.

Oleg jó matematikából, de még tíz percbe telik egy bejegyzés hozzáadásához. Ennek ellenére a ráfordított idő megéri, mert ha Iván ismét változtatni akar valamit, akkor soronként újra kell oldania az egyenleteket, és több tucat is lehet. Ez sok időt vesz igénybe, mivel az egyenletek minden alkalommal egyediek, és egy adott rekordhoz kapcsolódnak.

De a lista ellenőrzése ugyanolyan egyszerű: először össze kell hasonlítani a hash-eket, mint korábban, majd ellenőrizni kell az egyenletek megoldásait egyszerű helyettesítéssel. Ha minden konvergál, a lista nem változik.

A valóságban az egyenletekkel nem mennek olyan jól a dolgok: a számítógépek túl jól oldják meg őket, és hol lehet tárolni annyi egyedi egyenletet. Ezért a blokklánc szerzői egy szebb problémával álltak elő: meg kell találni egy ilyen számot (nonce), hogy a teljes rekord végső hash-je 10 nullával kezdődjön. Nehéz ilyet találni, de az eredmény mindig szemmel ellenőrizhető.

Most Oleg ellenőrzi az összes hash-t, és gondoskodik arról, hogy mindegyik a megadott számú nullával kezdődjön. Ravasz Ivannak, még egy nagy teljesítményű laptoppal is felfegyverkezve, nem lesz ideje egy éjszaka alatt újraszámolni az összes hash-t, hogy megfeleljen a feltételnek - nem lesz elég ideje.

Egy ilyen lista valójában az otthoni blokklánc a térdén. Biztonságát matematikusok garantálják, akik bebizonyították, hogy ezeket a hash-eket nem lehet valahogy gyorsabban kiszámítani, csak nyers erővel. Az egyes rekordok hasheinek ilyen felsorolása a bányászat, amelyről ma sok és részletes szó lesz.

A bizalom központosítása

Barátainknak tetszett az ötlet, hogy hamis listát vezetnek arról, hogy "ki kölcsönzött kit". Arra sem akarnak emlékezni, hogy ki fizetett kinek a bárban, és mennyivel tartoznak még – minden ki van írva a falra. Megvitatta az ötletet, és úgy döntött, hogy most egyetlen listára van szüksége mindenkinek.

De kit kell megbízni ilyen fontos könyveléssel? Hiszen ha pénzről van szó, akkor a bizalom kerül előtérbe. Nem fogjuk bízni az ismeretlenben, hogy megtartsa a pénzünket. Erre őseink feltalálták a bankokat, amelyekben idővel elkezdtek megbízni, mert a Központi Bank engedélye, törvényei és biztosításuk mögött állnak.

A baráti körben mindenki megbízik a másikban, és egyszerűen kiválaszthatod a legfelelősebbet erre a szerepre. De mi van akkor, ha a kérdés idegenekre vonatkozik? Egy egész város, ország vagy az egész világ, mint a Bitcoin esetében? Általában senki nem bízhat ott senkiben.

Decentralizáció: senki nem bízik senkiben

Ezért egy alternatív megközelítést találtak ki: mindenki tartson meg egy példányt a listáról. Így egy támadónak nem csak egy listát kellene átírnia, hanem minden házba be kell osonni és ott átírnia a listákat. Aztán kiderül, hogy valaki több listát is vezetett otthon, amiről senki sem tudott. Ez a decentralizáció.

Ennek a megközelítésnek az a hátránya, hogy új bejegyzések készítéséhez fel kell hívnia az összes többi résztvevőt, és tájékoztatnia kell őket a legújabb változásokról. De ha ezek a résztvevők lélektelen gépek, akkor az már nem probléma.

Egy ilyen rendszerben nincs egyetlen bizalmi pont, és így a vesztegetés és a csalás lehetősége. A rendszer minden résztvevője egyetlen szabály szerint cselekszik: senki nem bízik senkiben. Mindenki csak a rendelkezésére álló információkat hiszi el. Ez minden decentralizált hálózat fő törvénye.

Tranzakciók

Amikor egy edényt vásárol egy boltban, be kell írnia a kártyájáról a PIN-kódot, így az üzlet megkérdezheti a banktól, hogy van-e 35 rubel a számláján. Vagyis pin kódjával aláír egy 35 rubel értékű tranzakciót, amelyet a bank megerősít vagy elutasít.

A „Ványától 500 rubelt kölcsönkértem” típusú nyilvántartásaink szintén tranzakciók. De nálunk nincs olyan bank, amely felhatalmazza a tranzakciók szerzőjét. Hogyan ellenőrizhetjük, hogy Iván nem adta-e meg csendben a „Max 100 500 rubel Oleg tartozik” bejegyzést?

A blokklánc erre a nyilvános és privát kulcsok mechanizmusát használja, az informatikusok régóta használják ezeket az engedélyezésre ugyanabban az SSH-ban. Ujjamon magyaráztam el a "Biztonság, titkosítás, cyberpunk" bejegyzésben a "Bevezetés a titkosításba" részben.

Röviden arról, hogyan működik ez a bonyolult, de gyönyörű matematika: generál egy pár hosszú prímszámot a számítógépén – egy nyilvános és egy privát kulcsot. A privát kulcsot szupertitkosnak tekintik, mert képes visszafejteni a nyilvánosan titkosított dolgokat.

De az ellenkezője is működik. Ha megosztja a nyilvános kulcsot az összes barátjával, ők képesek lesznek titkosítani számukra bármely üzenetet, így csak Ön olvashatja azt, mivel a privát kulcsot Ön birtokolja.

De ezen kívül a nyilvános kulcsnak van egy hasznos hatása is - ezzel ellenőrizheti, hogy az adatok titkosítása megtörtént-e az Ön privát kulcsával, anélkül, hogy magát az adatokat dekódolná. Mindezeket a tulajdonságokat jól leírja a „Rejtjelek könyve”.

Egy decentralizált interneten vagyunk, ahol senkiben sem lehet megbízni. A tranzakciót egy privát kulccsal írják alá, és a nyilvános kulccsal együtt egy speciális tárolóba küldik - a meg nem erősített tranzakciók készletébe. Így a hálózat bármely tagja ellenőrizheti, hogy Ön kezdeményezte, és nem valaki más akarja kifizetni a pénzét.

Ez biztosítja a hálózat nyitottságát és biztonságát. Ha korábban a bankok felelősek voltak ezért, akkor a blokkláncban a matematikusok felelősek ezért.

Azon hétköznapi felhasználók számára, akik nem akarnak rájönni, hogyan adjanak ki és tároljanak privát kulcsokat, az online pénztárcaszolgáltatások segítenek. A hosszú nyilvános kulcsok másolásához kényelmes QR-kódokat készítenek. Például a Blockchain Wallet, mert kényelmes mobilalkalmazással rendelkezik, és támogatja a két fő kriptovalutát - a BTC-t és az ETH-t.

Az "egyensúly" fogalmának hiánya

A mi fórumunkhoz hasonlóan a blokklánc is lényegében csak tranzakciós előzményekből áll. Nem tárolja az egyes pénztárcák egyenlegét, különben további védelmi módszereket kellene kitalálnunk.

Csak a privát kulcs erősíti meg a pénztárca tulajdonjogát. De hogyan tehetik meg a hálózat többi tagja, hogy legyen elég pénzem a vásárláshoz?

Mivel nincs egyensúlyunk, bizonyítania kell. Ezért a blokklánc-tranzakció nem csak az Ön aláírását és azt, hogy mennyit szeretne költeni, hanem linkeket is tartalmaz olyan korábbi tranzakciókhoz, amelyekben megkapta a szükséges összeget.

Vagyis ha 400 rubelt szeretne elkölteni, akkor végigfutja a bevételek és kiadások teljes történetét, és a tranzakcióhoz csatolja azokat a bevételeket, ahol 100 + 250 + 50 rubelt kapott, ezzel bizonyítva, hogy rendelkezik ezzel a 400 rubelrel.

A hálózat minden tagja még egyszer ellenőrizni fogja, hogy nem csatolt-e kétszer bevételt. Azt a 300 rubelt, amit Max adott a múlt héten, még nem költötte el.

Az ilyen tranzakciókhoz kapcsolódó bevételeket a blokkláncban bemeneteknek, a pénz minden címzettjét pedig outputnak nevezzük. Az összes bemenet összege ritkán pontosan ugyanaz, mint amennyit egyszerre szeretne átvinni – ezért az egyik kimenet leggyakrabban Ön lesz. Más szóval, a tranzakció a blokkláncon így néz ki: "Kaptam 3 és 2 BTC-t, 4 BTC-t szeretnék átvinni tőlük, és visszaadni a maradék 1 BTC-t."

A blokklánc szépsége abban rejlik, hogy a bemeneteknek nem kell egy pénztárcából származniuk. Végül is csak a kulcsot ellenőrzik. Ha ismeri az összes bemenet privát kulcsát, akkor könnyen csatolhatja azokat a tranzakciójához, és ezzel a pénzzel fizethet. Mintha egy szupermarketben fizetne több kártyával, amiről ismeri a pin kódot.

Ha azonban elveszti a privát kulcsát, meghal a lemeze vagy ellopják a laptopját, a bitcoinjai örökre elvesznek. Senki sem használhatja őket bemenetként új tranzakciókhoz.

Ez az összeg örökre elérhetetlen lesz az egész világ számára – mintha egy köteg bankjegyet égetnél el. Nincs egyetlen bank sem, ahol az útlevél másolatával kérelmet írhat, és ő kinyomtatja. Ehhez új bitcoinok további "levegőből" történő kiadására van szükség.

Dupla kiadási probléma

Fentebb azt mondtam, hogy a tranzakciók egy speciális "meg nem erősített tranzakciók készletéhez" kerülnek hozzáadásra. Miért van szükségünk valamilyen köztes entitásra, ha már vannak kész aláírt tranzakcióink? Miért nem írja be őket közvetlenül a blokkláncba?

Mert a jelek A pontból B pontba mindig késéssel mennek. Két tranzakció teljesen eltérő módon történhet. Az előbb kezdeményezett tranzakció pedig később is eljuthat a címzetthez, mert az hosszabb utat tett meg.

Ez dupla költést eredményez, amikor egyszerre két címzettnek küldték el ugyanazt a pénzt, amit nem is sejtenek. Ez nem a számlák kézről kézre történő átadása.

Egy olyan decentralizált hálózat esetében, amelyben senkiben sem lehet megbízni, ez a probléma különösen akut. Így győződjön meg arról, hogy az egyik tranzakció határozottan megelőzte a másikat? Kérd meg a feladót, hogy varrja bele a feladási időt, igaz? De ne feledd – senkiben sem bízhatsz, még a feladóban sem.

Az idő minden számítógépen szükségszerűen különbözik, és nincs garantált mód a szinkronizálásukra. A blokklánc egy példányát a hálózat minden számítógépe tárolja, és minden résztvevő csak abban bízik.

Hogyan győződhet meg arról, hogy az egyik tranzakció korábban történt, mint a másik?

A válasz egyszerű: lehetetlen. Decentralizált hálózaton nincs mód a tranzakció időpontjának megerősítésére. És ennek a problémának a megoldása a harmadik fontos blokklánc-ötlet, amelyet Satoshi talált ki, és amely furcsa módon pontosan az ő nevében van kiírva – blokkok.

A blokkok képezik a blokklánc gerincét

A hálózat minden működő számítógépe kiválasztja a neki tetsző tranzakciókat az általános készletből. Általában csak a legmagasabb jutalékért, amit kereshet rajta. Tehát addig gyűjti magának a tranzakciókat, amíg azok összmérete el nem éri a kialkudott határt. Bitcoinban ez a blokkméret-korlát 1 MB (a SegWit2x után 2 MB), a Bitcoin Cash-ben pedig 8 MB.

Az egész blokklánc lényegében az ilyen blokkok listája, ahol mindegyik az előzőre hivatkozik. Használható a teljes történelem során bármely tranzakció nyomon követésére, akár a legelső rekordig feltekerve a blokkláncot.

Ez a lista most több száz gigabájtot nyom, és teljes mértékben le kell tölteni minden olyan számítógépre, amely részt kíván venni a hálózatban (de ez nem szükséges egyszerűen tranzakciók létrehozásához és pénzátutaláshoz). A hálózaton lévő összes legközelebbi számítógépről ugyanúgy letöltődik, mintha torrentről töltené le a sorozatot, csak 10 percenként jelennek meg benne az új epizódok.

Miután begépelte magának a tranzakciókat a készletből, a számítógép elkezdi összeállítani belőlük ugyanazt a hamisíthatatlan listát, mint ahogy azt otthon a táblán lévő bejegyzés elején tettük.

Csak ő készíti el fa formájában - páronként kivonatolja a rekordokat, majd az eredmény ismét párban lesz, és így tovább, amíg csak egy hash marad - a fa gyökere, amelyet hozzáadunk a blokkhoz. Miért pont egy fával - nem találtam választ, de feltételezem, hogy így egyszerűen gyorsabb. Bővebben a wikin: Merkle fa.

Mivel az aktuális blokkláncot már letöltöttük, a számítógépünk pontosan tudja, hogy mi az utolsó blokk benne. Csak hozzá kell adnia egy hivatkozást a blokk fejlécébe, kivonatolja az egészet, és meg kell mondania a hálózat összes többi számítógépének: „Nézd, létrehoztam egy új blokkot, adjuk hozzá a blokkláncunkhoz”.

A többiek ellenőrizzék, hogy a blokk minden szabály szerint épül-e fel, és nem adtunk-e oda felesleges tranzakciókat, majd adják hozzá a láncainkhoz. Most minden benne lévő tranzakció megerősítést nyert, a blokkláncot megnövelték egy blokkkal és minden jól megy, nem?

De nem. Számítógépek ezrei dolgoznak egyszerre a hálózaton, és amint összeállítanak egy új blokkot, szinte egyszerre rohannak tájékoztatni mindenkit, hogy az ő blokkjuk jött létre először. Az előző részből pedig már tudjuk, hogy egy decentralizált hálózatban nem lehet bizonyítani, hogy valójában ki volt az első.

Mint az iskolában, amikor mindenki nehéz feladatot oldott meg, ritkán fordult elő, hogy a kitűnő tanulók is egyszerre válaszoltak.

De ha az ember számára nehéz feladat megtervezni a nyaralást úgy, hogy a májusi ünnepekre kerüljön, és a tengerre szóló jegyek olcsók, akkor számítógép számára egy ilyen számot (nonce) kell hozzáadni a végéhez. blokkot úgy, hogy ennek eredményeként a teljes blokk SHA-256 hash-je mondjuk 10 nullával kezdődik. Ez az a probléma, amelyet meg kell oldani ahhoz, hogy blokkot adjunk a Bitcoin hálózathoz. Más hálózatok esetében a feladatok eltérőek lehetnek.

Elérkeztünk tehát a bányászat fogalmához, amivel az elmúlt években mindenki annyira megszállottja volt.

Bányászati

A Bitcoin bányászata nem valamiféle szentség. A bányászat nem arról szól, hogy új bitcoinokat találjunk valahol az internet mélyén. A bányászat az, amikor világszerte számítógépek ezrei zümmögnek a pincékben, másodpercenként több millió számon mennek keresztül, és próbálnak 10 nullával kezdődő hash-t találni. Ehhez nem is kell online lenniük.

A több száz párhuzamos maggal rendelkező videokártyák gyorsabban oldják meg ezt a problémát, mint bármely CPU.

Miért pont 10 nulla? És csak így, ennek semmi értelme. Szóval Satoshi kitalálta. Mert ez egyike azoknak a problémáknak, amelyekre mindig van megoldás, de a lehetőségek hosszas, monoton felsorolásánál biztosan nem lehet gyorsabban találni.

A bányászat összetettsége közvetlenül függ a hálózat méretétől, vagyis a teljes teljesítményétől. Ha létrehozza saját blokkláncát, és otthon maga futtatja két laptopon, akkor a feladatnak egyszerűbbnek kell lennie. Például úgy, hogy a hash csak egy nullával kezdődik, vagy hogy a páros számjegyek összege egyenlő legyen a páratlanok összegével.

Több évtizednek kell eltelnie ahhoz, hogy egy számítógép megtalálja a 10 nullával kezdődő hash-t. De ha több ezer számítógépet egyesít egyetlen hálózatba, és párhuzamosan keres, akkor a valószínűség elmélete szerint ez a probléma átlagosan 10 perc alatt megoldódik. Ez az az idő, amikor egy új blokk jelenik meg a bitcoin blokkláncban.

8-12 percenként talál valaki a földön egy ilyen hash-t, és megkapja a kiváltságot, hogy mindenkivel bejelentse felfedezését, elkerülve ezzel a problémát, hogy ki volt az első.

A válasz megtalálásáért a számítógép (2017-ben) 12,5 BTC-t kap – ennyi jutalmat generál a bitcoin rendszer "levegőből" és négyévente csökken.

Technikailag ez azt jelenti, hogy minden bányász mindig hozzáad egy újabb tranzakciót a blokkjához - „hozzon létre 12,5 BTC-t, és küldje el a pénztárcámba”. Amikor azt hallod, hogy "a bitcoinok száma a világon 21 millióra van korlátozva, most már 16 milliót béreltek" - ezeket a jutalmakat generálja a hálózat.

Nézzen meg egy igazi élő Bitcoin blokkot az egyik dedikált webhelyen. Vannak olyan tranzakciók is, amelyek be- és kimenettel rendelkeznek, és az elején 18 nullával és a fent leírt összes hash-sel.

A bányászok adják hozzá a feltörekvő tranzakciókat a blokklánchoz. Tehát ha valaki azt mondja neked, hogy "blokkláncot fog készíteni a *** számára", az első kérdés, amit meg kell válaszolnia, az, hogy ki fog rajta bányászni és miért. Leggyakrabban az a helyes válasz, hogy „mindenki megteszi, mert a bányászatért a mi érméinket adjuk, ami növekedni fog, és a bányászoknak jövedelmező”. De ez nem vonatkozik minden projektre.

Például holnap valamelyik egészségügyi minisztérium létrehozza a saját zárt blokkláncát az orvosok számára (és akarják), ki fogja kibányászni? Hétvégi terapeuták?

De mi lesz a bányászok haszna később, amikor a jutalmak eltűnnek vagy elenyésznek?

A Teremtő elképzelése szerint addigra az embereknek hinniük kell a bitcoin valóságában, és a bányászat az egyes tranzakciókban szereplő díjak összegével kezd megtérülni. Itt megy minden: 2012-ben minden jutalék nulla volt, a bányászok csak a blokkokból származó jutalmakat bányászták. Ma egy nulla jutalékos tranzakció akár órákig is a medencében lóghat, mert verseny van, a gyorsaságért hajlandók fizetni.

Vagyis a bányászat lényege az értelmetlen problémák megoldása. Nem lehetne mindezt az erőt valami hasznosabbra használni – például a rák elleni gyógymód keresésére?

A bányászat lényege bármilyen számítási probléma megoldása. Ennek a feladatnak elég egyszerűnek kell lennie ahhoz, hogy a hálózati résztvevők stabil valószínűséggel találják meg a választ - különben a tranzakciók örökre visszaigazolódnak. Képzelje el, hogy egy üzletben a pénztárnál minden alkalommal fél órát kell várnia, amíg a bank megerősíti a tranzakciót. Senki nem fog ilyen bankot használni.

De a feladatnak ugyanakkor nehéznek kell lennie, hogy ne minden netező egyszerre találja meg a választ. Mert ebben az esetben sok blokkot fognak bejelenteni azonos tranzakciókkal a hálózatnak és ott lesz a "dupla pazarlás" lehetősége, amit említettem. Vagy ami még rosszabb - egyetlen blokklánc felosztása több ágra, amelyekben senki sem tudja kitalálni, hogy melyik tranzakciót erősítették meg, és melyiket nem.

Ha 10 percenként csak egyszer osztanak ki 12,5 BTC-s jutalmat, és csak egy személy találta meg a blokkot, akkor kiderül, hogy évekig kell pazarolnom a videokártyákat abban a reményben, hogy egy nap 40 000 dollárt dobok (a jelenlegi árfolyam)?

Pontosan ez a helyzet a bitcoin esetében. De nem mindig volt így. Korábban a hálózat kisebb volt, a komplexitás kisebb, ami azt jelenti, hogy nagyobb a valószínűsége annak, hogy egymaga talál egy hash-t egy új blokkhoz. De akkor a bitcoin nem volt olyan drága.

Most már senki sem bányászik egyedül bitcoint. Most a résztvevők speciális csoportokba egyesülnek - bányászati medencékbe, ahol mindenki együtt próbálja megtalálni a megfelelő hash-t.

Ha legalább az egyik csoport megtalálja, akkor a teljes jutalmat felosztják a résztvevők között, attól függően, hogy milyen mértékben járulnak hozzá a közös munkához. Kiderül, hogy bányászol, és minden héten kapsz egy fillért a teljes részesedésből.

De az egyéni bányászat más hálózatokon is lehetséges. Egészen a közelmúltig könnyű volt bányászni az Ethereumot, ahol 10 másodpercenként találhatók blokkok. A blokk jutalom ott sokkal alacsonyabb, de nagyobb a valószínűsége annak, hogy egy szép fillért keresel.

Tehát hiába égetünk több ezer videokártyát és nincs kiút?

Igen, de vannak ötletek. Az általam leírt bányászat klasszikus, és a munkabizonyítás (Proof-of-Work) nevet viseli. Vagyis minden gép bizonyítja, hogy a hálózat javára dolgozott azzal, hogy adott valószínűséggel értelmetlen problémákat oldott meg.

De néhány srác elkezd blokkláncokat készíteni más típusú bányászattal. Most a második legnépszerűbb koncepció a Proof-of-Stake (tét igazolása). Az ilyen típusú bányászat során minél több „érme” van egy hálózati résztvevőnek a fiókjában, annál valószínűbb, hogy blokkját beilleszti a blokkláncba. Mint a falu leghangosabb fickója.

Gondolhat más típusú bányászatra is. Ahogy már javasoltuk, a hálózaton lévő összes számítógép kereshet gyógymódot a rák ellen, csak Önnek kell kitalálnia, hogy ebben az esetben hogyan rögzítheti hozzájárulását a rendszerhez. Végül is kijelenthetem, hogy én is részt veszek, de kapcsold ki a videókártyámat és ne számolj semmit.

Hogyan lehet számszerűsíteni az egyes résztvevők hozzájárulását a rák gyógymódjának megtalálásához? Ha előrukkol – merje levágni a CancerCoin-ját, garantált a hírverés a médiában.

Blockchain

Képzeljünk el egy olyan helyzetet, amelyben minden valószínűség-elmélet ellenére két bányásznak mégis sikerült egyszerre megtalálnia a helyes választ. Elkezdenek két teljesen helyes blokkot küldeni a hálózaton.

Ezek a blokkok garantáltan különböznek egymástól, mert még ha csodával határos módon ugyanazokat a tranzakciókat választották ki a készletből, teljesen azonos fákat csináltak és ugyanazt a véletlenszámot tippelték ki (nem egyszer), a hash-jeik akkor is eltérőek lesznek, hiszen mindegyik beírja a pénztárca számát. a blokkot a jutalomért.

Most két érvényes blokkunk van, és ismét felmerül a probléma, hogy kit kell először figyelembe venni. Hogyan viselkedik a hálózat ebben az esetben?

A blokklánc algoritmus kimondja, hogy a hálózat résztvevői egyszerűen elfogadják az első helyes választ, amely eljut hozzájuk. Aztán a saját világképük alapján élnek.

Mindkét bányász megkapja a jutalmát, a többiek pedig elkezdik bányászni, az utolsó blokkra hagyatkozva, amit személyesen kaptak, és a többit eldobva újra helyes. A megfelelő blokklánc két változata jelenik meg a hálózaton. Ez a paradoxon.

Ez egy rutinhelyzet, amelyben ismét a valószínűségszámítás segít. A hálózat ilyen kettéosztott állapotban működik mindaddig, amíg az egyik bányász meg nem találja az egyik lánc következő blokkját.

Amint egy ilyen blokkot találunk és behelyezünk a láncba, az meghosszabbodik, és a blokklánc hálózat egyik megállapodása is beletartozik: bármilyen feltétel esetén a leghosszabb blokkláncot fogadjuk el egyedüliként a teljes hálózatra vonatkozóan.

A rövid láncot minden helyessége ellenére a hálózat minden résztvevője elutasítja. Az ebből származó tranzakciók visszakerülnek a poolba (ha másban nem erősítették meg), és feldolgozásuk újra kezdődik. A bányász elveszíti jutalmát, mert blokkja már nem létezik.

A hálózat növekedésével az ilyen "nagyon valószínűtlen" egybeesések a "hát, néha előfordul". A régi idősek azt mondják, hogy voltak esetek, amikor egy négy blokkból álló láncot egyszerre ledobtak.

Emiatt három láncvégi biztonsági szabályt találtak ki:

1. A bányászat jutalma csak további 20 megerősített blokk után használható fel a kézhezvételt követően. A Bitcoin esetében ez körülbelül három óra.

2. Ha bitcoinokat küldtek neked, akkor azokat csak 1-5 blokk után használhatod bemenetként új tranzakciókban.

3. Az 1. és 2. szabály csak az egyes kliensek beállításaiban található. Senki nem ellenőrzi betartásukat. De a leghosszabb lánctörvény akkor is eltörli az összes tranzakciót, ha megpróbálja rávenni a rendszert, hogy ne kényszerítse ki azokat.

Megpróbálja becsapni a blokkláncot

Most, hogy mindent tud a bányászatról, a blokklánc eszközéről és a leghosszabb lánc szabályáról, felmerülhet a kérdés: lehetséges-e valahogy konkrétan megelőzni a blokkláncot úgy, hogy saját maga készíti el a leghosszabb láncot, ezzel megerősítve a hamis tranzakcióit.

Tegyük fel, hogy Önnek van a világ legerősebb számítógépe. A Google és az Amazon adatközpontjai az Ön rendelkezésére állnak, és Ön megpróbál egy olyan láncot kiszámítani, amely a hálózat leghosszabb blokkláncává válik.

Nem lehet azonnal kiszámolni a lánc több blokkját, mert minden következő blokk az előzőtől függ. Ezután a lehető leggyorsabban úgy dönt, hogy minden blokkot megszámol hatalmas adatközpontjaiban, párhuzamosan azzal, hogy a többi résztvevő hogyan növeli tovább a fő blokkláncot. Meg lehet őket előzni? Valószínűleg igen.

Ha az Ön számítási teljesítménye meghaladja az összes hálózati résztvevő teljesítményének 50%-át, akkor 50%-os valószínűséggel gyorsabban tud hosszabb láncot építeni, mint az összes többi együttvéve. Ez egy elméletileg lehetséges módja a blokklánc becsapásának egy hosszabb tranzakciós lánc kiszámításával. Ekkor a valódi hálózat minden tranzakcióját érvénytelennek tekintjük, és Ön begyűjti az összes jutalmat, és elindít egy új mérföldkövet a kriptovaluták történetében, amelyet "blokklánc-osztásnak" neveznek. Egyszer a kód hibája miatt ez volt a helyzet az Ethereum esetében.

A valóságban azonban egyetlen adatközpont sem hasonlítható össze teljesítmény tekintetében a világ összes számítógépével. Másfél milliárd kínai icicsekkel, másik másfél milliárd éhes indiai bányafarmokkal és olcsó árammal – ez óriási számítási teljesítmény. Egyedül még senki sem versenyezhet velük a világon, még a Google sem.

Ez olyan, mintha kimennél az utcára, és megpróbálnál a világon minden embert meggyőzni arról, hogy a dollár most 1 rubelt ér, és legyél időben, mielőtt a média leleplez téged. Ha pedig sikerül mindenkit meggyőzni, összeomolhat a világgazdaság. Elméletileg nem lehetséges? A gyakorlatban azonban valamiért senkinek sem sikerült.

A blokklánc is ezen a valószínűségen nyugszik. Minél több résztvevő-bányász, annál nagyobb a biztonság és a bizalom a hálózatban. Ezért, amikor egy másik nagy bányafarmot fedeznek Kínában, az árfolyam összeomlik. Mindenki attól tart, hogy valahol a világon volt egy gonosz zseni, aki már összegyűjtött egy bányászmedencét ~ 49%-os kapacitással.

Következtetés

A blokklánc nem egy szigorúan meghatározott algoritmuskészlet. Ez egy struktúra a résztvevők közötti hamis hálózat kiépítésére, ahol senki sem bízhat meg senkiben. Olvasás közben valószínűleg nem egyszer jutott eszedbe, hogy „meg tudod csinálni így is, és még hasznosabb lesz”. Ez azt jelenti, hogy megértetted a blokkláncot, gratulálunk.

Néhány srác a világon is megértette, és javítani akart vagy alkalmazkodni akart bizonyos feladatokhoz. A kriptovaluták nem ugyanazok, bár nagyon sok van belőlük. Íme egy rövid lista néhány ötletről és projektről, amelyek a blokklánc ötlet újragondolásának köszönhetően némi népszerűségre tettek szert.

Ethereum

Az „éterek” a Bitcoin után a második legnépszerűbb szó, amelyet a kripto-hype-hírekben hallasz. A hétköznapi emberek számára ez egy másik kriptovaluta, és egy módja annak, hogy megtegyék a legtrendibb dolgot, az ICO-t. A webhely fejlesztői az Ethereumot "az Ön igényeinek megfelelő blokklánc-építőként" írják le. Ez is lehetséges, igen.

De ha még mélyebbre ásunk, az éter nem csupán érmék hálózata. Ez egy hatalmas globális számítástechnikai gép, ahol a felhasználók végrehajtják mások programjainak kódját (intelligens szerződések), és minden végrehajtott sorért jutalmat kapnak. És mindez decentralizáltan, elpusztíthatatlanul és a blokklánc minden garanciájával.

Az Ethereumról és az okosszerződésekről annyi ideig beszélhetünk, hogy elég lesz még egy ilyen posztra. Ezért a legjobb bloggerek stílusában fogunk eljárni: ha ezt a bejegyzést aktívan újraküldik és retweelik, és péntekig legalább 1500 egyedi megtekintést kap, akkor írok egy folytatást az Ethereumról és az okosszerződésekről.

Ajánlott: