You are on page 1of 38

Blokklánc Technológiák Előadás Jegyzet

1.) Bitcoin protokoll és konszenzus (1)


a.)
Mi a bitcoin:
- Anonim
- Decentralizált
- Megváltoztathatatlan
- Konszenzus algoritmus
- Globális
- Bizalom nélküli
Kriptopénz (cryptocurrency):
- Egy olyan valutaforma, amelyet teljesen digitálisan tárolnak, és amelyet nem központi
hatóság bocsát ki. Biztonságos kriptográfiával, elosztott konszenzussal és gazdasági
ösztönzők összehangolásával.
- Ilyen a bitcoin is.
Blokklánc (blockchain):
- A kriptovaluta ábrázolására használt adatszerkezet. Olyan módon tárolja az adatokat,
amely lehetővé teszi, hogy több fél megbízhatóan hozzáférjen hozzájuk anélkül, hogy
egymásban bíznának.
A valuta fő jellemzői:
- Tartósság: A valuta nem veszíti el az értékét, és nem semmisül meg vagy válik könnyen
visszaválthatatlanná.
- Hordozhatóság: A valuta könnyen szállítható egyik helyről a másikra.
- Megoszthatóság: A valuta könnyen átváltható különböző címletekben.
- Egységesség: A valuta minden egysége azonos értékű.
- Korlátozott kínálat: A valuta kínálata nem inflálható önkényesen.
- Elfogadhatóság: A valutának kellően széles körben elfogadottnak kell lennie.
A blokklánc fő jellemzői:
- Decentralizált vezérlés: A közösségi konszenzus, nem pedig egy fél döntése határozza
meg, hogy ki férhet hozzá a blokklánchoz vagy frissítheti azt.
- Manipulálhatóság: Azonnal nyilvánvaló, ha a blokkláncon tárolt adatokat manipulálták.
- Nakamoto konszenzus: Valakinek bizonyíthatóan erőforrásokat kell felhasználnia a
blokklánc frissítésekor.
Centralizáció:
- Egyetlen fél által kezelt engedélyezés
- Az adatokat egyetlen fél tárolja
- Példák:
Kliens-szerver hálózatépítés Hierarchikus szervezeti diagram
Politikai dinasztia Központi bank Figurehead
A központosítás előnyei és hátrányai:
Pro Kontra
Hatékonyság: Az adatokat egy helyen A szuverenitás hiánya: Egy központi fél
tárolják, a programokat egyszer hajtják önkényesen felhasználhatja az Ön adatait.
végre.
Egyszerű frissítések: A frissítésekhez Egyetlen hibapont: Bármilyen hack,
egyetlen jóváhagyás szükséges, és a támadás vagy hiba csak egy helyen
felhasználók számára erőltethetőek. történhet.

Decentralizáció:
- Engedélyezés egy nyíltan ismert protokoll szerint
- Az adatokat a résztvevők tárolják
- Példák:
Peer-to-peer hálózatépítés Lapos szervezeti diagram
Tiszta demokrácia Bartergazdaság Közösség
A decentralizáció előnyei és hátrányai
Pro Kontra
Szuverenitás: Pontosan tudja, hogy adatait Hatékonyság hiánya: Az adatok
hogyan fogják felhasználni. megkettőződnek és a programok
újrafuttatásra kerülnek a hálózaton
keresztül.
Hibatűrés: Az egész hálózatot le kell Nehéz frissítések: A frissítéseket a hálózat
buktatni, nem pedig egyetlen felet. résztvevőinek tudatosan kell elfogadniuk.

b.)
Bitcoin valójában:
- A Bitcoin egy kriptopénz, amelyet Satoshi Nakamoto hozott létre 2008-ban. A ma
blokklánc néven ismert adatstruktúra eredeti használata volt.
- Tisztán digitális, és nem ellenőrzi semmilyen központi entitás.
- A Cypherpunk mozgalom által motiválva, a magánéletért és az önrendelkezésért
folytatott küzdelem a kriptográfia segítségével.
Bankhoz hasonló decentralizált rendszer követelményei:
- Identitáskezelés: Személyes adatok és számlaegyenlegek tárolása
- Szolgáltatások: Pénz átutalása és visszaváltása
- Record Management: A számlatörténet nyomon követése, különösen az
ellenőrzésekhez
- Bizalom: A kormány által szabályozott, ellenőrzött szakemberek
Bitcoin komponensek:
- Identitáskezelés: Címek/számlák, amelyek bitcoinokat tartalmazhatnak, küldhetnek és
fogadhatnak
- Tranzakciók: A bitcoin biztonságos küldése és fogadása
- Elosztott főkönyv: A bitcoin átutalások nyilvántartása az egész hálózaton keresztül
történik.
- Bizalom nélküli konszenzus: A közösségi célok és a személyes ösztönzők összehangolása
c.)
Identitás szerepe a valutákban:
- A pénz befogadása
- Pénz igénylése/költése
- Felelősségre vonás
- Példák:
Házak: címe – postaláda kulcsa Email-ek: álneve – jelszava
Bitcoin: nyilvános – privát kulcs:
 Minden identitás egy egyedi nyilvános kulccsal van reprezentálva. A
megfelelő privát kulcsa nyilvános kulcs és a pénz "feloldásának" kulcsa.
 A privát kulcs egyedi, véletlenszerűen generált, a nyilvános kulcs a privát
kulcsból generált. Nyilvános kulcsaz átvételhez/fogadáshoz, privát kulcs az
elköltéshez.
Nyilvános és privát kulcsok:
- Nincs szükség személyes adatokra (anonim).
- Nincs korlátozva, hogy hány számlát hozhat létre.
- Nincs korlátozás az "elkobzott" kulcsokra vonatkozóan.
Nyilvános kulcsokról:
 Bitcoin a nagy mennyiségű nyilvános kulcsok mögött van elrejtve
(2160 lehetséges cím)
 Gyakorlatilag lehetetlen, hogy bármelyik kettő cím azonos legyen a
nyilvános kulcs véletlenszerűgenerálásával.
d.)
Tranzakció érvényessége:
- Tulajdonosi igazolás: Privát kulccsal generáltaláírás.
- Rendelkezésre álló források: Az UTXO-k közvetlenül beíródik.
- Nincs más tranzakció ugyanazzal a forrással
Hagyományos modell:
- A központi szerv nyomon követi a számlaegyenlegeket és ellenőrzi a tranzakciók
érvényességét.
o Minden számlának van egy rendelkezésre álló egyenlege.
o A költéshez a pénzt le kell vonni a teljes összegből.
o Ha pénzt kap, akkor azt hozzáadják a teljes összeghez.
UTXO modell:
- Minden számla rendelkezik egy halmaz Unspent Transaction Outputs (UTXOs): az adott
számlára küldött, de még el nem költött bitcoinmennyiségek.
- Egy UTXO bármilyen mennyiségű bitcoint tartalmazhat, és teljes egészében elköltésre
kerül.
- UTXO csak egyszer költhető el.
e.)
Elosztott főkönyv
Nyilvántartás: Hagyományos modell:
- Az adatokat egyetlen központiegység tárolja és frissíti
- Biztonsági intézkedések a hackerek és a meghibásodás megelőzésére
- Tranzakciók  elosztott adatbázis:
o A tranzakciókat blokkokká állítjuk össze és egy blokkláncban tároljuk.
o Mindenkinek van egy példánya a blokkláncról

f.)
Konszenzus:
- Az a folyamat, amelynek során a hálózatrésztvevői megegyeznek egy bizonyos
meghozandódöntés tekintetében. Esetünkben a tranzakciók főkönyvénekmódosításában
egyeznek meg.
- Hagyományos modellje:
o Mindannyian benyújtjuk tranzakcióinkat egy központi hatósághoz, amely
biztosítja, hogy senki sem költi el duplán a pénzét.
o Mindenki elfogadja az érvényes tranzakciókat, ahogy azok jönnek, "megbeszélés"
nélkül.
o DOUBLE SPEND ATTACK: Oscar 10 BTC-t ígér Justinnak egy tranzakcióban, és 10
BTC-t ígér Janicenek egy másikban. Oscar dupla költés támadást hajt végre.
o Szilárdan elkülönített döntések helyett legyenek javaslattevők és szavazók.
 A javaslattevő benyújtja a tranzakciót mindenkinek.
 A társaik szavaznak.
 Csak akkor menti el, ha bizonyos számú szavazatot kapott.
 Ne feledje, a Bitcoin egy anonim szolgáltatás, központi nyilvántartás nélkül.
o Olcsó több identitás létrehozása
o Több identitás ⇒ több lehetőség a szavazatok leadására
o Ekkor: SYBIL ATTACK: Oscar képes Sybil támadást
végrehajtani, ami lehetővé teszi számára, hogy duplán
költsön.
o Proof of Work: Ahhoz, hogy blokkot javasoljon, tartalmaznia kell a Proof-of-Work-
ot vagy egy hash-rejtvény megoldását.
 A hash-rejtvényt csak nyers erővel lehet megoldani, ami erőforrásokat
emészt fel.
 A blokkokat létrehozó és javasló embereket bányászoknak nevezik.
