You are on page 1of 7

Blockchain

Blockchain
Licență
Cherecheșu Mihai-Cristian

1
Anul universitar 2018-2019, Instrumente Informatice
Cherecheșu Mihai-Cristian 313CB

Cuprins

1. Introducere........................................................................3
2. Structura........................................................................... 3
3. Blocurile............................................................................4
4. Atacuri...............................................................................4

2
Anul universitar 2018-2019, Instrumente Informatice
Blockchain

Introducere

Un blockchain este o listă de înregistrări (sau date) în continuă creștere, numite blocuri, care sunt
legate și securizate cu ajutorul criptografiei. Ca structură de date, un blockchain este o listă simplu
înlănțuită, în care legăturile între elemente se fac prin hash. Astfel, fiecare bloc conține de obicei
o legătură către un bloc anterior (un hash al blocului anterior), un timestamp și datele tranzacției.
Blockchainul este „un registru transparent și distribuit care poate înregistra tranzacții între două
părți în mod eficient, verificabil și permanent”. Pentru a fi folosit ca registru distribuit, un
blockchain este de obicei administrat de o rețea colectivă de tip peer-to-peer, ce aderă la un
protocol pentru validarea noilor blocuri.

Structura

Un blockchain este o „carte contabilă” (ledger) descentralizată, distribuită și publică, formată


dintr-o listă de blocuri înlănțuite. Blockchainul este folosit pentru a înregistra tranzacțiile distribuit
(pe mai multe calculatoare), iar înregistrările nu pot fi modificate retroactiv fără alterarea
blocurilor ulterioare. Printr-un blockchain se asigură astfel faptul că fiecare unitate de valoare a
fost transferată doar o singură dată, rezolvând astfel problema de double-spending.
Blockchainurile au fost descrise ca fiind protocoale de schimb de valoare. Aceste schimburi de
valoare pe bază de blockchain pot fi finalizate mai repede, mai sigur și mai ieftin față de sistemele
tradiționale. Un blockchain poate fi folosit pentru a atribui titluri de proprietate, deoarece acesta
oferă o înregistrare permanentă care obligă acceptarea contractului.

Formarea unui lanț de tip blockchain. 1

3
Anul universitar 2018-2019, Instrumente Informatice
Cherecheșu Mihai-Cristian 313CB

Blocurile

Blocurile dețin seturi de tranzacții care sunt indexate și codificate într-o structură specială de date
numită arbore Merkle. Fiecare bloc include hash-ul criptografic al blocului anterior din
blockchain, prin care se leagă astfel cele două blocuri, formând un lanț. Verificarea repetată a
integrității blocurilor precedente poate fi făcută până la începutul lanțului, la „blocul geneză”.

Block 10 Block 11
Prev_Hash Timestamp Prev_Hash Timestamp
Tx_Root Nonce Tx_Root Nonce

Atacuri

Considerăm un scenariu cu un atacator ce vrea să genereze un lanț alternativ, in schimbul unui lanț
cast (are comportament obișnuit). Chiar daca reușește, sistemul nu e dispus la schimbari arbitrare,
precum generarea de valoare din nimic, sau sustragerea banilor care nu apartin atacatorului.
Nodurile nu vor accepta o tranzacție invalidă.
Cursa dintre nodul cast si cel al atacatorului se caracterizează prin Binomial Random Walk.
Succesul reprezinta un extend al nodului cast si astfel se incrementează lead-ul cu +1. În caz
contrar, gap-ul se reduce cu -1. Probabilitatea ca atacatorul, cu deficit, sa fie mai rapid decat nodul
cast se calculează in modul următor:

p = probabilitatea ca nodul cast sa găsească următorul block


q = probabilitatea ca nodul atacatorului sa găsească următorul block
α = probabilitatea ca atacatorul sa prindă, aflandu-se in spate cu z blocuri

1, 𝑑𝑎𝑐𝑎 𝑝 ≤ 𝑞
𝑞 𝑧
α={ }
( ) , 𝑑𝑎𝑐𝑎 𝑝 > 𝑞
𝑝

4
Anul universitar 2018-2019, Instrumente Informatice
Blockchain

