Cryptocurrencies
Course: EPL682 – Advanced Security Topics Instructor: Elias Athanasopoulos
Cryptocurrencies Course: EPL682 Advanced Security Topics - - PowerPoint PPT Presentation
Cryptocurrencies Course: EPL682 Advanced Security Topics Instructor: Elias Athanasopoulos SoK: Research perspective and challenges for Bitcoin and cryptocurrency Joseph Bonneau , Andrew Miller , Jeremy Clark, Arvind Narayanan
Course: EPL682 – Advanced Security Topics Instructor: Elias Athanasopoulos
Joseph Bonneau∗†‡, Andrew Miller§ , Jeremy Clark¶, Arvind Narayanan∗ , Joshua A. Kroll∗ , Edward W. Felten∗ ∗Princeton University, †Stanford University, ‡Electronic Frontier Foundation, §University of Maryland, ¶Concordia University
Systematization of Knowledge Papers Suitable papers are those that provide an important new viewpoint on an established, major research area, support or challenge long-held beliefs in such an area with compelling evidence, or present a convincing, comprehensive new taxonomy of such an area. www.ieee-security.org
Blockchain A blockchain, is a growing list of records, called blocks, that are linked using
timestamp, and transaction data (generally represented as a Merkle tree). “In Bitcoin, the log is implemented as a series of blocks of transactions, each containing the hash of the previous block, committing this block as its sole antecedent. It is referred to as the blockchain.“ Proof-of-Work A proof-of-work (PoW) system (or protocol, or function) is a consensus
as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer.
Cryptocurrency wallet Comparable to a bank account, contains a pair of public and private cryptographic keys. A public key allows for other wallets to make payments to the wallet's address, whereas a private key enables the spending of cryptocurrency from that address.
για πολλά άλλα προβλήματα ασφάλειας υπολογιστών πέρα από το νόμισμα, όπως
ρόλος της έρευνας να διαδραματίσει για να εντοπίσει ακριβώς γιατί αυτό ήταν δυνατό
αναγνωρίζει αμέσως την καινοτομία του, και ακόμα σήμερα το απορρίπτει λόγω της έλλειψης αυστηρών θεωρητικών θεμελίων.
σημειωθεί σημαντική καινοτομία, από πρωτότυπα πρωτόκολλα πληρωμών μέχρι φιλικά προς το χρήστη διαχείριση κλειδιών (payment protocols to user-friendly key management), καθώς και τις πιο σημαντικές ανοικτές ερευνητικές προκλήσεις για το Bitcoin και τα μελλοντικά κρυπτοσυστήματα.
in 1983
(blindly signed coin).
τον λογαριασμο με κάποια οντότητα
εξαργυρωθούν αφού η τράπεζα επιβεβαιώσει ότι δεν έχουν εξαργυρωθεί προηγουμένως.
δίκαιη λαχειοφόρο αγορά (fair lottery)
κατανεμημένα πρωτόκολλα συναίνεσης μεταξύ ομότιμων, παρόμοια με την τρέχουσα χρήση της στη συναίνεση Bitcoin.
publi lic led edger, το οποίο καθιστά τις διπλές δαπάνες ανιχνεύσιμες.
συναλλαγές είναι δημόσια (αν και ανώνυμα).
2008, ανακοινώθηκε το Bitcoin και μια λευκή βίβλος με το ψευδώνυμο Satoshi Nakamoto.
enesis του Bitcoin in εξήχθη στις στις 3 Ιανουαρίου 2009. Η πρώτη χρήση του Bitcoin ως νομίσματος θεωρείται συναλλαγή τον Μάιο του 2010, όπου ένας χρήστης διέταξε την παράδοση πίτσας σε άλλο αντί για 10.000 bitcoins.
lk Roa
δολάρια από τα θύματα, κρυπτογραφώντας τα αρχεία τους και ζητώντας Bitcoin.
1.
ansactions an and scr scrip ipts 2.
s an and min inin ing 3.
to-peer communication network
Transaction Fee: Οποιοδήποτε Bitcoin εισόδου που δεν εξαργυρώνονται σε μια έξοδο θεωρείται τέλη συναλλαγής (transaction fee). Oποιος δημιουργεί το blog (miner) μπορεί να το διεκδικήσει εισάγοντάς το στη συναλλαγή νομισμάτων (coinbase transaction) αυτού του blog.
“ In addition to the requirements that each transaction input matches a previous transaction output and that the two scripts execute successfully”
“Nakamoto consensus. This can be considered Bitcoin’s core innovation and perhaps the most crucial ingredient to its success.”
περισσότερα blog. Μεχρι τα 6 blog το θεωρουμε confirmed (μπορει και όχι-de deep ep fork
προβλήματος θα έχουμε πάντα μεγαλύτερο fork γιατί άλλος θα κερδίζει κάθε φορά.
Πως ανταμειβωνται οι miners
First, any la latency between the discovery of a block and its receipt by all other nodes increases the possibility of a tem emporary ry fork… Second, a mal alic icious min iner er who is able to control a substantial portion of the network may attempt to favor the broadcast of their own blocks.”
eventual valid blockchain.
Exponentia ial convergence – the probability of a fork of depth is O(2−n). This gives users high confidence that a simple “k confirmations” rule will ensure their transactions are permanently included with high confidence.
will be included in the blockchain within a reasonable amount of time
tness – all blocks in the longest chain will only include valid transactions
irness – on expectation, a miner with a proportion of the total computational power will mine a proportion of blocks. “If all of these properties hold we can say that the system is stable, but it isn’t clear that all are necessarily required.”
Παραγοντες που καταπατουν το Faırness
51% of the mining power).
reward) Mınıng poo
Attac acks
second, 1000 times slower than peak Visa transactions.
διεύθυνση
εξαιρετικά δύσκολο να εντοπιστεί
Proposals for improving anonymity:
Johannes Krupp CISPA, Saarland University, Saarland Informatics Campus Christian Rossow CISPA, Saarland University, Saarland Informatics Campus
συναλλαγή
συναλλαγής στη zero address (String of bytecode on EVM). Μετά τη δημιουργία, ο κώδικας μιας σύμβασης είναι αμετάβλητος
Var aria iable les Des escrip iptio ion fr from
sender to to recipient val alue transferred amount(Wei 10^-18 Ether) - may also be zero gas as “transaction fee“ da data input data - may be empty
Invoked once at the start. Initialize ‘owner’ with message sender Checks if the sender of the transaction is equal to the stored owner of the wallet
Smart Con
transaction
Smart Con
Com
Inp Inputs Des escrip iptio ion JUMP target Uncoditional jump to target JUMPI target, test Conditional jump. Jump to target if test is non-zero JUMPDEST N/A Marks valid jump target
Ins Instru ructio ion Inp Input Des escrip iptio ion CALL To, value Regular transaction, transfer “value” to “to” SELFDESTRUCT Recipient Contact destruction and transfer funds to recipient CALLCODE/DELEGATECALL Target Execute code of target “code injection”
1. Τρεξει ενα CALL ή SELFDESTRUCT 2. Τρεξει ένα CALLCODE ή DELEGATECALL
ritic ical Path th πρεπε: 1. Να βρουμε τα Critical Instructions 2. Να υπολογίσουμε απο πια πεδία πρωέρχεται 3. Να φιλτραρουμε τα attacker controlled πεδία 4. Να δήμιουργήσουμε ένα μονοπάτι μεσο αυτών των πεδίων (path) 5. Εκτελώ το μονοπατι βλεποντας τους περιορισμούς (path Constraints) 6. Χρησιμοποιειώ Constraint Solver (A*) για να βρει την βελτιστη λύση
Dependent edges Return address
χρησιμοποιεί A*
Constraint Generation Module τρέχει χρησιμοποιώντας Ζ3 symbolic execution engine για να πιασει ολα τα Path Constraints.
προσβασιμαΑκατόρθωτα μονοπάτια
υπολογίζεται απο Keccak-256
P is tuple
1. 1. Criti itical l Path. A critical path is a potential execution trace that either CALL SELFDESTRUCT CALLCODE DELECGATECALL 2. 2. State Cha Changing P
potential execution trace that contains at least one SSTORE RE instruction. 3. 3. State Cha hanging Tran
changing if its execution trace is a state changing path. 4. 4. Vul ulnerable State. A contract is in a vulnerable state, if a transaction can lead to the execution of a critical path. 5. 5. Vul ulnerable(3+ (3+4). ). A contract is vulnerable if there exists a (possibly empty) sequence of state changing transactions that lead to a vulnerable state. Successful exploit = sequence of state e cha changing tr transactions by cr crit itical l tr transa sactio ion