g.)
Lehet-e a Bitcoin valuta?
- Tartósság: Örökre megmarad a blokkláncon.
- Hordozhatóság: A teljes egyenleget a zsebében tarthatja.
- Megoszthatóság: : Tetszőleges, akár 0,00000001 BTC mennyiségben is költhető.
- Egységesség: Nincsenek olyan megkülönböztető jellemzők, amelyek miatt az egyik
Bitcoin többet érne, mint a másik.
- Korlátozott kínálat: Maximum 21,000,000 BTC lehetséges.
- Elfogadhatóság: Különösen elfogadható, mert nem kell senki másban bíznia ahhoz, hogy
elköltse a pénzét.
Összefoglalva a Bitcoin:
- Identitás: A nyilvános kulcsot a Bitcoin fogadásához, a privát kulcsot pedig a Bitcoin
elköltéséhez használja.
- Tranzakciók: Ön rendelkezik egy halmaz UTXO-val, amelyeket be tud vinni a
tranzakciókba.
- Distributed ledger (Elosztott főkönyv): Mindegyik fél felelős a blokklánc egy-egy
példányának fenntartásáért.
- Trustless consensus (Megbízhatatlan konszenzus): A tranzakciók jóváhagyása Proof-of-
Work eljárással történik, ami egy költséges szavazási folyamat, a dupla költési
támadások megakadályozása érdekében

2.) Bitcoin és a blokklánc története (2)


a.)
Pre-Bitcoin: Libertárius álmok
Cypherpunks és kriptoanarchisták:
- A magánélet védelmével foglalkozó libertárius csoportok, akik a kriptográfiát, mint
fontos eszköz támogatták “A magánélet az a képesség, hogy szelektíven felfedjük
magunkat a világ előtt.” (ellentét példa: Michel Foucault panoptikuma)
- “A nyílt társadalomban az adatvédelem anonim tranzakciós rendszereket igényel.”
A kriptovaluta korai kísérletei: DigiCash:
- DigiCash: "Vak aláírások", nyilvános kulcsú kriptográfia.
- Lehetővé tette a felhasználók számára, hogy tranzakciókat írjanak alá anélkül, hogy
bármit is felfednének személyazonosságukról.
- A központosítás miatt megbukott.

A kriptovaluta korai kísérletei : HashCash:


- Az érméket nem egy központi bank, hanem erőforrások felhasználásával verik.
- Rejtvény megoldása kriptográfiai hash-függvény segítségével.
- Eredetileg az e-mail spamek korlátozására szolgáló mechanizmusként tervezték.
A kriptovaluta korai kísérletei : B-Money:
Két protokoll bevezetése:
o Gyakorlati módja az anonim szereplők közötti szerződéses megállapodások
érvényesítésének.
o Olyan protokoll, amelyben minden résztvevő egyéni adatbázist vezet arról, hogy
mennyi pénz tartozik az egyes felhasználókhoz.
b.)
Satoshi Nakamoto:
A Bitcoin whitepaper anonim szerzője: "bizalom helyett kriptográfiai bizonyítékon alapuló
elektronikus fizetési rendszer".
Bitcoin: Az első kriptovaluta
- A Genesis blokk Coinbase egy történetre hivatkozik a Times of Londonban, amelyben a
kancellár bankokat mentett ki – a Bitcoin libertárius gyökerei.
- Az első bitcoin tranzakció 2009. január 12-én Hal Finney-vel.
- A világ első kézzelfogható eszközre vonatkozó Bitcoin-tranzakciója:
o 2010. május 22., Hanyecz László 25 dollár értékű pizzát vásárolt 10,000 BTC-ért.
o Érdekesség: 10,000 BTC ma ~$100,000,000 dollárnak felel meg.
o A Bitcoin értéktelen internetes pénzből valódi értékkel bíró dologgá vált.
c.)
BITCOIN Tolvaj:
- 2010: Jed McCaleb létrehozza a Mt. Goxot, a legnagyobb online bitcoin tőzsdét
- 2011: Mt. Gox-nál jelentős biztonsági rést találnak, ami csalárd kereskedést
eredményezett
- 2014: Az Mt. Gox kezeli a tranzakciók 70%- át
- 2014: Mt. Gox 744 408 bitcoint veszít egy lopás során, amelyet évekig nem vettek észre;
Mt. Gox csődöt jelent
BITCOIN DROGBOTRÁNY:
- 2011. február: A Silk Road anonim „eBay of Drugs” néven nyílik meg Tor és Bitcoin
használatával
- A kábítószerek és a feketepiaci áruk válnak a Bitcoin felhasználási területévé
d.)
Turing teljes:
- Egy olyan számítási rendszert, amely képes kiszámítani minden Turing-függvényt,
Turing-teljesnek (vagy Turing-hatékonynak) nevezzük.
- Alternatív megoldásként egy ilyen rendszer egy univerzális Turing-gépet képes
szimulálni.
Az Ethereum felemelkedése:
- A Bitcoin "érme-központú".  Elsődleges cél: A meglévő valuta alternatívája
- Az Ethereum egy Turing teljes protokoll, amely "üzemanyagként" használja az érmét, az
ether-t.  Elsődleges cél: Platform decentralizált alkalmazásokhoz + okosszerződések.
- 2015. július 30.: Elindult az Ethereum blokklánc
- 2016. május: Az Ethereum tokenek értéke több mint 1 milliárd dollár
- 2016. július: A TheDAO felemelkedése és feltörése
- Ethereum Projektek:
CryptoKitties DAI Brave
e.)
Bankok és Blockchain:
- Növekszik az érdeklődés a "privát blokkláncok" vagy az "engedélyezett főkönyvek" iránt.
o Nem nyílt
o Nem bizalom nélküli
o Nincs gazdasági ösztönzés, mint a Bitcoinban
o A "blokklánc" és a "Bitcoin" különválasztása
- Ellenérv: Dicsőített nyilvános kulcsú kriptográfia
- Előnyök: Megfelelőbb
Dimon a Bitcoinról/Blockchainről:
- 2017. október: "A Bitcoin egy "csalás", amelynek nem lesz jó vége. Ha elég hülye vagy
ahhoz, hogy [bitcoint] vegyél, egy nap megfizeted az árát. A blokklánc egy technológia,
ami egy jó technológia. Mi valóban használjuk... Isten áldja a blokkláncot".
A JP Morgan bemutatja a Quorumot:
- 2019. február: A JPMorgan azt állította, hogy az első amerikai bank, amely létrehozta és
sikeresen tesztelte a fiat pénznemet képviselő digitális érmét (JPM Coin).
 Belső főkönyv a bankok számára.
 A JPM által birtokolt USD-t képviselő, helyettesíthető digitális token.
Substrate:
- Tekintsd úgy, mint az Express.js vagy egy másik webalkalmazás-keretrendszer, de
elosztott vagy decentralizált rendszerek, például kriptovaluták felépítésére szolgál.
Polkadot:
- Relay chain: Koordinálja a konszenzust és a tranzakciók átadását a láncok között
- Parachains: Olyan blokkláncok, amelyek összegyűjtik és feldolgozzák a tranzakciókat
- Bridges: Kapcsolódás blokkláncokhoz saját konszenzussal, mint például az Ethereum
Web 3.0:
- Global Könyvtár: A meglévő információk világát egyetlen nagy, nyitott archívumba
gyűjtötte.
- Globális Kiadó: Bárki készíthetett tartalmat, és tárolhatta azt központi adatbázisokban.
- Globális adatbázis: A tartalmak biztonságosan tárolhatók, és nyílt, nyilvános
hálózatokon keresztül több milliárd más alkotóval cserélhetnek adatokat.
f.)
Energetikai innovációk:
- Tetőtéri napelemekre telepített mikrorács blokklánc főkönyvvel, amely rögzíti a
tranzakciókat:
 Microgrid: elosztott energiatermelés, önállóan tud működni és áramot
szolgáltat a természeti katasztrófák idején
 Net Metering: a lakosok eladhatják az energiát a helyi közműszolgáltatónak.
- Swytch: tokeneket adományoz azoknak az embereknek és szervezeteknek, akik
csökkentik szénlábnyomukat:
 például: megújuló energia előállítása (cégek), energiafelhasználás
csökkentése (fogyasztó)
Környezeti lépések:
- A szén-dioxid kibocsátási egységeket tokenek formájában lehet megjeleníteni,
amelyekkel kereskedni lehet.
- A Veridium tokenizálja a Carbon Credit-eket, amelyeket számosszén-dioxid-projektben
használnak.
- RecycleToCoin: kriptovalutákkal (BCDC tokenek) jutalmazza az újrahasznosítókat.
g.)
ICOs:
- „Initial Coin Offerings”
- Az ether befektetésének módja az Ethereum-ra épülő startup cégek.
- Engedélymentes, megerőltetés nélküli módja egy jó vállalatba fektetésnek
o Bancor ICO $150 millió
o Tezos ICO $200 millió
o Filecoin ICO $253 millió
ALTCOIN megjelenése:
- DogeCoin:
 anonim
 alacsony tranzakciós díj, gyors tranzakciók
 könnyű használat
 egyedi módja a donate-k küldése szervezetnek, hírességeknek