𝑝
Progresul potential al atacatorului va avea forma unei distribuții Poisson λ = 𝑧 𝑞 , pe care o vom
𝑞 𝑧−𝑘
λk 𝑒 −λ (𝑝 ) 𝑖𝑓 𝑘 ≤ 𝑧
folosi pentru fiecare progres pe care l-ar putea face atacatorul ∑∞
𝑘=0 ( 𝑘! ) { },
1 𝑖𝑓 𝑘 > 𝑧
după probabiltatea ca ar putea sa revină din punctul unde se situează.

Pentru a evita însumarea cozii infinite de distribuție, facem următoarea rearanjare:


𝑧
λk 𝑒−λ 𝑝 𝑧−𝑘
1− ∑ (1 − ( )
𝑘! 𝑞
𝑘=0

(1)
𝕡(𝑓𝑜𝑟𝑘) = 𝕡(𝑁(𝑋 + 𝛥𝑡) − 𝑁(𝑋) > 1)

𝑇= ∑ 𝑚(𝑖), 𝑤ℎ𝑒𝑟𝑒 𝑚(𝑖) = 𝑚𝑖𝑛𝑖𝑛𝑔 𝑝𝑜𝑤𝑒𝑟 𝑜𝑓 𝑛𝑜𝑑𝑒 𝑖 (2)


𝑛𝑜𝑑𝑒𝑠 ∈𝑠𝑦𝑠𝑡𝑒𝑚

Bibliografie
https://beta.vu.nl/nl/Images/werkstuk-bruyn_tcm235-862258.pdf
https://ro.wikipedia.org/wiki/Blockchain

5
Anul universitar 2018-2019, Instrumente Informatice
Cherecheșu Mihai-Cristian 313CB

CV – Resume
First year student

SKILLS
•C •Data Structures •Bash

•Linux •Math •Agile

LANGUAGES
Romanian
Native or Bilingual Proficiency
English
Full Professional Proficiency
German
Limited Working Proficiency

INTERESTS
Reading Business
Programming
Travelling Sport
Technology News
Startups Cooking

EDUCATION
2018 – 2022
B. Eng, Computer Science and Engineering
Faculty of Automatic Control and Computer Science, University
"Politehnica" Bucharest

2014 – 2018
Mathematics - Informatics
Colegiul National "Unirea"
Baccalaureate diploma: 9,61

PERSONAL PROJECTS
 Kernel Modules(2019)
Synergized the core operating system modules, Memory Management and Process Fair Queueing.
The CPU resource utilization component uses a CFS Scheduler, implemented with a queue. Every process
has a predefined priority, execution time and a PID automatically assigned within a pid-map.
The scheduling algorithm consists in an ordered sort by a specific process comparator. Each entity in the
system has a time quantum, in order to achieve fairness in execution, which portray the context switching.
The Memory Management functionality maps the space and the logical adress to a process, when created,
and defragments the loaded memory.

6
Anul universitar 2018-2019, Instrumente Informatice
Blockchain

 Automated Teller Machine (2019)


Carried out a fully functional ATM simulated data base using and managing a customized data structure.
The card data and the operations executed were stored in a hash table with the array of buckets
substituted by a generic linked list.
The fictive data base handled all types of client / administrator operations and possessed an autonomous
self-enlarging function.

 Tetri - Bit/Pic (2018 / 2019)


Implemented two novel versions of the renowned game "Tetris" using bits and BMP files, respectively.
Developed and implemented the standard mechanics of the game (Gravity, Collisions), the playfield and
the pieces using bitwise operations and decimal-to-binar conversions.
Constructed the piece-blocks using Bitmap file format as a framework and assembled the images with
binary files built-in functions.

 FormART (2018)
Implemented the core word processing functions from Microsoft Word using string manipulation and ASCII
Art.
The essence consisted in operating with string lengths and newline characters from text files on a
paragraph level.
Aligned text files in relation to the edges, wrapped information around defined reference points and fully
justified paragraphs spreading uniformly whitespaces.

ACTIVITIES / COMPETITIONS
1. Google Hash Code (02/2019)
2. Case Study - VWI ESTIEM (07/2018)
Developed a solution to the fictive problem brought by the Microsoft representatives. We were given leeway to
think and portray an university in step with Digital Transformation, using Microsoft technologies.

ACHIEVEMENTS
Nationwide Test (2014)
Earned the 1% National Evaluation Award at the final gymnasium cycle for scoring a perfect 10 average in the
high school admission exams.

7
Anul universitar 2018-2019, Instrumente Informatice

You might also like