dc.contributor.author | Γκόνης, Παναγιώτης![]() |
el |
dc.contributor.author | Gkonis, Panagiotis![]() |
en |
dc.date.accessioned | 2022-09-09T08:44:16Z | |
dc.date.available | 2022-09-09T08:44:16Z | |
dc.identifier.uri | https://dspace.lib.ntua.gr/xmlui/handle/123456789/55634 | |
dc.identifier.uri | http://dx.doi.org/10.26240/heal.ntua.23332 | |
dc.rights | Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 3.0 Ελλάδα | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/gr/ | * |
dc.subject | Προανάκτηση | el |
dc.subject | Στατική ανάλυση | el |
dc.subject | Υποθετική εκτέλεση | el |
dc.subject | Έξυπνο συμβόλαιο | el |
dc.subject | Αλυσίδα κοινοποιήσεων | el |
dc.subject | Prefetch | en |
dc.subject | Static analysis | en |
dc.subject | Speculative execution | en |
dc.subject | Smart contract | en |
dc.subject | Blockchain | en |
dc.title | Προανάκτηση σε Blockchain Client με στατική ανάλυση και υποθετική εκτέλεση των Έξυπνων Συμβολαίων | el |
heal.type | bachelorThesis | |
heal.secondaryTitle | Prefetching in Blockchain Client by statically analyzing and speculatively executing Smart Contracts | en |
heal.classification | Κατανεμημένα Συστήματα | el |
heal.language | el | |
heal.access | free | |
heal.recordProvider | ntua | el |
heal.publicationDate | 2022-03-08 | |
heal.abstract | Η αϱγή ταχύτητα εκτέλεσης των συναλλαγών στο Ethereum περιορίζει τις δυνατότητές του και δυσκολεύει τη χϱήση του. Αυτό γίνεται ιδιαίτερα εµφανές κατά τον αρχικό συγχρονισµό ενός πλήϱους κόµβου στο δίκτυο, µία χϱονοϐόϱα διαδικασία που απαιτεί την µεταϕόϱτωση και εκτέλεση ολόκληϱου του blockchain. Το στάδιο αυτό έχει µεγάλες απαιτήσεις σε επεξεργαστική ισχύ καθώς και σε πρόσβαση στο µέσο αποθήκευσής του (I/O), ενώ είναι περιορισµένο σε σειριακή εκτέλεση από τις προδιαγραφές του. Έχουν γίνει πϱοσπάϑειες για την επιτάχυνσή του, µε διάϕοϱες πϱοσεγγίσεις, όπως µε τεχνικές αισιόδοξου συγχϱονισµού ή µε αλλαγή των δοµών αποϑήκευσης των δεδοµένων του. Μία ακόµα µέϑοδος, µε την οποία ασχολείται και η παϱούσα διπλωµατική εϱγασία, είναι της πϱοανάκτησης. Με την υλοποίηση και εφαρµογή ενός συστήµατος ανάλυσης των Έξυπνων Συµβολαίων, παράγουµε προγράµµατα τα οποία εκτελούνται υποθετικά για να ανακτήσουν δεδοµένα λίγα block πϱιν χρειαστούν για την εκτέλεση των αντίστοιχων συµβολαίων. Πέϱαν αυτών, προανακτώνται οι λογαριασµοί και ο κώδικας των συµβολαίων που εµπλέκονται στις συναλλαγές. Στα αποτελέσµατα που πϱοκύπτουν από εκτελέσεις µε πϱαγµατικά block από διάϕοϱες χϱονικές πεϱιόδους, παϱατηϱούµε - µεταξύ άλλων - ϐελτίωση στην ταχύτητα εκτέλεσης της τάξης του 20% µε µία γϱήγοϱη µονάδα NVME και 45% µε ένα πιο αϱγό Sata SSD. | el |
heal.abstract | Ethereum’s slow execution speed negatively impacts its usability and limits its potential. One way this becomes especially evident is during the initial synchronization of new full-nodes joining the network; a time consuming process that involves downloading and executing the entire blockchain. This is a highly CPU- and I/O- intensive operation and, at the same time, restricted to a single thread by the specification’s imposed sequential execution model. There have been several attempt at speeding up said process, with various type of approaches, such as using optimistic concurrency techniques or by changing the data structures used for its storage layer. Another method, which is also the focus of this diploma thesis, is the use of prefetching. By implementing a system that analyzes Smart Contracts, we produce small programs that are speculatively executed in order to fetch state records, just a few blocks before they are needed in the execution of the respective contracts. Beyond this, accounts and contract code that are involved in the transactions, are also prefetched. Among our observations, with regards to the results produced by executing real blocks from various time periods, is an improvement of the execution throughput in the order of 20%, when using a fast NVME drive, and 45%, using a slower Sata SSD. | en |
heal.advisorName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Κοζύρης, Νεκτάριος | el |
heal.committeeMemberName | Γκούµας, Γεώργιος | el |
heal.committeeMemberName | Πνευµατικάτος, ∆ιονύσιος | el |
heal.academicPublisher | Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών | el |
heal.academicPublisherID | ntua | |
heal.numberOfPages | 81 σ. | el |
heal.fullTextAvailability | false |
Οι παρακάτω άδειες σχετίζονται με αυτό το τεκμήριο: