Tartalomjegyzék
- A blokklánc megértése
- Kettős kiadások kezelése
- A munka bizonyítéka és a "bányászat"
A kriptovállalati fejlesztők egyik legfontosabb problémája a kettős kiadások kérdése. Ez arra az esetre utal, amikor az egyén többször is költi a kriptovaluta egyenlegét, ténylegesen megkülönböztetve ezzel a kiadási rekordot és a rendelkezésre álló kriptovaluta mennyiségét, valamint az eloszlás módját.
A kettős kiadások olyan problémák, amelyeknek nincs készpénzük; ha 10 dollár számlával fizet egy szendvicset, és ezt a számlát átadja a szendvics gyártójának, akkor nem fordulhat el, és ugyanazt a 10 dollárt költi máshol. A digitális valutát, például a bitcoint használó tranzakció azonban teljes egészében digitálisan történik. Ez azt jelenti, hogy lehetséges a tranzakció adatainak másolása és továbbküldése, hogy ugyanazt a BTC-t többször is elköltsön egyetlen tulajdonos. Az alábbiakban megvizsgáljuk, hogy a kriptovállalati fejlesztők hogyan biztosítják a kettős kiadásokat.
Kulcs elvihető
- A digitális valuta fogalmával felmerülő technikai kérdés az, hogy valaki lemásolja-e a digitális pénzt, és egyszerre költheti el két vagy több helyen. Ezt a „kettős költekezés” problémát megakadályozza a blockchain alapú kripto pénznemek, például a Bitcoin által. A munka bizonyítékaként (PoW) ismert konszenzusmechanizmus segítségével. Ezt a PoW-t egy „bányászok” decentralizált hálózata hajtja végre, aki nemcsak a korábbi tranzakciók hűségét biztosítja a blokklánc könyvelőjén, hanem felismeri és megakadályozza a kettős kiadásokat is..
A blokklánc megértése
Az a digitális lánc, mint például a bitcoin, aláálik a láncszem, amely önmagában nem tudja megakadályozni a kettős kiadásokat. Inkább a releváns kriptovalutát magában foglaló különféle tranzakciók a blokkláncba kerülnek, ahol azokat külön ellenőrzik és megerősítő eljárással védik. A bitcoin és sok más kriptovaluta esetében az ily módon megerősített tranzakciók visszafordíthatatlanná válnak; nyilvánosan feladják és örökké tartják őket.
A Bitcoin volt az első jelentős digitális valuta, amely megoldotta a kettős kiadások kérdését. Ezt a megerősítési mechanizmus megvalósításával és a közös, univerzális könyvelési rendszer fenntartásával tette meg. Ilyen módon a bitcoin blockchain nyilvántartást vezet az időbélyegzésű tranzakciókról, amelyek visszatérnek a kriptovaluta alapításához 2009-ben.
Bitcoin szempontjából a "blokk" egy állandóan rögzített adatok fájlja. Az összes legutóbbi tranzakció blokkokba van írva, hasonlóan a tőzsdei részvénykönyvi könyveléshez. A blokkokból származó információ néhány percenként hozzáadódik a főkönyvhöz; a hálózat összes csomópontja megtartja a blokklánc-könyvelés másolatát. A felhasználók navigálhatnak a bitcoin blokkláncán, és csak a mennyiségi szempontból tekinthetik meg a tranzakciókat. A tranzakciók során a vevő és az eladó személyazonosságának részleteit magas szintű titkosítás védi, amely megvédi a főkönyvet a külső források megsértése ellen is. A blokklánc-könyvelés frissítésekor a bitcoin pénztárca is így van.
Kettős kiadások kezelése
Képzelje el, hogy van 1 BTC, és megpróbálja kétszer költeni két külön tranzakcióban. Megpróbálhatja ezt megtenni, ha ugyanazt a BTC-t elküldi két különálló bitcoin pénztárca címre. Ezután mindkét tranzakció a megerősítetlen tranzakciók megyébe kerül. Az első tranzakciót a megerősítő mechanizmuson keresztül hagyják jóvá, majd ellenőrzik a következő blokkban. A második tranzakciót azonban a megerősítési folyamat érvénytelennek ismeri el, és nem ellenőrzik. Ha mindkét tranzakciót egyszerre vonják ki a készletből megerősítés céljából, akkor a legtöbb megerősítéssel rendelkező tranzakció bekerül a blokkláncba, míg a másik tranzakciót elvetik.
Noha ez hatékonyan foglalkozik a kettős kiadások kérdésével, nem marad kérdései nélkül. Például a második (sikertelen) tranzakció tervezett címzettje nem lenne része a tranzakciónak, amely kudarcot valósítana meg, és ennek ellenére az a személy nem kapja meg a várt bitcoint. Sok kereskedő vár legalább egy tranzakció legalább 6 megerősítését (vagyis 6 egymást követő tranzakcióblokkot adtak a blokklánchoz a kérdéses tranzakció után). Ezen a ponton a kereskedő biztonságosan feltételezheti, hogy a tranzakció érvényes.
A rendszerben vannak még más sebezhetőségek, amelyek lehetővé teszik a kettős költekezés támadásait. Például, ha egy támadó valahogy képes a hálózat hatalmának legalább 51% -át ellenőrizni, akkor kettős költekezést is elkövethet. Ha a támadó valamilyen módon megszerezné az irányítást e sok számítógépes teljesítmény felett, megfordíthatja a tranzakciókat, és létrehozhat egy különálló, privát blokkláncot. A bitcoin gyors növekedése azonban gyakorlatilag biztosította, hogy az ilyen típusú támadás lehetetlen. (További információ: Óvakodj az öt Bitcoin-csalástól)
A munka bizonyítása és a "bányászat" magyarázata
Most készüljünk egy kicsit technikaibbra. A gyakorlatban a felhasználók észlelhetik a hamisítást, például a kétszeres kiadások megkísérelését hash, hosszú számsorok révén, amelyek a munka bizonyítékaként szolgálnak. Adjon egy adott adatkészletet hash-funkción keresztül (a bitcoin az SHA-256-at használja), és csak egyszer generál egy hash-ot. A "lavinahatás" miatt azonban az eredeti adatok bármely részének apró módosítása teljesen felismerhetetlen kivonatot eredményez. Bármi legyen is az eredeti adatkészlet mérete, az adott funkció által generált kivonat azonos hosszúságú lesz. A hash egyirányú funkció: nem használható az eredeti adatok beszerzésére, csak annak ellenőrzésére, hogy a hash-ot előállító adatok megegyeznek az eredeti adatokkal.
A bitcoin-tranzakciók készítéséhez bármilyen kivonat generálása triviális lenne egy modern számítógép számára, tehát ahhoz, hogy a folyamatot „munkássá” alakítsák, a bitcoin-hálózat bizonyos szintű „nehézséget” állít fel. Ezt a beállítást úgy állítják be, hogy egy új blokkot "bányítsanak ki" - adjunk hozzá a blokklánchoz érvényes hash generálásával - kb. 10 percenként. A beállítási nehézség a hash "céljának" létrehozásával érhető el: minél alacsonyabb a cél, annál kisebb az érvényes hash-készlet, és annál nehezebb előállítani. A gyakorlatban ez azt jelenti, hogy egy hash hosszú nullás karakterlánccal kezdődik: például a # 429818 blokk kiviteli száma: 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Ez a blokk 2, 012 tranzakciót tartalmaz, amelyek alig több mint 1000 bitcoint tartalmaznak, valamint az előző blokk fejlécét. Ha a felhasználó egy tranzakciós összeget 0, 0001 bitcoinnal változtatott volna meg, akkor a kivonat nem lenne felismerhető, és a hálózat elutasítja a csalást.
Mivel egy adott adatkészlet csak egy kivonatot képes előállítani, hogyan tudják a bányászok megbizonyosodni arról, hogy a cél alatt kivonatot generálnak? Megváltoztatják a bemenetet egy egész szám hozzáadásával, amelyet nonce-nek hívnak ("egyszer használt szám"). Miután megtalálható egy érvényes kivonat, azt továbbítja a hálózatra, és a blokk hozzáadódik a blockchainhez.
A bányászat versenyképes folyamat, de inkább lottó, mint verseny. Átlagosan valaki tíz percenként elfogadható bizonyítékot állít elő a munkáról, de ki lesz az, kit gondolja valaki. A bányászok egyesülnek, hogy növeljék a bányászati blokkok esélyét, ami tranzakciós díjakat és korlátozott ideig díjat generál az újonnan létrehozott bitcoinokért.
A munka bizonyítása rendkívül megnehezíti a blokklánc bármely aspektusának megváltoztatását, mivel egy ilyen változtatáshoz az összes következő blokk újbóli bányászatához lenne szükség. Ezenkívül megnehezíti a felhasználót vagy a felhasználói csoportot a hálózat számítási teljesítményének monopolizálását, mivel a hash-funkciók végrehajtásához szükséges gépek és energia drágák.