- Monero:
 bizalmas tranzakciók
- ZCash:
 adatok ellenőrzése és védelme
- Stellar
- Peercoin
- Litecoin
- DASH
- Ripple
3.) Bitcoin mechanizmus optimalizálás (3-4)
a.) Kriptografikai hash-függvények
- Ezeknek a függvényeknek a segítségével biztosíthatjuk a kommunikációba vetett
bizalmat egy megbízhatatlan környezetben.
Digitális aláírás:
- Privát és publikus kulcs generálása.
- Privát kulcs a tranzakciók aláírásához.
- Publikus kulcs a tranzakció ellenőrzéséhez, amit egy adott privát kulcs írt alá.
- A probléma az, hogy nem tudja igazolni, hogy a tulajdonos nem költ duplán.

A hash-függvény:
- három speciális tulajdonsága:
 Számításilag hatékony: a hash-hez szükséges számításkészlet előállítása
gyors.
 Ütközésállóság: Nehéz két bemenetet találni, amelyek ugyanazt a
kimenetet / hash-t térképezik fel. A kimenet random kell legyen.
 Információ elrejtése: Tekintettel a kimenetre, nehéz lehet bármi érdekeset
találni a bemenetben. Példa: páros vagy páratlan szám.
- A matematikai ujjlenyomatok/azonosítók megfelelője.
Lavinahatás:
- A bemenet kis változása pszeudorandom változást eredményez a kimenetben.
 Gyakran jelentős különbség van az első kimenethez képest
 Megakadályozza a "forró vagy hideg" játékot bemenetekkel a kimenetek
előállításához vagy előrejelzéséhez.
SHA-256:
- Kriptografikus hash függvény, amit az NSA készített.
- A Bitcoin SHA-2562 -t használja, ami azt jelenti, hogy H(x) = SHA256(SHA256(x))
b.) Manipulálható (Tamper-Evident) adatbázis

NONCE:
- number only used once
- proof of work
- A Bitcoin Proof of Work konszenzusa megköveteli a bányászoktól, hogy megoldjanak egy
számításilag nehéz puzzle-t.
 A puzzle-nek számításilag nehéznek, szabályozhatónak és könnyen
ellenőrizhetőnek kell lennie.
- Bitcoin részleges preimage hash puzzle: Egy probléma azzal a követelménnyel, hogy
találjon egy nonce-t, amely kielégíti a következő egyenlőtlenséget:

Prev Block Hash:


- az előző blokkra mutató mutató
Merkle Root (gyökér):
- a tranzakciók összegzése
Block header:
- az összes összetevőre hivatkozik
Block hash / Block ID:
- az összefűzött összetevők kivonatára utal
Merkle-fa:

Mining:
- Olyan, mintha bekötött szemmel dartsoznánk: egyenlő a valószínűsége annak, hogy
eltaláljuk a célpont bármely részét.
 Gyorsabb dobók  több találat/mp.
- A bányászok egy algoritmikusan meghatározott cél alatt keresnek hash-t.
- Nehézség: A blokk megtalálásához szükséges számítások várható számának ábrázolása
 A 0-k vezető számának követelményeként végrehajtva
 Globális hashrate-tel korrigál.
 2016-os blokkonként állítható be (~2 hét)

c.) SIGS, ECDSA és címek (addresses)


Public kulcsú kriptográfia:
- Olyan kriptográfiai rendszer, amely lehetővé teszi az identitás biztonságos terjesztését és
az érvényes üzenetek hitelesítését.
Nyilvános kulcs:
- A felhasználóra vonatkozó információk, amelyek széles körben terjeszthetők.
Private kulcs:
- Bizalmas információ a felhasználóról, amelyet csak a felhasználónak kell tudnia.
ECDSA (ELLIPTIC CURVE Digital Signature Algorithm(DSA) ):
- Az algoritmus, amelyet a Bitcoin hálózat nyilvános kulcsok létrehozására és tranzakciók
ellenőrzésére használ.
- A szabványos DSA változata, de elliptikus görbékkel.
- Összegzése:
o Az (üzenet, aláírás) pár címzettjeinek képesnek kell lenniük a következők
ellenőrzésére:
 Üzenet eredete: az eredeti feladó (a private kulcs tulajdonosa) engedélyezte
ezt az üzenetet/tranzakciót
 Elutasítás elmaradása: az eredeti feladó (a személyes kulcs tulajdonosa)
nem tud visszalépni
 Üzenetintegritás: a tranzakció nem módosítható a küldés óta
o Kommunikáció:

PRIVATE KEY GENERATION:


- Privát kulcsok Bitcoin-on: 256 bites aláíratlan egész számok
- A Bitcoin privát kulcsai nem rendszeres véletlenszám-generátorokkal jönnek létre.
- Annak az esélye, hogy két különböző személy ugyanazt a privát kulcsot (ütközést)
generálja, rendkívül alacsony.
o ~2256 egyedi személyes kulcs
 Ütközési esélyek: (1/2256) * (1/2256) = nagyon, nagyon alacsony
PUBLIC KEY GENERATION:
- A Bitcoin ECDSA-t (Elliptikus görbe digitális aláírási algoritmust) használ nyilvános kulcsok
előállításához.
- Az elliptikus görbét valamilyen matematikai függvény határozza meg.
o A Bitcoin elliptikus görbéje:
 secp256k1 : Y2 = ( X3 + 7 ) felett ( Fp )
- Személyes kulcsot használva bemenetként nyilvános kulcsot hozhatunk létre elliptikus
görbe skaláris szorzás végrehajtásával.
o A legfontosabb dolog, amit itt meg kell jegyezni: a skaláris pont szorzása trapdoor-
függvény.
- Ez azt jelenti, hogy a nyilvános kulcs kiszámítása egyirányú függvény.
SHA-256 (Secure Hashing Algorithm):
- Széles körben használják a Bitcoin szkriptekben és a bányászatban.
RIPEMD (RACE Integrity Primitives Evaluation Message Digest):
- 160 bites (20 bájtos) számot ad ki.

d.) Bitcoin szkript (Bech32)


Emlékeztető:
- A Bitcoin UTXO modellt használ.
- A tranzakciók a bemeneteket kimenetekhez rendelik.
- A tranzakciók tartalmazzák a pénzeszközök tulajdonosának aláírását.
- A Bitcoin költése beváltja a korábbi tranzakciós kimeneteket.

o Zárolási parancsfájl = ScriptPubKey = Kimenet


(Locking Script = ScriptPubKey = Output)
o Parancsfájl feloldása = ScriptSig = Bemenet
(Unlocking Script = ScriptSig = Input)

SCRIPT PROGRAMMING LANGUAGE:


- Tulajdonságok:
 több operátor
 OP_TRUE
 OP_NOT
 OP_RETURN <20 bytes in hex>
 OP_ADD OP_SUB OP_2 OP_EQUAL
 OP_HASH256 <32 bytes in hex> OP_EQUAL
 2 <pubkey A> <pubkey B> <pubkey C> 3 OP_CHECKMULTISIG
 verem (stack) alapú
 nincsenek loop-ok (hurkok), tehát nem Turing kész
P2PK (Pay to pub Key):
- Az első szkripttípus, amit közvetlenül a csatlakoztatott csomópontokra küld.
P2PKH (Pay to PubKey Hash):
- Első ”address típus” tx szkript, ami 1-gyel kezdődik.
- Bemutatta a hash ötletét a scriptPubKey-ben, hogy teljesen elrejtse a pubKey-t és az
UTXO-t.
P2SH (Pay to Script Hash):
- Hármassal kezdődik.
- Fogadó felelős a sendinc szabályzatért és meg kell fizetnie a megnövekedett díjméret.
P2WPKH (Pay to Witness PubKey Hash)
P2WSH (Pay to Witness Script Hash)

Bitcoin szkript összegzés:


- A kimeneti "címek" valójában szkript-ek.
- A szkriptelés-en keresztüli bemenetek és kimenetek lehetővé teszik a Bitcoin jövőbeli
bővíthetőségét.

4.) Bitcoin pénztárca, bányászat, ... (5-6-7)


a.) Pénztárca (wallets) fajták
Wallets:
- Ahhoz, hogy biztosítsuk az identitásunkat, biztosítanunk kell a private kulcsunkat. Ezt a
pénztárcával érhetjük el, ami ezen kívül még:
 Felhasználói felületet biztosít a blokklánchoz.
 A private kulcs nyomon követése.
 Tranzakciók tárolása, küldése, fogadása és listázása.
 Talán néhány más divatos funkció.
o hot: online, valamilyen formában csatlakozik az internethez.
 altípus: cserék, felhőben tárolt személyes kulcs, a felhasználó számára
elérhetetlen, pl. coinbase
 felhasználóbarát, kényelmes, hordozható, tehermentesítési biztonsági
aggályok a vállalat számára (jó és rossz)
o cold: tisztán fizikai, biztonság a könnyű használás felett
 papírtárca: hozzon létre egy privát kulcsot offline és írja le
 brain wallet: jegyezzen meg egy mnemonikus hash-t és használja a kapott
