dc.contributor.author | Τσιάρας, Κωνσταντίνος | el |
dc.contributor.author | Tsiaras, Konstantinos | en |
dc.date.accessioned | 2023-04-28T10:42:57Z | |
dc.date.available | 2023-04-28T10:42:57Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/57592 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.25289 | |
dc.description | Εθνικό Μετσόβιο Πολυτεχνείο--Μεταπτυχιακή Εργασία. Διεπιστημονικό-Διατμηματικό Πρόγραμμα Μεταπτυχιακών Σπουδών (Δ.Π.Μ.Σ.) “Επιστήμη Δεδομένων και Μηχανική Μάθηση" | el |
dc.rights | Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ | * |
dc.subject | Ethereum | en |
dc.subject | Client | en |
dc.subject | Bootstrapping | en |
dc.subject | Synchronization | en |
dc.subject | Resources | en |
dc.subject | Κόµβος | el |
dc.subject | Εκκίνηση | el |
dc.subject | Συγχρονισμός | el |
dc.subject | Πόροι | el |
dc.subject | Εκτέλεση | el |
dc.title | Study and Resource Analysis of Ethereum Execution Client Bootstrapping | en |
dc.title | Μελέτη και Ανάλυση Πόρων της Διαδικασίας Εκκίνησης των Ethereum Execution Clients | el |
dc.contributor.department | CSLab | el |
heal.type | masterThesis | |
heal.classification | Blockchain | en |
heal.classification | Distributed Systems | en |
heal.classification | Κατανεμημένα Συστήματα | el |
heal.language | el | |
heal.language | en | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2023-03-16 | |
heal.abstract | The Ethereum blockchain, beyond its status as the second largest cryptocurrency by market cap, is a decentralized platform which is currently employed for a variety of use cases. Its programmable nature has allowed its users to develop a plethora of applications on it using smart contracts and it has seen an explosive growth and adoption in the few years since its creation. However, in order to keep such a decentralized network online, numerous nodes around the globe are required to run some specific client software. This client software in Ethereum is responsible both for deciding upon the current canonical chain ("consensus client") but also for downloading and storing the chain’s data, locally preserving and maintaining an up-to-date copy of the network’s state ("execution client"). The latter in particular requires a lengthy and resource-intensive process to bootstrap, one that has been the subject of much debate but also the catalyst for several innovations. The purpose of this thesis is to thoroughly understand the workloads an Ethereum execution client is required to handle, and the different ways in which the different client implementations have opted to approach it. We will initially research Ethereum’s architecture, the data structures used to persist chain and state data on disk, and we will also be exploring the different sync modes each client implementation utilizes to initially synchronize the network. Finally, we will be performing a comparative resource analysis on them, focusing on the system resources and time needed for their bootstrapping and we will be evaluating these results. | en |
heal.abstract | Το Ethereum blockchain, πέρα από τη θέση του ως το δεύτερο µεγαλύτερο κρυπτονόµισµα βάσει κεφαλαιοποίησης, είναι µια αποκεντρωµένη πλατφόρµα η οποία σήµερα αξιοποιείται για μεγάλο πλήθος χρήσεων. Στα λίγα χρόνια ύπαρξής του έχει δει εκρηκτική ανάπτυξη, µε την προγραµµατιζόµενη φύση του να έχει δώσει τη δυνατότητα στους χρήστες του να αναπτύξουν πληθώρα εφαρµογών πάνω σε αυτό µέσω έξυπνων συµβολαίων (smart contracts). Ωστόσο, η εύρυθμη λειτουργία ενός τέτοιου δικτύου απαιτεί πολυάριθµους κόµβους ανά τον κόσμο να εκτελούν κάποιο προκαθορισµένο λογισµικό-πελάτη (client). Το λογισμικό αυτό είναι υπεύθυνο τόσο για να αποφασίζει για την ορθότητα της τρέχουσας αλυσίδας ("consensus client") όσο και για το κατέβασµα και αποθήκευση των δεδομένων της αλυσίδας, διατηρώντας ένα ενημερωμένο τοπικό αντίγραφο της τρέχουσας κατάστασης του δικτύου ("execution client"). Η εκκίνηση του λογισμικού εκτέλεσης συγκεκριµένα χρήζει µιας χρονοβόρας διαδικασίας µε μεγάλες απαιτήσεις σε πόρους συστήµατος, η οποία έχει αποτελέσει συχνό θέµα διαλόγου αλλά έχει επίσης αποτελέσει τον καταλύτη για αρκετές σχετικές καινοτοµίες. Ο σκοπός αυτής της διπλωµατικής εργασίας είναι η διεξοδική κατανόηση του φόρτου εργασίας που το λογισμικό εκτέλεσης στο Ethereum καλείται να διαχειριστεί και τους διαφορετικούς τρόπους µε τους οποίους οι διαφορετικές υλοποιήσεις αυτού έχουν επιλέξει να τον προσεγγίσουν. Αρχικά θα διερευνήσουμε την αρχιτεκτονική του Ethereum, τις δομές δεδομένων που χρησιµοποιούνται για να αποθηκεύσουν τα δεδοµένα αλυσίδας και κατάστασης στον δίσκο και επίσης θα εξερευνήσουμε τις διαφορετικές μεθόδους τις οποίες κάθε υλοποίηση αξιοποιεί για να συγχρονιστεί αρχικά µε το δίκτυο. Τέλος, θα πραγµατοποιήσουµε µια συγκριτική μελέτη µεταξύ αυτών, εστιάζοντας στους πόρους συστήµατος και συνολικούς χρόνους εκτέλεσης που έκαστη υλοποίηση χρειάζεται για την εκκίνησή της και θα αποτιµήσουµε τα αποτελέσµατα αυτής της μελέτης. | el |
heal.advisorName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Γκούμας, Γεώργιος | el |
heal.committeeMemberName | Κωνσταντίνου, Ιωάννης | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Ηλεκτρικής Ισχύος. | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 101 σ. | el |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: