From b177d1379c796ee57fdf6192bd3912b04200c3a2 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Wed, 9 Oct 2024 19:32:34 +0000 Subject: [PATCH] chore: import translations for el --- .../el/developers/docs/accounts/index.md | 136 +++++ .../el/developers/docs/blocks/index.md | 152 +++++ .../el/developers/docs/dapps/index.md | 96 ++++ .../el/developers/docs/evm/index.md | 78 +++ .../el/developers/docs/evm/opcodes/index.md | 174 ++++++ .../el/developers/docs/gas/index.md | 139 +++++ .../translations/el/developers/docs/index.md | 25 + .../developers/docs/intro-to-ether/index.md | 78 +++ .../docs/intro-to-ethereum/index.md | 116 ++++ .../el/developers/docs/networks/index.md | 149 +++++ .../smart-contracts/composability/index.md | 76 +++ .../formal-verification/index.md | 283 ++++++++++ .../docs/smart-contracts/testing/index.md | 308 ++++++++++ .../docs/smart-contracts/upgrading/index.md | 165 ++++++ .../docs/smart-contracts/verifying/index.md | 107 ++++ .../el/developers/docs/transactions/index.md | 221 ++++++++ .../el/developers/docs/web2-vs-web3/index.md | 62 +++ .../el/developers/docs/wrapped-eth/index.md | 65 +++ public/content/translations/el/eips/index.md | 2 +- .../el/energy-consumption/index.md | 4 +- .../translations/el/governance/index.md | 7 +- .../index.md | 73 +++ .../el/guides/how-to-id-scam-tokens/index.md | 97 ++++ .../how-to-revoke-token-access/index.md | 73 +++ .../el/guides/how-to-swap-tokens/index.md | 67 +++ .../el/guides/how-to-use-a-bridge/index.md | 70 +++ .../el/guides/how-to-use-a-wallet/index.md | 88 +++ .../content/translations/el/guides/index.md | 27 + .../el/roadmap/future-proofing/index.md | 4 +- .../content/translations/el/roadmap/index.md | 2 +- .../translations/el/roadmap/merge/index.md | 2 +- .../content/translations/el/security/index.md | 12 +- public/content/translations/el/web3/index.md | 2 +- src/intl/el/common.json | 2 +- src/intl/el/learn-quizzes.json | 527 ++++++++++++++++++ src/intl/el/page-dapps.json | 2 + src/intl/el/page-developers-docs.json | 96 +++- .../el/page-developers-learning-tools.json | 8 +- .../el/page-developers-local-environment.json | 2 + src/intl/el/page-layer-2.json | 6 +- src/intl/el/page-stablecoins.json | 3 +- src/intl/el/page-staking.json | 5 +- src/intl/el/page-what-is-ethereum.json | 4 +- 43 files changed, 3582 insertions(+), 33 deletions(-) create mode 100644 public/content/translations/el/developers/docs/accounts/index.md create mode 100644 public/content/translations/el/developers/docs/blocks/index.md create mode 100644 public/content/translations/el/developers/docs/dapps/index.md create mode 100644 public/content/translations/el/developers/docs/evm/index.md create mode 100644 public/content/translations/el/developers/docs/evm/opcodes/index.md create mode 100644 public/content/translations/el/developers/docs/gas/index.md create mode 100644 public/content/translations/el/developers/docs/index.md create mode 100644 public/content/translations/el/developers/docs/intro-to-ether/index.md create mode 100644 public/content/translations/el/developers/docs/intro-to-ethereum/index.md create mode 100644 public/content/translations/el/developers/docs/networks/index.md create mode 100644 public/content/translations/el/developers/docs/smart-contracts/composability/index.md create mode 100644 public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md create mode 100644 public/content/translations/el/developers/docs/smart-contracts/testing/index.md create mode 100644 public/content/translations/el/developers/docs/smart-contracts/upgrading/index.md create mode 100644 public/content/translations/el/developers/docs/smart-contracts/verifying/index.md create mode 100644 public/content/translations/el/developers/docs/transactions/index.md create mode 100644 public/content/translations/el/developers/docs/web2-vs-web3/index.md create mode 100644 public/content/translations/el/developers/docs/wrapped-eth/index.md create mode 100644 public/content/translations/el/guides/how-to-create-an-ethereum-account/index.md create mode 100644 public/content/translations/el/guides/how-to-id-scam-tokens/index.md create mode 100644 public/content/translations/el/guides/how-to-revoke-token-access/index.md create mode 100644 public/content/translations/el/guides/how-to-swap-tokens/index.md create mode 100644 public/content/translations/el/guides/how-to-use-a-bridge/index.md create mode 100644 public/content/translations/el/guides/how-to-use-a-wallet/index.md create mode 100644 public/content/translations/el/guides/index.md create mode 100644 src/intl/el/learn-quizzes.json diff --git a/public/content/translations/el/developers/docs/accounts/index.md b/public/content/translations/el/developers/docs/accounts/index.md new file mode 100644 index 00000000000..e5dbbfbd23d --- /dev/null +++ b/public/content/translations/el/developers/docs/accounts/index.md @@ -0,0 +1,136 @@ +--- +title: Λογαριασμοί Ethereum +description: Επεξήγηση των τύπων λογαριασμού στο Ethereum - η δομή δεδομένων τους και η σχέση τους με το κρυπτογραφημένο ζεύγος κλειδιών. +lang: el +--- + +Ένας λογαριασμός Ethereum είναι μια οντότητα, με υπόλοιπο σε ether (ETH), όπου δύναται να εκτελέσει συναλλαγές εντός του δικτύου. Ένας λογαριασμός μπορεί να ελέγχεται από το χρήστη ή να έχει αναπτυχθεί ως έξυπνο συμβόλαιο. + +## Προαπαιτούμενα {#prerequisites} + +Για να σας βοηθήσουμε να κατανοήσετε καλύτερα αυτήν τη σελίδα, σας συνιστούμε πρώτα να διαβάσετε την [εισαγωγή μας στο Ethereum](/developers/docs/intro-to-ethereum/). + +## Τύποι λογαριασμού {#types-of-account} + +Το Ethereum έχει δύο τύπους λογαριασμού: + +- Λογαριασμός εξωτερικής ιδιοκτησίας (EOA) – ελεγχόμενος από οποιονδήποτε κατέχει τα ιδιωτικά κλειδιά +- Λογαριασμός συμβολαίου – ένα έξυπνο συμβόλαιο ανεπτυγμένο στο δίκτυο, ελεγχόμενο από κώδικα. Μάθετε για τα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/) + +Και οι δύο τύποι λογαριασμού έχουν τη δυνατότητα να: + +- Λαμβάνουν, διατηρούν και να ανταλλάσσουν ETH και κρυπτονομίσματα +- Αλληλεπιδρούν με άλλα ανεπτυγμένα έξυπνα συμβόλαια + +### Βασικές διαφορές {#key-differences} + +**Εξωτερικής ιδιοκτησίας** + +- Η δημιουργία ενός λογαριασμού δεν κοστίζει τίποτα +- Μπορείτε να ξεκινήσετε άμεσα συναλλαγές +- Οι συναλλαγές μεταξύ εξωτερικών λογαριασμών μπορούν να μεταφέρουν μόνο ΕΤΗ/token. +- Αποτελείται από ένα κρυπτογραφικό ζευγάρι κλειδιών: δημόσια και ιδιωτικά κλειδιά που ελέγχουν τις δραστηριότητες λογαριασμού + +**Συμβολαίου** + +- Η δημιουργία ενός συμβολαίου κοστίζει, λόγω χρήσης του αποθηκευτικού χώρου του δικτύου. +- Μπορεί να στείλει συναλλαγή μόνο ως απάντηση κατά τη λήψη μιας συναλλαγής. +- Οι συναλλαγές από έναν εξωτερικό λογαριασμό σε έναν λογαριασμό συμβολαίου, μπορούν να ενεργοποιήσουν τον κώδικα που μπορεί να εκτελέσει πολλές διαφορετικές ενέργειες όπως η μεταφορά κρυπτονομισμάτων ή ακόμη και η δημιουργία ενός νέου συμβολαίου. +- Οι λογαριασμοί συμβολαίου δεν έχουν ιδιωτικά κλειδιά. Αντίθετα, ελέγχονται από τη λογική του κώδικα του έξυπνου συμβολαίου + +## Εξετάζοντας ένα λογαριασμό {#an-account-examined} + +Οι λογαριασμοί Ethereum έχουν τέσσερα πεδία: + +- `μοναδικότητα` – Ένα νούμερο που δηλώνει τον αριθμό των συναλλαγών που αποστέλλονται από ένα λογαριασμό εξωτερικής ιδιοκτησίας ή τον αριθμό των συμβολαίων που δημιουργούνται από τον λογαριασμό συμβολαίου. Μόνο μία συναλλαγή με μια συγκεκριμένα μοναδικά στοιχεία μπορεί να εκτελεστεί για κάθε λογαριασμό, προστατεύοντας από επιθέσεις επανάληψης, όπου οι υπογεγραμμένες συναλλαγές μεταδίδονται και επανεκτελούνται. +- `υπόλοιπο` – Ο αριθμός των wei που ανήκουν σε αυτή τη διεύθυνση. Το Wei είναι η ονομαστική αξία του ETH και υπάρχουν 1e+18 wei ανά ETH. +- `codeHash` – Αυτός ο κατατεμαχισμός αναφέρεται στον _code_ ενός λογαριασμού στην εικονική μηχανή Ethereum (EVM). Οι λογαριασμοί συμβολαίου έχουν κομμάτια κώδικα όπου μπορούν να εκτελέσουν προγραμματισμένα διαφορετικές λειτουργίες. Ο κώδικας EVM εκτελείται εάν ο λογαριασμός λάβει κλήση μηνύματος. Δεν μπορεί να τροποποιηθεί, σε αντίθεση με τα υπόλοιπα πεδία του λογαριασμού. Όλα αυτά τα τμήματα κώδικα περιέχονται στη βάση δεδομένων κατάστασης κάτω από τους αντίστοιχους κατακερματισμούς τους για μεταγενέστερη ανάκτηση. Αυτή η τιμή κατακερματισμού είναι γνωστή ως codeHash. Για λογαριασμούς εξωτερικής ιδιοκτησίας, το πεδίο codeHash είναι ο κατακερματισμός της κενής συμβολοσειράς. +- `storageRoot` – Μερικές φορές είναι γνωστό ως κατακερματισμός αποθήκευσης. Ένας κατακερματισμός 256-bit του κόμβου ρίζας ενός καταλόγου Merkle Patricia, που κωδικοποιεί τα περιεχόμενα αποθήκευσης του λογαριασμού (μια αντιστοίχιση μεταξύ ακέραιων τιμών 256-bit), κωδικοποιημένος στον κατάλογο ως αντιστοίχιση από τον κατακερματισμό Keccak 256-bit, των ακέραιων κλειδιών 256-bit στις κωδικοποιημένες με RLP ακέραιες τιμές 256-bit. Αυτός ο κατάλογος κωδικοποιεί τον κατακερματισμό των περιεχομένων αποθήκευσης αυτού του λογαριασμού και είναι κενός από προεπιλογή. + +![Ένα διάγραμμα που δείχνει τη σύνθεση ενός λογαριασμού](./accounts.png) _Διάγραμμα προσαρμοσμένο από το [Ethereum EVM που απεικονίζεται](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +## Λογαριασμοί και ζεύγη κλειδιών εξωτερικής ιδιοκτησίας {#externally-owned-accounts-and-key-pairs} + +Ένας λογαριασμός αποτελείται από ένα ζεύγος κρυπτογραφημένων κλειδιών: το δημόσιο και το ιδιωτικό. Βοηθούν στην απόδειξη ότι μια συναλλαγή έχει πράγματι υπογραφεί από τον αποστολέα και αποτρέπουν τις πλαστογραφίες. Το ιδιωτικό σας κλειδί είναι αυτό που χρησιμοποιείτε για να υπογράφετε τις συναλλαγές, οπότε σας παρέχει την επιμέλεια των χρημάτων που σχετίζονται με τον λογαριασμό σας. Ποτέ δεν κρατάτε κρυπτονόμισμα, αλλά ιδιωτικά κλειδιά - τα κεφάλαια βρίσκονται πάντα στο λογιστικό βιβλίο του Ethereum. + +Αυτό αποτρέπει τους κακόβουλους φορείς από το να μεταδίδουν ψεύτικες συναλλαγές, επειδή μπορείτε πάντα να επαληθεύετε τον αποστολέα μιας συναλλαγής. + +Εάν η Alice θέλει να στείλει αιθέρα από τον δικό της λογαριασμό στον λογαριασμό του Bob, η Alice πρέπει να δημιουργήσει ένα αίτημα συναλλαγής και να το στείλει στο δίκτυο για επαλήθευση. Η χρήση κρυπτογραφίας δημόσιου κλειδιού στο Ethereum διασφαλίζει ότι η Alice μπορεί να αποδείξει ότι εκείνη ξεκίνησε αρχικά το αίτημα συναλλαγής. Χωρίς κρυπτογραφικούς μηχανισμούς, ένας κακόβουλος αντίπαλος Eve θα μπορούσε απλώς να μεταδώσει δημόσια ένα αίτημα που θα έμοιαζε κάπως σαν "στείλε 5 ETH από τον λογαριασμό της Alice στον λογαριασμό της Eve" και κανείς δε θα μπορούσε να επαληθεύσει ότι δεν προέρχεται από την Alice. + +## Δημιουργία λογαριασμού {#account-creation} + +Όταν θέλετε να δημιουργήσετε έναν λογαριασμό, οι περισσότερες βιβλιοθήκες θα δημιουργήσουν για εσάς ένα τυχαίο ιδιωτικό κλειδί. + +Ένα ιδιωτικό κλειδί αποτελείται από 64 δεκαεξαδικούς χαρακτήρες και μπορεί να κρυπτογραφηθεί με ένα κωδικό πρόσβασης. + +Παράδειγμα: + +`fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036415f` + +Το δημόσιο κλειδί δημιουργείται από το ιδιωτικό κλειδί χρησιμοποιώντας τον [αλγόριθμο ελλειπτικής καμπύλης ψηφιακής υπογραφής](https://wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm). Θα λάβετε μια δημόσια διεύθυνση για τον λογαριασμό σας αποτελούμενη από τα τελευταία 20 bytes του κατακερματισμού Keccak-256 δημόσιου κλειδιού και προσθέτοντας το `0x` στην αρχή. + +Αυτό σημαίνει ότι ένας λογαριασμός που ανήκει σε εξωτερικό κάτοχο (EOA) έχει μια διεύθυνση 42 χαρακτήρων (τμήμα 20 byte που αποτελείται από 40 δεκαεξαδικούς χαρακτήρες συν το πρόθεμα `0x`). + +Παράδειγμα: + +`0x5e97870f263700f46aa00d967821199b9bc5a120` + +Το παρακάτω παράδειγμα δείχνει πώς να χρησιμοποιήσετε ένα εργαλείο υπογραφής που ονομάζεται [Clef](https://geth.ethereum.org/docs/tools/clef/introduction) για να δημιουργήσετε ένα νέο λογαριασμό. Το Clef είναι ένα εργαλείο διαχείρισης λογαριασμού και υπογραφής, ενσωματωμένο με τον πελάτη Ethereum, [Geth](https://geth.ethereum.org). Η εντολή `clef newaccount` δημιουργεί ένα νέο ζεύγος κλειδιών και αποθηκεύει σε ένα κρυπτογραφημένο κλειδί. + +``` +> clef newaccount --keystore + +Παρακαλούμε εισαγάγετε ένα κωδικό πρόσβασης για το νέο λογαριασμό: +> + +------------ +ΠΛΗΡΟΦΟΡΙΕΣ [10-28|16:19:09.156] Το νέο σας κλειδί δημιουργήθηκε address=0x5e97870f263700f46aa00d967821199b9bc5a120 +WARN [10-28|16:19:09.306] Παρακαλούμε αποθηκεύστε το αρχείο κλειδιού path=/home/user/go-ethereum/data/keystore/UTC--2022-10-28T15-19-08.000825927Z--5e97870f263700f46aa00d967821199b9bc5a120 +ΠΡΟΣΟΧΗ [10-28|16:19:09.306] Παρακαλούμε να θυμάστε τον κωδικό πρόσβασής σας! +Δημιουργήθηκε ο λογαριασμός 0x5e97870f263700f46aa00d967821199b9bc5a120 +``` + +[Τεκμηρίωση Geth](https://geth.ethereum.org/docs) + +Είναι δυνατή η παραγωγή νέων δημόσιων κλειδιών από το ιδιωτικό σας κλειδί, αλλά δεν μπορείτε να παράγετε ένα ιδιωτικό κλειδί από δημόσια κλειδιά. Είναι ζωτικής σημασίας να διατηρείτε τα ιδιωτικά κλειδιά σας ασφαλή και όπως υποδηλώνει το όνομά τους **ΙΔΙΩΤΙΚΑ**. + +Χρειάζεστε ένα ιδιωτικό κλειδί για την υπογραφή μηνυμάτων και συναλλαγών που εξάγουν μια υπογραφή. Άλλοι μπορούν στη συνέχεια να χρησιμοποιήσουν την υπογραφή για να αντλήσουν το δημόσιο κλειδί σας, αποδεικνύοντας τον συντάκτη του μηνύματος. Στην εφαρμογή σας, μπορείτε να χρησιμοποιήσετε μια βιβλιοθήκη JavaScript για την αποστολή συναλλαγών στο δίκτυο. + +## Λογαριασμοί συμβολαίου {#contract-accounts} + +Οι λογαριασμοί συμβολαίου έχουν επίσης μια δεκαεξαδική διεύθυνση 42 χαρακτήρων: + +Παράδειγμα: + +`0x06012c8cf97bead5deae237070f9587f8e7a266d` + +Η διεύθυνση του συμβολαίου δίνεται συνήθως όταν ένα συμβόλαιο αναπτύσσεται στην κρυπτοαλυσίδα του Ethereum. Η διεύθυνση προέρχεται από τη διεύθυνση του δημιουργού και τον αριθμό των συναλλαγών που αποστέλλονται από αυτή τη διεύθυνση (τη «μοναδικότητα»). + +## Κλειδιά επικυρωτή {#validators-keys} + +Υπάρχει επίσης ένας άλλος τύπος κλειδιού στο Ethereum, που εισήχθη όταν το Ethereum πέρασε από την απόδειξη εργασίας στην απόδειξη συμμετοχής που βασίζεται στη συναίνεση. Αυτά είναι κλειδιά «BLS» και χρησιμοποιούνται για την αναγνώριση επαληθευτών. Αυτά τα κλειδιά μπορούν να συγκεντρωθούν αποτελεσματικά για να μειωθεί το εύρος ζώνης που απαιτείται για να καταλήξει το δίκτυο σε συναίνεση. Χωρίς αυτή τη βασική συνάθροιση η ελάχιστη συμμετοχή για έναν επαληθευτή θα ήταν πολύ υψηλότερη. + +[Περισσότερα για τα κλειδιά επικυρωτή](/developers/docs/consensus-mechanisms/pos/keys/). + +## Μια σημείωση για τα πορτοφόλια {#a-note-on-wallets} + +Ένας λογαριασμός δεν είναι πορτοφόλι. Ένα πορτοφόλι είναι μια διεπαφή ή εφαρμογή που σας επιτρέπει να αλληλεπιδράσετε με τον λογαριασμό σας στο Ethereum, ακόμη και με ένα λογαριασμό εξωτερικού κατόχου ή με λογαριασμό συμβολαίου. + +## Μια εικονική επίδειξη {#a-visual-demo} + +Παρακολουθήστε τον Austin να σας ξεναγήσει μέσα από τις λειτουργίες κατατεμαχισμού και ζευγών κλειδιών. + + + + + +## Περισσότερες πληροφορίες {#further-reading} + +- [Κατανόηση των λογαριασμών Ethereum](https://info.etherscan.com/understanding-ethereum-accounts/) - etherscan + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ + +## Σχετικά θέματα {#related-topics} + +- [Έξυπνα συμβόλαια](/developers/docs/smart-contracts/) +- [Συναλλαγές](/developers/docs/transactions/) diff --git a/public/content/translations/el/developers/docs/blocks/index.md b/public/content/translations/el/developers/docs/blocks/index.md new file mode 100644 index 00000000000..305e7798a15 --- /dev/null +++ b/public/content/translations/el/developers/docs/blocks/index.md @@ -0,0 +1,152 @@ +--- +title: Μπλοκ +description: Μια επισκόπηση των μπλοκ της κρυπτοαλυσίδας του Ethereum - η δομή των δεδομένων τους, γιατί είναι απαραίτητα και πώς δημιουργούνται. +lang: el +--- + +Τα μπλοκ είναι μια σειρά από συναλλαγές μαζί με ένα αναγνωριστικό του προηγούμενου μπλοκ στην αλυσίδα. Αυτά τα μπλοκ συνδέονται μεταξύ τους (μέσα στην αλυσίδα) επειδή τα αναγνωριστικά τους περιέχουν ένα κρυπτογραφημένο μέρος από τα δεδομένα του μπλοκ. Αυτός ο τρόπος αποτρέπει την απάτη, επειδή μια αλλαγή σε οποιοδήποτε σημείο ενός μπλοκ στο ιστορικό του, θα ακυρώσει όλα τα ακόλουθα, καθώς όλα τα επόμενα αναγνωριστικά θα άλλαζαν και όλοι όσοι εκτελούν την κρυπτοαλυσίδα θα το παρατηρούσαν. + +## Προαπαιτούμενα {#prerequisites} + +Τα μπλοκ είναι σχεδόν το πρώτο θέμα που διαβάζουν οι αρχάριοι. Για να σας βοηθήσουμε να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα σχετικά με [Λογαριασμούς](/developers/docs/accounts/), [Συναλλαγές](/developers/docs/transactions/) και τις οδηγίες εισαγωγής μας στο [Ethereum](/developers/docs/intro-to-ethereum/). + +## Χρήση των μπλοκ {#why-blocks} + +Για να εξασφαλιστεί πως όλοι οι συμμετέχοντες στο δίκτυο Ethereum διατηρούν μία συγχρονισμένη κατάσταση και να συμφωνήσουν σε ένα ακριβής ιστορικό συναλλαγών, συγχωνεύουμε τις συναλλαγές σε πολλά μπλοκ. Αυτό σημαίνει ότι δεκάδες (ή εκατοντάδες) συναλλαγές έχουν καταχωρηθεί, συμφωνηθεί και έχουν συγχρονιστεί όλα άμεσα. + +![Ένα διάγραμμα συναλλαγής σε μπλοκ προκαλώντας αλλαγές στην κατάσταση](./tx-block.png) _Προσαρμοσμένο διάγραμμα [εικονογραφημένο από Ethereum EVM ](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +Διαχωρίζοντας τις δεσμεύσεις, παρέχουμε σε όλους τους συμμετέχοντες στο δίκτυο αρκετό χρόνο για να καταλήξουν σε συναίνεση: ακόμα και αν οι αιτήσεις συναλλαγών ξεπερνούν τις δεκάδες το δευτερόλεπτο, τα μπλοκ στο Ethereum δημιουργούνται και διαχωρίζονται περίπου μία φορά κάθε δώδεκα δευτερόλεπτα. + +## Πώς λειτουργούν τα μπλοκ {#how-blocks-work} + +Για να διατηρηθεί το ιστορικό συναλλαγών, τα μπλοκ ταξινομούνται αυστηρά (κάθε νέο μπλοκ που δημιουργείται περιέχει μια αναφορά στο προηγούμενο μπλοκ) και οι συναλλαγές μέσα σε κάθε μπλοκ είναι αυστηρά ταξινομημένες. Εκτός από σπάνιες περιπτώσεις, ανά πάσα στιγμή, όλοι οι συμμετέχοντες στο δίκτυο συμφωνούν σχετικά με τον ακριβή αριθμό και το ιστορικό των μπλοκ και εργάζονται για να συγκεντρώσουν τα τρέχοντα αιτήματα συναλλαγών στο επόμενο μπλοκ. + +Μόλις δημιουργηθεί ένα μπλοκ από έναν τυχαία επιλεγμένο επικυρωτή στο δίκτυο, ανακοινώνεται στο υπόλοιπο δίκτυο ώστε όλοι οι κόμβοι να προσθέσουν αυτό το μπλοκ στο τέλος της κρυπτοαλυσίδας και στη συνέχεια γίνεται η επιλογή του επόμενου επικυρωτή για το επόμενο μπλοκ. Η ακριβής διαδικασία δημιουργίας ενός μπλοκ και η διαδικασία δέσμευσης/συναίνεσης, καθορίζεται επί του παρόντος από το πρωτόκολλο της «Απόδειξης συμμετοχής» του Ethereum. + +## Πρωτόκολλο της απόδειξης συμμετοχής {#proof-of-work-protocol} + +Ως απόδειξη συμμετοχής νοούνται τα ακόλουθα: + +- Οι επικυρωμένοι κόμβοι πρέπει να συμμετέχουν αποθηκεύοντας 32 ETH σε ένα συμβόλαιο καταθέσεων ως εξασφάλιση έναντι της κακής συμπεριφοράς. Αυτό βοηθά στην προστασία του δικτύου, επειδή μια αποδεδειγμένα κακόβουλη δραστηριότητα οδηγεί σε κάποια ή όλα τα αποθηκευμένα κεφάλαια να καταστραφούν. +- Σε κάθε θέση (με διάστημα δώδεκα δευτερολέπτων), επιλέγεται τυχαία ένας επικυρωτής για να προτείνει το επόμενο μπλοκ. Συγκεντρώνουν τις συναλλαγές μαζί, τις εκτελούν και καθορίζουν μια νέα «κατάσταση». Συγκεντρώνουν αυτές τις πληροφορίες σε ένα μπλοκ και τις διαβιβάζουν σε άλλους επικυρωτές. +- Οι υπόλοιποι επικυρωτές που ενημερώνονται για το νέο μπλοκ επανεκτελούν τις συναλλαγές για να εξασφαλίσουν ότι συμφωνούν με την προτεινόμενη αλλαγή στη γενική κατάσταση. Θεωρώντας ότι το μπλοκ είναι έγκυρο, το προσθέτουν στη δική τους βάση δεδομένων. +- Αν ένας επικυρωτής ενημερωθεί για δύο αντικρουόμενα μπλοκ για την ίδια θέση χρησιμοποιούν τον αλγόριθμο επιλογής ενσωμάτωσης για να επιλέξουν αυτό που υποστηρίζεται από τα ETH με την περισσότερη συμμετοχή. + +[Περισσότερα για την απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos) + +## Τι περιέχει ένα μπλοκ; {#block-anatomy} + +Υπάρχουν πολλές πληροφορίες που περιέχονται μέσα σε ένα μπλοκ. Στο υψηλότερο επίπεδο ένα μπλοκ περιέχει τα ακόλουθα πεδία: + +| Πεδίο | Περιγραφή | +|:---------------- |:----------------------------------------------------------------- | +| `υποδοχή` | η θέση στην οποία ανήκει το μπλοκ | +| `proposer_index` | το αναγνωριστικό του επικυρωτή που προτείνει το μπλοκ | +| `parent_root` | ο κατακερματισμός του προηγούμενου μπλοκ | +| `state_root` | το κατακερματισμό ρίζας του αντικειμένου κατάστασης | +| `κορμός` | ένα αντικείμενο που περιέχει διάφορα πεδία όπως ορίζεται παρακάτω | + +Το μπλοκ `body` περιέχει από μόνο του τα πεδία: + +| Πεδίο | Περιγραφή | +|:-------------------- |:-------------------------------------------------------------------------------------- | +| `randao_reveal` | μια τιμή που χρησιμοποιείται για την επιλογή του επόμενου προτεινόμενου μπλοκ | +| `eth1_data` | πληροφορίες σχετικά με το συμβόλαιο κατάθεσης | +| `γκράφιτι` | αυθαίρετα δεδομένα που χρησιμοποιούνται για τη σήμανση του μπλοκ | +| `proposer_slashings` | κατάλογος επικυρωτών που πρέπει να περικοπούν | +| `attester_slashings` | κατάλογος βεβαιωτών που πρέπει να περικοπούν | +| `επαληθεύσεις` | λίστα βεβαιώσεων υπέρ του τρέχοντος μπλοκ | +| `καταθέσεις` | λίστα νέων καταθέσεων στο συμβόλαιο καταθέσεων | +| `voluntary_exits` | λίστα επικυρωτών που εξέρχονται από το δίκτυο | +| `sync_aggregate` | υποσύνολο επικυρωτών που χρησιμοποιούνται για την εξυπηρέτηση λογισμικού ελαφρύ πελάτη | +| `execution_payload` | συναλλαγές που έχουν μεταβιβαστεί από τον πελάτη εκτέλεσης | + +Το πεδίο `attestations` περιέχει μια λίστα με όλες τις βεβαιώσεις στο μπλοκ. Οι επιβεβαιώσεις έχουν το δικό τους τύπο δεδομένων που περιέχει πολλά κομμάτια των δεδομένων. Κάθε επιβεβαίωση περιέχει: + +| Πεδίο | Περιγραφή | +|:------------------ |:--------------------------------------------------------- | +| `aggregation_bits` | κατάλογο επικυρωτών που συμμετείχαν στην επιβεβαίωση | +| `δεδομένα` | ένα κατάλογο με πολλαπλά υποπεδία | +| `υπογραφή` | συγκεντρωτική υπογραφή όλων των βεβαιώσεων των επικυρωτών | + +Το πεδίο `data` στo `attestation` περιέχει: + +| Πεδίο | Περιγραφή | +|:------------------- |:-------------------------------------------------------------------------- | +| `υποδοχή` | τη θέση που αφορά η επιβεβαίωση | +| `ευρετήριο` | δείκτες βεβαίωσης επικυρωτών | +| `beacon_block_root` | το κατακερματισμό ρίζας του αρχικού μπλοκ που περιέχει αυτό το αντικείμενο | +| `πηγή` | το τελευταίο επιβεβαιωμένο σημείο ελέγχου | +| `target` | το τελευταίο μπλοκ ορίων εποχής | + +Η εκτέλεση συναλλαγών στην `execution_payload` ενημερώνει την παγκόσμια κατάσταση. Όλοι οι πελάτες επανεκτελούν τις συναλλαγές στο `execution_payload`, για να εξασφαλίσουν ότι η νέα κατάσταση ταιριάζει με αυτό στο νέο πεδίο μπλοκ `state_root`. Αυτός είναι ο τρόπος με τον οποίο το λογισμικό πελάτη μπορεί να πει ότι ένα νέο μπλοκ είναι έγκυρο και ασφαλές για να προστεθεί στην κρυπτοαλυσίδα. Το `execution payload` είναι ένα αντικείμενο με πολλά πεδία. Υπάρχει επίσης το `execution_payload_header` που περιέχει σημαντικές συνοπτικές πληροφορίες σχετικά με τα δεδομένα εκτέλεσης. Αυτές οι δομές δεδομένων οργανώνονται όπως παρακάτω: + +Το `execution_payload_header` περιέχει τα πεδία: + +| Πεδίο | Περιγραφή | +|:------------------- |:------------------------------------------------------------------------------------- | +| `parent_hash` | κατακερματισμό γονικού μπλοκ | +| `fee_recipient` | διεύθυνση λογαριασμού πληρωμής των τελών συναλλαγής | +| `state_root` | κατακερματισμό ρίζας παγκόσμιας κατάστασης μετά την εφαρμογή αλλαγών σε αυτό το μπλοκ | +| `receipts_root` | κατακερματισμό των αποδείξεων συναλλαγής | +| `logs_bloom` | δομή δεδομένων που περιέχει αρχεία καταγραφής συμβάντων | +| `prev_randao` | τιμή που χρησιμοποιήθηκε στην τυχαία επιλογή του επικυρωτή | +| `block_number` | ο αριθμός του τρέχοντος μπλοκ | +| `gas_limit` | μέγιστο επιτρεπόμενο κόστος κρατήσεων σε αυτό το μπλοκ | +| `gas_used` | η πραγματική ποσότητα κρατήσεων που χρησιμοποιείται σε αυτό το μπλοκ | +| `χρονική σήμανση` | χρόνος μπλοκ | +| `extra_data` | αυθαίρετα πρόσθετα δεδομένα ως ακατέργαστα bytes | +| `base_fee_per_gas` | βασική αξία τέλους | +| `block_hash` | κατακερματισμός του μπλοκ εκτέλεσης | +| `transactions_root` | hash ρίζας συναλλαγών πληρωμών | +| `withdrawal_root` | root hash των αναλήψεων στο payload | + +Το ίδιο το `execution_payload` περιέχει τα εξής (προσέξτε ότι είναι πανομοιότυπο με την κεφαλίδα εκτός από το ότι αντί για τον κατακερματισμό ρίζας των συναλλαγών περιλαμβάνει την πραγματική λίστα συναλλαγών και πληροφορίες ανάληψης): + +| Πεδίο | Περιγραφή | +|:------------------ |:------------------------------------------------------------------------------------- | +| `parent_hash` | κατακερματισμό γονικού μπλοκ | +| `fee_recipient` | διεύθυνση λογαριασμού πληρωμής των τελών συναλλαγής | +| `state_root` | κατακερματισμό ρίζας παγκόσμιας κατάστασης μετά την εφαρμογή αλλαγών σε αυτό το μπλοκ | +| `receipts_root` | κατακερματισμό των αποδείξεων συναλλαγής | +| `logs_bloom` | δομή δεδομένων που περιέχει αρχεία καταγραφής συμβάντων | +| `prev_randao` | τιμή που χρησιμοποιήθηκε στην τυχαία επιλογή του επικυρωτή | +| `block_number` | ο αριθμός του τρέχοντος μπλοκ | +| `gas_limit` | μέγιστο επιτρεπόμενο κόστος κρατήσεων σε αυτό το μπλοκ | +| `gas_used` | η πραγματική ποσότητα κρατήσεων που χρησιμοποιείται σε αυτό το μπλοκ | +| `χρονική σήμανση` | χρόνος μπλοκ | +| `extra_data` | αυθαίρετα πρόσθετα δεδομένα ως ακατέργαστα bytes | +| `base_fee_per_gas` | βασική αξία τέλους | +| `block_hash` | κατακερματισμός του μπλοκ εκτέλεσης | +| `συναλλαγές` | λίστα των προς εκτέλεση συναλλαγών | +| `αναλήψεις` | λίστα αντικειμένων ανάληψης | + +Η λίστα `withdrawals` περιέχει αντικείμενα `withdrawal` δομημένα με τον ακόλουθο τρόπο: + +| Πεδίο | Περιγραφή | +|:---------------- |:--------------------------------- | +| `διεύθυνση` | τη διεύθυνση λογαριασμού ανάληψης | +| `ποσό` | ποσό ανάληψης | +| `ευρετήριο` | τιμή δείκτη ανάληψης | +| `validatorIndex` | τιμή δείκτη επικυρωτή | + +## Χρόνος μπλοκ {#block-time} + +Ο χρόνος μπλοκ αναφέρεται στο χρόνο διαχωρισμού των μπλοκ. Στο Ethereum, ο χρόνος χωρίζεται σε τμήματα των δώδεκα δευτερολέπτων που ονομάζονται «θέσεις». Σε κάθε θέση επιλέγεται ένας επικυρωτής για να προτείνει ένα μπλοκ. Υποθέτοντας ότι όλοι οι επικυρωτές βρίσκονται σε σύνδεση και πλήρως λειτουργικοί θα υπάρχει ένα μπλοκ σε κάθε θέση, που σημαίνει ότι ο χρόνος μπλοκ είναι 12 δευτ. Ωστόσο, περιστασιακά οι επικυρωτές μπορεί να είναι εκτός σύνδεσης όταν καλούνται να προτείνουν ένα μπλοκ, πράγμα που σημαίνει ότι κάποιες θέσεις θα είναι κενές. + +Αυτή η εφαρμογή διαφέρει από τα συστήματα που βασίζονται στην απόδειξη εργασία, όπου οι χρόνοι θέσης είναι πιθανός συντονισμένοι με το πρωτόκολλο στοχευμένης δυσκολίας κρυπτόρυξης. Ο [μέσος χρόνος μπλοκ](https://etherscan.io/chart/blocktime) του Ethereum, είναι ένα τέλειο παράδειγμα όπου συμπεράνουμε ότι η μετάβαση από την απόδειξη εργασίας στην απόδειξη συμμετοχής μπορεί γίνει σαφώς με βάση τη συνοχή του νέου χρόνου μπλοκ των 12 δευτ. + +## Μέγεθος μπλοκ {#block-size} + +Μια τελευταία σημαντική σημείωση είναι ότι τα μπλοκ έχουν περιορισμένο μέγεθος. Κάθε μπλοκ έχει ένα μέγεθος στόχο 15 εκατομμύρια, αλλά το μέγεθος των μπλοκ θα αυξάνεται ή θα μειώνεται σύμφωνα με τη ζήτηση του δικτύου, μέχρι το όριο μπλοκ των 30 εκατομμυρίων (2x το μέγεθος του στόχου μπλοκ). Το όριο κράτησης gas στο μπλοκ μπορεί να ρυθμιστεί προς τα πάνω ή προς τα κάτω κατά συντελεστή 1/1024 από το όριο κράτησης gas του προηγούμενου μπλοκ. Ως αποτέλεσμα, οι επικυρωτές μπορούν να αλλάξουν το όριο κράτησης gas του μπλοκ μέσω συναίνεσης. Η συνολική ποσότητα κρατήσεων που δαπανάται από όλες τις συναλλαγές στο μπλοκ πρέπει να είναι μικρότερη από το όριο κρατήσεων του μπλοκ. Αυτό είναι σημαντικό επειδή εξασφαλίζει ότι τα μπλοκ δεν μπορούν να είναι αυθαίρετα μεγάλα σε μέγεθος. Εάν τα μπλοκ θα μπορούσαν να είναι αυθαίρετα μεγάλα σε μέγεθος, τότε οι κόμβοι με περιορισμένες επιδόσεις δε θα μπορούσαν να ανταποκριθούν στις ανάγκες και τις απαιτήσεις του δικτύου. Όσο μεγαλύτερο είναι ένα μπλοκ, τόσο μεγαλύτερη υπολογιστική δύναμη απαιτείται για να επεξεργαστεί εγκαίρως για την επόμενη υποδοχή. Αυτή είναι μια συγκεντρωτική δύναμη, η οποία αντιστέκεται με την κάλυψη των μεγεθών μπλοκ. + +## Περισσότερες πληροφορίες {#further-reading} + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ + +## Σχετικά θέματα {#related-topics} + +- [Συναλλαγές](/developers/docs/transactions/) +- [Κρατήσεις (Gas)](/developers/docs/gas/) +- [Απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos) diff --git a/public/content/translations/el/developers/docs/dapps/index.md b/public/content/translations/el/developers/docs/dapps/index.md new file mode 100644 index 00000000000..29a51602c6b --- /dev/null +++ b/public/content/translations/el/developers/docs/dapps/index.md @@ -0,0 +1,96 @@ +--- +title: Εισαγωγή στις αποκεντρωμένες εφαρμογές (dapps) +description: +lang: el +--- + +Μια αποκεντρωμένη εφαρμογή (dapp) είναι μια εφαρμογή φτιαγμένη για το αποκεντρωμένο δίκτυο που συνδυάζει το [έξυπνο συμβόλαιο](/developers/docs/smart-contracts/) με το περιβάλλον διεπαφής του χρήστη. Τα έξυπνα συμβόλαια στο Ethereum είναι προσβάσιμα και διαφανή, όπως τα ανοικτά APIs - ώστε το dapp σας να μπορεί να περιλαμβάνει ένα έξυπνο συμβόλαιο που κάποιος άλλος έχει συντάξει. + +## Προαπαιτούμενα {#prerequisites} + +Πριν μάθετε για τα dapps, θα πρέπει να ενημερωθείτε σχετικά με τα [βασικά της κρυπτοαλυσίδας](/developers/docs/intro-to-ethereum/) και να διαβάσετε για το δίκτυο του Ethereum και τον αποκεντρωμένο τρόπο λειτουργίας. + +## Ο ορισμός του dapp {#definition-of-a-dapp} + +Μια αποκεντρωμένη εφαρμογή εκτελεί τον κώδικά της στο αποκεντρωμένο δίκτυο ομότιμων συστημάτων ή μεταξύ χρηστών. Αντίθετα από τις κοινές εφαρμογές όπου ο κώδικάς τους εκτελείται στους κεντρικούς διακομιστές. + +Μια αποκεντρωμένη εφαρμογή μπορεί να έχει κώδικα για τη γραφική διεπαφή του χρήστη γραμμένο σε οποιαδήποτε γλώσσα (ακριβώς όπως μια εφαρμογή) και να μπορεί να επικοινωνεί με το βασικό κώδικά της. Επιπλέον, η γραφική διεπαφή χρήστη μπορεί να φιλοξενηθεί σε αποκεντρωμένο αποθηκευτικό χώρο όπως το [IPFS](https://ipfs.io/). + +- **Αποκεντρωμένα** - Τα dapps λειτουργούν στο Ethereum, μια ανοικτή δημόσια αποκεντρωμένη πλατφόρμα όπου κανένα άτομο ή ομάδα δεν έχει έλεγχο +- **Deterministic** - εκτελούν την ίδια λειτουργία ανεξάρτητα από το περιβάλλον που εκτελούνται +- **Turing complete** - μπορούν να εκτελέσουν οποιαδήποτε ενέργεια αν έχουν τους απαιτούμενους πόρους +- **Απομονωμένα** - που σημαίνει ότι εκτελούνται σε ένα εικονικό περιβάλλον γνωστό ως εικονική μηχανή Ethereum, έτσι ώστε αν το έξυπνο συμβόλαιο παρουσιάσει ένα σφάλμα, δε θα παρακωλύσει την κανονική λειτουργία του δικτύου της κρυπτοαλυσίδας + +### Τα Έξυπνα Συμβόλαια {#on-smart-contracts} + +Για να παρουσιάσουμε τις αποκεντρωμένες εφαρμογές, πρέπει να μιλήσουμε πρώτα για τα έξυπνα συμβόλαια – μπορούμε να το πούμε ο βασικός τους κώδικας, λόγω έλλειψης καλύτερου όρου. Για περισσότερες πληροφορίες, μεταβείτε στην ενότητα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/). + +Ένα έξυπνο συμβόλαιο είναι ο κώδικας που υπάρχει στην κρυπτοαλυσίδα του Ethereum και λειτουργεί ακριβώς όπως είναι προγραμματισμένο. Μόλις δημοσιευτούν τα έξυπνα συμβόλαια στο δίκτυο δεν μπορείτε να κάνετε αλλαγές. Οι Dapps είναι αποκεντρωμένες επειδή ελέγχονται από τη λογική που γράφεται το συμβόλαιο και όχι από ένα άτομο ή εταιρεία. Αυτό σημαίνει ότι πρέπει να σχεδιάσετε πολύ προσεκτικά τα συμβόλαιά σας και να τα δοκιμάσετε λεπτομερώς. + +## Πλεονεκτήματα ανάπτυξης αποκεντρωμένης εφαρμογής {#benefits-of-dapp-development} + +- **Διαθεσιμότητα** – Μόλις δημοσιευθεί το έξυπνο συμβόλαιο στην κρυπτοαλυσίδα, το δίκτυο στο σύνολό του θα είναι πάντα σε θέση να εξυπηρετήσει τα λογισμικά πελάτη που επιθυμούν να αλληλεπιδράσουν με το συμβόλαιο. Έτσι οι κακόβουλοι παράγοντες δεν μπορούν να προβούν σε επιθέσεις denial-of-service με στόχο μεμονωμένες αποκεντρωμένες εφαρμογές. +- **Ιδιωτικότητα** – Δε χρειάζεται να παρέχετε την πραγματική σας ταυτότητα για να αλληλεπιδράσετε με αποκεντρωμένη εφαρμογή. +- **Αντοχή στη λογοκρισία** – Καμία οντότητα στο δίκτυο δεν μπορεί να εμποδίσει τους χρήστες να υποβάλουν συναλλαγές, να αναπτύξουν αποκεντρωμένες εφαρμογές ή να λάβουν δεδομένα από την κρυπτοαλυσίδα. +- **Πλήρης ακεραιότητα δεδομένων** – Τα δεδομένα που είναι αποθηκευμένα στην κρυπτοαλυσίδα είναι αμετάβλητα και αδιαμφισβήτητα, χάρη στα πρωτογενή στοιχεία κρυπτογράφησης. Οι κακόβουλοι φορείς δεν μπορούν να επιβάλουν συναλλαγές ή άλλα δεδομένα που έχουν ήδη δημοσιοποιηθεί. +- **Ανεξάρτητη λειτουργία υπολογισμού/επαλήθευσης** – Τα έξυπνα συμβόλαια μπορούν να αναλυθούν και είναι βέβαιο ότι θα εκτελεστούν με προβλέψιμους τρόπους, χωρίς την ανάγκη παροχής εμπιστοσύνης σε μια κεντρική υπηρεσία. Αυτό δεν ισχύει για τα παραδοσιακά μοντέλα. Για παράδειγμα, όταν χρησιμοποιούμε ηλεκτρονικά τραπεζικά συστήματα, πρέπει να εμπιστευτούμε ότι τα χρηματοπιστωτικά ιδρύματα δε θα καταχραστούν τα οικονομικά μας δεδομένα, δε θα εκτεθούν τα αρχεία μας ή θα παραβιαστούν από κακόβουλους. + +## Μειονεκτήματα ανάπτυξης αποκεντρωμένης εφαρμογής {#drawbacks-of-dapp-development} + +- **Συντήρηση** – Οι αποκεντρωμένες εφαρμογές είναι πιο δύσκολο να συντηρηθούν, επειδή ο κώδικας και τα δεδομένα που δημοσιεύονται στην κρυπτοαλυσίδα είναι πιο δύσκολο να τροποποιηθούν. Είναι δύσκολο για τους προγραμματιστές να παρέχουν ενημερώσεις για τις αποκεντρωμένες εφαρμογές τους (ή στα δεδομένα που αποθηκεύονται από μια εφαρμογή) μόλις δημοσιευθούν, ακόμα και αν εντοπίζονται σφάλματα ή κίνδυνοι ασφάλειας σε μια παλιά έκδοση. +- **Κλιμάκωση επιδόσεων** – Υπάρχει μια τεράστια ανάγκη αύξησης επιδόσεων και η επεκτασιμότητα είναι πραγματικά δύσκολη. Για να επιτευχθεί το επίπεδο ασφαλείας, της ακεραιότητας, της διαφάνειας και της αξιοπιστίας που φιλοδοξεί το Ethereum, κάθε κόμβος εκτελεί και αποθηκεύει κάθε συναλλαγή. Επιπλέον, η συναίνεση με την απόδειξη συμμετοχής χρειάζεται χρόνο. +- **Συμφόρηση δικτύου** – Όταν μια αποκεντρωμένη εφαρμογή χρησιμοποιεί πάρα πολλούς υπολογιστικούς πόρους, ολόκληρο το δίκτυο δημιουργεί αντίγραφα ασφαλείας. Επί του παρόντος, το δίκτυο είναι σε θέση να επεξεργάζεται μόνο 10-15 συναλλαγές ανά δευτερόλεπτο. Εάν οι συναλλαγές αποστέλλονται γρηγορότερα, η δεξαμενή των ανεπιβεβαίωτων συναλλαγών μπορεί γρήγορα να διογκωθεί. +- **Εμπειρία χρήστη** – Μπορεί να είναι πιο δύσκολο να σχεδιάσουμε εμπειρίες φιλικές προς τον χρήστη. Ο μέσος τελικός χρήστης μπορεί να είναι πολύ δύσκολο να δημιουργήσει μια σειρά εργαλείων απαραίτητα για να αλληλεπιδράσει με την κρυπτοαλυσίδα με έναν πραγματικά ασφαλή τρόπο. +- **Κεντρική διαχείριση** – Λύσεις φιλικές προς το χρήστη και προς τον προγραμματιστή, κατασκευασμένες στο βασικό στρώμα του Ethereum μπορεί να καταλήξουν να μοιάζουν με κεντρικές υπηρεσίες ούτως ή άλλως. Για παράδειγμα, τέτοιες υπηρεσίες μπορούν να αποθηκεύουν κλειδιά ή άλλες ευαίσθητες πληροφορίες στο διακομιστή, να εξυπηρετούν τον χρήστη χρησιμοποιώντας ένα κεντρικό διακομιστή ή να εκτελούν σημαντική επιχειρηματική λογική σε ένα κεντρικό διακομιστή πριν τη σύνταξη της κρυπτοαλυσίδας. Η κεντρική διαχείριση εξαλείφει πολλά (αν όχι όλα) από τα πλεονεκτήματα της χρήσης κρυπτοαλυσίδας σε σχέση με το παραδοσιακό σύστημα. + +## Μάθετε περισσότερα {#visual-learner} + + + +## Εργαλεία για τη δημιουργία dapps {#dapp-tools} + +**Scaffold-ETH _- Γρήγορο εμπειρία με τη Solidity χρησιμοποιώντας ένα περιβάλλον χρήστη που προσαρμόζεται στο έξυπνο συμβόλαιο σας._** + +- [GitHub](https://github.com/scaffold-eth/scaffold-eth-2) +- [Παράδειγμα dapp](https://punkwallet.io/) + +**Create Eth App _- Δημιουργήστε εφαρμογές για το Ethereum με μια εντολή._** + +- [GitHub](https://github.com/paulrberg/create-eth-app) + +**One Click Dapp _- Εργαλείο FOSS για τη δημιουργία dapp περιβάλλοντος χρήστη από ένα [ABI](/glossary/#abi)._** + +- [oneclickdapp.com](https://oneclickdapp.com) +- [GitHub](https://github.com/oneclickdapp/oneclickdapp-v1) + +**Etherflow _- Ένα εργαλείο FOSS για τους προγραμματιστές του Ethereum για να δοκιμάσουν τον κόμβο τους και να ελέγξουν την & αποσφαλμάτωση RPC από τον φυλλομετρητή._** + +- [etherflow.quiknode.io](https://etherflow.quiknode.io/) +- [GitHub](https://github.com/abunsen/etherflow) + +**thirdweb _- SDK σε κάθε γλώσσα, έξυπνα συμβόλαια, εργαλεία και υποδομή για ανάπτυξη web3._** + +- [Αρχική σελίδα](https://thirdweb.com/) +- [Τεκμηρίωση](https://portal.thirdweb.com/) +- [GitHub](https://github.com/thirdweb-dev/) + +**Crossmint _- Πλατφόρμα ανάπτυξης web3 για επιχειρήσεις για την ανάπτυξη έξυπνων συμβολαίων, την ενεργοποίηση πληρωμών με πιστωτικές κάρτες και διασταυρούμενες αλυσίδες, τη χρήση API για τη δημιουργία, τη διανομή, την πώληση, την αποθήκευση και την επεξεργασία NFT._** + +- [crossmint.com](https://www.crossmint.com) +- [Τεκμηρίωση](https://docs.crossmint.com) +- [Discord](https://discord.com/invite/crossmint) + +## Περισσότερες πληροφορίες {#further-reading} + +- [Εξερεύνηση dapp](/dapps) +- [Η Αρχιτέκτων της εφαρμογής του Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_ +- [Ένας οδηγός του 2021 για αποκεντρωμένες εφαρμογές](https://limechain.tech/blog/what-are-dapps-the-2021-guide/) - _LimeChain_ +- [Τι είναι οι αποκεντρωμένες εφαρμογές;](https://www.gemini.com/cryptopedia/decentralized-applications-defi-dapps) - _Gemini_ +- [Δημοφιλή dapps](https://www.alchemy.com/dapps) - _Alchemy_ + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ + +## Σχετικά Θέματα {#related-topics} + +- [Εισαγωγή στην αποθήκευση κεφαλαίου στο Ethereum](/developers/docs/ethereum-stack/) +- [Πλαίσια ανάπτυξης](/developers/docs/frameworks/) diff --git a/public/content/translations/el/developers/docs/evm/index.md b/public/content/translations/el/developers/docs/evm/index.md new file mode 100644 index 00000000000..b2c8c2ea948 --- /dev/null +++ b/public/content/translations/el/developers/docs/evm/index.md @@ -0,0 +1,78 @@ +--- +title: Η εικονική μηχανή του Ethereum (EVM) +description: Μια εισαγωγή στην εικονική μηχανή του Ethereum και πώς σχετίζεται με την κατάσταση, τις συναλλαγές και τα έξυπνα συμβόλαια. +lang: el +--- + +Η εικονική μηχανή Ethereum (EVM) είναι ένα αποκεντρωμένο εικονικό περιβάλλον που εκτελεί κώδικα με συνέπεια και ασφάλεια σε όλους τους κόμβους του Ethereum. Οι κόμβοι εκτελούν το EVM για την εκτέλεση έξυπνων συμβολαίων, χρησιμοποιώντας "[gas](/gas/)" για τη μέτρηση της υπολογιστικής προσπάθειας που απαιτούν οι [λειτουργίες](/developers/docs/evm/opcodes/), διασφαλίζοντας αποτελεσματική κατανομή πόρων και ασφάλεια δικτύου. + +## Προαπαιτούμενα {#prerequisites} + +Για την κατανόηση του EVM απαιτείται κάποια βασική εξοικείωση με την κοινή ορολογία στην επιστήμη των υπολογιστών, όπως [byte](https://wikipedia.org/wiki/Byte), [μνήμη](https://wikipedia.org/wiki/Computer_memory) και [στοίβα](https://wikipedia.org/wiki/Stack_(abstract_data_type)). Θα ήταν επίσης χρήσιμο να νιώθετε άνετα με έννοιες κρυπτογραφίας/αλυσίδας συστοιχιών, όπως [συναρτήσεις κατακερματισμού](https://wikipedia.org/wiki/Cryptographic_hash_function) και [δέντρο Merkle](https://wikipedia.org/wiki/Merkle_tree). + +## Από το ledger στη μηχανή κατάστασης {#from-ledger-to-state-machine} + +Η αναλογία ενός «κατανεμημένου ledger» χρησιμοποιείται συχνά για να περιγράψει αλυσίδες συστοιχιών, όπως το Bitcoin, που ενεργοποιούν ένα νόμισμα αποκεντρωμένο χρησιμοποιώντας θεμελιώδη εργαλεία κρυπτογραφίας. Το ledger διατηρεί ένα αρχείο δραστηριότητας το οποίο πρέπει να συμμορφώνεται με ένα σύνολο κανόνων που ελέγχουν τι μπορεί και τι δεν μπορεί να κάνει κάποιος για να τροποποιήσει το ledger. Για παράδειγμα, μια διεύθυνση Bitcoin δεν μπορεί να ξοδέψει περισσότερα Bitcoin από όσα είχε λάβει προηγουμένως. Αυτοί οι κανόνες είναι θεμελιώδεις για όλες τις συναλλαγές στο Bitcoin και σε πολλές άλλες αλυσίδες συστοιχιών. + +Ενώ το Ethereum έχει το δικό του εγγενές κρυπτονόμισμα (Ether) που ακολουθεί σχεδόν ακριβώς τους ίδιους διαισθητικούς κανόνες, ενεργοποιεί επίσης μια πολύ πιο ισχυρή λειτουργία: [τα έξυπνα συμβόλαια](/developers/docs/smart-contracts/). Για αυτό το πιο περίπλοκο χαρακτηριστικό, απαιτείται μια πιο σύνθετη αναλογία. Αντί για ένα κατανεμημένο ledger, το Ethereum είναι μια κατανεμημένη [μηχανή κατάστασης](https://wikipedia.org/wiki/Finite-state_machine). Η κατάσταση του Ethereum είναι μια μεγάλη δομή δεδομένων που περιέχει όχι μόνο όλους τους λογαριασμούς και τα υπόλοιπα, αλλά μια _κατάσταση μηχανής_, η οποία μπορεί να αλλάζει από μπλοκ σε μπλοκ σύμφωνα με ένα προκαθορισμένο σύνολο κανόνων και η οποία μπορεί να εκτελεί αυθαίρετα κώδικα μηχανήματος. Οι συγκεκριμένοι κανόνες αλλαγής κατάστασης από μπλοκ σε μπλοκ καθορίζονται από το EVM. + +![Ένα διάγραμμα που δείχνει τη σύνθεση του EVM](./evm.png) _Προσαρμοσμένο διάγραμμα [εικονογραφημένο από Ethereum EVM ](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +## Η λειτουργία μετάβασης της κατάστασης του Ethereum {#the-ethereum-state-transition-function} + +Το EVM συμπεριφέρεται όπως μια μαθηματική συνάρτηση: Με δεδομένο στοιχείο εισόδου, παράγει αιτιοκρατικό στοιχείο εξόδου. Επομένως, είναι πολύ χρήσιμο να περιγράφουμε πιο επίσημα ότι το Ethereum έχει **λειτουργία μετάβασης κατάστασης**: + +``` +Y(S, T)= S' +``` + +Δεδομένης μιας παλιάς έγκυρης κατάστασης `(S)` και ενός νέου συνόλου έγκυρων συναλλαγών `(T)`, η λειτουργία μετάβασης κατάστασης του Ethereum `Y(S, T)` παράγει μια νέα έγκυρη κατάσταση εξόδου `S'` + +### Κατάσταση {#state} + +Στο πλαίσιο του Ethereum, η κατάσταση είναι μια τεράστια δομή δεδομένων που ονομάζεται [τροποποιημένο Merkle Patricia Trie](/developers/docs/data-structures-and-encoding/patricia-merkle-trie/), το οποίο διατηρεί όλους τους [λογαριασμούς](/developers/docs/accounts/) συνδεδεμένους με κατακερματισμούς και μπορεί να αναχθεί σε έναν ενιαίο κατακερματισμό ρίζας που είναι αποθηκευμένος στην αλυσίδα συστοιχιών. + +### Συναλλαγές {#transactions} + +Οι συναλλαγές είναι κρυπτογραφικά υπογεγραμμένες από το λογαριασμό. Υπάρχουν δύο τύποι συναλλαγών: αυτές που καταλήγουν σε κλήσεις μηνυμάτων και εκείνες που καταλήγουν στη δημιουργία συμβολαίων. + +Η δημιουργία συμβολαίου έχει ως αποτέλεσμα τη δημιουργία ενός νέου λογαριασμού συμβολαίου που περιέχει συνταγμένο bytecode [έξυπνου συμβολαίου](/developers/docs/smart-contracts/anatomy/). Κάθε φορά που ένας άλλος λογαριασμός κάνει μια κλήση μηνύματος σε αυτό το συμβόλαιο, εκτελεί το bytecode του. + +## Οδηγίες EVM {#evm-instructions} + +Το EVM εκτελείται ως [μηχάνημα στοίβας](https://wikipedia.org/wiki/Stack_machine) με βάθος 1024 στοιχείων. Κάθε στοιχείο είναι μια λέξη 25- bit, η οποία επιλέχθηκε για την ευκολία χρήσης με κρυπτογραφία 256-bit (όπως κατακερματισμοί Keccak-256 ή υπογραφές secp256k1). + +Κατά την εκτέλεση, το EVM διατηρεί μια μεταβατική _μνήμη_ (ως πίνακας byte με αναζήτηση βάσει λέξης), η οποία δεν επιμένει μεταξύ των συναλλαγών. + +Τα συμβόλαια, ωστόσο, περιέχουν ένα τρίγωνο _αποθήκευσης_ Merkle Patricia (ως πίνακας λέξεων με αναζήτηση βάσει λέξης), που σχετίζεται με τον εν λόγω λογαριασμό και αποτελεί μέρος της συνολικής κατάστασης. + +Ο συνταγμένος bytecode έξυπνων συμβολαίων εκτελείται ως ένας αριθμός [κωδικών](/developers/docs/evm/opcodes) EVM, οι οποίοι εκτελούν τυπικές λειτουργίες στοίβας όπως `XOR`, `AND`, `ADD`, `SUB` κ.λπ. Το EVM υλοποιεί επίσης έναν αριθμό λειτουργιών στοίβας ειδικά για την αλυσίδα συστοιχιών, όπως `ADDRESS`, `BALANCE`, `BLOCKHASH`, κ.λπ. + +![Ένα διάγραμμα που δείχνει πού χρειάζεται gas για λειτουργίες EVM](../gas/gas.png) _Τα διαγράμματα προσαρμόζονται από το [εικονογραφημένο EVM του Ethereum](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +## Υλοποιήσεις EVM {#evm-implementations} + +Όλες οι υλοποιήσεις του EVM πρέπει να συμμορφώνονται με τις προδιαγραφές που περιγράφονται στο Yellowpaper του Ethereum. + +Κατά τη διάρκεια της εννιάχρονης ιστορίας του Ethereum, το EVM έχει υποστεί αρκετές αναθεωρήσεις και υπάρχουν αρκετές υλοποιήσεις του EVM σε διάφορες γλώσσες προγραμματισμού. + +Οι[πελάτης εκτέλεσης του Ethereum](/developers/docs/nodes-and-clients/#execution-clients) περιλαμβάνουν υλοποίηση EVM. Επιπλέον, υπάρχουν πολλές αυτόνομες υλοποιήσεις, όπως: + +- [Py-EVM](https://github.com/ethereum/py-evm) - _Python_ +- [evmone](https://github.com/ethereum/evmone) - _C++_ +- [ethereumjs-vm](https://github.com/ethereumjs/ethereumjs-vm) - _JavaScript_ +- [revm](https://github.com/bluealloy/revm) - _Rust_ + +## Περισσότερες πληροφορίες {#further-reading} + +- [Ethereum Yellowpaper](https://ethereum.github.io/yellowpaper/paper.pdf) +- [Jellopaper ή αλλιώς KEVM: EVM στην K](https://jellopaper.org/) +- [The Beigepaper](https://github.com/chronaeon/beigepaper) +- [Εικονική μηχανή Ethereum Opcodes](https://www.ethervm.io/) +- [Διαδραστική αναφορά της Εικονικής μηχανής Ethereum Opcodes](https://www.evm.codes/) +- [Μια σύντομη εισαγωγή στην τεκμηρίωση του Solidity](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#index-6) +- [Μαθαίνοντας άριστα το Ethereum - Η εικονική μηχανή του Ethereum](https://github.com/ethereumbook/ethereumbook/blob/develop/13evm.asciidoc) + +## Σχετικά Θέματα {#related-topics} + +- [Καύσιμα](/developers/docs/gas/) diff --git a/public/content/translations/el/developers/docs/evm/opcodes/index.md b/public/content/translations/el/developers/docs/evm/opcodes/index.md new file mode 100644 index 00000000000..acc824d3e63 --- /dev/null +++ b/public/content/translations/el/developers/docs/evm/opcodes/index.md @@ -0,0 +1,174 @@ +--- +title: Opcodes για το EVM +description: Μια λίστα με όλα τα διαθέσιμα «opcodes» για την εικονική μηχανή Ethereum. +lang: el +--- + +## Επισκόπηση {#overview} + +Αυτή είναι μια ενημερωμένη έκδοση της ιστοσελίδας αναφοράς EVM στο [wolflo/evm-opcodes](https://github.com/wolflo/evm-opcodes). Επίσης, αντλήθηκε από το [Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf), το [Jello Paper](https://jellopaper.org/evm/) και την εφαρμογή [geth](https://github.com/ethereum/go-ethereum). Προορίζεται να είναι μια προσβάσιμη αναφορά, αλλά δεν είναι ιδιαίτερα αυστηρή. Αν θέλετε να είστε σίγουροι για την ορθότητα και την επίγνωση κάθε περίπτωσης, συνιστάται η χρήση του χαρτιού Jello Paper ή της εφαρμογής πελάτη. + +Ψάχνετε για μια διαδραστική αναφορά; Επισκεφθείτε το [evm.codes](https://www.evm.codes/). + +Για λειτουργίες με δυναμικό κόστος κρατήσεων, δείτε το [gas.md](https://github.com/wolflo/evm-opcodes/blob/main/gas.md). + +💡 Γρήγορη συμβουλή: Για να δείτε ολόκληρες τις γραμμές, χρησιμοποιήστε `[shift] + scroll` για να μετακινηθείτε οριζόντια στην επιφάνεια εργασίας. + +| Στοίβα | Όνομα | Κρατήσεις (Gas) | Αρχική στοίβα | Αποτέλεσμα στοίβας | Μνήμη / Αποθήκευση | Σημειώσεις | +|:------:|:-------------- |:------------------------------------------------------------------------------------------------:|:------------------------------------------------ |:-------------------------------------------- |:----------------------------------------------------------------------------- |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 00 | STOP | 0 | | | | halt execution | +| 01 | ADD | 3 | `a, b` | `a + b` | | (u)int256 addition modulo 2\*\*256 | +| 02 | MUL | 5 | `a, b` | `a * b` | | (u)int256 multiplication modulo 2\*\*256 | +| 03 | SUB | 3 | `a, b` | `a - b` | | (u)int256 addition modulo 2\*\*256 | +| 04 | DIV | 5 | `a, b` | `a // b` | | uint256 division | +| 05 | SDIV | 5 | `a, b` | `a // b` | | int256 division | +| 06 | MOD | 5 | `a, b` | `a % b` | | uint256 modulus | +| 07 | SMOD | 5 | `a, b` | `a % b` | | int256 modulus | +| 08 | ADDMOD | 8 | `a, b, N` | `(a + b) % N` | | (u)int256 addition modulo N | +| 09 | MULMOD | 8 | `a, b, N` | `(a * b) % N` | | (u)int256 multiplication modulo N | +| 0A | EXP | [A1](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a1-exp) | `a, b` | `a ** b` | | uint256 exponentiation modulo 2\*\*256 | +| 0B | SIGNEXTEND | 5 | `b, x` | `SIGNEXTEND(x, b)` | | [sign extend](https://wikipedia.org/wiki/Sign_extension) `x` from `(b+1)` bytes to 32 bytes | +| 0C-0F | _invalid_ | | | | | | +| 10 | LT | 3 | `a, b` | `a < b` | | uint256 less-than | +| 11 | GT | 3 | `a, b` | `a > b` | | uint256 greater-than | +| 12 | SLT | 3 | `a, b` | `a < b` | | int256 less-than | +| 13 | SGT | 3 | `a, b` | `a > b` | | int256 greater-than | +| 14 | EQ | 3 | `a, b` | `a == b` | | (u)int256 equality | +| 15 | ISZERO | 3 | `a` | `a == 0` | | (u)int256 iszero | +| 16 | AND | 3 | `a, b` | `a && b` | | bitwise AND | +| 17 | OR | 3 | `a, b` | `a \|\| b` | | bitwise OR | +| 18 | XOR | 3 | `a, b` | `a ^ b` | | bitwise XOR | +| 19 | NOT | 3 | `a` | `~a` | | bitwise NOT | +| 1A | BYTE | 3 | `i, x` | `(x >> (248 - i * 8)) && 0xFF` | | `i`th byte of (u)int256 `x`, from the left | +| 1B | SHL | 3 | `shift, val` | `val << shift` | | shift left | +| 1C | SHR | 3 | `shift, val` | `val >> shift` | | logical shift right | +| 1D | SAR | 3 | `shift, val` | `val >> shift` | | arithmetic shift right | +| 1E-1F | _invalid_ | | | | | | +| 20 | KECCAK256 | [A2](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a2-sha3) | `ost, len` | `keccak256(mem[ost:ost+len-1])` | | keccak256 | +| 21-2F | _invalid_ | | | | | | +| 30 | ADDRESS | 2 | `.` | `address(this)` | | address of executing contract | +| 31 | BALANCE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `addr.balance` | | balance, in wei | +| 32 | ORIGIN | 2 | `.` | `tx.origin` | | address that originated the tx | +| 33 | CALLER | 2 | `.` | `msg.sender` | | address of msg sender | +| 34 | CALLVALUE | 2 | `.` | `msg.value` | | msg value, in wei | +| 35 | CALLDATALOAD | 3 | `idx` | `msg.data[idx:idx+32]` | | read word from msg data at index `idx` | +| 36 | CALLDATASIZE | 2 | `.` | `len(msg.data)` | | length of msg data, in bytes | +| 37 | CALLDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := msg.data[ost:ost+len-1] | copy msg data | +| 38 | CODESIZE | 2 | `.` | `len(this.code)` | | length of executing contract's code, in bytes | +| 39 | CODECOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | | mem[dstOst:dstOst+len-1] := this.code[ost:ost+len-1] | copy executing contract's bytecode | +| 3A | GASPRICE | 2 | `.` | `tx.gasprice` | | gas price of tx, in wei per unit gas [\*\*](https://eips.ethereum.org/EIPS/eip-1559#gasprice) | +| 3B | EXTCODESIZE | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `len(addr.code)` | | size of code at addr, in bytes | +| 3C | EXTCODECOPY | [A4](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a4-extcodecopy) | `addr, dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := addr.code[ost:ost+len-1] | copy code from `addr` | +| 3D | RETURNDATASIZE | 2 | `.` | `size` | | size of returned data from last external call, in bytes | +| 3E | RETURNDATACOPY | [A3](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a3-copy-operations) | `dstOst, ost, len` | `.` | mem[dstOst:dstOst+len-1] := returndata[ost:ost+len-1] | copy returned data from last external call | +| 3F | EXTCODEHASH | [A5](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a5-balance-extcodesize-extcodehash) | `addr` | `hash` | | hash = addr.exists ? keccak256(addr.code) : 0 | +| 40 | BLOCKHASH | 20 | `blockNum` | `blockHash(blockNum)` | | | +| 41 | COINBASE | 2 | `.` | `block.coinbase` | | διεύθυνση του προτείνοντος το τρέχον μπλοκ | +| 42 | TIMESTAMP | 2 | `.` | `block.timestamp` | | timestamp of current block | +| 43 | NUMBER | 2 | `.` | `block.number` | | number of current block | +| 44 | PREVRANDAO | 2 | `.` | `randomness beacon` | | randomness beacon | +| 45 | GASLIMIT | 2 | `.` | `block.gaslimit` | | gas limit of current block | +| 46 | CHAINID | 2 | `.` | `chain_id` | | push current [chain id](https://eips.ethereum.org/EIPS/eip-155) onto stack | +| 47 | SELFBALANCE | 5 | `.` | `address(this).balance` | | balance of executing contract, in wei | +| 48 | BASEFEE | 2 | `.` | `block.basefee` | | base fee of current block | +| 49 | BLOBHASH | 3 | `idx` | `tx.blob_versioned_hashes[idx]` | | [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) | +| 4A | BLOBBASEFEE | 2 | `.` | `block.blobbasefee` | | βασικό κόστος blob τρέχοντος μπλοκ ([EIP-7516](https://eips.ethereum.org/EIPS/eip-7516)) | +| 4B-4F | _invalid_ | | | | | | +| 50 | POP | 2 | `_anon` | `.` | | remove item from top of stack and discard it | +| 51 | MLOAD | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost` | `mem[ost:ost+32]` | | read word from memory at offset `ost` | +| 52 | MSTORE | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost:ost+32] := val | write a word to memory | +| 53 | MSTORE8 | 3[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, val` | `.` | mem[ost] := val && 0xFF | write a single byte to memory | +| 54 | SLOAD | [A6](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a6-sload) | `key` | `storage[key]` | | read word from storage | +| 55 | SSTORE | [A7](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a7-sstore) | `key, val` | `.` | storage[key] := val | write word to storage | +| 56 | JUMP | 8 | `dst` | `.` | | `$pc := dst` mark that `pc` is only assigned if `dst` is a valid jumpdest | +| 57 | JUMPI | 10 | `dst, condition` | `.` | | `$pc := condition ? dst : $pc + 1` | +| 58 | PC | 2 | `.` | `$pc` | | program counter | +| 59 | MSIZE | 2 | `.` | `len(mem)` | | size of memory in current execution context, in bytes | +| 5A | GAS | 2 | `.` | `gasRemaining` | | | +| 5B | JUMPDEST | 1 | | | mark valid jump destination | a valid jump destination for example a jump destination not inside the push data | +| 5C | TLOAD | 100 | `key` | `tstorage[key]` | | ανάγνωση λέξης από προσωρινό χώρο αποθήκευσης ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) | +| 5D | TSTORE | 100 | `key, val` | `.` | tstorage[key] := val | εγγραφή λέξης από προσωρινό χώρο αποθήκευσης ([EIP-1153](https://eips.ethereum.org/EIPS/eip-1153)) | +| 5E | MCOPY | 3+3\*λέξεις+[A0](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `dstOst, ost, len` | `.` | mem[dstOst] := mem[ost:ost+len] | αντιγραφή μνήμης από μια περιοχή σε άλλη ([EIP-5656](https://eips.ethereum.org/EIPS/eip-5656)) | +| 5F | PUSH0 | 2 | `.` | `uint8` | | push the constant value 0 onto stack | +| 60 | PUSH1 | 3 | `.` | `uint8` | | push 1-byte value onto stack | +| 61 | PUSH2 | 3 | `.` | `uint16` | | push 2-byte value onto stack | +| 62 | PUSH3 | 3 | `.` | `uint24` | | push 3-byte value onto stack | +| 63 | PUSH4 | 3 | `.` | `uint32` | | push 4-byte value onto stack | +| 64 | PUSH5 | 3 | `.` | `uint40` | | push 5-byte value onto stack | +| 65 | PUSH6 | 3 | `.` | `uint48` | | push 6-byte value onto stack | +| 66 | PUSH7 | 3 | `.` | `uint56` | | push 7-byte value onto stack | +| 67 | PUSH8 | 3 | `.` | `uint64` | | push 8-byte value onto stack | +| 68 | PUSH9 | 3 | `.` | `uint72` | | push 9-byte value onto stack | +| 69 | PUSH10 | 3 | `.` | `uint80` | | push 10-byte value onto stack | +| 6A | PUSH11 | 3 | `.` | `uint88` | | push 11-byte value onto stack | +| 6B | PUSH12 | 3 | `.` | `uint96` | | push 12-byte value onto stack | +| 6C | PUSH13 | 3 | `.` | `uint104` | | push 13-byte value onto stack | +| 6D | PUSH14 | 3 | `.` | `uint112` | | push 14-byte value onto stack | +| 6E | PUSH15 | 3 | `.` | `uint120` | | push 15-byte value onto stack | +| 6F | PUSH16 | 3 | `.` | `uint128` | | push 16-byte value onto stack | +| 70 | PUSH17 | 3 | `.` | `uint136` | | push 17-byte value onto stack | +| 71 | PUSH18 | 3 | `.` | `uint144` | | push 18-byte value onto stack | +| 72 | PUSH19 | 3 | `.` | `uint152` | | push 19-byte value onto stack | +| 73 | PUSH20 | 3 | `.` | `uint160` | | push 20-byte value onto stack | +| 74 | PUSH21 | 3 | `.` | `uint168` | | push 21-byte value onto stack | +| 75 | PUSH22 | 3 | `.` | `uint176` | | push 22-byte value onto stack | +| 76 | PUSH23 | 3 | `.` | `uint184` | | push 23-byte value onto stack | +| 77 | PUSH24 | 3 | `.` | `uint192` | | push 24-byte value onto stack | +| 78 | PUSH25 | 3 | `.` | `uint200` | | push 25-byte value onto stack | +| 79 | PUSH26 | 3 | `.` | `uint208` | | push 26-byte value onto stack | +| 7A | PUSH27 | 3 | `.` | `uint216` | | push 27-byte value onto stack | +| 7B | PUSH28 | 3 | `.` | `uint224` | | push 28-byte value onto stack | +| 7C | PUSH29 | 3 | `.` | `uint232` | | push 29-byte value onto stack | +| 7D | PUSH30 | 3 | `.` | `uint240` | | push 30-byte value onto stack | +| 7E | PUSH31 | 3 | `.` | `uint248` | | push 31-byte value onto stack | +| 7F | PUSH32 | 3 | `.` | `uint256` | | push 32-byte value onto stack | +| 80 | DUP1 | 3 | `a` | `a, a` | | clone 1st value on stack | +| 81 | DUP2 | 3 | `_, a` | `a, _, a` | | clone 2nd value on stack | +| 82 | DUP3 | 3 | `_, _, a` | `a, _, _, a` | | clone 3rd value on stack | +| 83 | DUP4 | 3 | `_, _, _, a` | `a, _, _, _, a` | | clone 4th value on stack | +| 84 | DUP5 | 3 | `..., a` | `a, ..., a` | | clone 5th value on stack | +| 85 | DUP6 | 3 | `..., a` | `a, ..., a` | | clone 6th value on stack | +| 86 | DUP7 | 3 | `..., a` | `a, ..., a` | | clone 7th value on stack | +| 87 | DUP8 | 3 | `..., a` | `a, ..., a` | | clone 8th value on stack | +| 88 | DUP9 | 3 | `..., a` | `a, ..., a` | | clone 9th value on stack | +| 89 | DUP10 | 3 | `..., a` | `a, ..., a` | | clone 10th value on stack | +| 8A | DUP11 | 3 | `..., a` | `a, ..., a` | | clone 11th value on stack | +| 8B | DUP12 | 3 | `..., a` | `a, ..., a` | | clone 12th value on stack | +| 8C | DUP13 | 3 | `..., a` | `a, ..., a` | | clone 13th value on stack | +| 8D | DUP14 | 3 | `..., a` | `a, ..., a` | | clone 14th value on stack | +| 8E | DUP15 | 3 | `..., a` | `a, ..., a` | | clone 15th value on stack | +| 8F | DUP16 | 3 | `..., a` | `a, ..., a` | | clone 16th value on stack | +| 90 | SWAP1 | 3 | `a, b` | `b, a` | | | +| 91 | SWAP2 | 3 | `a, _, b` | `b, _, a` | | | +| 92 | SWAP3 | 3 | `a, _, _, b` | `b, _, _, a` | | | +| 93 | SWAP4 | 3 | `a, _, _, _, b` | `b, _, _, _, a` | | | +| 94 | SWAP5 | 3 | `a, ..., b` | `b, ..., a` | | | +| 95 | SWAP6 | 3 | `a, ..., b` | `b, ..., a` | | | +| 96 | SWAP7 | 3 | `a, ..., b` | `b, ..., a` | | | +| 97 | SWAP8 | 3 | `a, ..., b` | `b, ..., a` | | | +| 98 | SWAP9 | 3 | `a, ..., b` | `b, ..., a` | | | +| 99 | SWAP10 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9A | SWAP11 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9B | SWAP12 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9C | SWAP13 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9D | SWAP14 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9E | SWAP15 | 3 | `a, ..., b` | `b, ..., a` | | | +| 9F | SWAP16 | 3 | `a, ..., b` | `b, ..., a` | | | +| A0 | LOG0 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len` | `.` | | LOG0(memory[ost:ost+len-1]) | +| A1 | LOG1 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0` | `.` | | LOG1(memory[ost:ost+len-1], topic0) | +| A2 | LOG2 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1` | `.` | | LOG2(memory[ost:ost+len-1], topic0, topic1) | +| A3 | LOG3 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2` | `.` | | LOG3(memory[ost:ost+len-1], topic0, topic1, topic2) | +| A4 | LOG4 | [A8](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a8-log-operations) | `ost, len, topic0, topic1, topic2, topic3` | `.` | | LOG4(memory[ost:ost+len-1], topic0, topic1, topic2, topic3) | +| A5-EF | _invalid_ | | | | | | +| F0 | CREATE | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len` | `addr` | | addr = keccak256(rlp([address(this), this.nonce])) | +| F1 | CALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | gas, addr, val, argOst, argLen, retOst, retLen | `success` | mem[retOst:retOst+retLen-1] := returndata | | +| F2 | CALLCODE | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, val, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] = returndata | same as DELEGATECALL, but does not propagate original msg.sender and msg.value | +| F3 | RETURN | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | return mem[ost:ost+len-1] | +| F4 | DELEGATECALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | | +| F5 | CREATE2 | [A9](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a9-create-operations) | `val, ost, len, salt` | `addr` | | addr = keccak256(0xff ++ address(this) ++ salt ++ keccak256(mem[ost:ost+len-1]))[12:] | +| F6-F9 | _invalid_ | | | | | | +| FA | STATICCALL | [AA](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#aa-call-operations) | `gas, addr, argOst, argLen, retOst, retLen` | `success` | mem[retOst:retOst+retLen-1] := returndata | | +| FB-FC | _invalid_ | | | | | | +| FD | REVERT | 0[\*](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#a0-1-memory-expansion) | `ost, len` | `.` | | revert(mem[ost:ost+len-1]) | +| FE | INVALID | [AF](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#af-invalid) | | | designated invalid opcode - [EIP-141](https://eips.ethereum.org/EIPS/eip-141) | | +| FF | SELFDESTRUCT | [AB](https://github.com/wolflo/evm-opcodes/blob/main/gas.md#ab-selfdestruct) | `addr` | `.` | | Αποστέλλει όλα τα ETH στο `addr`. Αν εκτελεστεί στην ίδια συναλλαγή με τη δημιουργία ενός συμβολαίου καταστρέφει το συμβόλαιο | diff --git a/public/content/translations/el/developers/docs/gas/index.md b/public/content/translations/el/developers/docs/gas/index.md new file mode 100644 index 00000000000..b3c0c8b1b8e --- /dev/null +++ b/public/content/translations/el/developers/docs/gas/index.md @@ -0,0 +1,139 @@ +--- +title: Κρατήσεις και τέλη +description: +lang: el +--- + +Το «gas» είναι απαραίτητο για το δίκτυο του Ethereum. Είναι το καύσιμο που του επιτρέπει να λειτουργεί, με τον ίδιο τρόπο που ένα αυτοκίνητο χρειάζεται βενζίνη για να λειτουργήσει. + +## Προαπαιτούμενα {#prerequisites} + +Για να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε πρώτα το άρθρο [συναλλαγές](/developers/docs/transactions/) και το [EVM](/developers/docs/evm/). + +## Τι είναι το «gas»; {#what-is-gas} + +Το «gas» αναφέρεται στη μονάδα που μετρά το ποσό της υπολογιστικής προσπάθειας που απαιτείται για την εκτέλεση συγκεκριμένων εργασιών στο δίκτυο του Ethereum. + +Κάθε συναλλαγή στο Ethereum απαιτεί υπολογιστικούς πόρους για να εκτελεστεί καθώς αυτοί οι πόροι πρέπει να πληρωθούν ώστε να διασφαλιστεί ότι το Ethereum δεν είναι ευάλωτο σε επιθέσεις και ότι δε θα κολλήσει σε άπειρες υπολογιστικές λούπες. Η πληρωμή για τους υπολογισμούς πραγματοποιείται με τη μορφή του «gas». + +Η χρέωση «gas» είναι η **ποσότητα που χρησιμοποιείται για την εκτέλεση κάποιας λειτουργίας, πολλαπλασιαζόμενη με το κόστος ανά μονάδα «gas»**. Η χρέωση πληρώνεται ανεξάρτητα από το αν η συναλλαγή πραγματοποιηθεί με επιτυχία ή όχι. + +![Ένα διάγραμμα που δείχνει πού χρειάζονται κρατήσεις (gas) στις λειτουργίες EVM](./gas.png) _Διάγραμμα προσαρμοσμένο από το [Ethereum EVM που απεικονίζεται](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +Οι χρεώσεις «gas» πρέπει να πληρώνονται στο νόμισμα του Ethereum, το ether (ETH). Οι τιμές «gas» συνήθως αναφέρονται σε «gwei», που είναι μια υποδιαίρεση του ETH. Κάθε «gwei» ισούται με το ένα δισεκατομμυριοστό ενός ETH (0.000000001 ETH ή 10-9 ETH). + +Για παράδειγμα, αντί να λέτε ότι τα καύσιμά σας κοστίζουν 0.0000001 ether, μπορείτε να πείτε το κόστος του καυσίμου σας ως 1 gwei. + +Η λέξη «gwei» είναι μια συντομογραφία του «giga-wei», που σημαίνει «ένα δισεκατομμύριο wei». Ένα gwei ισούται με ένα δισεκατομμύριο wei. Το Wei (πήρε το όνομά του από τον [Wei Dai](https://wikipedia.org/wiki/Wei_Dai), τον δημιουργό του [b-money](https://www.investopedia.com/terms/b/bmoney.asp)) είναι η μικρότερη υποδιαίρεση του ETH. + +## Πώς υπολογίζονται οι κρατήσεις «gas»; {#how-are-gas-fees-calculated} + +Μπορείτε να ορίσετε την ποσότητα gas που είστε διατεθειμένοι να πληρώσετε όταν υποβάλετε μια συναλλαγή. Προσφέροντας μια συγκεκριμένη ποσότητα gas, υποβάλλετε προσφορά ώστε η συναλλαγή σας να συμπεριληφθεί στο επόμενο μπλοκ. Εάν προσφέρετε πολύ λίγα, οι επικυρωτές είναι λιγότερο πιθανό να επιλέξουν τη συναλλαγή σας για συμπερίληψη, πράγμα που σημαίνει ότι η συναλλαγή σας μπορεί να εκτελεστεί καθυστερημένα ή καθόλου. Εάν προσφέρετε υπερβολικά, μπορεί να σπαταλήσετε μερικά ETH. Λοιπόν, πώς μπορείτε να υπολογίσετε πόσο πρέπει να πληρώσετε; + +Το συνολικό gas που πληρώνετε διαιρείται σε δύο μέρη: το `βασικό τέλος` και το `τέλος προτεραιότητας` (φιλοδώρημα). + +Το `βασικό τέλος` ορίζεται από το πρωτόκολλο - πρέπει να πληρώσετε τουλάχιστον αυτό το ποσό για να θεωρηθεί έγκυρη η συναλλαγή σας. Το `τέλος προτεραιότητας` είναι ένα φιλοδώρημα που προσθέτετε στο βασικό τέλος για να κάνετε τη συναλλαγή σας ελκυστική για τους επικυρωτές, ώστε να την επιλέξουν για συμπερίληψη στο επόμενο μπλοκ. + +Μια συναλλαγή που πληρώνει μόνο το `βασικό τέλος` είναι τεχνικά έγκυρη, αλλά είναι απίθανο να συμπεριληφθεί, επειδή δεν προσφέρει κίνητρο στους επικυρωτές να την επιλέξουν έναντι οποιασδήποτε άλλης συναλλαγής. Το «σωστό» τέλος `προτεραιότητας` καθορίζεται από τη χρήση του δικτύου τη στιγμή που στέλνετε τη συναλλαγή σας — εάν υπάρχει μεγάλη ζήτηση, ίσως χρειαστεί να ορίσετε υψηλότερο τέλος `προτεραιότητας`, αλλά όταν υπάρχει μικρότερη ζήτηση, μπορείτε να πληρώσετε λιγότερα. + +Για παράδειγμα, ας υποθέσουμε ότι ο Jordan πρέπει να πληρώσει την Taylor 1 ETH. Μια μεταφορά ETH απαιτεί 21.000 μονάδες gas, και η βασική χρέωση είναι 10 gwei. Ο Jordan περιλαμβάνει ένα φιλοδώρημα από 2 gwei. + +Η συνολική χρέωση θα ισούται τώρα με: + +`μονάδες gas που χρησιμοποιούνται * (βασική τέλος + αμοιβή προτεραιότητας)` + +όπου το `βασικό τέλος` είναι μια τιμή που ορίζεται από το πρωτόκολλο και το `τέλος προτεραιότητας` είναι μια τιμή που ορίζεται από τον χρήστη ως φιλοδώρημα προς τον επικυρωτή. + +π.χ. `21,000 * (10 + 2) = 252,000 gwei` (0.000252 ETH). + +Όταν ο Jordan στείλει τα χρήματα, 1.000252 ETH θα αφαιρεθεί από τον λογαριασμό του. Ο Taylor θα πιστωθεί 1.0000 ETH. Ο επικυρωτής λαμβάνει το φιλοδώρημα των 0.000042 ETH. Το `βασικό τέλος` 0,00021 ETH καίγεται. + +### Βασικό τέλος {#base-fee} + +Κάθε μπλοκ έχει ένα βασικό τέλος που λειτουργεί ως τιμή αποθεματικού. Για να είναι επιλέξιμη για συμπερίληψη σε ένα μπλοκ, η προσφερόμενη τιμή ανά καύσιμο πρέπει τουλάχιστον να ισούται με το βασικό τέλος. Το βασικό τέλος υπολογίζεται ανεξάρτητα από το τρέχοντα μπλοκ και καθορίζεται από τα μπλοκ πριν από αυτό, κάνοντας τα τέλη συναλλαγών πιο προβλέψιμα για τους χρήστες. Όταν δημιουργείται το μπλοκ, αυτό το **βασικό τέλος «καίγεται»**, και αφαιρείται από την κυκλοφορία. + +Το βασικό τέλος υπολογίζεται με έναν τύπο που συγκρίνει το μέγεθος του προηγούμενου μπλοκ (την ποσότητα gas που χρησιμοποιήθηκε για όλες τις συναλλαγές) με το μέγεθος-στόχο. Το βασικό τέλος θα αυξηθεί κατά 12,5% κατ' ανώτατο όριο ανά μπλοκ, εάν ξεπεραστεί το μέγεθος αυτού του μπλοκ. Αυτή η εκθετική ανάπτυξη καθιστά οικονομικά μη βιώσιμο το μέγεθος του μπλοκ να παραμένει υψηλό επ' αόριστον. + +| Αριθμός Μπλοκ | Περιλαμβάνονται οι κρατήσεις | Αύξηση τελών | Τρέχων βασικό τέλος | +| ------------- | ----------------------------:| ------------:| -------------------:| +| 1 | 15M | 0% | 100 gwei | +| 2 | 30M | 0% | 100 gwei | +| 3 | 30M | 12.5% | 112.5 gwei | +| 4 | 30M | 12.5% | 126.6 gwei | +| 5 | 30M | 12.5% | 142.4 gwei | +| 6 | 30M | 12.5% | 160.2 gwei | +| 7 | 30M | 12.5% | 180.2 gwei | +| 8 | 30M | 12.5% | 202.7 gwei | + +Ακολουθώντας τον παραπάνω πίνακα — για να δημιουργήσετε μια συναλλαγή στο μπλοκ αριθμός 9, ένα πορτοφόλι θα ενημερώσει τον χρήστη με βεβαιότητα ότι το **μέγιστο βασικό τέλος** που θα προστεθεί στο επόμενο μπλοκ είναι το `τρέχον βασικό τέλος * 112,5%` ή `202,7 gwei * 112,5% = 228,1 gwei`. + +Είναι επίσης σημαντικό να σημειωθεί ότι είναι απίθανο να δούμε εκτεταμένες κατακόρυφες αυξήσεις πλήρων μπλοκ λόγω της ταχύτητας με την οποία αυξάνεται το βασικό τέλος πριν από ένα πλήρες μπλοκ. + +| Αριθμός Μπλοκ | Περιλαμβάνονται οι κρατήσεις | Αύξηση τελών | Τρέχων βασικό τέλος | +| ------------- | ----------------------------:| ------------:| -------------------:| +| 30 | 30M | 12.5% | 2705.6 gwei | +| ... | ... | 12.5% | ... | +| 50 | 30M | 12.5% | 28531.3 gwei | +| ... | ... | 12.5% | ... | +| 100 | 30M | 12.5% | 10302608.6 gwei | + +### Τέλος προτεραιότητας (φιλοδώρημα) {#priority-fee} + +Το τέλος προτεραιότητας (φιλοδώρημα) δίνει κίνητρα στους επικυρωτές να συμπεριλάβουν μια συναλλαγή στο μπλοκ. Χωρίς φιλοδωρήματα, οι επικυρωτές θα θεωρούσαν οικονομικά βιώσιμο την εξόρυξη κενών μπλοκ, καθώς θα λάμβαναν την ίδια ανταμοιβή μπλοκ. Τα μικρά φιλοδωρήματα δίνουν στους επικυρωτές ένα ελάχιστο κίνητρο να συμπεριλάβουν μια συναλλαγή. Για συναλλαγές που θέλατε να εκτελούνται κατά προτίμηση πριν από άλλες συναλλαγές στο ίδιο μπλοκ, μπορεί να προστεθεί ένα υψηλότερο φιλοδώρημα για να προσπαθήσετε να πλειοδοτήσετε έναντι των ανταγωνιστικών συναλλαγών. + +### Μέγιστη χρέωση {#maxfee} + +Για την εκτέλεση μιας συναλλαγής στο δίκτυο, οι χρήστες μπορούν να καθορίσουν ένα μέγιστο όριο που είναι διατεθειμένοι να πληρώσουν για να εκτελεστεί η συναλλαγή τους. Αυτή η προαιρετική παράμετρος είναι γνωστή ως `μέγιστο τέλος ανά gas (maxFeePerGas)`. Για να εκτελεστεί μια συναλλαγή, το μέγιστο τέλος πρέπει να υπερβαίνει το άθροισμα του βασικού τέλους και του φιλοδωρήματος. Στον αποστολέα της συναλλαγής επιστρέφεται η διαφορά μεταξύ του μέγιστου τέλους και του αθροίσματος του βασικού τέλους και φιλοδωρήματος. + +### Μέγεθος μπλοκ {#block-size} + +Κάθε μπλοκ έχει ένα μέγεθος στόχο 15 εκατομμύρια καύσιμα, αλλά το μέγεθος των μπλοκ θα αυξάνεται ή θα μειώνεται σύμφωνα με τη ζήτηση του δικτύου, μέχρι το όριο μπλοκ των 30 εκατομμυρίων καύσιμων (2x το μέγεθος του στόχου μπλοκ). Το πρωτόκολλο επιτυγχάνει ένα μέσο μέγεθος μπλοκ 15 εκατομμυρίων μέσω της διαδικασίας του _tâtonnement_. Αυτό σημαίνει ότι εάν το μέγεθος του μπλοκ είναι μεγαλύτερο από το μέγεθος του μπλοκ που στοχεύουμε, το πρωτόκολλο θα αυξήσει το βασικό τέλος για το επόμενο μπλοκ. Ομοίως, το πρωτόκολλο θα μειώσει τα βασικά τέλη εάν το μέγεθος του μπλοκ είναι μικρότερο από το μέγεθος του στόχου μπλοκ. Το ποσό με το οποίο προσαρμόζεται το βασικό τέλος είναι ανάλογο με το πόσο απέχει το τρέχον μέγεθος μπλοκ από τον στόχο. [Περισσότερα για τα μπλοκ](/developers/docs/blocks/). + +### Υπολογισμός κρατήσεων «gas» στην πράξη {#calculating-fees-in-practice} + +Μπορείτε να δηλώσετε ρητά πόσα είστε διατεθειμένοι να πληρώσετε για να εκτελεστεί η συναλλαγή σας. Ωστόσο, οι περισσότεροι πάροχοι πορτοφολιών ορίζουν αυτόματα ένα προτεινόμενο τέλος συναλλαγής (βασικό τέλος + προτεινόμενο τέλος προτεραιότητας) για να μειώσουν την πολυπλοκότητα για τους χρήστες τους. + +## Γιατί υπάρχουν τα τέλη «gas»; {#why-do-gas-fees-exist} + +Εν ολίγοις, τα τέλη καυσίμου βοηθούν στη διατήρηση του δικτύου Ethereum ασφαλή. Με το να απαιτείται αμοιβή για κάθε υπολογισμό που εκτελείται στο δίκτυο, αποτρέπουμε τους κακούς χρήστες από το να διαπράξουν κακόβουλες ενέργειες στο δίκτυο. Για την αποφυγή τυχαίων ή εχθρικών άπειρων βρόχων ή άλλης υπολογιστικής σπατάλης στον κώδικα, κάθε συναλλαγή απαιτείται να θέσει ένα όριο στο πόσα υπολογιστικά βήματα εκτέλεσης κώδικα μπορεί να χρησιμοποιήσει. Η θεμελιώδης μονάδα υπολογισμού είναι το «gas». + +Παρόλο που μια συναλλαγή περιλαμβάνει ένα όριο, τυχόν gas που δεν χρησιμοποιείται σε μια συναλλαγή επιστρέφεται στον χρήστη (δηλαδή επιστρέφεται `μέγιστο τέλος - (βασικό τέλος + φιλοδώρημα)`). + +![Διάγραμμα που δείχνει τον τρόπο επιστροφής των αχρησιμοποίητων gas](../transactions/gas-tx.png) _Διάγραμμα προσαρμοσμένο από το [Ethereum EVM που απεικονίζεται](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +## Ποιο είναι το όριο «gas»; {#what-is-gas-limit} + +Το όριο gas αναφέρεται στη μέγιστη ποσότητα gas που είστε διατεθειμένοι να καταναλώσετε σε μια συναλλαγή. Οι πιο περίπλοκες συναλλαγές που περιλαμβάνουν [έξυπνα συμβόλαια](/developers/docs/smart-contracts/) απαιτούν περισσότερη υπολογιστική εργασία, επομένως απαιτούν υψηλότερο όριο gas από μια απλή πληρωμή. Μια τυπική μεταφορά ETH απαιτεί όριο gas 21.000 μονάδων gas. + +Για παράδειγμα, αν βάλετε όριο gas 50.000 για μια απλή μεταφορά ETH, το EVM θα καταναλώσει 21.000 και θα λάβετε πίσω τα υπόλοιπα 29.000. Ωστόσο, εάν καθορίσετε πολύ λίγο gas, για παράδειγμα, ένα όριο gas 20.000 για μια απλή μεταφορά ETH, το EVM θα καταναλώσει τις 20.000 μονάδες gas σας προσπαθώντας να διεκπεραιώσει τη συναλλαγή, αλλά δεν θα ολοκληρωθεί. Στη συνέχεια, το EVM επαναφέρει οποιεσδήποτε αλλαγές, αλλά δεδομένου ότι ο επικυρωτής έχει ήδη πραγματοποιήσει εργασίες αξίας 20 χιλιάδων μονάδων gas, αυτό το gas καταναλώνεται. + +## Γιατί μπορούν τα τέλη gas να είναι τόσο υψηλά; {#why-can-gas-fees-get-so-high} + +Τα υψηλά τέλη gas οφείλονται στη δημοτικότητα του Ethereum. Εάν υπάρχει υπερβολική ζήτηση, οι χρήστες πρέπει να προσφέρουν υψηλότερα ποσά φιλοδωρήματος για να προσπαθήσουν να πλειοδοτήσουν έναντι των συναλλαγών άλλων χρηστών. Ένα υψηλότερο φιλοδώρημα μπορεί να κάνει πιο πιθανή τη συμπερίληψη της συναλλαγής σας στο επόμενο μπλοκ. Επίσης, οι πιο σύνθετες εφαρμογές έξυπνων συμβολαίων μπορεί να εκτελούν πολλές λειτουργίες για να υποστηρίξουν τις λειτουργίες τους, καταναλώνοντας έτσι πολύ gas. + +## Πρωτοβουλίες για μείωση του κόστους gas {#initiatives-to-reduce-gas-costs} + +Οι [αναβαθμίσεις επεκτασιμότητας](/roadmap/) του Ethereum θα πρέπει τελικά να αντιμετωπίσουν ορισμένα από τα ζητήματα των τελών gas, τα οποία, με τη σειρά τους, θα επιτρέψουν στην πλατφόρμα να επεξεργάζεται χιλιάδες συναλλαγές ανά δευτερόλεπτο και να κλιμακωθεί παγκοσμίως. + +Η κλιμάκωση του επιπέδου 2 είναι μια βασική πρωτοβουλία για τη σημαντική βελτίωση του κόστους gas, της εμπειρίας χρήστη και της επεκτασιμότητας. [Περισσότερα για την κλιμάκωση των επιπέδων 2](/developers/docs/scaling/#layer-2-scaling). + +## Παρακολούθηση τελών gas {#monitoring-gas-fees} + +Εάν θέλετε να παρακολουθείτε τις τιμές του gas, ώστε να μπορείτε να στείλετε τα ETH σας για λιγότερα, μπορείτε να χρησιμοποιήσετε πολλά διαφορετικά εργαλεία όπως: + +- [Etherscan](https://etherscan.io/gastracker) _Εκτιμητής τιμής gas συναλλαγής_ +- [Εκτιμητής ETH Gas Blocknative ](https://chrome.google.com/webstore/detail/blocknative-eth-gas-estim/ablbagjepecncofimgjmdpnhnfjiecfm) _Επέκταση Chrome εκτίμησης gas που υποστηρίζει συναλλαγές παλαιού τύπου 0 και συναλλαγές τύπου 2 EIP-1559._ +- [Υπολογιστής τελών Gas Cryptoneur](https://www.cryptoneur.xyz/gas-fees-calculator) _Υπολογίστε τις χρεώσεις gas στο τοπικό σας νόμισμα για διαφορετικούς τύπους συναλλαγών σε Mainnet, Arbitrum και Polygon._ + +## Σχετικά εργαλεία {#related-tools} + +- [Πλατφόρμα gas Blocknative](https://www.blocknative.com/gas) _API εκτίμησης gas που υποστηρίζεται από την παγκόσμια πλατφόρμα δεδομένων mempool της Blocknative_ + +## Περισσότερες πληροφορίες {#further-reading} + +- [Επεξήγηση του gas στο Ethereum](https://defiprime.com/gas) +- [Μείωση της κατανάλωσης gas των έξυπνων συμβολαίων σας](https://medium.com/coinmonks/8-ways-of-reducing-the-gas-consumption-of-your-smart-contracts-9a506b339c0a) +- [Απόδειξη Συμμετοχής ή Απόδειξης Εργασίας](https://blockgeeks.com/guides/proof-of-work-vs-proof-of-stake/) +- [Στρατηγικές βελτιστοποίησης gas για Προγραμματιστές](https://www.alchemy.com/overviews/solidity-gas-optimization) +- [Έγγραφα EIP-1559](https://eips.ethereum.org/EIPS/eip-1559). +- [Πόροι EIP-1559 του Tim Beiko](https://hackmd.io/@timbeiko/1559-resources). diff --git a/public/content/translations/el/developers/docs/index.md b/public/content/translations/el/developers/docs/index.md new file mode 100644 index 00000000000..a62af4f49bc --- /dev/null +++ b/public/content/translations/el/developers/docs/index.md @@ -0,0 +1,25 @@ +--- +title: Τεκμηρίωση ανάπτυξης Ethereum +description: Παρουσίαση τεκμηρίωσης της ανάπτυξης του ethereum.org. +lang: el +--- + +Αυτή η τεκμηρίωση έχει σχεδιαστεί για να σας βοηθήσει να δημιουργήσετε με το Ethereum. Καλύπτει το Ethereum ως έννοια, εξηγεί την τεχνολογική πλευρά του Ethereum και παρουσιάζει προηγμένα θέματα για πιο σύνθετες εφαρμογές και περιπτώσεις χρήσης. + +Είναι μια προσπάθεια της κοινότητας ανοιχτού κώδικα, οπότε μη διστάσετε να προτείνετε νέα θέματα, να προσθέσετε νέο περιεχόμενο και να παρέχετε παραδείγματα όπου νομίζετε ότι μπορεί να είναι χρήσιμα. Όλη η τεκμηρίωση μπορεί να τροποποιηθεί μέσω του GitHub. Αν δεν είστε βέβαιοι πώς μπορείτε να συμμετέχετε, [ακολουθήστε αυτές τις οδηγίες](https://github.com/ethereum/ethereum-org-website/blob/dev/docs/editing-markdown.md). + +## Πρόσθετα ανάπτυξης {#development-modules} + +Αν αυτή είναι η πρώτη σας προσπάθεια στην ανάπτυξη του Ethereum, σας συνιστούμε να ξεκινήσετε από την αρχή ακολουθώντας τα παρακάτω βήματα. + +### Βασικά θέματα {#foundational-topics} + + + +### Αποθήκευση κεφαλαίου Ethereum {#ethereum-stack} + + + +### Για προχωρημένους {#advanced} + + diff --git a/public/content/translations/el/developers/docs/intro-to-ether/index.md b/public/content/translations/el/developers/docs/intro-to-ether/index.md new file mode 100644 index 00000000000..32742772592 --- /dev/null +++ b/public/content/translations/el/developers/docs/intro-to-ether/index.md @@ -0,0 +1,78 @@ +--- +title: Εισαγωγή στο Ether +description: Εισαγωγή για προγραμματιστές στο κρυπτονόμισμα ether. +lang: el +--- + +## Προαπαιτούμενα {#prerequisites} + +Για να σας βοηθήσουμε να κατανοήσετε καλύτερα αυτή τη σελίδα, σας προτείνουμε να διαβάσετε το άρθρο [Εισαγωγή στο Ethereum](/developers/docs/intro-to-ethereum/). + +## Τι είναι ένα κρυπτονόμισμα; {#what-is-a-cryptocurrency} + +Ένα κρυπτονόμισμα είναι ένα μέσο ανταλλαγής που εξασφαλίζεται από καθολικό (ledger) αλυσίδας συστοιχιών. + +Ένας τρόπος ανταλλαγής είναι οτιδήποτε αποδεκτό ευρέως ως πληρωμή για αγαθά και υπηρεσίες, ενώ ένα ledger είναι μια αποθήκη δεδομένων που παρακολουθεί τις συναλλαγές. Η τεχνολογία αλυσίδας συστοιχιών επιτρέπει στους χρήστες να πραγματοποιούν συναλλαγές στο ledger χωρίς να βασίζονται σε ένα αξιόπιστο τρίτο μέρος για τη διατήρησή του. + +Το πρώτο κρυπτονόμισμα ήταν το Bitcoin, που δημιουργήθηκε από τον Satoshi Nakamoto. Από την κυκλοφορία του Bitcoin το 2009, έχουν δημιουργηθεί χιλιάδες κρυπτονομίσματα σε πολλά διαφορετικά blockchain. + +## Τι είναι το ether; {#what-is-ether} + +Το **Ether (ETH)** είναι το κρυπτονόμισμα που χρησιμοποιείται για πολλά πράγματα στο δίκτυο Ethereum. Ουσιαστικά, είναι ο μόνος αποδεκτός τρόπος πληρωμής για τα τέλη συναλλαγής και μετά τη [Συγχώνευση](/roadmap/merge), το ether απαιτείται για την επικύρωση και την υποβολή πρότασης μπλοκ στο Mainnet. Το Ether χρησιμοποιείται επίσης ως πρωτογενής μορφή εξασφάλισης στις δανειοδοτικές αγορές [DeFi](/defi), ως μονάδα λογαριασμού σε αγορές NFT, ως πληρωμή που κερδίζεται για την εκτέλεση υπηρεσιών ή την πώληση πραγματικών αγαθών και πολλά άλλα. + +Το Ethereum επιτρέπει στους προγραμματιστές να δημιουργήσουν [**αποκεντρωμένες εφαρμογές (dapps)**](/developers/docs/dapps), τις οποίες όλοι μοιράζονται σε μια δεξαμενή υπολογιστικής ισχύος. Αυτή η κοινόχρηστη δεξαμενή είναι περιορισμένη, οπότε το Ethereum χρειάζεται έναν μηχανισμό για να καθορίσει ποιος θα το χρησιμοποιήσει. Διαφορετικά, ένα dapp θα μπορούσε τυχαία ή κακόβουλα να καταναλώσει όλους τους πόρους του δικτύου, το οποίο θα εμπόδιζε τους υπόλοιπους από την πρόσβαση σε αυτό. + +Το κρυπτονόμισμα ether υποστηρίζει έναν μηχανισμό τιμολόγησης για την υπολογιστική δύναμη του Ethereum. Όταν οι χρήστες θέλουν να κάνουν μια συναλλαγή, πρέπει να πληρώσουν με ether για να έχουν τη συναλλαγή τους αναγνωρισμένη στην κρυπτοαλυσίδα. Αυτά τα κόστη χρήσης είναι γνωστά ως [κρατήσεις gas ](/developers/docs/gas/) και η κράτηση gas εξαρτάται από την ποσότητα υπολογιστικής ισχύος που απαιτείται για την εκτέλεση της συναλλαγής και τη ζήτηση υπολογιστικής ισχύος σε όλο το δίκτυο εκείνη τη στιγμή. + +Ως εκ τούτου, ακόμη και αν ένα κακόβουλο dapp υπέβαλε συνεχόμενες συναλλαγές, η συναλλαγή θα τελειώσει και θα τερματιστεί όταν καταναλωθούν τα ether, επιτρέποντας στο δίκτυο να επιστρέψει στο κανονικό. + +[Συχνά](https://www.reuters.com/article/us-crypto-currencies-lending-insight-idUSKBN25M0GP#:~:text=price%20of%20ethereum) [](https://abcnews.go.com/Business/bitcoin-slumps-week-low-amid-renewed-worries-chinese/story?id=78399845#:~:text=cryptocurrencies%20including%20ethereum)[συγχέονται](https://www.cnn.com/2021/03/14/tech/nft-art-buying/index.html#:~:text=price%20of%20ethereum) το Ethereum και το ether, όταν αυτοί που αναφέρονται στην «τιμή του Ethereum», περιγράφουν την τιμή του ether. + +## Κρυπτόρυξη ether {#minting-ether} + +Κοπή (minting) είναι η διαδικασία κατά την οποία δημιουργείται νέο ether στο ledger του Ethereum. Το υποκείμενο πρωτόκολλο Ethereum δημιουργεί το νέο ether και δεν είναι δυνατό ένας χρήστης να δημιουργεί ether. + +Το ether δημιουργείται ως ανταμοιβή για κάθε προτεινόμενο μπλοκ και σε κάθε σημείο ελέγχου εποχής για άλλη δραστηριότητα επικύρωσης που σχετίζεται με την επίτευξη συναίνεσης. Το συνολικό ποσό που εκδίδεται, εξαρτάται από τον αριθμό των επικυρωτών και από το πόσο ether έχουν αποθηκεύσει. Η συνολική έκδοση διαιρείται ισόποσα μεταξύ των επικυρωτών, στην ιδανική περίπτωση που όλοι οι επικυρωτές είναι ειλικρινείς και σε σύνδεση, αλλά στην πραγματικότητα ποικίλλει ανάλογα με την απόδοση του επικυρωτή. Περίπου το 1/8 της συνολικής έκδοσης πηγαίνει στον προτείνοντα το μπλοκ και το υπόλοιπο κατανέμεται στους άλλους επικυρωτές. Οι προτείνοντες μπλοκ λαμβάνουν επίσης φιλοδωρήματα από τα τέλη συναλλαγής και τα έσοδα που σχετίζονται με το MEV, αλλά αυτά προέρχονται από ανακυκλωμένο ether και όχι από νέα έκδοση. + +## Καύση ether {#burning-ether} + +Εκτός από τη δημιουργία ether μέσω ανταμοιβών μπλοκ, το ether μπορεί να καταστραφεί μέσω μιας διαδικασίας που ονομάζεται «καύση». Όταν το ether καεί, αφαιρείται μόνιμα από την κυκλοφορία. + +Το Ether καίγεται σε κάθε συναλλαγή στο Ethereum. Όταν οι χρήστες πληρώνουν για τις συναλλαγές τους, ένα βασικό τέλος gas, που ορίζεται από το δίκτυο σύμφωνα με τη ζήτηση συναλλαγών, καταστρέφεται. Αυτό, σε συνδυασμό με διάφορου μεγέθους μπλοκ και μέγιστη κράτηση gas, απλοποιεί την εκτίμηση της χρέωσης συναλλαγής στο Ethereum. Όταν η ζήτηση του δικτύου είναι υψηλή, τα [μπλοκ](https://etherscan.io/block/12965263) μπορούν να κάψουν περισσότερο ether από όσο κόβουν, αντισταθμίζοντας αποτελεσματικά την έκδοση ether. + +Η καύση του βασικού τέλους παρεμποδίζει την ικανότητα ενός παραγωγού μπλοκ να χειραγωγεί τις συναλλαγές. Για παράδειγμα, εάν οι παραγωγοί μπλοκ λάμβαναν το βασικό τέλος, θα μπορούσαν να συμπεριλάβουν τις δικές τους συναλλαγές δωρεάν και να αυξήσουν το βασικό τέλος για όλους τους άλλους. Εναλλακτικά, θα μπορούσαν να επιστρέψουν το βασικό τέλος σε ορισμένους χρήστες εκτός αλυσίδας, οδηγώντας σε μια πιο αδιαφανή και πολύπλοκη αγορά τελών συναλλαγών. + +## Ονομαστικές αξίες του ether {#denominations} + +Δεδομένου ότι η αξία πολλών συναλλαγών στο Ethereum είναι μικρή, το ether έχει πολλές ονομαστικές αξίες που μπορεί να αναφέρονται ως μικρότερες λογιστικές μονάδες. Από αυτές τις ονομασίες, το Wei και το gwei είναι ιδιαίτερα σημαντικά. + +Το Wei είναι η μικρότερη δυνατή ποσότητα ether και ως εκ τούτου, πολλές τεχνικές υλοποιήσεις, όπως το [Yellowpaper του Ethereum](https://ethereum.github.io/yellowpaper/paper.pdf), βασίζουν όλους τους υπολογισμούς στο Wei. + +Το Gwei είναι συντομογραφία του giga-wei, όπου χρησιμοποιείται συχνά για να περιγράψει το κόστος κρατήσεων στο Ethereum. + +| Ονομασία | Τιμή σε ether | Συνήθης χρήση | +| -------- | ---------------- | ----------------------------------- | +| Wei | 10-18 | Τεχνικές τεκμηριώσεις | +| Gwei | 10-9 | Τέλη καυσίμου κατανοητά από άνθρωπο | + +## Μεταφορά ether {#transferring-ether} + +Κάθε συναλλαγή στο Ethereum περιέχει ένα πεδίο `αξίας`, το οποίο καθορίζει το ποσό του ether που θα μεταφερθεί, σε μονάδες wei, από τη διεύθυνση του αποστολέα στη διεύθυνση του παραλήπτη. + +Όταν η διεύθυνση παραλήπτη είναι [έξυπνο συμβόλαιο](/developers/docs/smart-contracts/), το ether που μεταφέρεται μπορεί να χρησιμοποιηθεί για την πληρωμή gas όταν το έξυπνο συμβόλαιο εκτελεί τον κώδικά του. + +[Περισσότερα για τις συναλλαγές](/developers/docs/transactions/) + +## Αναζητήσεις σχετικά με το ether {#querying-ether} + +Οι χρήστες μπορούν να αναζητήσουν το υπόλοιπο του λογαριασμού [](/developers/docs/accounts/) επιθεωρώντας το πεδίο `balance` του λογαριασμού, που εμφανίζει την κατοχή ether εκφρασμένες σε wei. + +Το [Etherscan](https://etherscan.io) είναι ένα δημοφιλές εργαλείο για τον έλεγχο των υπολοίπων διευθύνσεων μέσω μιας διαδικτυακής εφαρμογής. Για παράδειγμα, [αυτή η σελίδα Etherscan](https://etherscan.io/address/0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae) δείχνει το υπόλοιπο του ιδρύματος Ethereum. Τα υπόλοιπα λογαριασμών μπορούν επίσης να αναζητηθούν χρησιμοποιώντας πορτοφόλια ή κάνοντας απευθείας αιτήματα σε κόμβους. + +## Περισσότερες πληροφορίες {#further-reading} + +- [Ορισμός του Ether και του Ethereum](https://www.cmegroup.com/education/courses/introduction-to-ether/defining-ether-and-ethereum.html) – _Ομάδα CME_ +- [Λευκό βιβλίο Ethereum](/whitepaper/): Η αρχική πρόταση για το Ethereum. Αυτό το έγγραφο περιλαμβάνει μια περιγραφή του ether και των κινήτρων πίσω από τη δημιουργία του. +- [Αριθμομηχανή Gwei](https://www.alchemy.com/gwei-calculator): Χρησιμοποιήστε αυτήν την αριθμομηχανή gwei για να μετατρέψετε εύκολα wei, gwei και ether. Απλώς συνδέστε οποιαδήποτε ποσότητα wei, gwei ή ETH και υπολογίστε αυτόματα τη μετατροπή. + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ diff --git a/public/content/translations/el/developers/docs/intro-to-ethereum/index.md b/public/content/translations/el/developers/docs/intro-to-ethereum/index.md new file mode 100644 index 00000000000..5333ebefe82 --- /dev/null +++ b/public/content/translations/el/developers/docs/intro-to-ethereum/index.md @@ -0,0 +1,116 @@ +--- +title: Εισαγωγή στο Ethereum +description: Μια εισαγωγή προγραμματιστών dapp στις βασικές έννοιες του Ethereum. +lang: el +--- + +## Τι είναι μια κρυπτοαλυσίδα; {#what-is-a-blockchain} + +Μια κρυπτοαλυσίδα περιγράφεται καλύτερα ως μία δημόσια βάση δεδομένων που ενημερώνεται και μοιράζεται σε πολλούς υπολογιστές σε ένα δίκτυο. + +Το «Block» αναφέρεται στο γεγονός ότι τα δεδομένα και η κατάσταση αποθηκεύονται σε διαδοχικά τμήματα γνωστά ως μπλοκ. Εάν στείλετε ETH σε κάποιον άλλο, τα δεδομένα συναλλαγών πρέπει να προστεθούν σε ένα μπλοκ για να είναι επιτυχής. + +Το "Chain" αναφέρεται στο γεγονός ότι κάθε μπλοκ κρυπτογραφικά αναφέρεται στον γονέα του. Με άλλα λόγια, τα μπλοκ συνδέονται μεταξύ τους, όπως οι κρίκοι. Τα δεδομένα ενός μπλοκ δεν μπορούν να αλλάξουν χωρίς αλλαγή όλων των επόμενων μπλοκ, κάτι που θα απαιτούσε τη συναίνεση ολόκληρου του δικτύου. + +Κάθε υπολογιστής στο δίκτυο πρέπει να συμφωνεί για κάθε νέο μπλοκ και την αλυσίδα συνολικά. Αυτοί οι υπολογιστές είναι γνωστοί ως «κόμβοι». Οι κόμβοι διασφαλίζουν ότι όλοι όσοι αλληλεπιδρούν με την αλυσίδα συστοιχιών έχουν τα ίδια δεδομένα. Για να επιτευχθεί αυτή η κατανεμημένη συμφωνία, οι αλυσίδες συστοιχιών χρειάζονται έναν μηχανισμό συναίνεσης. + +Το Ethereum χρησιμοποιεί έναν [μηχανισμό συναίνεσης βασισμένο στην απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos/). Οποιοσδήποτε θέλει να προσθέσει νέα μπλοκ στην αλυσίδα συστοιχιών πρέπει να αποθηκεύσει ETH, το εγγενές νόμισμα στο Ethereum, ως εγγύηση και να εκτελέσει λογισμικό επικύρωσης. Αυτοί οι «επικυρωτές» μπορούν στη συνέχεια να επιλεγούν τυχαία για να προτείνουν μπλοκ που άλλοι επικυρωτές ελέγχουν και προσθέτουν στην αλυσίδα συστοιχιών. Υπάρχει ένα σύστημα ανταμοιβών και κυρώσεων που δίνουν ισχυρά κίνητρα στους συμμετέχοντες να είναι ειλικρινείς και διαθέσιμοι σε σύνδεση όσο το δυνατόν περισσότερο. + +Εάν θέλετε να δείτε πώς τα δεδομένα της αλυσίδας συστοιχιών κατακερματίζονται και στη συνέχεια προσαρτώνται στο ιστορικό των αναφορών μπλοκ, φροντίστε να δείτε [αυτήν την επίδειξη](https://andersbrownworth.com/blockchain/blockchain) από τον Anders Brownworth και παρακολουθήστε το συνοδευτικό βίντεο παρακάτω. + +Παρακολουθήστε τον Anders να εξηγεί τους κατακερματισμούς στις αλυσίδες συστοιχιών: + + + +## Τι είναι το Ethereum; {#what-is-ethereum} + +Το Ethereum είναι μια αλυσίδα συστοιχιών με έναν υπολογιστή ενσωματωμένο σε αυτό. Είναι το θεμέλιο για τη δημιουργία εφαρμογών και οργανισμών με ένα τρόπο αποκεντρωμένο, χωρίς άδεια και ανθεκτικό στη λογοκρισία. + +Στο σύμπαν του Ethereum, υπάρχει ένας μοναδικός, κανονικός υπολογιστής (που ονομάζεται εικονική μηχανή Ethereum ή EVM), στην κατάσταση του οποίου συμφωνούν όλοι στο δίκτυο Ethereum. Όλοι όσοι συμμετέχουν στο δίκτυο Ethereum (κάθε κόμβος Ethereum) διατηρούν ένα αντίγραφο της κατάστασης αυτού του υπολογιστή. Επιπλέον, κάθε συμμετέχων μπορεί να μεταδώσει ένα αίτημα σε αυτόν τον υπολογιστή για να εκτελέσει αυθαίρετους υπολογισμούς. Κάθε φορά που μεταδίδεται ένα τέτοιο αίτημα, άλλοι συμμετέχοντες στο δίκτυο επαληθεύουν, επικυρώνουν και πραγματοποιούν («εκτελούν») τον υπολογισμό. Αυτή η εκτέλεση προκαλεί μια αλλαγή κατάστασης στο EVM, η οποία δεσμεύεται και διαδίδεται σε ολόκληρο το δίκτυο. + +Τα αιτήματα για υπολογισμό ονομάζονται αιτήματα συναλλαγής, το αρχείο όλων των συναλλαγών και η παρούσα κατάσταση του EVM αποθηκεύονται στην αλυσίδα συστοιχιών, που με τη σειρά της αποθηκεύεται και συμφωνείται από όλους τους κόμβους. + +Κρυπτογραφικοί μηχανισμοί διασφαλίζουν ότι, από τη στιγμή που οι συναλλαγές επαληθευτούν ως έγκυρες και προστεθούν στην αλυσίδα συστοιχιών, δεν θα μπορούν να παραβιαστούν αργότερα. Οι ίδιοι μηχανισμοί διασφαλίζουν επίσης ότι όλες οι συναλλαγές υπογράφονται και εκτελούνται με τις κατάλληλες «άδειες» (κανείς δεν θα πρέπει να μπορεί να στείλει ψηφιακά περιουσιακά στοιχεία από τον λογαριασμό της Alice, εκτός από την ίδια την Alice). + +## Τι είναι το ether; {#what-is-ether} + +Το **Ether (ETH)** είναι το εγγενές κρυπτονόμισμα του Ethereum. Σκοπός του ETH είναι να επιτρέπει μια αγορά για υπολογισμούς. Μια τέτοια αγορά παρέχει ένα οικονομικό κίνητρο στους συμμετέχοντες να επαληθεύουν και να εκτελούν αιτήματα συναλλαγών και να παρέχουν υπολογιστικούς πόρους στο δίκτυο. + +Κάθε συμμετέχων που μεταδίδει μια αίτηση συναλλαγής πρέπει επίσης να προσφέρει ένα ποσό ETH στο δίκτυο ως ανταμοιβή. Το δίκτυο θα κάψει μέρος της ανταμοιβής και θα απονείμει το υπόλοιπο σε όποιον τελικά κάνει τη δουλειά επαλήθευσης της συναλλαγής, της εκτέλεσής της, της καταχώρισής της στην κρυπτοαλυσίδα και της μετάδοσής της στο δίκτυο. + +Το ποσό του ETH που πληρώθηκε αντιστοιχεί στους πόρους που απαιτούνται για τον υπολογισμό. Αυτές οι ανταμοιβές αποτρέπουν επίσης τους κακόβουλους συμμετέχοντες από το να εμποδίζουν σκόπιμα το δίκτυο ζητώντας την εκτέλεση άπειρου υπολογισμού ή άλλων ενεργοβόρων σεναρίων, καθώς αυτοί οι συμμετέχοντες πρέπει να πληρώσουν για τους πόρους υπολογισμού. + +Το ETH χρησιμοποιείται επίσης για την παροχή κρυπτοοικονομικής ασφάλειας στο δίκτυο με τρεις κύριους τρόπους: 1) χρησιμοποιείται ως μέσο ανταμοιβής των επικυρωτών που προτείνουν μπλοκ ή καταγγέλλουν ανέντιμη συμπεριφορά από άλλους επικυρωτές, 2) αποθηκεύεται από τους επικυρωτές, λειτουργώντας ως εγγύηση κατά της ανέντιμης συμπεριφοράς, εάν οι επικυρωτές επιχειρήσουν να συμπεριφερθούν ανέντιμα, τα ETH τους μπορούν να καταστραφούν, 3) χρησιμοποιείται για να σταθμίζει τις «ψήφους» για τα νεοπροτεινόμενα μπλοκ, τροφοδοτώντας το τμήμα ενσωμάτωσης του μηχανισμού συναίνεσης. + +## Τι είναι τα έξυπνα συμβόλαια; {#what-are-smart-contracts} + +Στην πράξη, οι συμμετέχοντες δεν γράφουν νέο κώδικα κάθε φορά που θέλουν να ζητήσουν έναν υπολογισμό στο EVM. Αντίθετα, οι προγραμματιστές εφαρμογών ανεβάζουν προγράμματα (επαναχρησιμοποιήσιμα αποσπάσματα κώδικα) στην κατάσταση EVM και οι χρήστες κάνουν αιτήματα για την εκτέλεση αυτών των αποσπασμάτων κώδικα με ποικίλες παραμέτρους. Τα προγράμματα που μεταφορτώνονται και εκτελούνται από το δίκτυο τα ονομάζουμε έξυπνα συμβόλαια. + +Σε ένα πολύ βασικό επίπεδο, μπορείς να σκεφτείς ένα έξυπνο συμβόλαιο σαν ένα είδος αυτόματου πωλητή: ένα σενάριο που, όταν καλείται με ορισμένες παραμέτρους, εκτελεί κάποιες ενέργειες ή υπολογισμό εάν πληρούνται ορισμένες συνθήκες. Για παράδειγμα, ένα απλό έξυπνο συμβόλαιο πωλητή θα μπορούσε να δημιουργήσει και να αναθέσει την ιδιοκτησία ενός ψηφιακού περιουσιακού στοιχείου εάν ο αποστολέας στείλει ETH σε έναν συγκεκριμένο παραλήπτη. + +Οποιοσδήποτε προγραμματιστής μπορεί να δημιουργήσει ένα έξυπνο συμβόλαιο και να το δημοσιοποιήσει στο δίκτυο, χρησιμοποιώντας την κρυπτοαλυσίδα ως επίπεδο δεδομένων, έναντι αμοιβής που καταβάλλεται στο δίκτυο. Οποιοσδήποτε χρήστης μπορεί στη συνέχεια να καλέσει το έξυπνο συμβόλαιο για να εκτελέσει τον κώδικά του και πάλι με χρέωση που καταβάλλεται στο δίκτυο. + +Έτσι, με τα έξυπνα συμβόλαια, οι προγραμματιστές μπορούν να δημιουργήσουν και να αναπτύξουν αυθαίρετα πολύπλοκες εφαρμογές και υπηρεσίες που απευθύνονται στους χρήστες, όπως: αγορές, χρηματοοικονομικά μέσα, παιχνίδια, κλπ. + +## Ορολογία {#terminology} + +### Κρυπτοαλυσίδα {#blockchain} + +Η ακολουθία όλων των μπλοκ που έχουν δεσμευτεί στο δίκτυο Ethereum στην ιστορία του δικτύου. Ονομάζονται έτσι επειδή κάθε μπλοκ περιέχει μια αναφορά στο προηγούμενο μπλοκ, το οποίο μας βοηθά να διατηρήσουμε μια σειρά σε όλα τα μπλοκ (και συνεπώς στο ακριβές ιστορικό). + +### ETH {#eth} + +Το **Ether (ETH)** είναι το εγγενές κρυπτονόμισμα του Ethereum. Οι χρήστες πληρώνουν ETH σε άλλους χρήστες για να εκπληρωθούν τα αιτήματά εκτέλεσης του κωδικά τους. + +[Περισσότερα για το ETH](/developers/docs/intro-to-ether/) + +### EVM {#evm} + +Η εικονική μηχανή Ethereum είναι ο παγκόσμιος εικονικός υπολογιστής του οποίου την κατάσταση αποθηκεύει και συμφωνεί κάθε συμμετέχων στο δίκτυο Ethereum. Οποιοσδήποτε συμμετέχων μπορεί να ζητήσει την εκτέλεση αυθαίρετου κώδικα στο EVM, η εκτέλεση κώδικα αλλάζει την κατάσταση του EVM. + +[Περισσότερα για το EVM](/developers/docs/evm/) + +### Κόμβοι {#nodes} + +Τα πραγματικά μηχανήματα που αποθηκεύουν την κατάσταση EVM. Οι κόμβοι επικοινωνούν μεταξύ τους για τη διάδοση πληροφοριών σχετικά με την κατάσταση EVM και τις νέες αλλαγές. Οποιοσδήποτε χρήστης μπορεί επίσης να ζητήσει την εκτέλεση κώδικα μεταδίδοντας ένα αίτημα εκτέλεσης κώδικα από έναν κόμβο. Το ίδιο το δίκτυο Ethereum είναι το σύνολο όλων των κόμβων Ethereum και των επικοινωνιών τους. + +[Περισσότερα για τους κόμβους](/developers/docs/nodes-and-clients/) + +### Λογαριασμοί {#accounts} + +Που αποθηκεύονται τα ETH. Οι χρήστες μπορούν να ενεργοποιήσουν λογαριασμούς, να καταθέσουν ETH στους λογαριασμούς και να μεταφέρουν ETH από τους λογαριασμούς τους σε άλλους χρήστες. Οι λογαριασμοί και τα υπόλοιπα λογαριασμών αποθηκεύονται σε έναν μεγάλο πίνακα στο EVM. αποτελούν μέρος της συνολικής κατάστασης EVM. + +[Περισσότερα για λογαριασμούς](/developers/docs/accounts/) + +### Συναλλαγές {#transactions} + +Ένα «αίτημα συναλλαγής» είναι ο επίσημος όρος για ένα αίτημα για εκτέλεση κώδικα στο EVM και μια «συναλλαγή» είναι ένα εκπληρωμένο αίτημα συναλλαγής και η σχετική αλλαγή στην κατάσταση EVM. Οποιοσδήποτε χρήστης μπορεί να μεταδώσει ένα αίτημα συναλλαγής στο δίκτυο από έναν κόμβο[node]. Για να επηρεάσει η αίτηση συναλλαγής την συμφωνημένη κατάσταση EVM, πρέπει να επικυρωθεί, να εκτελεστεί και να «δεσμευτεί στο δίκτυο» από έναν άλλο κόμβο. Η εκτέλεση οποιουδήποτε κώδικα προκαλεί αλλαγή κατάστασης στο EVΜ, μετά τη δέσμευση, αυτή η αλλαγή κατάστασης μεταδίδεται σε όλους τους κόμβους του δικτύου. Μερικά παραδείγματα συναλλαγών: + +- Στείλε X ETH από τον λογαριασμό μου στον λογαριασμό της Alice. +- Δημοσίευσε κάποιο κώδικα έξυπνου συμβολαίου στην κατάσταση EVM. +- Εκτελέστε τον κωδικό του έξυπνου συμβολαίου στη διεύθυνση X στο EVM, με ορίσματα Y. + +[Περισσότερα για τις συναλλαγές](/developers/docs/transactions/) + +### Μπλοκ {#blocks} + +Ο όγκος των συναλλαγών είναι πολύ μεγάλος, επομένως οι συναλλαγές «δεσμεύονται» σε παρτίδες, ή μπλοκ. Τα μπλοκ γενικά περιέχουν δεκάδες έως εκατοντάδες συναλλαγές. + +[Περισσότερα για τα μπλοκ](/developers/docs/blocks/) + +### Smart contracts {#smart-contracts} + +Ένα επαναχρησιμοποιήσιμο απόσπασμα κώδικα (ένα πρόγραμμα) το οποίο ένας προγραμματιστής δημοσιεύει στην κατάσταση EVM. Οποιοσδήποτε μπορεί να ζητήσει να εκτελεστεί ο κώδικας του έξυπνου συμβολαίου υποβάλλοντας αίτημα συναλλαγής. Επειδή οι προγραμματιστές μπορούν να γράψουν αυθαίρετες εκτελέσιμες εφαρμογές στο EVM (παιχνίδια, αγορές, χρηματοπιστωτικά μέσα κ. λπ.) δημοσιεύοντας έξυπνα συμβόλαια, αυτά συχνά ονομάζονται επίσης[dapps ή Αποκεντρωμένες εφαρμογές](/developers/docs/dapps/). + +[Περισσότερα για τα smart contracts](/developers/docs/smart-contracts/) + +## Περισσότερες πληροφορίες {#further-reading} + +- [Ethereum Whitepaper](/whitepaper/) +- [Πώς λειτουργεί το Ethereum;](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369) - _Preethi Kasireddy_ (**Σημ.**: Αυτή η πηγή είναι ακόμα πολύτιμη, αλλά να έχετε υπόψη ότι προηγείται της [Συγχώνευσης](/roadmap/merge) και επομένως αναφέρεται ακόμα στον μηχανισμό απόδειξης εργασίας του Ethereum. Το Ethereum πλέον προστατεύεται με [απόδειξη συμμετοχής](/developers/docs/consensus-mechanisms/pos)) + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ + +## Σχετικοί οδηγοί {#related-tutorials} + +- [Οδηγός προγραμματιστή για το Ethereum, μέρος 1](/developers/tutorials/a-developers-guide-to-ethereum-part-one/) _– Μια πολύ φιλική εξερεύνηση του Ethereum για αρχάριους με τη χρήση Python και web3.py_ diff --git a/public/content/translations/el/developers/docs/networks/index.md b/public/content/translations/el/developers/docs/networks/index.md new file mode 100644 index 00000000000..b1c0da1138d --- /dev/null +++ b/public/content/translations/el/developers/docs/networks/index.md @@ -0,0 +1,149 @@ +--- +title: Δίκτυα +description: Μια επισκόπηση των δικτύων του Ethereum και πού μπορείτε να βρείτε δοκιμαστικό δίκτυο ether (ETH) για να δοκιμάσετε την εφαρμογή σας. +lang: el +--- + +Τα δίκτυα Ethereum είναι ομάδες συνδεδεμένων υπολογιστών που επικοινωνούν χρησιμοποιώντας το πρωτόκολλο Ethereum. Υπάρχει μόνο ένα κεντρικό δίκτυο (Mainnet) Ethereum, αλλά μπορούν να δημιουργηθούν ανεξάρτητα δίκτυα που συμμορφώνονται με τους ίδιους κανόνες πρωτοκόλλου για σκοπούς δοκιμής και ανάπτυξης. Υπάρχουν πολλά ανεξάρτητα «δίκτυα» που συμμορφώνονται με το πρωτόκολλο χωρίς να αλληλεπιδρούν μεταξύ τους. Μπορείτε ακόμη και να ξεκινήσετε ένα τοπικά στον υπολογιστή σας για να δοκιμάσετε τα έξυπνα συμβόλαιά σας και τις εφαρμογές web3. + +Ο λογαριασμός Ethereum σας θα λειτουργεί σε διάφορα δίκτυα, αλλά το υπόλοιπο του λογαριασμού σας και το ιστορικό συναλλαγών δεν μπορούν να μεταφέρονται από το κύριο δίκτυο Ethereum. Για λόγους δοκιμής, είναι χρήσιμο να γνωρίζετε ποια δίκτυα είναι διαθέσιμα και πώς μπορείτε να πάρετε ETH δοκιμαστικού δικτύου για να κάνετε τις δοκιμές σας. Γενικά, για λόγους ασφαλείας, δεν συνιστάται η επαναχρησιμοποίηση λογαριασμών βασικού δικτύου σε δοκιμαστικά δίκτυα ή το αντίστροφο. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να κατανοήσετε τα [βασικά του Ethereum](/developers/docs/intro-to-ethereum/) πριν διαβάσετε για τα διάφορα δίκτυα, καθώς τα δοκιμαστικά δίκτυα σας παρέχουν μια φθηνή, ασφαλή έκδοση του Ethereum για να κάνετε τις δοκιμές σας. + +## Δημόσια δίκτυα {#public-networks} + +Τα δημόσια δίκτυα είναι προσβάσιμα σε οποιονδήποτε έχει σύνδεση στο διαδίκτυο ανά τον κόσμο. Οποιοσδήποτε μπορεί να διαβάσει ή να δημιουργήσει συναλλαγές σε μια δημόσια αλυσίδα συστοιχιών και να επικυρώσει τις συναλλαγές που εκτελούνται. Η συναίνεση μεταξύ των ομοτίμων αποφασίζει για τη συμπερίληψη των συναλλαγών και την κατάσταση του δικτύου. + +### Κεντρικό δίκτυο Ethereum {#ethereum-mainnet} + +Το βασικό δίκτυο είναι η κύρια δημόσια αλυσίδα συστοιχιών παραγωγής Ethereum παραγωγής, όπου πραγματοποιούνται συναλλαγές με πραγματική αξία στο κατανεμημένο καθολικό. + +Όταν οι άνθρωποι και τα χρηματιστήρια συζητούν τις τιμές ETH, μιλούν για το βασικό δίκτυο ETH. + +### Δίκτυα δοκιμών Ethereum {#ethereum-testnets} + +Εκτός από το βασικό δίκτυο, υπάρχουν δημόσια δοκιμαστικά δίκτυα. Αυτά είναι δίκτυα που χρησιμοποιούνται από προγραμματιστές πρωτοκόλλων ή έξυπνων συμβολαίων για να δοκιμάσουν τόσο τις αναβαθμίσεις πρωτοκόλλων όσο και τα πιθανά έξυπνα συμβόλαια σε ένα περιβάλλον παραγωγής πριν από την ανάπτυξη τους στο βασικό δίκτυο. Σκέψου το σαν μια αναλογία των διακομιστών παραγωγής έναντι των διακομιστών «staging». + +Προτού αναπτύξετε οποιονδήποτε κώδικα συμβολαίου γράφετε στο βασικό δίκτυο, θα πρέπει να τον δοκιμάσετε σε ένα δοκιμαστικό. Ανάμεσα στις αποκεντρωμένες εφαρμογές που ενσωματώνονται σε υπάρχοντα έξυπνα συμβόλαια, τα περισσότερα έργα έχουν αντίγραφα που έχουν αναπτυχθεί σε δοκιμαστικά δίκτυα. + +Τα περισσότερα δοκιμαστικά δίκτυα ξεκίνησαν χρησιμοποιώντας έναν μηχανισμό συναίνεσης περιορισμένης πρόσβασης με απόδειξη άδειας. Αυτό σημαίνει ότι επιλέγεται ένας μικρός αριθμός κόμβων για την επικύρωση των συναλλαγών και τη δημιουργία νέων μπλοκ - αποθηκεύοντας την ταυτότητά τους κατά τη διαδικασία. Εναλλακτικά, κάποια δοκιμαστικά δίκτυα διαθέτουν έναν ανοιχτό μηχανισμό συναίνεσης με απόδειξη συμμετοχής όπου όλοι μπορούν να δοκιμάσουν να εκτελέσουν έναν επικυρωτή, ακριβώς όπως στο βασικό δίκτυο του Ethereum. + +Το ETH στα δοκιμαστικά δίκτυα υποτίθεται ότι δεν έχει καμία πραγματική αξία, ωστόσο έχουν δημιουργηθεί αγορές για ορισμένους τύπους δοκιμαστικών δικτύων ETH των οποίων η απόκτηση έχει γίνει σπάνια ή δύσκολη. Δεδομένου ότι χρειάζεσαι ETH για να αλληλεπιδράσεις πραγματικά με το Ethereum (ακόμη και στα δοκιμαστικά δίκτυα), οι περισσότεροι άνθρωποι παίρνουν δωρεάν ETH δοκιμαστικών δικτύων από faucet. Οι περισσότερες παροχές είναι εφαρμογές ιστού όπου μπορείτε να εισαγάγετε τη διεύθυνσή σας για να αιτηθείτε και να λάβετε ΕΤΗ. + +#### Ποιo δοκιμαστικό δίκτυο να χρησιμοποιήσω; + +Τα δύο δημόσια δοκιμαστικά δίκτυα που διατηρούν επί του παρόντος οι προγραμματιστές είναι το Sepolia και το Goerli. Το Sepolia είναι ένα δίκτυο ώστε οι προγραμματιστές συμβολαίων και εφαρμογών να δοκιμάζουν τις εφαρμογές τους. Το δίκτυο Goerli επιτρέπει στους προγραμματιστές πρωτοκόλλων να δοκιμάζουν τις αναβαθμίσεις του δικτύου και επιτρέπει στους συμμετέχοντες να δοκιμάζουν τους επικυρωτές. + +#### Sepolia {#sepolia} + +**Το Sepolia είναι το προτεινόμενο προεπιλεγμένο δοκιμαστικό δίκτυο για την ανάπτυξη εφαρμογών**. Το δίκτυο Sepolia χρησιμοποιεί ένα σύνολο επικυρωτών με άδεια. Είναι αρκετά νέο, που σημαίνει ότι η κατάσταση και η ιστορία του είναι και τα δύο αρκετά μικρά. Αυτό σημαίνει ότι το δίκτυο συγχρονίζεται γρήγορα και ότι η εκτέλεση ενός κόμβου σε αυτό απαιτεί λιγότερο χώρο αποθήκευσης. Αυτό είναι χρήσιμο για χρήστες που θέλουν να εκτελέσουν γρήγορα έναν κόμβο και να αλληλεπιδράσουν απευθείας με το δίκτυο. + +- Κλειστό σύνολο επικυρωτών, ελεγχόμενο από πελάτη & ομάδες δοκιμών +- Νέο δοκιμαστικό δίκτυο, με λιγότερες αναπτυσσόμενες εφαρμογές από άλλα δοκιμαστικά δίκτυα +- Με γρήγορο συγχρονισμό και εκτέλεση κόμβου που απαιτεί ελάχιστο χώρο στο δίσκο + +##### Πηγές + +- [Ιστότοπος](https://sepolia.dev/) +- [GitHub](https://github.com/eth-clients/sepolia) +- [Otterscan](https://sepolia.otterscan.io/) +- [Etherscan](https://sepolia.etherscan.io) +- [Blockscout](https://eth-sepolia.blockscout.com/) + +##### Faucets + +- [Sepolia faucet στο QuickNode](https://faucet.quicknode.com/drip) +- [Grabteeth](https://grabteeth.xyz/) +- [PoW faucet](https://sepolia-faucet.pk910.de/) +- [Coinbase Wallet faucet | Sepolia](https://coinbase.com/faucets/ethereum-sepolia-faucet) +- [Sepolia faucet στο Alchemy](https://sepoliafaucet.com/) +- [Sepolia faucet στο Infura](https://www.infura.io/faucet) +- [Sepolia faucet στο Chainstack](https://faucet.chainstack.com/sepolia-faucet) +- [Faucet στο οικοσύστημα Ethereum](https://www.ethereum-ecosystem.com/faucets/ethereum-sepolia) + +#### Goerli _(μακροπρόθεσμη υποστήριξη)_ {#goerli} + +_Σημείωση: [το δοκιμαστικό δίκτυο Goerli έχει καταργηθεί](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) και θα αντικατασταθεί από το [Holesovice](https://github.com/eth-clients/holesovice) το 2023. Παρακαλώ λάβετε υπόψη τη μετεγκατάσταση των εφαρμογών σας στο Sepolia._ + +Το Goerli είναι ένα δοκιμαστικό δίκτυο για δοκιμές επικύρωσης και αποθήκευσης. Το δίκτυο Goerli είναι ανοιχτό για χρήστες που θέλουν να εκτελέσουν ένα πρόγραμμα επικύρωσης δοκιμαστικού δικτύου. Επομένως, οι συμμετέχοντες που επιθυμούν να δοκιμάσουν αναβαθμίσεις πρωτοκόλλου πριν από την ανάπτυξή τους στο βασικό δίκτυο θα πρέπει να χρησιμοποιούν το Goerli. + +- Ανοιχτό σετ επικυρωτή, οι συμμετέχοντες μπορούν να δοκιμάσουν αναβαθμίσεις δικτύου +- Μεγάλη κατάσταση, χρήσιμη για τη δοκιμή σύνθετων αλληλεπιδράσεων έξυπνων συμβολαίων +- Μεγαλύτερη διάρκεια συγχρονισμού και περισσότερη αποθήκευση για τη λειτουργία ενός κόμβου + +##### Πηγές + +- [Ιστότοπος](https://goerli.net/) +- [GitHub](https://github.com/eth-clients/goerli) +- [Etherscan](https://goerli.etherscan.io) +- [Blockscout](https://eth-goerli.blockscout.com/) + +##### Faucets + +- [Goerli faucet στο QuickNode](https://faucet.quicknode.com/drip) +- [Grabteeth](https://grabteeth.xyz/) +- [PoW faucet](https://goerli-faucet.pk910.de/) +- [Paradigm faucet](https://faucet.paradigm.xyz/) +- [Alchemy Goerli faucet](https://goerlifaucet.com/) +- [Goerli faucet στο All That Node](https://www.allthatnode.com/faucet/ethereum.dsrv) +- [Coinbase Wallet Faucet | Goerli](https://coinbase.com/faucets/ethereum-goerli-faucet) +- [Goerli faucet στο Chainstack](https://faucet.chainstack.com/goerli-faucet) + +Για να εκκινήσετε έναν επικυρωτή στο δοκιμαστικό δίκτυο Goerli, χρησιμοποιήστε την [πλατφόρμα «φτηνού επικυρωτή goerli»](https://goerli.launchpad.ethstaker.cc/en/) του ethstaker. + +### Δίκτυα δοκιμών Layer 2 {#layer-2-testnets} + +Το [επίπεδο 2 (L2)](/layer-2/) είναι ένας συλλογικός όρος που περιγράφει ένα συγκεκριμένο σύνολο λύσεων κλιμάκωσης Ethereum. Το επίπεδο 2 είναι μια ξεχωριστή αλυσίδα συστοιχιών που επεκτείνει το Ethereum και κληρονομεί τις εγγυήσεις ασφαλείας του Ethereum. Τα δοκιμαστικά δίκτυα επιπέδου 2 είναι συνήθως στενά συνδεδεμένα με δημόσια δοκιμαστικά δίκτυα Ethereum. + +#### Arbitrum Goerli {#arbitrum-goerli} + +Ένα δίκτυο δοκιμών για το [Arbitrum](https://arbitrum.io/). + +##### Faucets + +- [Πάροχος Chainlink](https://faucets.chain.link/) + +#### Optimistic Goerli {#optimistic-goerli} + +Ένα δίκτυο δοκιμών για το [Optimism](https://www.optimism.io/). + +##### Faucets + +- [Paradigm faucet](https://faucet.paradigm.xyz/) +- [Coinbase Wallet Faucet | Optimism Goerli](https://coinbase.com/faucets/optimism-goerli-faucet) + +#### Starknet Goerli {#starknet-goerli} + +Ένα δοκιμαστικό δίκτυο για το [Starknet](https://www.starknet.io). + +##### Faucets + +- [Starknet faucet](https://faucet.goerli.starknet.io) + +## Ιδιωτικά δίκτυα {#private-networks} + +Ένα δίκτυο Ethereum είναι ένα ιδιωτικό δίκτυο εάν οι κόμβοι του δεν είναι συνδεδεμένοι σε ένα δημόσιο δίκτυο (δηλ. Κεντρικό δίκτυο ή δίκτυο δοκιμών). Σε αυτό το πλαίσιο, ιδιωτικό σημαίνει μόνο δεσμευμένο ή απομονωμένο, και όχι προστατευμένο ή ασφαλές. + +### Δίκτυα ανάπτυξης {#development-networks} + +Για να αναπτύξετε μια εφαρμογή Ethereum, θα θέλετε να την εκτελέσετε σε ένα ιδιωτικό δίκτυο για να δείτε πώς λειτουργεί πριν τη χρησιμοποιήσετε. Παρόμοια με τον τρόπο που δημιουργείτε έναν τοπικό διακομιστή στον υπολογιστή σας για την ανάπτυξη ιστοσελίδων, μπορείτε να δημιουργήσετε ένα τοπικό παράδειγμα αλυσίδας συστοιχιών για να δοκιμάσετε την αποκεντρωμένη εφαρμογή σας. Αυτό επιτρέπει πολύ πιο γρήγορη επανάληψη από ένα δημόσιο δοκιμαστικό δίκτυο. + +Υπάρχουν έργα και εργαλεία αφιερωμένα στο να βοηθήσουν σε αυτό. Μάθετε περισσότερα σχετικά με τα [δίκτυα ανάπτυξης](/developers/docs/development-networks/). + +### Δίκτυα Consortium {#consortium-networks} + +Η διαδικασία συναίνεσης ελέγχεται από ένα προκαθορισμένο σύνολο κόμβων που είναι έμπιστοι. Για παράδειγμα, ένα ιδιωτικό δίκτυο γνωστών ακαδημαϊκών ιδρυμάτων που το καθένα διοικεί έναν κόμβο, και τα μπλοκ επικυρώνονται από ένα όριο υπογραφόντων εντός του δικτύου. + +Εάν ένα δημόσιο δίκτυο Ethereum είναι σαν το δημόσιο διαδίκτυο, ένα δίκτυο consortium είναι σαν ένα ιδιωτικό ενδοδίκτυο. + +## Σχετικά εργαλεία {#related-tools} + +- Κατάλογος [Chainlist](https://chainlist.org/) _δικτύων EVM που συνδέουν πορτοφόλια και παρόχους στην κατάλληλη ταυτότητα αλυσίδας και ταυτότητα δικτύου_ +- [Αλυσίδες που βασίζονται σε EVM](https://github.com/ethereum-lists/chains) _Αποθετήριο GitHub μεταδεδομένων αλυσίδας που ενεργοποιεί το Chainlist_ + +## Περισσότερες πληροφορίες {#further-reading} + +- [Πρόταση: Προβλέψιμος κύκλος ζωής του δοκιμαστικού δικτύου Ethereum](https://ethereum-magicians.org/t/proposal-predictable-ethereum-testnet-lifecycle/11575/17) +- [Η εξέλιξη των δοκιμαστικών δικτύων Ethereum](https://etherworld.co/2022/08/19/the-evolution-of-ethereum-testnet/) diff --git a/public/content/translations/el/developers/docs/smart-contracts/composability/index.md b/public/content/translations/el/developers/docs/smart-contracts/composability/index.md new file mode 100644 index 00000000000..9f31f224aa9 --- /dev/null +++ b/public/content/translations/el/developers/docs/smart-contracts/composability/index.md @@ -0,0 +1,76 @@ +--- +title: Συνθετικότητα έξυπνων συμβολαίων +description: +lang: el +incomplete: true +--- + +## Μια σύντομη εισαγωγή {#a-brief-introduction} + +Τα έξυπνα συμβόλαια είναι δημόσια στο Ethereum και μπορούν να θεωρηθούν ως ελεύθερα API. Δε χρειάζεται να γράψετε το δικό σας έξυπνο συμβόλαιο για να γίνετε προγραμματιστής dapp, απλά πρέπει να ξέρετε πώς να αλληλεπιδράτε μαζί τους. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τα υπάρχοντα έξυπνα συμβόλαια του [Uniswap](https://uniswap.exchange/swap), ενός αποκεντρωμένου ανταλλακτηρίου, για να χειριστείτε όλη τη λογική ανταλλαγής κρυπτοπαραστατικών στην εφαρμογή σας – δεν χρειάζεται να ξεκινήσετε από την αρχή. Δείτε μερικά από τα δικά τους συμβόλαια [v2](https://github.com/Uniswap/uniswap-v2-core/tree/master/contracts) και [v3](https://github.com/Uniswap/uniswap-v3-core/tree/main/contracts). + +## Τι είναι η συνθεσιμότητα; {#what-is-composability} + +Συνθεσιμότητα είναι ο συνδυασμός διαφορετικών στοιχείων για τη δημιουργία νέων συστημάτων ή αποτελεσμάτων. Στην ανάπτυξη λογισμικών, η συνθετικότητα σημαίνει ότι οι προγραμματιστές μπορούν να επαναχρησιμοποιήσουν υπάρχοντα στοιχεία λογισμικών για να δημιουργήσουν νέες εφαρμογές. Ένας καλός τρόπος για να κατανοήσετε τη δυνατότητα συνθεσιμότητας είναι να σκεφτείτε τα στοιχεία σύνθεσης ως τουβλάκια Lego. Κάθε Lego μπορεί να συνδυαστεί με ένα άλλο, επιτρέποντάς σας να χτίσετε πολύπλοκες δομές συνδυάζοντας διαφορετικά Lego. + +Στο Ethereum, κάθε έξυπνο συμβόλαιο είναι ένα είδος Lego — μπορείτε να χρησιμοποιήσετε έξυπνα συμβόλαια από άλλα έργα ως δομικά στοιχεία για το έργο σας. Αυτό σημαίνει ότι δεν χρειάζεται να ξοδεύετε χρόνο για να ανακαλύψετε ξανά την μέθοδο ή να χτίσετε από την αρχή. + +## Πώς λειτουργεί η συνθετικότητα; {#how-does-composability-work} + +Τα έξυπνα συμβόλαια Ethereum είναι σαν τα δημόσια API, οπότε ο καθένας μπορεί να αλληλεπιδράσει με το συμβόλαιο ή να τα ενσωματώσει σε dapp για πρόσθετη λειτουργικότητα. Η δυνατότητα συνθεσιμότητας έξυπνων συμβολαίων χρησιμοποιεί γενικά τρεις αρχές: αρθρωτή μορφή, αυτονομία και δυνατότητα εντοπισμού: + +**1. Αρθρωτή μορφή**: Πρόκειται για την ικανότητα μεμονωμένων στοιχείων να εκτελούν μια συγκεκριμένη εργασία. Στο Ethereum, κάθε έξυπνο συμβόλαιο έχει μια συγκεκριμένη περίπτωση χρήσης (όπως φαίνεται στο παράδειγμα Uniswap). + +**2. Αυτονομία **: Τα συνθετικά στοιχεία πρέπει να μπορούν να λειτουργούν ανεξάρτητα. Κάθε έξυπνο συμβόλαιο στο Ethereum εκτελείται μόνο του και μπορεί να λειτουργήσει χωρίς να βασίζεται σε άλλα μέρη του συστήματος. + +**3. Δυνατότητα εντοπισμού** Οι προγραμματιστές δεν μπορούν να καλούν εξωτερικά συμβόλαια ή να ενσωματώσουν βιβλιοθήκες λογισμικού σε εφαρμογές, εάν οι πρώτες δεν είναι δημόσια διαθέσιμες. Από τον σχεδιασμό τους, τα έξυπνα συμβόλαια είναι ανοιχτού κώδικα, οποιοσδήποτε μπορεί να καλέσει ένα έξυπνο συμβόλαιο ή να χωρίσει (fork) μια βάση κώδικα. + +## Οφέλη της συνθετικότητας {#benefits-of-composability} + +### Συντομότερος κύκλος ανάπτυξης {#shorter-development-cycle} + +Η συνθεσιμότητα μειώνει την εργασία που πρέπει να κάνουν οι προγραμματιστές κατά τη δημιουργία των [dapp](/dapps/#what-are-dapps). [Όπως σημειώνει ο Naval Ravikant:](https://twitter.com/naval/status/1444366754650656770) «Ανοιχτού κώδικα σημαίνει ότι κάθε πρόβλημα πρέπει να λυθεί μία φορά.» + +Εάν υπάρχει ένα έξυπνο συμβόλαιο που λύνει ένα πρόβλημα, οι άλλοι προγραμματιστές μπορούν να το χρησιμοποιήσουν ξανά, επομένως δεν χρειάζεται να λύσουν το ίδιο πρόβλημα. Με αυτόν τον τρόπο, οι προγραμματιστές μπορούν να πάρουν υπάρχουσες βιβλιοθήκες λογισμικού και να προσθέσουν επιπλέον λειτουργίες για τη δημιουργία νέων dapp. + +### Μεγαλύτερη καινοτομία {#greater-innovation} + +Η δυνατότητα συνθεσιμότητας ενθαρρύνει την καινοτομία και τον πειραματισμό επειδή οι προγραμματιστές είναι ελεύθεροι να επαναχρησιμοποιήσουν, να τροποποιήσουν, να αντιγράψουν ή να ενσωματώσουν κώδικα ανοιχτής πηγής για να δημιουργήσουν τα επιθυμητά αποτελέσματα. Αυτό έχει ως αποτέλεσμα οι ομάδες ανάπτυξης να ξοδεύουν λιγότερο χρόνο σε βασικές λειτουργίες και να μπορούν να αφιερώσουν περισσότερο χρόνο στον πειραματισμό με νέες δυνατότητες. + +### Καλύτερη εμπειρία χρήστη {#better-user-experience} + +Η διαλειτουργικότητα μεταξύ των στοιχείων του οικοσυστήματος Ethereum βελτιώνει την εμπειρία του χρήστη. Οι χρήστες μπορούν να έχουν πρόσβαση σε μεγαλύτερη λειτουργικότητα όταν τα dapp ενσωματώνουν εξωτερικά έξυπνα συμβόλαια παρά σε ένα κατακερματισμένο οικοσύστημα όπου οι εφαρμογές δεν μπορούν να επικοινωνήσουν. + +Θα χρησιμοποιήσουμε ένα παράδειγμα από την εξισορροπητική κερδοσκοπία (arbitrage trading) για να δείξουμε τα οφέλη της διαλειτουργικότητας: + +Εάν ένα κρυπτοπαραστατικό έχει μεγαλύτερη εμπορική αξία στο `ανταλλακτήριο Α` από ό,τι στο `ανταλλακτήριο Β`, μπορείτε να επωφεληθείτε από τη διαφορά τιμής για να βγάλετε κέρδος. Ωστόσο, αυτό μπορεί να γίνει μόνο εάν έχετε αρκετό κεφάλαιο για να χρηματοδοτήσετε τη συναλλαγή (δηλαδή, την αγορά του κρυπτοπαραστατικού από το `ανταλλακτήριο Β`> και την πώλησή του στο `ανταλλακτήριο Α`). + +Σε ένα σενάριο σύμφωνα με το οποίο δεν έχετε αρκετά κεφάλαια για να καλύψετε το συναλλαγή, ένα στιγμιαίο δάνειο μπορεί να είναι ιδανικό. [Τα στιγμιαία δάνεια](/defi/#flash-loans) είναι εξαιρετικά τεχνικά, αλλά η βασική ιδέα είναι ότι μπορείτε να δανειστείτε περιουσιακά στοιχεία (χωρίς εγγυήσεις) και να επιστρέψετε τα ίδια μέσα σε _μία_ συναλλαγή. + +Επιστρέφοντας στο αρχικό μας παράδειγμα, ένας επενδυτής σε εξισορροπητική κερδοσκοπία μπορεί να πάρει ένα μεγάλο στιγμιαίο δάνειο, να αγοράσει κρυπτοπαραστατικά από `το ανταλλακτήριο Β`, να τα πουλήσει στο `ανταλλακτήριο Α`, να επιστρέψει το κεφάλαιο + τόκους και να κρατήσει το κέρδος, μέσα στην ίδια συναλλαγή. Αυτή η πολύπλοκη λογική απαιτεί τον συνδυασμό κλήσεων σε πολλαπλά συμβόλαια, κάτι που δεν θα ήταν δυνατό εάν τα έξυπνα συμβόλαια δεν είχαν διαλειτουργικότητα. + +## Παραδείγματα συνθετικότητας στο Ethereum {#composability-in-ethereum} + +### Ανταλλαγή κρυπτοπαραστατικών {#token-swaps} + +Εάν δημιουργήσετε μια εφαρμογή που απαιτεί οι συναλλαγές να πληρώνονται σε ETH, μπορείτε να επιτρέψετε στους χρήστες να πληρώνουν σε άλλα κρυπτοπαραστατικά ERC-20 ενσωματώνοντας τη λογική ανταλλαγής κρυπτοπαραστατικών. Ο κώδικας θα μετατρέψει αυτόματα το κρυπτοπαραστατικό του χρήστη σε ETH πριν το συμβόλαιο εκτελέσει την καλούμενη συνάρτηση. + +### Διακυβέρνηση {#governance} + +Η δημιουργία εξατομικευμένων συστημάτων διακυβέρνησης για ένα [DAO](/dao/) μπορεί να είναι δαπανηρή και χρονοβόρα. Αντίθετα, θα μπορούσατε να χρησιμοποιήσετε μια εργαλειοθήκη διακυβέρνησης ανοιχτού κώδικα, όπως το [Aragon Client](https://client.aragon.org/), για να εκκινήσετε το DAO σας για να δημιουργήσετε γρήγορα ένα πλαίσιο διακυβέρνησης. + +### Διαχείριση ταυτότητας {#identity-management} + +Αντί να δημιουργήσετε ένα προσαρμοσμένο σύστημα ελέγχου ταυτότητας ή να βασίζεστε σε κεντρικούς παρόχους, μπορείτε να ενσωματώσετε εργαλεία αποκεντρωμένης ταυτότητας (DID) ώστε να διαχειρίζεστε τον έλεγχο ταυτότητας των χρηστών. Ένα παράδειγμα είναι το [SpruceID](https://www.spruceid.com/), μία εργαλειοθήκη ανοιχτού κώδικα που προσφέρει μια λειτουργία «Σύνδεση με Ethereum» που επιτρέπει στους χρήστες να πιστοποιούν ταυτότητες με ένα πορτοφόλι Ethereum. + +## Σχετικοί οδηγοί {#related-tutorials} + +- [Δώστε ώθηση στην ανάπτυξη dapp προσκηνίου με την εφαρμογή create-eth-app](/developers/tutorials/kickstart-your-dapp-frontend-development-with-create-eth-app/) _– Μια επισκόπηση του τρόπου χρήση της εφαρμογής create-eth-app για να δημιουργήσετε εφαρμογές με δημοφιλή και πρωτότυπα έξυπνα συμβόλαια._ + +## Περαιτέρω πληροφορίες {#further-reading} + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ + +- [Η συνθετικότητα είναι καινοτομία](https://future.a16z.com/how-composability-unlocks-crypto-and-everything-else/) +- [Γιατί η συνθεσιμότητα είναι σημαντική για το Web3](https://hackernoon.com/why-composability-matters-for-web3) +- [Τι είναι συνθεσιμότητα;](https://blog.aragon.org/what-is-composability/#:~:text=Aragon,connect%20to%20every%20other%20piece.) diff --git a/public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md b/public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md new file mode 100644 index 00000000000..ab6ff9a3eea --- /dev/null +++ b/public/content/translations/el/developers/docs/smart-contracts/formal-verification/index.md @@ -0,0 +1,283 @@ +--- +title: Τυπική επαλήθευση των έξυπνων συμβολαίων +description: Μια επισκόπηση της τυπικής επαλήθευσης για έξυπνα συμβόλαια Ethereum +lang: el +--- + +Τα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/) καθιστούν δυνατή τη δημιουργία αποκεντρωμένων, χωρίς ανάγκη εμπιστοσύνης και ανθεκτικών εφαρμογών που εισάγουν νέες περιπτώσεις χρήσης και ξεκλειδώνουν αξία για τους χρήστες. Επειδή τα έξυπνα συμβόλαια χειρίζονται μεγάλες ποσότητες αξίας, η ασφάλεια είναι μια κρίσιμη παράμετρος για τους προγραμματιστές. + +Η τυπική επαλήθευση είναι μία από τις προτεινόμενες τεχνικές για τη βελτίωση της [ασφάλειας των έξυπνων συμβολαίων](/developers/docs/smart-contracts/security/). Η τυπική επαλήθευση, η οποία χρησιμοποιεί [τυπικές μεθόδους](https://www.brookings.edu/techstream/formal-methods-as-a-path-toward-better-cybersecurity/) για τον ορισμό προδιαγραφών, τη σχεδίαση και επαλήθευση προγραμμάτων, χρησιμοποιείται εδώ και χρόνια για να διασφαλίσει τη σωστή λειτουργία κρίσιμων συστημάτων υλισμικού και λογισμικού. + +Όταν εφαρμόζεται σε έξυπνα συμβόλαια, η τυπική επαλήθευση μπορεί να αποδείξει ότι η επιχειρηματική λογική μιας σύμβασης πληροί μια προκαθορισμένη προδιαγραφή. Σε σύγκριση με άλλες μεθόδους αξιολόγησης της ορθότητας του κώδικα συμβολαίου, όπως οι δοκιμές, η τυπική επαλήθευση παρέχει ισχυρότερες εγγυήσεις ότι ένα έξυπνο συμβόλαιο είναι λειτουργικά σωστό. + +## Τι είναι η τυπική επαλήθευση; {#what-is-formal-verification} + +Η τυπική επαλήθευση αναφέρεται στη διαδικασία αξιολόγησης της ορθότητας ενός συστήματος σε σχέση με μια τυπική προδιαγραφή. Με απλούστερους όρους, η τυπική επαλήθευση μας επιτρέπει να ελέγξουμε εάν η συμπεριφορά ενός συστήματος ικανοποιεί κάποιες απαιτήσεις (δηλαδή, κάνει αυτό που θέλουμε). + +Οι αναμενόμενες συμπεριφορές του συστήματος (ένα έξυπνο συμβόλαιο σε αυτήν την περίπτωση) περιγράφονται χρησιμοποιώντας τυπική μοντελοποίηση, ενώ οι γλώσσες προδιαγραφής επιτρέπουν τη δημιουργία τυπικών ιδιοτήτων. Οι τεχνικές τυπικής επαλήθευσης μπορούν στη συνέχεια να επαληθεύσουν ότι η υλοποίηση ενός συμβολαίου συμμορφώνεται με την προδιαγραφή της και να παράγουν μαθηματική απόδειξη της ορθότητας της πρώτης. Όταν ένα συμβόλαιο ικανοποιεί τις προδιαγραφές του, περιγράφεται ως «λειτουργικά σωστό», «σωστό από τον σχεδιασμό» ή «σωστό από την κατασκευή». + +### Τι είναι τυπικό μοντέλο; {#what-is-a-formal-model} + +Στην επιστήμη των υπολογιστών, ένα [τυπικό μοντέλο](https://en.wikipedia.org/wiki/Model_of_computation) είναι μια μαθηματική περιγραφή μιας υπολογιστικής διαδικασίας. Τα προγράμματα συνοψίζονται αφαιρετικά σε μαθηματικές συναρτήσεις (εξισώσεις), με το μοντέλο να περιγράφει πώς υπολογίζονται τα αποτελέσματα των συναρτήσεων με δεδομένο ένα στοιχείο εισόδου. + +Τα τυπικά μοντέλα παρέχουν ένα επίπεδο αφαιρετικότητας πάνω από το οποίο μπορεί να αξιολογηθεί η ανάλυση της συμπεριφοράς ενός προγράμματος. Η ύπαρξη τυπικών μοντέλων επιτρέπει τη δημιουργία μιας _τυπικής προδιαγραφής_, η οποία περιγράφει τις επιθυμητές ιδιότητες του εν λόγω μοντέλου. + +Διαφορετικές τεχνικές χρησιμοποιούνται για τη μοντελοποίηση έξυπνων συμβολαίων για τυπική επαλήθευση. Για παράδειγμα, ορισμένα μοντέλα χρησιμοποιούνται για να εξάγουν συμπεράσματα σχετικά με τη συμπεριφορά υψηλού επιπέδου ενός έξυπνου συμβολαίου. Αυτές οι τεχνικές μοντελοποίησης εφαρμόζουν μια προβολή μαύρου κουτιού στα έξυπνα συμβόλαια, θεωρώντας τα ως συστήματα που δέχονται στοιχεία εισόδου και εκτελούν υπολογισμούς με βάση αυτά τα στοιχεία. + +Τα μοντέλα υψηλού επιπέδου επικεντρώνονται στη σχέση μεταξύ έξυπνων συμβολαίων και εξωτερικών παραγόντων, όπως εξωτερικά κατεχόμενοι λογαριασμοί (EOA), λογαριασμοί συμβολαίων και το περιβάλλον της αλυσίδας συστοιχιών. Τέτοια μοντέλα είναι χρήσιμα για τον ορισμό ιδιοτήτων που καθορίζουν πώς πρέπει να συμπεριφέρεται ένα συμβόλαιο ως απόκριση σε ορισμένες αλληλεπιδράσεις χρήστη. + +Αντίθετα, άλλα επίσημα μοντέλα επικεντρώνονται στη συμπεριφορά χαμηλού επιπέδου ενός έξυπνου συμβολαίου. Ενώ τα μοντέλα υψηλού επιπέδου μπορούν να βοηθήσουν στην εξαγωγή συμπερασμάτων σχετικά με τη λειτουργικότητα ενός συμβολαίου, ενδέχεται να μην καταφέρουν να καταγράψουν λεπτομέρειες σχετικά με τις εσωτερικές καταστάσεις λειτουργίας της υλοποίησης. Τα μοντέλα χαμηλού επιπέδου εφαρμόζουν μια προβολή λευκού κουτιού στην ανάλυση προγράμματος και βασίζονται σε αναπαραστάσεις χαμηλού επιπέδου εφαρμογών έξυπνων συμβολαίων, όπως ίχνη προγράμματος και [γραφήματα ροής ελέγχου](https://en.wikipedia.org/wiki/Control-flow_graph), για να εξάγουν συμπεράσματα για ιδιότητες σχετικές με την εκτέλεση ενός συμβολαίου. + +Τα μοντέλα χαμηλού επιπέδου θεωρούνται ιδανικά καθώς αντιπροσωπεύουν την πραγματική εκτέλεση ενός έξυπνου συμβολαίου στο περιβάλλον εκτέλεσης του Ethereum (δηλαδή, το [EVM](/developers/docs/evm/)). Οι τεχνικές μοντελοποίησης χαμηλού επιπέδου είναι ιδιαίτερα χρήσιμες στον καθορισμό κρίσιμων ιδιοτήτων ασφαλείας σε έξυπνα συμβόλαια και στον εντοπισμό πιθανών ευπαθειών. + +### Τι είναι μια τυπική προδιαγραφή; {#what-is-a-formal-specification} + +Μια προδιαγραφή είναι απλώς μια τεχνική απαίτηση την οποία πρέπει να ικανοποιεί ένα συγκεκριμένο σύστημα. Στον προγραμματισμό, οι προδιαγραφές αντιπροσωπεύουν γενικές ιδέες σχετικά με την εκτέλεση ενός προγράμματος (δηλαδή, τι πρέπει να κάνει το πρόγραμμα). + +Στο πλαίσιο των έξυπνων συμβολαίων, οι τυπικές προδιαγραφές αναφέρονται σε _ιδιότητες_, τυπικές περιγραφές των απαιτήσεων που πρέπει να ικανοποιεί ένα συμβόλαιο. Τέτοιες ιδιότητες περιγράφονται ως «αμετάβλητες» και αντιπροσωπεύουν λογικές δηλώσεις σχετικά με την εκτέλεση μιας σύμβασης που πρέπει να παραμένουν αληθείς υπό κάθε πιθανή περίσταση, χωρίς εξαιρέσεις. + +Έτσι, μπορούμε να σκεφτούμε μια τυπική προδιαγραφή ως μια συλλογή δηλώσεων γραμμένων σε τυπική γλώσσα που περιγράφουν την προβλεπόμενη εκτέλεση μιας έξυπνης σύμβασης. Οι προδιαγραφές καλύπτουν τις ιδιότητες μιας σύμβασης και ορίζουν πώς θα πρέπει να συμπεριφέρεται η σύμβαση σε διαφορετικές συνθήκες. Ο σκοπός της τυπικής επαλήθευσης είναι να προσδιορίσει εάν ένα έξυπνο συμβόλαιο διαθέτει αυτές τις ιδιότητες (αμετάβλητες) και ότι αυτές οι ιδιότητες δεν παραβιάζονται κατά την εκτέλεση. + +Οι τυπικές προδιαγραφές είναι κρίσιμες για την ανάπτυξη ασφαλών υλοποιήσεων έξυπνων συμβολαίων. Τα συμβόλαια που δεν καταφέρνουν να εφαρμόζουν τις αμετάβλητες ιδιότητες ή των οποίων οι ιδιότητες παραβιάζονται κατά την εκτέλεση τους, είναι επιρρεπή σε ευπάθειες που μπορούν να βλάψουν τη λειτουργικότητα ή να προκαλέσουν κακόβουλες εκμεταλλεύσεις. + +## Τύποι τυπικών προδιαγραφών για έξυπνα συμβόλαια {#formal-specifications-for-smart-contracts} + +Οι τυπικές προδιαγραφές επιτρέπουν τον μαθηματικό συλλογισμό σχετικά με τη σωστή εκτέλεση του προγράμματος. Όπως συμβαίνει στα τυπικά μοντέλα, οι τυπικές προδιαγραφές μπορούν να καταγράψουν είτε ιδιότητες υψηλού επιπέδου, είτε τη συμπεριφορά χαμηλού επιπέδου μιας υλοποίησης συμβολαίου. + +Οι τυπικές προδιαγραφές προκύπτουν χρησιμοποιώντας στοιχεία της [λογικής προγραμματισμού](https://en.wikipedia.org/wiki/Logic_programming), τα οποία επιτρέπουν τον τυπικό συλλογισμό σχετικά με τις ιδιότητες ενός προγράμματος. Μια λογική προγραμματισμού έχει τυπικούς κανόνες που εκφράζουν (σε μαθηματική γλώσσα) την αναμενόμενη συμπεριφορά ενός προγράμματος. Διάφορες λογικές προγραμματισμού χρησιμοποιούνται στη δημιουργία τυπικών προδιαγραφών, συμπεριλαμβανομένων της [λογικής προσβασιμότητας](https://en.wikipedia.org/wiki/Reachability_problem), της [χρονικής λογικής](https://en.wikipedia.org/wiki/Temporal_logic) και της [λογικής Hoare](https://en.wikipedia.org/wiki/Hoare_logic). + +Οι τυπικές προδιαγραφές για έξυπνα συμβόλαια μπορούν να ταξινομηθούν σε γενικές γραμμές είτε ως προδιαγραφές **υψηλού επιπέδου** είτε ως προδιαγραφές **χαμηλού επιπέδου**. Ανεξάρτητα από την κατηγορία στην οποία ανήκει μια προδιαγραφή, πρέπει να περιγράφει επαρκώς και χωρίς υπεκφυγές την ιδιότητα του συστήματος που αναλύεται. + +### Προδιαγραφές υψηλού επιπέδου {#high-level-specifications} + +Όπως υποδηλώνει το όνομα, μια προδιαγραφή υψηλού επιπέδου (που ονομάζεται επίσης «προδιαγραφή προσανατολισμένη στο μοντέλο») περιγράφει τη συμπεριφορά υψηλού επιπέδου ενός προγράμματος. Οι προδιαγραφές υψηλού επιπέδου μοντελοποιούν ένα έξυπνο συμβόλαιο ως μια [πεπερασμένη κατάσταση μηχανής](https://en.wikipedia.org/wiki/Finite-state_machine) (FSM), η οποία μπορεί να μεταβεί μεταξύ καταστάσεων εκτελώντας λειτουργίες, με τη χρονική λογική να χρησιμοποιείται για τον ορισμό τυπικών ιδιοτήτων για το μοντέλο FSM. + +Οι [χρονικές λογικές](https://en.wikipedia.org/wiki/Temporal_logic) είναι «κανόνες για τον συλλογισμό σχετικά με προτάσεις που προσδιορίζονται ως προς το χρόνο (π.χ. «_Πάντα_ πεινάω» ή «_Τελικά_ θα πεινάσω»).» Όταν εφαρμόζονται στην τυπική επαλήθευση, οι χρονικές λογικές χρησιμοποιούνται για να δηλώσουν ισχυρισμούς σχετικά με τη σωστή συμπεριφορά συστημάτων που μοντελοποιούνται ως μηχανές κατάστασης. Ειδικότερα, μια χρονική λογική περιγράφει τις μελλοντικές καταστάσεις στις οποίες μπορεί να βρίσκεται ένα έξυπνο συμβόλαιο και πώς μεταβαίνει μεταξύ των καταστάσεων. + +Οι προδιαγραφές υψηλού επιπέδου γενικά καταγράφουν δύο κρίσιμες χρονικές ιδιότητες για τα έξυπνα συμβόλαια: **ασφάλεια** και **ζωντάνια**. Οι ιδιότητες ασφάλειας αντιπροσωπεύουν την ιδέα ότι «τίποτα κακό δε συμβαίνει ποτέ» και συνήθως εκφράζουν αμετάβλητες καταστάσεις. Μια ιδιότητα ασφάλειας μπορεί να ορίζει γενικές απαιτήσεις λογισμικού, όπως την αποφυγή [αδιεξόδου](https://www.techtarget.com/whatis/definition/deadlock) ή να εκφράζει συγκεκριμένες ιδιότητες για συμβόλαια (π.χ. αμετάβλητα στοιχεία για τον έλεγχο πρόσβασης σε συναρτήσεις, επιτρεπτές τιμές μεταβλητών κατάστασης ή συνθήκες για μεταφορές κρυπτοπαραστατικών). + +Πάρτε για παράδειγμα αυτή την απαίτηση ασφάλειας που καλύπτει τις συνθήκες για τη χρήση των `transfer()` ή `transferFrom()` σε συμβάσεις κρυπτοπαραστατικών ERC-20: _«Το υπόλοιπο ενός αποστολέα δεν είναι ποτέ χαμηλότερο από το ζητούμενο ποσό κρυπτοπαραστατικών που πρόκειται να σταλεί»_. Αυτή η περιγραφή φυσικής γλώσσας ενός αμετάβλητου στοιχείου συμβολαίου μπορεί να μεταφραστεί σε μια επίσημη (μαθηματική) προδιαγραφή, η εγκυρότητα της οποίας μπορεί στη συνέχεια να ελεγχθεί αυστηρά. + +Οι ιδιότητες ζωντάνιας διαβεβαιώνουν ότι «συμβαίνει κάτι που τελικά είναι καλό» και αφορούν την ικανότητα ενός συμβολαίου να σημειώνει πρόοδο μέσα από διαφορετικές καταστάσεις. Ένα παράδειγμα μιας ιδιότητας ζωντάνιας είναι η «ρευστότητα», που αναφέρεται στην ικανότητα ενός συμβολαίου να μεταφέρει τα υπόλοιπά του στους χρήστες κατόπιν αιτήματος. Εάν αυτή η ιδιότητα παραβιαστεί, οι χρήστες δε θα μπορούν να αποσύρουν περιουσιακά στοιχεία που αποθηκεύονται στο συμβόλαιο, όπως συνέβη με το [περιστατικό του πορτοφολιού Parity](https://www.cnbc.com/2017/11/08/accidental-bug-may-have-frozen-280-worth-of-ether-on-parity-wallet.html). + +### Προδιαγραφές χαμηλού επιπέδου {#low-level-specifications} + +Οι προδιαγραφές υψηλού επιπέδου λαμβάνουν ως σημείο εκκίνησης ένα μοντέλο πεπερασμένης κατάστασης ενός συμβολαίου και ορίζουν τις επιθυμητές ιδιότητες αυτού του μοντέλου. Αντίθετα, οι προδιαγραφές χαμηλού επιπέδου (που ονομάζονται επίσης «προδιαγραφές προσανατολισμένες στις ιδιότητες») συχνά μοντελοποιούν προγράμματα (έξυπνα συμβόλαια) ως συστήματα που αποτελούνται από μια συλλογή μαθηματικών συναρτήσεων και περιγράφουν τη σωστή συμπεριφορά τέτοιων συστημάτων. + +Με απλούστερους όρους, οι προδιαγραφές χαμηλού επιπέδου αναλύουν _ίχνη προγράμματος_ και προσπαθούν να ορίσουν ιδιότητες ενός έξυπνου συμβολαίου πάνω σε αυτά τα ίχνη. Τα ίχνη αναφέρονται σε ακολουθίες εκτελέσεων συναρτήσεων που αλλάζουν την κατάσταση ενός έξυπνου συμβολαίου. Συνεπώς, οι προδιαγραφές χαμηλού επιπέδου βοηθούν στον καθορισμό απαιτήσεων για την εσωτερική εκτέλεση ενός συμβολαίου. + +Οι επίσημες προδιαγραφές χαμηλού επιπέδου μπορούν να δοθούν είτε ως ιδιότητες τύπου Hoare είτε ως αμετάβλητα στοιχεία σε διαδρομές εκτέλεσης. + +### Ιδιότητες τύπου Hoare {#hoare-style-properties} + +Η [λογική Hoare](https://en.wikipedia.org/wiki/Hoare_logic) παρέχει ένα σύνολο τυπικών κανόνων για τον συλλογισμό σχετικά με τη σωστή λειτουργία των προγραμμάτων, συμπεριλαμβανομένων των έξυπνων συμβολαίων. Μια ιδιότητα τύπου Hoare αντιπροσωπεύεται από ένα τριπλό Hoare {_P_}_c_{_Q_}, όπου το _c_ είναι ένα πρόγραμμα και τα _P_ και _Q_ είναι προτάσεις για την κατάσταση του _c_ (δηλαδή, του προγράμματος), που περιγράφονται επίσημα ως _προϋποθέσεις_ και _μετα-συνθήκες_, αντίστοιχα. + +Μια προϋπόθεση είναι μια πρόταση που περιγράφει τις συνθήκες που απαιτούνται για τη σωστή εκτέλεση μιας συνάρτησης. Οι χρήστες που καλούν το συμβόλαιο πρέπει να ικανοποιούν αυτήν την απαίτηση. Μια μετα-συνθήκη είναι μια πρόταση που περιγράφει την κατάσταση που καθορίζει μια συνάρτηση εάν εκτελεστεί σωστά. Οι χρήστες μπορούν να αναμένουν ότι αυτή η συνθήκη θα είναι αληθής μετά την κλήση της συνάρτησης. Ένα _αμετάβλητο στοιχείο_ στη λογική Hoare είναι μια πρόταση που διατηρείται με εκτέλεση συνάρτησης (δηλαδή, δεν αλλάζει). + +Οι προδιαγραφές τύπου Hoare μπορούν να εγγυηθούν είτε _μερική ορθότητα_ είτε _ολική ορθότητα_. Η υλοποίηση μιας συνάρτησης συμβολαίου είναι «μερικώς σωστή» εάν η προϋπόθεση ισχύει πριν εκτελεστεί η συνάρτηση και εάν η εκτέλεση τερματιστεί, η μετα-συνθήκη είναι επίσης αληθής. Η απόδειξη της ολικής ορθότητας αποκτάται εάν μια προϋπόθεση είναι αληθής πριν εκτελεστεί η συνάρτηση, η εκτέλεση εγγυημένα τερματίζεται και, όταν το κάνει, η μετα-συνθήκη ισχύει. + +Η απόκτηση απόδειξης ολικής ορθότητας είναι δύσκολη καθώς ορισμένες εκτελέσεις ενδέχεται να καθυστερήσουν πριν τερματίσουν ή δεν διακόπτονται ποτέ. Ωστόσο, το ερώτημα εάν η εκτέλεση διακόπτεται είναι πιθανώς άκυρο, καθώς ο μηχανισμός κρατήσεων gas του Ethereum εμποδίζει τους άπειρους βρόχους προγράμματος (η εκτέλεση τερματίζει είτε με επιτυχία είτε τελειώνει λόγω σφάλματος «out-of-gas»). + +Οι προδιαγραφές έξυπνων συμβολαίων που δημιουργούνται χρησιμοποιώντας τη λογική Hoare θα έχουν προϋποθέσεις, μετα-συνθήκες και αμετάβλητα στοιχεία που ορίζονται για την εκτέλεση συναρτήσεων και βρόχων σε ένα συμβόλαιο. Οι προϋποθέσεις συχνά περιλαμβάνουν τη δυνατότητα σφαλμάτων εισόδου σε μια συνάρτηση, με μετα-συνθήκες που περιγράφουν την αναμενόμενη απόκριση σε τέτοιες εισόδους (π.χ., εμφάνιση μιας συγκεκριμένης εξαίρεσης). Με αυτόν τον τρόπο, οι ιδιότητες τύπου Hoare είναι αποτελεσματικές για τη διασφάλιση της ορθότητας των υλοποιήσεων συμβολαίων. + +Πολλά πλαίσια επίσημης επαλήθευσης χρησιμοποιούν προδιαγραφές τύπου Hoare για την απόδειξη της σημασιολογικής ορθότητας των συναρτήσεων. Είναι επίσης δυνατή η προσθήκη ιδιοτήτων τύπου Hoare (ως ισχυρισμοί) απευθείας στον κώδικα συμβολαίου χρησιμοποιώντας τις συναρτήσεις `require` και `assert` στη Solidity. + +Οι συναρτήσεις `require` εκφράζουν μια προϋπόθεση ή ένα αμετάβλητο στοιχείο και χρησιμοποιούνται συχνά για την επικύρωση στοιχείων εισόδου του χρήστη, ενώ το `assert` καταγράφει μια μετα-συνθήκη απαραίτητη για την ασφάλεια. Για παράδειγμα, ο σωστός έλεγχος πρόσβασης για συναρτήσεις (ένα παράδειγμα ιδιότητας ασφαλείας) μπορεί να επιτευχθεί χρησιμοποιώντας το `require` ως έλεγχο προϋπόθεσης για την ταυτότητα του λογαριασμού κλήσης. Παρομοίως, ένα αμετάβλητο στοιχείο στις επιτρεπόμενες τιμές των μεταβλητών κατάστασης ενός συμβολαίου (π.χ. συνολικός αριθμός κρυπτοπαραστατικών σε κυκλοφορία) μπορεί να προστατευθεί από παραβίαση χρησιμοποιώντας το `assert` για να επιβεβαιώσει την κατάσταση του συμβολαίου μετά την εκτέλεση της συνάρτησης. + +### Προδιαγραφές επιπέδου ιχνών {#trace-level-properties} + +Οι προδιαγραφές που βασίζονται στα ίχνη περιγράφουν λειτουργίες για τη μετάβαση ενός συμβολαίου μεταξύ διαφορετικών καταστάσεων και τις σχέσεις μεταξύ αυτών των λειτουργιών. Όπως εξηγήθηκε προηγουμένως, τα ίχνη είναι ακολουθίες λειτουργιών που αλλάζουν την κατάσταση ενός συμβολαίου με συγκεκριμένο τρόπο. + +Αυτή η προσέγγιση βασίζεται σε ένα μοντέλο έξυπνων συμβολαίων ως συστήματα μετάβασης κατάστασης με ορισμένες προκαθορισμένες καταστάσεις (περιγράφονται από μεταβλητές κατάστασης), μαζί με ένα σύνολο προκαθορισμένων μεταβάσεων (περιγράφονται από συναρτήσεις σύμβασης). Επιπλέον, ένα [γράφημα ελέγχου ροής](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/) (CFG), το οποίο είναι μια γραφική αναπαράσταση της ροής εκτέλεσης ενός προγράμματος, χρησιμοποιείται συχνά για την περιγραφή της λειτουργικής σημασιολογίας ενός συμβολαίου. Εδώ, κάθε ίχνος αντιπροσωπεύεται ως μια διαδρομή στο γράφημα ελέγχου ροής. + +Ως επί το πλείστον, οι προδιαγραφές επιπέδου ιχνών χρησιμοποιούνται για να εξάγουν συμπεράσματα για τα μοτίβα εσωτερικής εκτέλεσης στα έξυπνα συμβόλαια. Δημιουργώντας προδιαγραφές επιπέδου ιχνών, ισχυριζόμαστε τις επιτρεπόμενες διαδρομές εκτέλεσης (δηλαδή, μεταβάσεις κατάστασης) σε ένα έξυπνο συμβόλαιο. Χρησιμοποιώντας τεχνικές, όπως η συμβολική εκτέλεση, μπορούμε να επαληθεύσουμε επίσημα ότι η εκτέλεση δεν ακολουθεί ποτέ μια διαδρομή που δεν έχει οριστεί στο τυπικό μοντέλο. + +Ας χρησιμοποιήσουμε ένα παράδειγμα ενός συμβολαίου [DAO](/dao/) που έχει ορισμένες δημόσια προσβάσιμες συναρτήσεις για να περιγράψουμε τις ιδιότητες επιπέδου ιχνών. Εδώ, υποθέτουμε ότι η σύμβαση DAO επιτρέπει στους χρήστες να εκτελούν τις ακόλουθες λειτουργίες: + +- Κατάθεση κεφαλαίων + +- Ψήφιση πρότασης, μετά την κατάθεση κεφαλαίων + +- Λήψη επιστροφής χρημάτων εάν δεν ψηφίσουν μια πρόταση + +Παραδείγματα ιδιοτήτων σε επίπεδο ιχνών θα μπορούσαν να είναι _«οι χρήστες που δεν καταθέτουν κεφάλαια δεν μπορούν να ψηφίσουν μια πρόταση»_ ή _«οι χρήστες που δεν ψηφίζουν μια πρόταση θα πρέπει πάντα να μπορούν να λάβουν επιστροφή χρημάτων»_. Και οι δύο ιδιότητες επιβεβαιώνουν προτιμώμενες ακολουθίες εκτέλεσης (η ψηφοφορία δεν μπορεί να συμβεί _πριν_ από την κατάθεση κεφαλαίων και η απαίτηση επιστροφής χρημάτων δεν μπορεί να _συμβεί_ μετά την ψηφοφορία σε μια πρόταση). + +## Τεχνικές για την τυπική επαλήθευση έξυπνων συμβολαίων {#formal-verification-techniques} + +### Έλεγχος μοντέλου {#model-checking} + +Ο έλεγχος μοντέλου είναι μια τεχνική τυπικής επαλήθευσης στην οποία ένας αλγόριθμος ελέγχει ένα επίσημο μοντέλο ενός έξυπνου συμβολαίου, έναντι της προδιαγραφής του. Στον έλεγχο μοντέλου τα έξυπνα συμβόλαια αναπαριστώνται συχνά ως συστήματα μεταβάσεων κατάστασης, ενώ οι ιδιότητες σχετικά με επιτρεπτές καταστάσεις συμβολαίων ορίζονται χρησιμοποιώντας χρονική λογική. + +Ο έλεγχος μοντέλου απαιτεί τη δημιουργία μιας αφηρημένης μαθηματικής αναπαράστασης ενός συστήματος (δηλαδή, ενός συμβολαίου) και την έκφραση ιδιοτήτων αυτού του συστήματος χρησιμοποιώντας τύπους που προέρχονται από την [προτασιακή λογική](https://www.baeldung.com/cs/propositional-logic). Αυτό απλοποιεί την εργασία του αλγορίθμου ελέγχου μοντέλου, δηλαδή να αποδείξει ότι ένα μαθηματικό μοντέλο ικανοποιεί έναν δεδομένο λογικό τύπο. + +Ο έλεγχος μοντέλου στην τυπική επαλήθευση χρησιμοποιείται κυρίως για την αξιολόγηση χρονικών ιδιοτήτων που περιγράφουν τη συμπεριφορά ενός συμβολαίου με την πάροδο του χρόνου. Οι χρονικές ιδιότητες για έξυπνα συμβόλαια περιλαμβάνουν την _ασφάλεια_ και τη _ζωντάνια_, τις οποίες εξηγήσαμε προηγουμένως. + +Για παράδειγμα, μια ιδιότητα ασφάλειας που σχετίζεται με τον έλεγχο πρόσβασης (π.χ., _μόνο ο ιδιοκτήτης του συμβολαίου μπορεί να καλέσει `selfdestruct`_) μπορεί να γραφτεί σε τυπική λογική. Στη συνέχεια, ο αλγόριθμος ελέγχου μοντέλου μπορεί να επαληθεύσει εάν το συμβόλαιο ικανοποιεί αυτή την τυπική προδιαγραφή. + +Ο έλεγχος μοντέλου χρησιμοποιεί εξερεύνηση χώρου καταστάσεων, η οποία περιλαμβάνει τη δημιουργία όλων των πιθανών καταστάσεων ενός έξυπνου συμβολαίου και την προσπάθεια εύρεσης προσβάσιμων καταστάσεων που οδηγούν σε παραβιάσεις ιδιοτήτων. Ωστόσο, αυτό μπορεί να οδηγήσει σε έναν άπειρο αριθμό καταστάσεων (γνωστό ως «πρόβλημα έκρηξης κατάστασης»), επομένως οι ελεγκτές μοντέλων βασίζονται σε τεχνικές αφαίρεσης για να πραγματοποιήσουν την αποτελεσματική ανάλυση των έξυπνων συμβολαίων. + +### Απόδειξη θεωρημάτων {#theorem-proving} + +Η απόδειξη θεωρημάτων είναι μια μέθοδος μαθηματικού συλλογισμού σχετικά με την ορθότητα των προγραμμάτων, συμπεριλαμβανομένων των έξυπνων συμβολαίων. Αυτό περιλαμβάνει τη μετατροπή του μοντέλου του συστήματος ενός συμβολαίου και των προδιαγραφών του σε μαθηματικούς τύπους (λογικές δηλώσεις). + +Ο στόχος της απόδειξης θεωρημάτων είναι να επαληθεύσει τη λογική ισοδυναμία μεταξύ αυτών των δηλώσεων. Η «λογική ισοδυναμία» (που ονομάζεται επίσης «λογική διπλή υποδοχή») είναι ένας τύπος σχέσης μεταξύ δύο δηλώσεων, έτσι ώστε η πρώτη δήλωση είναι αληθής _εάν και μόνο εάν_ η δεύτερη δήλωση είναι αληθής. + +Η απαιτούμενη σχέση (λογική ισοδυναμία) μεταξύ δηλώσεων σχετικά με το μοντέλο ενός συμβολαίου και την ιδιότητά του διατυπώνεται ως μια αποδείξιμη δήλωση (που ονομάζεται θεώρημα). Χρησιμοποιώντας ένα επίσημο σύστημα συλλογισμού, ο αυτόματος μηχανισμός απόδειξης θεωρημάτων μπορεί να επαληθεύσει το θεώρημα. Με άλλα λόγια, αυτός που αποδεικνύει ένα θεώρημα μπορεί να αποδείξει οριστικά ότι το μοντέλο ενός έξυπνου συμβολαίου ταιριάζει ακριβώς με τις προδιαγραφές του. + +Ενώ ο έλεγχος μοντέλων μοντελοποιεί τα συμβόλαια ως συστήματα μετάβασης με πεπερασμένες καταστάσεις, η απόδειξη θεωρημάτων μπορεί να χειριστεί την ανάλυση συστημάτων άπειρης κατάστασης. Ωστόσο, αυτό σημαίνει ότι ένας αυτόματος τρόπος απόδειξης θεωρημάτων δεν μπορεί πάντα να γνωρίζει εάν ένα λογικό πρόβλημα μπορεί να «λάβει απόφαση» ή όχι. + +Συνεπώς, απαιτείται συχνά ανθρώπινη βοήθεια για να καθοδηγήσει αυτόν που θα αποδείξει το θεώρημα στην απόδειξη της ορθότητας. Η χρήση ανθρώπινης προσπάθειας στην απόδειξη θεωρημάτων καθιστά πιο δαπανηρή τη χρήση της από τον έλεγχο μοντέλου, ο οποίος είναι πλήρως αυτοματοποιημένος. + +### Συμβολική εκτέλεση {#symbolic-execution} + +Η συμβολική εκτέλεση είναι μια μέθοδος ανάλυσης ενός έξυπνου συμβολαίου με την εκτέλεση συναρτήσεων χρησιμοποιώντας _συμβολικές τιμές_ (π.χ., `x > 5`) αντί για _συγκεκριμένες τιμές_ (π.χ., `x == 5`). Ως τεχνική τυπικής επαλήθευσης, η συμβολική εκτέλεση χρησιμοποιείται για να εξαγάγει επίσημα συμπεράσματα σχετικά με ιδιότητες επιπέδου ιχνών, στον κώδικα ενός συμβολαίου. + +Η συμβολική εκτέλεση αντιπροσωπεύει ένα ίχνος εκτέλεσης ως μαθηματικό τύπο πάνω σε συμβολικές τιμές εισόδου και ονομάζεται _κατηγόρημα διαδρομής_. Ένας [λύτης SMT](https://en.wikipedia.org/wiki/Satisfiability_modulo_theories) χρησιμοποιείται για να ελέγξει εάν ένα κατηγόρημα διαδρομής είναι «ικανοποιήσιμο» (δηλαδή, υπάρχει μια τιμή που μπορεί να ικανοποιήσει τον τύπο). Εάν μια ευάλωτη διαδρομή είναι ικανοποιήσιμη, ο λύτης SMT θα δημιουργήσει μια συγκεκριμένη τιμή που ενεργοποιεί την εκτέλεση προς αυτήν τη διαδρομή. + +Ας υποθέσουμε ότι μια συνάρτηση ενός έξυπνου συμβολαίου λαμβάνει ως στοιχείο εισόδου μια τιμή `uint` (`x`) και αναστρέφεται όταν το `x` είναι μεγαλύτερο από `5` και επίσης μικρότερο από `10`. Η εύρεση μιας τιμής για το `x` που προκαλεί το σφάλμα χρησιμοποιώντας μια κανονική διαδικασία δοκιμής, θα απαιτούσε την εκτέλεση δεκάδων περιπτώσεων δοκιμής (ή περισσότερων) χωρίς την εγγύηση ότι θα βρεθεί πραγματικά ένα στοιχείο εισόδου που προκαλεί σφάλμα. + +Αντίθετα, ένα εργαλείο συμβολικής εκτέλεσης θα εκτελέσει τη συνάρτηση με τη συμβολική τιμή: `X > 5 ∧ X < 10` (δηλαδή, το `x` είναι μεγαλύτερο από 5 ΚΑΙ το `x` είναι μικρότερο από 10). Η συσχετισμένη προϋπόθεση διαδρομής `x = X > 5 ∧ X < 10` θα δοθεί στη συνέχεια σε έναν λύτη SMT για επίλυση. Εάν μια συγκεκριμένη τιμή ικανοποιεί τον τύπο `x = X > 5 ∧ X < 10`, ο λύτης SMT θα την υπολογίσει, για παράδειγμα, ο λύτης μπορεί να παράγει το `7` ως μια τιμή για το `x`. + +Επειδή η συμβολική εκτέλεση βασίζεται σε εισόδους σε ένα πρόγραμμα και το σύνολο των στοιχείων εισόδου για την εξερεύνηση όλων των προσβάσιμων καταστάσεων είναι δυνητικά άπειρο αλλά είναι ακόμα μια μορφή δοκιμής. Ωστόσο, όπως φαίνεται στο παράδειγμα, η συμβολική εκτέλεση είναι πιο αποτελεσματική από την κανονική δοκιμή για την εύρεση στοιχείων εισόδου που προκαλούν παραβιάσεις ιδιοτήτων. + +Επιπλέον, η συμβολική εκτέλεση παράγει λιγότερα ψευδώς θετικά από άλλες τεχνικές βασισμένες σε ιδιότητες (π.χ., fuzzing) που δημιουργούν τυχαία στοιχεία εισόδου σε μια συνάρτηση. Εάν μια κατάσταση σφάλματος προκληθεί κατά τη διάρκεια της συμβολικής εκτέλεσης, τότε είναι δυνατό να δημιουργηθεί μια συγκεκριμένη τιμή που προκαλεί το σφάλμα και να αναπαραχθεί το ζήτημα. + +Η συμβολική εκτέλεση μπορεί επίσης να παρέχει κάποιο βαθμό μαθηματικής απόδειξης ορθότητας. Εξετάστε το ακόλουθο παράδειγμα μιας συνάρτησης συμβολαίου με προστασία από υπέρβαση: + +``` +function safe_add(uint x, uint y) returns(uint z){ + + z = x + y; + require(z>=x); + require(z>=y); + + return z; +``` + +Μια ιχνηλασία εκτέλεσης που οδηγεί σε υπέρβαση του ακέραιου, θα πρέπει να ικανοποιεί τον τύπο: `z = x + y ΚΑΙ (z >= x) ΚΑΙ (z >= y) ΚΑΙ (z < x Ή z < y)`. Ένας τέτοιος τύπος είναι απίθανο να λυθεί, επομένως χρησιμεύει ως μαθηματική απόδειξη ότι στη συνάρτηση `safe_add` δε γίνεται ποτέ υπέρβαση. + +### Γιατί να χρησιμοποιήσουμε τυπική επαλήθευση στα έξυπνα συμβόλαια; {#benefits-of-formal-verification} + +#### Η ανάγκη για αξιοπιστία {#need-for-reliability} + +Η τυπική επαλήθευση χρησιμοποιείται για να αξιολογήσει τη σωστή λειτουργία κρίσιμων συστημάτων, των οποίων η αποτυχία μπορεί να έχει καταστροφικές συνέπειες, όπως θάνατο, τραυματισμό ή οικονομική καταστροφή. Τα έξυπνα συμβόλαια είναι εφαρμογές υψηλής αξίας που ελέγχουν τεράστιες ποσότητες αξίας και απλά λάθη στον σχεδιασμό μπορούν να οδηγήσουν σε [μη αναστρέψιμες απώλειες για τους χρήστες](https://www.freecodecamp.org/news/a-hacker-stole-31m-of-ether-how-it-happened-and-what-it-means-for-ethereum-9e5dc29e33ce/amp/). Η τυπική επαλήθευση ενός συμβολαίου πριν τη δημοσίευση, ωστόσο, μπορεί να αυξήσει τις εγγυήσεις ότι θα λειτουργήσει όπως αναμένεται όταν εκτελείται στην αλυσίδα συστοιχιών. + +Η αξιοπιστία είναι μια ιδιαίτερα επιθυμητή ποιότητα σε οποιοδήποτε έξυπνο συμβόλαιο, ειδικά επειδή ο κώδικας που αναπτύσσεται στο εικονικό μηχάνημα του Ethereum (EVM) είναι συνήθως αμετάβλητος. Με τις αναβαθμίσεις μετά την κυκλοφορία να μην είναι εύκολα προσβάσιμες, η ανάγκη εγγύησης της αξιοπιστίας των συμβολαίων καθιστά απαραίτητη την τυπική επαλήθευση. Η τυπική επαλήθευση είναι σε θέση να εντοπίσει δύσκολα προβλήματα, όπως υποχείλιση και υπερχείλιση ακεραίων, επανεισδοχή και κακές βελτιστοποιήσεις gas, οι οποίες μπορεί να ξεφύγουν από ελεγκτές και δοκιμαστές. + +#### Απόδειξη λειτουργικής ορθότητας {#prove-functional-correctness} + +Η δοκιμή προγράμματος είναι η πιο κοινή μέθοδος απόδειξης ότι ένα έξυπνο συμβόλαιο ικανοποιεί κάποιες απαιτήσεις. Αυτό περιλαμβάνει την εκτέλεση ενός συμβολαίου με ένα δείγμα των δεδομένων που αναμένεται να χειριστεί και την ανάλυση της συμπεριφοράς του. Εάν το συμβόλαιο επιστρέφει τα αναμενόμενα αποτελέσματα για τα δεδομένα του δείγματος, τότε οι προγραμματιστές έχουν αντικειμενική απόδειξη της ορθότητάς του. + +Ωστόσο, αυτή η προσέγγιση δεν μπορεί να αποδείξει τη σωστή εκτέλεση για τις τιμές εισόδου που δεν αποτελούν μέρος του δείγματος. Επομένως, η δοκιμή ενός συμβολαίου μπορεί να βοηθήσει στην ανίχνευση σφαλμάτων (δηλαδή εάν ορισμένες διαδρομές κώδικα αποτυγχάνουν να επιστρέψουν τα επιθυμητά αποτελέσματα κατά την εκτέλεση), αλλά **δεν μπορεί να αποδείξει οριστικά την απουσία σφαλμάτων**. + +Αντίθετα, η τυπική επαλήθευση μπορεί να αποδείξει επίσημα ότι ένα έξυπνο συμβόλαιο ικανοποιεί τις απαιτήσεις για ένα άπειρο εύρος εκτελέσεων, _χωρίς_ να εκτελέσει καθόλου το συμβόλαιο. Αυτό απαιτεί τη δημιουργία μιας τυπικής προδιαγραφής που περιγράφει με ακρίβεια τις σωστές συμπεριφορές του συμβολαίου και την ανάπτυξη ενός επίσημου (μαθηματικού) μοντέλου του συστήματος του συμβολαίου. Στη συνέχεια, μπορούμε να ακολουθήσουμε μια τυπική διαδικασία απόδειξης για να ελέγξουμε τη συνοχή μεταξύ του μοντέλου του συμβολαίου και της προδιαγραφής του. + +Με την τυπική επαλήθευση, το ερώτημα της επαλήθευσης εάν η επιχειρηματική λογική ενός συμβολαίου ικανοποιεί τις απαιτήσεις, είναι μια μαθηματική πρόταση που μπορεί να αποδειχθεί ή να απορριφθεί. Αποδεικνύοντας επίσημα μια πρόταση, μπορούμε να επαληθεύσουμε έναν άπειρο αριθμό περιπτώσεων δοκιμής με ένα συγκεκριμένο αριθμό βημάτων. Με αυτόν τον τρόπο, η τυπική επαλήθευση έχει καλύτερες προοπτικές απόδειξης ότι ένα συμβόλαιο είναι λειτουργικά σωστό σε σχέση με μια προδιαγραφή. + +#### Ιδανικοί στόχοι επαλήθευσης {#ideal-verification-targets} + +Ένας στόχος επαλήθευσης περιγράφει το σύστημα που θα επαληθευτεί τυπικά. Η τυπική επαλήθευση χρησιμοποιείται καλύτερα σε «ενσωματωμένα συστήματα» (μικρά, απλά κομμάτια λογισμικού που αποτελούν μέρος ενός μεγαλύτερου συστήματος). Είναι επίσης ιδανικά για εξειδικευμένους τομείς που έχουν λίγους κανόνες, καθώς αυτό διευκολύνει την τροποποίηση εργαλείων για την επαλήθευση ιδιοτήτων συγκεκριμένου τομέα. + +Τα έξυπνα συμβόλαια, τουλάχιστον σε κάποιο βαθμό, πληρούν και τις δύο απαιτήσεις. Για παράδειγμα, το μικρό μέγεθος των συμβολαίων στο Ethereum τα καθιστά κατάλληλα για τυπική επαλήθευση. Ομοίως, το EVM ακολουθεί απλούς κανόνες, γεγονός που διευκολύνει τη συγγραφή προδιαγραφών και την επαλήθευση σημασιολογικών ιδιοτήτων για προγράμματα που εκτελούνται στο EVM. + +### Ταχύτερος κύκλος ανάπτυξης {#faster-development-cycle} + +Οι τεχνικές τυπικής επαλήθευσης, όπως η επαλήθευση μοντέλου και η συμβολική εκτέλεση, είναι γενικά πιο αποτελεσματικές από την κανονική ανάλυση κώδικα έξυπνου συμβολαίου (που εκτελείται κατά τη διάρκεια δοκιμών ή ελέγχου). Αυτό συμβαίνει επειδή η τυπική επαλήθευση βασίζεται σε συμβολικές τιμές για να ελέγξει ισχυρισμούς («τι γίνεται αν ένας χρήστης προσπαθήσει να αποσύρει _n_ ether;») σε αντίθεση με τις δοκιμές που χρησιμοποιούν συγκεκριμένες τιμές («τι γίνεται αν ένας χρήστης προσπαθήσει να αποσύρει 5 ether;»). + +Οι συμβολικές μεταβλητές εισόδου μπορούν να καλύψουν πολλές κατηγορίες συγκεκριμένων τιμών, επομένως οι προσεγγίσεις τυπικής επαλήθευσης υπόσχονται μεγαλύτερη κάλυψη κώδικα σε μικρότερο χρονικό διάστημα. Όταν χρησιμοποιείται αποτελεσματικά, η τυπική επαλήθευση μπορεί να επιταχύνει τον κύκλο ανάπτυξης για τους προγραμματιστές. + +Η τυπική επαλήθευση βελτιώνει επίσης τη διαδικασία δημιουργίας αποκεντρωμένων εφαρμογών (dapp) μειώνοντας τα δαπανηρά σφάλματα σχεδιασμού. Η αναβάθμιση των συμβολαίων (όπου είναι δυνατόν) για τη διόρθωση ευπαθειών, απαιτεί εκτεταμένη επανεγγραφή βάσεων κώδικα και περισσότερη προσπάθεια ανάπτυξης. Η τυπική επαλήθευση μπορεί να εντοπίσει πολλά σφάλματα στις υλοποιήσεις συμβάσεων που μπορεί να ξεφύγουν από τους δοκιμαστές και τους ελεγκτές και παρέχει άφθονη ευκαιρία για τη διόρθωση αυτών των προβλημάτων πριν από την ανάπτυξη ενός συμβολαίου. + +## Μειονεκτήματα της τυπικής επαλήθευσης {#drawbacks-of-formal-verification} + +### Κόστος χειρωνακτικής εργασίας {#cost-of-manual-labor} + +Η τυπική επαλήθευση, ειδικά η ημιαυτόματη επαλήθευση όπου ένας άνθρωπος καθοδηγεί τον επαληθευτή για να παράγει αποδείξεις ορθότητας, απαιτεί σημαντική χειρωνακτική εργασία. Επιπλέον, η δημιουργία τυπικής προδιαγραφής είναι μια σύνθετη δραστηριότητα που απαιτεί υψηλό επίπεδο δεξιοτήτων. + +Αυτοί οι παράγοντες (προσπάθεια και δεξιότητα) καθιστούν την τυπική επαλήθευση πιο απαιτητική και δαπανηρή σε σύγκριση με τις συνήθεις μεθόδους αξιολόγησης της ορθότητας στα συμβόλαια, όπως οι δοκιμές και οι έλεγχοι. Ωστόσο, η πληρωμή του κόστους για έναν πλήρη έλεγχο επαλήθευσης είναι πρακτική, δεδομένου του κόστους των σφαλμάτων στις υλοποιήσεις έξυπνων συμβολαίων. + +### Ψευδώς αρνητικά {#false-negatives} + +Η τυπική επαλήθευση μπορεί να ελέγξει μόνο εάν η εκτέλεση του έξυπνου συμβολαίου ταιριάζει με την τυπική προδιαγραφή. Ως εκ τούτου, είναι σημαντικό να βεβαιωθείτε ότι η προδιαγραφή περιγράφει σωστά τις αναμενόμενες συμπεριφορές ενός έξυπνου συμβολαίου. + +Εάν οι προδιαγραφές είναι κακώς γραμμένες, οι παραβιάσεις ιδιοτήτων, οι οποίες υποδεικνύουν ευάλωτες εκτελέσεις, δεν μπορούν να εντοπιστούν από τον έλεγχο τυπικής επαλήθευσης. Σε αυτήν την περίπτωση, ένας προγραμματιστής μπορεί να υποθέσει εσφαλμένα ότι το συμβόλαιο είναι χωρίς σφάλματα. + +### Ζητήματα απόδοσης {#performance-issues} + +Η τυπική επαλήθευση αντιμετωπίζει μια σειρά από προβλήματα απόδοσης. Για παράδειγμα, τα προβλήματα αύξησης της κατάστασης και διαδρομής που αντιμετωπίζονται κατά τον έλεγχο μοντέλου και τον συμβολικό έλεγχο, αντίστοιχα, μπορούν να επηρεάσουν τις διαδικασίες επαλήθευσης. Επίσης, τα εργαλεία τυπικής επαλήθευσης χρησιμοποιούν συχνά λύτες SMT και άλλους λύτες περιορισμών στο υποκείμενο επίπεδο τους και αυτοί οι λύτες βασίζονται σε υπολογιστικά εντατικές διαδικασίες. + +Επίσης, δεν είναι πάντα δυνατό για τους επαληθευτές προγραμμάτων να προσδιορίσουν εάν μια ιδιότητα (που περιγράφεται ως λογικός τύπος) μπορεί να ικανοποιηθεί ή όχι (το [πρόβλημα ικανότητας λήψης απόφασης](https://en.wikipedia.org/wiki/Decision_problem)) επειδή ένα πρόγραμμα μπορεί να μην τερματίσει ποτέ. Ως εκ τούτου, μπορεί να είναι αδύνατο να αποδειχθούν ορισμένες ιδιότητες ενός συμβολαίου ακόμα και αν είναι καλά καθορισμένες. + +## Εργαλεία τυπικής επαλήθευσης για έξυπνα συμβόλαια Ethereum {#formal-verification-tools} + +### Γλώσσες προδιαγραφής για τη δημιουργία τυπικών προδιαγραφών {#specification-languages} + +**Act**: _*Το Act επιτρέπει τη συγγραφή ενημερώσεων αποθήκευσης, προϋποθέσεων/μετα-συνθηκών και αμετάβλητων στοιχείων συμβολαίων. Η σουίτα εργαλείων του διαθέτει επίσης στήριξη αποδείξεων που μπορούν να αποδείξουν πολλές ιδιότητες μέσω του Coq, των λυτών SMT ή του hevm.** + +- [GitHub](https://github.com/ethereum/act) +- [Τεκμηρίωση](https://ethereum.github.io/act/) + +**Scribble**: _*Το Scribble μετατρέπει τις σημειώσεις κώδικα στη γλώσσα προδιαγραφής Scribble σε συγκεκριμένους ισχυρισμούς που ελέγχουν την προδιαγραφή.** + +- [Τεκμηρίωση](https://docs.scribble.codes/) + +**Dafny**: _*Το Dafny είναι μια γλώσσα προγραμματισμού έτοιμη για πράξεις επαλήθευσης που βασίζεται σε σημειώσεις υψηλού επιπέδου για να συλλογιστεί και να αποδείξει την ορθότητα του κώδικα** + +- [GitHub](https://github.com/dafny-lang/dafny) + +### Επαληθευτές προγραμμάτων για έλεγχο σωστής λειτουργίας {#program-verifiers} + +**Certora Prover**: _Το Certora Prover είναι ένα αυτόματο εργαλείο τυπικής επαλήθευσης για τον έλεγχο της ορθότητας του κώδικα σε έξυπνα συμβόλαια. Οι προδιαγραφές γράφονται σε CVL (Γλώσσα επαλήθευσης Certora), με εντοπισμό παραβιάσεων των ιδιοτήτων χρησιμοποιώντας ένα συνδυασμό στατικής ανάλυσης και επίλυσης περιορισμών._ + +- [Ιστότοπος](https://www.certora.com/) +- [Τεκμηρίωση](https://docs.certora.com/en/latest/index.html) + +**Solidity SMTChecker**: _*Το Solidity SMTChecker είναι ένας ενσωματωμένος ελεγκτής μοντέλου που βασίζεται στο SMT (Satisfiability Modulo Theories) και την επίλυση Horn. Επιβεβαιώνει εάν ο πηγαίος κώδικας ενός συμβολαίου ταιριάζει με τις προδιαγραφές κατά τη μεταγλώττιση και διενεργεί στατικούς ελέγχους παραβίασης των ιδιοτήτων ασφαλείας.** + +- [GitHub](https://github.com/ethereum/solidity) + +**solc-verify**: _*Το solc-verify είναι μια επεκταμένη έκδοση του μεταγλωττιστή Solidity που μπορεί να εκτελέσει αυτόματη τυπική επαλήθευση σε κώδικα Solidity, χρησιμοποιώντας σημειώσεις και μονάδα επαλήθευσης προγράμματος.** + +- [GitHub](https://github.com/SRI-CSL/solidity) + +**KEVM**: _*Το KEVM είναι μια επίσημη συντομογραφία του εικονικού μηχανήματος του Ethereum (EVM) γραμμένη στη γλώσσα K. Το KEVM είναι εκτελέσιμο και μπορεί να αποδείξει ορισμένες προτάσεις σχετικές με τις ιδιότητες, χρησιμοποιώντας λογική προσβασιμότητας.** + +- [GitHub](https://github.com/runtimeverification/evm-semantics) +- [Τεκμηρίωση](https://jellopaper.org/) + +### Λογικά πλαίσια για απόδειξη θεωρημάτων {#theorem-provers} + +**Isabelle**: _Το Isabelle/HOL είναι ένας βοηθός απόδειξης που επιτρέπει την εκτέλεση μαθηματικών τύπων σε μια τυπική γλώσσα και παρέχει εργαλεία για την απόδειξη αυτών των τύπων. Η κύρια εφαρμογή είναι η τυποποίηση μαθηματικών αποδείξεων και ειδικότερα η τυπική επαλήθευση, η οποία περιλαμβάνει την απόδειξη της ορθότητας του υλισμικού ή λογισμικού του υπολογιστή και την απόδειξη ιδιοτήτων γλωσσών και πρωτοκόλλων του υπολογιστή._ + +- [GitHub](https://github.com/isabelle-prover) +- [Τεκμηρίωση](https://isabelle.in.tum.de/documentation.html) + +**Coq**: _Το Coq είναι ένας διαδραστικός τρόπος απόδειξης θεωρημάτων, που σας επιτρέπει να ορίζετε προγράμματα χρησιμοποιώντας θεωρήματα και να δημιουργείτε διαδραστικά μηχανικά ελεγχόμενες αποδείξεις ορθότητας._ + +- [GitHub](https://github.com/coq/coq) +- [Τεκμηρίωση](https://coq.github.io/doc/v8.13/refman/index.html) + +### Εργαλεία βασισμένα σε συμβολική εκτέλεση για ανίχνευση ευάλωτων προτύπων σε έξυπνα συμβόλαια {#symbolic-execution-tools} + +**Manticore**: _*Ένα εργαλείο για ανάλυση κώδικα bytecode EVM που βασίζεται σε συμβολική εκτέλεση*.* + +- [GitHub](https://github.com/trailofbits/manticore) +- [Τεκμηρίωση](https://github.com/trailofbits/manticore/wiki) + +**hevm**: _*Το hevm είναι μια μηχανή συμβολικής εκτέλεσης και ελεγκτής ισοδυναμίας για κώδικα bytecode EVM.** + +- [GitHub](https://github.com/dapphub/dapptools/tree/master/src/hevm) + +**Mythril**: _Ένα εργαλείο συμβολικής εκτέλεσης για ανίχνευση ευπαθειών σε έξυπνα συμβόλαια Ethereum._ + +- [GitHub](https://github.com/ConsenSys/mythril-classic) +- [Έγγραφα](https://mythril-classic.readthedocs.io/en/develop/) + +## Περισσότερες πληροφορίες {#further-reading} + +- [Πώς λειτουργεί η τυπική επαλήθευση έξυπνων συμβολαίων](https://runtimeverification.com/blog/how-formal-verification-of-smart-contracts-works/) +- [Πώς η τυπική επαλήθευση μπορεί να εξασφαλίσει άψογα έξυπνα συμβόλαια](https://media.consensys.net/how-formal-verification-can-ensure-flawless-smart-contracts-cbda8ad99bd1) +- [Μια επισκόπηση έργων τυπικής επαλήθευσης στο οικοσύστημα Ethereum](https://github.com/leonardoalt/ethereum_formal_verification_overview) +- [Τυπική επαλήθευση από άκρο σε άκρο του έξυπνου συμβολαίου κατάθεσης στο Ethereum 2.0](https://runtimeverification.com/blog/end-to-end-formal-verification-of-ethereum-2-0-deposit-smart-contract/) +- [Τυπική επαλήθευση του πιο δημοφιλούς έξυπνου συμβολαίου στον κόσμο](https://www.zellic.io/blog/formal-verification-weth) +- [SMTChecker και τυπική επαλήθευση](https://docs.soliditylang.org/en/v0.8.15/smtchecker.html) diff --git a/public/content/translations/el/developers/docs/smart-contracts/testing/index.md b/public/content/translations/el/developers/docs/smart-contracts/testing/index.md new file mode 100644 index 00000000000..84944ec7782 --- /dev/null +++ b/public/content/translations/el/developers/docs/smart-contracts/testing/index.md @@ -0,0 +1,308 @@ +--- +title: Δοκιμές Smart Contract +description: Επισκόπηση τεχνικών και παραμέτρων για τη δοκιμή έξυπνων συμβολαίων Ethereum. +lang: el +--- + +Οι δημόσιες κρυπτοαλυσίδες, όπως το Ethereum, είναι αμετάβλητες, γεγονός που καθιστά δύσκολη την αλλαγή του κώδικα ενός έξυπνου συμβολαίου μετά την ανάπτυξη. [Πρότυπα αναβάθμισης συμβολαίων](/developers/docs/smart-contracts/upgrading/) για την εκτέλεση «εικονικών αναβαθμίσεων» υπάρχουν, αλλά εφαρμόζονται δύσκολα και απαιτούν κοινωνική συναίνεση. Επιπλέον, μια αναβάθμιση μπορεί να διορθώσει ένα σφάλμα μόνο _αφού_ εντοπιστεί — εάν ένας επιτιθέμενος ανακαλύψει πρώτος την ευπάθεια, το έξυπνο συμβόλαιό σας διατρέχει κίνδυνο εκμετάλλευσης. + +Για τους λόγους αυτούς, η δοκιμή έξυπνων συμβολαίων πριν από την [ανάπτυξη](/developers/docs/smart-contracts/deploying/) στο κεντρικό δίκτυο είναι μια ελάχιστη απαίτηση για λόγους [ασφάλειας](/developers/docs/smart-contracts/security/). Υπάρχουν πολλές τεχνικές για τη δοκιμή συμβάσεων και την αξιολόγηση της ορθότητας του κώδικα. Ωστόσο, μια σουίτα δοκιμών που αποτελείται από διαφορετικά εργαλεία και προσεγγίσεις είναι ιδανική για τον εντοπισμό τόσο μικρών όσο και μεγάλων ατελειών του κώδικα συμβολαίου σε θέματα ασφάλειας. + +## Προαπαιτούμενα {#prerequisites} + +Αυτή η σελίδα εξηγεί πώς να δοκιμάσετε τα έξυπνα συμβόλαια πριν από την ανάπτυξη στο δίκτυο Ethereum. Θεωρεί ότι είστε εξοικειωμένοι με τα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/). + +## Τι είναι η δοκιμή έξυπνου συμβολαίου; {#what-is-smart-contract-testing} + +Η δοκιμή έξυπνου συμβολαίου είναι η διαδικασία επαλήθευσης ότι ο κώδικας ενός έξυπνου συμβολαίου λειτουργεί κατά τα αναμενόμενα. Η δοκιμή είναι χρήσιμη για τον έλεγχο εάν ένα συγκεκριμένο έξυπνο συμβόλαιο πληροί τις απαιτήσεις αξιοπιστίας, χρηστικότητας και ασφάλειας. + +Αν και οι προσεγγίσεις ποικίλλουν, οι περισσότερες μέθοδοι δοκιμής απαιτούν την εκτέλεση έξυπνου συμβολαίου με ένα μικρό δείγμα των δεδομένων που αναμένεται να χειρίζεται. Εάν το συμβόλαιο παράγει σωστά αποτελέσματα για τα δειγματοληπτικά δεδομένα, υποτίθεται ότι λειτουργεί σωστά. Τα περισσότερα εργαλεία δοκιμής παρέχουν πόρους για τη συγγραφή και εκτέλεση [δοκιμαστικών περιπτώσεων](https://en.m.wikipedia.org/wiki/Test_case) για να ελέγξουν εάν η εκτέλεση ενός συμβολαίου ταιριάζει με τα αναμενόμενα αποτελέσματα. + +### Γιατί είναι σημαντικό να δοκιμάζονται τα έξυπνα συμβόλαια; {#importance-of-testing-smart-contracts} + +Καθώς τα έξυπνα συμβόλαια συχνά διαχειρίζονται περιουσιακά στοιχεία υψηλής αξίας, μικρά προγραμματιστικά σφάλματα μπορούν και συχνά οδηγούν σε [τεράστιες απώλειες για τους χρήστες](https://rekt.news/leaderboard/). Ωστόσο, οι αυστηρές δοκιμές μπορούν να σας βοηθήσουν να ανακαλύψετε ελαττώματα και προβλήματα στον κώδικα ενός έξυπνου συμβολαίου νωρίς και να τα διορθώσετε πριν από τη δημοσίευση στο κεντρικό δίκτυο. + +Αν και ένα έξυπνο συμβόλαιο μπορεί να αναβαθμιστεί, εάν εντοπιστεί σφάλμα, οι αναβαθμίσεις είναι περίπλοκες και μπορούν να [οδηγήσουν σε σφάλματα](https://blog.trailofbits.com/2018/09/05/contract-upgrade-anti-patterns/) αν δεν υπάρξει κατάλληλος χειρισμός. Η αναβάθμιση ενός έξυπνου συμβολαίου αναιρεί ακόμη περισσότερο την αρχή της μη μεταβλητότητας και επιβαρύνει τους χρήστες με πρόσθετες υποθέσεις εμπιστοσύνης. Αντίθετα, ένα ολοκληρωμένο σχέδιο για τη δοκιμή του έξυπνου συμβολαίου σας μετριάζει τους κινδύνους ασφάλειας των έξυπνων συμβολαίων και μειώνει την ανάγκη για εκτέλεση περίπλοκων αναβαθμίσεων λογικής μετά την ανάπτυξη. + +## Μέθοδοι δοκιμής έξυπνων συμβολαίων {#methods-for-testing-smart-contracts} + +Οι μέθοδοι δοκιμής έξυπνων συμβολαίων Ethereum εμπίπτουν σε δύο μεγάλες κατηγορίες: **αυτοματοποιημένες δοκιμές** και **χειροκίνητες δοκιμές**. Οι αυτοματοποιημένες δοκιμές και οι χειροκίνητες δοκιμές προσφέρουν μοναδικά οφέλη και αντισταθμίσματα, αλλά μπορείτε να τις χρησιμοποιείτε συνδυαστικά για να δημιουργήσετε ένα ισχυρό σχέδιο για την ανάλυση των συμβολαίων σας. + +### Αυτόματος έλεγχος {#automated-testing} + +Οι αυτοματοποιημένες δοκιμές χρησιμοποιούν εργαλεία που ελέγχουν αυτόματα τον κώδικα ενός έξυπνου συμβολαίου για σφάλματα κατά την εκτέλεση. Το όφελος των αυτοματοποιημένων δοκιμών προέρχεται από τη χρήση [σεναρίων](https://www.techtarget.com/whatis/definition/script?amp=1) βάσει των οποίων αξιολογούνται οι λειτουργίες του συμβολαίου. Τα τεστ σεναρίων μπορούν να προγραμματιστούν να εκτελούνται επανειλημμένα με ελάχιστη ανθρώπινη παρέμβαση, καθιστώντας τις αυτοματοποιημένες δοκιμές πιο αποτελεσματικές από τις χειροκίνητες προσεγγίσεις στις δοκιμές. + +Η αυτοματοποιημένη δοκιμή είναι ιδιαίτερα χρήσιμη όταν οι δοκιμές είναι επαναλαμβανόμενες και χρονοβόρες, δύσκολο να εκτελεστούν χειροκίνητα, επιρρεπείς σε ανθρώπινο λάθος ή συνεπάγονται αξιολόγηση κρίσιμων λειτουργιών του έξυπνου συμβολαίου. Αλλά τα εργαλεία αυτοματοποιημένης δοκιμής μπορεί να έχουν μειονεκτήματα αλλά μπορεί να χάσουν ορισμένα σφάλματα και να παράγουν πολλά [ψευδώς θετικά](https://www.contrastsecurity.com/glossary/false-positive). Ως εκ τούτου, ο συνδυασμός αυτοματοποιημένης δοκιμής με χειροκίνητη δοκιμή στα έξυπνα συμβόλαια είναι ιδανικός. + +### Χειροκίνητη δοκιμή {#manual-testing} + +Η χειροκίνητη δοκιμή γίνεται με βοήθεια από άνθρωπο και περιλαμβάνει την εκτέλεση κάθε δοκιμαστικής περίπτωσης στη σουίτα δοκιμών σας μία προς μία κατά την ανάλυση της ορθότητας ενός έξυπνου συμβολαίου. Αυτό διαφέρει από την αυτοματοποιημένη δοκιμή κατά την οποία μπορείτε να εκτελέσετε ταυτόχρονα πολλές μεμονωμένες δοκιμές σε ένα έξυπνο συμβόλαιο και να λάβετε μια αναφορά που δείχνει όλες τις αποτυχημένες και επιτυχημένες δοκιμές. + +Η χειροκίνητη δοκιμή μπορεί να πραγματοποιηθεί από ένα μόνο άτομο που ακολουθεί ένα γραπτό σχέδιο δοκιμής που καλύπτει διαφορετικά σενάρια δοκιμής. Μπορείτε επίσης να έχετε πολλούς ανθρώπους ή ομάδες να αλληλεπιδρούν με ένα έξυπνο συμβόλαιο για ένα συγκεκριμένο χρονικό διάστημα ως μέρος της χειροκίνητης δοκιμής. Οι δοκιμαστές θα συγκρίνουν την πραγματική συμπεριφορά του συμβολαίου σε σχέση με την αναμενόμενη, επισημαίνοντας οποιαδήποτε διαφορά ως σφάλμα. + +Η αποτελεσματική χειροκίνητη δοκιμή απαιτεί σημαντικούς πόρους (δεξιότητα, χρόνο, χρήματα και προσπάθεια) και υπάρχει πιθανότητα παράλειψης ορισμένων σφαλμάτων κατά την εκτέλεση δοκιμών, λόγω ανθρώπινου λάθους. Αλλά η χειροκίνητη δοκιμή μπορεί επίσης να είναι επωφελής — για παράδειγμα, ένας ανθρώπινος δοκιμαστής (π.χ. ένας ελεγκτής) μπορεί να χρησιμοποιήσει τη διαίσθηση για να εντοπίσει περιπτώσεις άκρων που ένα εργαλείο αυτοματοποιημένης δοκιμής θα παρέλειπε. + +## Αυτοματοποιημένες δοκιμές για έξυπνα συμβόλαια {#automated-testing-for-smart-contracts} + +### Δοκιμή μονάδας {#unit-testing-for-smart-contracts} + +Η δοκιμή μονάδας αξιολογεί τις συναρτήσεις του έξυπνου συμβολαίου ξεχωριστά και ελέγχει ότι κάθε στοιχείο λειτουργεί σωστά. Οι καλές δοκιμές μονάδας θα πρέπει να είναι απλές, γρήγορες στην εκτέλεση και να παρέχουν μια σαφή εικόνα για το τι πήγε στραβά εάν οι δοκιμές αποτύχουν. + +Οι δοκιμές μονάδας χρησιμεύουν για να ελέγχεται ότι οι συναρτήσεις επιστρέφουν τις αναμενόμενες τιμές και ότι η αποθήκευση του έξυπνου συμβολαίου ενημερώνεται σωστά μετά την εκτέλεση της συνάρτησης. Επιπλέον, η εκτέλεση δοκιμών μονάδας μετά την πραγματοποίηση αλλαγών σε μια βάση κώδικα έξυπνου συμβολαίου διασφαλίζει ότι η προσθήκη νέας λογικής δεν εισάγει σφάλματα. Παρακάτω παρατίθενται ορισμένες οδηγίες για την εκτέλεση αποτελεσματικών δοκιμών μονάδας: + +#### Οδηγίες για δοκιμή μονάδας έξυπνων συμβολαίων {#unit-testing-guidelines} + +##### 1. Κατανοήστε τη λογική και τη ροή εργασιών του έξυπνου συμβολαίου σας + +Πριν γράψετε δοκιμές μονάδας, είναι χρήσιμο να γνωρίζετε ποιες λειτουργίες προσφέρει ένα έξυπνο συμβόλαιο και πώς οι χρήστες αποκτούν πρόσβαση και χρησιμοποιούν αυτές τις συναρτήσεις. Αυτό είναι ιδιαίτερα χρήσιμο για την εκτέλεση [δοκιμών ευτυχούς διαδρομής](https://en.m.wikipedia.org/wiki/Happy_path) που καθορίζουν εάν οι συναρτήσεις σε ένα έξυπνο συμβόλαιο επιστρέφουν τη σωστή έξοδο για έγκυρα στοιχεία εισαγωγής από τον χρήστη. Θα εξηγήσουμε αυτήν την έννοια χρησιμοποιώντας αυτό το (συντομευμένο) παράδειγμα [ενός συμβολαίου δημοπρασίας](https://docs.soliditylang.org/en/v0.8.17/solidity-by-example.html?highlight=Auction%20contract#simple-open-auction) + +``` +constructor( + uint biddingTime, + address payable beneficiaryAddress + ) { + beneficiary = beneficiaryAddress; + auctionEndTime = block.timestamp + biddingTime; + } + +function bid() external payable { + + if (block.timestamp > auctionEndTime) + revert AuctionAlreadyEnded(); + + if (msg.value <= highestBid) + revert BidNotHighEnough(highestBid); + + if (highestBid != 0) { + pendingReturns[highestBidder] += highestBid; + } + highestBidder = msg.sender; + highestBid = msg.value; + emit HighestBidIncreased(msg.sender, msg.value); + } + + function withdraw() external returns (bool) { + uint amount = pendingReturns[msg.sender]; + if (amount > 0) { + pendingReturns[msg.sender] = 0; + + if (!payable(msg.sender).send(amount)) { + pendingReturns[msg.sender] = amount; + return false; + } + } + return true; + } + +function auctionEnd() external { + if (block.timestamp < auctionEndTime) + revert AuctionNotYetEnded(); + if (ended) + revert AuctionEndAlreadyCalled(); + + ended = true; + emit AuctionEnded(highestBidder, highestBid); + + beneficiary.transfer(highestBid); + } +} +``` + +Αυτό είναι ένα απλό έξυπνο συμβόλαιο δημοπρασίας σχεδιασμένο να λαμβάνει προσφορές κατά τη διάρκεια της περιόδου προσφορών. Εάν η `υψηλότερη προσφορά` αυξηθεί, ο προηγούμενος υψηλότερος πλειοδότης λαμβάνει τα χρήματά του· μόλις τελειώσει η περίοδος προσφορών, ο `δικαιούχος` καλεί το έξυπνο συμβόλαιο για να πάρει τα χρήματά του. + +Οι δοκιμές μονάδας για ένα έξυπνο συμβόλαιο όπως αυτό θα καλύπτουν διαφορετικές λειτουργίες που μπορεί να καλέσει ένας χρήστης όταν αλληλεπιδρά με το έξυπνο συμβόλαιο. Ένα παράδειγμα θα ήταν μια δοκιμή μονάδας που ελέγχει εάν ένας χρήστης μπορεί να υποβάλει μια προσφορά ενώ η δημοπρασία είναι σε εξέλιξη (δηλαδή οι κλήσεις σε `προσφορά()` πετυχαίνουν) ή μία που ελέγχει εάν ένας χρήστης μπορεί να υποβάλει μια υψηλότερη προσφορά από την τρέχουσα `υψηλότερη προσφορά`. + +Η κατανόηση της ροής εργασιών ενός έξυπνου συμβολαίου βοηθά επίσης στη συγγραφή δοκιμών μονάδας που ελέγχουν εάν η εκτέλεση πληροί τις απαιτήσεις. Για παράδειγμα, το έξυπνο συμβόλαιο δημοπρασίας καθορίζει ότι οι χρήστες δεν μπορούν να υποβάλουν προσφορές όταν η δημοπρασία έχει τελειώσει (δηλαδή όταν το `ΧρόνοςΛήξηςΔημοπρασίας` είναι χαμηλότερο από το `ΧρονικήΣήμανση.μπλοκ`). Έτσι, ένας προγραμματιστής μπορεί να εκτελέσει μια δοκιμή μονάδας που ελέγχει εάν οι κλήσεις στη συνάρτηση `προσφορά()` πετυχαίνουν ή αποτυγχάνουν όταν τελειώσει η δημοπρασία (δηλαδή όταν `ΧρόνοςΛήξηςΔημοπρασίας` > `ΧρονικήΣήμανση.μπλοκ`). + +##### 2. Αξιολογήστε όλες τις υποθέσεις σχετικά με την εκτέλεση του έξυπνου συμβολαίου + +Είναι σημαντικό να τεκμηριώσετε τυχόν υποθέσεις σχετικά με την εκτέλεση ενός έξυπνου συμβολαίου και να γράψετε δοκιμές μονάδας για να επαληθεύσετε την εγκυρότητα αυτών των υποθέσεων. Εκτός από την προσφορά προστασίας από απροσδόκητη εκτέλεση, οι δοκιμές ισχυρισμών σας αναγκάζουν να σκεφτείτε συναρτήσεις που θα μπορούσαν να παραβιάσουν το μοντέλο ασφάλειας ενός έξυπνου συμβολαίου. Μια χρήσιμη συμβουλή είναι να υπερβείτε τις «δοκιμές ευτυχισμένου χρήστη» και να γράψετε αρνητικές δοκιμές που ελέγχουν εάν μια συνάρτηση αποτυγχάνει στα λανθασμένα στοιχεία εισαγωγής. + +Πολλά πλαίσια δοκιμών μονάδων σας επιτρέπουν να δημιουργήσετε ισχυρισμούς, απλές δηλώσεις που αναφέρουν τι μπορεί και τι δεν μπορεί να κάνει ένα έξυπνο συμβόλαιο, και να εκτελέσετε δοκιμές για να δείτε εάν αυτές οι ισχυρισμοί ισχύουν κατά την εκτέλεση. Ένας προγραμματιστής που εργάζεται στο έξυπνο συμβόλαιο δημοπρασίας που περιγράφηκε προηγουμένως θα μπορούσε να κάνει τους ακόλουθους ισχυρισμούς σχετικά με τη συμπεριφορά του πριν εκτελέσει αρνητικές δοκιμές: + +- Οι χρήστες δεν μπορούν να υποβάλουν προσφορές όταν ο πλειστηριασμός έχει τελειώσει ή δεν έχει ξεκινήσει. + +- Το έξυπνο συμβόλαιο πλειστηριασμού ανατρέπεται εάν μια προσφορά είναι κάτω από το αποδεκτό όριο. + +- Στους χρήστες που δεν κερδίζουν την προσφορά πιστώνονται τα κεφάλαιά τους + +**Σημείωση**: Ένας άλλος τρόπος για να ελέγξετε τις υποθέσεις είναι να γράψετε δοκιμές που ενεργοποιούν [τροποποιητές συναρτήσεων](https://docs.soliditylang.org/en/v0.8.16/contracts.html#function-modifiers)ενός συμβολαίου, ειδικά δηλώσεις `require`, `assert` και `if…else`. + +##### 3. Μέτρηση κάλυψης κώδικα + +[Η κάλυψη κώδικα](https://en.m.wikipedia.org/wiki/Code_coverage) είναι μια δοκιμή μετρικού συστήματος που παρακολουθεί τον αριθμό των κλάδων, των γραμμών και των δηλώσεων στον κώδικα σας που εκτελέστηκε κατά τη διάρκεια των δοκιμών. Οι δοκιμές πρέπει να έχουν καλή κάλυψη κώδικα, διαφορετικά μπορεί να έχετε «ψευδώς αρνητικά», τα οποία συμβαίνουν όταν ένα έξυπνο συμβόλαιο περνάει όλες τις δοκιμές, αλλά εξακολουθούν να υπάρχουν ευπάθειες στον κώδικα. Η καταγραφή υψηλής κάλυψης κώδικα, ωστόσο, δίνει τη διαβεβαίωση ότι ελέγχθηκε επαρκώς η ορθότητα όλων των δηλώσεων/συναρτήσεων ενός έξυπνου συμβολαίου. + +##### 4. Χρησιμοποιήστε καλά ανεπτυγμένα πλαίσια δοκιμών + +Η ποιότητα των εργαλείων που χρησιμοποιούνται για την εκτέλεση δοκιμών μονάδας για το έξυπνο συμβόλαιό σας έχει καθοριστική σημασία. Ένα ιδανικό πλαίσιο δοκιμών είναι αυτό που συντηρείται τακτικά, παρέχει χρήσιμες λειτουργίες (π.χ., δυνατότητες καταγραφής και αναφοράς) και πρέπει να έχει χρησιμοποιηθεί εκτενώς και να έχει ελεγχθεί από άλλους προγραμματιστές. + +Τα πλαίσια δοκιμών μονάδας για έξυπνα συμβόλαια Solidity διατίθενται σε διαφορετικές γλώσσες (κυρίως JavaScript, Python και Rust). Δείτε μερικούς από τους παρακάτω οδηγούς για πληροφορίες σχετικά με τον τρόπο εκκίνησης δοκιμών μονάδας με διαφορετικά πλαίσια δοκιμών: + +- **[Εκτέλεση δοκιμών μονάδας με Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** +- **[Εκτέλεση δοκιμών μονάδας με Foundry](https://book.getfoundry.sh/forge/writing-tests)** +- **[Εκτέλεση δοκιμών μονάδας με Waffle](https://ethereum-waffle.readthedocs.io/en/latest/getting-started.html#writing-tests)** +- **[Εκτέλεση δοκιμών μονάδας με Remix](https://remix-ide.readthedocs.io/en/latest/unittesting.html#write-tests)** +- **[Εκτέλεση δοκιμών μονάδας με Ape](https://docs.apeworx.io/ape/stable/userguides/testing.html)** +- **[Εκτέλεση δοκιμών μονάδας με Hardhat](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** +- **[Εκτέλεση δοκιμών μονάδας με Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** + +### Δοκιμές ολοκλήρωσης {#integration-testing-for-smart-contracts} + +Ενώ οι δοκιμές μονάδας εντοπίζουν σφάλματα στις συναρτήσεις συμβολαίου μεμονωμένα, οι δοκιμές ολοκλήρωσης αξιολογούν τα στοιχεία ενός έξυπνου συμβολαίου ως σύνολο. Οι δοκιμές ολοκλήρωσης μπορούν να εντοπίσουν προβλήματα που προκύπτουν από κλήσεις μεταξύ συμβολαίων ή αλληλεπιδράσεις μεταξύ διαφορετικών συναρτήσεων στο ίδιο έξυπνο συμβόλαιο. Για παράδειγμα, οι δοκιμές ολοκλήρωσης μπορούν να βοηθήσουν στον έλεγχο αν λειτουργούν σωστά πράγματα όπως η [κληροδοσία](https://docs.soliditylang.org/en/v0.8.12/contracts.html#inheritance) και η αύξηση εξαρτήσεων. + +Οι δοκιμές ολοκλήρωσης είναι χρήσιμες εάν το συμβόλαιό σας διαθέτει αρθρωτή αρχιτεκτονική ή διασυνδέεται με άλλα συμβόλαια εντός αλυσίδας κατά την εκτέλεση. Ένας τρόπος εκτέλεσης δοκιμών ολοκλήρωσης είναι να προσθέσετε [διακλάδωση (fork) στην κρυπτοαλυσίδα](/glossary/#fork) σε ένα συγκεκριμένο ύψος (χρησιμοποιώντας ένα εργαλείο όπως το [Forge](https://book.getfoundry.sh/forge/fork-testing) ή το [Hardhat](https://hardhat.org/hardhat-network/docs/guides/forking-other-networks)) και να προσομοιώσετε αλληλεπιδράσεις μεταξύ του συμβολαίου σας και των ανεπτυγμένων συμβολαίων. + +Η διακλαδωμένη κρυπτοαλυσίδα θα συμπεριφέρεται παρόμοια με το κεντρικό δίκτυο και θα έχει λογαριασμούς με συσχετισμένες καταστάσεις και υπόλοιπα. Αλλά λειτουργεί μόνο ως ένα απομονωμένο τοπικό περιβάλλον ανάπτυξης, που σημαίνει ότι δε θα χρειαστείτε πραγματικό ETH για συναλλαγές, για παράδειγμα, ούτε οι αλλαγές σας θα επηρεάσουν το πραγματικό πρωτόκολλο Ethereum. + +### Δοκιμή βάσει ιδιοτήτων {#property-based-testing-for-smart-contracts} + +Η δοκιμή βάσει ιδιοτήτων είναι η διαδικασία ελέγχου ότι ένα έξυπνο συμβόλαιο ικανοποιεί κάποια καθορισμένη ιδιότητα. Οι ιδιότητες υποστηρίζουν γεγονότα σχετικά με τη συμπεριφορά ενός έξυπνου συμβολαίου που αναμένεται να παραμείνουν αληθείς σε διαφορετικά σενάρια. Ένα παράδειγμα μιας ιδιότητας έξυπνου συμβολαίου θα μπορούσε να είναι «Οι αριθμητικές πράξεις στο έξυπνο συμβόλαιο ποτέ δεν υπερχειλίζουν ή υποχειλίζουν». + +**Η στατική ανάλυση** και η **δυναμική ανάλυση** είναι δύο κοινές τεχνικές για την εκτέλεση δοκιμών βάσει ιδιοτήτων και οι δύο μπορούν να επαληθεύσουν ότι ο κώδικας για ένα πρόγραμμα (ένα έξυπνο συμβόλαιο σε αυτήν την περίπτωση) ικανοποιεί κάποια προκαθορισμένη ιδιότητα. Ορισμένα εργαλεία δοκιμής βάσει ιδιοτήτων διαθέτουν προκαθορισμένους κανόνες σχετικά με τις αναμενόμενες ιδιότητες του έξυπνου συμβολαίου και ελέγχουν τον κώδικα σύμφωνα με αυτούς τους κανόνες, ενώ άλλα σας επιτρέπουν να δημιουργήσετε προσαρμοσμένες ιδιότητες για ένα έξυπνο συμβόλαιο. + +#### Στατική ανάλυση {#static-analysis} + +Ένας στατικός αναλυτής λαμβάνει ως στοιχείο εισαγωγής τον πηγαίο κώδικα ενός έξυπνου συμβολαίου και εξάγει αποτελέσματα που δηλώνουν εάν ένα συμβόλαιο ικανοποιεί μια ιδιότητα ή όχι. Σε αντίθεση με τη δυναμική ανάλυση, η στατική ανάλυση δεν περιλαμβάνει την εκτέλεση ενός συμβολαίου για να αναλύσει την ορθότητά του. Αντίθετα, η στατική ανάλυση συλλογίζεται σχετικά με όλες τις πιθανές διαδρομές που θα μπορούσε να ακολουθήσει ένα έξυπνο συμβόλαιο κατά την εκτέλεση (δηλαδή, εξετάζοντας τη δομή του πηγαίου κώδικα για να προσδιορίσει τι θα σήμαινε για τη λειτουργία των συμβολαίων κατά τον χρόνο λειτουργίας). + +Το [linting](https://www.perforce.com/blog/qac/what-lint-code-and-why-linting-important) και η [στατική δοκιμή](https://www.techtarget.com/whatis/definition/static-analysis-static-code-analysis) είναι κοινές μέθοδοι για την εκτέλεση στατικής ανάλυσης σε συμβόλαια. Και οι δύο απαιτούν την ανάλυση αναπαραστάσεων χαμηλού επιπέδου της εκτέλεσης ενός συμβολαίου, όπως τα [δέντρα αφηρημένης σύνταξης](https://en.m.wikipedia.org/wiki/Abstract_syntax_tree) και τα [γραφήματα ροής ελέγχου](https://www.geeksforgeeks.org/software-engineering-control-flow-graph-cfg/amp/) που παράγονται από τον μεταγλωττιστή. + +Στις περισσότερες περιπτώσεις, η στατική ανάλυση είναι χρήσιμη για την ανίχνευση ζητημάτων ασφάλειας όπως η χρήση μη ασφαλών κατασκευασμάτων, τα συντακτικά σφάλματα ή οι παραβιάσεις των προτύπων κωδικοποίησης σε έναν κώδικα συμβολαίου. Ωστόσο, είναι γνωστό ότι οι στατικοί αναλυτές είναι γενικά αναξιόπιστοι στην ανίχνευση βαθύτερων ευπαθειών και ενδέχεται να παράγουν υπερβολικά ψευδώς θετικά αποτελέσματα. + +#### Δυναμική ανάλυση {#dynamic-analysis} + +Η δυναμική ανάλυση παράγει συμβολικά στοιχεία εισαγωγής (π.χ. σε [συμβολική εκτέλεση](https://en.m.wikipedia.org/wiki/Symbolic_execution)) ή συγκεκριμένα στοιχεία εισαγωγής (π.χ. σε [fuzzing](https://owasp.org/www-community/Fuzzing)) σε συναρτήσεις έξυπνου συμβολαίου για να δει εάν ένα ή περισσότερα ίχνη εκτέλεσης παραβιάζουν συγκεκριμένες ιδιότητες. Αυτή η μορφή δοκιμής βάσει ιδιοτήτων διαφέρει από τις δοκιμές μονάδας ως προς ότι οι δοκιμαστικές περιπτώσεις καλύπτουν πολλαπλά σενάρια και ένα πρόγραμμα χειρίζεται τη δημιουργία δοκιμαστικών περιπτώσεων. + +Το [fuzzing](https://halborn.com/what-is-fuzz-testing-fuzzing/) είναι ένα παράδειγμα μιας τεχνικής δυναμικής ανάλυσης για την επαλήθευση αυθαίρετων ιδιοτήτων σε έξυπνα συμβόλαια. Ένας fuzzer καλεί συναρτήσεις σε ένα συμβόλαιο προορισμού με τυχαίες ή κακοσχηματισμένες παραλλαγές μιας καθορισμένης τιμής εισόδου. Εάν το έξυπνο συμβόλαιο εισέλθει σε κατάσταση σφάλματος (π.χ. όπου ένας ισχυρισμός αποτυγχάνει), το πρόβλημα επισημαίνεται και τα στοιχεία εισαγωγής που οδηγούν την εκτέλεση προς την ευάλωτη διαδρομή καταγράφονται σε αναφορά. + +Το fuzzing είναι χρήσιμο για την αξιολόγηση του μηχανισμού επικύρωσης εισόδου ενός έξυπνου συμβολαίου, καθώς η ακατάλληλη διαχείριση απροσδόκητων στοιχείων εισαγωγής μπορεί να οδηγήσει σε μη επιθυμητή εκτέλεση και να παράγει επικίνδυνα αποτελέσματα. Αυτή η μορφή δοκιμής βάσει ιδιοτήτων μπορεί να είναι ιδανική για πολλούς λόγους: + +1. **Η συγγραφή δοκιμαστικών περιπτώσεων για την κάλυψη πολλών σεναρίων είναι δύσκολη.** Μια δοκιμή ιδιότητας απαιτεί μόνο να ορίσετε μια συμπεριφορά και ένα εύρος δεδομένων για να δοκιμάσετε τη συμπεριφορά. Το πρόγραμμα δημιουργεί αυτόματα δοκιμαστικές περιπτώσεις με βάση την καθορισμένη ιδιότητα. + +2. **Η σουίτα δοκιμών σας ενδέχεται να μην καλύπτει επαρκώς όλες τις πιθανές διαδρομές μέσα στο πρόγραμμα.** Ακόμη και με 100% κάλυψη, είναι πιθανό να παραλείψετε ακραίες περιπτώσεις. + +3. **Οι δοκιμές μονάδας αποδεικνύουν ότι ένα έξυπνο συμβόλαιο εκτελείται σωστά για δεδομένα δείγματος, αλλά παραμένει άγνωστο κατά πόσο το έξυπνο συμβόλαιο εκτελείται σωστά για στοιχεία εισαγωγής εκτός του δείγματος.** Οι δοκιμές ιδιότητας εκτελούν ένα έξυπνο συμβόλαιο στόχο με πολλές παραλλαγές μιας δεδομένης τιμής εισόδου για να βρουν ίχνη εκτέλεσης που προκαλούν αποτυχίες ισχυρισμών. Έτσι, μια δοκιμή ιδιότητας παρέχει περισσότερες εγγυήσεις ότι ένα έξυπνο συμβόλαιο εκτελείται σωστά για μια ευρεία κατηγορία δεδομένων εισόδου. + +### Οδηγίες για την εκτέλεση δοκιμών βάσει ιδιοτήτων για έξυπνα συμβόλαια {#running-property-based-tests} + +Η εκτέλεση δοκιμών βάσει ιδιοτήτων συνήθως ξεκινά με τον ορισμό μιας ιδιότητας (π.χ. απουσία [υπερχειλίσεων ακεραίων](https://github.com/ConsenSys/mythril/wiki/Integer-Overflow)) ή μιας συλλογής ιδιοτήτων που θέλετε να επαληθεύσετε σε ένα έξυπνο συμβόλαιο. Μπορεί επίσης να χρειαστεί να ορίσετε ένα εύρος τιμών εντός του οποίου το πρόγραμμα μπορεί να δημιουργήσει δεδομένα για εισερχόμενα στοιχεία συναλλαγών κατά τη συγγραφή δοκιμών ιδιοτήτων. + +Μόλις ρυθμιστεί σωστά, το εργαλείο δοκιμής ιδιοτήτων θα εκτελέσει τις λειτουργίες του έξυπνου συμβολαίου σας με τυχαία παραγόμενα στοιχεία εισαγωγής. Εάν υπάρχουν οποιεσδήποτε παραβιάσεις ισχυρισμών, θα πρέπει να λάβετε μια αναφορά με συγκεκριμένα δεδομένα εισόδου που παραβιάζουν την ιδιότητα υπό αξιολόγηση. Δείτε μερικούς από τους παρακάτω οδηγούς για να ξεκινήσετε με την εκτέλεση δοκιμών βάσει ιδιοτήτων με διαφορετικά εργαλεία: + +- **[Στατική ανάλυση έξυπνων συμβολαίων με Slither](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither#slither)** +- **[Στατική ανάλυση έξυπνων συμβολαίων με Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** +- **[Δοκιμές βάσει ιδιοτήτων με Brownie](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)** +- **[Fuzzing συμβόλαια με Foundry](https://book.getfoundry.sh/forge/fuzz-testing)** +- **[Fuzzing συμβόλαια με Echidna](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/echidna#echidna-tutorial)** +- **[Fuzzing συμβόλαια με Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/fuzzing/)** +- **[Συμβολική εκτέλεση έξυπνων συμβολαίων με Manticore](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/manticore#manticore-tutorial)** +- **[Συμβολική εκτέλεση έξυπνων συμβολαίων με Mythril](https://mythril-classic.readthedocs.io/en/master/tutorial.html)** + +## Χειροκίνητη δοκιμή έξυπνων συμβολαίων {#manual-testing-for-smart-contracts} + +Η χειροκίνητη δοκιμή έξυπνων συμβολαίων συχνά έρχεται αργότερα στον κύκλο ανάπτυξης μετά την εκτέλεση αυτοματοποιημένων δοκιμών. Αυτή η μορφή δοκιμής αξιολογεί το έξυπνο συμβόλαιο ως ένα πλήρως ενσωματωμένο προϊόν για να δει εάν λειτουργεί όπως καθορίζεται στις τεχνικές απαιτήσεις. + +### Δοκιμή συμβολαίων σε μια τοπική κρυπτοαλυσίδα {#testing-on-local-blockchain} + +Ενώ οι αυτοματοποιημένες δοκιμές που εκτελούνται σε ένα τοπικό περιβάλλον ανάπτυξης μπορούν να παρέχουν χρήσιμες πληροφορίες εντοπισμού σφαλμάτων, θα θέλετε να γνωρίζετε πώς συμπεριφέρεται το έξυπνο συμβόλαιό σας σε ένα περιβάλλον παραγωγής. Ωστόσο, η ανάπτυξη στην κύρια αλυσίδα Ethereum συνεπάγεται κρατήσεις gas εκτός από το γεγονός ότι εσείς ή οι χρήστες σας μπορεί να χάσετε πραγματικά χρήματα εάν το έξυπνο συμβόλαιό σας εξακολουθεί να έχει σφάλματα. + +Η δοκιμή του συμβολαίου σας σε μια τοπική κρυπτοαλυσίδα (γνωστή και ως [δίκτυο ανάπτυξης](/developers/docs/development-networks/)) είναι μια συνιστώμενη εναλλακτική λύση στη δοκιμή στο κεντρικό δίκτυο. Μια τοπική κρυπτοαλυσίδα είναι ένα αντίγραφο της κρυπτοαλυσίδας Ethereum που εκτελείται τοπικά στον υπολογιστή σας, το οποίο προσομοιώνει τη συμπεριφορά του επιπέδου εκτέλεσης του Ethereum. Ως εκ τούτου, μπορείτε να προγραμματίσετε συναλλαγές για να αλληλεπιδράσετε με ένα συμβόλαιο χωρίς σημαντικό επιπλέον κόστος. + +Η εκτέλεση συμβολαίων σε μια τοπική κρυπτοαλυσίδα θα μπορούσε να είναι χρήσιμη ως μια μορφή χειροκίνητης δοκιμής ολοκλήρωσης. [Τα έξυπνα συμβόλαια είναι ιδιαίτερα συνθετικά](/developers/docs/smart-contracts/composability/), και αυτό σας επιτρέπει να ενσωματωθείτε με υπάρχοντα πρωτόκολλα - αλλά θα πρέπει ακόμα να διασφαλίσετε ότι τέτοιες σύνθετες αλληλεπιδράσεις εντός αλυσίδας παράγουν τα σωστά αποτελέσματα. + +[Περισσότερα για τα δίκτυα ανάπτυξης.](/developers/docs/development-networks/) + +### Δοκιμή έξυπνων συμβολαίων στα δοκιμαστικά δίκτυα {#testing-contracts-on-testnets} + +Ένα δίκτυο δοκιμών ή δοκιμαστικό δίκτυο λειτουργεί ακριβώς όπως το κεντρικό δίκτυο Ethereum, εκτός από το ότι χρησιμοποιεί Ether (ETH) χωρίς πραγματική αξία. Η ανάπτυξη του έξυπνου συμβολαίου σας σε ένα [δοκιμαστικό δίκτυο](/developers/docs/networks/#ethereum-testnets) σημαίνει ότι ο καθένας μπορεί να αλληλεπιδράσει με αυτό (π.χ. μέσω του μετωπικού άκρου της αποκεντρωμένης εφαρμογής) χωρίς να διακινδυνεύσει κεφάλαια. + +Αυτή η μορφή χειροκίνητης δοκιμής είναι χρήσιμη για την αξιολόγηση της ροής από άκρο σε άκρο της εφαρμογής από την άποψη ενός χρήστη. Εδώ, οι δοκιμαστές beta μπορούν επίσης να εκτελέσουν δοκιμαστικές εκτελέσεις και να αναφέρουν τυχόν προβλήματα στην επιχειρηματική λογική του έξυπνου συμβολαίου και τη συνολική λειτουργικότητα. + +Η ανάπτυξη σε ένα δοκιμαστικό δίκτυο μετά τη δοκιμή σε μια τοπική κρυπτοαλυσίδα είναι ιδανική καθώς το πρώτο είναι πιο κοντά στη συμπεριφορά του εικονικού μηχανήματος Ethereum. Επομένως, είναι συνηθισμένο σε πολλά έργα εγγενή στο Ethereum να αναπτύσσουν αποκεντρωμένες εφαρμογές σε δοκιμαστικά δίκτυα για να αξιολογήσουν τη λειτουργία ενός έξυπνου συμβολαίου υπό πραγματικές συνθήκες. + +[Περισσότερα για τα δοκιμαστικά δίκτυα Ethereum.](/developers/docs/development-networks/#public-beacon-testchains) + +## Δοκιμή ή τυπική επαλήθευση {#testing-vs-formal-verification} + +Ενώ η δοκιμή βοηθά να επιβεβαιωθεί ότι ένα έξυπνο συμβόλαιο επιστρέφει τα αναμενόμενα αποτελέσματα για ορισμένα εισερχόμενα δεδομένα, δεν μπορεί να αποδείξει οριστικά το ίδιο για στοιχεία εισαγωγής που δε χρησιμοποιήθηκαν κατά τη διάρκεια των δοκιμών. Η δοκιμή ενός έξυπνου συμβολαίου, επομένως, δεν μπορεί να εγγυηθεί τη «λειτουργική ορθότητα» (δηλαδή, δεν μπορεί να δείξει ότι ένα πρόγραμμα συμπεριφέρεται όπως απαιτείται για _όλα_ τα σύνολα τιμών εισόδου). + +Η τυπική επαλήθευση είναι μια προσέγγιση για την αξιολόγηση της ορθότητας του λογισμικού ελέγχοντας εάν ένα τυπικό μοντέλο του προγράμματος ταιριάζει με την τυπική προδιαγραφή. Ένα τυπικό μοντέλο είναι μια αφηρημένη μαθηματική αναπαράσταση ενός προγράμματος, ενώ μια τυπική προδιαγραφή ορίζει τις ιδιότητες ενός προγράμματος (δηλαδή, λογικές επιβεβαιώσεις σχετικά με την εκτέλεση του προγράμματος). + +Επειδή οι ιδιότητες είναι γραμμένες σε μαθηματικούς όρους, γίνεται δυνατή η επαλήθευση ότι ένα τυπικό (μαθηματικό) μοντέλο του συστήματος ικανοποιεί μια προδιαγραφή χρησιμοποιώντας λογικούς κανόνες συμπερασμού. Έτσι, τα εργαλεία τυπικής επαλήθευσης λέγεται ότι παράγουν «μαθηματική απόδειξη» της ορθότητας ενός συστήματος. + +Σε αντίθεση με τη δοκιμή, η τυπική επαλήθευση μπορεί να χρησιμοποιηθεί για να επαληθεύσει ότι μια εκτέλεση έξυπνου συμβολαίου ικανοποιεί μια τυπική προδιαγραφή για _όλες_ τις εκτελέσεις (δηλαδή, δεν έχει σφάλματα) χωρίς να χρειάζεται να την εκτελέσει με δειγματοληπτικά δεδομένα. Αυτό όχι μόνο μειώνει τον χρόνο που αφιερώνεται στην εκτέλεση δεκάδων δοκιμών μονάδων, αλλά είναι επίσης πιο αποτελεσματικό στον εντοπισμό κρυφών ευπαθειών. Ωστόσο, οι τεχνικές τυπικής επαλήθευσης βρίσκονται σε ένα φάσμα ανάλογα με τη δυσκολία εφαρμογής και τη χρησιμότητά τους. + +[Περισσότερα για την τυπική επαλήθευση έξυπνων συμβολαίων.](/developers/docs/smart-contracts/formal-verification) + +## Δοκιμές ή Έλεγχοι και προγράμματα ανταμοιβής για εντοπισμό σφαλμάτων {#testing-vs-audits-bug-bounties} + +Όπως αναφέρθηκε, οι αυστηρές δοκιμές σπάνια μπορούν να εγγυηθούν την απουσία σφαλμάτων σε ένα έξυπνο συμβόλαιο. Οι προσεγγίσεις τυπικής επαλήθευσης μπορούν να παρέχουν ισχυρότερες διαβεβαιώσεις ορθότητας αλλά είναι επί του παρόντος δύσκολο να χρησιμοποιηθούν και συνεπάγονται σημαντικό κόστος. + +Ωστόσο, μπορείτε να αυξήσετε περαιτέρω την πιθανότητα εντοπισμού ευπαθειών συμβολαίου λαμβάνοντας μια ανεξάρτητη αναθεώρηση κώδικα. Οι [έλεγχοι έξυπνων συμβολαίων](https://www.immunebytes.com/blog/what-is-a-smart-contract-audit/) και τα [προγράμματα ανταμοιβής για εντοπισμό σφαλμάτων](https://medium.com/immunefi/a-defi-security-standard-the-scaling-bug-bounty-9b83dfdc1ba7) είναι δύο τρόποι για να ζητήσετε από άλλους να αναλύσουν τα συμβόλαιά σας. + +Οι έλεγχοι πραγματοποιούνται από ελεγκτές με εμπειρία στην εύρεση κενών ασφαλείας και κακών πρακτικών ανάπτυξης σε έξυπνα συμβόλαια. Ένας έλεγχος θα περιλαμβάνει συνήθως δοκιμές (και ενδεχομένως τυπική επαλήθευση) καθώς και μια χειροκίνητη αναθεώρηση ολόκληρης της βάσης κώδικα. + +Αντίθετα, ένα πρόγραμμα ανταμοιβής για εντοπισμό σφαλμάτων συνήθως περιλαμβάνει την προσφορά μιας χρηματικής ανταμοιβής σε ένα άτομο (συνήθως περιγράφεται ως [whitehat hacker](https://en.wikipedia.org/wiki/White_hat_(computer_security))) που ανακαλύπτει μια ευπάθεια σε ένα έξυπνο συμβόλαιο και την αποκαλύπτει στους προγραμματιστές. Τα προγράμματα ανταμοιβής για εντοπισμό σφαλμάτων είναι παρόμοια με τους ελέγχους καθώς περιλαμβάνουν το να ζητήσετε από άλλους να βοηθήσουν στον εντοπισμό ελαττωμάτων σε έξυπνα συμβόλαια. + +Η κύρια διαφορά είναι ότι τα προγράμματα ανταμοιβής για εντοπισμό σφαλμάτων είναι ανοιχτά στην ευρύτερη κοινότητα προγραμματιστών/χάκερ και προσελκύουν μια ευρεία κατηγορία ηθικών χάκερ και ανεξάρτητων επαγγελματιών ασφάλειας με μοναδικές δεξιότητες και εμπειρία. Αυτό μπορεί να είναι ένα πλεονέκτημα έναντι των ελέγχων έξυπνων συμβολαίων που βασίζονται κυρίως σε ομάδες που ενδεχομένως διαθέτουν περιορισμένη ή όχι εξειδικευμένη εμπειρία. + +## Εργαλεία δοκιμών και βιβλιοθήκες {#testing-tools-and-libraries} + +### Εργαλεία δοκιμών μονάδας {#unit-testing-tools} + +- **[solidity-coverage](https://github.com/sc-forks/solidity-coverage)** - _Εργαλείο κάλυψης κώδικα για έξυπνα συμβόλαια γραμμένα σε Solidity._ + +- **[Waffle](https://ethereum-waffle.readthedocs.io/en/latest/)** - _Πλαίσιο για προηγμένη ανάπτυξη και δοκιμή έξυπνων συμβολαίων (βασισμένο σε ethers.js)_. + +- **[Remix Tests](https://github.com/ethereum/remix-project/tree/master/libs/remix-tests)** - _Εργαλείο για δοκιμή έξυπνων συμβολαίων Solidity. Λειτουργεί κάτω από το plugin «Solidity Unit Testing» του Remix IDE το οποίο χρησιμοποιείται για τη συγγραφή και εκτέλεση δοκιμαστικών περιπτώσεων για ένα συμβόλαιο._ + +- **[OpenZeppelin Test Helpers](https://github.com/OpenZeppelin/openzeppelin-test-helpers)** - _Βιβλιοθήκη ισχυρισμών για δοκιμή έξυπνων συμβολαίων Ethereum. Βεβαιωθείτε ότι τα συμβόλαιά σας συμπεριφέρονται όπως αναμενόταν!_ + +- **[Πλαίσιο δοκιμής μονάδας Brownie](https://eth-brownie.readthedocs.io/en/v1.0.0_a/tests.html)** - _Το Brownie χρησιμοποιεί το Pytest, ένα πλούσιο σε χαρακτηριστικά πλαίσιο δοκιμών που σας επιτρέπει να γράφετε μικρές δοκιμές με ελάχιστο κώδικα, κλιμακώνεται καλά σε μεγάλα έργα και είναι ιδιαίτερα επεκτάσιμο._ + +- **[Δοκιμές Foundry](https://github.com/foundry-rs/foundry/tree/master/forge)** - _Το Foundry προσφέρει το Forge, ένα γρήγορο και ευέλικτο πλαίσιο δοκιμών Ethereum ικανό να εκτελεί απλές δοκιμές μονάδας, ελέγχους βελτιστοποίησης gas και fuzzing συμβολαίων._ + +- **[Δοκιμές Hardhat](https://hardhat.org/hardhat-runner/docs/guides/test-contracts)** - _Πλαίσιο για δοκιμή έξυπνων συμβολαίων βασισμένο σε ethers.js, Mocha και Chai._ + +- **[ApeWorx](https://docs.apeworx.io/ape/stable/userguides/testing.html)** - _Πλαίσιο ανάπτυξης και δοκιμών βασισμένο σε Python για έξυπνα συμβόλαια που στοχεύουν στο εικονικό μηχάνημα του Ethereum._ + +- **[Wake](https://ackeeblockchain.com/wake/docs/latest/testing-framework/overview/)** - _Πλαίσιο βασισμένο σε Python για δοκιμή μονάδας και fuzzing με ισχυρές δυνατότητες εντοπισμού σφαλμάτων και υποστήριξη δοκιμών μεταξύ αλυσίδων, χρησιμοποιώντας pytest και Anvil για την καλύτερη εμπειρία χρήστη και απόδοση._ + +### Εργαλεία δοκιμών βάσει ιδιοτήτων {#property-based-testing-tools} + +#### Εργαλεία στατικής ανάλυσης {#static-analysis-tools} + +- **[Slither](https://github.com/crytic/slither)** - _Πλαίσιο στατικής ανάλυσης Solidity βασισμένο σε Python για εύρεση ευπαθειών, βελτίωση της κατανόησης του κώδικα και συγγραφή προσαρμοσμένων αναλύσεων για έξυπνα συμβόλαια._ + +- **[Ethlint](https://ethlint.readthedocs.io/en/latest/)** - _Linter για επιβολή στιλ και βέλτιστων πρακτικών ασφάλειας για τη γλώσσα προγραμματισμού έξυπνων συμβολαίων Solidity._ + +- **[Cyfrin Aderyn](https://cyfrin.io/tools/aderyn)** - _Στατικός αναλυτής βασισμένος σε Rust σχεδιασμένος ειδικά για την ασφάλεια και την ανάπτυξη έξυπνων συμβολαίων Web3._ + +- **[Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** - _Πλαίσιο στατικής ανάλυσης βασισμένο σε Python με ανιχνευτές ευπάθειας και ποιότητας κώδικα, εκτυπωτές για εξαγωγή χρήσιμων πληροφοριών από τον κώδικα και υποστήριξη για συγγραφή προσαρμοσμένων υπομονάδων._ + +#### Εργαλεία δυναμικής ανάλυσης {#dynamic-analysis-tools} + +- **[Echidna](https://github.com/crytic/echidna/)** - _Γρήγορος fuzzer συμβολαίων για ανίχνευση ευπαθειών σε έξυπνα συμβόλαια μέσω δοκιμών βασισμένων σε ιδιότητες._ + +- **[Diligence Fuzzing](https://consensys.net/diligence/fuzzing/)** - _Αυτόματο εργαλείο fuzzing χρήσιμο για την ανίχνευση παραβιάσεων ιδιοτήτων στον κώδικα έξυπνου συμβολαίου._ + +- **[Manticore](https://manticore.readthedocs.io/en/latest/index.html)** - _Πλαίσιο δυναμικής συμβολικής εκτέλεσης για ανάλυση κώδικα bytecode EVM._ + +- **[Mythril](https://github.com/ConsenSys/mythril-classic)** - _Εργαλείο αξιολόγησης κώδικα bytecode EVM για ανίχνευση ευπαθειών συμβολαίων χρησιμοποιώντας ανάλυση μολυσματικών στοιχείων, ανάλυση concolic και έλεγχο ροής ελέγχου._ + +- **[Diligence Scribble](https://consensys.net/diligence/scribble/)** - _Το Scribble είναι μια γλώσσα προδιαγραφών και εργαλείο επαλήθευσης χρόνου εκτέλεσης που σας επιτρέπει να επισημαίνετε έξυπνα συμβόλαια με ιδιότητες που σας επιτρέπουν να ελέγχετε αυτόματα τα συμβόλαια με εργαλεία, όπως το Diligence Fuzzing ή το MythX._ + +## Σχετικοί οδηγοί {#related-tutorials} + +- [Μια επισκόπηση και σύγκριση διαφορετικών προϊόντων δοκιμών](/developers/tutorials/guide-to-smart-contract-security-tools/) +- [Πώς να χρησιμοποιήσετε το Echidna για δοκιμή έξυπνων συμβολαίων](/developers/tutorials/how-to-use-echidna-to-test-smart-contracts/) +- [Πως να χρησιμοποιήσετε το Manticore για εύρεση σφαλμάτων των έξυπνων συμβολαίων](/developers/tutorials/how-to-use-manticore-to-find-smart-contract-bugs/) +- [Πώς να χρησιμοποιήσετε το Slither για εύρεση σφαλμάτων των έξυπνων συμβολαίων](/developers/tutorials/how-to-use-slither-to-find-smart-contract-bugs/) +- [Πώς να κάνετε εικονικές δοκιμές συμβολαίων με Solidity](/developers/tutorials/how-to-mock-solidity-contracts-for-testing/) +- [Πώς να εκτελέσετε δοκιμές μονάδων στο Solidity χρησιμοποιώντας το Foundry](https://www.rareskills.io/post/foundry-testing-solidity) + +## Περισσότερες πληροφορίες {#further-reading} + +- [Ένας σε βάθος οδηγός για τη δοκιμή έξυπνων συμβολαίων Ethereum](https://iamdefinitelyahuman.medium.com/an-in-depth-guide-to-testing-ethereum-smart-contracts-2e41b2770297) +- [Πώς να δοκιμάσετε τα έξυπνα συμβόλαια Ethereum](https://betterprogramming.pub/how-to-test-ethereum-smart-contracts-35abc8fa199d) +- [Οδηγός δοκιμών μονάδων MolochDAO για προγραμματιστές](https://github.com/MolochVentures/moloch/tree/4e786db8a4aa3158287e0935dcbc7b1e43416e38/test#moloch-testing-guide) +- [Πώς να δοκιμάσετε έξυπνα συμβόλαια σαν rockstar](https://forum.openzeppelin.com/t/test-smart-contracts-like-a-rockstar/1001) diff --git a/public/content/translations/el/developers/docs/smart-contracts/upgrading/index.md b/public/content/translations/el/developers/docs/smart-contracts/upgrading/index.md new file mode 100644 index 00000000000..7a19de786e2 --- /dev/null +++ b/public/content/translations/el/developers/docs/smart-contracts/upgrading/index.md @@ -0,0 +1,165 @@ +--- +title: Αναβάθμιση έξυπνων συμβολαίων +description: Μια επισκόπηση των μοτίβων αναβάθμισης για έξυπνα συμβόλαια Ethereum +lang: el +--- + +Τα έξυπνα συμβόλαια στο Ethereum είναι αυτοεκτελούμενα προγράμματα που εκτελούνται στο εικονικό μηχάνημα του Ethereum (EVM). Αυτά τα προγράμματα είναι αμετάβλητα από τον σχεδιασμό τους, γεγονός που εμποδίζει οποιαδήποτε ενημέρωση στην επιχειρηματική λογική μετά την ανάπτυξη του συμβολαίου. + +Ενώ η αμεταβλητότητα είναι απαραίτητη για να μην απαιτείται η παροχή εμπιστοσύνης, για την αποκέντρωση και την ασφάλεια των έξυπνων συμβολαίων, μπορεί να αποτελέσει μειονέκτημα σε ορισμένες περιπτώσεις. Για παράδειγμα, ο αμετάβλητος κώδικας μπορεί να καταστήσει αδύνατη τη διόρθωση ευάλωτων συμβολαίων από τους προγραμματιστές. + +Ωστόσο, η αυξημένη έρευνα για τη βελτίωση των έξυπνων συμβολαίων οδήγησε στην εισαγωγή πολλών μοτίβων προτύπων. Αυτά τα μοτίβα αναβάθμισης επιτρέπουν στους προγραμματιστές να αναβαθμίσουν τα έξυπνα συμβόλαια (διατηρώντας παράλληλα την αμεταβλητότητα) τοποθετώντας επιχειρηματική λογική σε διαφορετικά συμβόλαια. + +## Προαπαιτούμενα {#prerequisites} + +Θα πρέπει να έχετε καλή κατανόηση των [έξυπνων συμβολαίων](/developers/docs/smart-contracts/), της [ανατομίας έξυπνων συμβολαίων](/developers/docs/smart-contracts/anatomy/) και του [εικονικού μηχανήματος του Ethereum (EVM)](/developers/docs/evm/). Αυτός ο οδηγός θεωρεί επίσης ότι οι αναγνώστες έχουν γνώσεις προγραμματισμού έξυπνων συμβολαίων. + +## Τι είναι η αναβάθμιση έξυπνου συμβολαίου; {#what-is-a-smart-contract-upgrade} + +Μια αναβάθμιση έξυπνου συμβολαίου περιλαμβάνει αλλαγή της επιχειρηματικής λογικής ενός έξυπνου συμβολαίου, διατηρώντας παράλληλα την κατάσταση του συμβολαίου. Είναι σημαντικό να διευκρινιστεί ότι η δυνατότητα αναβάθμισης και η μεταβλητότητα δεν συμπίπτουν, ειδικά στο πλαίσιο των έξυπνων συμβολαίων. + +Ακόμη δεν μπορείτε να αλλάξετε ένα πρόγραμμα που έχει αναπτυχθεί σε μια διεύθυνση στο δίκτυο Ethereum. Αλλά μπορείτε να αλλάξετε τον κώδικα που εκτελείται όταν οι χρήστες αλληλεπιδρούν με ένα έξυπνο συμβόλαιο. + +Αυτό μπορεί να γίνει με τις ακόλουθες μεθόδους: + +1. Δημιουργώντας πολλαπλές εκδόσεις ενός έξυπνου συμβολαίου και μετεγκαθιστώντας την κατάσταση (δηλαδή τα δεδομένα) από το παλιό συμβόλαιο σε ένα νέο παράδειγμα του συμβολαίου. + +2. Δημιουργία ξεχωριστών συμβολαίων για την αποθήκευση επιχειρηματικής λογικής και κατάστασης. + +3. Χρήση μοτίβων διακομιστή μεσολάβησης για την ανάθεση κλήσεων συναρτήσεων από μια σύμβαση αμετάβλητου διακομιστή μεσολάβησης σε ένα τροποποιήσιμο συμβόλαιο λογικής. + +4. Δημιουργία ενός αμετάβλητου κύριου συμβολαίου που συνδέεται και βασίζεται σε ευέλικτα δορυφορικά συμβόλαια για την εκτέλεση συγκεκριμένων συναρτήσεων. + +5. Χρησιμοποιώντας το μοτίβο διαμαντιού για την ανάθεση κλήσεων συναρτήσεων από συμβόλαιο μεσολάβησης σε συμβόλαια λογικής. + +### Μηχανισμός αναβάθμισης #1: Μετεγκατάσταση συμβολαίου {#contract-migration} + +Η μετεγκατάσταση συμβολαίου βασίζεται στη δημιουργία εκδόσεων — την ιδέα της δημιουργίας και διαχείρισης μοναδικών καταστάσεων του ίδιου λογισμικού. Η μετεγκατάσταση συμβολαίων περιλαμβάνει την ανάπτυξη νέου παραδείγματος ενός υπάρχοντος έξυπνου συμβολαίου και τη μεταφορά αποθήκευσης και υπολοίπων στο νέο συμβόλαιο. + +Το συμβόλαιο που αναπτύχθηκε πρόσφατα θα έχει έναν κενό χώρο αποθήκευσης, επιτρέποντάς σας να ανακτήσετε δεδομένα από το παλιό συμβόλαιο και να τα εγγράψετε στη νέα υλοποίηση. Στη συνέχεια, θα πρέπει να ενημερώσετε όλα τα συμβόλαια που αλληλεπιδρούσαν με το παλιό συμβόλαιο, ώστε να αντικατοπτρίζουν τη νέα διεύθυνση. + +Το τελευταίο βήμα στη μετεγκατάσταση συμβολαίου είναι να πειστούν οι χρήστες να στραφούν στη χρήση του νέου συμβολαίου. Η νέα έκδοση του συμβολαίου θα διατηρεί τα υπόλοιπα των χρηστών και τις διευθύνσεις, γεγονός που διατηρεί την αμεταβλητότητα. Εάν πρόκειται για συμβόλαιο που βασίζεται σε κρυπτοπαραστατικά, θα χρειαστεί επίσης να επικοινωνήσετε με τα ανταλλακτήρια για να απορρίψετε το παλιό συμβόλαιο και να χρησιμοποιήσετε το νέο. + +Η μετεγκατάσταση συμβολαίων είναι ένα σχετικά απλό και ασφαλές μέτρο για την αναβάθμιση έξυπνων συμβολαίων χωρίς να διακόπτονται οι αλληλεπιδράσεις των χρηστών. Ωστόσο, η χειροκίνητη μετεγκατάσταση της αποθήκευσης και των υπολοίπων των χρηστών στη νέα σύμβαση είναι χρονοβόρα και μπορεί να επιφέρει υψηλό κόστος gas. + +[Περισσότερα για τη μετεγκατάσταση συμβολαίων.](https://blog.trailofbits.com/2018/10/29/how-contract-migration-works/) + +### Μηχανισμός αναβάθμισης #2: Διαχωρισμός δεδομένων {#data-separation} + +Μια άλλη μέθοδος για την αναβάθμιση των έξυπνων συμβολαίων είναι ο διαχωρισμός της επιχειρηματικής λογικής και της αποθήκευσης δεδομένων σε ξεχωριστά συμβόλαια. Αυτό σημαίνει ότι οι χρήστες αλληλεπιδρούν με το συμβόλαιο λογικής, ενώ τα δεδομένα αποθηκεύονται στο συμβόλαιο αποθήκευσης. + +Το συμβόλαιο λογικής περιέχει τον κώδικα που εκτελείται όταν οι χρήστες αλληλεπιδρούν με την εφαρμογή. Διατηρεί επίσης τη διεύθυνση του συμβολαίου αποθήκευσης και αλληλεπιδρά μαζί της για τη λήψη και τη ρύθμιση δεδομένων. + +Την ίδια στιγμή, το συμβόλαιο αποθήκευσης διατηρεί την κατάσταση που σχετίζεται με το έξυπνο συμβόλαιο, όπως τα υπόλοιπα των χρηστών και οι διευθύνσεις. Σημειώστε ότι το συμβόλαιο αποθήκευσης ανήκει στο συμβόλαιο λογικής και έχει διαμορφωθεί με τη διεύθυνση του τελευταίου κατά την ανάπτυξη. Αυτό εμποδίζει τα μη εξουσιοδοτημένα συμβόλαια να καλέσουν το συμβόλαιο αποθήκευσης ή να ενημερώσουν τα δεδομένα του. + +Από προεπιλογή, το συμβόλαιο αποθήκευσης είναι αμετάβλητο — αλλά μπορείτε να αντικαταστήσετε το συμβόλαιο λογικής στην οποία υποδεικνύει με μια νέα υλοποίηση. Αυτό θα αλλάξει τον κώδικα που εκτελείται στο EVM, διατηρώντας παράλληλα ανέπαφα την αποθήκευση και τα υπόλοιπα. + +Η χρήση αυτής της μεθόδου αναβάθμισης απαιτεί ενημέρωση της διεύθυνσης του συμβολαίου λογικής στο συμβόλαιο αποθήκευσης. Πρέπει επίσης να διαμορφώσετε το νέο συμβόλαιο λογικής με τη διεύθυνση του συμβολαίου αποθήκευσης για λόγους που εξηγήθηκαν προηγουμένως. + +Το μοτίβο διαχωρισμού δεδομένων είναι αναμφισβήτητα ευκολότερο στην εφαρμογή σε σύγκριση με τη μετεγκατάσταση συμβολαίων. Ωστόσο, θα πρέπει να διαχειριστείτε πολλαπλά συμβόλαια και να εφαρμόσετε πολύπλοκα συστήματα εξουσιοδότησης για την προστασία των έξυπνων συμβολαίων από κακόβουλες αναβαθμίσεις. + +### Μηχανισμός αναβάθμισης #3: Μοτίβα μεσολάβησης {#proxy-patterns} + +Το μοτίβο μεσολάβησης χρησιμοποιεί επίσης διαχωρισμό δεδομένων για να διατηρεί την επιχειρηματική λογική και τα δεδομένα σε ξεχωριστά συμβόλαια. Ωστόσο, σε ένα μοτίβο μεσολάβησης, το συμβόλαιο αποθήκευσης (που ονομάζεται πληρεξούσιο) καλεί το συμβόλαιο λογικής κατά την εκτέλεση του κώδικα. Αυτό είναι το αντίστροφο της μεθόδου διαχωρισμού δεδομένων, όπου το συμβόλαιο λογικής καλεί το συμβόλαιο αποθήκευσης. + +Σε ένα μοτίβο μεσολάβησης συμβαίνει το εξής: + +1. Οι χρήστες αλληλεπιδρούν με το συμβόλαιο μεσολάβησης, το οποίο αποθηκεύει δεδομένα, αλλά δεν διατηρεί την επιχειρηματική λογική. + +2. Το συμβόλαιο μεσολάβησης αποθηκεύει τη διεύθυνση του συμβολαίου λογικής και εκχωρεί όλες τις κλήσεις λειτουργίας στο συμβόλαιο λογικής (το οποίο διατηρεί την επιχειρηματική λογική) χρησιμοποιώντας τη συνάρτηση `delegatecall`. + +3. Αφού προωθηθεί η κλήση στο συμβόλαιο λογικής, τα επιστρεφόμενα δεδομένα από το συμβόλαιο λογικής ανακτώνται και επιστρέφονται στον χρήστη. + +Η χρήση των μοτίβων μεσολάβησης απαιτεί κατανόηση της λειτουργίας **delegatecall**. Βασικά, το `delegatecall` είναι ένας κωδικός ενεργοποίησης που επιτρέπει σε ένα συμβόλαιο να καλέσει ένα άλλο συμβόλαιο, ενώ η πραγματική εκτέλεση του κώδικα πραγματοποιείται στο πλαίσιο του συμβολαίου κλήσης. Μια συνέπεια της χρήσης `delegatecall` σε μοτίβα διακομιστή μεσολάβησης είναι ότι το συμβόλαιο διακομιστή μεσολάβησης διαβάζει και γράφει στην αποθήκευσή του και εκτελεί λογική που είναι αποθηκευμένη στο συμβόλαιο λογικής σαν να καλεί μια εσωτερική λειτουργία. + +Από το έγγραφο [Τεκμηρίωση του Solidity](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html#delegatecall-callcode-and-libraries): + +> _Υπάρχει μια ειδική παραλλαγή μιας κλήσης μηνύματος, που ονομάζεται **delegatecall** η οποία είναι πανομοιότυπη με μια κλήση μηνύματος, εκτός από το γεγονός ότι ο κώδικας στη διεύθυνση προορισμού εκτελείται στο πλαίσιο (δηλ. στη διεύθυνση) του συμβολαίου κλήσης και τα `msg.sender` και `msg.value` δεν αλλάζουν τις τιμές τους._ _Αυτό σημαίνει ότι ένα συμβόλαιο μπορεί να φορτώσει δυναμικά τον κώδικα από διαφορετική διεύθυνση κατά την εκτέλεση. Ο χώρος μνήμης, η τρέχουσα διεύθυνση και το υπόλοιπο εξακολουθούν να αναφέρονται στο συμβόλαιο κλήσης, μόνο ο κωδικός λαμβάνεται από την καλούμενη διεύθυνση._ + +Το συμβόλαιο μεσολάβησης ξέρει να καλεί `delegatecall` κάθε φορά που ένας χρήστης καλεί μια συνάρτηση, επειδή έχει ενσωματωμένη μια συνάρτηση `fallback`. Στον προγραμματισμό με Solidity, η [συνάρτηση fallback](https://docs.soliditylang.org/en/latest/contracts.html#fallback-function) εκτελείται όταν μια κλήση συνάρτησης δεν ταιριάζει με συναρτήσεις που καθορίζονται σε ένα συμβόλαιο. + +Για να λειτουργήσει το μοτίβο μεσολάβησης απαιτείται η σύνταξη μιας προσαρμοσμένης συνάρτησης fallback που καθορίζει τον τρόπο με τον οποίο το συμβόλαιο μεσολάβησης θα πρέπει να χειρίζεται τις κλήσεις λειτουργίας που δεν υποστηρίζει. Σε αυτήν την περίπτωση, η συνάρτηση fallback του πληρεξουσίου είναι προγραμματισμένη να εκκινεί μια κλήση αντιπροσώπου και να επαναδρομολογεί το αίτημα του χρήστη στην τρέχουσα εφαρμογή συμβολαίου λογικής. + +Το συμβόλαιο μεσολάβησης είναι αμετάβλητο από προεπιλογή, αλλά μπορούν να δημιουργηθούν νέα συμβόλαια λογικής με ενημερωμένη επιχειρηματική λογική. Η εκτέλεση της αναβάθμισης είναι στη συνέχεια θέμα αλλαγής της διεύθυνσης του συμβολαίου λογικής που αναφέρεται στο συμβόλαιο μεσολάβησης. + +Υποδεικνύοντας τη σύμβαση μεσολάβησης σε μια νέο συμβόλαιο λογικής, αλλάζει ο κώδικας που εκτελείται όταν οι χρήστες καλούν τη συνάρτηση συμβολαίου μεσολάβησης. Αυτό μας επιτρέπει να αναβαθμίσουμε τη λογική ενός συμβολαίου χωρίς να ζητάμε από τους χρήστες να αλληλεπιδρούν με ένα νέο συμβόλαιο. + +Τα μοτίβα μεσολάβησης είναι μια δημοφιλής μέθοδος για την αναβάθμιση έξυπνων συμβολαίων, επειδή εξαλείφουν τις δυσκολίες που σχετίζονται με τη μετεγκατάσταση συμβολαίων. Ωστόσο, τα μοτίβα μεσολάβησης είναι πιο περίπλοκα στη χρήση και μπορούν να εισαγάγουν κρίσιμα ελαττώματα, όπως [συγκρούσεις επιλογέα συνάρτησης](https://medium.com/nomic-foundation-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357), εάν δεν χρησιμοποιηθούν σωστά. + +[Περισσότερα για τα μοτίβα μεσολάβησης](https://blog.openzeppelin.com/proxy-patterns/). + +### Μηχανισμός αναβάθμισης #4: Μοτίβο στρατηγικής {#strategy-pattern} + +Αυτή η τεχνική επηρεάζεται από το [μοτίβο στρατηγικής](https://en.wikipedia.org/wiki/Strategy_pattern), το οποίο ενθαρρύνει τη δημιουργία προγραμμάτων λογισμικού που διασυνδέονται με άλλα προγράμματα για την υλοποίηση συγκεκριμένων χαρακτηριστικών. Η εφαρμογή του μοτίβου στρατηγικής στην ανάπτυξη του Ethereum θα σήμαινε τη δημιουργία ενός έξυπνου συμβολαίου που καλεί λειτουργίες από άλλα συμβόλαια. + +Το κύριο συμβόλαιο σε αυτήν την περίπτωση περιέχει την βασική επιχειρηματική λογική, αλλά διασυνδέεται με άλλα έξυπνα συμβόλαια («δορυφορικά συμβόλαια») για την εκτέλεση ορισμένων λειτουργιών. Αυτό το κύριο συμβόλαιο αποθηκεύει επίσης τη διεύθυνση για κάθε δορυφορικό συμβόλαιο και μπορεί να εναλλάσσεται μεταξύ διαφορετικών υλοποιήσεων των δορυφορικών συμβολαίων. + +Μπορείτε να δημιουργήσετε ένα νέο δορυφορικό συμβόλαιο και να διαμορφώσετε το κύριο συμβόλαιο με τη νέα διεύθυνση. Αυτό σας επιτρέπει να αλλάξετε _στρατηγικές_ (δηλαδή, να εφαρμόσετε νέα λογική) για ένα έξυπνο συμβόλαιο. + +Αν και είναι παρεμφερές με το μοτίβο της μεσολάβησης που συζητήθηκε προηγουμένως, το μοτίβο στρατηγικής είναι διαφορετικό επειδή το κύριο συμβόλαιο, με το οποίο αλληλεπιδρούν οι χρήστες, έχει την επιχειρηματική λογική. Η χρήση αυτού του μοτίβου σας δίνει την ευκαιρία να εισάγετε περιορισμένες αλλαγές σε ένα έξυπνο συμβόλαιο χωρίς να επηρεαστεί η βασική υποδομή. + +Το κύριο μειονέκτημα είναι ότι αυτό το μοτίβο είναι κυρίως χρήσιμο για μικρές αναβαθμίσεις. Επίσης, εάν το κύριο συμβόλαιο παραβιαστεί (π.χ. με χακάρισμα), δεν μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο αναβάθμισης. + +### Μηχανισμός αναβάθμισης #5: Μοτίβο διαμαντιού {#diamond-pattern} + +Το μοτίβο διαμαντιού μπορεί να θεωρηθεί ως βελτίωση του μοτίβου μεσολάβησης. Τα μοτίβα διαμαντιού διαφέρουν από τα μοτίβα μεσολάβησης επειδή το συμβόλαιο μεσολάβησης διαμαντιού μπορεί να εκχωρήσει κλήσεις συναρτήσεων σε περισσότερα από ένα συμβόλαια λογικής. + +Τα συμβόλαια λογικής στο μοτίβο διαμαντιού είναι γνωστά ως _όψεις_. Για να λειτουργήσει το μοτίβο διαμαντιού, πρέπει να δημιουργήσετε μια χαρτογράφηση στο συμβόλαιο μεσολάβησης που αντιστοιχίζει [επιλογείς συνάρτησης](https://docs.soliditylang.org/en/latest/abi-spec.html#function-selector) σε διαφορετικές διευθύνσεις όψεων. + +Όταν ένας χρήστης πραγματοποιεί μια κλήση συνάρτησης, το συμβόλαιο μεσολάβησης ελέγχει την αντιστοίχιση για να βρει την όψη που είναι υπεύθυνη για την εκτέλεση αυτής της συνάρτησης. Στη συνέχεια, καλεί το `delegatecall` (χρησιμοποιώντας τη συνάρτηση fallback) και ανακατευθύνει την κλήση στο κατάλληλο συμβόλαιο λογικής. + +Το μοτίβο αναβάθμισης διαμαντιού έχει ορισμένα πλεονεκτήματα σε σχέση με τα παραδοσιακά μοτίβα αναβάθμισης μεσολάβησης: + +1. Σας επιτρέπει να αναβαθμίσετε ένα μικρό μέρος του συμβολαίου χωρίς να αλλάξετε όλο τον κώδικα. Η χρήση του μοτίβου μεσολάβησης για αναβαθμίσεις απαιτεί τη δημιουργία ενός εντελώς νέου συμβολαίου λογικής, ακόμη και για μικρές αναβαθμίσεις. + +2. Όλα τα έξυπνα συμβόλαια (συμπεριλαμβανομένων των συμβολαίων λογικής που χρησιμοποιούνται σε μοτίβα μεσολάβησης) έχουν όριο μεγέθους 24KB, το οποίο μπορεί να συνιστά περιορισμό — ειδικά για πολύπλοκες συμβάσεις που απαιτούν περισσότερες λειτουργίες. Το μοτίβο διαμαντιού διευκολύνει την επίλυση αυτού του προβλήματος διαχωρίζοντας τις συναρτήσεις σε πολλαπλά συμβόλαια λογικής. + +3. Τα μοτίβα μεσολάβησης υιοθετούν μια γενική προσέγγιση για τα στοιχεία ελέγχου πρόσβασης. Μια οντότητα με πρόσβαση σε λειτουργίες αναβάθμισης μπορεί να αλλάξει _ολόκληρη_ τη σύμβαση. Ωστόσο, το μοτίβο διαμαντιού επιτρέπει μια προσέγγιση αρθρωτών αδειών, όπου μπορείτε να περιορίσετε τις οντότητες στην αναβάθμιση ορισμένων λειτουργιών στο πλαίσιο έξυπνου συμβολαίου. + +[Περισσότερα για το μοτίβο διαμαντιού](https://eip2535diamonds.substack.com/p/introduction-to-the-diamond-standard?s=w). + +## Πλεονεκτήματα και μειονεκτήματα της αναβάθμισης των έξυπνων συμβολαίων {#pros-and-cons-of-upgrading-smart-contracts} + +| Πλεονεκτήματα | Μειονεκτήματα | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Η αναβάθμιση ενός έξυπνου συμβολαίου μπορεί να διευκολύνει την επιδιόρθωση των τρωτών σημείων που ανακαλύφθηκαν στη φάση μετά την ανάπτυξη. | Η αναβάθμιση των έξυπνων συμβολαίων αναιρεί την ιδέα του αμετάβλητου κώδικα, η οποία έχει επιπτώσεις στην αποκέντρωση και την ασφάλεια. | +| Οι προγραμματιστές μπορούν να χρησιμοποιήσουν αναβαθμίσεις λογικής για να προσθέσουν νέες δυνατότητες σε αποκεντρωμένες εφαρμογές. | Οι χρήστες πρέπει είναι σίγουροι ότι οι προγραμματιστές δεν τροποποιούν αυθαίρετα τα έξυπνα συμβόλαια. | +| Οι αναβαθμίσεις έξυπνων συμβολαίων μπορούν να βελτιώσουν την ασφάλεια για τους τελικούς χρήστες, καθώς τα σφάλματα μπορούν να διορθωθούν γρήγορα. | Ο προγραμματισμός της λειτουργικότητας αναβάθμισης στα έξυπνα συμβόλαια προσθέτει άλλο ένα επίπεδο πολυπλοκότητας και αυξάνει την πιθανότητα κρίσιμων ελαττωμάτων. | +| Οι αναβαθμίσεις συμβολαίων δίνουν στους προγραμματιστές περισσότερο χώρο να πειραματιστούν με διαφορετικές λειτουργίες και να βελτιώσουν τα dapp με την πάροδο του χρόνου. | Η ευκαιρία για αναβάθμιση έξυπνων συμβολαίων μπορεί να ενθαρρύνει τους προγραμματιστές να ξεκινήσουν έργα πιο γρήγορα χωρίς τη δέουσα επιμέλεια κατά τη φάση ανάπτυξης. | +| | Ο έλεγχος πρόσβασης χωρίς ασφάλεια ή ο συγκεντρωτισμός στα έξυπνα συμβόλαια μπορεί να διευκολύνει τους κακόβουλους φορείς να εκτελούν μη εξουσιοδοτημένες αναβαθμίσεις. | + +## Εκτιμήσεις για την αναβάθμιση των έξυπνων συμβολαίων {#considerations-for-upgrading-smart-contracts} + +1. Χρησιμοποιήστε μηχανισμούς ασφαλούς ελέγχου πρόσβασης/εξουσιοδότησης για να αποτρέψετε μη εξουσιοδοτημένες αναβαθμίσεις έξυπνων συμβολαίων, ειδικά εάν χρησιμοποιείτε μοτίβα μεσολάβησης, μοτίβα στρατηγικής ή διαχωρισμό δεδομένων. Ένα παράδειγμα είναι ο περιορισμός της πρόσβασης στη λειτουργία αναβάθμισης, έτσι ώστε μόνο ο κάτοχος του συμβολαίου να μπορεί να το καλέσει. + +2. Η αναβάθμιση των έξυπνων συμβολαίων είναι μια σύνθετη δραστηριότητα και απαιτεί υψηλό επίπεδο επιμέλειας για την πρόληψη της εισαγωγής τρωτών σημείων. + +3. Μειώστε τις υποθέσεις εμπιστοσύνης αποκεντρώνοντας τη διαδικασία υλοποίησης αναβαθμίσεων. Πιθανές στρατηγικές περιλαμβάνουν τη χρήση [συμβολαίου πορτοφολιού πολλαπλών υπογραφών](/developers/docs/smart-contracts/#multisig) για τον έλεγχο των αναβαθμίσεων ή την απαίτηση από τα [μέλη DAO](/dao/) να ψηφίσουν για την έγκριση της αναβάθμισης. + +4. Να γνωρίζετε το κόστος που συνεπάγεται η αναβάθμιση των συμβολαίων. Για παράδειγμα, η αντιγραφή κατάστασης (π.χ. υπόλοιπα χρηστών) από ένα παλιό συμβόλαιο σε ένα νέο συμβόλαιο κατά τη μετεγκατάσταση συμβολαίου μπορεί να απαιτεί περισσότερες από μία συναλλαγές, δηλαδή περισσότερες κρατήσεις gas. + +5. Εξετάστε το ενδεχόμενο εφαρμογής **timelock** για την προστασία των χρηστών. Το timelock αναφέρεται σε μια καθυστέρηση που επιβάλλεται στις αλλαγές σε ένα σύστημα. Τα timelock μπορούν να συνδυαστούν με ένα σύστημα διακυβέρνησης πολλαπλών υπογραφών για τον έλεγχο των αναβαθμίσεων: εάν μια προτεινόμενη ενέργεια φτάσει το απαιτούμενο όριο έγκρισης, δεν εκτελείται μέχρι να παρέλθει η προκαθορισμένη περίοδος καθυστέρησης. + +Τα timelock δίνουν στους χρήστες κάποιο χρόνο για έξοδο από το σύστημα εάν διαφωνούν με μια προτεινόμενη αλλαγή (π.χ. αναβάθμιση λογικής ή νέα συστήματα τελών). Χωρίς timelock, οι χρήστες πρέπει να εμπιστεύονται τους προγραμματιστές να μην εφαρμόζουν αυθαίρετες αλλαγές σε ένα έξυπνο συμβόλαιο χωρίς προηγούμενη ειδοποίηση. Το μειονέκτημα εδώ είναι ότι τα timelock περιορίζουν τη δυνατότητα γρήγορης επιδιόρθωσης ευπαθειών. + +## Πηγές {#resources} + +**Plugin αναβαθμίσεων OpenZeppelin - _Μια σουίτα εργαλείων για την ανάπτυξη και την εξασφάλιση αναβαθμίσιμων έξυπνων συμβολαίων._** + +- [GitHub](https://github.com/OpenZeppelin/openzeppelin-upgrades) +- [Τεκμηρίωση](https://docs.openzeppelin.com/upgrades) + +## Σεμινάρια {#tutorials} + +- [Αναβαθμίστε τα έξυπνα συμβόλαιά σας | Εκπαιδευτικό υλικό στο YouTube](https://www.youtube.com/watch?v=bdXJmWajZRY) του Patrick Collins +- [Εκπαιδευτικό υλικό μετεγκατάστασης έξυπνων συμβολαίων στο Ethereum](https://medium.com/coinmonks/ethereum-smart-contract-migration-13f6f12539bd) του Austin Griffith +- [Χρήση του μοτίβου μεσολάβησης UUPS για να αναβαθμίσετε τα έξυπνα συμβόλαιά σας](https://blog.logrocket.com/author/praneshas/) του Pranesh A.S +- [Εκπαιδευτκό υλικό στο Web3: Γράψτε αναβαθμίσιμο έξυπνο συμβόλαιο (πληρεξούσιο) χρησιμοποιώντας το OpenZeppelin](https://dev.to/yakult/tutorial-write-upgradeable-smart-contract-proxy-contract-with-openzeppelin-1916) του fangjun.eth + +## Περισσότερες πληροφορίες {#further-reading} + +- [Η κατάσταση των αναβαθμίσεων έξυπνων συμβολαίων](https://blog.openzeppelin.com/the-state-of-smart-contract-upgrades/) του Santiago Palladino +- [Πολλοί τρόποι αναβάθμισης ενός έξυπνου συμβολαίου Solidity](https://cryptomarketpool.com/multiple-ways-to-upgrade-a-solidity-smart-contract/) - Crypto Market Pool blog +- [Μαθαίνω: Αναβάθμιση έξυπνων συμβολαίων](https://docs.openzeppelin.com/learn/upgrading-smart-contracts) - OpenZeppelin Docs +- [Μοτίβα μεσολάβησης για τη δυνατότητα αναβάθμισης των συμβολαίων Solidity: Πληρεξούσια διαφανή ή UUPS](https://mirror.xyz/0xB38709B8198d147cc9Ff9C133838a044d78B064B/M7oTptQkBGXxox-tk9VJjL66E1V8BUF0GF79MMK4YG0) του Naveen Sahu +- [Πώς λειτουργούν οι αναβαθμίσεις διαμαντιού](https://dev.to/mudgen/how-diamond-upgrades-work-417j) του Nick Mudge diff --git a/public/content/translations/el/developers/docs/smart-contracts/verifying/index.md b/public/content/translations/el/developers/docs/smart-contracts/verifying/index.md new file mode 100644 index 00000000000..07bb17a17c0 --- /dev/null +++ b/public/content/translations/el/developers/docs/smart-contracts/verifying/index.md @@ -0,0 +1,107 @@ +--- +title: Επαλήθευση έξυπνων συμβολαίων +description: Μια επισκόπηση της επαλήθευσης πηγαίου κώδικα για έξυπνα συμβόλαια Ethereum +lang: el +--- + +Τα [έξυπνα συμβόλαια](/developers/docs/smart-contracts/) έχουν σχεδιαστεί για να μην απαιτούν παροχή εμπιστοσύνης, που σημαίνει ότι οι χρήστες δεν χρειάζεται να εμπιστεύονται τρίτα μέρη (π.χ. προγραμματιστές και εταιρείες) πριν αλληλεπιδράσουν με ένα συμβόλαιο. Ως προϋπόθεση για την έλλειψη απαίτησης παροχής εμπιστοσύνης, οι χρήστες και άλλοι προγραμματιστές πρέπει να μπορούν να επαληθεύουν τον πηγαίο κώδικα ενός έξυπνου συμβολαίου. Η επαλήθευση πηγαίου κώδικα διαβεβαιώνει τους χρήστες και τους προγραμματιστές ότι ο δημοσιευμένος κώδικας συμβολαίου είναι ο ίδιος κώδικας που εκτελείται στη διεύθυνση του συμβολαίου στην κρυπτοαλυσίδα Ethereum. + +Είναι σημαντικό να γίνει η διάκριση μεταξύ «επαλήθευσης πηγαίου κώδικα» και «[τυπικής επαλήθευσης](/developers/docs/smart-contracts/formal-verification/)». Η επαλήθευση πηγαίου κώδικα, η οποία θα εξηγηθεί λεπτομερώς παρακάτω, αναφέρεται στην επαλήθευση ότι ο δεδομένος πηγαίος κώδικας ενός έξυπνου συμβολαίου σε μια γλώσσα υψηλού επιπέδου (π.χ. Solidity) μεταγλωττίζεται στον ίδιο bytecode που θα εκτελεστεί στη διεύθυνση του συμβολαίου. Ωστόσο, η τυπική επαλήθευση περιγράφει την επαλήθευση της ορθότητας ενός έξυπνου συμβολαίου, που σημαίνει ότι το συμβόλαιο συμπεριφέρεται κατά τα αναμενόμενα. Αν και εξαρτάται από το πλαίσιο, η επαλήθευση συμβολαίου συνήθως αναφέρεται στην επαλήθευση του πηγαίου κώδικα. + +## Τι είναι η επαλήθευση πηγαίου κώδικα; {#what-is-source-code-verification} + +Πριν την ανάπτυξη έξυπνου συμβολαίου στο [εικονικό μηχάνημα του Ethereum (EVM)](/developers/docs/evm/), οι προγραμματιστές [μεταγλωττίζουν](/developers/docs/smart-contracts/compiling/) τον πηγαίο κώδικα, δηλαδή τις-οδηγίες του συμβολαίου [γραμμένες σε Solidity](/developers/docs/smart-contracts/languages/) ή σε άλλη υψηλού επιπέδου γλώσσα προγραμματισμού — σε bytecode. Καθώς το EVM δεν μπορεί να ερμηνεύσει εντολές υψηλού επιπέδου, η μεταγλώττιση του πηγαίου κώδικα σε bytecode (δηλαδή, χαμηλού επιπέδου, οδηγίες μηχανήματος) είναι απαραίτητη για την εκτέλεση του συμβολαίου λογικής στο EVM. + +Η επαλήθευση πηγαίου κώδικα συγκρίνει τον πηγαίο κώδικα ενός έξυπνου συμβολαίου και το μεταγλωττισμένο bytecode που χρησιμοποιείται κατά τη δημιουργία του συμβολαίου για τον εντοπισμό τυχόν διαφορών. Η επαλήθευση των έξυπνων συμβολαίων είναι σημαντική, επειδή ο διαφημιζόμενος κώδικας συμβολαίου μπορεί να είναι διαφορετικός από αυτόν που εκτελείται στην κρυπτοαλυσίδα. + +Η επαλήθευση έξυπνου συμβολαίου επιτρέπει να διερευνηθεί τι κάνει ένα συμβόλαιο μέσω της γλώσσας ανώτερου επιπέδου στην οποία είναι γραμμένο, χωρίς να χρειάζεται να διαβάσετε τον κώδικα του μηχανήματος. Οι συναρτήσεις, οι αξίες και συνήθως τα ονόματα και τα σχόλια των μεταβλητών παραμένουν ίδια με τον αρχικό πηγαίο κώδικα που μεταγλωττίζεται και αναπτύσσεται. Αυτό κάνει την ανάγνωση κώδικα πολύ πιο εύκολη. Η επαλήθευση πηγής προβλέπει επίσης τεκμηρίωση κώδικα, έτσι ώστε οι τελικοί χρήστες να γνωρίζουν τι έχει σχεδιαστεί για ένα έξυπνο συμβόλαιο. + +### Τι είναι η πλήρης επαλήθευση; {#full-verification} + +Υπάρχουν ορισμένα τμήματα του πηγαίου κώδικα που δεν επηρεάζουν τον μεταγλωττισμένο bytecode, όπως σχόλια ή ονόματα μεταβλητών. Αυτό σημαίνει ότι δύο πηγαίοι κώδικες με διαφορετικά ονόματα μεταβλητών και διαφορετικά σχόλια θα μπορούν και οι δύο να επαληθεύουν το ίδιο συμβόλαιο. Με αυτό, ένα κακόβουλο άτομο μπορεί να προσθέσει παραπλανητικά σχόλια ή να δώσει παραπλανητικά ονόματα μεταβλητών μέσα στον πηγαίο κώδικα και να επαληθεύσει το συμβόλαιο με έναν πηγαίο κώδικα διαφορετικό από τον αρχικό πηγαίο κώδικα. + +Αυτό είναι δυνατό να αποφευχθεί με την προσθήκη επιπλέον δεδομένων στο bytecode για να χρησιμεύσει ως _κρυπτογραφική εγγύηση_ για την ακρίβεια του πηγαίου κώδικα και ως _δαχτυλικό αποτύπωμα_ των πληροφοριών μεταγλώττισης. Οι απαραίτητες πληροφορίες βρίσκονται στα [μεταδεδομένα του συμβολαίου Solidity](https://docs.soliditylang.org/en/v0.8.15/metadata.html) και ο κατακερματισμός (hash) αυτού του αρχείου προσαρτάται στον bytecode του συμβολαίου. Μπορείτε να το δείτε σε δράση στον [χώρο δοκιμών μεταδεδομένων](https://playground.sourcify.dev) + +Το αρχείο μεταδεδομένων περιέχει πληροφορίες σχετικά με τη σύνταξη της συμβολαίου, συμπεριλαμβανομένων των αρχείων προέλευσης και των hash τους. Αυτό σημαίνει ότι εάν αλλάξει κάποια από τις ρυθμίσεις μεταγλώττισης ή ακόμα και ένα byte σε ένα από τα αρχεία προέλευσης, αλλάζει το αρχείο μεταδεδομένων. Κατά συνέπεια, αλλάζει και το hash του αρχείου μεταδεδομένων, το οποίο προσαρτάται στο bytecode. Αυτό σημαίνει ότι εάν το bytecode ενός συμβολαίου και το συνημμένο hash μεταδεδομένων ταιριάζουν με τον δεδομένο πηγαίο κώδικα και τις ρυθμίσεις μεταγλώττισης, μπορούμε να είμαστε σίγουροι ότι πρόκειται ακριβώς για τον ίδιο πηγαίο κώδικα που χρησιμοποιήθηκε στην αρχική συλλογή, ούτε καν ένα byte δεν είναι διαφορετικό. + +Αυτός ο τύπος επαλήθευσης που αξιοποιεί το hash μεταδεδομένων αναφέρεται ως **"[πλήρης επαλήθευση](https://docs.sourcify.dev/docs/full-vs-partial-match/)** (επίσης «τέλεια επαλήθευση»). Εάν τα hash μεταδεδομένων δεν ταιριάζουν ή δεν λαμβάνονται υπόψη κατά την επαλήθευση, θα είναι μια «μερική αντιστοίχιση», που επί του παρόντος είναι ο πιο συνηθισμένος τρόπος επαλήθευσης των συμβολαίων. Είναι δυνατό να [εισαχθεί κακόβουλος κώδικας](https://samczsun.com/hiding-in-plain-sight/) που δεν θα αντικατοπτρίζεται στον επαληθευμένο πηγαίο κώδικα χωρίς πλήρη επαλήθευση. Οι περισσότεροι προγραμματιστές δεν γνωρίζουν για την πλήρη επαλήθευση και δεν διατηρούν το αρχείο μεταδεδομένων της μεταγλώττισής τους, επομένως η μερική επαλήθευση ήταν η πραγματική μέθοδος επαλήθευσης των συμβολαίων μέχρι στιγμής. + +## Γιατί είναι σημαντική η επαλήθευση του πηγαίου κώδικα; {#importance-of-source-code-verification} + +### Εμπιστοσύνη {#trustlessness} + +Η έλλειψη απαίτησης παροχής εμπιστοσύνης είναι αναμφισβήτητα η μεγαλύτερη προϋπόθεση για τα έξυπνα συμβόλαια και τις [αποκεντρωμένες εφαρμογές (dapp)](/developers/docs/dapps/). Τα έξυπνα συμβόλαια είναι «αμετάβλητα» και δεν μπορούν να τροποποιηθούν. Ένα συμβόλαιο θα εκτελεί μόνο την επιχειρηματική λογική που ορίζεται στον κώδικα κατά τη στιγμή της ανάπτυξης. Αυτό σημαίνει ότι οι προγραμματιστές και οι επιχειρήσεις δεν μπορούν να παραβιάσουν τον κώδικα ενός συμβολαίου μετά την ανάπτυξη στο Ethereum. + +Για να είναι ένα αξιόπιστο έξυπνο συμβόλαιο, ο κώδικας συμβολαίου θα πρέπει να είναι διαθέσιμος για ανεξάρτητη επαλήθευση. Ενώ ο μεταγλωττισμένος bytecode για κάθε έξυπνο συμβόλαιο είναι δημόσια διαθέσιμος στην κρυπτοαλυσίδα, η γλώσσα χαμηλού επιπέδου είναι δύσκολο να κατανοηθεί τόσο για τους προγραμματιστές όσο και για τους χρήστες. + +Τα έργα μειώνουν τις υποθέσεις εμπιστοσύνης δημοσιεύοντας τον πηγαίο κώδικα των συμβολαίων τους. Αυτό όμως οδηγεί σε ένα άλλο πρόβλημα: είναι δύσκολο να επαληθευτεί ότι ο δημοσιευμένος πηγαίος κώδικας ταιριάζει με τον bytecode της συμβολαίου. Σε αυτό το σενάριο, η αξία της έλλειψης απαίτησης παροχής εμπιστοσύνης χάνεται επειδή οι χρήστες πρέπει να έχουν εμπιστοσύνη ότι οι προγραμματιστές δεν θα αλλάξουν την επιχειρηματική λογική ενός συμβολαίου (δηλαδή αλλάζοντας το bytecode) πριν το αναπτύξουν στην κρυπτοαλυσίδα. + +Τα εργαλεία επαλήθευσης πηγαίου κώδικα παρέχουν εγγυήσεις ότι τα αρχεία πηγαίου κώδικα ενός έξυπνου συμβολαίου ταιριάζουν με τον κώδικα συναρμολόγησης. Το αποτέλεσμα είναι ένα οικοσύστημα χωρίς απαίτηση παροχής εμπιστοσύνης, όπου οι χρήστες δεν εμπιστεύονται τυφλά τρίτα μέρη και αντί αυτού επαληθεύουν τον κώδικά πριν καταθέσουν χρήματα σε ένα συμβόλαιο. + +### Ασφάλεια χρήστη {#user-safety} + +Με τα έξυπνα συμβόλαια, διακινδυνεύονται συνήθως πολλά χρήματα. Αυτό απαιτεί υψηλότερες εγγυήσεις ασφάλειας και επαλήθευση της λογικής ενός έξυπνου συμβολαίου πριν το χρησιμοποιήσετε. Το πρόβλημα είναι ότι ασυνείδητοι προγραμματιστές μπορούν να εξαπατήσουν τους χρήστες εισάγοντας κακόβουλο κώδικα σε ένα έξυπνο συμβόλαιο. Χωρίς επαλήθευση, τα κακόβουλα έξυπνα συμβόλαια μπορεί να έχουν [«παραθυράκια»](https://www.trustnodes.com/2018/11/10/concerns-rise-over-backdoored-smart-contracts), αμφιλεγόμενους ελέγχους πρόσβασης μηχανισμού, εκμεταλλεύσιμα τρωτά σημεία και άλλα πράγματα που θέτουν σε κίνδυνο την ασφάλεια των χρηστών, που θα περνούσαν απαρατήρητα. + +Η δημοσίευση των αρχείων πηγαίου κώδικα ενός έξυπνου συμβολαίου διευκολύνει τους ενδιαφερόμενους, όπως οι ελεγκτές, να αξιολογήσουν τη σύμβαση για πιθανούς φορείς επίθεσης. Με πολλά μέλη να επαληθεύουν ανεξάρτητα ένα έξυπνο συμβόλαιο, οι χρήστες έχουν ισχυρότερες εγγυήσεις για την ασφάλειά του. + +## Πώς να επαληθεύσετε πηγαίο κώδικα για τα έξυπνα συμβόλαια του Ethereum {#source-code-verification-for-ethereum-smart-contracts} + +[Η ανάπτυξη ενός έξυπνου συμβολαίου στο Ethereum](/developers/docs/smart-contracts/deploying/) απαιτεί την αποστολή μιας συναλλαγής με «payload δεδομένων» (μεταγλωττισμένο bytecode) σε μια ειδική διεύθυνση. Το ωφέλιμο φορτίο δεδομένων παράγεται με τη μεταγλώττιση του πηγαίου κώδικα, συν τα [επιχειρήματα του κατασκευαστή](https://docs.soliditylang.org/en/v0.8.14/contracts.html#constructor) της περίπτωσης συμβολαίου που προσαρτάται στο payload δεδομένων της συναλλαγής. Η μεταγλώττιση είναι ντετερμινιστική, που σημαίνει ότι παράγει πάντα τα ίδια στοιχεία εξαγωγής (δηλαδή, bytecode συμβολαίου) εάν χρησιμοποιούνται τα ίδια αρχεία προέλευσης και ρυθμίσεις μεταγλώττισης (π.χ. έκδοση μεταγλωττιστή, βελτιστοποίησης). + +![Ένα διάγραμμα που δείχνει την επαλήθευση του πηγαίου κώδικα έξυπνου συμβολαίου](./source-code-verification.png) + +Η επαλήθευση ενός έξυπνου συμβολαίου βασικά περιλαμβάνει τα ακόλουθα βήματα: + +1. Εισάγετε τα αρχεία προέλευσης και τις ρυθμίσεις μεταγλώττισης σε έναν μεταγλωττιστή. + +2. Ο μεταγλωττιστής εξάγει το bytecode του συμβολαίου + +3. Λαμβάνετε τον bytecode του αναπτυγμένου συμβολαίου σε μια δεδομένη διεύθυνση + +4. Συγκρίνετε τον αναπτυγμένο bytecode με τον εκ νέου μεταγλωττισμένο bytecode. Εάν οι κώδικες ταιριάζουν, το συμβόλαιο επαληθεύεται με τον δεδομένο πηγαίο κώδικα και τις ρυθμίσεις μεταγλώττισης. + +5. Επιπλέον, εάν οι κατακερματισμοί μεταδεδομένων στο τέλος του bytecode ταιριάζουν, θα πρόκειται για πλήρη ταύτιση. + +Λάβετε υπόψη ότι αυτή είναι μια απλουστευμένη περιγραφή της επαλήθευσης και υπάρχουν πολλές εξαιρέσεις που δεν λειτουργούν με αυτή, όπως η ύπαρξη [αμετάβλητων μεταβλητών](https://docs.sourcify.dev/docs/immutables/). + +## Εργαλεία επαλήθευσης πηγαίου κώδικα {#source-code-verification-tools} + +Η παραδοσιακή διαδικασία επαλήθευσης των συμβολαίων μπορεί να είναι πολύπλοκη. Αυτός είναι ο λόγος για τον οποίο διαθέτουμε εργαλεία για την επαλήθευση του πηγαίου κώδικα για έξυπνα συμβόλαια που αναπτύσσονται στο Ethereum. Αυτά τα εργαλεία αυτοματοποιούν μεγάλα κομμάτια της επαλήθευσης του πηγαίου κώδικα και επιμελούνται επίσης επαληθευμένα συμβόλαια προς όφελος των χρηστών. + +### Etherscan {#etherscan} + +Αν και είναι κυρίως γνωστό ως [εξερευνητής κρυπτοαλυσίδας Ethereum](/developers/docs/data-and-analytics/block-explorers/), το Etherscan προσφέρει επίσης μια [υπηρεσία επαλήθευσης πηγαίου κώδικα](https://etherscan.io/verifyContract) για προγραμματιστές και χρήστες έξυπνων συμβολαίων. + +Το Etherscan σάς επιτρέπει να μεταγλωττίσετε εκ νέου bytecode συμβολαίου από το αρχικό φορτίο δεδομένων (πηγαίος κώδικας, διεύθυνση βιβλιοθήκης, ρυθμίσεις μεταγλωττιστή, διεύθυνση συμβολαίου, κ.λπ.) Εάν το εκ νέου μεταγλωττισμένο bytecode συσχετίζεται με το bytecode (και τις παραμέτρους του κατασκευαστή) του συμβολαίου εντός αλυσίδας, τότε [το συμβόλαιο επαληθεύεται](https://info.etherscan.com/types-of-contract-verification/). + +Αφού επαληθευτεί, ο πηγαίος κώδικας του συμβολαίου σας λαμβάνει μια ετικέτα «Επαληθευμένο» και δημοσιεύεται στο Etherscan για έλεγχο από άλλους. Προστίθεται επίσης στην ενότητα [Επαληθευμένα συμβόλαια](https://etherscan.io/contractsVerified/) — έναν κατάλογο έξυπνων συμβολαίων με επαληθευμένους πηγαίους κώδικες. + +Το Etherscan είναι το ευρύτερα χρησιμοποιούμενο εργαλείο για την επαλήθευση συμβολαίων. Ωστόσο, η επαλήθευση συμβολαίου της Etherscan έχει ένα μειονέκτημα: δεν καταφέρνει να συγκρίνει τον ** hash μεταδεδομένων** του bytecode εντός αλυσίδας και του εκ νέου μεταγλωττισμένου bytecode. Επομένως, οι αντιστοιχίσεις στο Etherscan είναι μερικές αντιστοιχίσεις. + +[Περισσότερα σχετικά με την επαλήθευση συμβολαίων στο Etherscan](https://medium.com/etherscan-blog/verifying-contracts-on-etherscan-f995ab772327). + +### Sourcify {#sourcify} + +Το [Sourcify](https://sourcify.dev/#/verifier) είναι άλλο ένα εργαλείο για την επαλήθευση συμβολαίων που είναι ανοιχτού κώδικα και είναι αποκεντρωμένο. Δεν είναι εξερευνητής μπλοκ και επαληθεύει μόνο συμβόλαια σε [διάφορα δίκτυα που βασίζονται στο EVM](https://docs.sourcify.dev/docs/chains). Λειτουργεί ως δημόσια υποδομή για άλλα εργαλεία που μπορούν να χτιστούν πάνω από αυτό και στοχεύει να επιτρέψει πιο φιλικές προς τον άνθρωπο αλληλεπιδράσεις συμβολαίων χρησιμοποιώντας τα σχόλια [ABI](/developers/docs/smart-contracts/compiling/#web-applications) και [NatSpec](https://docs.soliditylang.org/en/v0.8.15/natspec-format.html) που βρίσκονται στο αρχείο μεταδεδομένων. + +Σε αντίθεση με το Etherscan, το Sourcify υποστηρίζει πλήρεις αντιστοιχίσεις με το hash μεταδεδομένων. Τα επαληθευμένα συμβόλαια προβάλλονται στο [δημόσιο κατάλογο](https://docs.sourcify.dev/docs/repository/) σε HTTP και [IPFS](https://docs.ipfs.io/concepts/what-is-ipfs/#what-is-ipfs), το οποίο είναι ένας αποκεντρωμένος χώρος αποθήκευσης [με διεύθυνση περιεχομένου](https://web3.storage/docs/concepts/content-addressing/). Αυτό επιτρέπει την ανάκτηση του αρχείου μεταδεδομένων ενός συμβολαίου μέσω IPFS, καθώς το hash μεταδεδομένων που έχει προσαρτηθεί είναι hash IPFS. + +Επιπλέον, μπορεί κανείς να ανακτήσει τα αρχεία πηγαίου κώδικα μέσω IPFS, καθώς τα hash IPFS αυτών των αρχείων βρίσκονται επίσης στα μεταδεδομένα. Ένα συμβόλαιο μπορεί να επαληθευτεί παρέχοντας το αρχείο μεταδεδομένων και τα αρχεία προέλευσης μέσω του API ή του [UI](https://sourcify.dev/#/verifier) ή χρησιμοποιώντας τα πρόσθετα εργαλεία (plugin). Το εργαλείο παρακολούθησης Sourcify ακούει επίσης τις δημιουργίες συμβολαίων σε νέα μπλοκ και προσπαθεί να επαληθεύσει τα συμβόλαια εάν τα μεταδεδομένα και τα αρχεία προέλευσης δημοσιεύονται στο IPFS. + +[Περισσότερα σχετικά με την επαλήθευση συμβολαίων στο Sourcify](https://blog.soliditylang.org/2020/06/25/sourcify-faq/). + +### Tenderly {#tenderly} + +Η [πλατφόρμα Tenderly](https://tenderly.co/) επιτρέπει στους προγραμματιστές Web3 να δημιουργούν, να δοκιμάζουν, να παρακολουθούν και να λειτουργούν έξυπνα συμβόλαια. Συνδυάζοντας εργαλεία εντοπισμού σφαλμάτων με τη δυνατότητα παρατήρησης και τα δομικά στοιχεία υποδομής, το Tenderly βοηθά τους προγραμματιστές να επιταχύνουν την ανάπτυξη έξυπνων συμβολαίων. Για να ενεργοποιηθούν πλήρως οι λειτουργίες Tenderly, οι προγραμματιστές πρέπει να [πραγματοποιήσουν επαλήθευση πηγαίου κώδικα](https://docs.tenderly.co/monitoring/contract-verification) χρησιμοποιώντας διάφορες μεθόδους. + +Ένα συμβόλαιο μπορεί να επαληθεύεται ιδιωτικά ή δημόσια. Εάν επαληθευτεί ιδιωτικά, το έξυπνο συμβόλαιο είναι ορατό μόνο σε εσάς (και σε άλλα μέλη του έργου σας). Η επαλήθευση ενός συμβολαίου δημόσια το καθιστά ορατό σε όλους τους χρήστες της πλατφόρμας Tenderly. + +Μπορείτε να επαληθεύσετε τα συμβόλαιά σας χρησιμοποιώντας τον [Πίνακα ελέγχου](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-a-smart-contract), το [πρόσθετο εργαλείο Tenderly Hardhat](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-the-tenderly-hardhat-plugin) ή το [CLI](https://docs.tenderly.co/monitoring/smart-contract-verification/verifying-contracts-using-cli). + +Κατά την επαλήθευση συμβολαίων μέσω του Πίνακα ελέγχου, πρέπει να εισαγάγετε το αρχείο προέλευσης ή το αρχείο μεταδεδομένων που δημιουργείται από τον μεταγλωττιστή Solidity, τη διεύθυνση/δίκτυο και τις ρυθμίσεις του μεταγλωττιστή. + +Η χρήση του πρόσθετου εργαλείου Tenderly Hardhat επιτρέπει περισσότερο έλεγχο στη διαδικασία επαλήθευσης με λιγότερη προσπάθεια, δίνοντάς σας τη δυνατότητα να επιλέξετε μεταξύ αυτόματης (χωρίς κώδικα) και μη αυτόματης επαλήθευσης (βάσει κώδικα). + +## Περισσότερες πληροφορίες {#further-reading} + +- [Επαλήθευση πηγαίου κώδικα συμβολαίου](https://programtheblockchain.com/posts/2018/01/16/verifying-contract-source-code/) diff --git a/public/content/translations/el/developers/docs/transactions/index.md b/public/content/translations/el/developers/docs/transactions/index.md new file mode 100644 index 00000000000..86ebfda2ab7 --- /dev/null +++ b/public/content/translations/el/developers/docs/transactions/index.md @@ -0,0 +1,221 @@ +--- +title: Συναλλαγές +description: Μια επισκόπηση των συναλλαγών Ethereum – πώς λειτουργούν, η δομή των δεδομένων τους και πώς να κάνετε αποστολή μέσω μιας εφαρμογής. +lang: el +--- + +Οι συναλλαγές είναι κρυπτογραφικά υπογεγραμμένες από τον λογαριασμό. Ένας λογαριασμός θα ξεκινήσει μια συναλλαγή για να ενημερωθεί η κατάσταση του δικτύου του Ethereum. Η απλούστερη συναλλαγή είναι μεταφέροντας ETH από ένα λογαριασμό στον άλλο. + +## Προαπαιτούμενα {#prerequisites} + +Για να σας βοηθήσουμε να κατανοήσετε καλύτερα αυτή τη σελίδα, σας συνιστούμε να διαβάσετε το [λογαριασμός](/developers/docs/accounts/) και τις οδηγίες εισαγωγής μας [στο Ethereum](/developers/docs/intro-to-ethereum/). + +## Τι είναι μια συναλλαγή; {#whats-a-transaction} + +Μια συναλλαγή του Ethereum αναφέρεται σε μια ενέργεια που ξεκίνησε από ένα εξωτερικό λογαριασμό, δηλαδή με άλλα λόγια από έναν λογαριασμό τον οποίο διαχειρίζεται ένας άνθρωπος και όχι ένα συμβόλαιο. Για παράδειγμα, αν ο Bob στείλει στην Alice 1 ETH, ο λογαριασμός του πρέπει να χρεωθεί και της Alice θα πρέπει να πιστωθεί. Αυτή η ενέργεια αλλαγής ιδιοκτησίας πραγματοποιείται στο πλαίσιο μιας συναλλαγής. + +![Διάγραμμα που δείχνει αλλαγή κατάστασης λόγω συναλλαγής](./tx.png) _Προσαρμοσμένο διάγραμμα [εικονογραφημένο από Ethereum EVM ](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +Οι συναλλαγές, οι οποίες αλλάζουν την κατάσταση του EVM, πρέπει να μεταδίδονται σε ολόκληρο το δίκτυο. Οποιοσδήποτε κόμβος μπορεί να μεταδώσει ένα αίτημα για εκτέλεση συναλλαγής στο EVM. Αφού συμβεί αυτό, ένας επικυρωτής θα εκτελέσει τη συναλλαγή και θα διαδώσει την προκύπτουσα αλλαγή κατάστασης στο υπόλοιπο δίκτυο. + +Οι συναλλαγές απαιτούν ένα τέλος και πρέπει να περιλαμβάνονται σε ένα επικυρωμένο μπλοκ. Για να απλοποιήσουμε αυτήν την επισκόπηση, θα καλύψουμε τα τέλη gas και την επικύρωση αλλού. + +Μια υποβληθείσα συναλλαγή περιλαμβάνει τις παρακάτω πληροφορίες: + +- `from` – τη διεύθυνση του αποστολέα, που θα υπογράψει τη συναλλαγή. Αυτός θα είναι εξωτερικά ελεγχόμενος λογαριασμός καθώς οι λογαριασμοί συμβολαίων δεν μπορούν να στείλουν συναλλαγές. +- `to` -- η διεύθυνση λήψης (εάν είναι εξωτερικά ελεγχόμενος λογαριασμός, η συναλλαγή θα μεταφέρει αξία. Εάν είναι ένας λογαριασμός συμβολαίου, η συναλλαγή θα εκτελέσει τον κώδικα συμβολαίου) +- `signature` – το αναγνωριστικό του αποστολέα. Δημιουργείται όταν υπογράφεται η συναλλαγή με το ιδιωτικό κλειδί του αποστολέα το οποίο επιβεβαιώνει ότι και την έγκριση της συναλλαγής +- `nonce` - ένας διαδοχικά αυξανόμενος μετρητής που υποδεικνύει τον αριθμό συναλλαγών από τον λογαριασμό +- `τιμή` – το ποσό ETH προς μεταφορά από τον αποστολέα στον παραλήπτη (σε WEI, όπου 1 ΕΤΗ ισούται με 1e+18wei) +- `input data` – προαιρετικό πεδίο για συμπερίληψη αυθαίρετων δεδομένων +- `gasLimit` – η μέγιστη ποσότητα μονάδων αερίου που μπορούν να καταναλωθούν από τη συναλλαγή. Το [EVM](/developers/docs/evm/opcodes) καθορίζει τις μονάδες gas που απαιτούνται για κάθε υπολογιστικό βήμα +- `maxPriorityFeePerGas` - η μέγιστη τιμή του gas που καταναλώθηκε που θα συμπεριληφθεί ως φιλοδώρημα στον επικυρωτή +- `maxFeePerGas` - η μέγιστη χρέωση ανά μονάδα gas που είναι διατεθειμένη να καταβληθεί για τη συναλλαγή (συμπεριλαμβανομένων των `baseFeePerGas` και `maxPriorityFeePerGas`) + +Το gas είναι μια αναφορά στον υπολογισμό που απαιτείται για την επεξεργασία της συναλλαγής από έναν επικυρωτή. Οι χρήστες πρέπει να καταβάλουν ένα τέλος για αυτόν τον υπολογισμό. Το `gasLimit` και το `maxPriorityFeePerGas` καθορίζουν το μέγιστο κόστος συναλλαγής που αποδίδεται στον επικυρωτή. [Περισσότερα για τις κρατήσεις gas ](/developers/docs/gas/). + +Το αποτέλεσμα της συναλλαγής θα μοιάζει κάπως έτσι: + +```js +{ + from: "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8", + to: "0xac03bb73b6a9e108530aff4df5077c2b3d481e5a", + gasLimit: "21000", + maxFeePerGas: "300" + maxPriorityFeePerGas: "10" + nonce: "0", + value: "10000000000", +} +``` + +Αλλά ένα αντικείμενο συναλλαγής θα πρέπει να υπογραφεί χρησιμοποιώντας το ιδιωτικό κλειδί του αποστολέα. Έτσι αποδεικνύεται ότι η συναλλαγή προέρχεται μόνο από τον αποστολέα και δεν είχε σταλεί κακόβουλα. + +Ένα λογισμικό πελάτη του Ethereum όπως το Geth, χειρίζεται αυτή τη διαδικασία της υπογραφής. + +Παράδειγμα κλήσης [JSON-RPC](/developers/docs/apis/json-rpc): + +```json +{ + "id": 2, + "jsonrpc": "2.0", + "method": "account_signTransaction", + "params": [ + { + "from": "0x1923f626bb8dc025849e00f99c25fe2b2f7fb0db", + "gas": "0x55555", + "maxFeePerGas": "0x1234", + "maxPriorityFeePerGas": "0x1234", + "input": "0xabcd", + "nonce": "0x0", + "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0", + "value": "0x1234" + } + ] +} +``` + +Παράδειγμα απάντησης: + +```json +{ + "jsonrpc": "2.0", + "id": 2, + "result": { + "raw": "0xf88380018203339407a565b7ed7d7a678680a4c162885bedbb695fe080a44401a6e4000000000000000000000000000000000000000000000000000000000000001226a0223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20ea02aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663", + "tx": { + "nonce": "0x0", + "maxFeePerGas": "0x1234", + "maxPriorityFeePerGas": "0x1234", + "gas": "0x55555", + "to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0", + "value": "0x1234", + "input": "0xabcd", + "v": "0x26", + "r": "0x223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20e", + "s": "0x2aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663", + "hash": "0xeba2df809e7a612a0a0d444ccfa5c839624bdc00dd29e3340d46df3870f8a30e" + } + } +} +``` + +- η `raw` είναι η υπογεγραμμένη συναλλαγή σε κωδικοποιημένη μορφή [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp) +- Το `tx` είναι η υπογεγραμμένη συναλλαγή σε μορφή JSON + +Με το αναγνωριστικό της υπογραφής, η συναλλαγή μπορεί να εξακριβωθεί κρυπτογραφικά ότι προήλθε από τον αποστολέα και έχει υποβληθεί στο δίκτυο. + +### Το πεδίο δεδομένων {#the-data-field} + +Η μεγαλύτερη πλειονότητα των συναλλαγών έχει πρόσβαση σε ένα συμβόλαιο από έναν εξωτερικό ελεγχόμενο λογαριασμό. Τα περισσότερα συμβόλαια είναι γραμμένα σε Solidity και ερμηνεύουν το πεδίο δεδομένων τους σύμφωνα με το [application binary interface (ABI)](/glossary/#abi). + +Τα πρώτα τέσσερα bytes καθορίζουν ποια συνάρτηση θα κληθεί, χρησιμοποιώντας το hash του ονόματος και των ορισμάτων της συνάρτησης. Μερικές φορές μπορείτε να αναγνωρίσετε τη συνάρτηση από τον επιλογέα χρησιμοποιώντας [αυτή τη βάση δεδομένων](https://www.4byte.directory/signatures/). + +Τα υπόλοιπα δεδομένα κλήσης είναι τα ορίσματα, [encoded as specified in the ABI specs](https://docs.soliditylang.org/en/latest/abi-spec.html#formal-specification-of-the-encoding). + +Για παράδειγμα, ας δούμε [αυτή τη συναλλαγή](https://etherscan.io/tx/0xd0dcbe007569fcfa1902dae0ab8b4e078efe42e231786312289b1eee5590f6a1). Χρησιμοποιήστε το **Click to see More** για να δείτε τα δεδομένα κλήσεων. + +Ο εκλέκτορας λειτουργίας είναι `0xa9059cbb`. Υπάρχουν πολλές [γνωστές λειτουργίες με αυτήν την υπογραφή](https://www.4byte.directory/signatures/?bytes4_signature=0xa9059cbb). [Σε αυτήν την περίπτωση <0>ο πηγαίος κώδικας της συμβολαίου](https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#code) έχει μεταφορτωθεί στο Etherscan, επομένως γνωρίζουμε ότι η λειτουργία είναι `transfer(address,uint256)`. + +Τα υπόλοιπα στοιχεία είναι: + +``` +0000000000000000000000004f6742badb049791cd9a37ea913f2bac38d01279 +000000000000000000000000000000000000000000000000000000003b0559f4 +``` + +Σύμφωνα με τις προδιαγραφές του ABI, οι ακέραιες τιμές (όπως οι διευθύνσεις, οι οποίες είναι ακέραιοι αριθμοί 20-byte) εμφανίζονται στο ABI ως λέξεις 32-byte, συμπληρωμένες με μηδενικά στο μπροστινό μέρος. Γνωρίζουμε λοιπόν ότι η διεύθυνση `προς` είναι [`4f6742badb049791cd9a37ea913f2bac38d01279`](https://etherscan.io/address/0x4f6742badb049791cd9a37ea913f2bac38d01279). Το `value` είναι 0x3b0559f4 = 990206452. + +## Τύποι συναλλαγών {#types-of-transactions} + +Στο Ethereum υπάρχουν μερικοί διαφορετικοί τύποι συναλλαγών: + +- Κανονικές συναλλαγές: συναλλαγή από έναν λογαριασμό σε άλλο. +- Συναλλαγές ανάπτυξης συμβολαίων: συναλλαγή χωρίς διεύθυνση «προς», όπου το πεδίο δεδομένων χρησιμοποιείται για τον κώδικα σύμβασης. +- Εκτέλεση συμβολαίου: μια συναλλαγή που αλληλεπιδρά με ένα αναπτυγμένο έξυπνο συμβόλαιο. Σε αυτήν την περίπτωση, η διεύθυνση «προς» είναι η διεύθυνση έξυπνου συμβολαίου. + +### Σχετικά με τις κρατήσεις {#on-gas} + +Όπως αναφέρθηκε παραπάνω, οι συναλλαγές για να εκτελεστούν κοστίζουν [Gas](/developers/docs/gas/). Οι απλές συναλλαγές μεταφοράς απαιτούν 21000 μονάδες Gas. + +Έτσι, για να στείλει ο Bob στην Alice 1 ETH με `baseFeePerGas` 190 gwei και `maxPriorityFeePerGas` 10 gwei, ο Bob θα πρέπει να πληρώσει την ακόλουθη χρέωση: + +``` +(190 + 10) * 21000 = 4,200,000 gwei +--ή-- +0.0042 ETH +``` + +Ο λογαριασμός του Bob θα χρεωθεί **-1.0042 ETH** (1 ETH για την Alice + 0.0042 ETH σε χρεώσεις gas) + +Ο λογαριασμός της Alice θα πιστωθεί **+1.0 ETH** + +Η βασική χρέωση θα καεί **-0.00399 ETH** + +Ο επικυρωτής διατηρεί το φιλοδώρημα **+0.000210 ETH** + + +![Διάγραμμα που δείχνει τον τρόπο επιστροφής των αχρησιμοποίητων gas](./gas-tx.png) _Διάγραμμα προσαρμοσμένο από το [Ethereum EVM που απεικονίζεται](https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf)_ + +Τυχών υπόλοιπο του gas που δε θα χρησιμοποιηθεί στη συναλλαγή, επιστρέφεται στον λογαριασμό χρήστη. + +### Αλληλεπιδράσεις έξυπνων συμβολαίων {#smart-contract-interactions} + +Το gas απαιτείται για κάθε συναλλαγή που περιλαμβάνει έξυπνο συμβόλαιο. + +Τα έξυπνα συμβόλαια μπορούν επίσης να περιέχουν λειτουργίες γνωστές ως λειτουργίες < [`view`](https://docs.soliditylang.org/en/latest/contracts.html#view-functions) ή [`pure`](https://docs.soliditylang.org/en/latest/contracts.html#pure-functions), οι οποίες δεν αλλάζουν την κατάσταση της συμβολαίου. Ως εκ τούτου, η κλήση αυτών των λειτουργιών από έναν EOA δεν απαιτεί gas. Η υποκείμενη κλήση RPC για αυτό το σενάριο είναι [`eth_call`](/developers/docs/apis/json-rpc#eth_call) + +Σε αντίθεση με την πρόσβαση μέσω του `eth_call`, αυτές οι συναρτήσεις `view` ή `pure` καλούνται επίσης συνήθως εσωτερικά (δηλαδή από το ίδιο το συμβόλαιο ή από άλλο συμβόλαιο) το οποίο κοστίζει gas. + +## Διάρκεια ζωής της συναλλαγής {#transaction-lifecycle} + +Μόλις υποβληθεί μια συναλλαγή θα συμβούν τα παρακάτω: + +1. Ένα κρυπτογραφημένο αναγνωριστικό συναλλαγής: `0x97d99bc7729211111a21b12c933c949d4f31684f1d6954ff477d0477538ff017` +2. Στη συνέχεια, η συναλλαγή μεταδίδεται στο δίκτυο και προστίθεται σε μια ομάδα συναλλαγών που αποτελείται από όλες τις άλλες εκκρεμείς συναλλαγές του δικτύου. +3. Ένας επικυρωτής πρέπει να επιλέξει τη συναλλαγή σας και να την συμπεριλάβει σε ένα μπλοκ, προκειμένου να επαληθεύσει τη συναλλαγή και να τη θεωρήσει "επιτυχημένη". +4. Με την πάροδο του χρόνου το μπλοκ που περιέχει τη συναλλαγή σας θα αναβαθμιστεί σε "δικαιολογημένο" και στη συνέχεια "οριστικοποιημένο". Αυτές οι αναβαθμίσεις το κάνουν πολύ πιο σίγουρο ότι η συναλλαγή σας ήταν επιτυχής και δεν θα αλλάξει ποτέ. Μόλις ένα μπλοκ "οριστικοποιηθεί" θα μπορούσε μόνο να αλλάξει από μια επίθεση σε επίπεδο δικτύου που θα κόστιζε πολλά δισεκατομμύρια δολάρια. + +## Μια εικονική επίδειξη {#a-visual-demo} + +Παρακολουθήστε τον Austin να σας ξεναγήσει μέσα από τις συναλλαγές, το gas, και την εξόρυξη. + + + +## Τυποποιημένος τρόπος συναλλαγών {#typed-transaction-envelope} + +Το Ethereum είχε αρχικά μια μορφή για συναλλαγές. Κάθε συναλλαγή περιείχε ένα nonce, τιμή gas, όριο gas, προς διεύθυνση, αξία, δεδομένα, v, r και s. Αυτά τα πεδία είναι [κωδικοποιημένα με RLP](/developers/docs/data-structures-and-encoding/rlp/), για να φαίνονται κάπως έτσι: + +`RLP([nonce, gasPrice, gasLimit, to, value, data, v, r, s])` + +Το Ethereum έχει εξελιχθεί ώστε να υποστηρίζει πολλαπλούς τύπους συναλλαγών, επιτρέποντας την υλοποίηση νέων λειτουργιών όπως οι λίστες πρόσβασης και το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) χωρίς να επηρεάζονται οι παλιές μορφές συναλλαγών. + +Το [EIP-2718](https://eips.ethereum.org/EIPS/eip-2718) είναι αυτό που επιτρέπει αυτήν τη συμπεριφορά. Οι συναλλαγές ερμηνεύονται ως: + +`TransactionType || TransactionPayload` + +Όπου τα πεδία ορίζονται ως: + +- `TransactionType` - ένας αριθμός μεταξύ του 0 και 0x7f, για συνολικά 128 πιθανούς τύπους συναλλαγών. +- `TransactionPayload` - ένας αυθαίρετος πίνακας byte που ορίζεται από τον τύπο συναλλαγής. + +Με βάση την αξία `TransactionType`, μια συναλλαγή μπορεί να ταξινομηθεί ως + +1. **Συναλλαγές τύπου 0 (παλαιού τύπου):** Η αρχική μορφή συναλλαγής που χρησιμοποιήθηκε από την κυκλοφορία του Ethereum. Δεν περιλαμβάνουν λειτουργίες από το [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), όπως υπολογισμούς δυναμικών κρατήσεων gas ή λίστες πρόσβασης για έξυπνα συμβόλαια. Οι συναλλαγές παλαιού τύπου δεν διαθέτουν συγκεκριμένο πρόθεμα που υποδεικνύει τον τύπο τους στη σειριακή τους μορφή, ξεκινώντας με το byte `0xf8` όταν χρησιμοποιείται η κωδικοποίηση [Recursive Length Prefix (RLP)](/developers/docs/data-structures-and-encoding/rlp). Η αξία TransactionType για αυτές τις συναλλαγές είναι `0x0`. + +2. **Συναλλαγές τύπου 1:** Παρουσιάστηκαν στο [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) ως μέρος της [αναβάθμισης Berlin](/history/#berlin) του Ethereum, αυτές οι συναλλαγές περιλαμβάνουν μια παράμετρο `accessList`. Αυτή η λίστα καθορίζει διευθύνσεις και κλειδιά αποθήκευσης στα οποία αναμένεται να αποκτήσει πρόσβαση η συναλλαγή, συμβάλλοντας στη δυνητική μείωση του κόστους [gas](/developers/docs/gas/) για πολύπλοκες συναλλαγές που περιλαμβάνουν έξυπνα συμβόλαια. Οι αλλαγές στην αγορά χρεώσεων EIP-1559 δεν περιλαμβάνονται στις συναλλαγές τύπου 1. Οι συναλλαγές τύπου 1 περιλαμβάνουν επίσης μια παράμετρο `yParity`, η οποία μπορεί να είναι `0x0` ή `0x1`, υποδεικνύοντας την ισοτιμία της τιμής y της υπογραφής secp256k1. Αναγνωρίζονται επειδή ξεκινάνε με το byte `0x01` και η αξία του TransactionType τους είναι `0x1`. + +3. Οι **Συναλλαγές τύπου 2**, που συνήθως αναφέρονται ως συναλλαγές EIP-1559, είναι συναλλαγές που εισάγονται στο [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559), στην [αναβάθμιση London](/history/#london) του Ethereum. Έχουν γίνει ο συνήθης τύπος συναλλαγής στο δίκτυο του Ethereum. Αυτές οι συναλλαγές εισάγουν έναν νέο μηχανισμό αγοράς τελών που βελτιώνει την προβλεψιμότητα διαχωρίζοντας τα τέλη συναλλαγής σε βασικό τέλος και σε τέλος προτεραιότητας. Ξεκινούν με το byte `0x02` και περιλαμβάνουν πεδία, όπως `maxPriorityFeePerGas` και `maxFeePerGas`. Οι συναλλαγές τύπου 2 είναι πλέον οι προεπιλογμένες λόγω της ευελιξίας και της αποτελεσματικότητάς τους, ιδιαίτερα ευνοημένες σε περιόδους υψηλής συμφόρησης δικτύου για την ικανότητά τους να βοηθούν τους χρήστες να διαχειρίζονται πιο προβλέψιμα τα τέλη συναλλαγών. Η αξία TransactionType για αυτές τις συναλλαγές είναι `0x2`. + + + +## Περισσότερες πληροφορίες {#further-reading} + +- [EIP-2718: Τυποποιημένος τρόπος συναλλαγών](https://eips.ethereum.org/EIPS/eip-2718) + +_Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!_ + +## Σχετικά θέματα {#related-topics} + +- [Λογαριασμοί](/developers/docs/accounts/) +- [Εικονική μηχανή Ethereum (EVM)](/developers/docs/evm/) +- [Καύσιμα](/developers/docs/gas/) diff --git a/public/content/translations/el/developers/docs/web2-vs-web3/index.md b/public/content/translations/el/developers/docs/web2-vs-web3/index.md new file mode 100644 index 00000000000..c14309d0bd0 --- /dev/null +++ b/public/content/translations/el/developers/docs/web2-vs-web3/index.md @@ -0,0 +1,62 @@ +--- +title: Web2 ή Web3 +description: +lang: el +--- + +Το Web2 αναφέρεται στην έκδοση του διαδικτύου που γνωρίζουμε οι περισσότεροι από εμάς σήμερα. Ένα διαδίκτυο στο οποίο κυριαρχούν εταιρείες που παρέχουν υπηρεσίες με αντάλλαγμα τα προσωπικά σας δεδομένα. Το Web3, στο πλαίσιο του Ethereum, αναφέρεται σε αποκεντρωμένες εφαρμογές που λειτουργούν στην αλυσίδα συστοιχιών. Αυτές είναι εφαρμογές που επιτρέπουν σε οποιονδήποτε να συμμετέχει χωρίς να δημιουργεί έσοδα από τα προσωπικά του δεδομένα. + +Ψάχνετε για έναν πιο φιλικό για αρχάριους πόρο; Δείτε την [εισαγωγή μας στο web3](/web3/). + +## Πλεονεκτήματα του Web3 {#web3-benefits} + +Πολλοί προγραμματιστές Web3 έχουν επιλέξει να δημιουργήσουν αποκεντρωμένες εφαρμογές (dapp) λόγω της εγγενούς αποκέντρωσης του Ethereum: + +- Οποιοσδήποτε είναι στο δίκτυο έχει άδεια χρήσης της υπηρεσίας – ή, με άλλα λόγια, δεν απαιτείται άδεια. +- Κανείς δεν μπορεί να σας αποκλείσει ή να σας αρνηθεί πρόσβαση στην υπηρεσία. +- Οι πληρωμές ενσωματώνονται μέσω του εγγενούς κρυπτοπαραστατικού, του ether (ETH). +- Το Ethereum είναι turing-complete, που σημαίνει ότι μπορείτε να προγραμματίσετε σχεδόν οτιδήποτε. + +## Πρακτικές συγκρίσεις {#practical-comparisons} + +| Web2 | Web3 | +| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------- | +| Το Twitter μπορεί να λογοκρίνει οποιονδήποτε λογαριασμό ή tweet | Τα tweet στο Web3 δεν θα λογοκρίνονταν επειδή ο έλεγχος είναι αποκεντρωμένος | +| Η υπηρεσία πληρωμών μπορεί να αποφασίσει να μην επιτρέψει πληρωμές για συγκεκριμένους τύπους εργασίας | Οι εφαρμογές πληρωμής Web3 δεν απαιτούν προσωπικά δεδομένα και δεν μπορούν να αποτρέψουν πληρωμές | +| Οι διακομιστές για τις εφαρμογές της οικονομίας gig θα μπορούσαν να καταρρεύσουν και να επηρεάσουν το εισόδημα των εργαζομένων | Οι διακομιστές του Web3 δεν μπορούν να πέσουν - χρησιμοποιούν το Ethereum, ένα αποκεντρωμένο δίκτυο 1000 υπολογιστών ως στήριξη | + +Αυτό δεν σημαίνει ότι όλες οι υπηρεσίες πρέπει να μετατραπούν σε dapp. Αυτά τα παραδείγματα είναι επεξηγηματικά των βασικών διαφορών μεταξύ των υπηρεσιών web2 και web3. + +## Περιορισμοί του Web3 {#web3-limitations} + +Το Web3 έχει ορισμένους περιορισμούς αυτή τη στιγμή: + +- Επεκτασιμότητα – οι συναλλαγές είναι πιο αργές στο web3 επειδή είναι αποκεντρωμένες. Οι αλλαγές στην κατάσταση, όπως μια πληρωμή, πρέπει να υποβληθούν σε επεξεργασία από έναν κόμβο και να διαδοθούν σε όλο το δίκτυο. +- UX – η αλληλεπίδραση με εφαρμογές web3 μπορεί να απαιτεί επιπλέον βήματα, λογισμικό και εκπαίδευση. Αυτό μπορεί να είναι ένα εμπόδιο στην ευρύτερη υιοθέτηση. +- Προσβασιμότητα – η έλλειψη ενσωμάτωσης στα σύγχρονα προγράμματα περιήγησης ιστού καθιστά το web3 λιγότερο προσβάσιμο στους περισσότερους χρήστες. +- Κόστος – τα περισσότερα επιτυχημένα dapp τοποθετούν πολύ μικρά τμήματα του κώδικά τους στην αλυσίδα συστοιχιών καθώς είναι ακριβή. + +## Συγκέντρωση ή αποκέντρωση {#centralization-vs-decentralization} + +Στον παρακάτω πίνακα, παραθέτουμε μερικά από τα αδρά πλεονεκτήματα και μειονεκτήματα των συγκεντρωμένων και αποκεντρωμένων ψηφιακών δικτύων. + +| Κεντρικά συστήματα | Αποκεντρωμένα συστήματα | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Χαμηλή διάμετρος δικτύου (όλοι οι συμμετέχοντες συνδέονται με μια κεντρική αρχή). Οι πληροφορίες διαδίδονται γρήγορα, καθώς η διάδοση γίνεται από μια κεντρική αρχή με πολλούς υπολογιστικούς πόρους. | Οι πιο απομακρυσμένοι συμμετέχοντες στο δίκτυο ενδέχεται να βρίσκονται πολύ μακριά ο ένας από τον άλλον. Οι πληροφορίες που μεταδίδονται από τη μία πλευρά του δικτύου μπορεί να χρειαστούν πολύ χρόνο για να φτάσουν στην άλλη πλευρά. | +| Συνήθως υψηλότερη απόδοση (μεγαλύτερη ικανότητα διεκπεραίωσης, λιγότεροι συνολικοί υπολογιστικοί πόροι που δαπανώνται) και ευκολότερη εφαρμογή. | Συνήθως χαμηλότερη απόδοση (χαμηλότερη ικανότητα διεκπεραίωσης, περισσότεροι συνολικοί υπολογιστικοί πόροι που δαπανώνται) και πιο περίπλοκη εφαρμογή. | +| Σε περίπτωση αντικρουόμενων δεδομένων, η επίλυση είναι σαφής και εύκολη: η απόλυτη πηγή αλήθειας είναι η κεντρική εξουσία. | Απαιτείται ένα πρωτόκολλο (συχνά πολύπλοκο) για την επίλυση διαφορών, εάν οι ομότιμοι προβάλλουν αντικρουόμενους ισχυρισμούς σχετικά με την κατάσταση των δεδομένων με τα οποία πρόκειται να συγχρονιστούν οι συμμετέχοντες. | +| Μεμονωμένο σημείο αποτυχίας: κακόβουλοι παράγοντες μπορεί να είναι σε θέση να ρίξουν το δίκτυο στοχεύοντας την κεντρική αρχή. | Κανένα μεμονωμένο σημείο αποτυχίας: το δίκτυο μπορεί να λειτουργήσει ακόμα και αν ένα μεγάλο ποσοστό συμμετεχόντων δέχεται επίθεση/απομακρύνεται. | +| Ο συντονισμός μεταξύ των συμμετεχόντων στο δίκτυο είναι πολύ πιο εύκολος και ο χειρισμός του πραγματοποιείται από κεντρική αρχή. Η κεντρική αρχή μπορεί να υποχρεώσει τους συμμετέχοντες στο δίκτυο να υιοθετήσουν αναβαθμίσεις, ενημερώσεις πρωτοκόλλου κ. λπ., με πολύ μικρή τριβή. | Ο συντονισμός είναι συχνά δύσκολος, καθώς κανένας μεμονωμένος παράγοντας δεν έχει τον τελευταίο λόγο σε αποφάσεις σε επίπεδο δικτύου, αναβαθμίσεις πρωτοκόλλου, κ.λπ. Στη χειρότερη περίπτωση, το δίκτυο είναι επιρρεπές σε ρήγματα όταν υπάρχουν διαφωνίες σχετικά με αλλαγές πρωτοκόλλου. | +| Η κεντρική αρχή μπορεί να λογοκρίνει δεδομένα, αποκλείοντας πιθανώς κομμάτια του δικτύου από την αλληλεπίδραση με το υπόλοιπο δίκτυο. | Η λογοκρισία είναι πολύ πιο δύσκολη, καθώς οι πληροφορίες έχουν πολλούς τρόπους διάδοσης στο δίκτυο. | +| Η συμμετοχή στο δίκτυο ελέγχεται από την κεντρική αρχή. | Οποιοσδήποτε μπορεί να συμμετάσχει στο δίκτυο, δεν υπάρχουν «θυρωροί» Ιδανικά, το κόστος συμμετοχής είναι πολύ χαμηλό. | + +Σημειώστε ότι αυτά είναι γενικά μοτίβα που μπορεί να μην ισχύουν σε κάθε δίκτυο. Επιπλέον, στην πραγματικότητα, ο βαθμός στον οποίο ένα δίκτυο είναι συγκεντρωμένο/αποκεντρωμένο έχει ένα εύρος φάσματος — κανένα δίκτυο δεν είναι εντελώς συγκεντρωμένο ή εντελώς αποκεντρωμένο. + +## Περισσότερες πληροφορίες {#further-reading} + +- [Τι είναι το Web3;](/web3/) - _ethereum.org_ +- [Η Αρχιτέκτων της εφαρμογής του Web 3.0](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _Preethi Kasireddy_ +- [Η Σημασία της Αποκέντρωσης](https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274) _06 Φεβ 2017 - Vitalik Buterin_ +- [Γιατί έχει σημασία η αποκέντρωση](https://medium.com/s/story/why-decentralization-matters-5e3f79f7638e) _18 Φεβ 2018 - Chris Dixon_ +- [Τι είναι το Web 3.0 & Γιατί έχει σημασία](https://medium.com/fabric-ventures/what-is-web-3-0-why-it-matters-934eb07f3d2b) _31 Δεκ 2019 - Max Mersch και Richard Muirhead_ +- [Γιατί χρειαζόμαστε το Web 3.0](https://medium.com/@gavofyork/why-we-need-web-3-0-5da4f2bf95ab) _12 Σεπ 2018 - Gavin Wood_ diff --git a/public/content/translations/el/developers/docs/wrapped-eth/index.md b/public/content/translations/el/developers/docs/wrapped-eth/index.md new file mode 100644 index 00000000000..23c5d8890ed --- /dev/null +++ b/public/content/translations/el/developers/docs/wrapped-eth/index.md @@ -0,0 +1,65 @@ +--- +title: Τι είναι το Wrapped Ether (WETH) +description: Εισαγωγή στο Wrapped Ether (WETH) — ένα wrapper για ether (ETH) συμβατό με ERC20. +lang: el +--- + +# Wrapped ether (WETH) {#intro-to-weth} + +Το Ether (ETH) είναι το κύριο νόμισμα του Ethereum. Χρησιμοποιείται για διάφορους σκοπούς, όπως αποθήκευση ως νόμισμα, και για πληρωμή κρατήσεων gas για τη διενέργεια υπολογισμών. **Το WETH είναι ουσιαστικά μια αναβαθμισμένη μορφή του ETH με κάποια πρόσθετη λειτουργικότητα που απαιτείται από πολλές εφαρμογές και τα [κρυπτοπαραστατικά ERC-20](/glossary/#erc-20)**, τα οποία είναι άλλοι τύποι ψηφιακών περιουσιακών στοιχείων στο Ethereum. Για να λειτουργήσει με αυτά τα κρυπτοπαραστατικά (token), το ETH πρέπει να ακολουθεί τους ίδιους κανόνες με αυτά, που είναι γνωστό ως πρότυπο ERC-20. + +Προκειμένου να γεφυρωθεί αυτό το χάσμα, δημιουργήθηκε το wrapped ETH (WETH). **Το wrapped ETH είναι ένα έξυπνο συμβόλαιο που σας επιτρέπει να καταθέτετε οποιοδήποτε ποσό ETH στο συμβόλαιο και να λαμβάνετε το ίδιο ποσό σε κομμένο WETH** που συμμορφώνεται με το πρότυπο κρυπτοπαραστατικού ERC-20. Το WETH είναι μια αναπαράσταση του ETH που σας επιτρέπει να αλληλεπιδράτε μαζί του ως κρυπροπαραστατικό ERC-20, όχι ως το εγγενές στοιχείο ETH. Θα εξακολουθείτε να χρειάζεστε εγγενές ETH για να πληρώσετε τις κρατήσεις gas, επομένως φροντίστε να διαθέτετε μερικά κατά την κατάθεση. + +Μπορείτε να εξαργυρώσετε το WETH για ETH χρησιμοποιώντας το έξυπνο συμβόλαιο WETH. Μπορείτε να εξοφλήσετε οποιοδήποτε ποσό WETH με το έξυπνο συμβόλαιο WETH και θα λάβετε το ίδιο ποσό σε ETH. Το WETH που κατατίθεται στη συνέχεια καίγεται και αφαιρείται από την κυκλοφορούσα προσφορά WETH. + +**Περίπου το ~3% της κυκλοφορούσας προσφοράς ETH είναι κλειδωμένη στο συμβόλαιο κρυπτοπαραστατικών WETH** γεγονός που το καθιστά ένα από τα πιο χρησιμοποιούμενα [έξυπνα συμβόλαια](/glossary/#smart-contract). Το WETH είναι ιδιαίτερα σημαντικό για τους χρήστες που αλληλεπιδρούν με εφαρμογές στην αποκεντρωμένη οικονομία (DeFi). + +## Γιατί πρέπει να κάνουμε wrap το ETH ως ERC-20; {#why-do-we-need-to-wrap-eth} + +[Το ERC-20](/developers/docs/standards/tokens/erc-20/) ορίζει μια τυπική διεπαφή για μεταφερόμενα κρυπτοπαραστατικά, ώστε ο καθένας να μπορεί να δημιουργήσει κρυπτοπαραστατικά που αλληλεπιδρούν απρόσκοπτα με εφαρμογές και κρυπτοπαραστατικά που χρησιμοποιούν αυτό το πρότυπο στο οικοσύστημα του Ethereum. Εφόσον το **ETH προηγείται του προτύπου ERC-20**, το ETH δεν συμμορφώνεται με αυτήν την προδιαγραφή. Αυτό σημαίνει ότι **δεν μπορείτε εύκολα** να ανταλλάξετε ETH με άλλα κρυπτοπαραστατικά ERC-20 ή **να χρησιμοποιήσετε ETH σε εφαρμογές που χρησιμοποιούν το πρότυπο ERC-20**. Το wrapping του ETH σάς δίνει την ευκαιρία να κάνετε τα εξής: + +- **Να ανταλλάξετε ETH με κρυπτοπαραστατικά ERC-20**: Δεν μπορείτε να ανταλλάξετε ETH απευθείας με άλλα κρυπτοπαραστατικά ERC-20. Το WETH είναι μια αναπαράσταση του ether που συμμορφώνεται με το πρότυπο ανταλλάξιμου κρυπτοπαραστατικού ERC-20 και μπορεί να ανταλλάσσεται με άλλα κρυπτοπαραστατικά ERC-20. + +- **Χρήση ETH σε dapp**: Επειδή το ETH δεν είναι συμβατό με ERC20, οι προγραμματιστές θα πρέπει να δημιουργήσουν ξεχωριστές διεπαφές (μία για ETH και άλλη για κρυπτοπαραστατικά ERC-20) στις dapp. Το ETH wrapping καταργεί αυτό το εμπόδιο και επιτρέπει στους προγραμματιστές να χειρίζονται ETH και άλλα κρυπτοπαραστατικά μέσα στο ίδιο dapp. Πολλές αποκεντρωμένες χρηματοοικονομικές εφαρμογές χρησιμοποιούν αυτό το πρότυπο και δημιουργούν αγορές για την ανταλλαγή αυτών των κρυπτοπαραστατικών. + +## Wrapped ether (WETH) ή ether (ETH): Ποια είναι η διαφορά; {#weth-vs-eth-differences} + +| | **Ether (ETH)** | **Wrapped Ether (WETH)** | +| ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Προσφορά | Η διαχείριση της προσφοράς ETH γίνεται από το πρωτόκολλο Ethereum. Την [έκδοση](/roadmap/merge/issuance) του ETH διαχειρίζονται οι επικυρωτές Ethereum κατά την επεξεργασία συναλλαγών και τη δημιουργία μπλοκ. | Το WETH είναι ένα κρυπτοπαραστικό ERC-20 του οποίου την προσφορά διαχειρίζεται ένα έξυπνο συμβόλαιο. Οι νέες μονάδες WETH εκδίδονται από το συμβόλαιο αφού λάβει καταθέσεις ETH από τους χρήστες ή οι μονάδες WETH καίγονται όταν ένας χρήστης επιθυμεί να εξαργυρώσει WETH για ETH. | +| Ιδιοκτησία | Η διαχείριση της ιδιοκτησίας γίνεται από το πρωτόκολλο Ethereum μέσω του υπολοίπου του λογαριασμού σας. | Η διαχείριση της ιδιοκτησίας WETH διενεργείται από το έξυπνο συμβόλαιο κρυπτοπαραστατικών WETH, που εξασφαλίζεται από το πρωτόκολλο Ethereum. | +| Κρατήσεις (Gas) | Το Ether (ETH) είναι η αποδεκτή μονάδα πληρωμής για υπολογισμούς στο δίκτυο Ethereum. Οι κρατήσεις gas εκφράζονται σε gwei (μονάδα ether). | Η πληρωμή gas με κρυπτοπαραστατικά WETH δεν υποστηρίζεται εγγενώς. | + +## Συχνές ερωτήσεις {#faq} + + + +Πληρώνετε κρατήσεις gas για να κάνετε wrap ή unwrap το ETH χρησιμοποιώντας το συμβόλαιο WETH. + + + + + +Το WETH θεωρείται γενικά ασφαλές επειδή βασίζεται σε ένα απλό έξυπνο συμβόλαιο που είναι πολύ δοκιμασμένο. Το συμβόλαιο WETH υπόκειται επίσης σε τυπική επαλήθευση, που αποτελεί το υψηλότερο πρότυπο ασφαλείας για έξυπνα συμβόλαια στο Ethereum. + + + + + +Εκτός από την [κανονική εφαρμογή του WETH](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2) που περιγράφεται σε αυτήν τη σελίδα, υπάρχουν και άλλες παραλλαγές ελεύθερα εκεί έξω. Μπορεί να πρόκειται για προσαρμοσμένα κρυπτοπαραστατικά που δημιουργούνται από προγραμματιστές εφαρμογών ή εκδόσεις που εκδίδονται σε άλλες κρυπτοαλυσίδες και μπορεί να συμπεριφέρονται διαφορετικά ή να έχουν διαφορετικές ιδιότητες ασφαλείας. **Ελέγχετε πάντα τις πληροφορίες του κρυπτοπαραστατικού για να γνωρίζετε με ποια εφαρμογή WETH αλληλεπιδράτε.** + + + + + +- [Κεντρικό δίκτυο Ethereum](https://etherscan.io/token/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2) +- [Arbitrum](https://arbiscan.io/token/0x82af49447d8a07e3bd95bd0d56f35241523fbab1) +- [Optimism](https://optimistic.etherscan.io/token/0x4200000000000000000000000000000000000006) + + + +## Περαιτέρω υλικό για δίαβασμα {#further-reading} + +- [Τι στο καλό είναι το WETH;](https://weth.tkn.eth.limo/) +- [Πληροφορίες κρυπτοπαραστατικών WETH στο Etherscan](https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2) +- [Τυπική επαλήθευση του WETH](https://zellic.io/blog/formal-verification-weth) diff --git a/public/content/translations/el/eips/index.md b/public/content/translations/el/eips/index.md index 316587d099a..977971679be 100644 --- a/public/content/translations/el/eips/index.md +++ b/public/content/translations/el/eips/index.md @@ -64,7 +64,7 @@ lang: el - [EIPs For Nerds](https://ethereum2077.substack.com/t/eip-research) — *Το EIPs For Nerds παρέχει περιεκτικές επισκοπήσεις σε στυλ ELI5 διαφόρων προτάσεων βελτίωσης Ethereum (EIP), συμπεριλαμβανομένων των βασικών EIP και των EIP επιπέδου εφαρμογής/υποδομής (ERC), για την εκπαίδευση των αναγνωστών και διαμορφώνουν συναίνεση γύρω από τις προτεινόμενες αλλαγές στο πρωτόκολλο Ethereum.* - [EIPs.wtf](https://www.eips.wtf/) — *Το EIPs.wtf παρέχει επιπλέον πληροφορίες για Προτάσεις Βελτίωσης Ethereum (EIPs), συμπεριλαμβανομένης της κατάστασής τους, των λεπτομερειών εφαρμογής, των σχετικών αιτημάτων έλξης και των σχολίων της κοινότητας.* - [EIP.Fun](https://eipfun.substack.com/) — *Το EIP.Fun παρέχει τα τελευταία νέα σχετικά με τις προτάσεις βελτίωσης του Ethereum (EIP), ενημερώσεις για συναντήσεις EIP και άλλα.* -- [EIPs Insight](https://eipsinsight.com/) — *Το EIPs Insight είναι μια αναπαράσταση της κατάστασης της διαδικασίας Προτάσεων Βελτίωσης Ethereum (EIPs) & στατιστικά στοιχεία σύμφωνα με πληροφορίες που συλλέγονται από διαφορετικούς πόρους.* +- [EIPs Insight](https://eipsinsight.com/) — *Το EIPs Insight αποτελεί αναπαράσταση της κατάστασης που αφορά τη διαδικασία προτάσεων βελτίωσης του Ethereum (EIPs) & στατιστικά στοιχεία σύμφωνα με τις πληροφορίες που συλλέγονται από διαφορετικούς πόρους.* ## Συμμετοχή {#participate} diff --git a/public/content/translations/el/energy-consumption/index.md b/public/content/translations/el/energy-consumption/index.md index c568449a5f6..cfddcea0afc 100644 --- a/public/content/translations/el/energy-consumption/index.md +++ b/public/content/translations/el/energy-consumption/index.md @@ -8,7 +8,7 @@ lang: el Το Ethereum είναι ένα πράσινο blockchain. Ο μηχανισμός συναίνεσης της [απόδειξης συμμετοχής](/developers/docs/consensus-mechanisms/pos) του Ethereum χρησιμοποιεί ETH αντί για [ ενέργεια για την ασφάλεια του δικτύου](/developers/docs/consensus-mechanisms/pow). Η κατανάλωση ενέργειας του Ethereum είναι περίπου [~0,0026 TWh/έτος](https://carbon-ratings.com/eth-report-2022) σε ολόκληρο το παγκόσμιο δίκτυο. -Η εκτίμηση κατανάλωσης ενέργειας για το Ethereum προέρχεται από τη μελέτη [CCRI (Crypto Carbon Ratings Institute)](https://carbon-ratings.com). Δημιούργησαν εκτιμήσεις από κάτω προς τα πάνω για την κατανάλωση ηλεκτρικής ενέργειας και το αποτύπωμα άνθρακα του δικτύου Ethereum ([δείτε την αναφορά](https://carbon-ratings.com/eth-report-2022)). Μέτρησαν την κατανάλωση ηλεκτρικής ενέργειας διαφορετικών κόμβων με διάφορες διαμορφώσεις υλικού και λογισμικού πελάτη. Η εκτιμώμενη κατανάλωση **2.601 MWh** (0,0026 TWh) της ετήσιας ηλεκτρικής ενέργειας του δικτύου αντιστοιχεί σε ετήσιες εκπομπές άνθρακα **870 τόνων CO2e** εφαρμόζοντας ειδικούς περιφερειακούς παράγοντες έντασης άνθρακα. Αυτή η τιμή αλλάζει καθώς οι κόμβοι προστίθενται και αποχωρούν από το δίκτυο. Μπορείτε να παρακολουθείτε χρησιμοποιώντας μια μέση εκτίμηση 7 ημερών από τον [Δείκτη αειφορίας δικτύου κρυπτοαλυσίδας του Cambridge](https://ccaf.io/cbnsi/ethereum) (σημειώστε ότι χρησιμοποιούν μια διαφορετική μέθοδο για τις εκτιμήσεις τους. Λεπτομέρειες διαθέσιμες στον ιστότοπό τους). +Η εκτίμηση κατανάλωσης ενέργειας για το Ethereum προέρχεται από τη μελέτη [CCRI (Crypto Carbon Ratings Institute)](https://carbon-ratings.com). Δημιούργησαν εκτιμήσεις από κάτω προς τα πάνω για την κατανάλωση ηλεκτρικής ενέργειας και το αποτύπωμα άνθρακα του δικτύου Ethereum ([δείτε την αναφορά](https://carbon-ratings.com/eth-report-2022)). Μέτρησαν την κατανάλωση ηλεκτρικής ενέργειας διαφορετικών κόμβων με διάφορες διαμορφώσεις υλικού και λογισμικού πελάτη. Η εκτιμώμενη κατανάλωση **2.601 MWh** (0,0026 TWh) της ετήσιας ηλεκτρικής ενέργειας του δικτύου αντιστοιχεί σε ετήσιες εκπομπές άνθρακα **870 τόνων CO2e** εφαρμόζοντας ειδικούς περιφερειακούς παράγοντες έντασης άνθρακα. Αυτή η τιμή αλλάζει καθώς οι κόμβοι προστίθενται και αποχωρούν από το δίκτυο. Μπορείτε να παρακολουθείτε χρησιμοποιώντας μια μέση εκτίμηση 7 ημερών από τον [Δείκτη αειφορίας δικτύου κρυπτοαλυσίδας του Cambridge ](https://ccaf.io/cbnsi/ethereum) (σημειώστε ότι χρησιμοποιούν μια διαφορετική μέθοδο για τις εκτιμήσεις τους. Λεπτομέρειες διαθέσιμες στον ιστότοπό τους). Για να προσδιορίσουμε την κατανάλωση ενέργειας του Ethereum, μπορούμε να συγκρίνουμε τις ετήσιες εκτιμήσεις για ορισμένα προϊόντα και βιομηχανίες. Αυτό μας βοηθά να κατανοήσουμε καλύτερα εάν η εκτίμηση για το Ethereum είναι υψηλή ή χαμηλή. @@ -35,7 +35,7 @@ lang: el Οι παρακάτω εκτιμήσεις δεν είναι τέλειες συγκρίσεις. Το ποσό των έμμεσων δαπανών που λογίζονται ποικίλλει ανάλογα με την πηγή και σπάνια περιλαμβάνει την ενέργεια από συσκευές τελικού χρήστη. Κάθε υποκείμενη πηγή περιλαμβάνει περισσότερες λεπτομέρειες σχετικά με το τι μετράται. -Ο παραπάνω πίνακας και το γράφημα περιλαμβάνουν επίσης συγκρίσεις με το Bitcoin και το Ethereum με την απόδειξης εργασίας. Είναι σημαντικό να σημειωθεί ότι η κατανάλωση ενέργειας των δικτύων με απόδειξης εργασίας δεν είναι στατική και αλλάζει καθημερινά. Οι εκτιμήσεις μπορεί επίσης να διαφέρουν πολύ μεταξύ των πηγών. Το θέμα προσελκύει διαφορετικές [συζητήσεις](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/), όχι μόνο για την ποσότητα της ενέργειας που καταναλώνεται, αλλά και για τις πηγές αυτής της ενέργειας και τη σχετική ηθική. Η κατανάλωση ενέργειας δεν αντιστοιχεί απαραίτητα ακριβώς στο περιβαλλοντικό αποτύπωμα, επειδή διαφορετικά έργα ενδέχεται να χρησιμοποιούν διαφορετικές πηγές ενέργειας, συμπεριλαμβανομένου και ενός μικρότερου ή μεγαλύτερου ποσοστού ανανεώσιμων πηγών ενέργειας. Για παράδειγμα, ο [Δείκτης κατανάλωσης ηλεκτρικής ενέργειας Bitcoin του Cambridge](https://ccaf.io/cbnsi/cbeci/comparisons) υποδεικνύει ότι η ζήτηση δικτύου Bitcoin θεωρητικά θα μπορούσε να τροφοδοτηθεί από καύση gas ή ηλεκτρική ενέργεια που θα χαθεί στη μετάδοση και τη διανομή. Η διαδρομή του Ethereum προς τη βιωσιμότητα ήταν να αντικαταστήσει το ενεργοβόρο μέρος του δικτύου με μια πράσινη εναλλακτική λύση. +Ο παραπάνω πίνακας και το γράφημα περιλαμβάνουν επίσης συγκρίσεις με το Bitcoin και το Ethereum με την απόδειξης εργασίας. Είναι σημαντικό να σημειωθεί ότι η κατανάλωση ενέργειας των δικτύων με απόδειξης εργασίας δεν είναι στατική και αλλάζει καθημερινά. Οι εκτιμήσεις μπορεί επίσης να διαφέρουν πολύ μεταξύ των πηγών. Το θέμα προσελκύει διαφορετικές [συζητήσεις](https://www.coindesk.com/business/2020/05/19/the-last-word-on-bitcoins-energy-consumption/), όχι μόνο για την ποσότητα της ενέργειας που καταναλώνεται, αλλά και για τις πηγές αυτής της ενέργειας και τη σχετική ηθική. Η κατανάλωση ενέργειας δεν αντιστοιχεί απαραίτητα ακριβώς στο περιβαλλοντικό αποτύπωμα, επειδή διαφορετικά έργα ενδέχεται να χρησιμοποιούν διαφορετικές πηγές ενέργειας, συμπεριλαμβανομένου και ενός μικρότερου ή μεγαλύτερου ποσοστού ανανεώσιμων πηγών ενέργειας. Για παράδειγμα, ο [Δείκτης κατανάλωσης ηλεκτρικής ενέργειας Bitcoin του Cambridge ](https://ccaf.io/cbnsi/cbeci/comparisons) υποδεικνύει ότι η ζήτηση δικτύου Bitcoin θεωρητικά θα μπορούσε να τροφοδοτηθεί από καύση gas ή ηλεκτρική ενέργεια που θα χαθεί στη μετάδοση και τη διανομή. Η διαδρομή του Ethereum προς τη βιωσιμότητα ήταν να αντικαταστήσει το ενεργοβόρο μέρος του δικτύου με μια πράσινη εναλλακτική λύση. Μπορείτε να δείτε περισσότερες εκτιμήσεις κατανάλωσης ενέργειας και εκπομπών άνθρακα για πολλές βιομηχανίες στον [ιστότοπο Cambridge Blockchain Network Sustainability Index](https://ccaf.io/cbnsi/ethereum). diff --git a/public/content/translations/el/governance/index.md b/public/content/translations/el/governance/index.md index 606d9272467..56710cd224d 100644 --- a/public/content/translations/el/governance/index.md +++ b/public/content/translations/el/governance/index.md @@ -48,7 +48,7 @@ _Αν και σε επίπεδο πρωτοκόλλου η διακυβέρνη - **Διαχειριστές κόμβων:** Αυτοί που διαχειρίζονται κόμβους που διαδίδουν μπλοκ και συναλλαγές, απορρίπτοντας οποιαδήποτε μη έγκυρη συναλλαγή ή μπλοκ που συναντούν. [Περισσότερα για τους κόμβους](/developers/docs/nodes-and-clients/). - **Συντάκτες EIP:** Αυτοί που προτείνουν αλλαγές στο πρωτόκολλο Ethereum, με τη μορφή Προτάσεων Βελτίωσης Ethereum (EIP - Ethereum Improvement Proposals). [Περισσότερα για τα EIP](/eips/). - **Επικυρωτές:** Αυτοί που διαχειρίζονται κόμβους που μπορούν να προσθέσουν νέα μπλοκ στο blockchain Ethereum. -- **Προγραμματιστές πρωτοκόλλου:** (γνωστοί και ως «Core Developers» ): Αυτοί που συντηρούν τις διάφορες υλοποιήσεις του Ethereum (π.χ. go-ethereum, Nethermind, Besu, Erigon στο επίπεδο εκτέλεσης ή Prysm, Lighthouse, Nimbus, Teku, Lodestar στο επίπεδο συναίνεσης). [Περισσότερα για τους πελάτες Ethereum](/developers/docs/nodes-and-clients/). +- **Προγραμματιστές πρωτοκόλλου:** (γνωστοί και ως «Core Developers»): αυτοί που συντηρούν τις διάφορες υλοποιήσεις του Ethereum (π.χ. go-ethereum, Nethermind, Besu, Erigon, Reth στο επίπεδο εκτέλεσης ή Prysm, Lighthouse, Nimbus, Teku, Lodestar στο επίπεδο συναίνεσης). [Περισσότερα για τους πελάτες Ethereum](/developers/docs/nodes-and-clients/). _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε πολλές από αυτές τις ομάδες (π.χ. ένας προγραμματιστής πρωτοκόλλου θα μπορούσε να υποστηρίξει ένα EIP, να εκτελέσει έναν επικυρωτή αλυσίδας και να χρησιμοποιήσει εφαρμογές DeFi). Ωστόσο, για λόγους σαφήνειας της έννοιας, είναι καλύτερο να τα διακρίνουμε._ @@ -90,7 +90,10 @@ _Σημείωση: Οποιοσδήποτε μπορεί να ανήκει σε ### Κατανόηση προηγούμενων εργασιών {#prior-work} -Οι «Πρωταθλητές» των EIP θα πρέπει να εξοικειωθούν με προηγούμενες εργασίες και προτάσεις προτού δημιουργήσουν ένα EIP το οποίο μπορεί να ληφθεί σοβαρά υπόψη για ανάπτυξη στο Κύριο Δίκτυο Ethereum. Με αυτόν τον τρόπο, το EIP ελπίζεται να φέρει κάτι νέο που δεν έχει απορριφθεί προηγουμένως. Οι τρεις κύριοι χώροι για να ερευνήσετε αυτό το θέμα είναι το [αποθετήριο των EIP](https://github.com/ethereum/EIPs), το [Ethereum Magicians](https://ethereum-magicians.org/) και το [ethresear.ch](https://ethresear.ch). +Οι «Πρωταθλητές» των EIP θα πρέπει να εξοικειωθούν με προηγούμενες εργασίες και προτάσεις προτού δημιουργήσουν ένα EIP το οποίο μπορεί να ληφθεί σοβαρά υπόψη για ανάπτυξη στο Κύριο Δίκτυο Ethereum. Με αυτόν τον τρόπο, το EIP ελπίζεται να φέρει κάτι νέο που δεν έχει απορριφθεί προηγουμένως. Οι τρεις κύριοι χώροι για να ερευνήσετε αυτό το θέμα είναι το [αποθετήριο των EIP](https://github.com/ethereum/EIPs), το [Ethereum Magicians](https://ethereum-magicians.org/) και το ethresear.ch +

+ + ### Ομάδες εργασίας {#working-groups} diff --git a/public/content/translations/el/guides/how-to-create-an-ethereum-account/index.md b/public/content/translations/el/guides/how-to-create-an-ethereum-account/index.md new file mode 100644 index 00000000000..dc3db507fb0 --- /dev/null +++ b/public/content/translations/el/guides/how-to-create-an-ethereum-account/index.md @@ -0,0 +1,73 @@ +--- +title: Πώς να «δημιουργήσετε» λογαριασμό Ethereum +description: Ένας αναλυτικός οδηγός δημιουργίας λογαριασμού Ethereum με τη χρήση πορτοφολιού. +lang: el +--- + +# Πώς να «δημιουργήσετε» λογαριασμό Ethereum + +**Όλοι μπορούν να δημιουργήσουν δωρεάν έναν λογαριασμό Ethereum**. Το μόνο που χρειάζεται να εγκαταστήσετε είναι μία εφαρμογή πορτοφολιού κρυπτονομισμάτων. Τα πορτοφόλια χρησιμοποιούνται για τη δημιουργία και τη διαχείριση του λογαριασμού σας στο Ethereum. Με αυτά μπορείτε να πραγματοποιείτε συναλλαγές, να ελέγχετε το υπόλοιπό σας και να συνδέεστε με εφαρμογές που αναπτύχθηκαν στο Ethereum. + +Με το πορτοφόλι μπορείτε επίσης να συνδέεστε αμέσως με οποιοδήποτε ανταλλακτήριο κρυπτονομισμάτων, παιχνίδι ή αγορά [NFT](/glossary/#nft). Δε χρειάζεται ξεχωριστή εγγραφή, ο λογαριασμός είναι κοινός για όλες τις εφαρμογές που έχουν δημιουργηθεί στο Ethereum. + +## Βήμα 1: Επιλογή πορτοφολιού + +Το πορτοφόλι είναι μια εφαρμογή που σας βοηθά να διαχειριστείτε τον λογαριασμό σας Ethereum. Υπάρχουν δεκάδες διαφορετικές εφαρμογές πορτοφολιού για να διαλέξετε: για κινητή συσκευή, για ηλεκτρονικό υπολογιστή ή ακόμα και επεκτάσεις για εφαρμογές περιήγησης. + + + + Λίστα πορτοφολιών + + +Εάν είστε νέος/α, μπορείτε να επιλέξετε το φίλτρο «Νέος/α στα κρυπτονομίσματα» στη σελίδα «εύρεση πορτοφολιού» για να προσδιορίσετε πορτοφόλια που θα περιλαμβάνουν τις απαραίτητες λειτουργίες για αρχάριους. + +![Επιλογή φίλτρου στη σελίδα «εύρεση πορτοφολιού»](./wallet-box.png) + +Υπάρχουν και άλλα φίλτρα προφίλ για να καλύψετε τις ανάγκες σας. Αυτά είναι παραδείγματα πορτοφολιών που χρησιμοποιούνται συνήθως. Θα πρέπει να κάνετε τη δική σας έρευνα πριν εμπιστευτείτε οποιοδήποτε λογισμικό. + +## Βήμα 2: Λήψη και εγκατάσταση εφαρμογής πορτοφολιού + +Μόλις αποφασίσετε για ένα συγκεκριμένο πορτοφόλι, επισκεφθείτε την επίσημη ιστοσελίδα ή το κατάστημα εφαρμογών, κατεβάστε και εγκαταστήστε το. Όλοι τους πρέπει να είναι δωρεάν. + +## Βήμα 3: Άνοιγμα της εφαρμογής και δημιουργία λογαριασμού Ethereum + +Την πρώτη φορά που ανοίγετε το νέο σας πορτοφόλι μπορεί να ζητηθεί να επιλέξετε μεταξύ της δημιουργίας νέου λογαριασμού ή εισαγωγής ενός υπάρχοντος. Κάντε κλικ στο δημιουργία νέου λογαριασμού. **Αυτό είναι το βήμα κατά το οποίο το λογισμικό πορτοφολιού δημιουργεί τον λογαριασμό σας στο Ethereum.** + +## Βήμα 4: Αποθήκευση των λέξεων επαναφοράς + +Ορισμένες εφαρμογές θα σας ζητήσουν να αποθηκεύσετε τη μυστική «φράση επαναφοράς» (μερικές φορές λέγεται «φράση σπόρου» ή «μνημονικό»). Είναι εξαιρετικά σημαντικό η φράση αυτή να διατηρείται σε ασφαλές μέρος! Χρησιμοποιείται για τη δημιουργία ενός λογαριασμού Ethereum και μπορεί να χρησιμοποιηθεί για την εκτέλεση συναλλαγών. + +**Οποιοσδήποτε γνωρίζει τη μυστική φράση μπορεί να αναλάβει τον έλεγχο όλων των κεφαλαίων.** Μην την κοινοποιείτε σε άλλους. Αυτή η φράση πρέπει να περιέχει από 12 έως 24 λέξεις που δημιουργούνται τυχαία (η σειρά των λέξεων είναι σημαντική). + +
+ +
Εγκαταστήσατε εφαρμογή πορτοφολιού;
Μάθετε πώς να τη χρησιμοποιείτε.
+ + Πώς να χρησιμοποιήσετε ένα πορτοφόλι + +
+
+ +Ενδιαφέρεστε και για άλλους οδηγούς; Δείτε το: [Αναλυτικοί οδηγοί](/guides/) + +## Συχνές ερωτήσεις + +### Το πορτοφόλι και ο λογαριασμός μου Ethereum το ίδιο; + +Όχι. Το πορτοφόλι είναι ένα εργαλείο διαχείρισης που σας βοηθά να διαχειρίζεστε λογαριασμούς. Ένα μόνο πορτοφόλι μπορεί να παρέχει πρόσβαση σε πολλούς λογαριασμούς και ένας μεμονωμένος λογαριασμός μπορεί να είναι προσβάσιμος από πολλά πορτοφόλια. Η φράση επαναφοράς χρησιμοποιείται για τη δημιουργία λογαριασμών και την παροχή άδειας στην εφαρμογή πορτοφολιού να διαχειρίζεται περιουσιακά στοιχεία. + +### Μπορώ να στείλω bitcoin σε μια διεύθυνση Ethereum ή ether σε μια διεύθυνση Bitcoin; + +Όχι, δεν μπορείτε. Το Bitcoin και το Ether υπάρχουν σε δύο ξεχωριστά δίκτυα (δηλ. διαφορετικές αλυσίδες συστοιχιών), το καθένα με τις δικές του δομές λογιστικής και διευθύνσεων. Έχουν γίνει διάφορες προσπάθειες γεφύρωσης των δύο διαφορετικών δικτύων, εκ των οποίων το πιο δραστήριο είναι αυτή τη στιγμή είναι το [Wrapped Bitcoin ή WBTC](https://www.bitcoin.com/get-started/what-is-wbtc/). Δεν πρόκειται για εσωτερική αποδοχή, αλλά ως WBTC είναι μια προσωρινή λύση (που σημαίνει ότι μια απλή ομάδα ατόμων ελέγχει ορισμένες κρίσιμες λειτουργίες) και αναφέρεται εδώ μόνο για ενημερωτικό σκοπό. + +### Αν έχω μια διεύθυνση ETH, μπορώ να έχω την ίδια διεύθυνση σε άλλες κρυπτοαλυσίδες; + +Μπορείτε να χρησιμοποιήσετε την ίδια [διεύθυνση](/glossary/#address) σε όλες τις κρυπτοαλυσίδες που χρησιμοποιούν παρόμοιο λογισμικό με το Ethereum (γνωστό ως «EVM-compatible»). Αυτή η [λίστα](https://chainlist.org/) θα σας δείξει ποιες κρυπτοαλυσίδες μπορείτε να χρησιμοποιήσετε με την ίδια διεύθυνση. Μερικά κρυπτοαλυσίδες, όπως το Bitcoin, εφαρμόζουν ένα εντελώς ξεχωριστό σύνολο κανόνων δικτύου και θα χρειαστείτε μια διαφορετική διεύθυνση με διαφορετική μορφή. Εάν έχετε ένα πορτοφόλι έξυπνου συμβολαίου, θα πρέπει να ελέγξετε την ιστοσελίδα προϊόντων του για περισσότερες πληροφορίες σχετικά με τις κρυπτοαλυσίδες που υποστηρίζονται, επειδή συνήθως υπάρχουν περιορισμοί αλλά πιο ασφαλές πεδίο εφαρμογής. + +### Το κεφάλαιό μου είναι ασφαλέστερο στο πορτοφόλι μου από ότι σε ένα ανταλλακτήριο; + +Το να έχετε το δικό σας πορτοφόλι σημαίνει ότι αναλαμβάνετε την ευθύνη για την ασφάλεια των περιουσιακών σας στοιχείων. Υπάρχουν δυστυχώς πολλά παραδείγματα αποτυχημένων ανταλλαγών που έχασαν τα χρήματα των πελατών τους. Η κατοχή ενός πορτοφολιού (με μια φράση επαναφοράς) αφαιρεί τον κίνδυνο που σχετίζεται με την εμπιστοσύνη σε κάποια οντότητα για τη διατήρηση των περιουσιακών σας στοιχείων. Ωστόσο, πρέπει να κρατήσετε ασφαλή τα δικά σας κλειδιά και να αποφύγετε απάτες ηλεκτρονικού ψαρέματος, την κατά λάθος έγκριση συναλλαγών ή την αποκάλυψη των λέξεων, την αλληλεπίδραση με ψεύτικους ιστότοπους και άλλους κινδύνους. Οι κίνδυνοι και τα οφέλη είναι διαφορετικά. + +### Αν χάσω το πορτοφόλι μου τηλέφωνο/υλικό, πρέπει να χρησιμοποιήσω την ίδια εφαρμογή πορτοφολιού και πάλι για να ανακτήσω τα χαμένα κεφάλαια μου; + +Όχι, μπορείτε να χρησιμοποιήσετε διαφορετικό πορτοφόλι. Εφόσον έχετε τη φράση ασφαλείας, μπορείτε να την εισαγάγετε στα περισσότερα πορτοφόλια και θα επαναφέρουν τον λογαριασμό σας. Να είστε προσεκτικοί αν χρειαστεί ποτέ να το κάνετε αυτό: είναι καλύτερο να βεβαιωθείτε ότι δεν είστε συνδεδεμένοι στο διαδίκτυο κατά την ανάκτηση του πορτοφολιού σας, έτσι ώστε η φράση ασφαλείας σας δε θα διαρρεύσει κατά λάθος. Είναι συχνά αδύνατο να ανακτηθούν τα χαμένα κεφάλαια χωρίς τη φράση ανάκτησης. diff --git a/public/content/translations/el/guides/how-to-id-scam-tokens/index.md b/public/content/translations/el/guides/how-to-id-scam-tokens/index.md new file mode 100644 index 00000000000..5a2af2c1c79 --- /dev/null +++ b/public/content/translations/el/guides/how-to-id-scam-tokens/index.md @@ -0,0 +1,97 @@ +--- +title: Πως να αναγνωρίσεις τα μη αυθεντικά στοιχεία +description: Πως να καταλάβεις τα μη αυθεντικά στοιχεία, πως καταφέρνουν να δείχνουν αξιόπιστα και πως μπορείς να τα αποφύγεις. +lang: el +--- + +# Πως να αναγνωρίσεις τα μη αυθεντικά στοιχεία {#identify-scam-tokens} + +Μία από τις πιο κοινές χρήσεις του Ethereum είναι όταν μια ομάδα μπορεί να δημιουργήσει ένα εμπορεύσιμο ψηφιακό στοιχείο, κατά μία έννοια το δικό της νόμισμα. Αυτά τα στοιχεία συνήθως ακολουθούν το πρότυπο [ERC-20](/developers/docs/standards/tokens/erc-20/). Ωστόσο, οπουδήποτε υπάρχει χρηματική αξία, υπάρχουν επιτήδειοι που θα προσπαθούν να αποκτήσουν αυτή την αξία για προσωπικό τους όφελος. + +Υπάρχουν δύο περιπτώσεις που μπορεί να σας εξαπατήσουν: + +- **Πουλώντας σας ένα μην αυθεντικό ψηφιακό στοιχείο**, το οποίο είναι πιθανό να μοιάζει απόλυτα με ένα αξιόπιστο στοιχείο το οποίο θέλετε να αγοράσετε, αλλά προέρχεται από έναν μην αξιόπιστο φορέα και στην πραγματικότητα δεν έχει καμία αξία. +- **Να σας πείσουν να εγκρίνετε λάθος συναλλαγές**, όπου συνήθως γίνεται με την ανακατεύθυνση σε κάποια διεπαφή που διαχειρίζονται οι ίδιοι. Είναι πιθανό να προσπαθήσουν να αποκτήσουν πρόσβαση στα ERC-20 στοιχεία σας, εκθέτοντας ευαίσθητες πληροφορίες που τους δίνουν πρόσβαση στα κρυπτονομίσματά σας και άλλα στοιχεία. Αυτές οι διεπαφές ενδεχομένως είναι σχεδόν πανομοιότυπα αντίγραφα των αυθεντικών ιστοσελίδων, περιέχοντας όμως κρυφές λειτουργίες. + +Για να περιγράψουμε ένα μην αυθεντικό στοιχείο και πως να το εντοπίσουμε, θα μελετήσουμε το εξής παράδειγμα: [`wARB`](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82). Το συγκεκριμένο ψηφιακό στοιχείο επιδιώκει να μοιάζει με ένα αυθεντικό [`ARB`](https://etherscan.io/address/0xb50721bcf8d664c30412cfbc6cf7a15145234ad1) κρυπτονόμισμα. + + + +Το Arbitrum είναι ένας οργανισμός ο οποίος αναπτύσσει και διαχειρίζεται τα πακέτα ενημέρωσης optimistic. Αρχικά, το Arbitrum ξεκίνησε ως μία κερδοσκοπική εταιρεία, στη συνέχεια κάνει βήματα προς την αποκεντροποίηση. Ως μέρος αυτής της διαδικασίας, εισήγαγαν ένα ανταλλάξιμο ψηφιακό στοιχείο διακυβέρνησης. + + + + + +Υπάρχει μία σύμβαση στο Ethereum όπου όταν ένα στοιχείο δεν είναι συμβατό με το ERC-20 πρωτόκολλο, δημιουργείται μία εναλλακτική μορφή του, το όνομα του οποίου ξεκινά με το γράμμα «w». Επομένως, για παράδειγμα, έχουμε το wBTC για το bitcoin και το wETH για το ether. + +Δεν έχει ιδιαίτερο νόημα να δημιουργηθεί μία εναλλακτική μορφή για ένα στοιχείο συμβατό με το ERC-20 και υπάρχει στο Ethereum, αλλά οι επιτήδειοι βασίζονται στο να φαίνεται αξιόπιστο παρά στην πραγματική του μορφή. + + + +## Πώς λειτουργούν τα μη αξιόπιστα στοιχεία; {#how-do-scam-tokens-work} + +Η κύρια αρχή του Ethereum είναι η αποκεντροποίηση. Αυτό σημαίνει ότι δεν υπάρχει κάποια κεντρική αρχή η οποία μπορεί να κατασχέσει τα στοιχεία σας ή να σας εμποδίσει να δημιουργήσετε ένα έξυπνο συμβόλαιο. Αυτό παράλληλα σημαίνει πως οι κακόβουλοι μπορεί να δημιουργήσουν οποιοδήποτε έξυπνο συμβόλαιο θέλουν. + + + +Τα Έξυπνα Συμβόλαια είναι προγράμματα που εκτελούνται στην κορυφή της κρυπτοαλυσίδας του Ethereum. Για παράδειγμα, οποιοδήποτε ERC-20 κρυπτονόμισμα έχει δημιουργηθεί ως έξυπνο συμβόλαιο. + + + +Συγκεκριμένα, η Arbitrum υλοποίησε ένα συμβόλαιο το οποίο χρησιμοποιεί το σύμβολο `ARB`. Αυτό όμως δεν εμποδίζει άλλους χρήστες να υλοποιήσουν ένα έξυπνο συμβόλαιο με το ίδιο ακριβώς σύμβολο ή ένα παραπλήσιο. Όποιος δημιουργεί το συμβόλαιο είναι εκείνος που ορίζει τι θα κάνει αυτό το έξυπνο συμβόλαιο. + +## Πως εμφανίζεται αξιόπιστο {#appearing-legitimate} + +Υπάρχουν διάφορα κόλπα που μπορεί να χρησιμοποιήσει ο δημιουργός ενός μη αξιόπιστου στοιχείου για να το κάνει να φαίνεται αξιόπιστο. + +- **Αξιόπιστο όνομα και σύμβολο**. Όπως αναφέρθηκε παραπάνω, τα ERC-20 συμβόλαια δύναται να έχουν το ίδιο όνομα και σύμβολο με άλλα διαφορετικά ERC-20 συμβόλαια. Δεν μπορεί κανείς να βασιστεί σε αυτές τις δύο παραμέτρους για ασφάλεια. + +- **Αξιόπιστοι κάτοχοι**. Τα μη αυθεντικά κρυπτονομίσματα συχνά μοιράζουν σημαντικές ποσότητες σε διευθύνσεις που αναμένεται να είναι πραγματικοί χρήστες κανονικών κρυπτονομισμάτων. + + Για παράδειγμα, ας μελετήσουμε ξανά το `wARB`. [Περίπου το 16% των κρυπτονομισμάτων](https://etherscan.io/token/0xb047c8032b99841713b8e3872f06cf32beb27b82?a=0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f) ανήκουν σε μία διεύθυνση όπου η δημόσια ετικέτα είναι [ Arbitrum Foundation: Deployer](https://etherscan.io/address/0x1c8db745abe3c8162119b9ef2c13864cd1fdd72f). Η συγκεκριμένη διεύθυνση _δεν_ είναι ψεύτικη. Αντιθέτως, είναι η αυθεντική διεύθυνση, η οποία [ ανέπτυξε το πραγματικό ARB συμβόλαιο στο κεντρικό δίκτυο του Ethereum](https://etherscan.io/tx/0x242b50ab4fe9896cb0439cfe6e2321d23feede7eeceb31aa2dbb46fc06ed2670). + + Καθώς το ERC-20 υπόλοιπο μιας διεύθυνσης περιέχεται στο ERC-20 συμβόλαιο, μπορεί να οριστεί από τον δημιουργό του συμβολαίου και να είναι οτιδήποτε εκείνος επιθυμεί. Είναι επίσης πιθανό ένα συμβόλαιο να απαγορεύει τις μεταφορές, επομένως οι αξιόπιστοι χρήστες δεν είναι σε θέση να ξεφορτωθούν τα μη αυθεντικά κρυπτονομίσματα. + +- **Αξιόπιστες μεταφορές**. _Οι αξιόπιστοι χρήστες δε θα πλήρωναν για να μεταφέρουν ένα μη αυθεντικό κρυπτονόμισμα σε άλλους, επομένως αν υπάρχουν συναλλαγές θα πρέπει να είναι αξιόπιστες, σωστά; _**Λάθος**. Οι ενέργειες `Transfer` δημιουργούνται από ERC-20 συμβόλαιο. Ένας απατεώνας μπορεί εύκολα να γράψει το συμβόλαιο με τέτοιο τρόπο ώστε να παράγει αυτές τις ενέργειες. + +## Μη αξιόπιστες ιστοσελίδες {#websites} + +Οι απατεώνες μπορούν εύκολα να δημιουργήσουν αληθοφανείς ιστοσελίδες, οι οποίες μερικές φορές αποτελούν πραγματικούς κλώνους των αυθεντικών, με πανομοιότυπες διεπαφές αλλά με κρυφές διαφορές. Τέτοια παραδείγματα μπορεί να είναι εξωτερικοί σύνδεσμοι οι οποίοι φαίνονται αυθεντικοί αλλά στην πραγματικότητα ανακατευθύνουν τον χρήστη σε ένα εξωτερικό μη αξιόπιστο ιστότοπο ή ακόμη δίνοντας εσφαλμένες οδηγίες στον χρήστη, καθοδηγώντας τον να εκθέσει τα κλειδιά του ή να στείλει στοιχεία στη διεύθυνση του απατεώνα. + +Η καλύτερη μέθοδος για να αποφεύγονται τέτοιες καταστάσεις είναι να εξετάζει κανείς προσεκτικά τον σύνδεσμο από τις ιστοσελίδες που επισκέπτεται και να αποθηκεύει αυτές τις διευθύνσεις στους σελιδοδείκτες του. Κατά αυτό τον τρόπο μπορεί κανείς να έχει πρόσβαση στις πραγματικές σελίδες μέσω των σελιδοδεικτών του χωρίς να καταλήξει κατά λάθος σε μία μη αξιόπιστη σελίδα. + +## Πώς μπορείτε να προστατευθείτε; {#protect-yourself} + +1. **Ελέγξτε τη διεύθυνση της συναλλαγής**. Τα αξιόπιστα στοιχεία προέρχονται από αξιόπιστους οργανισμούς και μπορείτε να δείτε τη διεύθυνσή του συμβολαίου στη σελίδα του οργανισμού. Για παράδειγμα, [για το `ARB` μπορείτε να δείτε την αξιόπιστη διεύθυνση εδώ](https://docs.arbitrum.foundation/deployment-addresses#token). + +2. **Τα αυθεντικά στοιχεία έχουν ρευστότητα**. Μία άλλη επιλογή είναι να ελέγξετε τη ρευστότητα στο [Uniswap](https://uniswap.org/), ένα από τα πιο δημοφιλή πρωτόκολλα ανταλλαγής κρυπτονομισμάτων. Το συγκεκριμένο πρωτόκολλο λειτουργεί χρησιμοποιώντας δεξαμενές ρευστότητας, όπου οι επενδυτές καταθέτουν τα κρυπτονομίσματά τους με σκοπό το κέρδος από κρατήσεις συναλλαγών. + +Τα πλαστά ψηφιακά στοιχεία συνήθως έχουν πολύ μικρές δεξαμενές ρευστότητας, καθώς οι απατεώνες δε θέλουν να ρισκάρουν με πραγματικό κεφάλαιο. Για παράδειγμα, η δεξαμενή ρευστότητας Uniswap `ARB`/`ETH` περιέχει σχεδόν ένα εκατομμύριο δολάρια ([δείτε εδώ την τρέχουσα αξία](https://info.uniswap.org/#/pools/0x755e5a186f0469583bd2e80d1216e02ab88ec6ca)) όπου μικρές πωλήσεις ή αγορές δεν πρόκειται να μεταβάλλουν την αξία του: + +![Αγοράζοντας ένα αυθεντικό ψηφιακό στοιχείο](./uniswap-real.png) + +Αλλά όταν προσπαθείτε να αγοράσετε το μη αυθεντικό στοιχείο `wARB`, ακόμη και μια μικροσκοπική αγορά θα άλλαζε την τιμή πάνω από 90%: + +![Αγοράζοντας ένα πλαστό ψηφιακό στοιχείο](./uniswap-scam.png) + +Άλλο ένα αποδεικτικό στοιχείο που μας δείχνει ότι το `wARB` δεν είναι πιθανό να είναι νόμιμο κρυπτονόμισμα. + +3. **Κοίταξε στο Etherscan**. Αρκετά πλαστά στοιχεία έχουν ήδη εντοπιστεί και να αναφερθεί στην κοινότητα. Μερικά από αυτά είναι [ σημειωμένα στο Etherscan](https://info.etherscan.com/etherscan-token-reputation/). Παρόλο που το Etherscan δεν είναι κάποια έγκυρη πηγή (Είναι η φύση των αποκεντρωμένων δικτύων, δεν μπορεί να υπάρχει μια έγκυρη πηγή νομιμότητας), τα ψηφιακά στοιχεία που έχουν χαρακτηριστεί από το Etherscan ως πλαστά είναι συνήθως η πραγματικότητα. + + ![Πλαστά στοιχεία στο Etherscan](./etherscan-scam.png) + +## Συμπεράσματα {#conclusion} + +Όσο υπάρχει κάποιας μορφής αξία στον κόσμο, πάντοτε θα υπάρχουν κακόβουλοι οι οποίοι προσπαθούν να κλέψουν. Σε έναν αποκεντρωμένο κόσμο δεν υπάρχει κανένας να σας προστατεύσει πέρα από εσάς. Ελπίζουμε, να θυμάστε τα παρακάτω στοιχεία που θα βοηθήσουν να ξεχωρίσετε τα αυθεντικά από τα πλαστά ψηφιακά στοιχεία: + +- Τα πλαστά ψηφιακά στοιχεία προσποιούνται πως είναι αξιόπιστα χρησιμοποιώντας το ίδιο όνομα, σύμβολο και άλλα στοιχεία. +- Τα πλαστά ψηφιακά στοιχεία _δε_ μπορούν να χρησιμοποιούν την ίδια διεύθυνση συμβολαίου. +- Η καλύτερη πηγή για τη διεύθυνση του αξιόπιστου ψηφιακού στοιχείου είναι ο οργανισμός στον οποίο ανήκει. +- Αν κάτι τέτοιο δε λειτουργήσει, μπορείτε να χρησιμοποιήσετε δημοφιλείς και αξιόπιστες εφαρμογές όπως το [Uniswap](https://app.uniswap.org/#/swap) και το [Etherscan](https://etherscan.io/). diff --git a/public/content/translations/el/guides/how-to-revoke-token-access/index.md b/public/content/translations/el/guides/how-to-revoke-token-access/index.md new file mode 100644 index 00000000000..b7901e6e48e --- /dev/null +++ b/public/content/translations/el/guides/how-to-revoke-token-access/index.md @@ -0,0 +1,73 @@ +--- +title: Πώς να ανακαλέσετε την πρόσβαση ενός έξυπνου συμβολαίου στα κρυπτονομίσματά σας +description: Ένας οδηγός ανάκλησης πρόσβασης έξυπνου συμβολαίου στα κρυπτονομίσματα +lang: el +--- + +# Πώς να ανακαλέσετε την πρόσβαση ενός έξυπνου συμβολαίου στα κρυπτονομίσματά σας + +Αυτός ο οδηγός θα σας διδάξει πώς να δείτε μια λίστα με όλα τα [έξυπνα συμβόλαια](/glossary/#smart-contract) στα οποία έχετε επιτρέψει την πρόσβαση στο κεφάλαιό σας και πώς να τα ακυρώσετε. + +Μερικές φορές κακόβουλοι προγραμματιστές δημιουργούν πίσω πόρτες στα έξυπνα συμβόλαια επιτρέποντας την πρόσβαση στα κεφάλαια των χρηστών που αλληλεπιδρούν μαζί του. Αυτό που συμβαίνει συχνά είναι ότι τέτοιες πλατφόρμες ζητούν από το χρήστη την άδεια να δαπανήσει έναν **απεριόριστο αριθμό κρυπτονομισμάτων** σε μια προσπάθεια να εξοικονομήσει μικρές ποσότητες [gas](/glossary/#gas) στο μέλλον, αλλά αυτό ενέχει αυξημένο κίνδυνο. + +Μόλις μια πλατφόρμα αποκτήσει απεριόριστα δικαιώματα πρόσβασης σε ένα κρυπτονόμισμα στο [πορτοφόλι](/glossary/#wallet) σας, μπορεί να ξοδέψει όλα αυτά τα κρυπτονομίσματα, ακόμη και αν έχετε μεταφέρει το κεφάλαιό σας από την πλατφόρμα τους στο πορτοφόλι σας. Κακόβουλοι χρήστες μπορούν να έχουν πρόσβαση στα χρήματά σας και να τα αποσύρουν στα πορτοφόλια τους χωρίς επιλογή ανάκτησης από εσάς. + +Η μόνη προστασία είναι η αποφυγή χρήσης νέων έργων που δεν έχουν περάσει από δοκιμές. Εγκρίνετε μόνο ό, τι χρειάζεστε ή να ανακαλείτε τακτικά την πρόσβαση. Πώς γίνετε αυτό; + +## Βήμα 1: Χρησιμοποιήστε τα εργαλεία ανάκλησης πρόσβασης + +Αρκετοί ιστότοποι σας επιτρέπουν να δείτε και να ανακαλέσετε τα έξυπνα συμβόλαια που συνδέονται με τη διεύθυνσή σας. Επισκεφθείτε έναν από τους παρακάτω ιστότοπους και συνδέστε το πορτοφόλι σας: + +- [Ethallowance](https://ethallowance.com/) (Ethereum) +- [Etherscan](https://etherscan.io/tokenapprovalchecker) (Ethereum) +- [Cointool](https://cointool.app/approve/eth) (πολλαπλά δίκτυα) +- [Revoke](https://revoke.cash/) (πολλαπλά δίκτυα) +- [Unrekt](https://app.unrekt.net/) (πολλαπλά δίκτυα) +- [EverRevoke](https://everrise.com/everrevoke/) (πολλαπλά δίκτυα) + +## Βήμα 2: Σύνδεση πορτοφολιού + +Στην ιστοσελίδα, κάντε κλικ στο «Σύνδεση πορτοφολιού». Η ιστοσελίδα θα πρέπει να σας ζητήσει να συνδέσετε το πορτοφόλι σας. + +Βεβαιωθείτε ότι χρησιμοποιείτε το ίδιο δίκτυο στην ιστοσελίδα και το πορτοφόλι σας. Θα δείτε μόνο έξυπνα συμβόλαια που σχετίζονται με το δίκτυο που έχει επιλεγεί. Για παράδειγμα, αν συνδεθείτε με το Κεντρικό δίκτυο του Ethereum, θα δείτε μόνο συμβόλαια του Ethereum και όχι από άλλες κρυπτοαλυσίδες όπως το Polygon. + +## Βήμα 3: Επιλέξτε ένα έξυπνο συμβόλαιο που θέλετε να ανακαλέσετε + +Θα πρέπει να δείτε όλα τα συμβόλαια που έχουν πρόσβαση στα κρυπτονομίσματα σας και το όριο των δαπανών τους. Βρείτε αυτό που θέλετε να ανακαλέσετε. + +Αν δεν ξέρετε ποιο συμβόλαιο να επιλέξετε, μπορείτε να τα ανακαλέσετε όλα. Δε θα σας δημιουργήσει προβλήματα, αλλά θα πρέπει να παραχωρήσετε ένα νέο σύνολο δικαιωμάτων την επόμενη φορά που θα αλληλεπιδράσετε με οποιαδήποτε από αυτά τα συμβόλαια. + +## Βήμα 4: Ανακαλέστε την πρόσβαση στο κεφάλαιό σας + +Μόλις κάνετε κλικ στην ανάκληση, θα πρέπει να δείτε μια νέα πρόταση συναλλαγής στο πορτοφόλι σας. Αυτό είναι αναμενόμενο. Θα πρέπει να καταβάλετε το τέλος κρατήσεων για την ακύρωση για να είναι επιτυχής. Ανάλογα με το δίκτυο, μπορεί να διαρκέσει από ένα λεπτό έως αρκετά για την ολοκλήρωση. + +Σας συμβουλεύουμε να ανανεώσετε το εργαλείο ανάκλησης μετά από λίγα λεπτά και να συνδέσετε ξανά το πορτοφόλι σας, για να ελέγξετε ξανά αν το συμβόλαιο που ανακαλέσατε έχει διαγραφεί από τη λίστα. + +Σας συνιστούμε να μην επιτρέπετε ποτέ σε έργα απεριόριστη πρόσβαση στα νομίσματα σας και να ανακαλείτε τακτικά όλα τα δικαιώματα χρήσης. Η ανάκληση πρόσβασης ψηφιακών στοιχείων δεν πρέπει ποτέ να οδηγεί σε απώλεια χρημάτων, ειδικά αν χρησιμοποιείτε τα εργαλεία που αναφέρονται παραπάνω. + +
+ + +
Θέλετε να μάθετε περισσότερα;
+ + Δείτε τους άλλους οδηγούς μας + +
+ +## Συχνές ερωτήσεις + +### Η ανάκληση πρόσβασης στα κρυπτονομίσματα τερματίζει επίσης τα αποθηκευμένα κεφάλαια, τη συμμετοχή σε δεξαμενές, τη δανειοδότηση κλπ; + +Όχι, δε θα επηρεάσει καμία από τις στρατηγικές σας [DeFi](/glossary/#defi). Θα διατηρήσετε τις θέσεις σας και θα συνεχίσετε να λαμβάνετε ανταμοιβές κλπ. + +### Η αποσύνδεση του πορτοφολιού από ένα έργο είναι το ίδιο με την ανάκληση της άδειας χρήσης των κεφαλαίων μου; + +Όχι, αν αποσυνδέσετε το πορτοφόλι σας από το έργο, αλλά έχετε χορηγήσει δικαιώματα πρόσβασης στο συμβόλαιο, μπορούν ακόμα να χρησιμοποιήσουν αυτά τα κρυπτονομίσματα. Πρέπει να ανακαλέσετε αυτή την πρόσβαση. + +### Πότε θα λήξει η άδεια του συμβολαίου; + +Δεν υπάρχουν ημερομηνίες λήξης στα δικαιώματα των συμβολαίων. Εάν χορηγήσετε δικαιώματα σε συμβόλαια, μπορούν να χρησιμοποιηθούν ακόμα και χρόνια μετά τη χορήγησή τους. + +### Γιατί τα έργα που επιβάλλουν απεριόριστο χρήση κρυπτονομισμάτων; + +Τα έργα συχνά το κάνουν αυτό για να ελαχιστοποιήσουν τον αριθμό των αιτημάτων που απαιτούνται, σημαίνει ότι ο χρήστης πρέπει να εγκρίνει μόνο μία φορά και να καταβάλει το τέλος συναλλαγής μόνο μία φορά. Είναι βολικό αυτό αλλά μπορεί να είναι επικίνδυνο για τους χρήστες και πρέπει να εγκρίνουν προσεκτικά, σε νέους ιστοτόπους ή δεν έχουν ελεγχθεί. Μερικά πορτοφόλια επιτρέπουν να περιορίσετε χειροκίνητα το ποσό των νομισμάτων που εγκρίνονται για να περιορίσετε τον κίνδυνο. Ελέγξτε τον πάροχο του πορτοφολιού σας για περισσότερες πληροφορίες. diff --git a/public/content/translations/el/guides/how-to-swap-tokens/index.md b/public/content/translations/el/guides/how-to-swap-tokens/index.md new file mode 100644 index 00000000000..1abea55f52c --- /dev/null +++ b/public/content/translations/el/guides/how-to-swap-tokens/index.md @@ -0,0 +1,67 @@ +--- +title: Πώς να ανταλλάξετε ψηφιακά στοιχεία +description: Ένας οδηγός ανταλλαγής κρυπτονομισμάτων στο Ethereum. +lang: el +--- + +# Πώς να ανταλλάξετε ψηφιακά στοιχεία + +Έχετε κουραστεί να αναζητάτε ανταλλακτήριο που να συμπεριλαμβάνει όλα τα αγαπημένα σας κρυπτονομίσματα; Μπορείτε να ανταλλάξετε τα περισσότερα κρυπτονομίσματα χρησιμοποιώντας [αποκεντρωμένα ανταλλακτήρια](/glossary/#dex). + +Η μετατροπή ενός κρυπτονομίσματος περιλαμβάνει την ανταλλαγή δύο διαφορετικών κρυπτονομισμάτων που υπάρχουν στο δίκτυο Ethereum, για παράδειγμα την ανταλλαγή ETH για DAI (κρυπτονομίσματα [ERC-20](/glossary/#erc-20)). Η διαδικασία είναι πολύ γρήγορη με μικρό κόστος. Πρέπει να έχετε ένα πορτοφόλι κρυπτονομισμάτων για να ανταλλάξετε κρυπτονομίσματα. + +**Προαπαιτούμενα:** + +- Κατοχή [πορτοφολιού κρυπτονομισμάτων](/glossary/#wallet), δείτε τον οδηγό: [Πώς να «δημιουργήσετε» ένα λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/). +- Προσθήκη κεφαλαίων στο πορτοφόλι σας. + +## 1. Συνδέστε το πορτοφόλι σας με το αποκεντρωμένο ανταλλακτήριο (DEX) της επιλογής σας + +Μερικά δημοφιλή ανταλλακτήρια είναι: + +- [Uniswap](https://app.uniswap.org/#/swap) +- [Sushiswap](https://www.sushi.com/swap) +- [1Inch](https://app.1inch.io/#/1/unified/swap/ETH/DAI) +- [Curve](https://curve.fi/#/ethereum/swap) + +Ενδιαφέρεστε; Μάθετε περισσότερα σχετικά με την [αποκεντρωμένη χρηματοδότηση (DeFi)](/defi/) και πώς λειτουργούν αυτά τα νέα είδη ανταλλαγών. + +## 2. Επιλέξτε τα κρυπτονομισμάτα που θέλετε να μετατρέψετε + +Για παράδειγμα ETH και DAI. Βεβαιωθείτε ότι έχετε κεφάλαια σε ένα από τα δύο κρυπτονομίσματα. ![Κοινή διεπαφή για μετατροπή](./swap1.png) + +## 3. Εισαγάγετε το ποσό των κρυπτονομισμάτων που θέλετε να μετατρέψετε και κάντε κλικ στο κουμπί της ανταλλαγής + +Το ανταλλακτήριο θα υπολογίσει αυτόματα πόσα κρυπτονομίσματα θα πάρετε. + +![Κοινή διεπαφή για μετατροπή](./swap2.png) + +## 4. Επιβεβαίωση συναλλαγής + +Έλεγχος των λεπτομερειών συναλλαγής. Ελέγξτε τη συναλλαγματική ισοτιμία και οποιεσδήποτε άλλες χρεώσεις για να αποφύγετε άσχημες εκπλήξεις. + +![Κοινή διεπαφή επανεξέτασης της συναλλαγής](./swap3.png) + +## 5. Περιμένετε να ολοκληρωθεί η συναλλαγή + +Μπορείτε να δείτε την πρόοδο της συναλλαγής σε οποιονδήποτε εξερευνητή κρυπτοαλυσίδων. Αυτή η διαδικασία δε διαρκεί περισσότερο από 10 λεπτά. + +Θα λάβετε αυτόματα τα κρυπτονομίσματα της ανταλλαγής στο πορτοφόλι σας μόλις ολοκληρωθεί η συναλλαγή. +
+ + +
Θέλετε να μάθετε περισσότερα;
+ + Δείτε τους άλλους οδηγούς μας + +
+ +## Συχνές ερωτήσεις + +### Μπορώ να μετατρέψω ETH για BTC από το πορτοφόλι μου; + +Όχι, μπορείτε να ανταλλάξετε μόνο κρυπτονομίσματα που ανήκουν στο δίκτυο Ethereum, όπως το ETH, τα ERC-20 κρυπτονομίσματα ή NFT. Μπορείτε να ανταλλάξετε μόνο μορφές «υποκατάστατων» του Bitcoin που υπάρχουν στο Ethereum. + +### Τι είναι ολίσθηση; + +Είναι η διαφορά μεταξύ της αναμενόμενης συναλλαγματικής και της πραγματικής ισοτιμίας. diff --git a/public/content/translations/el/guides/how-to-use-a-bridge/index.md b/public/content/translations/el/guides/how-to-use-a-bridge/index.md new file mode 100644 index 00000000000..e7eb2212f40 --- /dev/null +++ b/public/content/translations/el/guides/how-to-use-a-bridge/index.md @@ -0,0 +1,70 @@ +--- +title: Πώς να μεταφέρετε ψηφιακά στοιχεία μέσω γέφυρας στο επίπεδο 2 +description: Ένας οδηγός που εξηγεί πώς να μετακινήσετε κρυπτονομίσματα από Ethereum σε επίπεδο 2 χρησιμοποιώντας μια γέφυρα. +lang: el +--- + +# Πώς να μεταφέρετε ψηφιακά στοιχεία μέσω γέφυρας στο επίπεδο 2 + +Εάν υπάρχει μεγάλη κίνηση στο Ethereum, μπορεί να γίνει ακριβό. Μια λύση είναι η δημιουργία νέων «επιπέδων»: δηλαδή διαφορετικών δικτύων που λειτουργούν με παρόμοιους τρόπους με το ίδιο Ethereum. Αυτά τα λεγόμενα Layer 2s βοηθούν στη μείωση της συμφόρησης και του κόστους στο Ethereum με την επεξεργασία πολλών ακόμη συναλλαγών με χαμηλότερα τέλη, και μόνο αποθηκεύοντας το αποτέλεσμα αυτών στο Ethereum κάθε τόσο. Ως εκ τούτου, αυτά τα επίπεδα 2s επιτρέπουν τη συναλλαγή με αυξημένη ταχύτητα και μειωμένο κόστος. Πολλά δημοφιλή προγράμματα κρυπτονομισμάτων κινούνται στο επίπεδο 2s λόγω αυτών των οφελών. Ο απλούστερος τρόπος για να μετακινήσετε κρυπτονομίσματα από το Ethereum σε ένα επίπεδο 2 είναι να χρησιμοποιήσετε μια γέφυρα. + +**Προαπαιτούμενα:** + +- κατοχή πορτοφολιού κρυπτονομισμάτων, δείτε τον οδηγό: [Πώς να «δημιουργήσετε» ένα λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/) +- προσθήκη κεφαλαίων στο πορτοφόλι σας + +## 1. Καθορίστε ποιο δίκτυο επιπέδου 2 θέλετε να χρησιμοποιήσετε + +Μπορείτε να μάθετε περισσότερα για διάφορα έργα και σημαντικούς συνδέσμους στην [σελίδα Επίπεδο 2](/layer-2/). + +## 2. Μεταβείτε στην επιλεγμένη γέφυρα + +Μερικά δημοφιλή επιπέδου 2 είναι: + +- [Γέφυρα Arbitrum](https://bridge.arbitrum.io/?l2ChainId=42161) +- [Γέφυρα Optimism](https://app.optimism.io/bridge/deposit) +- [Γέφυρα δικτύου Boba](https://gateway.boba.network/) + +## 3. Συνδεθείτε στη γέφυρα με το πορτοφόλι σας + +Βεβαιωθείτε ότι το πορτοφόλι σας είναι συνδεδεμένο στο δίκτυο Ethereum Mainnet. Αν όχι, η ιστοσελίδα θα σας ζητήσει αυτόματα να αλλάξετε δίκτυα. + +![Κοινή διεπαφή για γεφύρωση κρύπτο](./bridge1.png) + +## 4. Καθορίστε το ποσό και μετακινήστε τα κεφάλαιά σας + +Ελέγξτε το ποσό που θα λάβετε από την ανταλλαγή για το δίκτυο επιπέδου 2 και τα τέλη που απαιτούνται, για να αποφύγετε δυσάρεστες εκπλήξεις. + +![Κοινή διεπαφή για γεφύρωση κρύπτο](./bridge2.png) + +## 5. Επιβεβαιώστε τη συναλλαγή στο πορτοφόλι σας + +Θα πρέπει να πληρώσετε ένα τέλος σε ETH για την επεξεργασία της συναλλαγής. + +![Κοινή διεπαφή για γεφύρωση κρύπτο](./bridge3.png) + +## 6. Περιμένετε να μεταφερθεί το κεφάλαιό σας + +Αυτή η διαδικασία δε διαρκεί περισσότερο από 10 λεπτά. + +## 7. Προσθέστε το επιλεγμένο δίκτυο επιπέδου 2 στο πορτοφόλι σας (προαιρετικό) + +Μπορείτε να χρησιμοποιήσετε το [chainlist.org](http://chainlist.org) για να βρείτε στοιχεία RPC του δικτύου. Μόλις το δίκτυο προστεθεί και ολοκληρωθεί η συναλλαγή, θα δείτε τα κρυπτονομίσματα στο πορτοφόλι σας. +
+ + +
Θέλετε να μάθετε περισσότερα;
+ + Δείτε τους άλλους οδηγούς μας + +
+ +## Συχνές ερωτήσεις + +### Εάν έχω τα χρήματα σε ανταλλακτήριο; + +Μπορεί να είστε σε θέση να κάνετε ανάληψη σε κάποια 2s επίπεδα απευθείας από ένα ανταλλακτήριο. Ελέγξτε το τμήμα «Μεταφορά στο επίπεδο 2» της [σελίδας Layer 2](/layer-2/) μας για περισσότερες πληροφορίες. + +### Μπορώ να επιστρέψω στο κεντρικό δίκτυο Ethereum μετά από τη γεφύρωση των κρυπτονομισμάτων μου σε L2; + +Ναι, μπορείτε πάντα να μεταφέρετε τα χρήματά σας πίσω στο κεντρικό δίκτυο χρησιμοποιώντας την ίδια γέφυρα. diff --git a/public/content/translations/el/guides/how-to-use-a-wallet/index.md b/public/content/translations/el/guides/how-to-use-a-wallet/index.md new file mode 100644 index 00000000000..2252fc2e82a --- /dev/null +++ b/public/content/translations/el/guides/how-to-use-a-wallet/index.md @@ -0,0 +1,88 @@ +--- +title: Πώς να χρησιμοποιήσετε ένα πορτοφόλι +description: Ένας οδηγός που εξηγεί πώς να στείλετε ή να λάβετε κρυπτονομίσματα και να συνδεθείτε σε έργα web3. +lang: el +--- + +# Πώς να χρησιμοποιήσετε ένα πορτοφόλι + +Μάθετε πώς να χρησιμοποιείτε όλες τις βασικές λειτουργίες ενός πορτοφολιού. Εάν δεν έχετε ακόμη, ρίξτε μια ματιά στο [Πώς να δημιουργήσετε έναν λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/). + +## Ανοίξτε το πορτοφόλι σας + +Θα πρέπει να δείτε έναν πίνακα ελέγχου που πιθανότατα θα δείξει το υπόλοιπό σας και θα περιέχει κουμπιά για να στείλετε ή να λάβετε κρυπτονομίσματα. + +## Κατάθεση κρυπτονομισμάτων + +Θέλετε να κάνετε κατάθεση κρυπτονομισμάτων στο πορτοφόλι σας; + +Κάθε λογαριασμός Ethereum έχει τη δική του διεύθυνση κατάθεσης, η οποία είναι μια μοναδική ακολουθία αριθμών και γραμμάτων. Η διεύθυνση λειτουργεί όπως ένας αριθμός τραπεζικού λογαριασμού. Οι διευθύνσεις Ethereum ξεκινούν πάντα με “0x”. Μπορείτε να μοιραστείτε αυτήν τη διεύθυνση με οποιονδήποτε: είναι ασφαλές να το κάνετε. + +Η διεύθυνσή σας μοιάζει με τη διεύθυνση του σπιτιού σας: πρέπει να πείτε στους άλλους ποια είναι για να σας βρουν. Είναι ασφαλές να το κάνετε, γιατί μπορείτε να κλειδώσετε την εξώπορτά σας με ένα άλλο κλειδί που μόνο εσείς ελέγχετε, ώστε να μην μπορεί να μπει κανείς, ακόμα και αν γνωρίζει πού μένετε. + +Πρέπει να παρέχετε σε όποιον θέλει να σας στείλει χρήματα τη δημόσια διεύθυνσή σας. Πολλές εφαρμογές πορτοφολιού σάς επιτρέπουν να αντιγράψετε τη διεύθυνσή σας ή να εμφανίσετε έναν κωδικό QR για σάρωση και ευκολότερη χρήση. Αποφύγετε την χειροκίνητη πληκτρολόγηση οποιασδήποτε διεύθυνσης Ethereum. Μπορεί εύκολα να οδηγήσει σε λάθη και απώλεια κεφαλαίων. + +Οι διαφορετικές εφαρμογές μπορεί να διαφέρουν ή να χρησιμοποιούν διαφορετική γλώσσα, αλλά θα πρέπει να σας οδηγήσουν σε μια παρόμοια διαδικασία εάν προσπαθείτε να μεταφέρετε χρήματα. + +1. Ανοίξτε την εφαρομή πορτοφολιού σας. +2. Κάντε κλικ στην επιλογή "Λήψη" (ή παρόμοια διατύπωση). +3. Αντιγράψτε τη διεύθυνση Ethereum στο πρόχειρο. +4. Δτείλτε στον αποστολέα τη διεύθυνση Ethereum που λάβατε. + +## Αποστολή κρυπτονομισμάτων + +Θέλετε να στείλετε ETH σε άλλο πορτοφόλι; + +1. Ανοίξτε την εφαρομή πορτοφολιού σας. +2. Λάβετε τη διεύθυνση κατάθεσης και βεβαιωθείτε ότι είστε συνδεδεμένοι στο ίδιο δίκτυο με τον παραλήπτη. +3. Εισαγάγετε τη διεύθυνση κατάθεσης ή σαρώστε τον κωδικό QR με την κάμερα σας ώστε να μην χρειάζεται να τη γράψετε χειροκίνητα. +4. Κάντε κλικ σε ένα κουμπί «Αποστολή» στο πορτοφόλι σας (ή με παρόμοια διατύπωση). + +![Πεδίο αποστολή για τη διεύθυνση κρυπτονομίσματος](./send.png) +
+ +5. Πολλά κρυπτονομίσματα, όπως το DAI ή το USDC, υπάρχουν σε πολλαπλά δίκτυα. Κατά τη μεταφορά κρυπτονομισμάτων, βεβαιωθείτε ότι ο παραλήπτης χρησιμοποιεί το ίδιο δίκτυο με εσάς. +6. Βεβαιωθείτε ότι το πορτοφόλι σας έχει επαρκή ETH για την κάλυψη των κρατήσεων συναλλαγής, η οποία ποικίλλει ανάλογα με τις συνθήκες του δικτύου. Τα περισσότερα πορτοφόλια προσθέσουν αυτόματα την προτεινόμενη χρέωση στη συναλλαγή, την οποία μπορείτε στη συνέχεια να επιβεβαιώσετε. +7. Μόλις ολοκληρωθεί η επεξεργασία της συναλλαγής, το αντίστοιχο ποσό κρυπτονομισμάτων θα εμφανιστεί στο λογαριασμό του παραλήπτη. Αυτό μπορεί να διαρκέσει από μερικά δευτερόλεπτα έως λίγα λεπτά, ανάλογα με την κίνηση του δικτύου τη δεδομένη στιγμή. + +## Σύνδεση σε έργα + +Η διεύθυνσή σας θα είναι η ίδια σε όλα τα έργα Ethereum. Δε χρειάζεται να εγγραφείτε μεμονωμένα σε κανένα έργο. Μόλις αποκτήσετε ένα πορτοφόλι, μπορείτε να συνδεθείτε σε οποιοδήποτε έργο του Ethereum χωρίς καμία πρόσθετη πληροφορία. Δεν απαιτούνται email ή άλλες προσωπικές πληροφορίες. + +1. Επισκεφθείτε τον ιστότοπο οποιουδήποτε έργου. +2. Εάν ο ιστότοπος του έργου είναι απλώς μια στατική περιγραφή του έργου, θα πρέπει να είστε σε θέση να κάνετε κλικ σε ένα κουμπί «Ανοίξτε την εφαρμογή» στο μενού που θα σας οδηγήσει στην πραγματική εφαρμογή ιστού. +3. Μόλις βρεθείτε στην εφαρμογή κάντε κλικ στο «Σύνδεση». + +![Κουμπί που επιτρέπει στο χρήστη να συνδεθεί με την ιστοσελίδα με ένα πορτοφόλι](./connect1.png) + +4. Επιλέξτε το πορτοφόλι σας από την παρεχόμενη λίστα επιλογών. Αν δεν μπορείτε να δείτε το πορτοφόλι σας, μπορεί να είναι κρυμμένο κάτω από την επιλογή «WalletConnect». + +![Επιλογή από λίστα πορτοφολιών για σύνδεση με](./connect2.png) + +5. Επιβεβαιώστε το αίτημα υπογραφής στο πορτοφόλι σας για να εγκρίνετε τη σύνδεση. **Η υπογραφή αυτού του μηνύματος δεν πρέπει να απαιτεί ETH**. +6. Αυτό ήταν! Αρχίστε να χρησιμοποιείτε την εφαρμογή. Μπορείτε να βρείτε μερικά ενδιαφέροντα έργα στη σελίδα μας [dApps](/dapps/#explore).
+ + +
Θέλετε να μάθετε περισσότερα;
+ + Δείτε τους άλλους οδηγούς μας + +
+ +## Συχνές ερωτήσεις + +### Αν έχω μια διεύθυνση ETH, μπορώ να έχω την ίδια διεύθυνση σε άλλες κρυπτοαλυσίδες; + +Μπορείτε να χρησιμοποιήσετε την ίδια διεύθυνση σε όλες τις συμβατές κρυπτοαλυσίδες με το EVM (αν έχετε τον τύπο πορτοφολιού με μια φράση ανάκτησης). Αυτή η [λίστα](https://chainlist.org/) θα σας δείξει ποιες κρυπτοαλυσίδες μπορείτε να χρησιμοποιήσετε με την ίδια διεύθυνση. Μερικά κρυπτοαλυσίδες, όπως το Bitcoin, εφαρμόζουν ένα εντελώς ξεχωριστό σύνολο κανόνων δικτύου και θα χρειαστείτε μια διαφορετική διεύθυνση με διαφορετική μορφή. Εάν έχετε ένα πορτοφόλι έξυπνου συμβολαίου θα πρέπει να ελέγξετε την ιστοσελίδα προϊόντων του για περισσότερες πληροφορίες σχετικά με τις κρυπτοαλυσίδες που υποστηρίζονται. + +### Μπορώ να χρησιμοποιήσω την ίδια διεύθυνση σε πολλές συσκευές; + +Ναι, μπορείτε να χρησιμοποιήσετε την ίδια διεύθυνση σε πολλές συσκευές. Τα πορτοφόλια τεχνικά, είναι μόνο ένα περιβάλλον για να σας δείξουν το κεφάλαιό σας και να κάνουν συναλλαγές. Ο λογαριασμός σας δεν είναι αποθηκευμένος μέσα στο πορτοφόλι, αλλά στην κρυπτοαλυσίδα. + +### Δεν έχω λάβει τα κρυπτονομίσματα, που μπορώ να ελέγξω την κατάσταση μιας συναλλαγής; + +Μπορείτε να χρησιμοποιήσετε το [block explorers](/developers/docs/data-and-analytics/block-explorers/) για να δείτε την κατάσταση οποιασδήποτε συναλλαγής σε πραγματικό χρόνο. Το μόνο που χρειάζεται να κάνετε είναι η αναζήτηση με τη διεύθυνση του πορτοφολιού σας ή το ID της συναλλαγής. + +### Μπορώ να ακυρώσω ή να επιστρέψω συναλλαγές; + +Όχι, μόλις επιβεβαιωθεί μια συναλλαγή, δεν μπορείτε να την ακυρώσετε. diff --git a/public/content/translations/el/guides/index.md b/public/content/translations/el/guides/index.md new file mode 100644 index 00000000000..7d0e01e2842 --- /dev/null +++ b/public/content/translations/el/guides/index.md @@ -0,0 +1,27 @@ +--- +title: Οδηγοί του Ethereum +description: Μια συλλογή πρακτικών οδηγών που εξηγούν τα βασικά χρήσης του Ethereum για αρχάριους. +lang: el +--- + +# Οδηγοί του Ethereum + +Θέλετε να ξεκινήσετε το ταξίδι σας στο Ethereum; Οι πρακτικοί οδηγοί μας θα σας οδηγήσουν βήμα - βήμα για να ξεκινήσετε και να διευκολύνουν την πλοήγησή σας σε αυτήν τη νέα τεχνολογία. + +## Ξεκινώντας + +1. [Πώς να «δημιουργήσετε» έναν λογαριασμό Ethereum](/guides/how-to-create-an-ethereum-account/) - Ο καθένας μπορεί να δημιουργήσει ένα πορτοφόλι δωρεάν. Αυτός ο οδηγός θα σας δείξει από πού να ξεκινήσετε. + +2. [Πώς να χρησιμοποιήσετε ένα πορτοφόλι](/guides/how-to-use-a-wallet/) - Μια εισαγωγή στα βασικά χαρακτηριστικά κάθε πορτοφολιού και πώς να το χρησιμοποιήσετε. + +## Βασικά στοιχεία ασφαλείας + +1. [Πώς να ανακαλέσετε την πρόσβαση ενός έξυπνου συμβολαίου στα κρυπτονομίσματά σας](/guides/how-to-revoke-token-access/) - Εάν ξαφνικά δείτε μια συναλλαγή στο πορτοφόλι σας που δεν γνωρίζετε, αυτός ο οδηγός θα σας διδάξει πώς να αποτρέψετε να συμβεί και πάλι. + +2. [Πώς να εντοπίσετε κρυπτονομίσματα απάτης](/guides/how-to-id-scam-tokens/) - Ποια είναι τα κρυπτονομίσματα απάτης, πώς μπορούν να φαίνονται νόμιμα, και πώς να τους εντοπίσει για να προστατεύσει τον εαυτό σας και να αποφευχθεί η απάτη. + +## Χρησιμοποιώντας το Ethereum + +1. [Πώς να μεταφέρετε ψηφιακά στοιχεία μέσω γέφυρας στο επίπεδο 2](/guides/how-to-use-a-bridge/) - Οι συναλλαγές στο Ethereum είναι δαπανηρές; Σκεφτείτε να μεταθερθείτε σε λύσεις κλιμάκωσης Ethereum που ονομάζονται στρώμα 2s. + +2. [Πώς να ανταλλάξετε ψηφιακά στοιχεία](/guides/how-to-swap-tokens/) - Θέλετε να ανταλλάξετε τα κρυπτονομίσματά σας με ένα άλλο; Αυτός ο απλός οδηγός θα σας δείξει πώς να το κάνετε αυτό. diff --git a/public/content/translations/el/roadmap/future-proofing/index.md b/public/content/translations/el/roadmap/future-proofing/index.md index 5c82dbe25ca..1c103658fdf 100644 --- a/public/content/translations/el/roadmap/future-proofing/index.md +++ b/public/content/translations/el/roadmap/future-proofing/index.md @@ -15,7 +15,7 @@ template: roadmap Η πρόκληση που αντιμετωπίζουν οι προγραμματιστές του Ethereum είναι ότι το τρέχον πρωτόκολλο [απόδειξης συμμετοχής](/glossary/#pos) βασίζεται σε ένα πολύ αποτελεσματικό σχήμα υπογραφών γνωστό ως BLS για τη συγκέντρωση ψήφων σε έγκυρα [μπλοκ](/glossary/#block). Αυτό το σχήμα υπογραφών έχει σπάσει από τους κβαντικούς υπολογιστές, αλλά οι εναλλακτικές λύσεις που είναι ανθεκτικές σε κβαντικά δεν είναι τόσο αποτελεσματικές. -Τα [σχήματα δέσμευσης «KZG»](/roadmap/danksharding/#what-is-kzg) που χρησιμοποιούνται σε πολλά σημεία στο Ethereum για τη δημιουργία κρυπτογραφικών μυστικών είναι γνωστό ότι είναι κβαντικά ευάλωτα. Επί του παρόντος, αυτό παρακάμπτεται με τη χρήση «αξιόπιστων ρυθμίσεων» όπου πολλοί χρήστες δημιουργούν τυχαίες καταστάσεις που δεν μπορούν να δημιουργηθούν αντίστροφα από έναν κβαντικό υπολογιστή. Ωστόσο, η ιδανική λύση θα ήταν απλώς η ενσωμάτωση της κβαντικής ασφαλούς κρυπτογραφίας. Υπάρχουν δύο κορυφαίες προσεγγίσεις που θα μπορούσαν να γίνουν αποτελεσματικές αντικαταστάσεις για το σχήμα BLS: [το βασισμένο σε STARK](https://hackmd.io/@vbuterin/stark_aggregation) και [το βασισμένο σε πλέγμα](https://medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) υπογραφή. **Αυτά είναι ακόμα υπό έρευνα και δημιουργία πρωτότυπου.** +Τα [σχήματα δέσμευσης «KZG»](/roadmap/danksharding/#what-is-kzg) που χρησιμοποιούνται σε πολλά σημεία στο Ethereum για τη δημιουργία κρυπτογραφικών μυστικών είναι γνωστό ότι είναι κβαντικά ευάλωτα. Επί του παρόντος, αυτό παρακάμπτεται με τη χρήση «αξιόπιστων ρυθμίσεων» όπου πολλοί χρήστες δημιουργούν τυχαίες καταστάσεις που δεν μπορούν να δημιουργηθούν αντίστροφα από έναν κβαντικό υπολογιστή. Ωστόσο, η ιδανική λύση θα ήταν απλώς η ενσωμάτωση της κβαντικής ασφαλούς κρυπτογραφίας. Υπάρχουν δύο κορυφαίες προσεγγίσεις που θα μπορούσαν να γίνουν αποτελεσματικές αντικαταστάσεις για το σχήμα BLS: [το βασισμένο σε STARK](https://hackmd.io/@vbuterin/stark_aggregation) και [το βασισμένο σε πλέγμα](https:/ /medium.com/asecuritysite-when-bob-met-alice/so-what-is-lattice-encryption-326ac66e3175) υπογραφή. **Αυτά είναι ακόμα υπό έρευνα και δημιουργία πρωτότυπου.** Διαβάστε για το KZG και τις αξιόπιστες ρυθμίσεις @@ -29,7 +29,7 @@ template: roadmap ## Τρέχουσα πρόοδος {#current-progress} -Οι περισσότερες από τις αναβαθμίσεις που απαιτούνται για το μελλοντικό Ethereum βρίσκονται ακόμα σε **ερευνητικό στάδιο και ενδέχεται να απέχουν αρκετά χρόνια** από την εφαρμογή τους. Αναβαθμίσεις όπως η κατάργηση της ΑΥΤΟΚΑΤΑΣΤΡΟΦΗΣ και η εναρμόνιση του σχήματος συμπίεσης που χρησιμοποιείται στους πελάτες εκτέλεσης και συναίνεσης είναι πιθανό να έρθουν νωρίτερα από την κβαντική κρυπτογραφία. +Οι περισσότερες από τις αναβαθμίσεις που απαιτούνται για το μελλοντικό Ethereum βρίσκονται ακόμα σε **ερευνητικό στάδιο και ενδέχεται να απέχουν αρκετά χρόνια** από την εφαρμογή τους. Αναβαθμίσεις, όπως η κατάργηση της ΑΥΤΟΚΑΤΑΣΤΡΟΦΗΣ και η εναρμόνιση του συστήματος συμπίεσης που χρησιμοποιείται στα λογισμικά πελάτη εκτέλεσης και συναίνεσης, είναι πιθανό να έρθουν νωρίτερα από την κβαντική κρυπτογραφία. **Περισσότερες πληροφορίες** diff --git a/public/content/translations/el/roadmap/index.md b/public/content/translations/el/roadmap/index.md index 3751cd6e747..c40093abac2 100644 --- a/public/content/translations/el/roadmap/index.md +++ b/public/content/translations/el/roadmap/index.md @@ -78,7 +78,7 @@ buttons: **Ναι, σχεδόν σίγουρα.** Ο οδικός χάρτης είναι το τρέχον σχέδιο για την αναβάθμιση του Ethereum, το οποίο καλύπτει τόσο βραχυπρόθεσμα όσο και μακροπρόθεσμα σχέδια. Αναμένουμε ότι ο οδικός χάρτης θα αλλάξει, καθώς θα καταστούν διαθέσιμες νέες πληροφορίες και τεχνολογίες. -Σκεφτείτε τον οδικό χάρτη του Ethereum ως μια σειρά προθέσεων για τη βελτίωση του Ethereum. Είναι η καλύτερη υπόθεση των βασικών ερευνητών και των προγραμματιστών για την πιο βέλτιστη πορεία του Ethereum προς το μέλλον. +Σκεφτείτε τον οδικό χάρτη του Ethereum ως μια σειρά προθέσεων για τη βελτίωση του Ethereum. Είναι η καλύτερη θεωρία των βασικών ερευνητών και των προγραμματιστών για τη βέλτιστη πορεία του Ethereum προς το μέλλον. ## Πότε θα ολοκληρωθεί ο οδικός χάρτης; {#when-will-the-roadmap-be-finished} diff --git a/public/content/translations/el/roadmap/merge/index.md b/public/content/translations/el/roadmap/merge/index.md index a9ce933bf15..6f2d24794ba 100644 --- a/public/content/translations/el/roadmap/merge/index.md +++ b/public/content/translations/el/roadmap/merge/index.md @@ -108,7 +108,7 @@ id="developers"> ## Συγχώνευση και κατανάλωση ενέργειας {#merge-and-energy} -Η Συγχώνευση σηματοδότησε το τέλος της απόδειξης εργασίας για το Ethereum και έδωσε το έναυσμα για την εποχή ενός πιο βιώσιμου, φιλικού προς το περιβάλλον Ethereum. Η κατανάλωση ενέργειας του Ethereum εκτιμάται ότι μειώθηκε κατά 99,95%, καθιστώντας το Ethereum ένα οικολογικό blockchain. Μάθετε περισσότερα για την [κατανάλωση ενέργειας του Ethereum](/energy-consumption/). +Η Συγχώνευση σηματοδότησε το τέλος της απόδειξης εργασίας για το Ethereum και έδωσε το έναυσμα για την εποχή ενός πιο βιώσιμου και φιλικού προς το περιβάλλον Ethereum. Η κατανάλωση ενέργειας του Ethereum εκτιμάται ότι μειώθηκε κατά 99,95%, καθιστώντας το Ethereum ένα οικολογικό blockchain. Μάθετε περισσότερα για την [κατανάλωση ενέργειας του Ethereum](/energy-consumption/). ## Συγχώνευση και κλιμάκωση {#merge-and-scaling} diff --git a/public/content/translations/el/security/index.md b/public/content/translations/el/security/index.md index d236c501a07..aa53f038a30 100644 --- a/public/content/translations/el/security/index.md +++ b/public/content/translations/el/security/index.md @@ -33,7 +33,7 @@ lang: el Το ιδιωτικό κλειδί του πορτοφολιού σας είναι ο κωδικός πρόσβασης στο πορτοφόλι Ethereum σας. Είναι το μόνο πράγμα που εμποδίζει κάποιον που γνωρίζει τη διεύθυνση του πορτοφολιού σας να αφαιρέσει από τον λογαριασμό σας από όλα τα περιουσιακά του στοιχεία! - + Τι είναι το πορτοφόλι Ethereum; @@ -242,15 +242,7 @@ _Σημείωση: Υπάρχουν παράγωγα token/tickers που μπο
- Σημείωση: Η χρήση 2FA που βασίζεται σε SMS είναι επιρρεπής σε  - - SIM jacking - -  και δεν είναι ασφαλές. Για καλύτερη ασφάλεια, χρησιμοποιήστε μια υπηρεσία όπως το{" "} - - Google Authenticator - -  ή το Authy. + Σημείωση: Η χρήση 2FA με χρήση SMS είναι ευάλωτη στην κλοπή SIM και δεν είναι ασφαλής. Για καλύτερη ασφάλεια, χρησιμοποιήστε μια υπηρεσία όπως το Google Authenticator ή το Authy.
diff --git a/public/content/translations/el/web3/index.md b/public/content/translations/el/web3/index.md index 3155fb6d147..8710bc0548f 100644 --- a/public/content/translations/el/web3/index.md +++ b/public/content/translations/el/web3/index.md @@ -147,7 +147,7 @@ H πρώτη σύλληψη της ιδέας του Berners-Lee, γνωστή Το Web3 δεν είναι αυστηρά καθορισμένο. Διάφοροι συμμετέχοντες της κοινότητας έχουν διαφορετικές απόψεις για αυτό. Δείτε παρακάτω μερικές: -- [Τι είναι το Web3; Το Αποκεντρωμένο Διαδίκτυο του Μέλλοντος Περιγράφηκε](https://www.freecodecamp.org/news/what-is-web3/) - _Nader Dabit_ +- [Τι είναι το Web3; Το Αποκεντρωμένο Διαδίκτυο του Μέλλοντος Περιγράφηκε ](https://www.freecodecamp.org/news/what-is-web3/) - _Nader Dabit_ - [Κατανοώντας το Web3](https://medium.com/l4-media/making-sense-of-web-3-c1a9e74dcae) - _Josh Stark_ - [Γιατί το Web3 έχει σημασία](https://future.a16z.com/why-web3-matters/) - _ Chris Dixon_ - [Γιατί η αποκέντρωσης έχει σημασία](https://onezero.medium.com/why-decentralization-matters-5e3f79f7638e) - _ Chris Dixon_ diff --git a/src/intl/el/common.json b/src/intl/el/common.json index 9ec4130a836..5fe0632593d 100644 --- a/src/intl/el/common.json +++ b/src/intl/el/common.json @@ -433,4 +433,4 @@ "wrapped-ether": "Wrapped Ether", "yes": "Ναι", "zero-knowledge-proofs": "Απόδειξη μηδενικής γνώσης" -} +} \ No newline at end of file diff --git a/src/intl/el/learn-quizzes.json b/src/intl/el/learn-quizzes.json new file mode 100644 index 00000000000..27f67af8aab --- /dev/null +++ b/src/intl/el/learn-quizzes.json @@ -0,0 +1,527 @@ +{ + "add-quiz": "Προσθήκη ερώτησης/κουίζ", + "average-score": "Μέσος όρος βαθμολογίας:", + "basics": "Τα βασικά του Ethereum", + "basics-description": "Αυτή η ενότητα καλύπτει τις θεμελιώδεις έννοιες του Ethereum, διασφαλίζοντας σας ένα ισχυρό θεμέλιο.", + "completed": "Ολοκληρωμένα:", + "community-stats": "Στατιστικά κοινότητας", + "contribute": "Συνεισφέρετε στη βιβλιοθήκη μας.", + "correct": "Σωστά", + "explanation": "Επεξήγηση", + "next-question": "Επόμενη ερώτηση", + "next-quiz": "Επόμενο κουίζ", + "question-number": "Αριθμός ερώτησης {{number}}:", + "page-assets-merge": "Η Συγχώνευση", + "passed": "Περάσατε το κουίζ!", + "questions": "Ερωτήσεις", + "questions-answered": "Απαντήσεις:", + "quizzes-subtitle": "Μάθετε πόσο καλά καταλαβαίνετε το Ethereum και τα κρυπτονομίσματα. Είστε έτοιμοι να γίνετε ειδικοί;", + "retry": "Ρυθμός επανάληψης:", + "score": "Βαθμολογία", + "see-results": "Αποτελέσματα", + "share-results": "Κοινοποίηση", + "start": "Έναρξη", + "submit-answer": "Έλεγχος απάντησης", + "test-your-knowledge": "Δοκιμάστε τις γνώσεις σας στο Ethereum", + "try-again": "Δοκιμάστε ξανά", + "using-ethereum": "Χρησιμοποιώντας το Ethereum", + "using-ethereum-description": "Απολαύστε τις πραγματικές εφαρμογές του Ethereum και ανακαλύψτε πώς αυτή η επαναστατική πλατφόρμα κρυπτοαλυσίδας αναδιαμορφώνει τις βιομηχανίες. Αυτός είναι ένας πολύ καλός τρόπος για να βεβαιωθείτε ότι καταλαβαίνετε αρκετά καλά πριν αρχίσετε να χρησιμοποιείτε κρυπτονομίσματα.", + "want-more-quizzes": "Θέλετε να δείτε περισσότερα κουίζ εδώ;", + "your-results": "Τα αποτελέσματά σας", + "your-total": "Οι συνολικοί πόντοι σας", + "a001-prompt": "Η μεγαλύτερη διαφορά μεταξύ Ethereum και Bitcoin είναι:", + "a001-a-label": "Το Ethereum δε σας επιτρέπει να κάνετε πληρωμές σε άλλους", + "a001-a-explanation": "Τόσο Bitcoin όσο και το Ethereum σας επιτρέπουν να κάνετε πληρωμές σε άλλους.", + "a001-b-label": "Μπορείτε να εκτελέσετε προγράμματα υπολογιστή στο Ethereum", + "a001-b-explanation": "Το Ethereum προγραμματίζεται. Αυτό σημαίνει ότι μπορείτε να προσθέσετε οποιοδήποτε πρόγραμμα υπολογιστή στην κρυπτοαλυσίδα του Ethereum.", + "a001-c-label": "Μπορείτε να εκτελέσετε προγράμματα υπολογιστή στο Bitcoin", + "a001-c-explanation": "Σε αντίθεση με το Ethereum, το Bitcoin δεν είναι προγραμματιζόμενο και δεν μπορεί να εκτελέσει διάφορα προγράμματα υπολογιστών.", + "a001-d-label": "Έχουν διαφορετικά λογότυπα", + "a001-d-explanation": "Έχουν διαφορετικά λογότυπα! Αλλά αυτό δεν είναι η μεγαλύτερη διαφορά μεταξύ τους.", + "a002-prompt": "Το εγγενή κρυπτονόμισμα του Ethereum ονομάζεται:", + "a002-a-label": "Ether", + "a002-a-explanation": "Το Ether είναι το εγγενές κρυπτονόμισμα στο δίκτυο του Ethereum.", + "a002-b-label": "Ethereum", + "a002-b-explanation": "Το Ethereum είναι η κρυπτοαλυσίδα, αλλά το κρυπτονόμισμα δεν ονομάζεται Ethereum. Αυτή είναι μια κοινή παρανόηση.", + "a002-c-label": "Ethercoin", + "a002-c-explanation": "Σε αντίθεση με πολλά άλλα κρυπτονομίσματα, το κρυπτονόμισμα του Ethereum δεν περιέχει τo συνθετικό «coin».", + "a002-d-label": "Bitcoin", + "a002-d-explanation": "Το Bitcoin (κεφαλαίο B) ήταν η πρώτη κρυπτοαλυσίδα που δημιουργήθηκε, ενώ το bitcoin (πεζό b) είναι το μητρικό κρυπτονόμισμα.", + "a003-prompt": "Ποιος εκτελεί το Ethereum;", + "a003-a-label": "Προγραμματιστές", + "a003-a-explanation": "Οι προγραμματιστές είναι ζωτικής σημασίας για την οικοδόμηση και τη βελτίωση του Ethereum, αλλά δεν είναι η ομάδα που κρατά το Ethereum σε λειτουργία.", + "a003-b-label": "Κρυπτορύχοι", + "a003-b-explanation": "Η κρυπτόρυξη δεν ήταν δυνατή πριν «Τη Συγχώνευση». Δεν υπάρχουν πλέον «κρυπτορύχοι» στο Ethereum.", + "a003-c-label": "Το Ίδρυμα Ethereum", + "a003-c-explanation": "Το Ίδρυμα Ethereum δεν παίζει σημαντικό ρόλο στην καθημερινή λειτουργία των κόμβων του Ethereum.", + "a003-d-label": "Οποιοσδήποτε εκτελεί έναν κόμβο", + "a003-d-explanation": "Οποιοσδήποτε εκτελεί έναν κόμβο είναι ένα κρίσιμο μέρος της υποδομής του Ethereum. Αν δεν έχετε ήδη, σκεφτείτε να εκτελέσετε έναν κόμβο Ethereum.", + "a004-prompt": "Από τότε που ξεκίνησε το Ethereum, πόσες φορές το δίκτυο ήταν εκτός σύνδεσης;", + "a004-a-label": "Ποτέ", + "a004-b-label": "Μια φορά", + "a004-c-label": "Τέσσερις φορές", + "a004-d-label": "Περισσότερο από δέκα φορές", + "a004-explanation": "Το Ethereum δεν έχει βγει ποτέ εντελώς εκτός σύνδεσης (ή σταμάτησε να παράγει μπλοκ) από τότε που ξεκίνησε.", + "a005-prompt": "Το Ethereum καταναλώνει περισσότερη ηλεκτρική ενέργεια από:", + "a005-a-label": "Εξόρυξη χρυσού", + "a005-a-explanation": "Τα ορυχεία χρυσού καταναλώνουν περίπου ~131 Terawatt ώρες ετησίως. Το Ethereum καταναλώνει περίπου 0.0026 Terawatt ώρες ετησίως.", + "a005-b-label": "Netflix", + "a005-b-explanation": "Το Netflix καταναλώνει περίπου ~0.451 Terawatt ώρες ετησίως. Το Ethereum καταναλώνει περίπου 0.0026 Terawatt ώρες ετησίως.", + "a005-c-label": "PayPal", + "a005-c-explanation": "Το PayPal καταναλώνει περίπου ~0.26 Terawatt ώρες ετησίως. Το Ethereum καταναλώνει περίπου 0.0026 Terawatt ώρες ετησίως.", + "a005-d-label": "Κανένα απο τα παραπάνω", + "a005-d-explanation": "Το Ethereum καταναλώνει περίπου 0.0026 Terawatt ώρες ετησίως. Λιγότερο από την εξόρυξη χρυσού (~131 TWh/yr), το Netflix (~0.451 TWh/yr) και το Paypal (~0.26 TWh/yr).", + "b001-prompt": "Το Ether είναι επίσης γνωστός ως:", + "b001-a-label": "ETC", + "b001-a-explanation": "Το ETC είναι συντομογραφία για το Ethereum Classic.", + "b001-b-label": "ETR", + "b001-b-explanation": "Το ETR δεν είναι συντομογραφία για το Ether ή οποιοδήποτε σημαντικό κρυπτονόμισμα.", + "b001-c-label": "ETH", + "b001-c-explanation": "Το ETH είναι συντομογραφία για το ether στο Ethereum.", + "b001-d-label": "BTC", + "b001-d-explanation": "Το BTC είναι συντομογραφία για το bitcoin στο δίκτυο Bitcoin.", + "b002-prompt": "Στο Ethereum καταβάλλονται τέλη δικτύου σε:", + "b002-a-label": "bitcoin", + "b002-a-explanation": "Το «bitcoin» με πεζά γράμματα είναι το μητρικό κρυπτονόμισμα του δικτύου Bitcoin.", + "b002-b-label": "ETH", + "b002-b-explanation": "Το ether (ETH) είναι εγγενές κρυπτονόμισμα του Ethereum. Όλα τα τέλη δικτύου στο Ethereum καταβάλλονται σε ETH.", + "b002-c-label": "USD", + "b002-c-explanation": "Δεν είναι δυνατόν να πληρώσετε τέλη δικτύου στο Ethereum σε USD (δολάρια ΗΠΑ) ή οποιοδήποτε άλλο νόμισμα FIAT.", + "b002-d-label": "Ethereum", + "b002-d-explanation": "Το Ethereum είναι το δίκτυο, αλλά τα τέλη δικτύου του Ethereum καταβάλλονται σε ETH.", + "b003-prompt": "Η αποθήκευση κεφαλαίου στο Ethereum βοηθά στην ασφάλεια του δικτύου επειδή:", + "b003-a-label": "Οι χρήστες του κεφαλαίου μπορεί να αποκλείσουν άλλους αν δεν τους αρέσει αυτό που κάνουν.", + "b003-a-explanation": "Οι κάτοχοι του κεφαλαίου δεν είναι σε θέση να λογοκρίνουν αυθαίρετα χρήστες.", + "b003-b-label": "Αν ένας χρήστης με αποθηκευμένο κεφάλαιο προσπαθήσει να εξαπατήσει το δίκτυο, κινδυνεύει να χάσει τα ETH του.", + "b003-b-explanation": "Οι κάτοχοι αποθηκευμένου κεφαλαίου κινδυνεύουν να χάσουν σημαντικό ποσό των ETH τους εάν αποδειχθεί ότι συμπεριφέρονται κακόβουλα στο δίκτυο.", + "b003-c-label": "Οι κάτοχοι αποθηκευμένου κεφαλαίου τρέχουν εκτελούν ισχυρούς υπολογιστές για την απόδειξη εργασίας.", + "b003-c-explanation": "Οι κάτοχοι αποθηκευμένου κεφαλαίου δε χρειάζονται ισχυρά συστήματα για να αποθηκεύσουν τα ETH τους. Το Ethereum σταμάτησε να χρησιμοποιεί την απόδειξη εργασίας με «Τη Συγχώνευση».", + "b003-d-label": "Οι κάτοχοι αποθηκευμένου κεφαλαίου υποβάλλονται σε KYC πριν γίνουν δεκτοί ως επικυρωτές.", + "b003-d-explanation": "Η αποθήκευση κεφαλαίου στο Ethereum δε χρειάζεται άδεια και δεν απαιτείται KYC.", + "b004-prompt": "Το ΕΤΗ μπορεί να χρησιμοποιηθεί για:", + "b004-a-label": "Πληρωμή κρατήσεων συναλλαγής στο Ethereum", + "b004-a-explanation": "Η απάντηση είναι εν μέρει σωστή, αλλά είναι μόνο μία από τις πολλές χρήσης του ETH.", + "b004-b-label": "Πληρωμές peer-to-peer χωρίς λογοκρισία", + "b004-b-explanation": "Η απάντηση είναι εν μέρει σωστή, αλλά είναι μόνο μία από τις πολλές χρήσης του ETH.", + "b004-c-label": "Εγγύηση για δάνεια κρυπτονομισμάτων", + "b004-c-explanation": "Η απάντηση είναι εν μέρει σωστή, αλλά είναι μόνο μία από τις πολλές χρήσης του ETH.", + "b004-d-label": "Όλα τα παραπάνω", + "b004-d-explanation": "Οι συναλλαγές του Ethereum δεν μπορούν να λογοκριθούν, το ETH απαιτείται για οποιαδήποτε συναλλαγή στο Ethereum και είναι κρίσιμο για τη σταθερότητα του οικοσυστήματος DeFi.", + "c001-prompt": "Το Web3 επιτρέπει στους χρήστες να κατέχουν ψηφιακά στοιχεία μέσω:", + "c001-a-label": "Κρυπτονομίσματα", + "c001-a-explanation": "Τα token (κρυπτοπαραστατικά) αποτελούν έναν τρόπο απεικόνισης μονάδων αξίας που μπορούν να εναλλάσσονται μεταξύ τους, και ανήκουν σε λογαριασμό Ethereum. Αν και αντιπροσωπεύουν ιδιοκτησία, υπάρχουν περισσότεροι τρόποι για να κατέχετε ψηφιακά περιουσιακά στοιχεία στο Ethereum.", + "c001-b-label": "NFT", + "c001-b-explanation": "Τα NFT (μη εναλλάξιμα κρυπτοπαραστατικά) αποτελούν έναν τρόπο απεικόνισης οτιδήποτε μοναδικού ως περιουσιακού στοιχείου που βασίζεται στο Ethereum. Αν και αντιπροσωπεύουν ιδιοκτησία, υπάρχουν περισσότεροι τρόποι για να κατέχετε ψηφιακά περιουσιακά στοιχεία στο Ethereum.", + "c001-c-label": "ENS", + "c001-c-explanation": "Το ENS (υπηρεσία ονομασίας Ethereum) είναι μια αποκεντρωμένη υπηρεσία ονομασίας για την αλυσίδα συστοιχιών Ethereum. Αν και αντιπροσωπεύουν ιδιοκτησία, υπάρχουν περισσότεροι τρόποι για να κατέχετε ψηφιακά περιουσιακά στοιχεία στο Ethereum.", + "c001-d-label": "Όλα τα παραπάνω", + "c001-d-explanation": "Όλες οι επιλογές παρέχουν τρόπους κατοχής ψηφιακών περιουσιακών στοιχείων στο Ethereum. Τα token, τα NFT και το ENS είναι όλοι τρόποι για την αντιπροσώπευση της ιδιοκτησίας ψηφιακών περιουσιακών στοιχείων.", + "c002-prompt": "Το Web1 ήταν μόνο ανάγνωση, το Web2 γραφή και το Web3 έχει περιγραφεί ως εξής:", + "c002-a-label": "ανάγνωση-γραφή-πώληση", + "c002-a-explanation": "Το Web3 δεν έχει περιγραφεί με αυτόν τον τρόπο.", + "c002-b-label": "ανάγνωση-εγγραφή-αποθήκευση", + "c002-b-explanation": "Το Web3 δεν έχει περιγραφεί με αυτόν τον τρόπο.", + "c002-c-label": "ανάγνωση-γραφή-κατοχή", + "c002-c-explanation": "Το Web3 επιτρέπει στους χρήστες να κατέχουν τα δεδομένα τους και έχει περιγραφεί ως «ανάγνωση-γραφή-ιδιοκτησία», κάθε βελτίωση στο Web2, το οποίο είναι μόνο «ανάγνωση-γραφή».", + "c002-d-label": "ανάγνωση-γραφή-αγορά", + "c002-d-explanation": "Το Web3 δεν έχει περιγραφεί με αυτόν τον τρόπο.", + "c003-prompt": "Ποια κατάσταση του ιστού δε βασίζεται σε τρίτους παρόχους πληρωμών;", + "c003-a-label": "Web1", + "c003-a-explanation": "Το Web1 δεν είχε εγγενές, ενσωματωμένο σύστημα πληρωμών.", + "c003-b-label": "Web2", + "c003-b-explanation": "Το Web2 δεν έχει εγγενές, ενσωματωμένο σύστημα πληρωμών.", + "c003-c-label": "Web3", + "c003-c-explanation": "Το Web3 διαθέτει εγγενές, ενσωματωμένο σύστημα πληρωμών με κρυπτονομίσματα, όπως το ETH.", + "c003-d-label": "Όλα τα παραπάνω", + "c003-d-explanation": "Το Web1 και το Web2 δε διαθέτουν εγγενές, ενσωματωμένες πληρωμές.", + "c004-prompt": "Ο όρος «Web3» επινοήθηκε για πρώτη φορά από:", + "c004-a-label": "Gavin Wood", + "c004-a-explanation": "Ο Gavin Wood, συνιδρυτής του Ethereum, πιστώνεται ότι επινόησε τον όρο Web3 λίγο μετά την έναρξη του Ethereum το 2015.", + "c004-b-label": "Steve Jobs", + "c004-b-explanation": "Ο Steve Jobs δεν επινόησε τη φράση «Web3».", + "c004-c-label": "Vitalik Buterin", + "c004-c-explanation": "Ο Vitalik Buterin, αν και ο αρχικός ιδρυτής του Ethereum, δεν επινόησε τη φράση «Web3».", + "c004-d-label": "Elon Musk", + "c004-d-explanation": "Ο Elon Musk δεν επινόησε τη φράση «Web3».", + "c005-prompt": "Μπορείτε να έχετε μια σύνδεση ενιαία και ανθεκτική στη λογοκρισία για όλο το διαδίκτυο μέσω της χρήσης:", + "c005-a-label": "Σύνδεση με Facebook", + "c005-a-explanation": "Η σύνδεση με το Facebook δεν είναι ανθεκτική στη λογοκρισία.", + "c005-b-label": "Σύνδεση με Google", + "c005-b-explanation": "Η σύνδεση με το Google δεν είναι ανθεκτική στη λογοκρισία.", + "c005-c-label": "Είσοδος με Ethereum", + "c005-c-explanation": "Η σύνδεση με το Ethereum είναι η μόνη επιλογή που είναι ανθεκτική στη λογοκρισία και μπορεί να χρησιμοποιηθεί σε οποιαδήποτε εφαρμογή διαδικτύου.", + "c005-d-label": "Σύνδεση με Twitter", + "c005-d-explanation": "Η σύνδεση με το Twitter δεν είναι ανθεκτική στη λογοκρισία.", + "d001-prompt": "Ο πιο ασφαλής τύπος πορτοφολιού είναι:", + "d001-a-label": "Πορτοφόλι κινητού τηλεφώνου", + "d001-a-explanation": "Τα πορτοφόλια κινητών τηλεφώνων αποθηκεύουν τα ιδιωτικά κλειδιά σε μια κινητή συσκευή, η οποία συνήθως συνδέεται με το διαδίκτυο και ενδέχεται να παραβιαστεί από κακόβουλο λογισμικό.", + "d001-b-label": "Συσκευή πορτοφολιού", + "d001-b-explanation": "Τα ιδιωτικά κλειδιά μιας συσκευής πορτοφολιού αποθηκεύονται αποκλειστικά σε αυτή, που μπορεί να διατηρηθεί εκτός διαδικτύου και απομονωμένα από άλλες εφαρμογές στις συσκευές σας.", + "d001-c-label": "Διαδικτυακό πορτοφόλι", + "d001-c-explanation": "Τα πορτοφόλια στο διαδίκτυο έχουν μικρότερη ασφάλεια από τις συσκευές πορτοφολιού, επειδή τα ιδιωτικά κλειδιά αποθηκεύονται σε μια συσκευή συνδεδεμένη στο διαδίκτυο.", + "d001-d-label": "Πορτοφόλι ηλεκτρονικού υπολογιστή", + "d001-d-explanation": "Τα πορτοφόλια για υπολογιστή διατηρούν τα ιδιωτικά κλειδιά στο σκληρό δίσκο του υπολογιστή, ο οποίος συνήθως συνδέεται στο διαδίκτυο και ενδέχεται να παραβιαστεί από άλλο λογισμικό.", + "d002-prompt": "Πώς θα πρέπει να αποθηκεύσετε τη φράση κλειδί σας;", + "d002-a-label": "Σε μια φωτογραφία στο τηλέφωνό σας", + "d002-a-explanation": "Αυτή δεν είναι η πιο ασφαλής επιλογή. Εάν αυτή η φωτογραφία μεταφορτωθεί στο χώρο αποθήκευσης cloud, τότε ένας χάκερ λαμβάνει αυτήν την εικόνα και αποκτά πρόσβαση στον λογαριασμό σας.", + "d002-b-label": "Σε ένα αρχείο στον υπολογιστή σας", + "d002-b-explanation": "Αυτή δεν είναι η πιο ασφαλής επιλογή. Οι χάκερ αναζητούν όλο και περισσότερο πληροφορίες σχετικές με κρυπτονομίσματα σε συσκευές-στόχους. Εάν ένας χάκερ αποκτήσει πρόσβαση στο αρχείο με τη μυστική φράση σας, θα αποκτήσει πρόσβαση στον λογαριασμό σας.", + "d002-c-label": "Σε ένα μήνυμα σε ένα έμπιστο μέλος της οικογένειας σας", + "d002-c-explanation": "Δεν πρέπει ποτέ να στείλετε τη μυστική φράση σας σε κανέναν. Το μήνυμα θα μπορούσε να υποκλαπεί από τρίτο μέρος και ακόμα και αν εμπιστεύεστε απόλυτα αυτό το άτομο, δε γνωρίζετε ποιος μπορεί να έχει πρόσβαση στο τηλέφωνό του.", + "d002-d-label": "Κανένα απο τα παραπάνω", + "d002-d-explanation": "Η φράση κλειδί σας θα πρέπει να αποθηκεύεται με ασφαλή τρόπο, ιδανικά εκτός σύνδεσης. Για αυτό τον λόγο, συχνά συνιστάται η καταγραφή της σε χαρτί, αλλά καλή εναλλακτική είναι οι ασφαλείς διαχειριστές κωδικών πρόσβασης.", + "d003-prompt": "Σε ποιον πρέπει να δώσετε τη μυστική φράση ή τα ιδιωτικά κλειδιά σας;", + "d003-a-label": "Κάποιον επί πληρωμή", + "d003-a-explanation": "Δεν πρέπει ποτέ να δώσετε τη μυστική φράση σας ή τα ιδιωτικά κλειδιά σας σε κανέναν. Αντίθετα, στείλτε τα κρυπτονομίσματα στη διεύθυνση του πορτοφολιού τους μέσω μιας συναλλαγής.", + "d003-b-label": "Για να συνδεθείτε σε dapp ή πορτοφόλι", + "d003-b-explanation": "Δεν πρέπει ποτέ να δώσετε τη μυστική φράση σας ή τα ιδιωτικά κλειδιά σας για να συνδεθείτε σε πορτοφόλι ή σε dapp.", + "d003-c-label": "Προσωπικό υποστήριξης", + "d003-c-explanation": "Δεν πρέπει ποτέ να δώσετε τη μυστική φράση σας ή τα ιδιωτικά κλειδιά σας σε οποιονδήποτε ισχυρίζεται ότι είναι προσωπικό υποστήριξης. Όποιος σας το ζητήσει είναι απατεώνας.", + "d003-d-label": "Κανένας", + "d003-d-explanation": "Στην ιδανική περίπτωση, δεν πρέπει ποτέ να δώσετε τη μυστική φράση σας ή τα ιδιωτικά κλειδιά σας σε κανέναν. Εάν εμπιστεύεστε πλήρως κάποιον με απόλυτη πρόσβαση στα χρήματά σας (όπως έναν σύζυγο), τότε μπορεί να αποφασίσετε να μοιραστείτε αυτές τις πληροφορίες μαζί του/της.", + "d004-prompt": "Ένα πορτοφόλι και ένας λογαριασμός στο Ethereum είναι το ίδιο πράγμα.", + "d004-a-label": "Σωστό", + "d004-a-explanation": "Το πορτοφόλι είναι μια εικονική διεπαφή για την αλληλεπίδραση με έναν λογαριασμό Ethereum.", + "d004-b-label": "Λάθος", + "d004-b-explanation": "Το πορτοφόλι είναι μια εικονική διεπαφή για την αλληλεπίδραση με έναν λογαριασμό Ethereum.", + "e001-prompt": "Γιατί πρέπει να χρησιμοποιείτε μοναδικούς κωδικούς πρόσβασης για όλους τους λογαριασμούς σας;", + "e001-a-label": "Σε περίπτωση που κάποια από τις πλατφόρμες έχει παραβίαση δεδομένων", + "e001-a-explanation": "Αυτή η απάντηση είναι σωστή, αλλά υπάρχουν και άλλες σωστές απαντήσεις.", + "e001-b-label": "Σε περίπτωση που κάποιος γνωρίζει στοιχεία σας μπορεί βρει τον κωδικό πρόσβασης σας.", + "e001-b-explanation": "Αυτή η απάντηση είναι σωστή, αλλά υπάρχουν και άλλες σωστές απαντήσεις.", + "e001-c-label": "Σε περίπτωση που κακόβουλο λογισμικό, όπως ένας καταγραφέας στοιχείων, κλέψει τον κωδικό πρόσβασής σας", + "e001-c-explanation": "Αυτή η απάντηση είναι σωστή, αλλά υπάρχουν και άλλες σωστές απαντήσεις.", + "e001-d-label": "Όλα τα παραπάνω", + "e001-d-explanation": "Όλες οι απαντήσεις είναι σωστές. Η χρήση μοναδικών κωδικών πρόσβασης είναι ο καλύτερος τρόπος για να αποτρέψετε την κακόβουλη πρόσβαση στον λογαριασμό σας.", + "e002-prompt": "Μετά τη «Συγχώνευση», το ETH πρέπει να αναβαθμιστεί σε ETH2.", + "e002-a-label": "Σωστό", + "e002-a-explanation": "Δε χρειάζεται να αναβαθμίσετε τα ETH σας σε ETH2. Δεν υπάρχει ETH2 και αυτή είναι μια κοινή αφήγηση που χρησιμοποιείται από απατεώνες.", + "e002-b-label": "Λάθος", + "e002-b-explanation": "Δε χρειάζεται να αναβαθμίσετε τα ETH σας σε ETH2. Δεν υπάρχει ETH2 και αυτή είναι μια κοινή αφήγηση που χρησιμοποιείται από απατεώνες.", + "e003-prompt": "Οι διαφημίσεις δώρων ETH είναι:", + "e003-a-label": "Ένας καλός τρόπος για να πάρετε περισσότερα ETH", + "e003-a-explanation": "Οι διαφημίσεις δώρων ETH είναι απάτες που έχουν σχεδιαστεί για να κλέψουν τα ETH σας και άλλα κρυπτονομίσματα. Δεν είναι ποτέ καλοί τρόποι για να λάβετε περισσότερα ETH.", + "e003-b-label": "Πάντα γνήσια", + "e003-b-explanation": "ΟΙ διαφημίσεις δώρων ETH δεν είναι ποτέ γνήσιες.", + "e003-c-label": "Παρουσιάζονται συνήθως από εξέχοντα μέλη της κοινότητας", + "e003-c-explanation": "Τα εξέχοντα μέλη της κοινότητας δεν κάνουν διαφημίσεις δώρων ETH. Οι απατεώνες προσποιούνται γνωστά άτομα, όπως ο Elon Musk, που κάνουν διαφημίσεις δώρων για να δώσουν στην απάτη μια αίσθηση νομιμότητας.", + "e003-d-label": "Είναι πολύ πιθανό να είναι απάτη", + "e003-d-explanation": "Οι διαφημίσεις δώρων ETH είναι πάντα απάτες. Η αναφορά και η παράβλεψη απατεώνων είναι το καλύτερο.", + "e004-prompt": "Η συναλλαγή Ethereum είναι αναστρέψιμη.", + "e004-a-label": "Σωστό", + "e004-a-explanation": "Οι συναλλαγές Ethereum δεν μπορούν να αντιστραφούν. Όποιος σας πει το αντίθετο ίσως προσπαθεί να σας εξαπατήσει.", + "e004-b-label": "Λάθος", + "e004-b-explanation": "Οι συναλλαγές Ethereum δεν μπορούν να αντιστραφούν. Όποιος σας πει το αντίθετο ίσως προσπαθεί να σας εξαπατήσει.", + "f001-prompt": "Τα NFT ορίζονται πιο αναλυτικά ως:", + "f001-a-label": "Μοναδικά ψηφιακά στοιχεία", + "f001-a-explanation": "Τα NFT αντιπροσωπεύουν ένα μοναδικό ψηφιακό στοιχείο.", + "f001-b-label": "ψηφιακό έργο τέχνης", + "f001-b-explanation": "Τα NFT αντιπροσωπεύουν ένα μοναδικό ψηφιακό στοιχείο, αυτό είναι συνήθως ψηφιακό έργο τέχνης, αλλά δεν περιορίζεται στην τέχνη.", + "f001-c-label": "Εισιτήρια για αποκλειστικές εκδηλώσεις", + "f001-c-explanation": "Τα NFT αντιπροσωπεύουν ένα μοναδικό ψηφιακό στοιχείο, αυτό θα μπορούσε να είναι ένα σύστημα έκδοσης εισιτηρίων, αλλά δεν περιορίζεται στα εισιτήρια.", + "f001-d-label": "νομικά δεσμευτικές συμβάσεις", + "f001-d-explanation": "Αν και ένα ιδιωτικό συμφωνητικό θα μπορούσε να εκπροσωπείται ως ένα NFT, τα NFT δεν είναι αποκλειστικά για νομικά δεσμευτικές συμβάσεις.", + "f002-prompt": "Δύο NFT που αντιπροσωπεύουν το ίδιο έργο τέχνης είναι το ίδιο πράγμα.", + "f002-a-label": "Σωστό", + "f002-a-explanation": "Τα NFT είναι μη εναλλάξιμα. Αυτό σημαίνει ότι ακόμα και αν αντιπροσωπεύουν ένα κομμάτι ψηφιακής τέχνης, εξακολουθούν να είναι μοναδικά αναγνωρίσιμα. Στον παραδοσιακό κόσμο της τέχνης, αυτό μπορεί να είναι παρόμοιο με τα πρωτότυπα και τις εκτυπώσεις.", + "f002-b-label": "Λάθος", + "f002-b-explanation": "Τα NFT είναι μη εναλλάξιμα. Αυτό σημαίνει ότι ακόμα και αν αντιπροσωπεύουν ένα κομμάτι ψηφιακής τέχνης, εξακολουθούν να είναι μοναδικά αναγνωρίσιμα. Στον παραδοσιακό κόσμο της τέχνης, αυτό μπορεί να είναι παρόμοιο με τα πρωτότυπα και τις εκτυπώσεις.", + "f003-prompt": "Τα NFT συνήθως αντιπροσωπεύουν:", + "f003-a-label": "Τον κωδικό πρόσβασης του πορτοφολιού σας", + "f003-a-explanation": "Αυτό είναι κίνδυνος ασφαλείας και γενικά κακή ιδέα!", + "f003-b-label": "Ιδιοκτησία ενός μοναδικού ψηφιακού στοιχείου", + "f003-b-explanation": "Τα NFT συνήθως αντιπροσωπεύουν την ιδιοκτησία ενός μοναδικού ψηφιακού στοιχείου.", + "f003-c-label": "Το τρέχον υπόλοιπό σας σε ETH", + "f003-c-explanation": "Τα NFT δεν μπορούν να αντιπροσωπεύουν το υπόλοιπό των ETH σας αυθαίρετα.", + "f003-d-label": "Όλα τα παραπάνω", + "f003-d-explanation": "Τα NFT συνήθως αντιπροσωπεύουν την ιδιοκτησία ενός μοναδικού ψηφιακού στοιχείου, όχι υπολοίπων ETH ή κωδικών πρόσβασης πορτοφολιού.", + "f004-prompt": "Τα NFT βοήθησαν στη δημιουργία ενός νέου:", + "f004-a-label": "οικονομία μεσολαβητή", + "f004-a-explanation": "Τα NFT βοήθησαν στη δημιουργία μιας νέας οικονομίας για τους δημιουργούς και όχι για τους μεσολαβητές.", + "f004-b-label": "οικονομία άνθρακα", + "f004-b-explanation": "Τα NFT βοήθησαν στη δημιουργία μιας νέας οικονομίας για τους δημιουργούς, όχι του άνθρακα.", + "f004-c-label": "οικονομία δημιουργού", + "f004-c-explanation": "Τα NFT βοήθησαν στη δημιουργία της οικονομίας των δημιουργών.", + "f004-d-label": "οικονομία doge", + "f004-d-explanation": "Τα NFT βοήθησαν στη δημιουργία μιας νέας οικονομίας για τους δημιουργούς, όχι των doges 🐶.", + "f005-prompt": "Τα NFT στο Ethereum είναι επιβλαβή για το περιβάλλον", + "f005-a-label": "Σωστό", + "f005-a-explanation": "Από τη «Συγχώνευση» (μετάβαση στην απόδειξη συμμετοχής), οποιαδήποτε συναλλαγή έχει αμελητέο αντίκτυπο στο περιβάλλον.", + "f005-b-label": "Λάθος", + "f005-b-explanation": "Από τη «Συγχώνευση» (μετάβαση στην απόδειξη συμμετοχής), οποιαδήποτε συναλλαγή έχει αμελητέο αντίκτυπο στο περιβάλλον.", + "g001-prompt": "Τα δίκτυα κρυπτοαλυσίδας επιπέδου 2 προορίζονται για:", + "g001-a-label": "Επεκτασιμότητα Ethereum", + "g001-a-explanation": "Ο πρωταρχικός σκοπός των πακέτων ενημέρωσης και άλλων λύσεων επιπέδου 2 είναι η αναβάθμιση του Ethereum.", + "g001-b-label": "Πραγματοποίηση πληρωμών", + "g001-b-explanation": "Ο πρωταρχικός σκοπός των πακέτων ενημέρωσης και άλλων λύσεων επιπέδου 2 είναι η αναβάθμιση του Ethereum.", + "g001-c-label": "Αγορά NFT", + "g001-c-explanation": "Ο πρωταρχικός σκοπός των πακέτων ενημέρωσης και άλλων λύσεων επιπέδου 2 είναι η αναβάθμιση του Ethereum.", + "g001-d-label": "Αποκεντρώνοντας το Ethereum", + "g001-d-explanation": "Ο πρωταρχικός σκοπός των πακέτων ενημέρωσης και άλλων λύσεων επιπέδου 2 είναι η αναβάθμιση του Ethereum.", + "g002-prompt": "Προκειμένου να αναβαθμιστούν τα περισσότερα εναλλακτικά δίκτυα επιπέδου 1 έχουν θυσιάσει κυρίως την:", + "g002-a-label": "Ασφάλεια", + "g002-a-explanation": "Τα περισσότερα εναλλακτικά δίκτυα επιπέδου 1 θυσιάζουν την ασφάλεια και κάτι άλλο προκειμένου να μπορέσουν να αναβαθμιστούν.", + "g002-b-label": "Αποκέντρωση", + "g002-b-explanation": "Τα περισσότερα εναλλακτικά δίκτυα επιπέδου 1 θυσιάζουν την αποκέντρωση και κάτι άλλο προκειμένου να μπορέσουν να αναβαθμιστούν.", + "g002-c-label": "Τιμή κρυπτονομίσματος", + "g002-c-explanation": "Η τιμή του κρυπτονομίσματος δεν έχει καμία επίδραση στην ικανότητα αναβάθμισης.", + "g002-d-label": "Ασφάλεια και αποκέντρωση", + "g002-d-explanation": "Τα περισσότερα εναλλακτικά δίκτυα επιπέδου 1 θυσιάζουν την ασφάλεια και την αποκέντρωση προκειμένου να αναβαθμιστούν.", + "g003-prompt": "Ποιο από τα παρακάτω δε θεωρείται επίπεδο 2;", + "g003-a-label": "Validiums", + "g003-a-explanation": "Τα Validium δεν θεωρούνται λύσεις επιπέδου 2, καθώς δεν αντλούν ασφάλεια ή διαθεσιμότητα δεδομένων από το Ethereum. Αυτή δεν είναι η μόνη σωστή απάντηση.", + "g003-b-label": "Πλευρικές αλυσίδες", + "g003-b-explanation": "Οι πλευρικές αλυσίδες (sidechain) δεν θεωρούνται λύσεις επιπέδου 2, καθώς δεν αντλούν ασφάλεια ή διαθεσιμότητα δεδομένων από το Ethereum. Αυτή δεν είναι η μόνη σωστή απάντηση.", + "g003-c-label": "Εναλλακτικά layer 1 blockchains", + "g003-c-explanation": "Οι εναλλακτικές αλυσίδες συστοιχιών επιπέδου 1 δεν θεωρούνται λύσεις επιπέδου 2. Αυτή δεν είναι η μόνη σωστή απάντηση.", + "g003-d-label": "Όλα τα παραπάνω", + "g003-d-explanation": "Τα Validium, Πλευρικές αλυσίδες και οι εναλλακτικές κρυπτοαλυσίδες επιπέδου 1 δε θεωρούνται λύσεις επιπέδου 2, καθώς δεν αντλούν ασφάλεια ή διαθεσιμότητα δεδομένων από το Ethereum.", + "g004-prompt": "Γιατί το Ethereum δεν έχει «επίσημο» επίπεδο 2;", + "g004-a-label": "Οι βασικοί προγραμματιστές είναι πολύ απασχολημένοι με το Ethereum", + "g004-a-explanation": "Δεν υπάρχουν σχέδια για ένα «επίσημο» επίπεδο 2 στο Ethereum, καθώς θα επωφεληθούμε από μια μεγάλη ποικιλία προσεγγίσεων για τον σχεδιασμό λύσεων επιπέδου 2.", + "g004-b-label": "Ως L1, το Ethereum θα φτάσει τελικά στη μαζική αναβάθμιση από μόνο του", + "g004-b-explanation": "Δεν υπάρχουν σχέδια για ένα «επίσημο» επίπεδο 2 στο Ethereum, καθώς θα επωφεληθούμε από μια μεγάλη ποικιλία προσεγγίσεων για τον σχεδιασμό λύσεων επιπέδου 2.", + "g004-c-label": "Οι βασικοί προγραμματιστές εξακολουθούν να συζητούν μεταξύ του optimistic και των zk-rollups", + "g004-c-explanation": "Δεν υπάρχουν σχέδια για ένα «επίσημο» επίπεδο 2 στο Ethereum, καθώς θα επωφεληθούμε από μια μεγάλη ποικιλία προσεγγίσεων για τον σχεδιασμό λύσεων επιπέδου 2.", + "g004-d-label": "Το Ethereum θα επωφεληθεί από μια μεγάλη ποικιλία προσεγγίσεων για τον σχεδιασμό ενός L2", + "g004-d-explanation": "Δεν υπάρχουν σχέδια για ένα «επίσημο» επίπεδο 2 στο Ethereum, καθώς θα επωφεληθούμε από μια μεγάλη ποικιλία προσεγγίσεων για τον σχεδιασμό λύσεων επιπέδου 2.", + "h001-prompt": "Σε ποιον μηχανισμό συναίνεσης οδήγησε το Ethereum η «Συγχώνευση»;", + "h001-a-label": "Απόδειξη της εργασίας", + "h001-a-explanation": "Η Απόδειξη Εργασίας ήταν ο μηχανισμός συναίνεσης που χρησιμοποιήθηκε πριν από τη «Συγχώνευση».", + "h001-b-label": "Απόδειξη συμμετοχής", + "h001-b-explanation": "Σωστός! Η «Συγχώνευση» οδήγησε το Ethereum στην απόδειξη συμμετοχής.", + "h001-c-label": "Proof-of-authority", + "h001-c-explanation": "Το Ethereum δεν το κάνει και δεν έχει χρησιμοποιήσει ποτέ την Απόδειξη Αρχής στο Κεντρικό δίκτυο Ethereum.", + "h001-d-label": "Όλα τα παραπάνω", + "h001-d-explanation": "Δε θα ήταν δυνατό για το Ethereum να έχει όλους αυτούς τους μηχανισμούς συναίνεσης ταυτόχρονα.", + "h002-prompt": "Η «Συγχώνευση» μείωσε την κατανάλωση ενέργειας του Ethereum κατά:", + "h002-a-label": "50%", + "h002-a-explanation": "Η κατανάλωση ενέργειας του Ethereum μειώθηκε κατά 99,95% αφού η «Συγχώνευση» επέτρεψε τη μετάβαση από την απόδειξη εργασίας στην απόδειξη συμμετοχής.", + "h002-b-label": "62.5%", + "h002-b-explanation": "Η κατανάλωση ενέργειας του Ethereum μειώθηκε κατά 99,95% αφού η «Συγχώνευση» επέτρεψε τη μετάβαση από την απόδειξη εργασίας στην απόδειξη συμμετοχής.", + "h002-c-label": "90%", + "h002-c-explanation": "Η κατανάλωση ενέργειας του Ethereum μειώθηκε κατά 99,95% αφού η «Συγχώνευση» επέτρεψε τη μετάβαση από την απόδειξη εργασίας στην απόδειξη συμμετοχής.", + "h002-d-label": "99.95%", + "h002-d-explanation": "Η κατανάλωση ενέργειας του Ethereum μειώθηκε κατά 99,95% αφού η «Συγχώνευση» επέτρεψε τη μετάβαση από την απόδειξη εργασίας στην απόδειξη συμμετοχής.", + "h003-prompt": "Πότε έγινε η «Συγχώνευση»;", + "h003-a-label": "15 Σεπτεμβρίου 2022", + "h003-a-explanation": "Η «Συγχώνευση» πραγματοποιήθηκε στις 15 Σεπτεμβρίου 2022 στις 06:42:42 π.μ. (UTC).", + "h003-b-label": "01 Δεκεμβρίου 2020", + "h003-b-explanation": "Η «Συγχώνευση» έγινε αργότερα από αυτό. Στις 1η Δεκεμβρίου 2020 πρωτοκυκλοφόρησε η Κύρια Αλυσίδα (Beacon Chain).", + "h003-c-label": "27 Νοεμβρίου 2013", + "h003-c-explanation": "Η «Συγχώνευση» έγινε αργότερα από αυτό. Στις 27 Νοεμβρίου 2013 κυκλοφόρησε η λευκή βίβλος του Ethereum.", + "h003-d-label": "31 Οκτωβρίου 2008", + "h003-d-explanation": "Η «Συγχώνευση» έγινε αργότερα από αυτό. Στις 31η Οκτωβρίου είναι η ημέρα που κυκλοφόρησε η λευκή βίβλος του Bitcoin.", + "h004-prompt": "Η «Συγχώνευση» σήμαινε ότι οι χρήστες έπρεπε να ανταλλάξουν τα ETH τους με ETH2:", + "h004-a-label": "Σωστό", + "h004-a-explanation": "Το ETH δεν άλλαξε σε κανένα σημείο κατά τη διάρκεια ή μετά τη «Συγχώνευση». Η ιδέα της «αναβάθμισης» του ETH σε ETH2 ήταν μια κοινή τακτική από κακόβουλους παράγοντες σε απάτες χρηστών.", + "h004-b-label": "Λάθος", + "h004-b-explanation": "Το ETH δεν άλλαξε σε κανένα σημείο κατά τη διάρκεια ή μετά τη «Συγχώνευση». Η ιδέα της «αναβάθμισης» του ETH σε ETH2 ήταν μια κοινή τακτική από κακόβουλους παράγοντες σε απάτες χρηστών.", + "h005-prompt": "Το επίπεδο συναίνεσης του Ethereum ήταν γνωστό ως:", + "h005-a-label": "Απόδειξη της εργασίας", + "h005-a-explanation": "Η Απόδειξη Εργασίας ήταν ο μηχανισμός συναίνεσης που χρησιμοποιήθηκε πριν από τη «Συγχώνευση».", + "h005-b-label": "Eth2", + "h005-b-explanation": "Πριν μετονομαστεί σε επίπεδο συναίνεσης, αρχικά ονομαζόταν «Eth2».", + "h005-c-label": "Eth1", + "h005-c-explanation": "Το Eth1 ήταν το αρχικό όνομα που δόθηκε στο επίπεδο εκτέλεσης, όχι στο επίπεδο συναίνεσης.", + "h005-d-label": "Staking (αποθήκευση)", + "h005-d-explanation": "Στην αποθήκευση κεφαλαίου κατατίθενται ETH σε ένα έξυπνο συμβόλαιο για βοήθεια στην ασφάλεια της κρυπτοαλυσίδας.", + "i001-prompt": "Τι ισχύει για τους DAO;", + "i001-a-label": "Οι DAO (αποκεντρωμένοι αυτόνομοι οργανισμοί) είναι συλλογικής ιδιοκτησίας μέσω token διακυβέρνησης", + "i001-a-explanation": "Οι DAO είναι συλλογικής ιδιοκτησίας, αλλά αυτή δεν είναι η μόνη σωστή δήλωση.", + "i001-b-label": "Διοικούνται από τα μέλη τους", + "i001-b-explanation": "Οι DAO διοικούνται από τα μέλη τους, αλλά αυτή δεν είναι η μόνη σωστή δήλωση.", + "i001-c-label": "Εργάζονται για την επίτευξη μιας κοινής αποστολής", + "i001-c-explanation": "Οι DAO εργάζονται για την επίτευξη μιας κοινής αποστολής, αλλά αυτή δεν είναι η μόνη σωστή δήλωση.", + "i001-d-label": "Όλα τα παραπάνω", + "i001-d-explanation": "Σωστά, ένας DAO είναι ένας οργανισμός συλλογικής ιδιοκτησίας που διοικείται από αλυσίδα συστοιχιών για την επίτευξη μιας κοινής αποστολής.", + "i002-prompt": "Ποια είναι πρακτικά παραδείγματα για τον τρόπο χρήσης ενός DAO;", + "i002-a-label": "Αποκεντρωμένα πρωτόκολλα, τα μέλη ψηφίζουν για τα θέματα του πρωτοκόλλου ή τον τρόπο ανάπτυξης του προϊόντος", + "i002-a-explanation": "Οι DAO πρωτοκόλλου είναι ένα παράδειγμα, αλλά οι DAO δεν περιορίζονται σε αυτό.", + "i002-b-label": "Συλλογική ιδιοκτησία, π.χ., για NFT ή φυσικά περιουσιακά στοιχεία", + "i002-b-explanation": "Οι DAO συλλεκτών είναι ένα παράδειγμα, αλλά οι DAO δεν περιορίζονται σε αυτό.", + "i002-c-label": "Επιχειρήσεις και επιχορηγήσεις, συγκέντρωση κεφαλαίων και ψηφοφορία για έργα προς χρηματοδότηση", + "i002-c-explanation": "Οι DAO επιχειρήσεων ή επιχορηγήσεων είναι ένα παράδειγμα, αλλά οι DAO δεν περιορίζονται σε αυτό.", + "i002-d-label": "Όλα τα παραπάνω", + "i002-d-explanation": "Ένας DAO μπορεί να έχει πλήθος «αποστολών».", + "i003-prompt": "Σε αντίθεση με τους παραδοσιακούς οργανισμούς, οι DAO είναι…", + "i003-a-label": "Συνήθως ιεραρχικά", + "i003-a-explanation": "Οι DAO είναι συνήθως επίπεδοι και πλήρως εκδημοκρατισμένοι.", + "i003-b-label": "Διαφανείς και απολύτως ανοιχτοί για τις δραστηριότητές τους", + "i003-b-explanation": "Χάρη στην ψηφοφορία εντός αλυσίδας, οι αποφάσεις είναι διαφανείς στην αλυσίδα συστοιχιών. Οι συζητήσεις και άλλα στοιχεία της διαδικασίας λήψης αποφάσεων είναι ανοιχτά σε όλα τα μέλη.", + "i003-c-label": "Ελέγχεται από ένα κεντρικό μέρος", + "i003-c-explanation": "Οι αλλαγές απαιτούν ψηφοφορία από τα μέλη. Ο χειρισμός των προσφερόμενων υπηρεσιών γίνεται αυτόματα με αποκεντρωμένο τρόπο.", + "i003-d-label": "Περιορίζεται ως προς το ποιος μπορεί να προτείνει αλλαγές", + "i003-d-explanation": "Συνήθως, κάθε μέλος του DAO μπορεί να προτείνει αλλαγές.", + "i004-prompt": "Ποιο είναι το σημαντικό σχετικά με τα έξυπνα συμβόλαια για DAO;", + "i004-a-label": "Ο κώδικας έξυπνου συμβολαίου μπορεί να τροποποιηθεί", + "i004-a-explanation": "Μόλις το συμβόλαιο δημοσιευτεί στο Ethereum, κανείς δεν μπορεί να αλλάξει τους κανόνες παρά μόνο με ψηφοφορία. Αυτό επιτρέπει στον DAO να λειτουργεί σύμφωνα με τους κανόνες με τους οποίους είχε προγραμματιστεί.", + "i004-b-label": "Έχει έναν μεμονωμένο κάτοχο που διατηρεί την εξουσία να κάνει αλλαγές και να κάνει αποστολές από το ταμείο.", + "i004-b-explanation": "Το ταμείο ορίζεται από το έξυπνο συμβόλαιο. Για να ξοδευτούν χρήματα, είναι αναγκαία η έγκριση της ομάδας.", + "i004-c-label": "Εμπιστοσύνη στην κατανεμημένη συναίνεση της υποκείμενης αλυσίδας συστοιχιών", + "i004-c-explanation": "Για έναν DAO είναι σημαντικό να μην μπορεί να χειραγωγηθεί η υποκείμενη αλυσίδα συστοιχιών. Η συναίνεση του Ethereum είναι επαρκώς κατανεμημένη και εδραιωμένη, ώστε οι οργανισμοί να εμπιστεύονται το δίκτυο.", + "i004-d-label": "Οι DAO δεν χρειάζονται έξυπνα συμβόλαια", + "i004-d-explanation": "Η ραχοκοκαλιά ενός DAO είναι το έξυπνο συμβόλαιο του, το οποίο ορίζει τους κανόνες του οργανισμού και κατέχει το θησαυροφυλάκιο της ομάδας.", + "i005-prompt": "Τι δεν είναι ένας μηχανισμός διοίκησης ενός DAO;", + "i005-a-label": "Συμμετοχή βασισμένη σε ψηφιακό στοιχείο", + "i005-a-explanation": "Η διακυβέρνηση που βασίζεται σε token χρησιμοποιείται ευρύτατα. Συνήθως δεν απαιτεί καμία άδεια και τυπικά χρησιμοποιείται για τη διακυβέρνηση των ίδιων των ευρέων αποκεντρωμένων πρωτοκόλλων ή/και token.", + "i005-b-label": "Συμμετοχή βασισμένη σε μετοχές", + "i005-b-explanation": "Οι DAO που βασίζονται σε μετοχές απαιτούν περισσότερες άδειες, αλλά εξακολουθούν να είναι αρκετά ανοιχτοί. Οποιοδήποτε υποψήφιο μέλος μπορεί να υποβάλει πρόταση για να ενταχθεί στον DAO, προσφέροντας συνήθως έναν φόρο τιμής κάποιας αξίας με τη μορφή token ή έργου.", + "i005-c-label": "Συμμετοχή που βασίζεται στη δημοσιότητα", + "i005-c-explanation": "Σε αντίθεση με τη συμμετοχή με token ή μετοχές, οι DAO που βασίζονται στη φήμη δεν μεταβιβάζουν την ιδιοκτησία στους συνεισφέροντες. Τα μέλη DAO πρέπει να κερδίζουν φήμη μέσω της συμμετοχής.", + "i005-d-label": "Εκτελεστικό συμβούλιο και διαχείριση ταμείου εκτός αλυσίδας", + "i005-d-explanation": "Αυτή η προσέγγιση χρησιμοποιεί εξαιρετικά συγκεντρωτικούς και αδιαφανείς μηχανισμούς διακυβέρνησης. Αντίθετα, οι DAO χρησιμοποιούν επαληθεύσιμους μηχανισμούς ψηφοφορίας και διαχείριση του ταμείου εντός αλυσίδας για να διασφαλίσουν τη διαφάνεια και τη λογοδοσία.", + "j001-prompt": "Τι ισχύει για τις ποινές;", + "j001-a-label": "Ποινή για κατάσταση εκτός σύνδεσης, οι ανταμοιβές συνεχίζονται όταν συνδεθείτε ξανά", + "j001-a-explanation": "Το να είστε εκτός σύνδεσης ΔΕΝ έχει ως αποτέλεσμα την περικοπή. Επιβάλλονται μικρές ποινές όταν είστε εκτός σύνδεσης και οι ανταμοιβές συνεχίζονται όταν ο επικυρωτής επιστρέψει σε σύνδεση και συνεχίσει τις επιβεβαιώσεις.", + "j001-b-label": "Ποινή για την κατάσταση εκτός σύνδεσης, ο επικυρωτής απαγορεύεται άμεσα να επιβεβαιώσει ξανά", + "j001-b-explanation": "Η κατάσταση εκτός σύνδεσης ΔΕΝ έχει ως αποτέλεσμα την περικοπή. Ενώ η περικοπή θα έχει ως αποτέλεσμα την απαγόρευση χρήσης του εργαλείου επικύρωσης και πιστοποίησης ξανά και τελικά την βίαιη αποβολή, η κατάσταση εκτός σύνδεσης ΔΕΝ έχει ως αποτέλεσμα την αποβολή από το δίκτυο.", + "j001-c-label": "Ποινή για παραβίαση συγκεκριμένων κανόνων συναίνεσης, οι ανταμοιβές συνεχίζονται μετά την περικοπή", + "j001-c-explanation": "Ο όρος «περικοπή (Slashing)» είναι μια σοβαρή ποινή για παραβιάσεις συγκεκριμένων κανόνων συναίνεσης που θέτουν σε κίνδυνο το δίκτυο. Έτσι, μόλις ένας επικυρωτής υποστεί περικοπή, του απαγορεύεται άμεσα και η δυνατότητα να πιστοποιεί (attest) οτιδήποτε και τελικά αποβάλλεται βίαια από το δίκτυο, ενώ το υπόλοιπό του σε ETH επιστρέφεται στον κάτοχο.", + "j001-d-label": "Με την ποινή για παραβίαση συγκεκριμένων κανόνων συναίνεσης, απαγορεύεται άμεσα στον επικυρωτή να επιβεβαιώσει ξανά", + "j001-d-explanation": "Ο όρος «περικοπή (Slashing)» είναι μια σοβαρή ποινή για παραβιάσεις συγκεκριμένων κανόνων συναίνεσης που θέτουν σε κίνδυνο το δίκτυο. Έτσι, μόλις ένας επικυρωτής υποστεί περικοπή, του απαγορεύεται άμεσα και η δυνατότητα να πιστοποιεί (attest) οτιδήποτε και τελικά αποβάλλεται βίαια από το δίκτυο, ενώ το υπόλοιπό του σε ETH επιστρέφεται στον κάτοχο.", + "j002-prompt": "Τι συμβαίνει εάν ένας επικυρωτής τεθεί εκτός σύνδεσης;", + "j002-a-label": "Δεν έχει καμία επίδραση στις ανταμοιβές", + "j002-a-explanation": "Ποινές επιβάλλονται όταν ένας επικυρωτής δεν είναι διαθέσιμος να πιστοποιήσει την κατάσταση της αλυσίδας για οποιαδήποτε δεδομένη εποχή. Το μέγεθος αυτών των ποινών είναι περίπου ίσο με το 75% των πιθανών ανταμοιβών για μια σωστή πιστοποίηση. Οι ανταμοιβές συνεχίζουν όταν ο επικυρωτής ενεργοποιηθεί ξανά και ΔΕΝ έχει πραγματοποιηθεί περικοπή.", + "j002-b-label": "Οι ποινές αδράνειας επιβάλλονται μόνο όταν δεν είναι διαθέσιμο", + "j002-b-explanation": "Όταν ένας επικυρωτής δεν είναι διαθέσιμος, θα επιβληθούν μικρές ποινές αδράνειας, περίπου ίση με το 75% των πιθανών ανταμοιβών για μια σωστή πιστοποίηση. Ωστόσο, σε σπάνιες και ακραίες περιπτώσεις όπου το δίκτυο δεν οριστικοποιεί μπλοκ (δηλαδή, πάνω από το 1/3 του δικτύου είναι επίσης εκτός σύνδεσης), αυτές οι ποινές γίνονται σημαντικά μεγαλύτερες. Οι ανταμοιβές συνεχίζονται όταν ο επικυρωτής ενεργοποιηθεί ξανά και δεν έχει επιβληθεί η ποινή της περικοπής.", + "j002-c-label": "Άμεση περικοπή και αφαίρεση από το δίκτυο", + "j002-c-explanation": "Αυτή είναι μια συνηθισμένη παρανόηση. Το να είναι εκτός σύνδεσης ένας επικυρωτής ΔΕΝ οδηγεί σε περικοπή. Η ποινή της περικοπής είναι ένας ειδικός τύπος ποινής για πιο σοβαρά παραπτώματα, με μεγαλύτερες ποινές και επίσης οδηγεί στην απομάκρυνση από το σύνολο των επικυρωτών.", + "j002-d-label": "Μια εβδομάδα καθυστέρηση πριν την επιβολή περικοπής και αφαίρεσης", + "j002-d-explanation": "Η αποσύνδεση ΔΕΝ επιφέρει ποινή περικοπής, ούτε καν μετά από μεγάλο χρονικό διάστημα. Ένας επικυρωτής θα μπορούσε θεωρητικά να παραμείνει εκτός σύνδεσης για χρόνια χωρίς να υποστεί περικοπές, αν και οι ποινές αδράνειας θα συσσωρεύονταν εάν ο επικυρωτής δεν αποχωρήσει από το δίκτυο.", + "j003-prompt": "Ποιο είναι το μέγιστο διαθέσιμο υπόλοιπο ενός επικυρωτή;", + "j003-a-label": "16", + "j003-a-explanation": "Στους επικυρωτές που μειώνεται το πραγματικό διαθέσιμο υπόλοιπο λιγότερο από 16 ETH, εξέρχονται αυτόματα από την Κύρια Αλυσίδα.", + "j003-b-label": "32", + "j003-b-explanation": "Τα 32 ΕΤΗ είναι το ελάχιστο ποσό που απαιτείται για την ενεργοποίηση νέου επικυρωτή και το μέγιστο «διαθέσιμο υπόλοιπο» (ισχύς ψήφου) για τον επικυρωτή. Ανταμοιβές άνω των 32 ETH δε θα αυξήσουν τη δύναμη της ψήφου σας και δε θα αποδώσουν περισσότερες ανταμοιβές.", + "j003-c-label": "Μεταβλητή ανάλογα με τον χειριστή", + "j003-c-explanation": "Οι κανόνες συναίνεσης ισχύουν για κάθε λογαριασμό επικυρωτή εξίσου και δεν εξαρτώνται από τον χρήστη που διαχειρίζεται τον κόμβο. Το μέγιστο ενεργό υπόλοιπο για όλους τους επικυρωτές είναι 32 ETH.", + "j003-d-label": "Χωρίς όριο", + "j003-d-explanation": "Κάθε λογαριασμός επικυρωτή περιορίζεται σε ένα πραγματικό διαθέσιμο υπόλοιπο των 32 ETH, περιορίζοντας τη συνολική ισχύ οποιουδήποτε επικυρωτή στο δίκτυο. Αυτό περιορίζει επίσης πόσα ETH μπορούν να αποθηκευθούν ή να αφαιρεθούν σε μια δεδομένη χρονική περίοδο, καθώς οι ενεργοποιήσεις και οι αναλήψεις του επικυρωτή υποβάλλονται σε επεξεργασία μέσω μιας ουράς περιορισμένης ταχύτητας.", + "j004-prompt": "Η οποία ΔΕΝ είναι η ανταμοιβή που λαμβάνεται ως επικυρωτής;", + "j004-a-label": "Επιβράβευση μπλοκ", + "j004-a-explanation": "Οι επικυρωτές λαμβάνουν ανταμοιβές με τη μορφή νέας έκδοσης ETH για την πρόταση ενός έγκυρου μπλοκ όταν επιλέγονται τυχαία από το πρωτόκολλο. Αυτές οι ανταμοιβές είναι ξεχωριστές από τις χρεώσεις και το MEV που κερδίζονται επίσης όταν προτείνονται μπλοκ.", + "j004-b-label": "Φιλοδωρήματα / MEV", + "j004-b-explanation": "Τα φιλοδωρήματα (άκαυστο μέρος των τελών) και τα κέρδη MEV διανέμονται στον προτείνοντα μπλοκ (συμμετέχοντα/επικυρωτή) μέσω της διεύθυνσης παραλήπτη της αμοιβής που παρέχεται από αυτόν τον επικυρωτή. Αυτές οι ανταμοιβές είναι ξεχωριστές από την ανταμοιβή μπλοκ που κερδίζεται επίσης κατά την πρόταση μπλοκ.", + "j004-c-label": "Ανταμοιβή βεβαίωσης επικεφαλής αλυσίδας", + "j004-c-explanation": "Οι επικυρωτές λαμβάνουν ανταμοιβές με τη μορφή νέας έκδοσης ETH για τη σωστή και έγκαιρη βεβαίωση στον επικεφαλής της αλυσίδας, τον τρέχοντα αιτιολογημένο επικεφαλής εποχής και τον τρέχοντα οριστικοποιημένο επικεφαλής εποχής.", + "j004-d-label": "Κρατήσεις συναλλαγών Uniswap", + "j004-d-explanation": "Οι προμήθειες συναλλαγών που δημιουργούνται από πλατφόρμες συναλλαγών και ανταλλακτηρίων δε λαμβάνονται από τους επικυρωτές του Ethereum.", + "j005-prompt": "Ποιος χρόνος λειτουργίας απαιτείται για να είναι κερδοφόρος ένας επικυρωτής;", + "j005-a-label": "100%", + "j005-a-explanation": "Αν και ο ιδανικός στόχος, η επίτευξη του χρόνου λειτουργίας στο 100% δεν είναι η ελάχιστη απαίτηση για να παραμείνει κερδοφόρος ένας επικυρωτής.", + "j005-b-label": "~99%", + "j005-b-explanation": "Αν και είναι εξαιρετικός στόχος, η επίτευξη του χρόνου λειτουργίας στο 99%, δεν είναι η ελάχιστη απαίτηση για να παραμείνει κερδοφόρος ένας επικυρωτής.", + "j005-c-label": "~50%", + "j005-c-explanation": "Οι επικυρωτές τιμωρούνται περίπου με 75% του ποσού που θα είχαν λάβει για τη σωστή και έγκαιρη βεβαίωση της κατάστασης της αλυσίδας. Αυτό σημαίνει ότι για μια δεδομένη χρονική περίοδο, το να είσαι εκτός σύνδεσης το 50% αυτού του χρόνου θα εξακολουθεί να είναι καθαρά κερδοφόρο, αν και λιγότερο κερδοφόρο από έναν πιο αξιόπιστα διαθέσιμο επικυρωτή.", + "j005-d-label": "~25%", + "j005-d-explanation": "Ένας επικυρωτής με χρόνο λειτουργίας μόνο 25% θα επιβαρύνεται με κυρώσεις για το υπόλοιπο 75% του χρόνου. Δεδομένου του παρόμοιου μεγέθους ανταμοιβών και κυρώσεων, το να είσαι εκτός σύνδεσης για χρόνο τριπλάσιο από τον χρόνο σε σύνδεση θα έχει ως αποτέλεσμα καθαρή απώλεια ETH για τη συγκεκριμένη χρονική περίοδο.", + "j006-prompt": "Ποιο από τα παρακάτω ΔΕΝ είναι παράβαση που υπόκειται σε περικοπή;", + "j006-a-label": "Κατάσταση εκτός σύνδεσης", + "j006-a-explanation": "Το να είσαι απλώς εκτός σύνδεσης δεν επιφέρει περικοπή. Θα οδηγήσει σε μικρές ποινές αδράνειας ενώ είστε εκτός σύνδεσης, αλλά οι βεβαιώσεις θα επανέλθουν όταν επιστρέψετε στο διαδίκτυο.", + "j006-b-label": "Πρόταση και υπογραφή δύο διαφορετικών μπλοκ για την ίδια υποδοχή", + "j006-b-explanation": "Αυτό απειλεί την ακεραιότητα του δικτύου και θα έχει ως αποτέλεσμα την περικοπή και την αποβολή από το δίκτυο.", + "j006-c-label": "Βεβαίωση ενός μπλοκ που «περιβάλλει» ένα άλλο (ουσιαστικά αλλάζοντας το ιστορικό)", + "j006-d-label": "«Διπλή ψηφοφορία» με βεβαίωση δύο υποψηφίων για το ίδιο μπλοκ", + "j007-prompt": "Ποιος ΔΕΝ είναι ένας τρόπος για να προστατεύσετε/αποτρέψετε την περικοπή του επικυρωτή σας;", + "j007-a-label": "Αποφύγετε τις πλεονάζουσες ρυθμίσεις, και αποθηκεύστε τα κλειδιά σας μόνο με έναν πελάτη επικύρωσης κάθε φορά", + "j007-a-explanation": "Η πλειονότητα των περικοπών μέχρι σήμερα είναι από χειριστές που αποθηκεύουν τα κλειδιά υπογραφής τους σε περισσότερα από ένα μηχανήματα, ως εφεδρικό αντίγραφο. Αυτό είναι πολύ επικίνδυνο, καθώς οποιαδήποτε δυσλειτουργία μπορεί να οδηγήσει σε διπλή ψηφοφορία και περικοπή.", + "j007-b-label": "Εκτελέστε το λογισμικό πελάτη ως έχει χωρίς να αλλάξετε τον κώδικα μόνοι σας", + "j007-b-explanation": "Το λογισμικό πελάτη είναι γραμμένο και δοκιμασμένο για προστασία από την εκτέλεση ενεργειών με δυνατότητα περικοπής. Για να εκτελέσετε μια ενέργεια με δυνατότητα περικοπής, αυτό θα απαιτούσε συνήθως να αλλάξετε τον κώδικα πελάτη μόνοι σας με κακόβουλο τρόπο.", + "j007-c-label": "Εκτελέστε έναν πελάτη που χρησιμοποιείται από την πλειονότητα των άλλων επικυρωτών", + "j007-c-explanation": "Η χρήση του ίδιου πελάτη με το μεγαλύτερο μέρος του υπόλοιπου δικτύου σας θέτει σε κίνδυνο περικοπής σε περίπτωση σφάλματος λογισμικού σε αυτόν τον πελάτη. Η εκτέλεση ενός πελάτη μειοψηφίας σας προστατεύει από αυτό.", + "j007-d-label": "Απενεργοποιήστε τον επικυρωτή για 2-4 εποχές πριν από τη μετεγκατάσταση κλειδιών σε νέο μηχάνημα", + "j007-d-explanation": "Αυτό δίνει χρόνο στην αλυσίδα να οριστικοποιηθεί, ενώ ο κόμβος σας είναι εκτός σύνδεσης, για να ελαχιστοποιηθεί ο κίνδυνος τυχαίας διπλής ψηφοφορίας και περικοπής κατά τη μετεγκατάσταση του κλειδιού.", + "j008-prompt": "Τι ΔΕΝ απαιτείται για τη λήψη πληρωμών ανταμοιβής / μερικών αναλήψεων;", + "j008-a-label": "Παροχή διεύθυνσης ανάληψης εκτέλεσης μία φορά", + "j008-a-explanation": "Αυτό απαιτείται μία φορά για να γνωρίζει η διαδικασία ανάληψης πού να στείλει τυχόν κεφάλαια επιπέδου συναίνεσης", + "j008-b-label": "Έχοντας ενεργό υπόλοιπο 32 ETH", + "j008-b-explanation": "Το ενεργό υπόλοιπό σας πρέπει να μεγιστοποιηθεί στα 32 ETH προτού ενεργοποιηθούν τυχόν μερικές αναλήψεις.", + "j008-c-label": "Έχοντας συνολικό υπόλοιπο πάνω από 32 ETH", + "j008-c-explanation": "Το συνολικό υπόλοιπό σας πρέπει να έχει ανταμοιβές άνω των 32 ETH για να ενεργοποιηθούν τυχόν μερικές αναλήψεις.", + "j008-d-label": "Υποβολή αιτούμενου ποσού ανάληψης με πληρωμή κρατήσεων", + "j008-d-explanation": "Αφού εκπληρωθούν τα άλλα κριτήρια, οι πληρωμές ανταμοιβής είναι αυτόματες. Οι παραλήπτες δεν χρειάζεται να υποβάλουν συναλλαγή ή να πληρώσουν κρατήσεις. Το ποσό που αναλήφθηκε είναι ίσο με το υπόλοιπο του επικυρωτή άνω των 32. Δεν μπορούν να ζητηθούν ποσά κατά παραγγελία.", + "k001-prompt": "Τι από τα παρακάτω χρησιμοποιεί το Ethereum για κλιμάκωση;", + "k001-a-label": "Πακέτα ενημέρωσης επιπέδου 2", + "k001-a-explanation": "Αυτά βοηθούν το Ethereum να κλιμακωθεί ομαδοποιώντας συναλλαγές, εκτελώντας τις και στη συνέχεια δημοσιεύοντας τα αποτελέσματα στο Ethereum για επικύρωση και ασφάλεια. Παραδείγματα ή πακέτα ενημέρωσης περιλαμβάνουν το Arbitrum ή Optimism. Δεν είναι ο μόνος τρόπος κλιμάκωσης του Ethereum.", + "k001-b-label": "Proto-Danksharding", + "k001-b-explanation": "Αποτελεί μια προσωρινή και φθηνή επιλογή αποθήκευσης για την αποθήκευση δεδομένων πακέτου ενημέρωσης στο Mainnet, η οποία επί του παρόντος ευθύνεται για περίπου το 90% του κόστους που αντιμετωπίζει ένας χρήστης σε ένα πακέτο ενημέρωσης. Δεν είναι ο μόνος τρόπος κλιμάκωσης του Ethereum.", + "k001-c-label": "Danksharding", + "k001-c-explanation": "Αυτό απομακρύνει την ανάγκη αποθήκευσης από κάθε εργαλείο επικύρωσης και κόμβο στο δίκτυο του 100% των δεδομένων για όλα τα πακέτα ενημέρωσης, μειώνοντας τις απαιτήσεις υλισμικού για τους χειριστές κόμβων. Δεν είναι ο μόνος τρόπος κλιμάκωσης του Ethereum.", + "k001-d-label": "Όλα τα παραπάνω", + "k001-d-explanation": "Τα πακέτα ενημέρωσης επίπεδου 2 ομαδοποιούν τις συναλλαγές, το Proto-Danksharding δημιουργεί φθηνό προσωρινό χώρο αποθήκευσης για αυτά τα δεδομένα και το Danksharding μοιράζεται το βάρος αποθήκευσης σε όλους τους επικυρωτές — όλα αυτά συμβάλλουν στην κλιμάκωση του Ethereum.", + "k002-prompt": "Μετά την ομαδοποίηση συναλλαγών και την εκτέλεσή τους, τι κάνουν στη συνέχεια τα πακέτα ενημέρωσης επιπέδου 2;", + "k002-a-label": "Αποθήκευση δεδομένων σε ιδιωτικό διακομιστή", + "k002-a-explanation": "Τα αποτελέσματα δημοσιεύονται στο Mainnet για διαφάνεια και δημόσια διαθεσιμότητα και δεν εξαρτώνται από ιδιωτικούς διακομιστές.", + "k002-b-label": "Αποστολή απόδειξης στον χρήστη για αποθήκευση", + "k002-b-explanation": "Οι χρήστες δεν αναμένεται να διατηρήσουν τα αποτελέσματα της συναλλαγής τους. Αυτές οι πληροφορίες δημοσιεύονται στο Κεντρικό δίκτυο.", + "k002-c-label": "Υποβολή αποτελεσμάτων στο Ethereum", + "k002-c-explanation": "Τα πακέτα συναλλαγών επιπέδου 2 δημοσιεύουν τα αποτελέσματα της εκτέλεσης των συναλλαγών τους στο Κεντρικό δίκτυο, διασφαλίζοντας τα στο ιστορικό του Ethereum", + "k002-d-label": "Διαγραφή αποτελέσματος για μείωση κόστους", + "k002-d-explanation": "Τα πακέτα ενημέρωσης επιπέδου 2 δημοσιεύουν τα αποτελέσματα της εκτέλεσης των συναλλαγών τους στο Mainnet. Η εξοικονόμηση κόστους που επιτυγχάνεται με αυτήν την προσέγγιση γίνεται με ομαδοποίηση και συμπίεση δεδομένων συναλλαγών και, τελικά, την αποθήκευσή τους σε φθηνό χώρο αποθήκευσης που λήγει μόλις γίνει διαθέσιμος σε όσους το χρειάζονται.", + "k003-prompt": "Πώς το Proto-Danksharding μειώνει το κόστος συναλλαγών των πακέτων ενημέρωσης στα πακέτα ενημέρωσης;", + "k003-a-label": "Άμεση αύξηση του μεγέθους μπλοκ", + "k003-a-explanation": "Το Proto-Danksharding δεν αυξάνει άμεσα το όριο κρατήσεων, αλλά καθιστά την αποθήκευση των συγκεντρωτικών δεδομένων λιγότερο δαπανηρή καθιστώντας διαθέσιμη την προσωρινή αποθήκευση", + "k003-b-label": "Διαχωρισμός των επικυρωτών που απαιτούνται για την αποθήκευση των δεδομένων", + "k003-b-explanation": "Αν και το πλήρες Danksharding αναμένεται να μειώσει την ανάγκη για όλους τους επικυρωτές να αποθηκεύουν όλα τα δεδομένα, προηγείται το Proto-Danksharding που αποτελεί μια λιγότερο δαπανηρή, προσωρινή επιλογή αποθήκευσης για τα δεδομένα που παράγονται από πακέτα ενημέρωσης.", + "k003-c-label": "Σημαντική αύξηση των απαιτήσεων υλισμικού για τους χειριστές κόμβων", + "k003-c-explanation": "Αυτό γενικά δεν θεωρείται αποδεκτή επιλογή για την κλιμάκωση του Ethereum. Καταβάλλονται μεγάλες προσπάθειες για να ελαχιστοποιηθούν οι απαιτήσεις υλισμικού για τη λειτουργία ενός κόμβου ώστε να διατηρηθεί όσο το δυνατόν πιο προσβάσιμος.", + "k003-d-label": "Αποθήκευση των δεδομένων του σε φθηνότερο, προσωρινό χώρο αποθήκευσης «blob»", + "k003-d-explanation": "Το Proto-Danksharding εισάγει μια επιλογή προσωρινής αποθήκευσης δεδομένων για πακέτα ενημέρωσης, ώστε να μπορούν να δημοσιεύουν τα αποτελέσματά του στο Mainnet", + "k004-prompt": "Ποιο είναι ένα κρίσιμο επόμενο βήμα ώστε τα πακέτα ενημέρωσης να κλιμακώσουν το Ethereum;", + "k004-a-label": "Δώστε κίνητρο σε οντότητες με ισχυρούς υπολογιστές να χειριστούν όλη την ακολουθία", + "k004-a-explanation": "Ένα από τα προβλήματα με τα τρέχοντα πακέτα ενημέρωσης είναι η κεντρική φύση εκείνων που εκτελούν τις ακολουθίες (όσων αποφασίζουν τη συμπερίληψη και τη σειρά των συναλλαγών σε ένα πακέτο ενημέρωσης). Ο στόχος είναι να επιτρέπεται σε οποιονδήποτε να συμμετάσχει και να μην βασιζόμαστε σε μία ομάδα ή οντότητα με κανέναν τρόπο.", + "k004-b-label": "Κατανείμετε την ευθύνη για τη λειτουργία αλληλουχίας και απόδειξης σε περισσότερα άτομα", + "k004-b-explanation": "Ο έλεγχος ενός πακέτου ενημέρωσης ξεκινά συνήθως κεντρικά, κάτι που βοηθά να ξεκινήσουν τα πράγματα, αλλά αφήνει το δίκτυο επιρρεπές στη λογοκρισία. Η αποκέντρωση της διαδικασίας συμπερίληψης συναλλαγών ώστε να μπορεί να συμμετέχει οποιοσδήποτε είναι απαραίτητη για να αποφευχθεί η πιθανότητα θέσης του δικτύου σε κίνδυνο.", + "k004-c-label": "Κάντε όλα τα πακέτα ενημέρωσης να συμμορφώνονται με την ίδια μέθοδο ασφάλειας", + "k004-c-explanation": "Το Ethereum επωφελείται από το ότι έχει ένα ευρύ φάσμα προσεγγίσεων για την ασφάλεια μέσα στο οικοσύστημα των πακέτων ενημερώσεών του ως μια μορφή ανθεκτικότητας.", + "k004-d-label": "Μαντεία δεδομένων για την επιβεβαίωση της αποθήκευσης δεδομένων συναλλαγών σε ιδιωτικούς διακομιστές", + "k004-d-explanation": "Τα δεδομένα πακέτων συναλλαγής αποθηκεύονται στο Ethereum και δε βασίζονται σε ιδιωτικούς διακομιστές ή βάσεις δεδομένων.", + "l001-prompt": "Τι απαιτείται για τη λειτουργία ενός κόμβου;", + "l001-a-label": "Εκτέλεση λογισμικού πελάτη με μέτριο υλικό ενώ παραμένετε σε σύνδεση.", + "l001-a-explanation": "Η λειτουργία ενός κόμβου αποτελείται από εκτελούμενο λογισμικό το οποίο επικοινωνεί χρησιμοποιώντας τη γλώσσα του πρωτοκόλλου Ethereum με άλλους υπολογιστές που κάνουν το ίδιο. Αυτό το λογισμικό κατεβάζει ένα αντίγραφο της αλυσίδας συστοιχιών Ethereum, επαληθεύει την εγκυρότητα κάθε μπλοκ και, στη συνέχεια, το διατηρεί ενημερωμένο με νέα μπλοκ και συναλλαγές, ενώ βοηθά άλλους να κατεβάσουν και να ενημερώσουν τα δικά τους αντίγραφα.", + "l001-b-label": "Κατάθεση 32 ETH για να κερδίσετε ανταμοιβές", + "l001-b-explanation": "Αυτή είναι μια απαίτηση για την αποθήκευση — η διαδικασία να γίνεις ενεργός συμμετέχων στη συναίνεση του δικτύου. Αυτό δεν απαιτείται για την απλή εκτέλεση ενός κυρίαρχου αντιγράφου της αλυσίδας συστοιχιών, η οποία δεν απαιτεί τη χρήση ETH.", + "l001-c-label": "Λειτουργήστε ισχυρά μηχανήματα εξόρυξης ASIC για να επιτευχθεί συναίνεση δικτύου", + "l001-c-explanation": "Παρόλο που το Ethereum χρησιμοποιούσε προηγουμένως εξόρυξη με ισχυρούς υπολογιστές για την επίτευξη συναίνεσης, η διαδικασία αυτή έχει αντικατασταθεί εξ ολοκλήρου από την αποθήκευση (staking). Ούτε η εξόρυξη στο παρελθόν, ούτε η αποθήκευση σήμερα, απαιτούνται για την απλή λειτουργία ενός κυρίαρχου αντιγράφου της αλυσίδας συστοιχιών.", + "l001-d-label": "Εργασία πλήρους απασχόλησης σε υποδομές αλυσίδας συστοιχιών", + "l001-d-explanation": "Τα εργαλεία λογισμικών συνέχισαν να βελτιώνονται με την πάροδο του χρόνου, καθιστώντας τη λειτουργία ενός κόμβου από το σπίτι ως αρχάριος πολύ πιο προσιτή. Η πλήρης απασχόληση σε υποδομές αλυσίδων συστοιχιών δεν είναι σε καμία περίπτωση προϋπόθεση για να συμμετάσχετε.", + "l002-prompt": "Πόσα ETH χρειάζεται να αποθηκεύσετε για να εκτελέσετε έναν κόμβο;", + "l002-a-label": "0", + "l002-a-explanation": "Η λειτουργία ενός κόμβου Ethereum δεν απαιτεί ETH. Σε αντίθεση με τη λειτουργία ενός εργαλείου επικύρωσης αποθήκευσης ως μέρος μιας ρύθμισης κόμβου, οποιοσδήποτε είναι ελεύθερος να τρέξει λογισμικό πελάτη και να συγχρονίσει το δικό του κυρίαρχο αντίγραφο της αλυσίδας συστοιχιών — δεν απαιτούνται ETH.", + "l002-b-label": "8", + "l002-c-label": "16", + "l002-d-label": "32", + "l002-d-explanation": "Η λειτουργία ενός κόμβου Ethereum δεν απαιτεί ETH. Σε αντίθεση με τα 32 ETH που απαιτούνται για την ενεργοποίηση ενός επικυρωτή αποθήκευσης που συμμετέχει άμεσα στη συναίνεση δικτύου, οποιοσδήποτε είναι ελεύθερος να τρέξει λογισμικό πελάτη και να συγχρονίσει το δικό του κυρίαρχο αντίγραφο της κρυπτοαλυσίδας — δεν απαιτούνται ETH.", + "l003-prompt": "Ποια οφέλη αποκομίζετε από τη λειτουργία του δικού σας κόμβου;", + "l003-a-label": "Αντίσταση στη Λογοκρισία", + "l003-a-explanation": "Αυτό είναι ένα όφελος για τους χρήστες, αλλά όχι το μοναδικό. Με την εκτέλεση λογισμικού κόμβου που επικοινωνεί απευθείας με άλλους ομοτίμους στο δίκτυο, οι συναλλαγές σας αναμιγνύονται με κάθε άλλη συναλλαγή που διαδίδει ο κόμβος σας. Ως εκ τούτου, είναι σχεδόν αδύνατο να διαφοροποιήσετε και να λογοκρίνετε μια έγκυρη συναλλαγή που έχει μοιραστεί ο κόμβος σας.", + "l003-b-label": "Κυριαρχία", + "l003-b-explanation": "Αυτό είναι ένα όφελος για τους χρήστες, αλλά όχι το μοναδικό. Έχοντας το δικό σας αντίγραφο της αλυσίδας συστοιχιών Ethereum, δεν εξαρτάστε πλέον από κανένα εξωτερικό μέλος για να αλληλεπιδράσετε με το δίκτυο. Δεν χρειάζεται ποτέ να ζητήσετε άδεια για να αναζητήσετε το υπόλοιπό σας ή για να εκτελέσετε μια συναλλαγή και όλες οι συναλλαγές επαληθεύονται χρησιμοποιώντας λογισμικό που εκτελείτε μόνοι σας. Όταν πραγματοποιούνται αναβαθμίσεις δικτύου, εσείς επιλέγετε εάν θα υποστηρίξετε την αναβάθμιση ή όχι.", + "l003-c-label": "Ιδιωτικότητα", + "l003-c-explanation": "Αυτό είναι ένα όφελος για τους χρήστες, αλλά όχι το μοναδικό. Χωρίς τον δικό σας κόμβο, η απλή αναζήτηση των υπολοίπων του λογαριασμού σας απαιτεί συνήθως την αποστολή μιας λίστας των λογαριασμών σας από το πορτοφόλι σας, συνδεδεμένη στη διεύθυνση IP σας, σε έναν τρίτο πάροχο, ο οποίος στη συνέχεια είναι αξιόπιστος για να σας παρέχει τις σωστές πληροφορίες.", + "l003-d-label": "Όλα τα παραπάνω", + "l003-d-explanation": "Η εκτέλεση ενός κόμβου σάς παρέχει πλήρη έλεγχο και κυριαρχία επί των δεδομένων στα οποία βασίζεστε, επιτρέποντάς σας να προβάλετε και να επαληθεύσετε ιδιωτικά τα περιεχόμενα της αλυσίδας και να εγγυηθείτε αποτελεσματικά ότι τυχόν έγκυρες συναλλαγές δεν λογοκρίνονται.", + "l004-prompt": "Τι χώρος αποθήκευσης σκληρού δίσκου απαιτείται για έναν κόμβο Ethereum;", + "l004-a-label": "512 GB SSD", + "l004-a-explanation": "Επί του παρόντος, κανένα λογισμικό πελάτη δεν είναι ικανό να αποθηκεύσει την αλυσίδα χρησιμοποιώντας μόνο 512 GB", + "l004-b-label": "2 TB εκ περιτροπής", + "l004-b-explanation": "Σε γενικές γραμμές, οι περιστρεφόμενοι σκληροί δίσκοι δεν υποστηρίζουν τις ταχύτητες ανάγνωσης/εγγραφής που απαιτούνται για να συμβαδίζουν με τις απαιτήσεις επεξεργασίας για έναν κόμβο Ethereum και συνιστάται μια μονάδα SSD", + "l004-c-label": "2 TB SSD", + "l004-c-explanation": "Αυτή τη στιγμή, ένας δίσκος SSD 2 TB θα πρέπει να ικανοποιεί τις απαιτήσεις αποθήκευσης και ταχύτητας ανάγνωσης/εγγραφής για έναν πλήρη κόμβο Ethereum.", + "l004-d-label": "8 TB SSD", + "l004-d-explanation": "Αυτή τη στιγμή, ένας δίσκος SSD 2 TB θα πρέπει να ικανοποιεί τις απαιτήσεις αποθήκευσης και ταχύτητας ανάγνωσης/εγγραφής για έναν πλήρη κόμβο Ethereum. Ένας δίσκος SSD 8 TB θα επέτρεπε περισσότερη προστασία στο μέλλον και τη δυνατότητα συγχρονισμού των αλυσίδων επιπέδου 2, αλλά δεν είναι προς το παρόν απαίτηση για το Κεντρικό δίκτυο.", + "l005-prompt": "Τι συμβαίνει εάν ο κόμβος σας τεθεί εκτός σύνδεσης;", + "l005-a-label": "Ο κόμβος σας δε συγχρονίζεται με την τρέχουσα κατάσταση του δικτύου", + "l005-a-explanation": "Όταν ο κόμβος σας δεν είναι διαθέσιμος σε σύνδεση, δεν μπορεί να λάβει νέες συναλλαγές και μπλοκ από χρήστες και ως εκ τούτου δε συγχρονίζεται με την τρέχουσα κατάσταση της αλυσίδας. Η σύνδεση ξανά στο διαδίκτυο θα επιτρέψει στο λογισμικό του κόμβου σας να συγχρονιστεί για να είναι ξανά πλήρως λειτουργικό.", + "l005-b-label": "Το ETH στον ψυχρό αποθηκευτικό χώρο σας περικόπτεται", + "l005-b-explanation": "Το ETH που διατηρείται στον ψυχρό αποθηκευτικό χώρο σας είναι άσχετο με το αν ο κόμβος σας είναι συνδεδεμένος ή όχι. Εάν ο κόμβος σας είναι εκτός σύνδεσης, δεν θα μπορείτε να τον χρησιμοποιήσετε για να αναζητήσετε το πιο πρόσφατο υπόλοιπο των λογαριασμών σας, αλλά το να είστε εκτός σύνδεσης δεν θέτει σε κίνδυνο τα ασφαλισμένα χρήματά σας. Εάν εκτελείτε επίσης λογισμικό επικύρωσης με τον κόμβο σας ως συμμετέχων, θα επιβληθούν μικρές ποινές σε αυτό το υπόλοιπο του επικυρωτή ενώ δεν είναι διαθέσιμος στο δίκτυο.", + "l005-c-label": "Η ενέργεια που χρησιμοποιείται για εύρεση απόδειξης εργασίας σπαταλιέται", + "l005-c-explanation": "Το Ethereum δεν χρησιμοποιεί πλέον απόδειξη εργασίας, και αυτό δεν ήταν ποτέ απαίτηση όλων των χειριστών κόμβων. Το να είστε εκτός σύνδεσης σημαίνει απλώς ότι ο κόμβος σας δεν είναι πλέον συγχρονισμένος με τις πιο πρόσφατες αλλαγές στο δίκτυο και μπορεί να συγχρονιστεί ξανά επιστρέφοντας στο διαδίκτυο.", + "l005-d-label": "Τα δεδομένα της αλυσίδας καταργούνται και απαιτείται εκ νέου συγχρονισμός από την αρχή", + "l005-d-explanation": "Η απλή μετάβαση εκτός σύνδεσης δεν διαγράφει συνήθως τυχόν αποθηκευμένα δεδομένα αλυσίδας. Η επανασύνδεση στο διαδίκτυο θα επιτρέψει στο λογισμικό να συνεχίσει από εκεί που σταμάτησε για να συγχρονιστεί με τις πιο πρόσφατες συναλλαγές.", + "l006-prompt": "Η εκτέλεση ενός κόμβου κερδίζει ανταμοιβές δικτύου", + "l006-a-label": "Σωστό", + "l006-a-explanation": "Δεν κερδίζετε ανταμοιβές με απλή εκτέλεση λογισμικού πελάτη. Για να κερδίσετε ανταμοιβές, πρέπει επίσης να αποθηκεύετε.", + "l006-b-label": "Λάθος" +} diff --git a/src/intl/el/page-dapps.json b/src/intl/el/page-dapps.json index 2cfdcb0a9de..9e644d1f020 100644 --- a/src/intl/el/page-dapps.json +++ b/src/intl/el/page-dapps.json @@ -115,6 +115,7 @@ "page-dapps-dapp-description-rotki": "Εργαλείο χαρτοφυλακίου ανοιχτού κώδικα παρακολούθησης, ανάλυσης, λογιστικής και φορολογικής αναφοράς που σέβεται το απόρρητο σας.", "page-dapps-dapp-description-krystal": "Μια πλατφόρμα για πρόσβαση στις αγαπημένες σας υπηρεσίες DeFi.", "page-dapps-dapp-description-rarible": "Δημιουργήστε, πουλήστε και αγοράστε tokenised συλλεκτικά.", + "page-dapps-dapp-description-request-finance": "Μια σειρά χρηματοοικονομικών εργαλείων για τιμολόγια, μισθοδοσία και έξοδα σε κρυπτονομίσματα.", "page-dapps-dapp-description-rubic": "Συλλογή τεχνολογίας μεταξύ αλυσίδων για χρήστες και dApps.", "page-dapps-dapp-description-sablier": "Μεταδώστε χρήματα σε πραγματικό χρόνο.", "page-dapps-dapp-description-spatial": "Δημιουργήστε το δικό σας προσαρμοσμένο avatar και 3D κόσμους", @@ -244,6 +245,7 @@ "page-dapps-ready-button": "Go", "page-dapps-ready-description": "Επιλέξτε μια dapp να τη δοκιμάσετε", "page-dapps-ready-title": "Έτοιμοι;", + "page-dapps-request-finance-logo-alt": "Αίτημα λογότυπου Χρηματοοικονομικών", "page-dapps-rubic-logo-alt": "Λογότυπο Rubic", "page-dapps-sablier-logo-alt": "Λογότυπο Sablier", "page-dapps-set-up-a-wallet-button": "Επιλογή πορτοφολιού", diff --git a/src/intl/el/page-developers-docs.json b/src/intl/el/page-developers-docs.json index 35f089ffa3c..fd9e06d54dc 100644 --- a/src/intl/el/page-developers-docs.json +++ b/src/intl/el/page-developers-docs.json @@ -1,59 +1,139 @@ { "docs-nav-accounts": "Λογαριασμοί", + "docs-nav-accounts-description": "Οντότητες στο δίκτυο όπου μπορούν να έχουν ένα υπόλοιπο και να στέλνουν συναλλαγές", "docs-nav-advanced": "Για προχωρημένους", "docs-nav-backend-apis": "Backend APIs", "docs-nav-block-explorers": "Εξερευνητές Block", "docs-nav-blocks": "Μπλοκ", + "docs-nav-blocks-description": "Ο τρόπος όπου οι συναλλαγές συγχωνεύονται εξασφαλίζοντας ότι η κατάσταση είναι συγχρονισμένη με όλους τους αποδέκτες", + "docs-nav-bridges": "Γέφυρες", + "docs-nav-bridges-description": "Μια επισκόπηση της γεφύρωσης για τους προγραμματιστές", "docs-nav-compiling-smart-contracts": "Μετατροπή Smart Contract", "docs-nav-composability": "Συνθετικότητα", "docs-nav-consensus-mechanisms": "Μηχανισμοί συναινέσεως", + "docs-nav-consensus-mechanisms-description": "Πώς οι μεμονωμένοι κόμβοι ενός διανεμημένου δικτύου συμφωνούν για την τρέχουσα κατάσταση του συστήματος", + "docs-nav-gasper": "Gasper", + "docs-nav-weak-subjectivity": "Αδύναμη υποκειμενικότητα", + "docs-nav-attestations": "Επαληθεύσεις", + "docs-nav-keys": "Κλειδιά", + "docs-nav-block-proposal": "Πρόταση μπλοκ", "docs-nav-data-and-analytics": "Δεδομένα και αναλύσεις", + "docs-nav-data-and-analytics-description": "Πώς τα δεδομένα της κρυπτοαλυσίδας συγκεντρώνονται, οργανώνονται και υλοποιούνται σε αποκεντρωμένες εφαρμογές", + "docs-nav-data-availability": "Διαθεσιμότητα δεδομένων", + "docs-nav-data-availability-storage-strategies": "Στρατηγικές αποθήκευσης δεδομένων αλυσίδας συστοιχιών", "docs-nav-dart": "Dart", "docs-nav-delphi": "Delphi", "docs-nav-deploying-smart-contracts": "Ανάπτυξη Smart Contract", + "docs-nav-design-and-ux": "Εισαγωγή στον σχεδιασμό και το UX", + "docs-nav-design-and-ux-description": "Εισαγωγή στον σχεδιασμό UX, μια έρευνα στο χώρο web3 και Ethereum", + "docs-nav-design-fundamentals": "Βασικές αρχές σχεδιασμού", "docs-nav-development-frameworks": "Πλαίσια ανάπτυξης", + "docs-nav-development-frameworks-description": "Εργαλεία όπου επιτρέπουν τον ευκολότερο προγραμματισμό με το Ethereum", "docs-nav-development-networks": "Δίκτυα ανάπτυξης", + "docs-nav-development-networks-description": "Τοπικό περιβάλλον blockchain για τον έλεγχο dapps πριν από τη δημοσίευση", + "docs-nav-dex-design-best-practice": "Βέλτιστες πρακτικές σχεδιασμού των αποκεντρωμένων ανταλλακτηρίων (DEX)", "docs-nav-dot-net": ".NET", - "docs-nav-erc-20": "ERC-20", - "docs-nav-erc-721": "ERC-721", + "docs-nav-erc-20": "ERC-20: Εναλλάξιμα Κρυπτοπαραστατικά", + "docs-nav-erc-721": "ERC-721: NFTs", "docs-nav-erc-777": "ERC-777", "docs-nav-erc-1155": "ERC-1155", + "docs-nav-erc-4626": "ERC-4626", "docs-nav-ethereum-client-apis": "APIs για εφαρμογή πελάτη Ethereum", + "docs-nav-ethereum-client-apis-description": "Βιβλιοθήκες ευκολίας που επιτρέπουν στην εφαρμογή ιστού σας να αλληλεπιδρά με το Ethereum και τα έξυπνα συμβόλαια", "docs-nav-ethereum-stack": "Ethereum stack", "docs-nav-evm": "Εικονική μηχανή Ethereum (EVM)", + "docs-nav-evm-description": "Το EVM χειρίζεται όλους τους υπολογισμούς στο δίκτυο Ethereum", "docs-nav-foundational-topics": "Βασικά θέματα", "docs-nav-gas": "Καύσιμα", + "docs-nav-gas-description": "Υπολογιστική ισχύς που απαιτείται για την επεξεργασία των συναλλαγών, καταβάλλεται σε ETH από τον αποστολέα συναλλαγής", "docs-nav-golang": "Golang", + "docs-nav-heuristics-for-web3": "Ευρετική μέθοδος για το Web3", "docs-nav-integrated-development-environments-ides": "Ολοκληρωμένα περιβάλλοντα ανάπτυξης (IDE)", + "docs-nav-integrated-development-environments-ides-description": "Το καλύτερο περιβάλλον για σύνταξη κώδικα αποκεντρωμένης εφαρμογής", "docs-nav-intro-to-dapps": "Εισαγωγή στις dapps", + "docs-nav-intro-to-dapps-description": "Εισαγωγή στις αποκεντρωμένες εφαρμογές", + "docs-nav-intro-to-ether": "Εισαγωγή στο Ether", + "docs-nav-intro-to-ether-description": "Μια γρήγορη επισκόπηση του Ether", "docs-nav-intro-to-ethereum": "Εισαγωγή στο Ethereum", + "docs-nav-intro-to-ethereum-description": "Μια γρήγορη επισκόπηση του Ethereum", "docs-nav-intro-to-the-stack": "Εισαγωγή στο stack", + "docs-nav-intro-to-the-stack-description": "Μια επισκόπηση της στοίβας Ethereum/web3", "docs-nav-java": "Java", "docs-nav-java-script-apis": "JavaScript APIs", "docs-nav-javascript": "JavaScript", + "docs-nav-json-rpc": "JSON-RPC", + "docs-nav-mev": "Μέγιστη τιμή εξαγωγής (MEV)", + "docs-nav-mev-description": "Πώς εξάγεται η αξία από την αλυσίδα συστοιχιών Ethereum πέρα ​​από την ανταμοιβή μπλοκ", "docs-nav-mining": "Εξόρυξη", + "docs-nav-mining-algorithms": "Αλγόριθμοι κρυπτόρυξης", + "docs-nav-dagger-hashimoto": "Dagger-Hashimoto", + "docs-nav-ethash": "Ethash", "docs-nav-networks": "Δίκτυα", + "docs-nav-networks-description": "Εφαρμογές του Ethereum συμπεριλαμβανομένων των δοκιμαστικών δικτύων", "docs-nav-nodes-and-clients": "Κόμβοι και πελάτες", + "docs-nav-nodes-and-clients-description": "Τα άτομα που συμμετέχουν στο δίκτυο και το λογισμικό που εκτελούν για την επαλήθευση συναλλαγών", + "docs-nav-opcodes": "Opcodes", + "docs-nav-run-a-node": "Εκτελέστε ένα κόμβο", + "docs-nav-client-diversity": "Διαφορετικότητα λογισμικού πελάτη", + "docs-nav-bootnodes": "Bootnodes", + "docs-nav-light-clients": "Ελαφρύ πελάτες", "docs-nav-nodes-as-a-service": "Κόμβοι ως υπηρεσία", "docs-nav-oracles": "Oracle", + "docs-nav-oracles-description": "Πώς εισάγονται πληροφορίες στην αλυσίδα συστοιχιών Ethereum", "docs-nav-programming-languages": "Γλώσσες προγραμματισμού", - "docs-nav-proof-of-stake": "Απόδειξη των μετοχών (proof-of-stake)", - "docs-nav-proof-of-work": "Απόδειξη της εργασίας (proof-of-work)", + "docs-nav-programming-languages-description": "Πώς να ξεκινήσετε με το Ethereum, χρησιμοποιώντας γλώσσες προγραμματισμού που μπορεί ήδη να γνωρίζετε", + "docs-nav-proof-of-authority": "Proof-of-authority", + "docs-nav-proof-of-stake": "Απόδειξη συμμετοχής", + "docs-nav-proof-of-work": "Απόδειξη της εργασίας (Proof of work)", "docs-nav-python": "Python", - "docs-nav-readme": "ΔΙΑΒΑΣΤΕ", + "docs-nav-readme": "Επισκόπηση", + "docs-nav-ruby": "Ruby", "docs-nav-rust": "Rust", "docs-nav-scaling": "Κλίμακα", - "docs-nav-smart-contract-security": "Ασφάλεια", + "docs-nav-scaling-description": "Μέθοδοι για τη διατήρηση της αποκέντρωσης και της ασφάλειας καθώς το Ethereum αναπτύσσεται", + "docs-nav-scaling-optimistic-rollups": "Πακέτα ενημέρωσης optimistic", + "docs-nav-scaling-zk-rollups": "Rollup μηδενικής γνώσης", + "docs-nav-scaling-channels": "Κανάλια κατάστασης", + "docs-nav-scaling-sidechains": "Πλευρικές αλυσίδες", + "docs-nav-scaling-plasma": "Πλάσμα", + "docs-nav-scaling-validium": "Validium", + "docs-nav-smart-contract-security": "Ασφάλεια έξυπνου συμβολαίου", + "docs-nav-smart-contract-security-description": "Βέλτιστες πρακτικές για τη διαχείριση επιθέσεων έξυπνων συμβολαίων και τρωτών σημείων", + "docs-nav-smart-contract-formal-verification": "Επίσημη επαλήθευση έξυπνου συμβολαίου", + "docs-nav-smart-contract-formal-verification-description": "Μια εισαγωγή της επίσημης επαλήθευσης στο πλαίσιο των έξυπνων συμβολαίων Ethereum", "docs-nav-smart-contract-anatomy": "Ανατομία Smart Contract", "docs-nav-smart-contract-languages": "Γλώσσες Smart Contract", "docs-nav-smart-contracts": "Smart contracts", + "docs-nav-smart-contracts-description": "Προγράμματα που βρίσκονται σε μια διεύθυνση Ethereum και εκτελούν λειτουργίες όταν ενεργοποιούνται από συναλλαγές", "docs-nav-smart-contracts-libraries": "Βιβλιοθήκες Smart Contract", "docs-nav-standards": "Πρότυπα", + "docs-nav-standards-description": "Συμφωνημένα πρωτόκολλα για τη διατήρηση της αποτελεσματικότητας και της προσβασιμότητας των έργων στην κοινότητα", "docs-nav-storage": "Αποθηκευτικός χώρος", + "docs-nav-storage-description": "Αποκεντρωμένες δομές και μηχανισμός αποθήκευσης", "docs-nav-testing-smart-contracts": "Δοκιμές Smart Contract", "docs-nav-token-standards": "Πρότυπα token", "docs-nav-transactions": "Συναλλαγές", + "docs-nav-transactions-description": "Μεταφορές και άλλες ενέργειες που προκαλούν την αλλαγή της κατάστασης του Ethereum", + "docs-nav-upgrading-smart-contracts": "Αναβάθμιση έξυπνων συμβολαίων", + "docs-nav-verifying-smart-contracts": "Επαλήθευση έξυπνων συμβολαίων", "docs-nav-web2-vs-web3": "Web2 vs Web3", + "docs-nav-web2-vs-web3-description": "Οι θεμελιώδεις διαφορές που παρέχουν οι εφαρμογές που βασίζονται σε αλυσίδα συστοιχιών", + "docs-nav-networking-layer": "Επίπεδο δικτύωσης", + "docs-nav-networking-layer-description": "Εξήγηση του επιπέδου δικτύωσης του Ethereum", + "docs-nav-networking-layer-network-addresses": "Διευθύνσεις δικτύου", + "docs-nav-networking-layer-portal-network": "Πύλη δικτύου", + "docs-nav-data-structures-and-encoding": "Δομές δεδομένων και κωδικοποίηση", + "docs-nav-data-structures-and-encoding-description": "Επεξήγηση των δομών δεδομένων και του σχήματος κωδικοποίησης που χρησιμοποιείται στο Ethereum", + "docs-nav-data-structures-and-encoding-rlp": "Recursive Length Prefix (RLP)", + "docs-nav-data-structures-and-encoding-patricia-merkle-trie": "Patricia Merkle Trie", + "docs-nav-data-structures-and-encoding-ssz": "Απλή σειριοποίηση (SSZ)", + "docs-nav-data-structures-and-encoding-web3-secret-storage": "Ορισμός μυστικού αποθηκευτικού χώρου Web3", + "docs-nav-rewards-and-penalties": "Επιβραβεύσεις και κυρώσεις PoS", + "docs-nav-node-architecture": "Αρχιτεκτονική κόμβου", + "docs-nav-archive-nodes": "Αρχείο κόμβων", + "docs-nav-attack-and-defense": "PoS επίθεση και άμυνα", + "docs-nav-pos-vs-pow": "Απόδειξη συμμετοχής ή Απόδειξης εργασίας", + "docs-nav-pos-faqs": "Απόδειξη συμμετοχής, συχνές ερωτήσεις", "page-calltocontribute-desc-1": "Αν είστε ειδικός στο θέμα και θέλετε να συνεισφέρετε, επεξεργαστείτε αυτή τη σελίδα και προσφέρετε με τη σοφία σας.", "page-calltocontribute-desc-2": "Θα πιστωθεί σε εσάς και θα βοηθήσετε την κοινότητα του Ethereum!", "page-calltocontribute-desc-3": "Χρησιμοποιήστε αυτό το ευέλικτο", @@ -62,6 +142,10 @@ "page-calltocontribute-link-2": "Διακομιστής Discord", "page-calltocontribute-span": "Επεξεργασία σελίδας", "page-calltocontribute-title": "Βοηθήστε μας με αυτή τη σελίδα", + "layer-2-arbitrum-note": "Αποδείξεις απάτης μόνο για χρήστες στη λίστα επιτρεπόμενων, η οποία δεν έχει ανοίξει ακόμη", + "layer-2-boba-note": "Κατάσταση επικύρωσης σε εξέλιξη", + "layer-2-metis-note": "Απόδειξη απάτης σε εξέλιξη", + "layer-2-optimism-note": "Αποδείξεις σφαλμάτων σε εξέλιξη", "back-to-top": "Επιστροφή στην κορυφή", "banner-page-incomplete": "Η σελίδα είναι ελλιπής και θα θέλαμε τη βοήθειά σας. Επεξεργαστείτε αυτή τη σελίδα και προσθέστε οτιδήποτε νομίζετε ότι μπορεί να είναι χρήσιμο στους άλλους.", "next": "Επόμενο", diff --git a/src/intl/el/page-developers-learning-tools.json b/src/intl/el/page-developers-learning-tools.json index fcce0e98591..ec792deedd7 100644 --- a/src/intl/el/page-developers-learning-tools.json +++ b/src/intl/el/page-developers-learning-tools.json @@ -6,6 +6,10 @@ "page-learning-tools-browse-docs": "Περιήγηση στα έγγραφα", "page-learning-tools-capture-the-ether-description": "Το Capture the Ether είναι ένα παιχνίδι στο οποίο μπορείτε να παραβιάσετε έξυπνα συμβόλαια του Ethereum για να μάθετε περισσότερα για την ασφάλεια.", "page-learning-tools-capture-the-ether-logo-alt": "Λογότυπο Capture the Ether", + "page-learning-tools-node-guardians-description": "Ο κόμβος «Guardians» είναι μια παιχνιδοποιημένη εκπαιδευτική πλατφόρμα που βυθίζει τους προγραμματιστές web3 σε φανταστικές θεματικές αποστολές, για να γίνουν καλύτεροι στον προγραμματισμό με Solidity, με Cairo, με Noir και με Huff.", + "page-learning-tools-node-guardians-logo-alt": "Λογότυπο κόμβου Guardians", + "page-learning-tools-chainshot-description": "Δικτυακά, με επικεφαλή προγραμματιστή εκπαιδευτή του Ethereum και επιπλέον μαθήματα.", + "page-learning-tools-chainshot-logo-alt": "ChainShot λογότυπο", "page-learning-tools-coding": "Μάθετε προγραμματίζοντας", "page-learning-tools-coding-subtitle": "Αυτά τα εργαλεία θα σας βοηθήσουν να πειραματιστείτε με το Ethereum αν προτιμάτε μια πιο διαδραστική εμπειρία μάθησης.", "page-learning-tools-consensys-academy-description": "Ζωντανή συνάντηση προγραμματισμού Ethereum.", @@ -50,9 +54,11 @@ "page-learning-tools-vyperfun-logo-alt": "Λογότυπο Vyper.fun", "page-learning-tools-nftschool-description": "Μάθετε τι συμβαίνει με τα μη εναλλάξιμα κρυπτοπαραστατικά ή αλλιώς NFT με τεχνικούς όρους.", "page-learning-tools-nftschool-logo-alt": "Λογότυπο NFT school", + "page-learning-tools-pointer-description": "Μάθετε προγραμματισμό web3 με διασκεδαστικά διαδραστικά μαθήματα. Κατά τη διάρκεια, κερδίστε ανταμοιβές σε κρυπτο", + "page-learning-tools-pointer-logo-alt": "Λογότυπο Pointer", "page-learning-tools-platzi-description": "Μάθετε πώς να δημιουργείτε dapps στο Web3 και να εξειδικεύσετε όλες τις δεξιότητες που απαιτούνται για να γίνετε προγραμματιστής blockchain.", "page-learning-tools-platzi-logo-alt": "Λογότυπο Platzi", "page-learning-tools-alchemy-university-description": "Αναπτύξτε την καριέρα σας στο web3 μέσα από μαθήματα, έργα και κωδικοποίηση.", "page-learning-tools-alchemy-university-logo-alt": "Λογότυπο του Πανεπιστημίου Alchemy", "alt-eth-blocks": "Απεικόνιση των μπλοκ που οργανώνονται σαν ένα σύμβολο ETH" -} \ No newline at end of file +} diff --git a/src/intl/el/page-developers-local-environment.json b/src/intl/el/page-developers-local-environment.json index f418697a42d..840b2758e41 100644 --- a/src/intl/el/page-developers-local-environment.json +++ b/src/intl/el/page-developers-local-environment.json @@ -30,6 +30,8 @@ "page-local-environment-setup-title": "Εγκαταστήστε το τοπικό σας περιβάλλον ανάπτυξης", "page-local-environment-solidity-template-desc": "Ένα πρότυπο του GitHub με προρυθμισμένη εγκατάσταση έξυπνου συμβολαίου Solidity. Περιλαμβάνει ένα τοπικό δίκτυο Hardhat, Waffle για δοκιμές, Ethers για εφαρμογή πορτοφολιού και πολλά άλλα.", "page-local-environment-solidity-template-logo-alt": "Λογότυπο προτύπου Solidity", + "page-local-environment-truffle-desc": "Η σουίτα Truffle μεταφέρει την ιδέα των προγραμματιστών σε αποκεντρωμένη εφαρμογή όσο το δυνατόν πιο εύκολα.", + "page-local-environment-truffle-logo-alt": "Λογότυπο Truffle", "page-local-environment-waffle-desc": "Η πιο προηγμένη βιβλιοθήκη δοκιμών για έξυπνα συμβόλαια. Χρησιμοποιείστε το μόνο του ή με τα Scaffold-eth ή Hardhat.", "page-local-environment-waffle-logo-alt": "Λογότυπο Waffle" } diff --git a/src/intl/el/page-layer-2.json b/src/intl/el/page-layer-2.json index ce89ca10390..f4c15d9bb42 100644 --- a/src/intl/el/page-layer-2.json +++ b/src/intl/el/page-layer-2.json @@ -50,6 +50,7 @@ "layer-2-optimistic-rollups-title": "Πακέτα ενημέρωσης optimistic", "layer-2-optimistic-rollups-description": "Τα optimistic πακέτα συναλλαγών είναι «optimistic» υπό την έννοια ότι οι συναλλαγές θεωρούνται έγκυρες, αλλά μπορούν να αμφισβητηθούν εάν είναι απαραίτητο. Εάν υπάρχει υπόνοια μη έγκυρης συναλλαγής, μια απόδειξη σφάλματος θα εκτελεστεί για να ελέγξει αν έχει συμβεί.", "layer-2-optimistic-rollups-childSentance": "Περισσότερα για optimistic πακέτα συναλλαγών", + "layer-2-zk-rollups-title": "Rollup μηδενικής γνώσης", "layer-2-zk-rollups-description": "Τα πακέτα δεδομένων μηδενικής γνώσης χρησιμοποιούν τις αποδείξεις εγκυρότητας όπου οι συναλλαγές υπολογίζονται εκτός αλυσίδας και στη συνέχεια αυτά τα συμπιεσμένα δεδομένα παρέχονται στο Κεντρικό δίκτυο του Ethereum ως απόδειξη της εγκυρότητάς τους.", "layer-2-zk-rollups-childSentance": "Περισσότερα για τα ZK-rollups", "layer-2-dyor-title": "Κάντε τη δική σας έρευνα: κίνδυνοι του επιπέδου 2", @@ -114,6 +115,7 @@ "layer-2-faq-question-5-description-2": "Οποιοσδήποτε είναι ελεύθερος να προτείνει την προσθήκη ενός δικτύου επιπέδου 2 στο ethereum.org. Αν υπάρχει κάποιο δίκτυο επιπέδου 2 που μας έχει διαφύγει, παρακαλούμε προτείνετε το.", "layer-2-further-reading-title": "Περισσότερες πληροφορίες", "a-rollup-centric-ethereum-roadmap": "Ένας οδικός χάρτης του ethereum με επίκεντρο τα πακέτα ενημέρωσης", + "an-incomplete-guide-to-rollups": "Ένας ελλιπής οδηγός για τα rollup", "polygon-sidechain-vs-ethereum-rollups": "Πλευρική αλυσίδα Polygon ή πακέτα ενημέρωσης Ethereum: μια προσέγγιση των αναβαθμίσεων του επιπέδου 2 | Vitalik Buterin και Lex Fridman", "rollups-the-ultimate-ethereum-scaling-strategy": "ΠΑΚΕΤΑ ΕΝΗΜΕΡΩΣΗΣ - Η Απόλυτη Στρατηγική Επεκτασιμότητας του Ethereum; Εξήγηση της διαιτησίας & βελτιστοποίησης", "scaling-layer-1-with-shard-chains": "Επεκτασιμότητα επιπέδου 1 με τμηματοποίηση κρυπτοαλυσίδων", @@ -131,5 +133,7 @@ "layer-2-ecosystem-portal": "Πύλη Οικοσυστήματος", "layer-2-token-lists": "Κατάσταση ψηφιακών στοιχείων", "layer-2-explore": "Εξερευνήστε", - "page-dapps-ready-button": "Go" + "page-dapps-ready-button": "Go", + "layer-2-information": "Πληροφορίες", + "layer-2-wallet-managers": "Διαχειριστές πορτοφολιών" } diff --git a/src/intl/el/page-stablecoins.json b/src/intl/el/page-stablecoins.json index 3a4e790f086..6579734aa88 100644 --- a/src/intl/el/page-stablecoins.json +++ b/src/intl/el/page-stablecoins.json @@ -163,5 +163,6 @@ "makerdao-logo": "Λογότυπο MakerDao", "matcha-logo": "Λογότυπο Matcha", "summerfi-logo": "Λογότυπο Summer.fi", - "uniswap-logo": "Λογότυπο Uniswap" + "uniswap-logo": "Λογότυπο Uniswap", + "page-stablecoins-go-to": "Μετάβαση σε" } diff --git a/src/intl/el/page-staking.json b/src/intl/el/page-staking.json index 910174abbe6..225c98bc2bc 100644 --- a/src/intl/el/page-staking.json +++ b/src/intl/el/page-staking.json @@ -229,5 +229,8 @@ "page-staking-withdrawals-important-notices": "Σημαντικές ανακοινώσεις", "page-staking-withdrawals-important-notices-desc": "Οι αναλήψεις δεν είναι ακόμη διαθέσιμες. Διαβάστε τις Συχνές ερωτήσεις για τη συγχώνευση και μετά τη συγχώνευση Eth2 για περισσότερες πληροφορίες.", "page-upgrades-merge-btn": "Περισσότερα για τη συγχώνευση", - "subscribe-to-ef-blog": "Εγγραφείτε στο ιστολόγιο EF για να λαμβάνετε ειδοποιήσεις μέσω email για τις πιο πρόσφατες ανακοινώσεις πρωτοκόλλου." + "subscribe-to-ef-blog": "Εγγραφείτε στο ιστολόγιο EF για να λαμβάνετε ειδοποιήσεις μέσω email για τις πιο πρόσφατες ανακοινώσεις πρωτοκόλλου.", + "page-staking-comparison-with-other-options": "Σύγκριση με άλλες επιλογές", + "page-staking-any-amount": "Οποιοδήποτε ποσό", + "page-staking-testnet": "δίκτυο δοκιμών" } diff --git a/src/intl/el/page-what-is-ethereum.json b/src/intl/el/page-what-is-ethereum.json index 5d5b171902f..6a2c3bab2cc 100644 --- a/src/intl/el/page-what-is-ethereum.json +++ b/src/intl/el/page-what-is-ethereum.json @@ -3,7 +3,7 @@ "page-what-is-ethereum-alt-img-comm": "Μια απεικόνιση μελών της κοινότητας Ethereum που συνεργάζονται", "page-what-is-ethereum-alt-img-lego": "Μια απεικόνιση ενός χεριού που δημιουργεί το λογότυπο του ETH από lego τουβλάκια", "page-what-is-ethereum-banking-card": "Τραπεζικές υπηρεσίες για όλους", - "page-what-is-ethereum-banking-card-desc": "Δεν έχουν όλοι πρόσβαση σε χρηματοοικονομικές υπηρεσίες. Το μόνο που χρειάζεστε για να έχετε πρόσβαση στο Ethereum, σε προϊόντα δανεισμού και αποταμίευσης κατασκευασμένα σε αυτό, είναι μια σύνδεση στο Διαδίκτυο.", + "page-what-is-ethereum-banking-card-desc": "Δεν έχουν όλοι πρόσβαση σε χρηματοοικονομικές υπηρεσίες. Για να αποκτήσετε πρόσβαση στο Ethereum, στα προϊόντα δανεισμού και αποταμίευσής του, το μόνο που χρειάζεστε είναι μια σύνδεση στο διαδίκτυο.", "page-what-is-ethereum-build": "Δημιουργήστε με το Ethereum", "page-what-is-ethereum-build-desc": "Αν θέλετε να δοκιμάσετε να χτίζετε με το Ethereum, διαβάστε τα σχετικά έγγραφα, ενημερωθείτε από τα σεμινάρια ή ελέγξτε τα εργαλεία που χρειάζεστε για να ξεκινήσετε.", "page-what-is-ethereum-censorless-card": "Ανθεκτικό στη Λογοκρισία", @@ -51,7 +51,7 @@ "page-what-is-ethereum-slide-1-desc-2": "Το Ethereum και τα κρυπτονομίσματα σταθερής αξίας, απλοποιούν τη διαδικασία αποστολής χρημάτων στο εξωτερικό. Χρειάζονται συχνά μόνο λίγα λεπτά για να μετακινηθούν κεφάλαια σε όλο τον κόσμο, σε αντίθεση με τις αρκετές εργάσιμες ημέρες ή ακόμη και εβδομάδες που μπορεί να χρειαστεί μια μέση τράπεζα και με ελάχιστο κόστος. Επιπλέον, δεν υπάρχει επιπλέον χρέωση για την πραγματοποίηση μιας συναλλαγής υψηλής αξίας και υπάρχουν μηδενικοί περιορισμοί για το πού ή γιατί στέλνετε τα χρήματά σας.", "page-what-is-ethereum-slide-2-title": "Η γρηγορότερη βοήθεια σε εποχές κρίσεως", "page-what-is-ethereum-slide-2-desc-1": "Εάν είστε αρκετά τυχεροί ώστε να έχετε πολλαπλές τραπεζικές επιλογές μέσω αξιόπιστων ιδρυμάτων εκεί που ζείτε, μπορεί να θεωρείτε δεδομένη την οικονομική ελευθερία, την ασφάλεια και τη σταθερότητα που προσφέρουν. Αλλά για πολλούς ανθρώπους σε όλο τον κόσμο που αντιμετωπίζουν πολιτική αναταραχή ή οικονομικές δυσκολίες, τα χρηματοπιστωτικά ιδρύματα μπορεί να μην παρέχουν την προστασία ή τις υπηρεσίες που χρειάζεται.", - "page-what-is-ethereum-slide-2-desc-2": "Όταν πόλεμος, οικονομικές καταστροφές ή καταστολές των πολιτικών ελευθεριών έπληξαν τους κατοίκους τηςΒενεζουέλας, της Κούβας,του Αφγανιστάν, της Νιγηρίας, της Λευκορωσίας, και της Ουκρανίας, τα κρυπτονομίσματα αποτελούσαν την ταχύτερη και συχνά τη μόνη επιλογή για τη διατήρηση της χρηματοοικονομικής τους υπηρεσίας.1 Όπως φαίνεται σε αυτά τα παραδείγματα, τα κρυπτονομίσματα όπως το Ethereum μπορούν να παρέχουν απεριόριστη πρόσβαση στην παγκόσμια οικονομία όταν οι άνθρωποι είναι αποκομμένοι από τον έξω κόσμο. Επιπλέον, τα κρυπτονομίσματα σταθερής αξίας προσφέρουν μια σταθερή αξία όταν τα τοπικά νομίσματα καταρρέουν λόγω υπερπληθωρισμού.", + "page-what-is-ethereum-slide-2-desc-2": "Όταν πόλεμοι, οικονομικές καταστροφές ή καταστολές των πολιτικών ελευθεριών έπληξαν τους κατοίκους της Βενεζουέλας, της Κούβαw, του Αφγανιστάν, της Νιγηρίας, της Λευκορωσίας και της Ουκρανίας, τα κρυπτονομίσματα αποτέλεσαν την πιο γρήγορη και συχνά τη μόνη επιλογή για τη διατήρηση της οικονομικής υπηρεσίας. 1 Όπως φαίνεται σε αυτά τα παραδείγματα, κρυπτονομίσματα, όπως το Ethereum, μπορούν να παρέχουν απεριόριστη πρόσβαση στην παγκόσμια οικονομία, όταν οι άνθρωποι είναι αποκομμένοι από τον έξω κόσμο. Επιπλέον, τα κρυπτονομίσματα σταθερής αξίας (stablecoins) αποτελούν αποθήκη αξίας όταν τα τοπικά νομίσματα καταρρέουν λόγω του υπερπληθωρισμού.", "page-what-is-ethereum-slide-3-title": "Ενισχύοντας τους δημιουργούς", "page-what-is-ethereum-slide-3-desc-1": "Μόνο το 2021, καλλιτέχνες, μουσικοί, συγγραφείς και άλλοι δημιουργοί χρησιμοποίησαν το Ethereum για να κερδίσουν περίπου 3,5 δισεκατομμύρια δολάρια. Αυτό καθιστά το Ethereum μία από τις μεγαλύτερες παγκόσμιες πλατφόρμες για δημιουργούς, παράλληλα με το Spotify, το YouTube και το Etsy. Μάθετε περισσότερα.", "page-what-is-ethereum-slide-4-title": "Ενισχύοντας τους παίκτες παιχνιδιών",