hash-t személyes kulcsként
 hardvertárcák: tisztán offline állapotban maradnak, aláírják a végrehajtani
kívánt tranzakciót, majd visszaküldik őket a számítógépre, hogy
közvetíthessék a blokkláncra
Automatikus ügyféloldali (client-side) titkosítás:
- Biztosítja, hogy a Bitcoin kulcsok mindig titkosítva legyenek és védve a rosszindulatú
programoktól (malware).
Key Stretching:
- Egy olyan módszer, amelyben növeljük azt az időegységet, amely egy adott hash-hez
való eljutáshoz szükséges, ha ismételten hash-elünk valamit.
o Deincentivizes szótár támadások azáltal, hogy tovább tart a támadás végrehajtása
Coinbase:
- A private kulcsot a felhőben tárolja.
Bitcoin ATM:
- QR kódot kell szkennelni a bitcoin wallet telefon alkalmazásban. Majd betenni az
összeget, elküldeni és várni a profitot.
Decentralizált exchange (tőzsdék):
- Nem támaszkodnak harmadik fél szolgáltatására, hogy az ügyfél pénzeszközeit vagy
privát kulcsait tárolják.
 A kereskedések P2P-k ((peer-to-peer), a digitális médiafájlok terjesztésére
gyakran használt számítógépes hálózat típusa.)
 Megbízhatatlan.
 Bitshares, Bisq (ex Bitsquare), Openledger, Airswap, Etherdelta.
b.) Pénztárca mechanizmus
Simple Payment Verification (SPV):
- Módszer annak ellenőrzésére, hogy bizonyos tranzakciók szerepelnek-e egy blokkban a
teljes blokk letöltése nélkül.
o Csak a tranzakciók nyomon követése
o Lightweight vagy thin kliensek
- Feltételezés: A bejövő blokkfejlécek nem hamis láncból származnak:
o Csatlakozás számos különböző csomóponthoz
o Hosszú távon a lánc valószínűleg őszinte
o Nem igazán engedheti meg magának, hogy az egész blokkláncot a telefonjára
tegye, így egy thin kliens tisztességes kompromisszum
M-OF-N tranzakciók (multisignature):
- Ez egy módja annak, hogy kriptográfiailag megosszuk a kulcsot a résztvevők között, és a
kudarcpontok elosztására szolgál.
- Ahelyett, hogy elveszítene egy kulcsot, és elveszítené vele az összes pénzét, több mint
egy hibapontja van.
- Multisignature: Ez egy módja annak, hogy eloszlassák a felelősséget a felek között.

JBOK wallets (Just a Bunch Of Keys):


- Minden új kulcspárhoz új biztonsági mentésre van szükség
- Vagy hozzon létre egy csomó kulcsot az első indításkor
- Nem túl kényelmes, mert minden kulcspárt el kell tárolnia
HD (Hierarchical Deterministic) Wallets:
- Determinisztikus, és kényelmesebb tudni egy mesterkulcsot
- Egyirányú hash-függvény használata indexszámmal történik
- A tőzsdék ezeket használják
c.) Bányászat
Egy teljes értékű Bitcoin bányásznak:
- Töltse le a teljes Bitcoin blokkláncot
o Szerezzen blokkokat a peer-ekből, majd töltse le a blokkláncot. Kezdjük a genezis
blokkból (ami az első blokk).
o Maradjon naprakész, győződjön meg róla, hogy frissül
- Tranzakciók ellenőrzése
o Hallgassa meg a Bitcoin hálózatot a tranzakciókhoz
o A meg nem erősített (függőben lévő) tranzakciók a mempool-ban ülnek, hogy egy
bányász egy blokkba foglalja őket
o Bejövő tranzakciók ellenőrzése

- Blokk létrehozása
o Tranzakciók összegyűjtése blokkba
o Válassza ki a kívánt tranzakciókat (a legtöbb tranzakciós díj)
o Korábbi blokk-kivonatok és egyéb szükséges metaadatok lekérése
- Érvényes nonce keresése
o Keresse meg a proof-of-work-t
o Számítási teljesítmény felhasználása
o A fejléc nonce növelése először, majd a coinbase nonce szükség szerint a puzzle
megváltoztatásához
- A blokk sugárzása
o sugárzott a hálózat többi részére (szórásos blokkfejléc (előző blokk-kivonat,
merkle gyökér, nonce) = aktuális blokkfejlécet ad))
o összefűzheti a 3 dolgot, és kivonatolhatja, hogy lássa, ugyanazt a blokkfejlécet
adja-e (a blokk egyedi azonosítója)
- Profit
o Leghosszabb láncszabályok:
 A leghosszabb láncba tartozó blokk
 Nyereség a blokkjutalomból (coinbase tranzakció) és a tranzakciós díjakból
 A Canon tranzakcióelőzményeihez hozzáadott összes tranzakció
o Nem tartozik a leghosszabb láncba:
 Lehet, hogy nem az Ön blokkja volt az első érvényes blokk, amelyet mások
láttak
 A következő blokk bányászatának megkezdése
Bányászat ösztönző:
- A bányász BTC-t kap minden visszaigazolt blokkért
- Jelenleg 12,5 blokkonként
- A bányász különleges tranzakciót tartalmaz önmagának
- Ösztönzés (profit!) az őszinte viselkedésért
- 210 000 blokkonként felére csökken
o Véges BTC #
o BTC ellátási sapka: 21.000.000
Tranzakció díjak:
- A tranzakció létrehozója beállítja a díjat
- Önkéntes, de gyakorlatilag szükséges
- Extra jövedelem a bányászok számára a blokkjutalomon felül
- Magasabb tranzakciós díj → gyorsabb visszaigazolási idő, mivel több bányász szeretné
belefoglalni a tranzakciót
- TX_FEE = BEMENET - KIMENET
- Amikor a blokkjutalom 0-ra válik, a TX-díjak lesznek az egyetlen bevételi forrás a
bányászok számára

Fix költség: hardware költségek


4 fajta hardware:
 CPU Mining (Central processing Unit): leghosszabb ideig tart, hogy kitaláljuk
a nonce-t (1 CPU-val)
 GPU (Graphs Processing Unit):
 Hatékonyabb, mint a CPU-k
 Nagyobb energiafogyasztása + nagyobb hőtermelése van
 Gyors, mert párhuzamos
 Hátránya: Sok összetevő nem alkalmazható a bányászatra (lebegő
pontok = tizedesjegyek = csak pozitív természetes számok = nagy
számokkal foglalkozik. Az SHA256 nem fogad el negatívumokat
vagy lebegő pontokat). Túl sok hőt termel, így nem használható
’farmokban’.
 FPGA (Field Programmable Gate Arrays): Bitcoin-specifikus hardvert fejleszt
az összes testreszabhatóság elvesztése nélkül. Kompromisszum a dedikált
SHA-256 és az általános célú hardverek között.
 ASIC (Application-Specific Integrated Circuit): Nem csinál mást, csak SHA-
256-ot.
 Alacsonyabb alapköltség vs alacsonyabb villamosenergia-
felhasználás
 Kompakt eszköz vs magasabb hashrate

Operációs költségek:
- A bányászatban felhasznált energia:
o Megtestesült energia, a hardver előállításához
o Elektromosság
o Hűtés
d.) Valóvilág bányászat
Bányász medencék (pools):
- A bányász medencék lehetővé teszik az egyes bányászok számára, hogy kombinálják
vagy "medencébe" helyezzék számítási teljesítményüket.
 Csökkenti a bányászati jutalmak varianciáját
 Készletkezelők vagy készletüzemeltetők működtetik
 Pool manager általában vesz egy részt a bányászati jutalmakból
- Pro:
o Lehetővé teszi az egyéni bányászok részvételét
o Könnyen frissíthető szoftvermódosítások
- Con:
o A pool manager-nek megbízhatónak kell lennie
o Központosított
o Számos támadást tesz lehetővé
Mining shares:
- A készletben lévő bányászok részvényeket ("majdnem érvényes" blokkokat) nyújtanak
be a medencekezelőnek.
o A részvények előállítása azt jelenti, hogy a számítási teljesítményt el kell költeni
o A medence üzemeltetője fizet az érvényes részvényekért
 A benyújtott részvények számával arányosan elosztott a jutalom
o Az érvényes blokkot is megosztják
 Az a személy, aki érvényes blokkot talál, nem kap extra coin-t
Mining medence sémák:
Pay-per-share Proportional (arányos)
A Pool minden beküldött részvénynél A medence fizet ki, ha a blokkot találunk, az
kifizetődik. Alapértelmezés szerint arányos egyének munkája és a benyújtott blokk
lesz az egyének által végzett munkával. arányában.
1. Előnyösebb a bányászok számára. 1. Előnyösebb a medence számára.
2. Az egyéni bányászoknak nincs 2. Az egyes bányászok még mindig
kockázatuk a jutalom eltéréséből, mivel hordoznak némi kockázatot a medence
a medence teljesen vállalja azt. méretével arányos eltérésben. Nem
probléma, ha a medence nagy.
3. Probléma: Nincs ösztönzés az egyének 3. Alacsonyabb kockázat a
számára, hogy ténylegesen érvényes medenceüzemeltetők számára, mivel csak
blokkokat nyújtsanak be. Az egyéneket akkor fizet ki, ha jutalmat talál. Ez így arra
függetlenül fizetik. ösztönzi a személyek, hogy érvényes
blokkokat nyújtsanak be.

