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:34] – [Hash alkalmazási területei] 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? ===== | ||
- | |||
- | 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 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 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! → '' | ||
+ | * 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**: | ||
- | ==== Hash alkalmazási területei | + | ===== Hogyan működik? ===== |
- | * **Jelszótárolás**: a jelszavakat nem tároljuk közvetlenül, hanem a hash kódját. | + | 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 tranzakciók adatainak csoportosítása blokkokba. | ||
+ | | ||
+ | | ||
==== Blokklánc felépítése ==== | ==== Blokklánc felépítése ==== | ||
Line 75: | Line 71: | ||
{{: | {{: | ||
+ | |||
+ | === 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:// | 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 96: | 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.1732034063.txt.gz · Last modified: 2024/11/19 16:34 by knehez