diff --git a/chapters/2.theoretical-background/2.0.theoretical-background.tex b/chapters/2.theoretical-background/2.0.theoretical-background.tex index 0bf6f66..70da92f 100644 --- a/chapters/2.theoretical-background/2.0.theoretical-background.tex +++ b/chapters/2.theoretical-background/2.0.theoretical-background.tex @@ -2,8 +2,9 @@ \input{chapters/2.theoretical-background/2.1.hash-functions} \input{chapters/2.theoretical-background/2.2.asymmetric-cryptography} -\input{chapters/2.theoretical-background/2.3.p2p-networks} -\input{chapters/2.theoretical-background/2.4.blockchain} -\input{chapters/2.theoretical-background/2.5.smart-contracts} -\input{chapters/2.theoretical-background/2.6.distributed-databases} -\input{chapters/2.theoretical-background/2.7.decentralized-apps} +\input{chapters/2.theoretical-background/2.3.merkle-trees} +\input{chapters/2.theoretical-background/2.4.p2p-networks} +\input{chapters/2.theoretical-background/2.5.blockchain} +\input{chapters/2.theoretical-background/2.6.smart-contracts} +\input{chapters/2.theoretical-background/2.7.distributed-databases} +\input{chapters/2.theoretical-background/2.8.decentralized-apps} diff --git a/chapters/2.theoretical-background/2.3.merkle-trees.tex b/chapters/2.theoretical-background/2.3.merkle-trees.tex new file mode 100644 index 0000000..45af892 --- /dev/null +++ b/chapters/2.theoretical-background/2.3.merkle-trees.tex @@ -0,0 +1,16 @@ +\section{Δένδρα Merkle} + +Ένα δένδρο Merkle (Merkle tree ή hash tree) είναι μία δενδρική δομή δεδομένων, η οποία απαρτίζεται από φύλλα (leaf nodes), που περιέχουν hashes από blocks δεδομένων, και από άλλους κόμβους (non-leaf nodes), οι οποίοι περιέχουν τα hashes των θυγατρικών τους. Στην κορυφή του δένδρου βρίσκεται το λεγόμενο root hash. %TODO add reference: https://en.wikipedia.org/wiki/Merkle_tree + +Η πιο συνηθισμένη υλοποίηση είναι το δυαδικό (binary) δένδρο Merkle, το οποίο περιλαμβάνει δύο θυγατρικούς κόμβους (child nodes) κάτω από κάθε γονικό non-leaf κόμβο, και είναι αυτό που αναλύεται στη συνέχεια. + +%TODO create and add image of a binary hash tree like: https://en.wikipedia.org/wiki/File:Hash_Tree.svg + +Τα Merkle trees επιτρέπουν την αποδοτική και ασφαλή επαλήθευση των περιεχομένων που ανήκουν σε σετ δεδομένων μεγάλου μεγέθους. Η βασική ιδιότητα είναι ότι για κάθε σετ δεδομένων υπάρχει ακριβώς ένα πιθανό δένδρο, το οποίο δε γίνεται να τροποποιηθεί χωρίς να αλλάξει ταυτόχρονα και το root hash. + +Έτσι, μέσω των λεγόμενων Merkle proofs, μπορούμε: %TODO add reference: https://medium.com/crypto-0-nite/merkle-proofs-explained-6dd429623dc5 +\begin{itemize} + \item Να αποφανθούμε εάν κάποια δεδομένα ανήκουν στο δένδρο (με τον αριθμό των hashes που θα πρέπει να υπολογιστούν να είναι ανάλογος του λογαρίθμου του αριθμού των leaf nodes). + \item Να αποδείξουμε συνοπτικά την εγκυρότητα ενός τμήματος κάποιου σετ δεδομένων, χωρίς να χρειαστεί να αποθηκεύσουμε ολόκληρο το σύνολο δεδομένων. + \item Να διασφαλίσουμε την εγκυρότητα ενός συγκεκριμένου συνόλου δεδομένων εντός ενός μεγαλύτερου σύνολου, χωρίς να χρειαστεί να αποκαλυφθεί το περιεχόμενο οποιουδήποτε εκ των δύο. +\end{itemize} diff --git a/chapters/2.theoretical-background/2.3.p2p-networks.tex b/chapters/2.theoretical-background/2.4.p2p-networks.tex similarity index 100% rename from chapters/2.theoretical-background/2.3.p2p-networks.tex rename to chapters/2.theoretical-background/2.4.p2p-networks.tex diff --git a/chapters/2.theoretical-background/2.4.blockchain.tex b/chapters/2.theoretical-background/2.5.blockchain.tex similarity index 100% rename from chapters/2.theoretical-background/2.4.blockchain.tex rename to chapters/2.theoretical-background/2.5.blockchain.tex diff --git a/chapters/2.theoretical-background/2.5.smart-contracts.tex b/chapters/2.theoretical-background/2.6.smart-contracts.tex similarity index 100% rename from chapters/2.theoretical-background/2.5.smart-contracts.tex rename to chapters/2.theoretical-background/2.6.smart-contracts.tex diff --git a/chapters/2.theoretical-background/2.6.distributed-databases.tex b/chapters/2.theoretical-background/2.7.distributed-databases.tex similarity index 100% rename from chapters/2.theoretical-background/2.6.distributed-databases.tex rename to chapters/2.theoretical-background/2.7.distributed-databases.tex diff --git a/chapters/2.theoretical-background/2.7.decentralized-apps.tex b/chapters/2.theoretical-background/2.8.decentralized-apps.tex similarity index 100% rename from chapters/2.theoretical-background/2.7.decentralized-apps.tex rename to chapters/2.theoretical-background/2.8.decentralized-apps.tex diff --git a/thesis.pdf b/thesis.pdf index d66f1d7..fd916c7 100644 Binary files a/thesis.pdf and b/thesis.pdf differ