Medence jutalmak:
- CPPSRB - Capped Pay Per Share with Recent Backpay
- DGM - Double Geometric Method
- ESMPPS - Equalized Shared Maximum Pay Per Share
- POT - Pay On Target
- PPLNS - Pay Per Last N Shares
- PPLNSG - Pay Per Last N Groups (or shifts)
- RSMPPS - Recent Shared Maximum Pay Per Share
- Score - Score based system
- SMPPS - Shared Maximum Pay Per Share
- FPPS - Full Pay Per Share
Tények:
- internet hashrate: 94, 509, 815 TH/s
- Antminer S17: $1500-ba kerül, 53 TH/s
Puzzle követelmény emlékeztető:
o Egy frissítő a puzzle követelményekről:
o Gyors ellenőrzés
o Állítható nehézség
o Számításilag nehéz
o A számítási teljesítménnyel arányos megoldási sebesség
o "Haladásmentes"
o Pszeudorandom generált
- Bitcoin puzzle egy "részleges hash-preimage puzzle".
 Nem számít, mi követi a nullák előfeltételi számát
ASIC-ellenállás:
- Memóriaigényes: számítási teljesítmény helyett nagy mennyiségű memóriát igényel
- Memória kötött: a memória szűk keresztmetszete számítási idő
- A memória-kemény rejtvények életképesen elrettentik az ASIC-ket:
o Az ASIC-k egy adott algoritmus végrehajtására vannak optimalizálva
o Haszontalan optimalizálás, ha a memória a korlátozó ágens
- Pro:
o Az ASIC-k uralják a hálózatot, elnyomva a hétköznapi embereket
o A demokrácia növekedése és a centralizáció csökkenése
- Con:
o Az ASIC-k csak a puzzle-t tudják megoldani, semmi több
o Az árfolyam összeomlása ⇒ haszontalan elektromos zabáló hardver
Scrypt:
- Hash-függvény. A bányászati puzzle ugyanaz a részleges hash-preimage puzzle.
- Tervezési szempontok:
 Jelszavak hash-elésére szolgál
 Nehéz brute-force-olni
- Litecoin és Dogecoin használja
- 2 fő lépés:
o független adattal töltjük fel a buffer-t
o pszeudorandom úton érjük el az adatot
PROOF-OF-USEFUL-WORK:
- Számítási teljesítmény újrafelhasználása.
- Példák:
o Nagy prímszámok keresése
o Idegenek keresése
o Fehérjék szimulálása atomi szinten
o Prediktív éghajlati modellek létrehozása
- A legtöbb elosztott számítástechnikai probléma nem alkalmas a munka igazolására:
o Fix adatmennyiség
 Hiányzik egy kimeríthetetlen rejtvénytér (puzzle space)
o A lehetséges megoldások nem egyformán valószínűek
 Hiányzik egy felszerelhető megoldási hely
o Nem támaszkodhat központi entitásra a feladatok delegálásához
 Hiányzó decentralizált algoritmikusan generált probléma
- Összességében ez az algoritmus NEM működik.
Bitcoin Core:
- A Bitcoin GitHub repóért felelős fejlesztői csapat
- A fejlesztők által tervezett szoftver, amelyet teljes Bitcoin csomópontok használnak
Forks:
Soft forks: a régi csomópontok érvényesnek tekintik az új blokkokat.
Hard forks: a régi csomópontok nem tekintik érvényesnek az új blokkokat, el kell fork-olniuk
BIP (Bitcoin Improvement Proposal):
- 3 fajta:
 Standards Track BIPs
 Informational BIPs
 Process BIPs
- A BIP jeltámogatása a hivatkozás blokkba történő beépítésével történik bányászatkor

5.) Elosztott rendszerek és konszenzus (8-9)


a.)
Elosztott rendszer:
- Önálló számítógépek olyan összessége, amely kezelői számára egyetlen koherens
rendszernek tűnik.
- Cél: Centralizáció megszüntetése
- Megoldás: Elosztott rendszer használata
- Feladat: Résztvevők közötti konszenzus elérése
- 2 fő szempont:
 önálló számítógép: csomópont (node), melyen a kliens szoftver (process) fut
 felhasználók számára egy rendszer: Bitcoinesetén a pénz digitális
formájának lehetővé tétele
- Az egységes rendszer megvalósítása érdekében az egyes részeknek kommunikálniuk és
frissíteniük kell egymást. Ez üzeneteken keresztül történik, amelyek a Bitcoin
kontextusában többnyire pénzátutalási tranzakciók.
- Centralizáltság egy gyenge pontot eredményezhet (single point of failure). Elosztott
rendszerekben ez elkerülhető.
Elosztott rendszerek kihívásai:
- Konkurens működés: Adott feladat esetén, részben független részfeladatok párhuzamos
végrehajtása.
- Hibatűrés: A alkotóelemek egymástól függetlenül meghibásodhatnak. A szerverek
összeomolhatnak, vagy az internetkapcsolat átmenetileg megszakadhat.
- Nincs globális óra: Nincs olyan globális óra, amely minden résztvevőt szinkronban tudna
tartani. Olyan mechanizmusra van szükség, amely lehetővé teszi a csomópontok
szinkronizálását.
 Broadcast mechanizmus: biztosítja a csomópontok közötti kommunikációt,
hogy a szinkronizáció megvalósuljon.
Eredet: Digitális repüléstechnika
- Szuper megbízható számítógépek, amelyek a repülőgépgyártók úttörői voltak.
- Magasság, sebesség, üzemanyag érzékelők.
- Autopilóta, fly-by-wire.

Rendszerek kedvezőtlen környezetben


- SpaceX Dragon, önvezető-autók.
o Bízni bizalom nélkül
 "helyes" végrehajtása az elosztott rendszernek
 az egyéni összetevők megbízhatósága
Csomóponti hibák
Három lehetséges hiba:
o Rendszer összeomlása (crash-fail): A csomópont teljesen leáll. Ennek oka lehet
egy internetkimaradás, vagy az, hogy a csomópont üzemeltetője újraindítja a
gépét.
o Üzenetkihagyás (omission): Egy csomópont olyan üzenetet küld, amelyet a társai
nem kapnak meg.
o Bizánci hiba (Byzantinefailure): Véletlenszerű viselkedésre utalnak, amelyet
rosszindulatú szándék vagy egyszerűen rosszul működő kliensek irányíthatnak.
Bármely rosszindulatú szereplő, aki a protokolltól eltérve próbálja megtámadni a
rendszert, példa a bizánci hibára.
Hálózati hibák
- Az üzenetek broadcast-jához, figyelembe kell venni a Peer-to-Peer hálózat
megbízhatóságát.
- Három hiba lehetséges:
 Szinkron üzenettovábbítás esetén minden üzenetet a címzett egy
meghatározott és ismert időn belül kap meg.
 Részben szinkron üzenettovábbítás esetén az üzenetek korlátozott időn
belül, tehát egy fix időkereten belül érkeznek meg, de a korlát ismeretlen.
 Az aszinkron üzenettovábbítás során az üzenetek esetleg soha nem érnek
célba, duplikálódnak, vagy az elküldöttől eltérő sorrendben érkeznek.
Hibatűrés
- A rendszernek hibatűrőnek kell lennie, azaz a komponensek meghibásodásától
függetlenül tovább kell működnie. Attól függően, hogy milyen típusú hibákat képes
kezelni, az elosztott rendszer besorolható egyszerű hibatűrőnek vagy bizánci
hibatűrőnek.
 Az egyszerű hibatűrő rendszer az első két hibatípust, az összeomlást és a
kihagyást kezeli.
 A bizánci hibatűrő rendszer mindhárom hibatípust kezeli, és még akkor is
működik, ha rosszindulatú szereplők próbálják megzavarni a bizánci
viselkedéssel.
- A kommunikációt megbízhatatlan környezetben is kezelnie kell!

Hibatűrő elosztott rendszerek


