Browse Source

fix: ch. 2 diagrams

develop
Ezerous 3 years ago
parent
commit
4eb27ad033
  1. BIN
      assets/figures/chapter-2/2.1.hash-functions-1.png
  2. BIN
      assets/figures/chapter-2/2.1.hash-functions-2.png
  3. 5
      bibliography/references.bib
  4. 4
      chapters/2.theoretical-background/2.1.hash-functions.tex
  5. 2
      chapters/2.theoretical-background/2.3.merkle-trees.tex
  6. 2
      chapters/2.theoretical-background/2.5.blockchain.tex
  7. 3
      chapters/2.theoretical-background/2.7.ipfs.tex
  8. BIN
      thesis.pdf

BIN
assets/figures/chapter-2/2.1.hash-functions-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 KiB

After

Width:  |  Height:  |  Size: 138 KiB

BIN
assets/figures/chapter-2/2.1.hash-functions-2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 KiB

After

Width:  |  Height:  |  Size: 411 KiB

5
bibliography/references.bib

@ -95,11 +95,6 @@
title = {IPFS documentation}, title = {IPFS documentation},
url = {https://docs.ipfs.io/} url = {https://docs.ipfs.io/}
} }
@misc{2.7-merkle-dags-proto-school,
title = {Merkle DAGs: Structuring Data for the Distributed Web},
author = {ProtoSchool},
url = {https://proto.school/merkle-dags/}
}
@online{4.1-github-flow, @online{4.1-github-flow,
title = {Understanding the GitHub flow}, title = {Understanding the GitHub flow},
author = {GitHub Guides}, author = {GitHub Guides},

4
chapters/2.theoretical-background/2.1.hash-functions.tex

@ -4,7 +4,7 @@
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.95\textwidth]{assets/figures/chapter-2/2.1.hash-functions-1.png} \includegraphics[width=.9\textwidth]{assets/figures/chapter-2/2.1.hash-functions-1.png}
\caption{Λειτουργία συνάρτησης κατακερματισμού} \caption{Λειτουργία συνάρτησης κατακερματισμού}
\end{figure} \end{figure}
@ -19,7 +19,7 @@
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.95\textwidth]{assets/figures/chapter-2/2.1.hash-functions-2.png} \includegraphics[width=.9\textwidth]{assets/figures/chapter-2/2.1.hash-functions-2.png}
\caption{Παράδειγμα λειτουργίας συνάρτησης κατακερματισμού} \caption{Παράδειγμα λειτουργίας συνάρτησης κατακερματισμού}
\end{figure} \end{figure}

2
chapters/2.theoretical-background/2.3.merkle-trees.tex

@ -6,7 +6,7 @@
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[width=.95\textwidth]{assets/figures/chapter-2/2.3.merkle-tree.png} \includegraphics[width=.85\textwidth]{assets/figures/chapter-2/2.3.merkle-tree.png}
\caption{Παράδειγμα δυαδικού δένδρου Merkle} \caption{Παράδειγμα δυαδικού δένδρου Merkle}
\end{figure} \end{figure}

2
chapters/2.theoretical-background/2.5.blockchain.tex

@ -1,6 +1,6 @@
\section{Blockchain} \label{section:2-5-blockchain} \section{Blockchain} \label{section:2-5-blockchain}
Το blockchain αποτελεί μία διανεμημένη δημόσια σειρά δεδομένων, που διατηρεί έναν αμετάβλητο ως προς το ιστορικό του κατάλογο (immutable ledger) ψηφιακών συναλλαγών (digital transactions) ενός αγαθού (asset), π.χ. ενός νομίσματος (currency ή token). Περιγράφηκε για πρώτη φορά το 2008 από ένα άτομο (ή μία ομάδα ανθρώπων) γνωστό ως Satoshi Nakamoto, αποτελώντας τη βάση του κρυπτονομίσματος (cryptocurrency) Bitcoin.\cite{2.5-bitcoin} Το blockchain αποτελεί μία διανεμημένη δημόσια σειρά δεδομένων, που διατηρεί έναν αμετάβλητο ως προς το ιστορικό του κατάλογο (immutable ledger) ψηφιακών συναλλαγών (digital transactions) ενός αγαθού (asset), π.χ. ενός νομίσματος (currency ή token). Περιγράφηκε για πρώτη φορά το 2008 από ένα άτομο (ή μία ομάδα ανθρώπων) με το ψευδώνυμο Satoshi Nakamoto, αποτελώντας τη βάση του κρυπτονομίσματος (cryptocurrency) Bitcoin.\cite{2.5-bitcoin}
Δομικό στοιχείο του blockchain είναι το μπλοκ (block), το οποίο περιέχει μία ομάδα έγκυρων συναλλαγών που έχουν κατακερματιστεί και κωδικοποιηθεί σε ένα δένδρο Merkle, το hash του προηγούμενου μπλοκ και μερικά ακόμα μεταδεδομένα (π.χ. nonce, timestamp). Έτσι, κάθε νέο μπλοκ "δείχνει" στο προηγούμενό του μέσω του hash, επιβεβαιώνοντας την ακεραιότητά του, με τα διαδεχόμενα μπλοκ να σχηματίζουν τελικά μία αλυσίδα, μέχρι το αρχικό μπλοκ, το οποίο είναι γνωστό ως το μπλοκ γένεσης (genesis block).\cite{2.5-blockchain} Δομικό στοιχείο του blockchain είναι το μπλοκ (block), το οποίο περιέχει μία ομάδα έγκυρων συναλλαγών που έχουν κατακερματιστεί και κωδικοποιηθεί σε ένα δένδρο Merkle, το hash του προηγούμενου μπλοκ και μερικά ακόμα μεταδεδομένα (π.χ. nonce, timestamp). Έτσι, κάθε νέο μπλοκ "δείχνει" στο προηγούμενό του μέσω του hash, επιβεβαιώνοντας την ακεραιότητά του, με τα διαδεχόμενα μπλοκ να σχηματίζουν τελικά μία αλυσίδα, μέχρι το αρχικό μπλοκ, το οποίο είναι γνωστό ως το μπλοκ γένεσης (genesis block).\cite{2.5-blockchain}

3
chapters/2.theoretical-background/2.7.ipfs.tex

@ -13,8 +13,9 @@
\begin{enumitemcenteredfigure} \begin{enumitemcenteredfigure}
\includegraphics[width=.95\textwidth]{assets/figures/chapter-2/2.7.merkle-dag.png} \includegraphics[width=.95\textwidth]{assets/figures/chapter-2/2.7.merkle-dag.png}
\caption{Merkle DAG\cite{2.7-merkle-dags-proto-school}} \caption[Παράδειγμα Merkle DAG]{Παράδειγμα Merkle DAG\footnotemark}
\end{enumitemcenteredfigure} \end{enumitemcenteredfigure}
\footnotetext{\url{https://proto.school/merkle-dags/}}
Στο παραπάνω Merkle DAG τα baf...i αποτελούν τα CID των αρχείων και των φακέλων. Το δένδρο δημιουργείται από κάτω προς τα πάνω, υπολογίζοντας κάθε φορά τα κατάλληλα hashes/CIDs. Σε περίπτωση που το περιεχόμενο ενός κόμβου αλλάξει, τότε αλλάζει τόσο το CID του, όσο και τα CIDs όλων των προγόνων του. Στο παραπάνω Merkle DAG τα baf...i αποτελούν τα CID των αρχείων και των φακέλων. Το δένδρο δημιουργείται από κάτω προς τα πάνω, υπολογίζοντας κάθε φορά τα κατάλληλα hashes/CIDs. Σε περίπτωση που το περιεχόμενο ενός κόμβου αλλάξει, τότε αλλάζει τόσο το CID του, όσο και τα CIDs όλων των προγόνων του.
\item \textbf{Ανακάλυψη περιεχομένου μέσω κατανεμημένων πινάκων κατακερματισμού (\textenglish{Distributed Hash Tables ή DHTs})}. Ο DHT είναι ένα κατανεμημένο σύστημα για την αντιστοίχιση κλειδιών σε τιμές. Στο IPFS αποτελεί το θεμελιώδες συστατικό του συστήματος δρομολόγησης περιεχομένου και λειτουργεί ως διασταύρωση μεταξύ καταλόγου και συστήματος πλοήγησης. Πρακτικά πρόκειται για ένα πίνακα που αποθηκεύει ποιος έχει ποια δεδομένα και, μέσω του οποίου, ο χρήστης βρίσκει τον peer που έχει αποθηκευμένο το επιθυμητό περιεχόμενο. \item \textbf{Ανακάλυψη περιεχομένου μέσω κατανεμημένων πινάκων κατακερματισμού (\textenglish{Distributed Hash Tables ή DHTs})}. Ο DHT είναι ένα κατανεμημένο σύστημα για την αντιστοίχιση κλειδιών σε τιμές. Στο IPFS αποτελεί το θεμελιώδες συστατικό του συστήματος δρομολόγησης περιεχομένου και λειτουργεί ως διασταύρωση μεταξύ καταλόγου και συστήματος πλοήγησης. Πρακτικά πρόκειται για ένα πίνακα που αποθηκεύει ποιος έχει ποια δεδομένα και, μέσω του οποίου, ο χρήστης βρίσκει τον peer που έχει αποθηκευμένο το επιθυμητό περιεχόμενο.

BIN
thesis.pdf

Binary file not shown.
Loading…
Cancel
Save