tanszek:oktatas:blockchain_technologia_es_virtualis_fizetoeszkoezoek
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| tanszek:oktatas:blockchain_technologia_es_virtualis_fizetoeszkoezoek [2024/11/19 16:14] – [Hash kódok] knehez | tanszek:oktatas:blockchain_technologia_es_virtualis_fizetoeszkoezoek [2024/11/21 17:32] (current) – [Okosszerződések (Smart Contracts)] knehez | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Blockchain technológia és virtuális fizetőeszközök ====== | ====== Blockchain technológia és virtuális fizetőeszközök ====== | ||
| - | |||
| - | A blockchain technológia ~2010-től forradalmasította az adatok kezelését és a virtuális fizetőeszközök működését. A decentralizált rendszerek, mint a Bitcoin és az Ethereum, lehetővé tették az emberek számára, hogy // | ||
| - | // | ||
| - | ===== Blockchain alapok ===== | ||
| - | A blockchain egy **decentralizált adatbázis**, | ||
| - | |||
| - | * **Decentralizáltság**: | ||
| - | * **Átláthatóság**: | ||
| - | * **Változtathatatlanság**: | ||
| - | |||
| - | ===== Hogyan működik a blockchain? ===== | ||
| - | A blockchain technológia működési elve egyszerű, és rendkívül biztonságos: | ||
| - | - A tranzakciók adatainak csoportosítása blokkokba. | ||
| - | - A blokkok hozzáadása a lánchoz, miután a résztvevők (node-ok) konszenzusra jutottak, hogy a tranzakciók érvényesek. | ||
| - | - Minden blokk tartalmazza az előző blokk kriptográfiai lenyomatát, | ||
| ==== Hash kódok ==== | ==== Hash kódok ==== | ||
| A hash egy fix hosszúságú alfanumerikus (számokból és betűkből álló) kód, amely az eredeti adat rövidített ujjlenyomata. | A hash egy fix hosszúságú alfanumerikus (számokból és betűkből álló) kód, amely az eredeti adat rövidített ujjlenyomata. | ||
| + | |||
| + | Egyszerű hash kód: [[https:// | ||
| === Hash-függvények főbb jellemzői === | === Hash-függvények főbb jellemzői === | ||
| Line 32: | Line 19: | ||
| * Jó a szórása | * Jó a szórása | ||
| * A bemenet kis módosítása (akár egyetlen karakter változtatása) jelentősen megváltoztatja a hash kódot. | * A bemenet kis módosítása (akár egyetlen karakter változtatása) jelentősen megváltoztatja a hash kódot. | ||
| + | * Hello, World! → '' | ||
| + | * hello, World! → '' | ||
| - | **Példa**: | + | ** Ismertebb változatok |
| - | Hello, World! → '' | + | * **MD5**: Régi, de már nem biztonságos hash-függvény. |
| + | * **SHA-1**: Jobb, de már gyenge, nem ajánlott használata. | ||
| + | * **SHA-256** (Secure Hash Algorithm): A modern blockchain rendszerekben (pl. Bitcoin) használt hash. | ||
| + | * **SHA-3**: Újabb szabvány, még erősebb biztonság. | ||
| - | hello, World! → '' | + | ==== Hash alkalmazási területei ==== |
| - | ** Ismertebb változatok | + | |
| + | * **Digitális aláírás**: | ||
| + | * **Proof of work**: lásd az alábbiakban. | ||
| - | **MD5**: Régi, de már nem biztonságos hash-függvény. | + | ===== Blockchain alapok ===== |
| - | **SHA-1**: Jobb, de már gyenge, nem ajánlott használata. | + | A blockchain technológia ~2010-től forradalmasította az adatok kezelését és a virtuális fizetőeszközök működését. A decentralizált rendszerek, mint a Bitcoin és az Ethereum, lehetővé tették az emberek számára, hogy // |
| - | **SHA-256** (Secure Hash Algorithm): A modern blockchain rendszerekben (pl. Bitcoin) használt hash. | + | A blockchain egy **decentralizált adatbázis**, amely az adatok folyamatosan növekvő listáját, úgynevezett blokkokat tartalmazza. Minden blokk kapcsolódik az előzőhöz egy kriptográfiai algoritmus révén, biztosítva a lánc integritását és biztonságát. |
| - | **SHA-3**: Újabb szabvány, még erősebb biztonság. | + | |
| + | * **Átláthatóság**: | ||
| + | * **Változtathatatlanság**: | ||
| + | |||
| + | ===== Hogyan működik? ===== | ||
| + | |||
| + | Eredeti cikk, szerzője álnéven írta: https:// | ||
| + | |||
| + | A blockchain technológia működési elve egyszerű, és rendkívül biztonságos: | ||
| + | | ||
| + | - A blokkok hozzáadása a lánchoz, miután a résztvevők (node-ok) konszenzusra jutottak, hogy a tranzakciók érvényesek. | ||
| + | - Minden blokk tartalmazza az előző blokk kriptográfiai lenyomatát, | ||
| + | |||
| + | ==== Blokklánc felépítése ==== | ||
| + | |||
| + | === Proof of work === | ||
| + | |||
| + | A Proof-of-Work (**PoW**) egy olyan konszenzusmechanizmus, | ||
| + | |||
| + | ** Hogyan működik? ** | ||
| + | |||
| + | **Blokk létrehozása**: Egy adott blokk tartalmazza a tranzakciók listáját, a korábbi blokk hash-ét és más adatokat. A bányászok versenyeznek, | ||
| + | |||
| + | **Feladat**: | ||
| + | |||
| + | A bányászok ezt próbálgatással (brute force) oldják meg, a hash-t addig számolják újra különböző nonce értékekkel, | ||
| + | |||
| + | Online szimulátor: | ||
| {{: | {{: | ||
| + | |||
| + | === Szavazás alapú hitelesítés === | ||
| + | A hálózat résztvevői (csomópontok) szavaznak arról, hogy egy adott blokk vagy tranzakció érvényes-e. A csomópontok rendelkeznek azzal az információval, | ||
| + | |||
| + | A hálózat meghatároz egy küszöbértéket (pl. 51% vagy 67%), amelyet el kell érni az elfogadáshoz. Például, ha két blokk érkezik egy időben, a többségi szavazás dönt. | ||
| + | |||
| + | |||
| + | Valóságos blokklánc: https:// | ||
| + | |||
| + | === " | ||
| + | |||
| + | * Elektronikus szavazás (e-voting): A blockchain hálózat minden szavazatot hitelesít, és a többségi döntés automatikusan végrehajtásra kerül. | ||
| + | * Decentralizált Autonóm Szervezetek (DAO-k): A szavazás biztosítja a közösség által irányított működést, | ||
| + | * Jogviták kezelése: A szavazási alapú konszenzus használható decentralizált döntéshozatalban, | ||
| ===== Kriptovaluták ===== | ===== Kriptovaluták ===== | ||
| Line 69: | Line 104: | ||
| * **1. példa**: Egy biztosítási szerződés, | * **1. példa**: Egy biztosítási szerződés, | ||
| + | <sxh javascript> | ||
| + | pragma solidity ^0.8.0; | ||
| + | |||
| + | contract FlightDelayInsurance { | ||
| + | struct Policy { | ||
| + | address insured; | ||
| + | uint256 premium; | ||
| + | uint256 payout; | ||
| + | bool active; | ||
| + | bool paidOut; | ||
| + | } | ||
| + | |||
| + | address public owner; // A biztosító címe | ||
| + | mapping(string => Policy) public policies; // Járatszámhoz kötött biztosítási szerződések | ||
| + | |||
| + | event PolicyPurchased(address indexed insured, string flightNumber, | ||
| + | event CompensationPaid(address indexed insured, string flightNumber, | ||
| + | |||
| + | constructor() { | ||
| + | owner = msg.sender; // A szerződést deployoló fél lesz a biztosító | ||
| + | } | ||
| + | |||
| + | modifier onlyOwner() { | ||
| + | require(msg.sender == owner, "Csak a biztosító végezheti ezt a műveletet." | ||
| + | } | ||
| + | |||
| + | // Biztosítás vásárlása | ||
| + | function purchasePolicy(string memory flightNumber, | ||
| + | require(msg.value > 0, " | ||
| + | require(policies[flightNumber].insured == address(0), "Ehhez a járathoz már van biztosítás." | ||
| + | |||
| + | policies[flightNumber] = Policy({ | ||
| + | insured: msg.sender, | ||
| + | premium: msg.value, | ||
| + | payout: payout, | ||
| + | active: true, | ||
| + | paidOut: false | ||
| + | }); | ||
| + | |||
| + | emit PolicyPurchased(msg.sender, | ||
| + | } | ||
| + | |||
| + | // Kártérítés kifizetése késés esetén (az orákulum adatai alapján) | ||
| + | function payCompensation(string memory flightNumber) public onlyOwner { | ||
| + | Policy storage policy = policies[flightNumber]; | ||
| + | require(policy.active, | ||
| + | require(!policy.paidOut, | ||
| + | |||
| + | // Kifizetés | ||
| + | policy.paidOut = true; | ||
| + | policy.active = false; | ||
| + | |||
| + | payable(policy.insured).transfer(policy.payout); | ||
| + | emit CompensationPaid(policy.insured, | ||
| + | } | ||
| + | |||
| + | // Szerződés egyenlegének lekérdezése | ||
| + | function getBalance() public view onlyOwner returns (uint256) { | ||
| + | return address(this).balance; | ||
| + | } | ||
| + | |||
| + | // Külső forrásból származó információk frissítése (orákulum szimulációja) | ||
| + | function handleFlightDelay(string memory flightNumber) public onlyOwner { | ||
| + | // Ez a függvény szimulálja a repülési késés adatok fogadását | ||
| + | // és automatikusan meghívja a kártérítést kifizető függvényt | ||
| + | payCompensation(flightNumber); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| ===== Virtuális fizetőeszközök előnyei és kihívásai ===== | ===== Virtuális fizetőeszközök előnyei és kihívásai ===== | ||
| * **Előnyök**: | * **Előnyök**: | ||
tanszek/oktatas/blockchain_technologia_es_virtualis_fizetoeszkoezoek.1732032859.txt.gz · Last modified: 2024/11/19 16:14 by knehez
