User Tools

Site Tools


tanszek:oktatas:blockchain_technologia_es_virtualis_fizetoeszkoezoek

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tanszek:oktatas:blockchain_technologia_es_virtualis_fizetoeszkoezoek [2024/11/19 16:32] – [Hash kódok] kneheztanszek: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 //közvetítők nélkül hajtsanak végre különböző tranzakciókat. 
-// 
-===== Blockchain alapok ===== 
-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. 
- 
-  * **Decentralizáltság**: A blockchain technológia alapja, hogy nincs központi hatóság, ami irányítaná vagy ellenőrizné az adatokat. 
-  * **Átláthatóság**: Minden résztvevő láthatja a tranzakciókat, de a résztvevők személyazonossága anonim marad. 
-  * **Változtathatatlanság**: Miután egy blokk hozzáadásra kerül a lánchoz, nem lehet azt módosítani anélkül, hogy az egész láncot ne változtatnák meg, ami rendkívül nehéz. 
- 
-===== Hogyan működik a blockchain? ===== 
- 
-Eredeti cikk, szerzője álnéven írta: https://web.archive.org/web/20140320135003/https://bitcoin.org/bitcoin.pdf 
- 
-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, ezzel biztosítva a lánc folyamatosságát és változtathatatlanságá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://edu.iit.uni-miskolc.hu/tanszek:oktatas:infrendalapjai_architekturak:informacio_titkositas_es_hitelesites:jelszo_tarolas| egyszerű hash]]
  
 === Hash-függvények főbb jellemzői === === Hash-függvények főbb jellemzői ===
Line 35: 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! → ''a591a6d40bf420404a011733cfb7b190''
 +      * hello, World! → ''934acb356d42d04c21a261c15bf6a95d''
  
-**Példa**:+** Ismertebb változatok **
  
-HelloWorld! → ''a591a6d40bf420404a011733cfb7b190''+  * **MD5**: Régide 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! → ''934acb356d42d04c21a261c15bf6a95d''+==== Hash alkalmazási területei ====
  
-** Ismertebb változatok **+  * **Jelszótárolás**: a jelszavakat nem tároljuk közvetlenül, hanem a hash kódját. 
 +  * **Digitális aláírás**: hitelesítéskor elég a hash-t aláírni digitálisan, nem kell a teljes dokumentumot. 
 +  * **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**: Jobbde már gyengenem 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 Ethereumlehetővé tették az emberek számárahogy //közvetítők nélkül hajtsanak végre különböző tranzakciókat.//
  
-**SHA-256** (Secure Hash Algorithm): A modern blockchain rendszerekben (plBitcoin) használt hash.+A blockchain egy **decentralizált adatbázis**, amely az adatok folyamatosan növekvő listáját, úgynevezett blokkokat tartalmazzaMinden 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ánymég erősebb biztonság.+  * **Decentralizáltság**: A blockchain technológia alapjahogy nincs központi hatóság, ami irányítaná vagy ellenőrizné az adatokat. 
 +  * **Átláthatóság**: Minden résztvevő láthatja a tranzakciókat, de a résztvevők személyazonossága anonim marad. 
 +  * **Változtathatatlanság**: Miután egy blokk hozzáadásra kerül a lánchoz, nem lehet azt módosítani anélkül, hogy az egész láncot ne változtatnák meg, ami rendkívül nehéz.
  
-==== Hash alkalmazási területei ====+===== Hogyan működik? ===== 
 + 
 +Eredeti cikk, szerzője álnéven írta: https://web.archive.org/web/20140320135003/https://bitcoin.org/bitcoin.pdf 
 + 
 +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, ezzel biztosítva a lánc folyamatosságát és változtathatatlanságát.
  
-  * **Jelszótárolás**: a jelszavakat nem tároljuk közvetlenül, hanem a hash kódját. 
-  * ** 
 ==== Blokklánc felépítése ==== ==== Blokklánc felépítése ====
  
Line 73: Line 71:
  
 {{:tanszek:oktatas:pasted:20241119-160010.png?500}} {{:tanszek:oktatas:pasted:20241119-160010.png?500}}
 +
 +=== 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, amely alapján megállapíthatják a tranzakciók helyességét (pl. elegendő egyenleg, aláírások hitelessége).
 +
 +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://www.blockchain.com/explorer/assets/btc Valóságos blokklánc: https://www.blockchain.com/explorer/assets/btc
 +
 +=== "Jogos" alkalmazások ===
 +
 +  * 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, például a források elosztásáról vagy projektek jóváhagyásáról. 
 +  * Jogviták kezelése: A szavazási alapú konszenzus használható decentralizált döntéshozatalban, például okosszerződések vitás helyzeteinek feloldására.
  
 ===== Kriptovaluták ===== ===== Kriptovaluták =====
Line 94: Line 104:
   * **1. példa**: Egy biztosítási szerződés, amely automatikusan kártérítést fizet, ha egy előre meghatározott esemény bekövetkezik (pl. egy járat késik).   * **1. példa**: Egy biztosítási szerződés, amely automatikusan kártérítést fizet, ha egy előre meghatározott esemény bekövetkezik (pl. egy járat késik).
  
 +<sxh javascript>
 +pragma solidity ^0.8.0;
 +
 +contract FlightDelayInsurance {
 +    struct Policy {
 +        address insured;  // A biztosított személy címe
 +        uint256 premium;  // A biztosítási díj (premium)
 +        uint256 payout;   // A kártérítési összeg
 +        bool active;      // Aktív-e a biztosítás
 +        bool paidOut;     // Kifizetés megtörtént-e
 +    }
 +
 +    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, uint256 premium, uint256 payout);
 +    event CompensationPaid(address indexed insured, string flightNumber, uint256 amount);
 +
 +    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, uint256 payout) public payable {
 +        require(msg.value > 0, "Biztosítási díjat (premium) kell fizetni.");
 +        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, flightNumber, msg.value, payout);
 +    }
 +
 +    // 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, "Ez a biztosítás már nem aktív.");
 +        require(!policy.paidOut, "A kártérítést már kifizették.");
 +
 +        // Kifizetés
 +        policy.paidOut = true;
 +        policy.active = false;
 +
 +        payable(policy.insured).transfer(policy.payout);
 +        emit CompensationPaid(policy.insured, flightNumber, policy.payout);
 +    }
 +
 +    // 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);
 +    }
 +}
 +
 +</sxh>
 ===== 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.1732033935.txt.gz · Last modified: 2024/11/19 16:32 by knehez