- Egyszerű hibatűrő (Simple Fault-Tolerant): A kontextustól függően ez egy kellően
biztonságos feltételezés lehet. Egy engedéllyel rendelkező hálózatban, például egy gyár
gyártósorán, ritkán kell számolni rosszindulatú viselkedéssel.
- Bizánci hibatűrő (Byzantine Fault-Tolerant (BFT)): Azt szeretnénk, ha a blokkláncok
engedély nélküli infrastruktúrák legyenek, amelyekhez bárki tetszés szerint csatlakozhat.
Ezért számolnunk kell a rosszindulatú szereplőkkel, akik megpróbálják kijátszani a
rendszert. Ez azt jelenti, hogy szükségünk van egy BFT konszenzusmechanizmusra.
BAR-FT - Byzantine-AltruisticRational Fault Tolerance
- Egy engedély nélküli hálózatban a résztvevők háromfélék lehetnek:
o Bizánci viselkedés (Byzantine): A protokolltól eltérő véletlenszerű viselkedés.
Támadói cselekedetek leírására használják.
o A racionális (Rational) szereplők követik a protokollt, amíg ez a legjövedelmezőbb
stratégia számukra. Ha a protokolltól való eltérés jövedelmezőbb, akkor a profit
maximalizálása érdekében eltérnek.
o Az önzetlen vagy becsületes (Altruistic) szereplők azt teszik, ami a hálózat
számára a legjobb, még akkor is, ha egy eltérő stratégia személyes előnyt
jelentene az egyén számára.
Életképesség/Terminálás:
- Minden nem hibás csomópont végül egy külső esemény bekövetkezésekor új állapotot
számít ki. Leegyszerűsítve ez azt jelenti, hogy a rendszer nem áll le, és mindig reagál az
eseményekre.
- Minden nem hibás csomópont előbb utóbb új állapotba kerül.
Biztonság/Megegyezés:
- A biztonság (vagy megegyezés) azt jelenti, hogy minden nem hibás csomópont
ugyanabba az állapotbalép át egy adott külső eseményt követően. Ez azt jelenti, hogy
végül minden csomópont szinkronban lesz.
- Minden nem hibás csomópont ugyanazon új blokkban ért egyet.
A konszenzus helyessége:
- Validáció: bármely érték eldöntése esetében, javasolni kell azt egy nem hibás
csomópontnak
- Megállapodás: minden nem hibás csomópontnak egyet kell értenie ugyanazon értékkel
- Termináció (felmondás): minden nem hibás csomópontnak végül döntést kell hoznia
Az elosztott rendszer helyessége:
- A kitűzött cél elérése.
Elosztott konszenzus protokoll
- Van n csomópont, mindegyike rendelkezik egy bemeneti értékkel. E csomópontok közül
néhány hibás vagy gonosz.

- Az elosztott konszenzus protokoll a következő két tulajdonsággal rendelkezik:


 Terminál, és az összes tisztességes csomópont az adott értékben egyezik
meg.
 Az értéket egy tisztességes csomópont generálja.
b.)
CAP tétel:
- A CAP-tétel (Consistency+ Availability+ Partitiontolerance) kimondja, hogy egy elosztott
adattároló rendszer a három alapvető képesség közül (konzisztencia, rendelkezésre
állás, particionálástűrés) legfeljebb kettőt tud megvalósítani.
 Konzisztencia: Minden lekérés a legutóbbi állapotot adja vissza, vagy hibát.
 Rendelkezésre állás: Minden kérésre válasz érkezik, de nem garantálja, hogy
a legfrissebb verziót adja vissza.
 Particionálástűrés: A rendszer továbbra is működik annak ellenére, hogy a
hálózat tetszőleges számú üzenetet elhagy (vagy késleltet) a csomópontok
között.
- Trilemma: Csak 2 teljesülhet a 3 közül:
- Okok, amik miatt nem teljesülhet egyszerre mind a 3:
o Consistent + Available = Not Partition Tolerant
o Partition Tolerant + Available = Not Consistent
o Partition Tolerant + Consistent = Not Available
c.) SZAVAZÁSON ALAPULÓ KONSZENZUS
PAXOS:
- Görög sziget, de egyben egy konszenzus algoritmus is
- Aszinkron környezetben konszenzust ér el, de nem tudja kezelni a bizánci viselkedést.
o Paxon parlamenten belül:
 Javaslattevő: jogalkotó, aki támogatja egy polgár kérését, kezeli a kérést, és
tájékoztatják róla a csoport többi tagját.
 Elfogadó: jogalkotó, választópolgár, folyamatok, amelyek szavazással
választják ki az értéket.
 Tanuló: emlékszik és végrehajtja az eredményt a polgárok számára, olyan
folyamatok, amelyek tudni akarják, hogy melyik érték lett kiválasztva.
 Határozat:
o az elfogadók többsége
o bármely két határozatnak fednie kell egymást
- A protokoll több fordulón keresztül zajlik ahol minden sikeres fordulónak 3 fázisa van:
előkészítés, elfogadás és tanulás.
1. A polgárok beszélgetnek a javaslattevővel
2. Javaslattevő, Elfogadó, és Tanuló megbeszélik:
A rendeletnek van száma és értéke
A rendelet elfogadásra kerül
3. A tanuló beszél a polgárokkal
- Tegyük fel, hogy olyan folyamatok gyűjteménye, amelyek értékeket javasolhatnak. Egy
konszenzus algoritmus biztosítja, hogy egyetlen egy legyen kiválasztva a javasolt értékek
közül.
- A legfontosabb elképzelés az, hogy a többség képviseli az egészet.
- Gyakorlatban:
o Csak a hibamegállásnál (fail-stop) működik ( a Bizánci hibáknál nem)
o A Paxos számos változata (pl. Egalitarian Paxos, bizánci, Paxos, stb.)
o Jó teljesítmény (gyors)
o Általában nagy adathalmazok
RAFT:
- Egy konszenzus algoritmus, amit a Paxos alternatívájának terveztek.
o Sokkal érthetőbb.
o Vezető-alapú elérés.
o Könnyű megvalósítás.
o JP Morgan’s Quorum
- Működése:
o A raft klaszternek egyetlen választott vezetője van.
 Közvetlenül kommunikál az ügyféllel.
 Felelős a log replikáció menedzseléséért a klaszter többi szerverein.
 Vezet, amíg meghibásodik vagy megszakad a kapcsolat, ebben az esetben új
vezetőt választanak.

o Vezetőválasztás (Leader Election):


1. A vezető "szívveréseket" küld más csomópontoknak, amik azt mondják, hogy
online vannak.
2. Ha más csomópontok már nem kapnak "szívveréseket", választási ciklust
indítanak (a random internal timer).
3. Az első jelölt, aki ’timeout’-ol válik az új vezetővé.
o Log replikáció:
 A vezető elfogadja a kliens kéréseket.
 A vezető biztosra megy, hogy bármely másik csomópont követte a kérést.
d.)
BIZÁNCI HIBATŰRÉS
Példa:
- Egy tábornok és hadnagyai egy város megtámadását tervezik. Arra várnak, hogy a
tábornok kiadja a parancsot a támadásra/visszavonulásra, de nem bíznak senkiben.
Tehát a tábornoknak ki kell adnia egy parancsot, és a hadnagyok megosztják egymás
között a parancsot, hogy érvényes konszenzusra jussanak.
Itt a konszenzusunk akkor érvényes, ha:
 Minden tisztességes hadnagy ugyanazt a parancsot teljesíti.
 Ha a tábornok tisztességes, akkor minden tisztességes hadnagy
engedelmeskedik a tábornok által küldött parancsnak.
o 1/3 probléma: Mindkét esetben az 1-es hadnagy ugyanazt az egymásnak
ellentmondó üzeneteket kapja - nem lehet kideríteni, hogy ki a rosszindulatú.
Általánosíthatjuk: Nincs megoldás, ha >= 1/3 áruló
Bizánci generálisok Blokklánc
Tábornokok Csomópontok
Áruló tábornokok Gonosz csomópontok
Földrajzi távolság Elosztott hálózat
Támadás vagy visszavonulás Konszenzus a megelőző eseményeken
(pl.: tranzakciós log)
A PoW mint valószínűségi megoldás
- Nem lehet biztosra venni, hogy ki milyen eredményt ismer el. Szóval, alapvetően
mindenkinek meg kell oldania a PoW-ot, amikor meg akar osztani egy üzenetet.
o A tábornok parancsot ad egy blokkba, megoldja a PoW-ot, és továbbítja a többi
hadnagynak.
o Ha kapsz egy sajátodnál hosszabb broadcast-olt láncot, akkor elfogadod,
hozzáadsz egy másik blokkot/megoldod a PoW-ot, és újra sugárzod.
o 2 óra elteltével mindenki teljesíti a parancsot a saját láncának első blokkjában.
(elfogadja)
- 1. eset: Vagy M, vagy M' lánc nyer, mindkettő érvényes
2. eset: Az M lánc sokkal nagyobb valószínűséggel nyer, mint az M' lánc
 A 2 óra után a láncon ~12 blokknak kell lennie. Ez azt bizonyítja, hogy a
hadnagyok többségének látnia kellett, hiszen dolgoztak rajta.
Kriptográfia megadása
- Csak az egyszerű üzenet továbbítás példáját néztük meg általános problémára aláírt
(signed) üzenetek használatával
- A blokkláncok is aláírt üzeneteket használnak (lényegében az 1. esetet), de ezt
partíciótűrőbb módon kell megtenniük
NAKAMOTO CONSENSUS
Proof of Work (PoW)
- Koncepciója régebbi, mint a kriptovaluták.
- Satoshi Nakamoto kifejlesztette annak módosított változatát, amely lehetővé tette a
Bitcoin mint BFT rendszer létrehozását.
- Erőforrásokat költünk arra, hogy részt vegyünk a hálózat fejlődésében.
o Pénznem, idő, tár, hírnév.
Proof of Stake
- Validátorok a “bányászok” helyett
- Adott digitális valuta előre meghatározott részét a pénztárcákban lekötve tárolják. Ezt
nevezzük Staking-nek (biztonsági letét).
- Minél nagyobb a letét, annál valószínűbb, hogy javasolhat blokkot. Elveszíti a letétét, ha
gonosz.

