blockchain - university of belgrade · microsoft powerpoint - 11 blockchain author: pv created...

17
Blockchain (bitcoin tip)

Upload: others

Post on 17-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Blockchain

(bitcoin tip)

Page 2: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Centralizovana i decentralizovana

provera transakcija

Page 3: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Decentralizovana provera transakcija

• Ne postoji jedan entitet koji je zadužen za održavanje i verifikaciju spiska transakcija

• Svi učesnici su zaduženi za održavanje spiska i zajedno ga čuvaju

• Mehanizam kojim se garantuje autentičnost i vrši provera transakcija održava više učesnika i zasniva se na kriptografskim algoritmima

• Blockchain je struktura podataka kojima se omogućava distribuirana provera transakcija

Page 4: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Struktura blockchaina

• Blockchain je linearna sekvenca blokova u kojima se nalaze podaci o transakcijama (događajima) koje su se desile u nekom vremenskom periodu

• Svaki blok ima jednog pretka i jednog naslednika

• Novi blok se dodaje na kraj blockchain niza – blockchain uvek raste

• Napadaču je računski teško da izvrši promenu sadržaja bilo kog bloka zbog postojanja kriptografskih mehanizama

Page 5: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Mehanizam funkcionisanja

• Korisnik ima svoj novčanik (wallet) u kojem ima neku svotu bitcoin-a

• Wallet ima adresu (oznaku korisnika – hash javnog ključa base58), log transakcija i par asimetričnih ključeva (za 256-bit EC DSA)

• Sve se čuva u wallet fajlu

• https://bitinfocharts.com/top-100-richest-bitcoin-addresses.html

Page 6: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Transakcija

• Jednostavna transakcija prenosa 50 BTC

• Input – hash prethodne transakcije (ili više tx)

• Prenosi se iz outputa 0 50 BTC ka 0x4043...

• scriptSig – javni ključ i potpis onoga koji plaća

• Potpis (previous tx, Index, Value, scriptPubKey)

• scriptPubKey – identifikator onoga kome se plaća

Page 7: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Sadržaj bloka

Page 8: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Veza između blokova

• Magic Number: 0xD9B4BEF9

• Mining difficulty –težina hashcash problema

• Nonce se menja dok se ne dobije odgovarajući hash

• Ako je neparan broj transakcija poslednja transakcija se duplira kako bi se izračunali hash-evi Merkle stabla

Page 9: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

„Rudarenje“ bitcoina – potvrda

transakcija

• Pronalaženje nonce vrednosti koja zadovoljava mining difficulty.

• Mining difficulty mora da se povećava sa rastom broja učesnika

• Primer – 30 vodećih 0 u hash-u– Hash 256 bita

– 230 pokušaja da se dobije odgovarajući hash

• Sigurnost:– Napadač želi da promeni neku transakciju i ubaci je u

blockchain. Treba da napravi takvu promenu koja daje isti hash.

– Collision resistance attack – zbog birthday paradoksa potrebno mu je 2128 pokušaja.

Page 10: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Drugi mehanizmi potvrde transakcija

(konsenzusa)

• Proof-of-work – Bitcoin

• Proof-of-stake – peercoin, nxt, blackcoin,

Ethereum

• Proof-of-Burn - Slimcoin

• Proof-of-Retrievability - permacoin

Page 11: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Grananja blockchaina

• Ako dva minera u

približno isto vreme

pronađu nonce može da

dođe do grananja lanca

• Ovo nije regularna

situacija i rešava se

vremenom

Page 12: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Veličina bitcoin blockchaina

• Ne mora svaki korisnik da ima kompletnu

kopiju blockchaina (različite vrste klijenata)

Page 13: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Broj bitcoin nodova

• https://bitnodes.earn.com/

Page 14: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Podaci o transakcijama (maj 2019)

• https://www.blockchain.com/en/charts

• 1,2MB veličina jednog bloka

• ≈ 2600 transakcija u bloku

• 38.000.000 walleta

• Najveći mineri:

Page 15: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Vreme potvrde transakcije

Page 16: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Razne primene

• Smart contracts

• Razne vrste poslovnih transakcija

• Identity management

• IoT digitalni identiteti

• ...

Page 17: Blockchain - University of Belgrade · Microsoft PowerPoint - 11 Blockchain Author: PV Created Date: 4/27/2020 7:03:34 PM

Literatura

• Sav sadržaj prezentacije je preuzet iz:

A Blockchain Tutorial (strane 2-25):

– http://ipj.dreamhosters.com/wp-

content/uploads/2017/12/ipj20-3.pdf