Proof of Authority
- Engedélyköteles.
- Korlátozott számú validátor, skálázhatóvá teszi a rendszert.
- Centralizáltság.
Proof of Space
- Lemezterület, aktív tárhely használata a kihívás megoldásához.
- Fájltárolásra is használható
- Limitált

Proof of Elapsed Time


- Időt költi, nem a számítási kapacitást (bányászat)
- Engedélyköteles blokklánc (pl. osztály):
o minden csomópont azonosítható
o minden csomópont elfogadott a hálózatban
- Trusted Execution Environment (TEE) egy adott véletlen ideig vár, majd igazolja, hogy
várt az adott ideig
- Aki először végez a várakozással, az nyer!
- Azzal, hogy minden csomópontnak "pihennie" kell energiatakarékosabb, mint a PoS.
e.)
Bizánci megállapodás
- Elosztott rendszerben, a kvórum csomópontok azon halmaza, mely szükséges a
határozatképességhez.
SZÖVETSÉGI BIZÁNCI MEGÁLLAPODÁS
- A kvórum elosztás problémájára talált megoldást:
Bevezeti a kvórum slices (szeleteket):
o A kvórum azon részhalmaza, amely képes meggyőzni egy adott csomópontot az
egyetértésről.
o Az egyes csomópontok döntenek más résztvevőkről, akikben megbíznak.
- Több kvórum szelet csatlakozásával kapjuk a kvórum metszetet:
o A kvórum szeletek, amelyek összekapcslódnak, lassan meggyőzik a többi kvórum
szeletet és egy "nagyobb" kvórumot alkotnak.
o Máskülönben diszjunkt kvórumokat kapunk, amelyek különböző dolgokban
értenek egyet.
- Decentralizált vezérlés: nincs központi hatóság, amely engedélyezi a konszenzust.
- Alacsony késleltetés: néhány másodperc alatt elért konszenzus.
- Rugalmas bizalom: a csomópontok megválasztják, kiben bíznak, nem kell az egész
hálózatban megbízniuk.

6.) Ethereum és smart szerződések (10)


a.)
Elosztott hálózat:

- Pseudonym, kriptográfiai azonosítók , melyekkel megvalósítható az anonim autentikáció


(költés).
- Demokratikus döntések a konszenzus protokollok által, mely nem tételez fel bizalmat.
- Módosíthatatlan valid főkönyv (Merkle fa).
- Cenzúrázatlan, nem felügyelheti egyetlen fél sem (a teljes hálózat nagy részét kellene
felügyelni).
- Elosztott: nincs központi hibapont.
Szerződés:
- Olyan írásbeli vagy szóbeli megállapodás ..., amelynek célja, hogy jogilag végrehajtható
legyen.
Okos-szerződés:
- Olyan kód, amely megkönnyíti, ellenőrzi vagy hatályba léptet egy digitális szerződés
egyeztetését vagy végrehajtását. (hatályba léptetés + végrehajtás algoritmikus).
- A megbízható szervezetnek ezt a kódot kell futtatnia, hogy konszenzusra jussunk.
b.)
Ethereum:
- Egy decentralizált platform, melyet okosszerződések futtatására terveztek.
o Mint egy elosztott számítógép, futtatja a kódot.
o Elosztott állapotú automata - tranzakciók megváltoztatják a teljes állapotot
- Ethereum természetes eszköze: ether.
Bitcoin:
- Az első sikeres kriptopénz
- Bizalom nélküli
- Megváltoztathatatlan
- Cenzúrázatlan
- Álneves
- Nincs központi meghibásodási pont
- Egy-CPU-egy szavazat
Bitcoin Ethereum
The “Gold Standard” of blockchains Smart Contract Blockchain Platform
Tőke: bitcoins: Tőke: bitcoins
A Bitcoin blokklánc elsődleges célja Finanszírozza a számításokat
Sorba állítja „ingerlőket” (számítást
kérőket)
Egyszerű és robusztus Komplex és funkciógazdag
Stack-based, primitive scripting language, Turing-complete scripting language
not Turing-complete
UTXO-alapú Account-alapú
Valószínű Proof-of-Work marad PoW és PoS keveréke

Ethereum okos-szerződései:
- Autonóm ügynökök, akik az Ethereum hálózaton belül élnek:
o Reagál a külső világra, amikor a tranzakciók (számítási igények) "ingerlik" (amelyek
meghatározott függvényeket hívnak).
o Közvetlen irányítással rendelkeznek:
 belső ether egyenleg
 belső szerződés állapota
- 4 célt szolgál:
o Adatok tárolása és karbantartása
 Az adatok valami hasznosat jelentenek a felhasználók vagy más szerződések
számára
 Pl: szervezeti tagság, amiért fizetni kell
o Nem megbízható felhasználók közötti szerződés vagy kapcsolat kezelése
 Pl: pénzügyi szerződések, biztosítások
o Funkciók biztosítása más szerződésekhez
 Szoftver könyvtár
o Komplex Autentikáció
Az önálló Ethereum bányász:
1. Letölti a teljes Ethereum blokkláncot
2. Ellenőrzi a bejövő tranzakciókat és Futtatja a Smart Contract kódot, melyet a
tranzakciók hívnak meg
3. Generál egy blokkot
4. Talál egy valid nonce-t
5. Broadcastolja a blokkját
6. Profit
AZ ELOSZTOTT SZÁMÍTÓGÉP
- Az Ethereum egy “elosztott számítógép”: minden node lefuttatja az Ethereum
okosszerződését, majd konszenzusra jutnak az új hálózati állapotról.
- Ethereum’s elosztott konszenzus protokollja a Proof-of-Work.

c.)
EVM (Ethereum Virtual Machine)

- The EVM (Ethereum Virtual Machine) egy “mini computer” mely az okosszerződés kódját
futtatja.
- A minden csomóponton a ténylegesen végrehajtott szerződéses kód az EVM kód.
- EVM code: low-level, stack based bytecode language (i.e. JVM bytecode)
- Minden Ethereum csomópont futtatja az EVM-t.
- Végtelen ciklus esetében: A hálózat minden csomópontja örökre megreked a ciklus
végrehajtásában!
- Minden szerződés igényel “gas”-t, melyhez “fuels” szerződéskód futtatása kell
o Minden szerződés igényel “gas”, mely “fuels” szerződéskód futtatását
o Minden tranzakció meghatározza:
 A startgas -t, ami a tranzakció végrehajtás számítási lépéseinek maximális
számát jelenti
 A gasprice , ami a számítási lépésenkénti díjat jelenti, amit a feladó fizet
EVM GAS AND FEES
- Kezdetben: startgas * gasprice (units = ether) levonásra kerülnek a feladó számlájáról
- Ha a szerződés sikeresen végrehajtódik a fennmaradó gázmennyiséget visszatérítik a
feladónak.
- Ha a szerződés kifogy a „gas” –ból mielőtt befejeződik a végrehajtás megszakad, startgas
* gasprice –t nem térítik vissza.
- Üzemanyag vásárlása == elosztott, bizalom nélküli számítási teljesítmény vásárlása.
- Egy DoS-támadást indítani szándékozó támadónak elegendő ethert kell biztosítania a
támadás finanszírozásához
Tranzakció
- A "tranzakció": egy aláírt adat csomag, ami egy külső tulajdonú számláról érkező
üzenetet tartalmaz.
o Az üzenet címzettje
o A küldőt azonosító aláírás
o Az Ether összeg, amit a küldő át akar utalni a címzettnek
o Egy opcionális adat mező
o STARTGAS érték és GASPRICE érték
Message (Üzenet)
- Az üzenetek olyan virtuális objektumok, amik csak az Ethereum futtatási környezetben
léteznek.
o Az üzenet küldője (magától értetődő)
o Az üzenet címzettje
o Az üzenettel küldendő Ether összege
o Egy opcionális adat mező
o STARTGAS érték
Ethereum konklúzió
- Nem a számítási hatékonyság optimalizálásáról szól.
- A rendszer állapotáról való konszenzus elérése anélkül, hogy megbízható harmadik félre
lenne szükségünk
- A szerződések végrehajtása redundánsan replikálódik a csomópontok között  drága,
lassú, memóriaigényes.
Blokklánc használata Központi adatbázis használata
Több felhasználó által használt elosztott Az adatbázist nem kell megosztani, vagy
adatbázis. olyan felek osztják meg, akik megbíznak
egymásban.
Nincs megbízható fél (TTP). Az adatokat bizalmasan kell kezelni.
Fontos a hibatűrés, adatok Összetett és/vagy nagy mennyiségű adatot
módosíthatatlansága vagy cenzúra kell kezelnie.
nélküliség.
Lehetővé kell tenni az adatok szerkesztését.
Költséghatékonyság, a gyorsaság vagy a
hatékonyság fontos.

d.)
Alap esetek:
- Proof-of-Existence:
 Bizonyítja egy bizonyos dokumentum tulajdonjogát annak felfedése nélkül.
 Timestamp (időbélyeg) igazolja a tulajdonjogot adott időpontban
 Használata: Szerverhely bérlése a dokumentumok tárolásához
 Bizonyíték via hash értékekkel
 Integrity biztosítva van
Haladó esetek:
- Előrejelző piacok:
 A tömeg bölcsességére támaszkodik.
 Nincs korlátozás a piac létrehozására vonatkozóan.
 Megosztott likviditási pool.
 Cenzúramentes.
 Automatikus, bizalom nélküli fizetések
 Védelemre van szükség az etikátlan/legális piacokkal szemben.
o Esetei:
 Az információ "megvásárlásának" költséghatékony módja annak, hogy
ösztönözze a bennfentes információkkal rendelkezőket.
 Fedezés és biztosítás
 Biztonsági bug fejpénz
Ellátási lánc és származás
- Az ötlet: az ellátási láncra vonatkozó információk nyomon követése blokkláncon
keresztül (átlátható, megváltoztathatatlan főkönyv).
- Vállalkozások: Hatékony tranzakciók intelligens szerződéseken keresztül, könnyű
nyomon követés és visszahívás.
- Fogyasztók: A termékek átlátható nyilvántartása, a tisztességes kereskedelem, a
fenntarthatóság és az etikus fogyasztói magatartás alkalmazásai.
- Probléma: Meg kell bízni az adatbevitelben. Nincs biztonságos módja a fizikai és a
digitális világ összekapcsolásának.
o Probléma: "véres„ gyémántok:
A Kimberley-folyamat egy kormányzati erőfeszítés, amely megköveteli a
résztvevőktől, hogy igazolják a gyémánt származását.
Korrupt tisztviselők kenőpénzt fogadnak el a tanúsítványok aláírásáért.
A bonyolult ellátási láncok elfedik a tényleges nyomvonalakat.
Everledger: a gyémántok eredete. Rögzíti a gyémánt cáfolhatatlan digitális lábnyomát,
ezt felteszi a blokkláncra, tokenizálja a gyémántot.
SMART ENERGY GRIDS (INTELLIGENS ENERGIAHÁLÓZATOK):
- Probléma: Kiegyensúlyozatlanság egy közösség házainak energiaellátásában.
- Megoldás: Ethereum intelligens szerződés a pénzügyi kötelezettségvállalásoknak.

7.) NFT DAO (11-12)


a.)
NFT:
- Non-fungible tokens = Nem helyettesíthető zseton. Non-fungible (nem helyettesíthető),
mert nem „kicserélhetőek” egyedi tulajdonságuk miatt.
- 2017 óta létezik, működése a Ethereum kriptovaluta blokklánc technológiáján alapul.
- Az NFT képhez, animációhoz, videóhoz, hangfájlhoz kapcsolt bitsztring, mely az
eredetiség igazolására szolgál. A másolatokat egyből felismerik.
o Eladóként korlátozhatjuk a darabszámot sorszámmal ellátva az NFT-t.
o A vásárló pedig Ethereummal licitálhat a tartalomra.
 Példa: CryptoKitties cuki cicás kártyákra emlékeztetnek, és hatalmas
Ethereum-vagyonokért adják-veszik őket. A cicák mögött pedig egy
ethereum blokklánc alapú platform segíti az adás-vételekhez kapcsolódó
azonnali fizetések rendszerét. A kiscicák, tulajdonképpen tokenek. A
macskákkal kapcsolatos adatokat is a decentralizált blokkláncon tárolják.
- POAPs (Proof of attendance protocol): bizonyítja, hogy részt vett egy rendezvényen.
- Bármilyen egyedi eszköz tulajdonjogának képviseletére használható. Művészetet, a
gyűjteményeket vagy akár az ingatlanokat tokenizálhatunk.
 Digitális művészet: GIF-ek, Gyűjtemények, Zene ,Videók.
 Valós világbeli tárgyak: autó tulajdonos, jegyek egy valós világbeli
eseményre, Tokenizált számlák, Jogi dokumentumok.
- Egyszerre csak egy hivatalos tulajdonosa lehet egy tokennek. Senki sem módosíthatja a
tulajdonosok nyilvántartását vagy másolhat/illeszthet be egy új NFT-t.
NFT Internet Internet
Az NFT-k egyediek, nincs két egyforma. Egy file másolata pontosan ugyanolyan,
mint az eredeti.
Minden NFT-nek van egy tulajdonosa, amit Hogy ki egy file tulajdonosa, azt egy
bárki ellenőrizhet. intézmény szervere tárolja, akinek
„elhisszük”.
Bárhol eladhatják munkájukat, és globális Az alkotók az általuk használt platformok
piacra juthatnak. infrastruktúrájára támaszkodnak.
Az alkotók megtarthatják a saját művük A platformok, például a zenei
feletti tulajdonjogot, és közvetlenül streamingszolgáltatások megtartják az
követelhetik a viszonteladási jogdíjakat. eladásokból származó nyereség nagy
részét.
b.)
NFT bányászat
- Az NFT-ket okosszerződéseken keresztül bányásszák ki, amelyek tulajdonjogot rendelnek
hozzájuk és kezelik az átruházhatóságukat.
- Blokklánc szinten:
o Új blokk készítése
o Tranzakciók aláírásainak ellenőrzése
o Bányászás
- NFT jellemzői:
o Minden tokennek egyedi azonosítója van, mely egy Ethereum címhez kötődik
o Az Ethereumon élnek, és bármely Ethereum-alapú NFT-piacon lehet őket vásárolni
és eladni.
- Ha NFT-t vásárolunk, az egyedi token tulajdonjoga a nyilvános címünkön keresztül kerül
át a pénztárcánkba.
A privát kulcsunkon keresztül bizonyítjuk az eredeti tulajdonjogát.
Az aláírt üzenet bizonyítékként szolgál arra, hogy mi birtokoljuk a privát kulcsot anélkül,
hogy azokat bárkinek is felfednénk, és így bizonyítjuk, hogy az NFT is a miénk.
A tartalom létrehozójának nyilvános kulcsa az adott digitális műtárgy hitelességi
tanúsítványaként szolgál.
Az alkotó nyilvános kulcsa lényegében a token történetének állandó része.

c.)
Saját készítésű NFT-m:
- Könnyen bebizonyíthatod, hogy te vagy az alkotó.
- Te határozod meg a ritkasági mutatókat. (pl darabszám)
- Minden egyes eladás után jogdíjat szedhetsz.
- Bármely NFT piacon vagy peer-to-peer piacon eladhatod. Nem vagy egyetlen
platformhoz sem kötve, és nincs szükséged senkire, aki közvetít.
Fizikai termékek:
- A fizikai tárgyak tokenizálása még nem olyan fejlett, mint digitális társaiké. De számos
projekt vizsgálja az ingatlanok, egyedi divatcikkek és egyéb tárgyak tokenizálását.
- Mivel az NFT-k lényegében okiratok/szerződések, egy nap akár autót vagy házat is
vásárolhatunk ETH-val, és cserébe (ugyanabban a tranzakcióban) megkaphatnánk az
okiratot/szerződést NFT-ként.
d.)
Decentralized autonomous organizations (DAOs)
- Decentralizált autonóm szervezetek (DAO)
- Tagok tulajdonában lévő közösségek központi vezetés nélkül.
- Egy biztonságos hely, ahol pénzeszközöket lehet egy adott célra fordítani.
- A döntéseket javaslatok és szavazások szabályozzák, hogy a szervezetben mindenki
hallassa a hangját. Nincs vezérigazgató, aki saját szeszélyei alapján engedélyezhetné a
kiadásokat, és nincs esélye annak, hogy egy kétes pénzügyi igazgató manipulálja a
könyvelést.
- Minden nyilvános, és a kiadásokra vonatkozó szabályok a DAO kódján keresztül
beépülnek a DAO-ba.
DAO Hagyományos szervezetek
Általában egyenletes, és teljesen Általában hierarchikus.
demokratizált.
A változtatások végrehajtásához a tagok A struktúrától függően a változtatásokat
szavazása szükséges. egyetlen féltől lehet követelni, vagy fel
lehet ajánlani a szavazást.
A szavazatok összeszámlálása és az Ha a szavazás engedélyezett, a szavazatok
eredmények automatikus végrehajtása összeszámlálása belsőleg történik, és a
megbízható közvetítő nélkül. szavazás eredményét kézzel kell kezelni.
A kínált szolgáltatásokat automatikusan, Emberi kezelést igényel, vagy központilag
decentralizált módon kezelik (például a vezérelt automatizálást, hajlamos a
jótékonysági alapok elosztása). manipulációra.
Minden tevékenység átlátható és teljes A tevékenységek jellemzően zártkörű, és a
mértékben nyilvános. nyilvánosság számára korlátozott.

You might also like